]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
* opts.sh: Tweak awk script for portability.
[gcc.git] / gcc / ChangeLog
CommitLineData
e819ee44
KC
12003-06-20 Kelley Cook <kelleycook@wideopenwest.com>
2
3 * opts.sh: Tweak awk script for portability.
4
ae4a7155
MM
52003-06-20 Mark Mitchell <mark@codesourcery.com>
6
7 PR c++/10888
8 * tree-inline.c (expand_call_inline): Do not warn about failing to
9 inline functions declared in system headers.
10 * doc/invoke.texi (-Winline): Expand on documentation.
11
4739b00e
RH
122003-06-20 Richard Henderson <rth@redhat.com>
13
14 * config/alpha/alpha.c (alpha_file_start): Disable
15 file_start_file_directive for ELF and not MDEBUG.
16
9218882a
R
172003-06-20 J"orn Rennecke <joern.rennecke@superh.com>
18
19 * sh.h (ROUND_TYPE_ALIGN): Remove.
20
a3424f5c
RH
212003-06-20 Richard Henderson <rth@redhat.com>
22
23 * hooks.c (hook_int_void_no_regs): Rename from
24 hook_reg_class_void_no_regs; change return type.
25 * hooks.h: Update.
26 * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Update.
27 * target.h (branch_target_register_class): Change return type to int.
28 Add documentation.
29 * config/sh/sh.c (sh_target_reg_class): Change return type.
30 * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
31
3a947669
AT
322003-06-20 Andreas Tobler <toa@pop.agri.ch>
33
34 * c-format.c: Change _Bool to bool reverting part of the last
35 patch.
36
b5adda73
JDA
372003-06-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
38
39 * som.h (ASM_OUTPUT_SOURCE_LINE): Use targetm.strip_name_encoding to
40 strip name encoding.
41
807ca3d4
RO
422003-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
43
44 * configure.in (gcc_cv_as_gstabs_flag): Disable if assembler warns.
45 * configure: Regenerate.
46 Fixes PR driver/9362.
47
cc550dce
RK
482003-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
49
50 * config/alpha/alpha.c (alpha_file_start): Fix typo.
51
9e21232c
RO
522003-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
53
54 * config/mips/mips.h (PUT_SDB_FUNCTION_END): Pass 0 as third arg
55 to ASM_OUTPUT_SOURCE_LINE.
56
27a3e494
DE
572003-06-20 Daniel Egger <degger@fhm.edu>
58 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
59
60 * doc/install.texi (Building): Correct and improve statement
61 about parallel builds.
62
a742c759
AJ
632003-06-20 Andreas Jaeger <aj@suse.de>
64
65 * c-common.c: Change _Bool to bool reverting part of the last
66 patch.
67
1f9cc6db
NS
682003-06-20 Nathan Sidwell <nathan@codesourcery.com>
69
70 * tree.h (expand_function_end): Remove all parameters.
71 * function.c (expand_function_end): Remove all parameters.
72 Use input_location. Never expand_end_bindings.
73 * c-decl.c (c_expand_body_1): Adjust expand_function_end call.
74 * coverage.c (create_coverage): Likewise.
75
4bc73018
NC
762003-06-20 Nick Clifton <nickc@redhat.com>
77
78 * doc/extend.texi (ARM Built-in Functions): New node. Document
79 ARM builtin functions for iWMMXt support.
80
8f2afc21
EB
812003-06-20 Eric Botcazou <ebotcazou@libertysurf.fr>
82
83 * doc/install.texi (--with-gnu-as): Mention SPARC/Solaris and
84 SPARC64/Solaris as platforms where --with-gnu-as makes a difference.
85 (--with-as): Add @anchor.
86 (--with-gnu-ld): Fix typo.
87 (--with-ld): Add @uref to --with-as.
88
a2c4f8e0
ZW
892003-06-19 Zack Weinberg <zack@codesourcery.com>
90
91 * doc/tm.texi: Uniformly use @defmac for macros, rather than
92 @table items. Minor formatting and editorial corrections.
93
e2b9853b
NB
942003-06-20 Neil Booth <neil@daikokuya.co.uk>
95
96 * line-map.c, line-map.h: Convert to ISO prototypes.
97
bc083e18
ZD
982003-06-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
99
100 * gcse.c (store_killed_in_insn): Fix.
101
1bc7c5b6
ZW
1022003-06-19 Zack Weinberg <zack@codesourcery.com>
103
104 * target.h (asm_out.file_start, file_start_app_off,
105 file_start_file_directive): New hooks.
106 * target-def.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
107 TARGET_ASM_FILE_START_APP_OFF, TARGET_ASM_FILE_START):
108 New hook-definition macros.
109 * doc/tm.texi: Document new hooks; remove docs of ASM_FILE_START.
110 * varasm.c (default_file_start): New.
111 * output.h: Prototype it.
112 * toplev.c (init_asm_output): Use targetm.asm_out.file_start.
113 * system.h: Poison ASM_FILE_START.
114
115 * config/alpha/alpha.c (alpha_write_verstamp): Delete.
116 (alpha_file_start): New, define if !TARGET_ABI_UNICOSMK.
117 (unicosmk_asm_file_start): Rename unicosmk_file_start,
118 make static, take no arguments.
119 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END,
120 TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set as appropriate.
121 * config/alpha/unicosmk.h: Don't define ASM_FILE_START nor
122 TARGET_ASM_FILE_END. Remove reference to ASM_FILE_START in
123 comment.
124 * config/arc/arc.c (arc_asm_file_start): Rename
125 arc_file_start, take no arguments, make static.
126 (TARGET_ASM_FILE_START): Set it.
127 * config/arm/arm.c (aof_file_start): New static function.
128 (TARGET_ASM_FILE_START): Set it, when appropriate.
129 * config/arm/coff.h, config/arm/elf.h:
130 Set TARGET_ASM_FILE_START_APP_OFF to true.
131 * config/avr/avr.c (asm_file_start): Rename avr_file_start,
132 take no arguments, make static.
133 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
134 Set them.
135 * config/c4x/c4x.c (c4x_file_start): New static function.
136 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
137 Set them.
138 * config/cris/cris.c (cris_file_start): New static function.
139 (TARGET_ASM_FILE_START): Set it.
140 * config/dsp16xx/dsp16xx.c (coff_dsp16xx_file_start): Rename
141 dsp16xx_file_start, make static.
142 (luxworks_dsp16xx_file_start): Delete.
143 (TARGET_ASM_FILE_START): Set it.
144 * config/h8300/h8300.c (asm_file_start): Rename
145 h8300_file_start, make static, take no arguments.
146 (TARGET_ASM_FILE_START): Set it.
147 * config/i370/i370.c (i370_file_start): New static function.
148 (TARGET_ASM_FILE_START): Set it.
149 * config/i386/i386.c (x86_file_start): New static function.
150 (TARGET_ASM_FILE_START): Set it.
151 * config/i386/i386.h (X86_FILE_START_VERSION_DIRECTIVE,
152 X86_FILE_START_FLTUSED): New macros, default to false.
153 * config/i386/i386-interix.h: Override X86_FILE_START_FLTUSED to 1.
154 * config/i386/sysv4.h, config/i386/sco5.h: Override
155 X86_FILE_START_VERSION_DIRECTIVE to true.
156 * config/ia64/ia64.c (ia64_file_start): New static function.
157 (TARGET_ASM_FILE_START): Set it.
158 (emit_safe_across_calls): Take no arguments.
159 * config/ia64/ia64.md: Update to match.
160 * config/m32r/m32r.c (m32r_asm_file_start): Rename
161 m32r_file_start, make static, take no arguments.
162 (TARGET_ASM_FILE_START): Set it.
163 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Rename
164 m68hc11_file_start, make static, take no arguments.
165 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
166 (print_options): Delete.
167 * config/m68k/m68k.c (m68k_hp320_file_start): New static function.
168 (TARGET_ASM_FILE_START_APP_OFF): Set.
169 * config/m68k/hp320.h: Set TARGET_ASM_FILE_START to
170 m68k_hp320_file_start.
171 * config/mips/mips.c (iris6_asm_file_start, mips_asm_file_start):
172 Make static, take no arguments.
173 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
174 * config/mmix/mmix.c (mmix_asm_file_start): Rename
175 mmix_file_start, make static, take no arguments.
176 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
177 * config/mn10300/mn10300.c (asm_file_start): Rename
178 mn10300_file_start, make static, take no arguments.
179 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
180 * config/ns32k/ns32k.c (TARGET_ASM_FILE_START_APP_OFF): Set.
181 * config/pa/pa.c (pa_file_start_level, pa_file_start_space,
182 pa_file_start_file, pa_file_start_mcount, pa_elf_file_start,
183 pa_som_file_start, pa_linux_file_start, pa_hpux64_gas_file_start,
184 pa_hpux64_hpas_file_start): New static functions.
185 * config/pa/elf.h: Set TARGET_ASM_FILE_START to pa_elf_file_start.
186 * config/pa/pa-linux.h: Set TARGET_ASM_FILE_START to
187 pa_linux_file_start.
188 * config/pa/pa64-hpux.h: Set TARGET_ASM_FILE_START to
189 pa_hpux64_gas_file_start or pa_hpux64_hpas_file_start, as
190 appropriate.
191 * config/pa/som.h: Set TARGET_ASM_FILE_START to pa_som_file_start.
192 * config/rs6000/rs6000.c: Include xcoffout.h when TARGET_XCOFF.
193 (rs6000_file_start): Make static, take no arguments. Reset
194 default_cpu under certain conditions.
195 (rs6000_xcoff_file_start): New function.
196 * config/rs6000/rs6000.h (TARGET_ASM_FILE_START): Set.
197 * config/rs6000/xcoff.h (TARGET_ASM_FILE_START,
198 TARGET_ASM_FILE_START_FILE_DIRECTIVE): Override.
199 * config/sh/sh.c (output_file_start): Rename
200 sh_file_start, make static, take no arguments. Merge in old
201 code from sh/elf.h's ASM_FILE_START, conditioned on TARGET_ELF.
202 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
203 * config/sh/sh.c (TARGET_ELF): Define to 0.
204 * config/sh/elf.h (TARGET_ELF): Redefine to 1.
205 * config/v850/v850.c (asm_file_start): Delete.
206 (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
207 * config/vax/vax.c (vax_file_start): New static function.
208 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_APP_OFF): Set.
209
210 * config/darwin.h: Override ASM_FILE_START_FILE_DIRECTIVE to false.
211 * config/elfos.h, config/svr3.h, config/arm/elf.h, config/arm/pe.h
212 * config/i386/att.h, config/i386/gas.h, config/i386/linux.h
213 * config/i386/sysv4.h, config/i386/sco5.h, config/i960/i960-coff.h
214 * config/m68k/coff.h, config/m68k/hp320.h, config/mcore/mcore-pe.h
215 * config/vax/vaxv.h: Set ASM_FILE_START_FILE_DIRECTIVE to true.
216
217 * config/darwin.h, config/elfos.h, config/alpha/elf.h
218 * config/alpha/openbsd.h, config/alpha/osf.h, config/alpha/vms.h
219 * config/arc/arc.h, config/arm/aof.h, config/arm/aout.h
220 * config/arm/coff.h, config/arm/elf.h, config/arm/pe.h
221 * config/avr/avr.h, config/c4x/c4x.h, config/cris/cris.h
222 * config/dsp16xx/dsp16xx.h, config/h8300/elf.h, config/h8300/h8300.h
223 * config/i370/i370.h, config/i386/att.h, config/i386/gas.h
224 * config/i386/i386-interix.h, config/i386/linux.h, config/i386/sysv4.h
225 * config/i386/sco5.h, config/i960/i960-coff.h, config/i960/i960.h
226 * config/ia64/ia64.h, config/ia64/sysv4.h, config/m32r/m32r.h
227 * config/m68hc11/m68hc11.h, config/m68k/coff.h, config/m68k/m68k.h
228 * config/mcore/mcore-pe.h, config/mips/iris6.h, config/mips/mips.h
229 * config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h
230 * config/pa/elf.h, config/pa/pa-linux.h, config/pa/pa64-hpux.h
231 * config/pa/som.h, config/pdp11/pdp11.h, config/rs6000/linux64.h
232 * config/rs6000/lynx.h, config/rs6000/xcoff.h, config/sh/elf.h
233 * config/sh/sh.h, config/sparc/sparc.h, config/v850/v850.h
234 * config/vax/vax.h, config/vax/vaxv.h: Don't (re)define ASM_FILE_START.
235
236 * config/alpha/alpha-protos.h, config/arc/arc-protos.h
237 * config/avr/avr-protos.h, config/dsp16xx/dsp16xx-protos.h
238 * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
239 * config/m32r/m32r-protos.h, config/m68hc11/m68hc11-protos.h
240 * config/mips/mips-protos.h, config/mmix/mmix-protos.h
241 * config/mn10300/mn10300-protos.h, config/rs6000/rs6000-protos.h
242 * config/sh/sh-protos.h, config/v850/v850-protos.h: Update.
243
244 * xcoffout.h, config/rs6000/aix.h, config/rs6000/xcoff.h:
245 Remove reference to ASM_FILE_START in comment.
246 * config/arm/aof.h, config/arm/aout.h, config/arm/freebsd.h
247 * config/arm/linux-gas.h, config/arm/netbsd-elf.h
248 * config/arm/netbsd.h: Delete definition of ARM_OS_NAME.
249
e7f13528
GP
2502003-06-19 Graeme Peterson <gp@qnx.com>
251
252 * gcc.c (target_sysroot_suffix, target_sysroot_hdrs_suffix,
253 SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC, sysroot_suffix_spec,
254 sysroot_hdrs_suffix_spec): New.
255 (static_specs): Initialize new variables.
256 (add_sysroot_suffix_prefix, do_spec_1, main): Use new variables.
257 * doc/tm.texi (SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC):
258 New macros.
259
35b1a6fa
AJ
2602003-06-19 Andreas Jaeger <aj@suse.de>
261
d3ea6201 262 * c-aux-info.c: Convert to ISO C90.
35b1a6fa
AJ
263 * c-pragma.c: Likewise.
264 * c-common.c: Likewise.
265 * c-common.h: Likewise.
266 * c-convert.c: Likewise.
267 * c-cppbuiltin.c: Likewise.
268 * c-dump.c: Likewise.
269 * c-decl.c: Likewise
270 * c-format.c: Likewise.
271 * c-incpath.c: Likewise.
272 * c-incpath.h: Likewise.
273
6dab8d4c
RS
2742003-06-19 Roger Sayle <roger@eyesopen.com>
275
276 * builtins.c (expand_errno_check): Assume that flag_errno_math
277 and HONOR_NANS have been tested before calling here. Only try
278 to set errno ourselves if the decl can't throw an exception.
279 (expand_builtin_mathfn): Move the code to stabilize the arg
280 after the main switch, so that that its only done when needed.
281 BUILT_IN_SQRT{,F,L} doesn't set errno if its arg is nonnegative.
282 Don't modify the original expr when stabilizing the argument.
283 (expand_builtin_mathfn_2): Likewise, move the code to stabilize
284 the args after the main switch, and don't modify the orginal exp.
285
5f6c070d 2862003-06-19 Aldy Hernandez <aldyh@redhat.com>
35b1a6fa 287
1bc7c5b6
ZW
288 * expr.c (const_vector_from_tree): Initialize remaining elements
289 to 0.
5f6c070d 290
e7a9b208
AH
2912003-06-19 Aldy Hernandez <aldyh@redhat.com>
292
293 * config/rs6000/spe.md ("spe_evfscfsi"): Change operand types.
294 Change "fix" to "float".
295
1681bed6
AJ
2962003-06-19 Andreas Jaeger <aj@suse.de>
297
e295f317
AJ
298 * c-tree.h: Remove declaration of poplevel.
299
300 * tree.h: Remove declaration of approx_sqrt.
301
302 * c-lex.c: Remove redundant declaration of asm_out_file.
303
304 * flags.h: Remove declaration of warn_unknown_pragma and
305 main_input_filename.
306
307 * rtl.h: Remove functions from fold-const.c since they're already
308 declared in tree.h.
309
310 * regs.h: Remove redundant declaration of reg_names.
311
551dc360
AJ
312 * bt-load.c (migrate_btr_defs): Correct printf arguments.
313
1681bed6
AJ
314 * protoize.c: Fix breakage from last patch.
315
676fceeb
R
3162003-06-19 J"orn Rennecke <joern.rennecke@superh.com>
317
318 * hooks.h (hook_reg_class_void_no_regs): Only declare if tm.h
319 has been included.
320
85009435
JM
3212003-06-18 James A Morrison <ja2morri@student.math.uwaterloo.ca>
322
323 * config/sparc/sparc.c: Update copyright year.
324
ddcc8263
DE
3252003-06-19 David Edelsohn <edelsohn@gnu.org>
326
327 * config/rs6000/rs6000.c (init_cumulative_args): Limit CALL_LIBCALL
328 to ABI_V4.
329
f37ceab9
JM
3302003-06-18 Joseph S. Myers <jsm@polyomino.org.uk>
331
332 PR bootstrap/4068
333 * config/i386/liunx.h: Don't include sys/ucontext.h for glibc 2.0.
334
6e014ef3
KH
3352003-06-19 Kazu Hirata <kazu@cs.umass.edu>
336
337 * config/h8300/h8300.c (TARGET_INITIALIZER and friends): Move
338 to the end of the file. Remove unnecessary prototypes.
339
5a9384dd
HPN
3402003-06-19 Hans-Peter Nilsson <hp@axis.com>
341
342 * bt-load.c (migrate_btr_def) [INSN_SCHEDULING]: Conditionalize
343 calls to insn_default_latency and result_ready_cost. Initialize
344 def_latency to 1.
345
61193e7b
RH
3462003-06-18 Richard Henderson <rth@redhat.com>
347
1bc7c5b6
ZW
348 * config/ia64/unwind-ia64.c (_Unwind_GetCFA): New.
349 (_Unwind_FindEnclosingFunction): Implement.
61193e7b 350
a2f8629a
KH
3512003-06-18 Kazu Hirata <kazu@cs.umass.edu>
352
353 * toplev.c (rest_of_handle_sched): Hide the entire function if
354 INSN_SCHEDULING is not defined.
355 (rest_of_compilation): Call rest_of_handle_sched() only when
356 INSN_SCHEDULING is defined.
357
fe3ad572 3582003-06-18 Stephen Clarke <stephen.clarke@superh.com>
1bc7c5b6 359 J"orn Rennecke <joern.rennecke@superh.com>
fe3ad572
SC
360
361 * bt-load.c: New file.
362 * Makefile.in (OBJS): Include bt-load.o
363 (bt-load.o): Add dependencies.
364 * flags.h (flag_branch_target_load_optimize): Declare.
365 (flag_branch_target_load_optimize2): Likewise.
366 * hooks.c (hook_reg_class_void_no_regs): New function.
367 (hook_bool_bool_false): Likewise.
368 * hooks.h (hook_reg_class_void_no_regs, hook_bool_bool_false): Declare.
369 * rtl.h (branch_target_load_optimize): Declare.
370 * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define.
371 (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
372 (TARGET_INITIALIZER): Include these.
373 * target.h (struct gcc_target): Add branch_target_register_class
374 and branch_target_register_callee_saved members.
375 * toplev.c (enum dump_file_index): Add DFI_branch_target_load
376 (dump_file) Add "tars" entry.
377 (flag_branch_target_load_optimize): New variable.
378 (flag_branch_target_load_optimize2): Likewise.
379 (lang_independent_options): Add entries for new options.
380 (rest_of_compilation): Call branch_target_load_optimize.
381 * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Document.
382 (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
383 * doc/invoke.texi: Document -fbranch-target-load-optimize and
384 -fbranch-target-load-optimize2.
385 * rtl.h (epilogue_completed): Declare.
386 * recog.c (epilogue_completed): New variable.
387 * toplev.c (rest_of_compilation): Set it.
388 * flow.c (mark_regs_live_at_end): Use it.
389 * config/ia64/ia64.c (ia64_output_mi_thunk): Set it.
390 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
391 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
392 * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
393
394 * sh.c (shmedia_space_reserved_for_target_registers): New variable.
395 (sh_target_reg_class): New function.
396 (sh_optimize_target_register_callee_saved): Likwise.
397 (shmedia_target_regs_stack_space): Likewise.
398 (shmedia_reserve_space_for_target_registers_p): Likewise.
399 (shmedia_target_regs_stack_adjust): Likewise.
400 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Override.
401 (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
402 (calc_live_regs): If flag_branch_target_load_optimize2 and
403 TARGET_SAVE_ALL_TARGET_REGS is enabled, and we have space reserved
404 for target registers, make sure that we save all target registers.
405 (sh_expand_prologue, sh_expand_epilogue): Take target register
406 optimizations into account. Collapse stack adjustments if that
407 is beneficial.
408 (initial_elimination_offset): Reserve space for target registers
409 if necessary.
410 * sh.h (SAVE_ALL_TR_BIT, TARGET_SAVE_ALL_TARGET_REGS): Define.
411 (OPTIMIZATION_OPTIONS): Enable flag_branch_target_load_optimize.
412
5a9335ef
NC
4132003-06-18 Nick Clifton <nickc@redhat.com>
414
415 * config.gcc: Add an extra_header for ARM targets.
1bc7c5b6 416 Support configuring with --with-cpu=iwmmxt.
5a9335ef 417 * doc/invoke.texi: Document new value for -mcpu= ARM switch.
1bc7c5b6 418 * config/arm/aof.h (REGISTER_NAMES): Add iwmmxt register
35b1a6fa 419 names. Fix formatting.
1bc7c5b6 420 * config/arm/aout.h (REGISTER_NAMES): Add iwmmxt register
5a9335ef 421 names.
1bc7c5b6 422 * config/arm/arm-protos.h (arm_emit_vector_const): New
5a9335ef
NC
423 prototype.
424 (arm_output_load_gr): New prototype.
425 * config/arm/arm.c (extra_reg_names1): Delete.
1bc7c5b6 426 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN, FL_IWMMXT,
5a9335ef
NC
427 * arch_is_iwmmxt): Define.
428 (all_cores, all_architecture): Add entry for iwmmxt.
429 (arm_override_options): Add support for iwmmxt.
430 (use_return_insn, arm_function_arg, arm_legitimate_index_p,
431 arm_print_value, arm_rtx_costs_1, output_move_double,
432 arm_compute_save_reg_mask, arm_output_epilogue,
433 arm_get_frame_size, arm_expand_prologue, arm_print_operand,
434 arm_assemble_integer, arm_hard_regno_ok, arm_regno_class):
435 Likewise.
436 (arm_init_cumulative_args): Count iwmmxt registers.
437 (arm_function_ok_for_sibcall): Return false of sibcall_blocked
438 has been set.
439 (struct minipool_node): Add fix_size field.
440 (add_minipool_forward_ref): Add support for 8-byte aligning of
441 the pool.
442 (add_minipool_backward_ref, add_minipool_offsets,
443 dump_minipool, push_minipool_fix): Likewise.
444 (struct builtin_description): New struct.
1bc7c5b6
ZW
445 (builtin_description): New array of iwmmxt builtin functions.
446 (arm_init_iwmmxt_builtins): New function.
447 (arm_init_builtins): New function.
448 (safe_vector_operand): New function.
449 (arm_expand_binop_builtin): New function.
450 (arm_expand_unop_builtin): New function.
451 (arm_expand_builtin): New function.
452 (arm_emit_vector_const): New function.
453 (arm_output_load_gr): New function.
454 * config/arm/arm.h (TARGET_CPU_iwmmxt, TARGET_IWMMXT,
5a9335ef
NC
455 TARGET_REALLY_IWMMXT, arm_arch_iwmmxt, IWMMXT_ALIGNMENT,
456 TYPE_NEEDS_IWMMXT_ALIGNMENT, ADJUST_FIELD_ALIGN,
457 DATA_ALIGNMENT, LOCAL_ALIGNMENT, VECTOR_MODE_SUPPORTED_P): Define.
1bc7c5b6
ZW
458 (BIGGEST_ALIGNMENT): Set to 64 if ATPCS support is enabled.
459 (CPP_CPU_ARCH_SPEC): Add entries for iwmmxt.
460 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
5a9335ef
NC
461 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
462 REG_CLASS_FOR_LETTER): Add iwmmxt registers.
1bc7c5b6 463 (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Disable iwmmxt
5a9335ef 464 registers unless the iwmmxt target is selected.
1bc7c5b6 465 (FIRST_IWMMXT_GR_REGNUM, LAST_IWMMXT_GR_REGNUM,
5a9335ef
NC
466 FIRST_IWMMXT_REGNUM, LAST_IWMMXT_REGNUM, IS_IWMMXT_REGNUM,
467 IS_IWMMXT_GR_REGNUM): Define.
1bc7c5b6
ZW
468 (FIRST_PSEUDO_REGISTER): Bump to 63.
469 (struct machine_function): Add sibcall_blocked field.
470 (Struct CUMULATIVE_ARGS): Add iwmmxt_nregs, named_count and
5a9335ef 471 nargs fields.
1bc7c5b6
ZW
472 (enum arm_builtins): New enum list.
473 * config/arm/arm.md (UNSPEC_WSHUFH, UNSPEC_WACC,
5a9335ef
NC
474 UNSPEC_TMOVMSK, UNSPEC_WSAD, UNSPEC_WSADZ, UNSPEC_WMACS,
475 UNSPEC_WMACU, UNSPEC_WMACSZ, UNSPEC_WMACUZ, UNSPEC_CLRDI,
476 UNSPEC_WMADDS, UNSPEC_WMADDU): New unspecs.
477 (VUNSPEC_TMRC, VUNSPEC_TMCR, VUNSPEC_ALIGN8, VUNSPEC_WCMP_EQ,
478 VUNSPEC_WCMP_GTU, VUNSPEC_WCMP_GT): New vunspecs.
1bc7c5b6
ZW
479 (movv2si, movv4hi, movv8qi): New expands for vector moves.
480 Include iwmmxt.md.
5a9335ef
NC
481 * config/arm/t-xscale-elf (MULTILIB_OPITONS): Add iwmmxt
482 multilib.
1bc7c5b6
ZW
483 (MULTILIB_DIRNAMES, MULTILIB_REDUNDANT_DIRS): Likewise.
484 * config/arm/mmintrin.h: New ARM specific header file.
485 * config/arm/iwmmx.md: New iWMMXt specific machine patterns.
5a9335ef 486
fe651b1d
R
4872003-06-18 J"orn Rennecke <joern.rennecke@superh.com>
488
489 * toplev.c (Remaining -d letters summary): Update.
490
b9599e46
FS
4912003-06-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
492
493 * config/rs6000/rs6000.c (init_cumulative_args): Add and handle LIBCALL
494 argument.
495 (function_arg): Handle CALL_LIBCALL flag.
496 * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
497 prototype.
498 * config/rs6000/rs6000.h (CALL_LIBCALL): New macro.
499 (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
500 (INIT_CUMULATIVE_ARGS): Add LIBCALL argument.
501 (INIT_CUMULATIVE_INCOMING_ARGS): Likewise.
502
903caebf
NB
5032003-06-18 Neil Booth <neil@daikokuya.co.uk>
504
505 * Makefile.in: Update.
506 * common.opt: New options.
507 * opts.c (maybe_warn_unused_parameter, set_Wextra, handle_param,
508 set_Wunused): New.
509 (common_handle_option): Handle new options.
510 * toplev.c (set_target_switch): Export.
511 (set_Wextra, set_Wunused, maybe_warn_unused_parameter): Move to opts.c.
512 (decode_W_option): -Wunused and -Wextra handled in opts.c now.
513 (independent_decode_option): More options handled in opts.c now.
514 Change prototype.
515 * toplev.h (set_target_switch): New.
516
f3f735eb
RA
5172003-06-17 Robert Abeles <rabeles@archaelogic.com>
518
519 PR debug/4252
520 * c-opts.c (c_common_handle_option): Pass -fdump argument suffix
521 to dump_switch_p().
522 * tree-dump.c (dump_switch_p): Remove redundant 'dump-' prefix
523 from static strings in dump_files.
524
b0c231bb
KG
5252003-06-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
526
527 * system.h (ANSI_PROTOTYPES, PTR_CONST, LONG_DOUBLE, VPARAMS,
528 VA_OPEN, VA_FIXEDARG, VA_CLOSE, VA_START): undef and poison these
529 libiberty macros.
530
9da32fe1
JM
5312003-06-17 Jason Merrill <jason@redhat.com>
532
533 PR c++/10929
534 * tree-inline.c (expand_call_inline): Don't warn about failing to
535 inline a function which was made inline by -finline-functions.
536
cb713a8d
KH
5372003-06-17 Kazu Hirata <kazu@cs.umass.edu>
538
539 * config/h8300/h8300-protos.h: Update to ISO C.
540 * config/h8300/h8300.c: Likewise.
541 * config/h8300/h8300.h: Likewise.
542 * config/h8300/h8300.md: Likewise.
543
eaf9f3b2
NN
5442003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
545
546 * configure.in: Replace BUILD_CC references with CC_FOR_BUILD.
547 * configure: Regenerate.
548 * Makefile.in: Replace BUILD_CC references with CC_FOR_BUILD.
549
688d8b84
RM
5502003-06-17 Ranjit Mathew <rmathew@hotmail.com>
551
552 * install.texi (Testing): Add information on how to run Java
553 runtime tests separately.
554
1f11df32
RO
5552003-06-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
556
94b2a23b
RO
557 * config/mips/mips.md (trap): Use break 0 when !TARGET_GAS.
558
1f11df32
RO
559 * config/mips/iris6-o32.h (MIPS_ISA_DEFAULT): Remove.
560 (MIPS_CPU_STRING_DEFAULT): Redefine to mips2.
561
11344b85
CF
5622003-06-17 Christopher Faylor <cgf@redhat.com>
563
564 * doc/install.texi: Add msvc rebuild caveat.
565
c8f0269d
KH
5662003-06-17 Kazu Hirata <kazu@cs.umass.edu>
567
568 * config/sh/coff.h: Replace Hitachi with Renesas.
569 * config/sh/elf.h: Likewise.
570 * config/sh/embed-elf.h: Likewise.
571 * config/sh/lib1funcs.asm: Likewise.
572 * config/sh/sh-protos.h: Likewise.
573 * config/sh/sh.c: Likewise.
574 * config/sh/sh.h: Likewise.
575 * config/sh/sh.md: Likewise.
576
67f63f32
KH
5772003-06-17 Kazu Hirata <kazu@cs.umass.edu>
578
579 * ChangeLog.3: Fix comment typos.
580 * ChangeLog.6: Likewise.
581 * config/d30v/d30v.c: Likewise.
582 * config/h8300/h8300.md: Likewise.
583 * config/m32r/m32r.md: Likewise.
584 * config/mips/mips.c: Likewise.
585 * config/mips/mips.md: Likewise.
586 * config/ns32k/NOTES: Likewise.
587
0d5c606b 5882003-06-17 Ranjit Mathew <rmathew@hotmail.com>
1bc7c5b6 589 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
35b1a6fa 590
0d5c606b
RM
591 * doc/sourcebuild.texi (libgcj Tests): Simplify instructions on how
592 to run Java runtime tests separately.
593
d32fad64
KH
5942003-06-17 Kazu Hirata <kazu@cs.umass.edu>
595
596 * config/h8300/h8300-protos.h: Update a comment.
597
1bf93c14
R
5982003-06-17 J"orn Rennecke <joern.rennecke@superh.com>
599
600 * sh.h (ROUND_TYPE_ALIGN, LOCAL_ALIGNMENT): Complex modes
601 are aligned like integral modes.
602 (SH5_WOULD_BE_PARTIAL_NREGS): Also test for CDImode and DCmode.
603
604 * sh.h (EXTRA_CONSTRAINT_Csy): Allow PIC_DIRECT_ADDR_P.
605 (LEGITIMATE_PIC_OPERAND_P): Allow LABEL_REF.
606 * sh.md (*pt): Remove.
607
608 * sh.h (REG_ALLOC_ORDER): Avoid squandering call-saved registers.
609
610 * sh.md (return_media_rte): New pattern.
611 (return_media): Use it.
612
71c6b994
KH
6132003-06-17 Kazu Hirata <kazu@cs.umass.edu>
614
615 * doc/contrib.texi: Replace Hitachi with Renesas.
616 * doc/install.texi: Likewise.
617 * doc/invoke.texi: Likewise.
618
fdc88a4d
R
6192003-06-17 J"orn Rennecke <joern.rennecke@superh.com>
620
621 * sh.h (CONST_OK_FOR_J16): Fix HOST_BITS_PER_WIDE_INT >= 64
622 behaviour.
623
7cf6c927
FS
6242003-06-17 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
625
8207b189
FS
626 * doc/tm.texi (MD_FALLBACK_FRAME_STATE_FOR): Mention MAKE_THROW_FRAME.
627
7cf6c927
FS
628 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Partly revert
629 2003-01-23 patch. Corrected to handle kernels with changed ucontext.
630
631 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Error on invalid
632 -msdata=eabi usages.
633
634 * gcc/config/rs6000/sysv4.h (USE_LIBC_1): Delete all uses.
635
a54928c9
KG
6362003-06-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
637
638 * alloc-pool.c: Don't check HAVE_LONG_DOUBLE.
639 * fixinc/gnu-regex.c: Don't define `volatile'.
640 * ggc-page.c: Don't check HAVE_LONG_DOUBLE.
641 * ggc-simple.c: Likewise.
642 * system.h: Don't define `volatile'.
643
644 * aclocal.m4 (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Delete.
645 * configure.in (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Don't
646 call these macros.
647 * config.in, configure: Regenerated.
648
8419b675
RK
6492003-06-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
650
651 * config/ia64/ia64.c (ia64_expand_builtin, case IA64_BUILTIN_BSP):
652 Handle POINTERS_EXTEND_UNSIGNED.
653
c1e5104d
RO
6542003-06-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
655
656 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
657 !TARGET_IRIX6]: Define as NULL.
658
97587cfa
EB
6592003-06-17 Eric Botcazou <ebotcazou@libertysurf.fr>
660
661 * config/sparc/sparc.c (sparc_va_arg): Don't align 16-byte+ structures.
662
a8d0467e
EB
6632003-06-17 Eric Botcazou <ebotcazou@libertysurf.fr>
664
665 * dbxout.c (dbxout_source_line_counter): New global variable.
666 Mark it with GTY(()).
667 (dbxout_source_line): Increment dbxout_source_line_counter
668 and pass it to ASM_OUTPUT_SOURCE_LINE.
669 * sdbout.c (sdbout_source_line_counter): New global variable.
670 Mark it with GTY(()).
671 (unnamed_struct_number): Mark it with GTY(()).
672 (sdbout_source_line): Increment sdbout_source_line_counter
673 and pass it to ASM_OUTPUT_SOURCE_LINE.
674 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Add third parameter
675 (xcoffout_source_line): Pass 0 as third argument to
676 ASM_OUTPUT_SOURCE_LINE.
677 (xcoffout_begin_prologue): Likewise.
678 * config/dbxout.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
679 Use it instead of 'sym_lineno' but without incrementing it.
680 * config/dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
681 * config/lynx.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
682 * config/ptx4.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
683 * config/alpha/alpha.c (alpha_start_function): Pass 0 as third
684 argument to ASM_OUTPUT_SOURCE_LINE.
685 * config/alpha/alpha.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
686 * config/arm/aout.h: Remove useless comment.
687 * config/avr/avr.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
688 * config/i960/i960.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
689 * config/m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
690 Use it instead of 'sym_lineno' but without incrementing it.
691 * config/m68k/hp320.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
692 * config/mcore/mcore-pe.h (ASM_OUTPUT_SOURCE_LINE): Add third
693 parameter. Use it instead of 'sym_lineno' but without incrementing it.
694 * config/mips/mips.c (mips_output_function_prologue): Pass 0 as third
695 argument to ASM_OUTPUT_SOURCE_LINE.
696 * config/mips/mips.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
697 * config/mmix/mmix.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
698 * config/pa/som.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
699 Use it instead of 'sym_lineno' but without incrementing it.
700 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
701 * config/sh/elf.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
702 * config/sparc/aout.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
703 * config/sparc/pbd.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
704 * doc/tm.texi (ASM_OUTPUT_SOURCE_LINE): Document third parameter.
705
730cf822
RS
7062003-06-17 Richard Sandiford <rsandifo@redhat.com>
707
708 * config/mips/mips-protos.h (mips_expand_block_move): Declare.
709 (expand_block_move, output_block_move): Remove.
710 * config/mips/mips.h (enum block_move_type): Remove.
711 * config/mips/mips.c (block_move_call, output_block_move): Remove.
712 (mips_block_move_straight, mips_adjust_block_mem): New function.
713 (mips_block_move_loop): Renamed and reworked from block_move_loop.
714 (mips_expand_block_move): Likewise expand_block_move. Return false
715 to fall back on the target-independent code.
716 * config/mips/mips.md (movstrsi): Use mips_expand_block_move.
717 (movstrsi_internal*): Remove.
718
6cf87ca4
ZW
7192003-06-16 Zack Weinberg <zack@codesourcery.com>
720
721 * cpplib.h, cpphash.h, cppcharset.c, cpperror.c, cppexp.c
722 * cppfiles.c, cpphash.c, cppinit.c, cpplex.c, cpplib.c
723 * cppmacro.c, cpppch.c, cpptrad.c, cppspec.c: Convert to
724 ISO C: new-style function declarations, no need for PARAMS,
725 no special punctuation on indirect function calls, use string
726 constant concatenation where convenient.
727
5b0e2409
AJ
7282003-06-17 Andreas Jaeger <aj@suse.de>
729
730 * rtl.h: Remove declarations from coverage.h.
731 * toplev.c: Include coverage.h.
732 * Makefile.in (toplev.o): Depend on coverage.h.
733
734 * toplev.h: Remove extra declaration of print_time.
735
736 * gengtype.c (close_output_files): Remove duplicated declaration.
737
77094862
NN
7382003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
739
cc0651d2
NN
740 * config/sparc/sysv4.h: Remove target-independent comment;
741 replace "GNU CC" with "GCC".
b06c827c 742 * config/vxworks.h: Replace "GNU compiler" with "GCC".
de0a398e
NN
743 * config/sparc/aout.h, config/sparc/biarch64.h, config/sparc/elf.h,
744 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
745 config/sparc/lite.h, config/sparc/litecoff.h, config/sparc/liteelf.h,
6cf87ca4 746 config/sparc/netbsd-elf.h, config/sparc/openbsd.h,
de0a398e
NN
747 config/sparc/rtemself.h, config/sparc/sol2-64.h,
748 config/sparc/sol2-bi.h, config/sparc/sol2-gas-bi.h,
749 config/sparc/sol2-gld-bi.h, config/sparc/sol2-gld.h,
6cf87ca4 750 config/sparc/sol2.h, config/sparc/sp64-aout.h,
de0a398e
NN
751 config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h,
752 config/sparc/sparc-protos.h, config/sparc/sysv4-only.h: Replace
753 "GNU compiler", "GNU CC" with "GCC".
4d8af13f
NN
754 * config/sparc/cypress.md, config/sparc/hypersparc.md,
755 config/sparc/sparc-modes.def, config/sparc/sparc.c,
756 config/sparc/sparc.md, config/sparc/sparclet.md,
757 config/sparc/supersparc.md, config/sparc/ultra1_2.md,
758 config/sparc/ultra3.md: Replace "GNU CC", "GNU Compiler", and
759 "GNU C Compiler" with "GCC".
77094862
NN
760 * config/ip2k/ip2k.h: Replace "GNU CC" and "GNU compiler" with "GCC".
761
0a84d874
AH
7622003-06-16 Aldy Hernandez <aldyh@redhat.com>
763
764 * simplify-rtx.c (simplify_subreg): Do not over-extend vector
765 constants.
766
767 * testsuite/gcc.c-torture/execute/simd-4.c: New.
768
9cd598aa
NN
7692003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
770
c24851de
NN
771 * config/ip2k/ip2k.h: Remove target-independent comments.
772
9cd598aa
NN
773 * config.gcc: Explicitly mention elfos.h in ip2k entry.
774 * config/ip2k/ip2k.h: Don't #include it here.
775
4ff58371
KG
7762003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
777
fad205ff
KG
778 * bitmap.c, builtins.c, c-incpath.c, cgraph.c, config/frv/frv.c,
779 config/mips/mips.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c,
780 dwarf2out.c, dwarfout.c, except.c, expr.c, expr.h, fold-const.c,
781 function.c, gcc.c, genoutput.c, gensupport.c, global.c,
782 haifa-sched.c, hashtable.c, ifcvt.c, integrate.c, local-alloc.c,
783 loop.c, mips-tdump.c, mips-tfile.c, mkdeps.c, protoize.c,
784 read-rtl.c, recog.h, reload1.c, sbitmap.c, ssa-dce.c,
785 stringpool.c, tlink.c, tree.c, varasm.c, varray.c: Don't use
786 the PTR macro.
787
4ff58371
KG
788 * gengtype.c: Don't use UNION_INIT_ZERO.
789 * system.h (UNION_INIT_ZERO): Delete.
790
799ab2c7
RH
7912003-06-16 Richard Henderson <rth@redhat.com>
792
793 * simplify-rtx.c (simplify_subreg): Use GET_MODE_SIZE instead of
794 GET_MODE_UNIT_SIZE when simplifying constant vectors.
795
33b0d00f
AJ
7962003-06-16 Andreas Jaeger <aj@suse.de>
797
798 * timevar.c (get_run_time): Remove function provided also by
799 libiberty.
800 * timevar.h: Remove get_run_time declaration.
801
3391875b
KH
8022003-06-16 Kazu Hirata <kazu@cs.umass.edu>
803
804 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): Remove
805 unreachable code.
806
9a238586
KG
8072003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
808
809 * builtin-attrs.def, builtin-attrs.def, builtins.c, cpplex.c,
810 cpplib.c, gencheck.c, gengenrtl.c, machmode.def, protoize.c: Don't
811 use macros from "symcat.h", instead rely on ISO C.
6cf87ca4 812
9a238586
KG
813 * system.h: Don't include "symcat.h".
814 * configure.in (AC_C_STRINGIZE): Delete.
815 * config.in, configure: Regenerate.
816
7f42b6d7
RK
8172003-06-16 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
818
f0c4fac7
RK
819 * Makefile.in (install-mkheaders): Use INSTALL_SCRIPT for scripts.
820
7f42b6d7
RK
821 * tree.h (STMT_CHECK): New macro.
822 Also upper-case argument names on all checking macros and
823 fix some whitespace problems; assume CODE argument does not
824 have side-effects.
825
89d09f83
KG
8262003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
827
2a0621b9
KG
828 * scan.h: Convert to ISO C.
829 * system.h: Likewise.
830
89d09f83
KG
831 * c-format.c (dynamic_format_types): New pointer for dynamic data.
832 (find_length_info_modifier_index, init_dynamic_asm_fprintf_info):
833 New functions split out of...
834 (handle_format_attribute): ...here.
835
735cb76e
R
8362003-06-16 J"orn Rennecke <joern.rennecke@superh.com>
837
838 * sh.h (REG_CLASS_FROM_LETTER): Change to:
839 (REG_CLASS_FROM_CONSTRAINT).
840 (CONST_OK_FOR_I): Rename to:
841 (CONST_OK_FOR_I08). Changed all users.
842 (CONST_OK_FOR_J): Rename to:
843 (CONST_OK_FOR_I16). Changed all users.
844 (CONST_OK_FOR_K): Rename to:
845 (CONST_OK_FOR_P27). Changed all users.
846 (CONST_OK_FOR_L): Rename to:
847 (CONST_OK_FOR_K08). Changed all users.
848 (CONST_OK_FOR_O): Rename to:
849 (CONST_OK_FOR_I06). Changed all users.
850 (CONST_OK_FOR_P): Rename to:
851 (CONST_OK_FOR_I10). Changed all users.
852 (CONSTRAINT_LEN, CONST_OK_FOR_I, CONST_OK_FOR_J16): Define.
853 (CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_P): Likewise.
854 (EXTRA_CONSTRAINT_A, EXTRA_CONSTRAINT_Bsc): Likewise.
855 (EXTRA_CONSTRAINT_B, PIC_OFFSET_P, PIC_DIRECT_ADDR_P): Likewise.
856 (EXTRA_CONSTRAINT_Cpg, EXTRA_CONSTRAINT_C): Likewise.
857 (EXTRA_MEMORY_CONSTRAINT,(EXTRA_CONSTRAINT_Sr0): Likewise.
858 (CONST_OK_FOR_LETTER_P): Replace with
859 (CONST_OK_FOR_CONSTRAINT_P).
860 (EXTRA_CONSTRAINT_S): Rename to:
861 (EXTRA_CONSTRAINT_C16). Changed all users.
862 (MOVI_SHORI_BASE_OPERAND_P): Don't allow direct addresses.
863 (EXTRA_CONSTRAINT_T): Rename to:
864 (EXTRA_CONSTRAINT_Csy). Changed all users.
865 (EXTRA_CONSTRAINT_Z): Remove.
866 (EXTRA_CONSTRAINT): Replace with:
867 (EXTRA_CONSTRAINT_STR).
868 (EXTRA_CONSTRAINT_U): Rename to:
869 (EXTRA_CONSTRAINT_Z). Changed all users.
870 * sh.c (and_operand): Use CONST_OK_FOR_J16.
871 * sh.md (cmpeqsi_t-1, cmpeqsi_t, adddi3_media): Use new constraints.
872 (addsi3_media, addsi3_compact, andsi3_compact, anddi3): Likewise.
873 (iorsi3, iordi3, xorsi3, xordi3, ashlsi3_std, ashlhi3_k): Likewise.
874 (lshrsi3_k, movsi_i, movsi_ie, movsi_i_lowpart, movsi_media): Likewise.
875 (movsi_media_nofpu, movqi_media, movhi_i, movhi_media): Likewise.
876 (*movdi_i, movdi_media, movdi_media_nofpu, shori_media): Likewise.
877 (movdf_media, movdf_media_nofpu, movv2sf_i, movv4sf_i): Likewise.
878 (movsf_media, movsf_media_nofpu, movsi_y, beq_media): Likewise.
879 (beq_media_i, bne_media, pt, ptb, movv8qi_i, movv2hi_i): Likewise.
880 (movv4hi_i, movv2si_i, negcmpeqv8qi, negcmpeqv2si): Likewise.
881 (negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si, negcmpgtv4hi): Likewise.
882 (mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub, mextr_rl, mextr_lr): Likewise.
883 (mextr1, mextr2, mextr3, mextr4, mextr5, mextr6, mextr7): Likewise.
884 (mperm_w, mperm_w_little, mperm_w_big, msad_ubq_i): Likewise.
885 (mshards_q, mshfhi_b, mshflo_b, mshf4_b, mshf0_b, mshfhi_l): Likewise.
886 (mshflo_l, mshf4_l, mshf0_l, mshfhi_w, mshflo_w, mshf4_w): Likewise.
887 (mshf0_w, mshflo_w_x, mshfhi_l_di, mshfhi_l_di_rev): Likewise.
888 (mshflo_l_di_rev, mshflo_l_di_x, concat_v2sf): Likewise.
889 (mshflo_l_di_x_rev, subv2si3, subv4hi3, sssubv2si3): Likewise.
890 (sssubv4hi3): Likewise.
891 (movsf_i): Change I[08]/r to G/r.
892 (movsf_ie): Change f/{G,H}/c/X to f/{G,H}/c/Bsc.
893
894 * sh.c (sh_output_mi_thunk): Use CONST_OK_FOR_ADD.
895
bce75972
VM
8962003-06-16 Vladimir Makarov <vmakarov@redhat.com>
897
898 * config/i386/i386.c (ix86_memory_move_cost): Fix typo.
899
ebf0d392
AJ
9002003-06-16 Andreas Jaeger <aj@suse.de>
901
9286d5a8
AJ
902 * basic-block.h: Remove duplicate prototype of
903 note_prediction_to_br_prob.
904
ebf0d392
AJ
905 * tree.h: Remove duplicate prototype of strip_float_extensions.
906
0eff02cd
KG
9072003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
908
909 * config/c4x/c4x.c: Don't include "c-tree.h".
910 * config/pa/pa.c: Likewise.
911 * langhooks.c: Likewise.
912 * tree.h (poplevel): Declare.
913
08dca707
KH
9142003-06-16 Kazu Hirata <kazu@cs.umass.edu>
915
916 * config/h8300/h8300.c (const_costs): Move this to ...
917 (h8300_rtx_costs): ... here.
918
82d397c7
RS
9192003-06-16 Roger Sayle <roger@eyesopen.com>
920
921 * optabs.h (enum optab_index): Add new OTI_tan and OTI_atan.
922 (tan_optab, atan_optab): Define corresponding macros.
923 * optabs.c (init_optabs): Initialize tan_optab and atan_optab.
924 * genopinit.c (optabs): Implement tan_optab and atan_optab
925 using tan?f2 and atan?f2 patterns.
926 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_TAN{,F,L}
927 using tan_optab, and BUILT_IN_ATAN{,F,L} using atan_optab.
928 Change the default value of errno_set to false.
929 (expand_builtin): Expand BUILT_IN_TAN{,F,L} and BUILT_IN_ATAN{,F,L}
930 using expand_builtin_mathfn.
931
932 * config/i386/i386.md (atansf2, atandf2, atanxf2, atantf2): New
933 expander patterns implemented using existing atan2?f3 patterns.
934
c6547c92
RS
9352003-06-16 Roger Sayle <roger@eyesopen.com>
936
937 * expr.c (expand_expr <PLUS_EXPR>): If operand_equal_p considers
938 both operands of the addition equal, reuse the expanded RTL.
939 (expand_expr <MULT_EXPR>): Likewise for multiplication.
940
21c43754
RS
9412003-06-16 Roger Sayle <roger@eyesopen.com>
942 Jeff Law <law@redhat.com>
943
944 * fold-const.c (operand_equal_p): Consider two calls to "const"
945 functions with identical non-volatile arguments to be equal.
946 Consider the FUNCTION_DECL for the "__builtin_foo" form of a
947 built-in function to be equal to the "foo" form.
948
93ffe49c
NN
9492003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
950
951 * config/rs6000/sysv4le.h: Remove target-independent comment.
952 Replace "GNU compiler" with "GCC" in comment.
953
baaa1222
AJ
9542003-06-16 Andreas Jaeger <aj@suse.de>
955
1a9962c2 956 * tracer.c: Remove duplicate declaration.
baaa1222
AJ
957
958 * toplev.c: Remove extra declaration of decode_d_option.
959
960 * ssa.c: Remove duplicate declaration.
961
962 * sreal.c: Remove extra declaration of dump_sreal.
963
964 * reload1.c: Remove duplicate declarations.
965
966 * integrate.c: Remove extra declaration of
967 set_decl_abstract_flags.
968
969 * flow.c: Remove extra declaration of dump_flow_info.
970
971 * alias.c: Remove extra declaration of get_addr.
972
5e6908ea
NN
9732003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
974
814499a4
NN
975 * config/rtems.h, config/sol2.h, config/svr4.h, config/usegas.h,
976 config/vxworks.h: GNU CC -> GCC.
977
5e6908ea
NN
978 * convert.c, dwarf2out.c, dwarfout.c, emit-rtl.c, function.c,
979 lists.c, print-rtl.c, print-tree.c, read-rtl.c, rtl-error.c,
980 stmt.c, toplev.c, integrate.h, loop.h, machmode.h, rtl.h,
981 ssa.h, tree.def: Replace overly specific references to "GNU C"
982 and "GNU C Compiler" with references to "GCC".
983
3ff5ef1b
R
9842003-06-16 J"orn Rennecke <joern.rennecke@superh.com>
985
266a2732
R
986 * sh.c (prepare_move_operand): Check if operand 0 is an invalid
987 memory reference. Fix test that checks if operand 1 is using r0.
988 * sh.md (movhi_i): Don't allow st.w r0,@(rX,rY) .
989
990 * defaults.h (REG_CLASS_FROM_CONSTRAINT): Only define if not already
991 defined.
3ff5ef1b 992
fd3acbb3
NS
9932003-06-15 Nathan Sidwell <nathan@codesourcery.com>
994
995 * function.h (struct emit_status): Remove x_last_linenum,
996 x_last_filename. Add x_last_location.
997 * rtl.h: #include "input.h".
998 (NOTE_DATA): New.
999 * cfglayout.c (duplicate_insn_chain): Use emit_line_note for line
1000 number notes.
1001 * emit-rtl.c (last_linenum, last_filename): Remove.
1002 (last_location): New.
1003 (emit_line_note_after): LINE must always be >= 0.
1004 (emit_line_note): Likewise. Check not duplicate here...
1005 (emit_note): ... rather than here.
1006 (emit_line_note_force, force_next_line_note, init_emit): Adjust.
1007 * integrate.c (expand_inline_function): Use emit_line_note for
1008 line number notes.
1009 (copy_insn_list): Likewise.
1010 * unroll.c (copy_loop_body): Likewise.
1011 * Makefile.in (RTL_H): Add input.h.
1012
695a94b3
RS
10132003-06-16 Richard Sandiford <rsandifo@redhat.com>
1014
1015 * optabs.c (emit_libcall_block): Don't hoist insns past a label.
1016
a5c24926
RH
10172003-06-16 Richard Henderson <rth@redhat.com>
1018
1019 * config/alpha/alpha-protos.h, config/alpha/elf.h,
1020 config/alpha/osf.h, config/alpha/unicosmk.h, config/alpha/vms.h,
1021 config/alpha/vms-cc.c, config/alpha/vms-ld.c: Update to ISO C.
1022 * config/alpha/alpha.c: Likewise. Move targetm init to end of file.
1023 Remove unneeded static function decls.
1024
7b086b11
NB
10252003-06-16 Neil Booth <neil@daikokuya.co.uk>
1026
1027 * c-opts.c (c_common_handle_option): s/on/value/.
1028 (OPT_fabi_version_, OPT_ftabstop_, OPT_ftemplate_depth_): Use value
1029 directly rather than converting the argument.
1030 * c.opt: Update docs. Use UInteger where appropriate.
1031 * common.opt: Use UInteger where appropriate.
1032 * opts.c (integral_argument): New.
1033 (handle_argument): Handle integral arguments, and optional
1034 joined arguments.
1035 (common_handle_option): Update.
1036 * opts.h (CL_MISSING_OK, CL_UINTEGER): New.
1037 * opts.sh: Handle JoinedOrMissing and UInteger flags.
1038
89aa997a
NB
10392003-06-16 Neil Booth <neil@daikokuya.co.uk>
1040
1041 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Remove
1042 unnecessary extern declaration.
1043
612aeba5
NN
10442003-06-15 Nathanael Nerode <neroden@gcc.gnu.org>
1045
9286d5a8
AJ
1046 * config/gofast.h, config/interix.h, config/interix3.h,
1047 config/libgloss.h, config/linux-aout.h, config/linux.h,
2a71dcad
NN
1048 config/lynx-ng.h, config/lynx.h: GNU CC -> GCC.
1049 * config/kaos.h: "GNU compiler" -> GCC.
1050 * config/linux-aout.h, config/lynx.h: Clarify comment describing file.
1051
0743f00d
NN
1052 * config/ip2k/crt0.S, config/ip2k/ip2k-protos.h,
1053 config/ip2k/ip2k.c, config/ip2k/ip2k.md, config/ip2k/libgcc.S:
1054 GNU CC -> GCC.
1055
9286d5a8 1056 * config/svr3.h: Remove #if 0 code, misleading comments.
612aeba5
NN
1057 GNU CC -> GCC.
1058
64c1652c
ZW
10592003-06-15 Zack Weinberg <zack@codesourcery.com>
1060
1061 * vmsdbgout.c (vmsdbgout_finish): Rename parameter to
1062 main_input_filename to avoid conflict with input_filename macro.
1063
8f95bd52
NB
10642003-06-15 Neil Booth <neil@daikokuya.co.uk>
1065
1066 * config/mips/mips.h (asm_file_name, g_switch_set,
1067 g_switch_value): Remove.
1068 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
1069 unnecessary extern declarations.
1070
a352c71f
NB
10712003-06-15 Neil Booth <neil@daikokuya.co.uk>
1072
1073 * config/frv/frv.h: Remove declaration of g_switch_value.
1074 * config/m32r/m32r.h: Remove declaration of g_switch_value.
1075 * config/m68hc11/m68hc11.c: Remove declaration of asm_file_name.
1076
5641d622
NB
10772003-06-15 Neil Booth <neil@daikokuya.co.uk>
1078
1079 * opts.sh: Quote '+' in regex.
1080
117dca74
AP
10812003-06-15 Andrew Pinski <pinskia@physics.uc.edu>
1082
1083 * config/rs6000/t-rs6000: Add dependence of cfglayout.h to rs6000.o.
1084 * config/rs6000/rs6000.c: Include cfglayout.h.
1085 * config/alpha/alpha.c: Likewise.
1086 * config/ia64/ia64.c: Likewise.
1087 * config/sparc/sparc.c: Likewise.
1088 * config/sh/sh.c: Likewise.
1089
3ec76475
NB
10902003-06-15 Neil Booth <neil@daikokuya.co.uk>
1091
1092 * opts.sh: Quote '+' in regex.
1093
be43ab4e
NB
10942003-06-15 Neil Booth <neil@daikokuya.co.uk>
1095
1096 * c-opts.c (lang_flags): Update for new spelling of flags.
1097 (write_langs): Similarly.
1098 * c.opt: Specify languages.
1099 * opts.h: Remove languages.
1100 * opts.sh: Recognise front-end defined languages.
fd3acbb3 1101 * doc/sourcebuild.texi: Update.
be43ab4e 1102
4682ae04
AJ
11032003-06-15 Andreas Jaeger <aj@suse.de>
1104
1105 * alloc-pool.c: Convert to ISO C90 prototypes.
1106 * alloc-pool.h: Likewise.
1107 * alias.c: Likewise.
1108 * attribs.c: Likewise.
1109 * bb-reorder.c: Likewise.
1110 * bitmap.h: Likewise.
1111 * bitmap.c: Likewise.
1112 * builtins.c: Likewise.
1113
1114 * tree.h: Convert prototypes of attribs.c to ISO C90.
1115 * basic-block.h: Convert prototypes of bb-reorder.c to ISO C90.
1116 * rtl.h: Convert prototypes of alias.c and builtins.c to ISO C90.
1117 * expr.h: Convert prototypes of builtins.c to ISO C90.
1118
9d5b9dae
RS
11192003-06-15 Roger Sayle <roger@eyesopen.com>
1120
1121 * config/i386/i386.md (expsf2, expdf2, expxf2): New patterns to
1122 implement exp, expf and expl built-ins as inline x87 intrinsics.
1123 (UNSPEC_FSCALE, UNSPEC_FRNDINT, UNSPEC_F2XM1): New unspecs to
1124 represent x87's fscale, frndint and f2xm1 insns respectively.
1125 (*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): New insn patterns
1126 to encode x87's "fscale" instruction followed by a pop.
1127 (*frndintxf2): New insn pattern for "frndint".
1128 (*f2xm1xf2): New insn pattern for "f2xm1".
1129
1130 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT and
1131 UNSPEC_F2XM1 like UNSPEC_{SIN,COS} and handle UNSPEC_FSCALE like
1132 UNSPEC_FPATAN.
1133
84fb2019
RK
11342003-06-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1135
cbdb4ba2
RK
1136 * gencheck.c (main): Avoid generating duplicate macros.
1137
84fb2019
RK
1138 * Makefile.in (stagefeedback-start): Use $(SUBDIRS) instead of
1139 knowing names of language subdirectories.
1140
d185d268
NB
11412003-06-15 Neil Booth <neil@daikokuya.co.uk>
1142
1143 * c-pch.c (asm_file_name): Remove.
1144 * common.opt: Add more switches.
1145 * flags.h (g_switch_set): Boolify.
1146 * opts.c (g_switch_value, g_switch_set, exit_after_options,
1147 version_flag): Move from toplev.c.
1148 (common_handle_option): Handle more switches from toplev.c.
1149 * toplev.c (display_help, display_target_options, decode_d_option,
1150 print_version): Make non-static, remove prototypes.
1151 (aux_base_name, asm_file_name, aux_info_file_name): Constify.
1152 (version_flag, g_switch_value, g_switch_set, exit_after_options):
1153 Remove.
1154 (independent_decode_option): Move some handlers to opts.c.
1155 * toplev.h (aux_info_file_name, aux_base_name, asm_file_name,
1156 exit_after_options, version_flag, display_help, display_target_options,
1157 print_version, decode_d_option): New.
1158
72ac76be
KH
11592003-06-15 Kazu Hirata <kazu@cs.umass.edu>
1160
1161 * config/alpha/alpha.md: Follow spelling conventions.
1162 * config/arm/arm.c: Likewise.
1163 * config/arm/arm.h: Likewise.
1164 * config/arm/arm.md: Likewise.
1165 * config/arm/crtn.asm: Likewise.
1166 * config/m32r/m32r.c: Likewise.
1167 * config/m32r/m32r.md: Likewise.
1168 * config/rs6000/rs6000.c: Likewise.
1169
a2855205
RH
11702003-06-15 Richard Henderson <rth@redhat.com>
1171
1172 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Call
1173 insn_locators_initialize.
1174 * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
1175 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
1176 * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
1177 * config/sh/sh.c (sh_output_mi_thunk): Do it later.
1178
51fbbb30
KH
11792003-06-15 Kazu Hirata <kazu@cs.umass.edu>
1180
1181 * builtins.c (expand_builtin_expect_jump): Remove redundant
1182 tests that are also in any_condjump_p().
1183
e87b9d8b
KG
11842003-06-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1185
1186 * libgcc2.c: Delete sysV68 L_trampoline section.
1187 * config/m68k/mot3300-crt0.S: Delete file.
1188 * config/m68k/mot3300Mcrt0.S: Likewise.
1189
ad9b8af6
NN
11902003-06-15 Nathanael Nerode <neroden@gcc.gnu.org>
1191
1192 * config/aoutos.h: Remove.
1193 * config.gcc: Remove reference to aoutos.h.
1194 * config/m68k/m68k-aout.h: Remove reference to aoutos.h.
1195
0b4be7de
KH
11962003-06-14 Kazu Hirata <kazu@cs.umass.edu>
1197
1198 * doc/install.texi: Follow spelling conventions.
1199 * doc/tm.texi: Likewise.
1200 * config/fp-bit.c: Likewise.
1201 * config/arm/arm.c: Likewise.
1202 * config/frv/frv.c: Likewise.
1203 * config/ns32k/NOTES: Likewise.
1204 * config/ns32k/STATUS: Likewise.
1205
06f31100
RS
12062003-06-14 Roger Sayle <roger@eyesopen.com>
1207 Zack Weinberg <zack@codesourcery.com>
1208
1209 * rtl.h (STORE_FLAG_VALUE): Remove default definition from here.
1210 * defaults.h (STORE_FLAG_VALUE): Move default definition to here.
1211 * doc/tm.texi (STORE_FLAG_VALUE): Document the default value.
1212
1213 * config/alpha/alpha.h (STORE_FLAG_VALUE): Remove definition.
1214 * config/arc/arc.h (STORE_FLAG_VALUE): Likewise.
1215 * config/arm/arm.h (STORE_FLAG_VALUE): Likewise.
1216 * config/cris/cris.h (STORE_FLAG_VALUE): Likewise.
1217 * config/i370/i370.h (STORE_FLAG_VALUE): Likewise.
1218 * config/i386/i386.h (STORE_FLAG_VALUE): Likewise.
1219 * config/i960/i960.h (STORE_FLAG_VALUE): Likewise.
1220 * config/ia64/ia64.h (STORE_FLAG_VALUE): Likewise.
1221 * config/ip2k/ip2k.h (STORE_FLAG_VALUE): Likewise.
1222 * config/m32r/m32r.h (STORE_FLAG_VALUE): Likewise.
1223 * config/mcore/mcore.h (STORE_FLAG_VALUE): Likewise.
1224 * config/mips/mips.h (STORE_FLAG_VALUE): Likewise.
1225 * config/mmix/mmix.h (STORE_FLAG_VALUE): Likewise.
1226 * config/ns32k/ns32k.h (STORE_FLAG_VALUE): Likewise.
1227 * config/pa/pa.h (STORE_FLAG_VALUE): Likewise.
1228 * config/pdp11/pdp11.h (STORE_FLAG_VALUE): Likewise.
1229 * config/sh/sh.h (STORE_FLAG_VALUE): Likewise.
1230 * config/sparc/sparc.h (STORE_FLAG_VALUE): Likewise.
1231 * config/v850/v850.h (STORE_FLAG_VALUE): Likewise.
1232 * config/xtensa/xtensa.h (STORE_FLAG_VALUE): Likewise.
1233
ee6b0296
NS
12342003-06-14 Nathan Sidwell <nathan@codesourcery.com>
1235
b7a70588
NS
1236 * opts.sh (POSIXLY_CORRECT): Unset it.
1237
ee6b0296
NS
1238 * tree.h (init_function_start): Remove filename and line paramters.
1239 * function.c (init_function_start): Remove filename and line
1240 parameters. Use DECL_SOURCE_LOCATION.
1241 * c-decl.c (store_parm_decls): Adjust init_function_start call.
1242 (c_expand_body_1): Likewise.
1243 * coverage.c (create_coverage): Likewise.
1244 * objc/objc-act.c (build_tmp_function_decl): Set line number to
1245 zero.
1246 (hack_method_prototype): Adjust init_function_start call.
1247
2fbe6bc2
RE
12482003-06-14 Richard Earnshaw <rearnsha@arm.com>
1249
1250 PR target/3724
1251 * arm/linux-elf.h (PROFILE_HOOK): Define.
1252
75d2580c
RE
12532003-06-14 Richard Earnshaw <rearnsha@arm.com>
1254
1255 PR target/11183
1256 * arm.h (CANNOT_CHANGE_MODE_CLASS): Define.
1257
3708da2a
RS
12582003-06-14 Roger Sayle <roger@eyesopen.com>
1259
1260 * opts.sh: Work around a mysterious feature in cygwin's gawk
1261 where specifying the input files explicitly has a different
1262 behavior to piping them via stdin.
1263
9756074d
NB
12642003-06-14 Neil Booth <neil@daikokuya.co.uk>
1265
1266 * doc/sourcebuild.texi: Update.
1267
a4a37b30
RE
12682003-06-14 Richard Earnshaw <rearnsha@arm.com>
1269
1270 PR target/11183
1271 * arm.c (output_move_double): Pass SImode to adjust_address.
1272
d7b42618
NB
12732003-06-14 Neil Booth <neil@daikokuya.co.uk>
1274
1275 * Makefile.in: Update to use common.opt and lang_opt_files.
1276 (c-options.c, c-options.h): Remove.
1277 (options.c, options.h): Add.
1278 * c-opts.c: Include options.h not c-options.h.
1279 * common.opt: New file.
1280 * configure, configure.in: Add lang_opt_files.
1281 * opts.c: Include flags.h and diagnostic.h.
1282 (common_handle_option): New.
1283 (handle_option): Update to recognize common options and all
1284 language-dependent options.
1285 * opts.h (CL_F77, CL_JAVA, CL_ADA, CL_COMMON, CL_TREELANG): New.
1286 (struct cl_option): Make flags of type int.
1287 * opts.h: Flag option with front ends to which it applies.
1288 Handle duplicate options.
1289 * toplev.c (filename): Remove.
1290 (independent_decode_option): Don't handle filenames and -quiet.
1291 (process_options, do_compile): Update.
1292
34e8290f
NC
12932003-06-14 Nick Clifton <nickc@redhat.com>
1294
1295 * doc/install.texi (Specific): Add description of different
1296 ARM supported file format targets.
1297
281ac604
JH
1298Sat Jun 14 11:12:04 CEST 2003 Jan Hubicka <jh@suse.cz>
1299
1300 * reorg.c (emit_delay_sequence, dbr_schedule): Clear insn locators
1301 inside delay slots.
1302
333991cf
MK
13032003-06-13 Matt Kraai <kraai@alumni.cmu.edu>
1304
1305 * unwind-c.c: Define NO_SIZE_OF_ENCODED_VALUE.
1306 * unwind-pe.h (size_of_encoded_value): Do not define if
1307 NO_SIZE_OF_ENCODED_VALUE is defined.
1308
9ad58e09
RS
13092003-06-13 Roger Sayle <roger@eyesopen.com>
1310
1311 * expr.c (expand_expr <COMPLEX_CST>): Handle the case of
1312 expanding a complex constant into a CONCAT target.
1313
ed70c245
ZW
13142003-06-13 Zack Weinberg <zack@codesourcery.com>
1315
1316 * config/svr3.h (ASM_FILE_START): Don't use ASM_FILE_START_1.
1317 (ASM_FILE_START_1): Delete.
1318 * config/i386/att.h, config/i386/sco5.h,
1319 config/i386/sysv3.h
1320 (ASM_FILE_START_1): Delete.
1321
1f2cd130
KC
13222003-06-13 Kelley Cook <kelleycook@wideopenwest.com>
1323
1324 * config/i386/bsd.h: Remove ASM_FILE_START.
1325 * config/i386/djgpp.h: Likewise.
ed70c245 1326 * config/i386/gas.h (ASM_FILE_START): Output .file before .intel_syntax.
1f2cd130
KC
1327
1328 * config/i386/djgpp.h: Move included unix.h, bsd.h, gas.h to ...
1329 * config.gcc (i[34567]86-pc-msdosdjgpp): ... here.
1330
880efc46
VM
13312003-06-13 Vladimir Makarov <vmakarov@redhat.com>
1332
1333 PR bootstrap/10835
1334 * haifa-sched.c (max_lookahead_tries,
ed70c245
ZW
1335 cached_first_cycle_multipass_dfa_lookahead,
1336 cached_issue_rate): New variables.
880efc46
VM
1337 (max_issue): Check the number of tries.
1338 (choose_ready): Calculate max_lookahead_tries.
1339 (sched_init): Check cached_issue_rate.
1340
792bb204
RH
13412003-06-13 Richard Henderson <rth@redhat.com>
1342
1343 * cfgbuild.c (make_edges): Set ABNORMAL with SIBCALL.
1344 * cfgrtl.c (purge_dead_edges): Expect it too.
1345
54c2fc72 13462003-06-13 Jim Wilson <wilson@tuliptree.org>
ed70c245 1347 Eric Botcazou <ebotcazou@libertysurf.fr>
54c2fc72
JW
1348
1349 PR bootstrap/10983
1350 * combine.c (make_extraction): Use gen_lowpart_for_combine
1351 when extracting from a REG and not in the destination of a SET.
1352
7e7de68b
DE
13532003-06-13 Doug Evans <dje@sebabeach.org>
1354
1355 * tsystem.h (abort): Declare in inhibit_libc case to remove build
1356 warnings for addvsi3, et.al.
1357
9f629a21
AH
13582003-06-13 Aldy Hernandez <aldyh@redhat.com>
1359
ed70c245 1360 * c-common.c (handle_mode_attribute): Use VECTOR_MODE_P macro.
9f629a21 1361
ed70c245 1362 * simplify-rtx.c (simplify_subreg): Same.
9f629a21 1363
ed70c245 1364 * emit-rtl.c (gen_lowpart_common): Same.
9f629a21 1365
e15bb5c6
KH
13662003-06-13 Kazu Hirata <kazu@cs.umass.edu>
1367
1368 * builtins.c: Fix comment typos.
1369 * fold-const.c: Likewise.
1370
d88e80e6
DE
13712003-06-13 Doug Evans <dje@sebabeach.org>
1372 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1373
1374 * config/m32r/m32r-protos.h (m32r_pass_by_reference): Declare.
1375 * config/m32r/m32r.c (m32r_pass_by_reference): New fn.
1376 (m32r_va_arg): Use it.
1377 * config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Ditto.
1378 (RETURN_IN_MEMORY): Ditto.
1379
dc125bdf
NN
13802003-06-13 Nathanael Nerode <neroden@gcc.gnu.org>
1381
4581c678
NN
1382 * c-typeck.c: Remove #if 0 clauses.
1383
dc125bdf
NN
1384 PR other/1494
1385 * config/alpha/openbsd.h, config/i386/openbsd.h,
1386 config/m68k/openbsd.h, config/sparc/openbsd.h: Remove
1387 residual reference to EGCS.
1388
6ab5da80
RE
13892003-06-13 Richard Earnshaw <rearnsha@arm.com>
1390
1391 * arm.c (output_call_mem): If the address references the link-register
1392 use an instruction sequence that avoids early-clobbering IP.
1393 (eliminate_lr2ip): Delete.
1394
3af0187c
KG
13952003-06-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1396
1397 * c-format.c (format_types_orig): Disallow '*' width/precision in
1398 asm_fprintf format checks.
1399
c873e11f
UW
14002003-06-13 Ulrich Weigand <uweigand@de.ibm.com>
1401
ed70c245 1402 * config/s390/s390.c (s390_va_arg): Fix alignment when retrieving
c873e11f
UW
1403 non-integral types from integer register save area slots.
1404
16ae108b
NN
14052003-06-13 Nathanael Nerode <neroden@gcc.gnu.org>
1406
1407 * config/i386/svr3dbx.h: GNU CC -> GCC; Intel 385 -> Intel 386.
1408
ebd6b6a1
FW
14092003-06-13 Florian Weimer <fw@deneb.enyo.de>
1410
1411 * doc/invoke.texi (SPARC Options): Document ``-mimpure-text''.
1412
43c73004
KK
14132003-06-13 Kaz Kojima <kkojima@gcc.gnu.org>
1414
1415 * config/sh/linux.h (TARGET_ASM_FILE_END): Set TARGET_ASM_FILE_END
1416 to file_end_indicate_exec_stack.
1417
ee4336ea
RH
14182003-06-12 Richard Henderson <rth@redhat.com>
1419
1420 PR target/11089
1421 * config/i386/i386.md (sse_movaps): Use an expander to force
1422 one operand to be a register.
1423 (sse_movups): Likewise.
1424
2ac29877
DE
14252003-06-13 Doug Evans <dje@sebabeach.org>
1426
1427 Remove some build warnings.
dc9ed76a 1428 * config/m32r/initfini.c (__CTOR_LIST__,__DTOR_LIST__): Attribute used.
2ac29877
DE
1429 (__do_global_ctors,__do_global_dtors): Ditto.
1430
c63f3a34
RH
14312003-06-12 Richard Henderson <rth@redhat.com>
1432
1433 PR middle-end/10557
1434 * rtlanal.c (subreg_offset_representable_p): Relax subreg check.
1435
0d370a05
KH
14362003-06-13 Kazu Hirata <kazu@cs.umass.edu>
1437
1438 * config/m32r/m32r.md: Fix a comment typo.
1439
48028e21 14402003-06-13 Eric Botcazou <ebotcazou@libertysurf.fr>
ed70c245 1441 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
48028e21
EB
1442
1443 PR target/10142
1444 * config/sparc/sparc.c (function_arg_record_value_parms): Add
1445 new 'stack' field.
1446 (function_arg_record_value_1): Set 'stack' to 1 if we run out of
1447 integer slots for an integer field.
1448 (function_arg_record_value_3): Shift vector index.
1449 (function_arg_record_value_2): Likewise.
1450 (function_arg_record_value): Initialize 'stack' to 0.
1451 Set 'stack' to 1 if we run out of integer slots for an integer field.
1452 Generate (parallel [(expr_list (nil) ...) ...]) if 'stack' is set to 1.
1453
5adf448c
EB
14542003-06-13 Eric Botcazou <ebotcazou@libertysurf.fr>
1455
1456 PR optimization/10955
1457 * unroll.c (unroll_loop): Fix off-by-one bug.
1458
55c8af0b
AH
14592003-06-12 Aldy Hernandez <aldyh@redhat.com>
1460
ed70c245 1461 * config/rs6000/rs6000.c (function_arg): Remove typo.
55c8af0b 1462
cb0e3e3f
RH
14632003-06-12 Richard Henderson <rth@redhat.com>
1464
1465 * config/i386/i386.c (legitimate_constant_p): Handle UNSPEC_NTPOFF
1466 and UNSPEC_DTPOFF.
1467
8433f113
RH
14682003-06-12 Richard Henderson <rth@redhat.com>
1469
ed70c245
ZW
1470 PR middle-end/10475
1471 * expmed.c (emit_store_flag): Use simplify_gen_subreg directly
1472 for extracting sub-words.
8433f113 1473
7b687728
RH
14742003-06-12 Richard Henderson <rth@redhat.com>
1475
ed70c245
ZW
1476 PR target/7594
1477 * config/m68k/m68k.md (zero_extendhisi2): Use gen_lowpart_SUBREG.
1478 (zero_extendqihi2, zero_extendqisi2): Likewise.
7b687728 1479
a6c9bed4
AH
14802003-06-12 Aldy Hernandez <aldyh@redhat.com>
1481
1482 * config/rs6000/rs6000.c (function_arg): Always split vectors for
1483 e500 if it's a stdarg function.
1484 (function_arg_advance): Advance 2 registers for vectors in a
1485 stdarg function.
1486 (init_cumulative_args): Initialize stdarg.
1487 (rs6000_spe_function_arg): New.
1488
1489 * config/rs6000/rs6000.h (rs6000_args): Add stdarg.
1490
4dcc01f3
AH
14912003-06-12 Aldy Hernandez <aldyh@redhat.com>
1492
ed70c245 1493 * config/rs6000/rs6000.h (MODES_TIEABLE_P): Add SPE vectors.
4dcc01f3 1494
96f26e41
RS
14952003-06-12 Roger Sayle <roger@eyesopen.com>
1496
1497 PR middle-end/168
1498 * fold-const.c (tree_expr_nonnegative_p): Handle addition
1499 and multiplication of zero extensions, floating point division,
1500 and integer<->fp, fp<->fp and zero extension conversions.
1501 The built-in ceil and floor functions preserve signedness.
1502
6356f892
KH
15032003-06-12 Kazu Hirata <kazu@cs.umass.edu>
1504
1505 * ChangeLog: Follow spelling conventions.
1506 * ChangeLog.2: Likewise.
1507 * c-decl.c: Likewise.
1508 * cfgloop.h: Likewise.
1509 * cgraph.c: Likewise.
1510 * coverage.c: Likewise.
1511 * cppcharset.c: Likewise.
1512 * cpphash.h: Likewise.
1513 * cpplex.c: Likewise.
1514 * cpplib.c: Likewise.
1515 * dbxout.c: Likewise.
1516 * df.c: Likewise.
1517 * dwarf2out.c: Likewise.
1518 * dwarfout.c: Likewise.
1519 * emit-rtl.c: Likewise.
1520 * explow.c: Likewise.
1521 * gcov-io.c: Likewise.
1522 * gcov-io.h: Likewise.
1523 * gcov.c: Likewise.
1524 * gengtype.c: Likewise.
1525 * ggc.h: Likewise.
1526 * opts.c: Likewise.
1527 * real.c: Likewise.
1528 * reload.c: Likewise.
1529 * stmt.c: Likewise.
1530
25f47a4c
JJ
15312003-06-12 Janis Johnson <janis187@us.ibm.com>
1532
1533 * doc/install.texi (m32r-*-elf): Change company to Renesas.
1534
f0fda11c
JH
1535Thu Jun 12 20:00:55 CEST 2003 Jan Hubicka <jh@suse.cz>
1536
1537 * basic-block.h (flow_delete_block_noexpunge): Kill.
1538 * cfgrtl.c (flow_delete_block_noexpunge): Merge to
1539 rtl_delete_block.
1540
d6fc0492
RH
15412003-06-10 Richard Henderson <rth@redhat.com>
1542
ed70c245
ZW
1543 PR inline-asm/4823
1544 * reg-stack.c (any_malformed_asm): New.
1545 (check_asm_stack_operands): Set it.
1546 (convert_regs_1): Check it before aborting.
d6fc0492 1547
54da776f
AH
15482003-06-12 Aldy Hernandez <aldyh@redhat.com>
1549
ed70c245 1550 * config/rs6000/spe.md: Change all clobbers of the accumulator to sets.
54da776f 1551
c47d8f82
JJ
15522003-06-12 Jakub Jelinek <jakub@redhat.com>
1553
1554 * c-opts.c (complain_wrong_lang): Add on argument.
1555 Print no- switch if on is false.
1556 (c_common_decode_option): Adjust caller.
1557
109480b1
UW
15582003-06-12 Ulrich Weigand <uweigand@de.ibm.com>
1559
1560 * config/s390/s390.c (s390_emit_prologue): Use LA instead of AR
1561 to initialize GOT register.
1562
f7df23be
RS
15632003-06-12 Roger Sayle <roger@eyesopen.com>
1564
1565 * fold-const.c (tree_expr_nonnegative_p): Add support for
1566 floating point constants, addition and multiplication.
1567
38b3ef8b
R
15682003-06-12 J"orn Rennecke <joern.rennecke@superh.com>
1569
1570 * sh.md (adddi3_compact, subdi3_compact): Add earlyclobber
1571 constraint modifier for operand 0.
1572
78b8811a
HPN
15732003-06-12 Hans-Peter Nilsson <hp@axis.com>
1574
1575 Don't warn on dollars in builtin macro definitions,
1576 e.g. __REGISTER_PREFIX__.
1577 * cpphash.h (struct cpp_reader): Move member warn_dollars...
1578 * cpplib.h (struct cpp_options): ...to here. Change type to
1579 unsigned char.
1580 * cppinit.c (cpp_create_reader): Set it to 1 here.
1581 (post_options): Don't set it here.
1582 * c-opts.c (c_common_init_options): Reset it to 0 here.
1583 (finish_options): Set it here.
1584 * cpplex.c (forms_identifier_p): Tweak for new location of
1585 warn_dollars.
1586
2853bc5a
HPN
1587 * configure.in (assembler dwarf2 debug_line support): Define insn
1588 for cris-*-* and mmix-*-*.
1589 * configure: Regenerate.
1590
6b3a0b34
US
15912003-06-11 Uwe Stieber <uwe@kaos-group.de>
1592
1593 * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
1594 powerpcle-*-kaos*, strongarm-*-kaos*): New targets.
1595 (sh-*-elf*): Add sh*-*-kaos* support.
1596 * config/kaos.h, config/arm/kaos-strongarm.h, config/arm/kaos-arm.h,
1597 config/i386/kaos-i386.h, config/rs6000/kaos-ppc.h,
1598 config/sh/kaos-sh.h: New files.
1599
2fa4a849
KH
16002003-06-12 Kazu Hirata <kazu@cs.umass.edu>
1601
1602 * gcse.c (fis_get_condition): Make it a global function.
1603 * reload1.c (reload_cse_move2add): Detect implicit sets.
1604 * rtl.h: Add a prototype for fis_get_condition.
1605
d50ad6af
RH
16062003-06-11 Richard Henderson <rth@redhat.com>
1607
1608 * stmt.c (expand_asm_operands): Don't warn for memories with
1609 queued addresses.
1610
04953ac9
KK
16112003-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
1612
1613 * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Rewrite without
1614 brackets.
1615
7fb26bb0
NB
16162003-06-11 Neil Booth <neil@daikokuya.co.uk>
1617
1618 * hooks.c (hook_int_size_t_constcharptr_int_0): New.
1619 * hooks.h (hook_int_size_t_constcharptr_int_0): New.
1620 * langhooks-def.h (lhd_decode_option, LANG_HOOKS_DECODE_OPTION): Die.
1621 (LANG_HOOKS_HANDLE_OPTION, LANG_HOOKS_INITIALIZER): Update.
1622 * langhooks.c (lhd_decode_option): Remove.
1623 * langhooks.h (struct lang_hooks): Remove decode_option.
1624 * opts.c (handle_option): No longer use decode_option.
1625
7e53cfb2
ZD
16262003-06-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1627
1628 * cfgloopanal.c (variable_initial_value): Update the set of altered
1629 registers correctly.
1630
5f9b0711
RS
16312003-06-11 Roger Sayle <roger@eyesopen.com>
1632 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1633
1634 * config/d30v/d30v.h: Delete reference to ASM_FINAL_SPEC.
1635 * config/i386/netbsd-elf.h: Likewise.
1636 * config/m32r/m32r.h: Likewise.
1637 * config/mn10300/mn10300.h: Likewise.
1638 * config/stormy16/stormy16.h: Likewise.
1639 * config/v850/v850.h: Likewise.
1640 * config/vax/netbsd-elf.h: Likewise.
1641 * config/xtensa/elf.h: Likewise.
1642 * config/xtensa/linux.h: Likewise.
1643
655b7166
RO
16442003-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1645
1646 * config/mips/iris5gas.h (MDEBUG_ASM_SPEC): Override to match
1647 DWARF 2 default.
1648
1649 * config/mips/dbxmdebug.h: New file.
1650 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it with
1651 gas and --with-stabs.
1652
658cf52f
UW
16532003-06-11 Ulrich Weigand <uweigand@de.ibm.com>
1654
1655 * expr.c (can_move_by_pieces): align argument may be unused.
1656
06765df1
R
16572003-06-11 J"orn Rennecke <joern.rennecke@superh.com>
1658
1659 * expr.c (convert_move): Handle moves between two CONCATs.
1660
cf874806
KH
16612003-06-11 Kazu Hirata <kazu@cs.umass.edu>
1662
1663 * config/h8300/h8300.h (RETURN_IN_MEMORY): Accept DImode if
1664 !TARGET_H8300.
1665
ca9d6cca
KH
16662003-06-11 Kazu Hirata <kazu@cs.umass.edu>
1667
1668 * config/h8300/h8300.c (final_prescan_insn): Don't dump rtl.
1669 * config/h8300/h8300.h (MASK_RTL_DUMP): Remove.
1670 (TARGET_RTL_DUMP): Likewise.
1671 (TARGET_SWITHCES): Remove -mrtl-dump.
1672
0310c414
RH
16732003-06-10 Richard Henderson <rth@redhat.com>
1674
1675 * optabs.c (gen_cond_trap): Fix prepare_operand typo.
1676
15d11f13
RH
16772003-06-10 Richard Henderson <rth@redhat.com>
1678
1679 * config/ia64/ia64.md (call_gp): Fix memory mode.
1680
f58d8c95
JW
16812003-06-10 James E Wilson <wilson@tuliptree.org>
1682
1683 PR target/8812
1684 * reload1.c (choose_reload_regs): For equiv reg, add loop over all
1685 hard regs for reload_reg_used_at_all and reg_class_contents checks.
1686
5abfd1af
KH
16872003-06-10 Kazu Hirata <kazu@cs.umass.edu>
1688
1689 * config/h8300/h8300.c (print_operand): Remove support for
1690 operand character 'b'.
1691 Add the AND case to operand character 'c'.
1692 * config/h8300/h8300.md (two anonymous patterns): Replace
1693 operand character 'b' with 'c'.
1694
ca895f7d
KH
16952003-06-10 Kazu Hirata <kazu@cs.umass.edu>
1696
1697 * config/h8300/h8300.c (print_operand): Remove support for
1698 operand character 'u'.
1699
3b1b059c
NN
17002003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
1701
1702 * configure.in: Fix typo.
1703 * configure: Regenerate.
1704
e85f3dc8
LR
17052003-06-10 Loren James Rittle <ljrittle@acm.org>
1706
1707 * config/alpha/alpha.c (unicosmk_file_end): Add conditional
1708 compilation guard.
1709
90534361
R
17102003-06-10 J"orn Rennecke <joern.rennecke@superh.com>
1711
1712 * sh-protos.h (function_symbol): Declare.
1713 * sh.c (expand_block_move, expand_ashiftrt): Use it.
1714 (sh_expand_prologue, sh_expand_epilogue): Likewise.
1715 (sh_initialize_trampoline): Likewise.
1716 (function_symbol): New function.
1717 * sh.md (udivsi3, divsi3, mulsi3, ic_invalidate_line): Use it.
1718 (initialize_trampoline, call, call_pop, call_value, sibcall): Likewise.
1719 (call_value_pop, shcompact_return_tramp): Likewise.
1720
1721 * sh.h (OVERRIDE_OPTIONS): Don't suppress --profile-arc-flag.
1722
1723 * sh.md (GOTaddr2picreg): Use gen_lowpart to get lowpart of
1724 target register.
1725
e2ce66a9
DD
17262003-06-10 DJ Delorie <dj@redhat.com>
1727
1728 * doc/md.texi (Machine Constraints): Document stormy's Z
1729 constraint.
1730
21c157b4
GK
17312003-06-10 Geoffrey Keating <geoffk@apple.com>
1732
1733 * except.c (call_site_base): Mark with GTY.
1734
e32bac5b
RE
17352003-06-10 Richard Earnshaw <rearnsha@arm.com>
1736
1737 * arm-proto.h: Convert to ISO C90 prototypes.
1738 * arm.c: Likewise.
1739
4db8f48a
R
17402003-06-10 J"orn Rennecke <joern.rennecke@superh.com>
1741
1742 * sh.c (sh_output_mi_thunk): Call insn_locators_initialize.
1743
f80f73e1
SE
17442003-06-10 Steve Ellcey <sje@cup.hp.com>
1745
1746 * calls.c (expand_call): Convert structure_value_addr to Pmode if
1747 necessary.
1748
e076f71a
AH
17492003-06-10 Andrew Haley <aph@redhat.com>
1750
1751 * langhooks-def.h (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
1752 (LANG_HOOKS_DECLS): Add LANG_HOOKS_DECL_OK_FOR_SIBCALL.
1753 (lhd_decl_ok_for_sibcall): New.
1754 * langhooks.c (lhd_decl_ok_for_sibcall): New.
1755 * langhooks.h (lang_hooks_for_decls.ok_for_sibcall): New field.
1756 * calls.c (expand_call): Check lang_hook before generating a
1757 sibcall.
1758
e7e09ad8
DD
17592003-06-10 DJ Delorie <dj@redhat.com>
1760
1761 * config/stormy16/stormy16.c (xstormy16_extra_constraint_p): Add Z,
1762 which matches (const_int 0) for addhi3.
1763 * config/stormy16/stormy16.md: Document known constraints.
1764 (addhi3): Handle adding zero.
1765
a398a822
KI
17662003-06-10 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1767
1768 * config/m32r/m32r.h (HARD_REGNO_RENAME_OK): New.
1769 * config/m32r/m32r.c (m32r_hard_regno_rename_ok): New.
1770 * config/m32r/m32r-protos.h: Prototype it.
1771
bb8f5288
JJ
17722003-06-10 Janis Johnson <janis187@us.ibm.com>
1773
1774 * config/rs6000/eabi.h (TARGET_OS_CPP_BUILTINS): Define builtins
1775 common to rs6000 sysv targets.
1776 * config/rs6000/eabisim.h (TARGET_OS_CPP_BUILTINS): Ditto.
1777 * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Ditto.
1778
52f97a3b
NC
17792003-06-10 Nick Clifton <nickc@redhat.com>
1780
1781 * config.gcc: Add arm-wince-pe target.
1782 * config/arm/pe.h (MULTILIB_DEFAULTS): Define.
ed70c245 1783 Add comment about default apcs26 support.
52f97a3b
NC
1784 * config/arm/t-pe (MULTILIB_OPTIONS): Add an -mapcs-32
1785 multilib.
ed70c245 1786 (MULTILIB_DIRNAMES): Add 'apcs32'.
52f97a3b
NC
1787 * config/arm/t-wince-pe: New makefile fragment.
1788 * config/arm/wince-pe.h: New file. Overrides a few definitions
1789 in arm/pe.h
1790
9f0a7f9d
RS
17912003-06-10 Roger Sayle <roger@eyesopen.com>
1792
1793 * builtins.c (fold_builtin): Optimize cos(-x) as cos(x).
1794 * fold-const.c (fold <NEGATE_EXPR>): Convert -f(x) into f(-x)
1795 when x is easily negated and f is sin, tan or atan.
1796 (fold <MULT_EXPR>): Optimize tan(x)*cos(x) and cos(x)*tan(x) as
1797 sin(x) with flag_unsafe_math_optimizations.
1798 (fold <RDIV_EXPR>): With flag_unsafe_math_optimizations fold
1799 sin(x)/cos(x) as tan(x) and cos(x)/sin(x) as 1.0/tan(x).
1800
8936c82f
RS
18012003-06-10 Roger Sayle <roger@eyesopen.com>
1802
1803 * fold-const.c (fold <EQ_EXPR>): Don't fold x == x only if x
1804 is a floating point type *and* we currently honor NaNs.
1805 (fold <NE_EXPR>): Likewise.
1806
d58b7c2d
MM
18072003-06-10 Mark Mitchell <mark@codesourcery.com>
1808
1809 PR c++/11131
1810 * tree-inline.c (inlinable_function_p): Call the language-specific
1811 hook early.
1812
c566f9bd
DT
18132003-06-09 David Taylor <dtaylor@emc.com>
1814
1815 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_va_arg): Skip over
1816 the f_res field.
1817
4665e56c
NN
18182003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
1819
619833ad
NN
1820 * configure.in: Remove references to host_truncate_target.
1821 * configure: Regenerate.
1822 * config.gcc: Remove references to truncate_target,
1823 host_truncate_target.
1824
4665e56c
NN
1825 * Makefile.in, configure.in, config/m68hc11/t-m68hc11-gas:
1826 Replace "build_canonical" with build, "host_canonical" with host.
1827 * configure.in: Use GCC_TOPLEV_SUBDIRS.
1828 * aclocal.m4: Include ../config/acx.m4.
1829 * configure: Regenerate.
1830
18312003-06-09 David Taylor <dtaylor@emc.com>
64c2816f
DT
1832
1833 * config/rs6000/rs6000.c (rs6000_build_va_list): Give the two
1834 bytes of padding in the __va_list_tag structure a name (reserved).
1835
1bfedcc8
JM
18362003-06-09 Jason Merrill <jason@redhat.com>
1837
1838 * fold-const.c (operand_equal_p): Handle ADDR_EXPR and TRUTH_NOT_EXPR.
1839
4665e56c 18402003-06-09 Osku Salerma <osku@iki.fi>
75b2a93c
OS
1841
1842 * c-format.c (check_format_string, get_constant): New.
1843 (handle_format_attribute, handle_format_arg_attribute,
1844 decode_format_attr): Change to use above functions.
1845
71ed1fdb
RH
18462003-06-09 Richard Henderson <rth@redhat.com>
1847
ed70c245 1848 * stmt.c (expand_asm_operands): Re-word warning.
71ed1fdb 1849
528b8487
AP
18502003-06-08 Andrew Pinski <pinskia@physics.uc.edu>
1851
1852 PR target/8787
1853 * config/i386/djgpp.h (ASM_FILE_START): emit `.intel_syntax'
1854 if -masm=intel.
1855
00051260
JW
18562003-06-09 James E Wilson <wilson@tuliptree.org>
1857
1858 * config/frv/cmovc.c, config/frv/cmovh.c, config/frv/cmovw.c,
1859 config/frv/frvbegin.c, config/frv/frvend.c, config/frv/lib1funcs.asm:
1860 Add libgcc exception.
1861
8e8238f1
DE
18622003-06-09 David Edelsohn <edelsohn@gnu.org>
1863 Ayal Zaks <gcchaifa@us.ibm.com>
1864
1865 * config/rs6000/rs6000.md (define_attr "type"): Add insert_word.
1866 (insvsi*): Add insert_word attribute.
1867 * config/rs6000/rs6000.c (rs6000_variable_issue): Add TYPE_INSERT_WORD.
1868 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
1869 power4.md,rios1.md,rios2.md,rs64.md}: Add insert_word.
1870
2859471c
KH
18712003-06-09 Kazu Hirata <kazu@cs.umass.edu>
1872
1873 * fold-const.c (fold): Fix a comment typo.
1874
36f04556
NS
18752003-06-09 Nathan Sidwell <nathan@codesourcery.com>
1876
1877 * tree-inline.c (expand_call_inline): DECL_SOURCE_LINE_FIRST is
1878 removed.
1879
86143cb4
R
18802003-06-09 J"orn Rennecke <joern.rennecke@superh.com>
1881
1882 * sh.c (gen_block_redirect): Use locators.
1883
659bdc68
RE
18842003-06-09 Richard Earnshaw <rearnsha@arm.com>
1885
1886 * arm.h (THUMB_PRINT_OPERAND_ADDRESS): Use %wd in format and remove
1887 cast to int.
1888
4dd03b27
RS
18892003-06-09 Richard Sandiford <rsandifo@redhat.com>
1890
1891 * configure.in: Assume gas 2.14 and above can handle MIPS relocation
1892 operators.
1893 * configure: Regenerated.
1894
f833ffd4
RS
18952003-06-09 Richard Sandiford <rsandifo@redhat.com>
1896 Alexandre Oliva <aoliva@redhat.com>
1897
1898 * config/mips/mips.h (GLOBAL_POINTER_REGNUM): New macro.
1899 (PIC_OFFSET_TABLE_REGNUM): Look at pic_offset_table_rtx after reload.
1900 (STARTING_FRAME_OFFSET): Don't allocate a cprestore slot for
1901 n32/64 PIC.
1902 (MUST_SAVE_REGISTERS): Delete.
1903 * config/mips/mips.c (mips_frame_info): Remove extra_size field.
1904 (machine_function): Add global_pointer field.
1905 (mips_classify_constant): Check for (const $gp) using pointer equality
1906 with pic_offset_table_rtx.
1907 (mips_classify_constant): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
1908 (mips_restore_gp): Use current_function_outgoing_args_size.
1909 (print_operand): Use PIC_OFFSET_TABLE_REGNUM instead of
1910 GP_REG_FIRST + 28. Handle relocation strings that have
1911 more than one '('.
1912 (mips_reloc_string): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
1913 (mips_global_pointer): New function.
1914 (mips_save_reg_p): New function, mostly split out from...
1915 (compute_frame_size): ...here. Remove handling of extra_size.
1916 Reclaim args_size if no variables depend on it. Don't treat gp
1917 as a special case: handle it in the main GPR loop.
1918 (mips_initial_elimination_offset): Fix comment.
1919 (save_restore_insns): Save every register in the GPR mask,
1920 removing distinction between mask and real_mask.
1921 (mips_output_function_prologue): Update .frame psuedo-op after
1922 the removal of extra_size. Move the SVR4 PIC stack allocation
1923 and cprestore instructions to mips_expand_prologue.
1924 (mips_gp_insn): New function.
1925 (mips_expand_prologue): Set REGNO (pic_offset_table_rtx) to
1926 the chosen global pointer. Handle SVR4 PIC stack allocation
1927 in the same way as other ABIs. Adjust varargs code accordingly.
1928 Emit a cprestore insn after allocating the stack. Use mips_gp_insn
1929 to emit the loadgp sequence. Follow it with a loadgp_blockage
1930 if not using explicit relocs.
1931 (mips_output_function_epilogue): Reinstate the default gp register.
1932 (mips16_gp_pseudo_reg): Use pic_offset_table_rtx.
1933 (mips16_optimize_gp): Likewise.
1934 * config/mips/mips.md (UNSPEC_LOADGP): Remove.
1935 (UNSPEC_SETJMP, UNSPEC_LONGJMP): Remove.
1936 (UNSPEC_CPRESTORE, RELOC_LOADGP_HI, RELOC_LOADGP_LO): New.
1937 (loadgp): Remove.
1938 (loadgp_blockage, cprestore): New instructions.
1939 (builtin_setjmp_setup): Implement using emit_move_insn. Use
1940 pic_offset_table_rtx.
1941 (builtin_setjmp_setup_32, builtin_setjmp_setup_64): Remove.
1942 (builtin_longjmp): Use gen_raw_REG to force use of $28.
1943
32ad6a47
RS
19442003-06-09 Richard Sandiford <rsandifo@redhat.com>
1945
1946 * config/mips/mips-protos.h (mips_output_division): Declare.
1947 * config/mips/mips.h (MASK_CHECK_RANGE_DIV): Remove.
1948 (MASK_BRANCHLIKELY): Use MASK_CHECK_RANGE_DIV's old number.
1949 (TARGET_NO_CHECK_ZERO_DIV, TARGET_CHECK_RANGE_DIV): Remove.
1950 (TARGET_CHECK_ZERO_DIV): New macro.
1951 (TARGET_SWITCHES): Remove -mcheck-range-div & -mno-check-range-div.
1952 * config/mips/mips.c (mips_output_division): New function.
1953 * config/mips/mips.md (length): Take TARGET_CHECK_ZERO_DIV into
1954 account when calculating the default length of a division.
1955 (divmodsi4, divmoddi4, udivmodsi4, udivmoddi4): Turn into define_insns.
1956 Enable regardless of optimization level. Use mips_output_division.
1957 (divmodsi4_internal, divmoddi4_internal, udivmodsi4_internal,
1958 udivmoddi4_internal, div_trap, div_trap_normal, div_trap_mips16,
1959 divsi3, divsi3_internal, divdi3, divdi3_internal, modsi3,
1960 modsi3_internal, moddi3, moddi3_internal, udivsi3, udivsi3_internal,
1961 udivdi3, udivdi3_internal, umodsi3, umodsi3_internal, umoddi3,
1962 umoddi3_internal): Remove.
1963
d334c3c1
RS
19642003-06-09 Richard Sandiford <rsandifo@redhat.com>
1965
1966 * config/mips/mips.c (mips_reg_names): Change hilo entry to "".
1967 (mips_sw_reg_names): Likewise.
1968 (mips_regno_to_class): Change hilo entry to NO_REGS.
1969 (hilo_operand): Use MD_REG_P.
1970 (extend_operator): New predicate.
1971 (override_options): Remove 'a' constraint.
1972 (mips_secondary_reload_class): Remove hilo handling. Also remove
1973 handling of (plus sp reg) reloads for mips16.
1974 (mips_register_move_cost): Remove hilo handling.
1975 * config/mips/mips.h (FIXED_REGISTERS): Make hilo entry fixed.
1976 (MD_REG_LAST): Remove hilo from range.
1977 (HILO_REGNUM): Delete.
1978 (reg_class): Remove HILO_REG and HILO_AND_GR_REGS.
1979 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
1980 (PREDICATE_CODES): Add entry for extend_operator.
1981 (DEBUG_REGISTER_NAMES): Change hilo entry to "".
1982 * config/mips/mips.md: Remove hilo clobbers wherever they occur.
1983 Remove constraints from multiplication define_expands. Remove
1984 clobbers from "decorative" define_expand patterns.
1985 (UNSPEC_HILO_DELAY): Delete.
1986 (*mul_acc_si, *mul_sub_si): Add early-clobber to operand 6.
1987 (mulsidi3, umulsidi3): Change pattern to match the TARGET_64BIT case.
1988 Adjust C code to just emit insns for !TARGET_64BIT.
1989 (mulsidi3_internal): Rename to mulsidi3_32bit.
1990 (mulsidi3_64bit): Use a "d" constraint for the destination.
1991 Use extend_operator so that the pattern can handle umulsidi3 as well.
1992 Split the instruction after reload.
1993 (*mulsidi3_64bit_parts): New pattern, generated by mulsidi3_64bit.
1994 (umulsidi3_internal): Rename to umulsidi3_32bit.
1995 (umulsidi3_64bit): Remove.
1996 (*smsac_di, *umsac_di): Line-wrap fixes.
1997 (udivsi3_internal): Don't allow operand 2 to be constant.
1998 (udivdi3_internal, umodsi3_internal, umoddi3_internal): Likewise.
1999 (movdi_internal2, movsi_internal): Remove hilo alternatives.
2000 (reload_in[sd]i, reload_out[sd]i, hilo_delay): Remove.
2001
20db0e3c
RS
20022003-06-09 Richard Sandiford <rsandifo@redhat.com>
2003
2004 PR target/10913
2005 * config/mips/mips.h (TARGET_FILE_SWITCHING, NO_DBX_FUNCTION_END,
2006 PUT_SDB_SCL, PUT_SDB_INT_VAL, PUT_SDB_VAL, PUT_SDB_ENDEF,
2007 PUT_SDB_TYPE, PUT_SDB_SIZE, PUT_SDB_DIM, PUT_SDB_START_DIM,
2008 PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM, PUT_SDB_TAG, PUT_SDB_SRC_FILE,
2009 SDB_GENERATE_FAKE, TEXT_SECTION): Delete.
2010 (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF, PUT_SDB_BLOCK_START,
2011 PUT_SDB_BLOCK_END, PUT_SDB_FUNCTION_END): Replace use of
2012 asm_out_text_file with asm_out_file.
2013 * config/mips/iris5gas.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Likewise.
2014 * config/mips/elf.h (TEXT_SECTION): Undefine.
2015 * config/mips/elf64.h (TEXT_SECION): Undefine.
2016 * config/mips/openbsd.h (TEXT_SECION): Undefine.
2017 * config/mips/mips.c (asm_out_text_file, asm_out_data_file): Delete.
2018 (override_options): Disable small-data optimizations unless using
2019 gas or explicit relocations.
2020 (mips_asm_file_start, mips_asm_file_end, mips_output_function_epilogue,
2021 iris6_asm_named_section, iris6_asm_file_start): Remove code for
2022 handling TARGET_FILE_SWITCHING.
2023 (copy_file_data): Move into TARGET_IRIX6 block.
2024
017e1b43
RH
20252003-06-08 Richard Henderson <rth@redhat.com>
2026
2027 * expr.h (EXPAND_MEMORY): New.
2028 * expr.c (expand_expr): Check it.
2029 * stmt.c (expand_asm_operands): Provide it when the constraint
2030 requires a memory. Warn for memory input constraints without
2031 a memory operand.
2032
f8950e17
KG
20332003-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2034
2035 * varasm.c: Don't include c-tree.h.
2036
51d2dfa6
AJ
20372003-06-08 Andreas Jaeger <aj@suse.de>
2038
2039 * predict.h: Convert to ISO C90 prototypes.
2040 * predict.c: Likewise.
2041 * tree-dump.h: Likewise.
2042 * tree-dump.c: Likewise.
2043 * diagnostic.h: Likewise.
2044 * diagnostic.c: Likewise.
2045 * combine.c: Likewise.
2046
2047 * rtl.h: Convert prototypes of combine.c to ISO C90.
2048
0435312e
JH
2049Sun Jun 8 21:27:41 CEST 2003 Jan Hubicka <jh@suse.cz>
2050
2051 * cfglayout.c (insn_scope): New static function
2052 (block_locators_*, line_locators*, file_locators*): New static varrays.
2053 (scope_to_insns_initialize): Use them.
2054 (insn_line, insn_file): New functions.
2055 (scope_to_insns_finalize): Use insn_scope.
2056 (prologue_locator, epilogue_locator): New global variables.
2057 * emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
2058 make_call_insn_raw, emit_copy_of_insn_after): Use locators.
2059 (emit_insn_after_scope, emit_insn_before_scope
2060 emit_jump_insn_after_scope, emit_jump_insn_before_scope
2061 emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
2062 (emit_insn_after_setloc, emit_insn_before_setloc
2063 emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
2064 emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
2065 use locators.
2066 * final.c (notice_source_line): Use locators.
2067 (final_start_function): Set initial source file and line.
2068 (final_scan_insn): Use locators.
2069 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
2070 noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
2071 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
2072 noce_process_if_block, find_cond_trap): Likewise.
2073 * integrate.c (copy_insn_list): Likewise.
2074 * jump.c (duplicate_loop_exit_test): LIkewise.
2075 * print-rtl.c (print_rtx): Print locators.
2076 * recog.c (peephole2_optimize): Likewise.
2077 * rtl.h (INSN_SCOPE): Remove.
2078 (emit_insn_after_scope, emit_insn_before_scope
2079 emit_jump_insn_after_scope, emit_jump_insn_before_scope
2080 emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
2081 (emit_insn_after_setloc, emit_insn_before_setloc
2082 emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
2083 emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
2084 (insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
2085 * unroll.c (copy_loop_body): Use locators.
2086 * function.c (set_insn_locators): New function.
2087 (thread_prologue_and_epilogue_insns): Set the locators accordingly.
2088
5d39821d
KH
20892003-06-08 Kazu Hirata <kazu@cs.umass.edu>
2090
2091 * config/h8300/h8300.h (LONG_LONG_TYPE_SIZE): Set to 64.
2092 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _floatdisf
2093 _fixsfdi _fixunssfdi.
2094 (LIB2FUNCS_EXTRA): Add entries for clzhi2, ctzhi2, parityhi2,
2095 popcounthi2.
2096 (TARGET_LIBGCC2_CFLAGS): Remove -DDI=SI.
2097 * config/h8300/clzhi2.c: New.
2098 * config/h8300/ctzhi2.c: Likewise.
2099 * config/h8300/parityhi2.c: Likewise.
2100 * config/h8300/popcounthi2.c: Likewise.
2101
10e9fecc
JH
2102Sun Jun 8 15:52:17 CEST 2003 Jan Hubicka <jh@suse.cz>
2103
2104 * i386.md (subsi_3_zext, sse2_nandv2di3): Fix predicates.
2105 * i386.c (k8_avoid_jump_misspredicts): Fix debug output.
2106
2107 * cfg.c (verify_flow_info): Move IL independent checks from cfgrtl here.
2108 (dump_bb): New based on old dump_bb in cfgrtl.c
2109 (debug_bb, debug_bb_n): Move the functions from cfgrtl.c here.
2110 * cfghooks.h (cfgh_verify_flow_info): Return status.
2111 * cfglayout.c (cfg_layout_finalize): Verify CFG correctness.
2112 * cfgrtl.c (debug_bb, debug_bb_n): Move to cfg.c
2113 (dump_bb): Remove generic parts.
2114 (rtl_verify_flow_info_1): Break out from rtl_verify_flow_info.
2115 (rtl_verify_flow_info): Only check things dependeing on linearized RTL.
2116
35399bdc
NB
21172003-06-08 Neil Booth <neil@daikokuya.co.uk>
2118
2119 * Makefile.in: Rename options.c and options.h to c-options.c and
2120 c-options.h.
2121 (OBJS): Remove options.o.
2122 * c-opts.c: Don'tInclude c-options.h instead of options.h.
2123 * opts.c: Don't include options.h.
2124 (find_opt): Can't use enum opt_code or N_OPTS.
2125 * opts.h (struct cl_option, cl_options, cl_options_count): Move from...
2126 * opts.sh: ... here.
2127
56f0c0d8 21282003-06-07 Eric Botcazou <ebotcazou@libertysurf.fr>
528b8487 2129 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8eb6a092
EB
2130
2131 PR pch/9830
2132 * ggc-common.c (HAVE_MMAP_FILE): Include sys/types.h
2133 if HAVE_MINCORE is defined.
2134 (MAP_FAILED): Define if not defined.
2135 (gt_pch_save): Test against MAP_FAILED.
2136 (gt_pch_restore): If HAVE_MINCORE, use MAP_FIXED to force
2137 the mapping address to the preferred base after checking it
2138 is possible to do so. Test against MAP_FAILED.
2139 * configure.in: Test for the presence of mincore in libc.
2140 * config.in: Regenerate.
2141 * configure: Regenerate.
2142
797c8a92
RH
21432003-06-07 Richard Henderson <rth@redhat.com>
2144
2145 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Fix
2146 conditional compilation guard.
2147
77173bbe
KH
21482003-06-08 Kazu Hirata <kazu@cs.umass.edu>
2149
2150 * optabs.c (expand_abs): Set result_unsignedp to 1 if
2151 flag_trav is zero.
2152
2288bdbb
RH
21532003-06-07 Richard Henderson <rth@redhat.com>
2154
528b8487 2155 * c-cppbuiltin.c (c_cpp_builtins): Define __EXCEPTIONS for C also.
2288bdbb 2156
1722c2c8
RH
21572003-06-07 Richard Henderson <rth@redhat.com>
2158
2159 * basic-block.h (EDGE_SIBCALL): New.
2160 (EDGE_ALL_FLAGS): Update.
2161 * cfg.c (dump_edge_info): Add sibcall name.
2162 * cfgbuild.c (make_edges): Use EDGE_SIBCALL.
2163 * cfgrtl.c (purge_dead_edges): Handle sibcalls.
2164
44de936e
AJ
21652003-06-07 Andreas Jaeger <aj@suse.de>
2166
5145a02e
AJ
2167 * mklibgcc.in (lib2funcs): Remove _exit.
2168 * libgcc2.c: Remove L_exit.
2169 * gbl-ctors.h: Remove declarations dependend on NEED_ATEXIT.
2170
2171 * system.h: Poison NEED_ATEXIT, ON_EXIT, EXIT_BODY.
2172
2173 * doc/tm.texi (Misc): Remove NEED_ATEXIT, ON_EXIT, EXIT_BODY.
2174
20c1dc5e
AJ
2175 * ggc.h: Convert to ISO C90 prototypes.
2176 * ggc-none.c: Likewise.
2177 * ggc-common.c: Likewise.
2178 * ggc-page.c: Likewise.
2179 * ggc-simple.c: Likewise.
2180
44de936e
AJ
2181 * crtstuff.c: Remove undefined usage of INIT_SECTION_PREAMBLE.
2182
2183 * system.h: Poison INIT_SECTION_PREAMBLE.
2184
a5fe455b
ZW
21852003-06-07 Zack Weinberg <zack@codesourcery.com>
2186
2187 * config.gcc (with_cpu handling): Translate sparc64 in
2188 $machine to --with-cpu=v9.
2189 * config/alpha/alpha.c
2190 (TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition.
2191 (alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK.
2192
2193 * target.h: New hook asm_out.file_end.
2194 * target.h: Update to match. New hook macro TARGET_ASM_FILE_END.
ed446835 2195 * toplev.c (compile_file): Use targetm.asm_out.file_end.
a5fe455b
ZW
2196 * system.h: Poison ASM_FILE_END.
2197 * varasm.c (file_end_indicate_exec_stack): New.
2198 * output.h: Prototype it.
2199 * doc/tm.texi: Document TARGET_ASM_FILE_END and
2200 file_end_indicate_exec_stack. Delete references to attasm.h.
2201
2202 * config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end.
2203 (ASM_FILE_END): Delete; move code...
2204 * config/darwin.c (darwin_file_end): Here; new function.
2205 * config/darwin-protos.h: Prototype it.
2206 * config/alpha/alpha.c (unicosmk_asm_file_end): Make static,
2207 rename unicosmk_file_end.
2208 * config/arm/aof.h (ASM_FILE_END): Delete; move code...
2209 * config/arm/arm.c (aof_file_end): ... here; new static function.
2210 Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER.
2211 Make aof_dump_imports and aof_dump_pic_table static.
2212 * config/avr/avr.c (asm_file_end): Rename avr_file_end, make static.
2213 Set TARGET_ASM_FILE_END to avr_file_end.
2214 * config/c4x/c4x.c (c4x_file_end): Make static. Take no arguments.
2215 Set TARGET_ASM_FILE_END to c4x_file_end.
2216 * config/h8300/h8300.c (asm_file_end): Rename h8300_file_end,
2217 make static. Take no arguments. Set TARGET_ASM_FILE_END to
2218 h8300_file_end.
2219 * config/i370/i370.h (ASM_FILE_END): Delete; move code...
2220 * config/i370/i370.c (i370_file_end): ... here; new static function.
2221 Set TARGET_ASM_FILE_END to i370_file_end.
2222 * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end.
2223 Take no arguments. Call file_end_indicate_exec_stack if
2224 NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END.
2225 * config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
2226 Define NEED_INDICATE_EXEC_STACK to 0.
2227 * config/i386/linux.h, config/i386/linux64.h: Redefine
2228 NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END.
2229 * config/i386/winnt.c (i386_pe_asm_file_end): Rename to
2230 i386_pe_file_end. Take no arguments. Use ix86_file_end.
2231 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to
2232 ia64_hpux_file_end, make static. Take no arguments.
2233 * config/ip2k/ip2k.c (asm_file_start, asm_file_end,
2234 commands_in_prologues, commands_in_epilogues): Delete.
2235 (function_epilogue): Update to match.
2236 * config/mips/mips.c (mips_asm_file_end): Rename mips_file_end,
2237 make static. Take no arguments.
2238 (iris6_asm_file_end): Rename iris6_file_end, make static, use
2239 mips_file_end, take no arguments.
2240 Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as
2241 appropriate.
2242 * config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end,
2243 make static, take no arguments. Set TARGET_ASM_FILE_END to
2244 mmix_file_end.
2245 * config/pa/pa.c (output_deferred_plabels): Make static, take
2246 no arguments. Set TARGET_ASM_FILE_END to output_deferred_plabels.
2247 * config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it.
2248 (ASM_FILE_END): Delete; move code...
2249 * config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here;
2250 new static function.
2251
2252 * config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h
2253 * config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h:
2254 Don't set ASM_FILE_END.
2255 * config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h
2256 * config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h
2257 * config/sparc/linux64.h: Set TARGET_ASM_FILE_END to
2258 file_end_indicate_exec_stack; don't set ASM_FILE_END.
2259 * config/alpha/unicosmk.h, config/i386/cygming.h
2260 * config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
2261 * config/arm/arm-protos.h, config/alpha/alpha-protos.h
2262 * config/avr/avr-protos.h, config/c4x/c4x-protos.h
2263 * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
2264 * config/ip2k/ip2k-protos.h, config/mips/mips-protos.h
2265 * config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update.
2266
da2d4c01
JH
2267Sat Jun 7 18:32:13 CEST 2003 Jan Hubicka <jh@suse.cz>
2268
2269 * i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is
2270 specified.
2271
8c560c80
JH
2272Sat Jun 7 15:20:01 CEST 2003 Jan Hubicka <jh@suse.cz>
2273
2274 * Makefile.in (stageprofile_build): Kill redundant target.
2275 * i386.c (mdep_reorg): Don't pad jumps for Athlon.
2276
e62b6ea1
AJ
22772003-06-07 Andreas Jaeger <aj@suse.de>
2278
2279 * doc/tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation.
2280
2281 * config/avr/avr.h: Remove comment regarding DONT_REDUCE_ADDR.
2282 * config/dsp16xx/dsp16xx.h: Likewise.
2283 * config/i386/i386.h: Likewise.
2284 * config/ip2k/ip2k.h: Likewise.
2285
2772ef3e
NB
22862003-06-07 Neil Booth <neil@daikokuya.co.uk>
2287
2288 * Makefile.in (OJBS, c-opts.o): Update.
2289 (c-options.c, c-options.h): Rename options.h and options.c.
2290 (options.h): Rename options_.h.
2291 (opts.o): New.
2292 * c-common.h (c_common_handle_option): Replace c_common_decode_option.
2293 (c_common_init_options): Update prototype.
2294 * c-lang.c (c_init_options): Update prototype.
2295 (LANG_HOOKS_HANDLE_OPTION): Override.
2296 (LANG_HOOKS_DECODE_OPTION): Drop.
2297 * c-opts.c: Include opts.h and options.h instead of c-options.h
2298 and c-options.c.
2299 (lang_flags): Move to file scope.
2300 (find_opt, c_common_decode_option): Remove.
2301 (CL_C, CL_OBJC, CL_CXX, CL_OBJCXX, CL_JOINED, CL_SEPARATE,
2302 CL_REJECT_NEGATIVE): Move to opts.h.
2303 (missing_arg): Update prototype.
2304 (c_common_init_options): Update for new prototype.
2305 (c_common_handle_options): Filenames are passed as N_OPTS.
2306 * hooks.c (hook_int_void_0): New.
2307 * hooks.h (hook_int_void_0): New.
2308 * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): New default.
2309 (LANG_HOOKS_HANDLE_OPTION): Default to NULL for now.
2310 (LANG_HOOKS_INITIALIZER): Update.
2311 * langhooks.h (init_options): Update.
2312 (handle_option): New.
2313 * opts.c, opts.h: New files.
2314 * opts.sh: Update c file to include opts.h and options.h.
2315 * toplev.c: Include opts.h; change options.h to options_.h.
2316 (parse_options_and_default_flags): Get lang_mask, use
2317 handle_option for language-specific handling.
2318 * objc/objc-lang.c (LANG_HOOKS_DECODE_OPTON): Drop.
2319 (LANG_HOOKS_HANDLE_OPTION): Override.
2320 (objc_init_options): Update.
2321
3743ea05
MK
23222003-06-07 Magnus Kreth <magnus.kreth@gmx.de>
2323 Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
2324
f6749ed8 2325 PR other/7031
3743ea05
MK
2326 * Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
2327 gcov.
2328
90e145da
KC
23292003-06-07 Kelley Cook <kelleycook@wideopenwest.com>
2330
2331 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
2332 section names.
2333 * configure: Regenerate.
2334
ffbc65c3
AM
23352003-06-07 Alan Modra <amodra@bigpond.net.au>
2336
2337 * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
2338
8a5db2b4
JW
23392003-06-06 James E Wilson <wilson@tuliptree.org>
2340
2341 PR inline-asm/10890
2342 * reload1.c (merge_assigned_reloads): Abort only if two reloads have
2343 different in fields.
2344
6a1b7268
NN
23452003-06-06 Nathanael Nerode <neroden@gcc.gnu.org>
2346
2347 * configure.in: Make $(target_subdir) correspond with top level usage.
2348 * Makefile.in: Likewise.
2349 * configure: Regenerate.
2350
78cabff8
JDA
23512003-06-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2352
2353 * pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
2354 ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
2355 unsigned HOST_WIDE_INT.
2356 * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
2357 Likewise.
2358 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
2359 Likewise.
2360
67b1fbb9
KG
23612003-06-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2362
2363 * doc/install.texi (Prerequisites): New section documenting
2364 tools and packages necessary prior to building and/or
2365 modifying GCC.
2366 * doc/install.texi2html: Also generate prerequisites.html.
2367
3a11ec8b
RE
23682003-06-06 Richard Earnshaw <rearnsha@arm.com>
2369
2370 PR target/11052
2371 * ifcvt.c (noce_process_if_block): Fail if the destination has
2372 side-effects.
2373
7dc8b126
JM
23742003-06-06 Jason Merrill <jason@redhat.com>
2375
2376 * stmt.c (resolve_asm_operand_names): Rename from
2377 resolve_operand_names. No longer static. Avoid needless copying.
2378 Don't build array of constraints.
2379 (expand_asm_operands): Build it here.
2380 * tree.h: Declare resolve_asm_operand_names.
2381
2382 * stmt.c (expand_decl): Put artificial vars into registers even
2383 when not optimizing, and don't mark the regs as user vars.
2384
1c20913c
R
23852003-06-06 J"orn Rennecke <joern.rennecke@superh.com>
2386
2387 * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
2388 of the generated register.
2389
09c36669
DJ
23902003-06-06 Daniel Jacobowitz <drow@mvista.com>
2391
2392 * config.gcc: Add a missing sparc64 case.
2393
744f6f09
JJ
23942003-06-06 Jakub Jelinek <jakub@redhat.com>
2395
2396 * mklibgcc.in: Propagate .note.GNU-stack section if needed into
2397 the .hidden assembly stubs.
2398
30fb3231
L
23992003-06-06 H.J. Lu <hongjiu.lu@intel.com>
2400
2401 * config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
2402 and x86_64-*-*.
2403
2404 * config/i386/mmintrin.h: Update version and add alternate
2405 intrinsic names.
2406 * config/i386/xmmintrin.h: Likewise.
2407
2408 * config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
2409 intrinsics to ...
2410 * config/i386/emmintrin.h: Here. New file.
2411
07bae5ad
RS
24122003-06-06 Roger Sayle <roger@eyesopen.com>
2413
2414 * fold-const.c (fold <ABS_EXPR>): Re-fold the result of folding
2415 fabs(-x) into fabs(x). Use tree_expr_nonnegative_p to determine
2416 when the ABS_EXPR (fabs or abs) is not required.
e62b6ea1 2417 (tree_expr_nonnegative_p): Move the logic that sqrt and exp are
07bae5ad
RS
2418 always nonnegative from fold to here. Additionally, cabs and fabs
2419 are always non-negative, and pow and atan are non-negative if
2420 their first argument is non-negative.
2421
2422 * builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
2423 Evaluate cabs of a constant at compile-time. Convert cabs of a
2424 non-complex argument into fabs. Convert cabs(z) into
2425 sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
2426 -funsafe-math-optimizations or -ffast-math.
2427 (fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
2428 Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
2429
295e823c
JH
2430Thu Jun 5 20:51:09 CEST 2003 Jan Hubicka <jh@suse.cz>
2431
2432 * sourcebuild.texi (Front End Directory): Document new hooks.
2433
9ee634e3
JH
2434Fri Jun 6 11:02:35 CEST 2003 Jan Hubicka <jh@suse.cz>
2435
2436 * function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
07bae5ad
RS
2437 * i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
2438 stack frames.
9ee634e3
JH
2439 (pro_epilogue_adjust_stack_rex64_2): New pattern
2440
2441Fri Jun 6 11:03:14 CEST 2003 Jan Hubicka <jh@suse.cz>
2442 Pop Sebastian
2443 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2444
2445 * cfghooks.h, cfghooks.c: New files.
2446 * Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
2447 (OBJS): Add cfghooks.o.
2448 (cfghooks.o): New rule.
2449 * basic-block.h (split_edge): Rename to rtl_split_edge.
2450 (verify_flow_info): Rename to rtl_verify_flow_info.
2451 (cfghooks.h): Included here.
2452 * cfgrtl.c (split_edge): Renamed rtl_split_edge.
2453 (verify_flow_info): Renamed rtl_verify_flow_info.
2454 * toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
2455
2456 * basic-block.h (split_block, split_edge, flow_delete_block,
2457 redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
2458 (flow_delete_block_noexpunge): Return void.
2459 * cfg.c (verify_flow_info): New function.
2460 * cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
2461 try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
2462 Use delete_block.
2463 * cfglayout.c (function_footer): Rename to...
2464 (cfg_layout_function_footer): ... this variable
2465 (unlink_insn_chain): Make global.
2466 (fixup_reorder_chain, record_effective_endpoints): Update.
2467 (cleanup_unconditional_jumps): Use delete_block.
2468 (cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
2469 (cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
2470 (cfg_layout_initialize, cfg_layout_finalize): Update hooks.
2471 * cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block): Delete.
2472 (cfg_layout_function_footer): Declare.
2473 * cfgloopmanip (split_loop_bb): Do not update RBI.
2474 (remove_bbs): Use delete_block.
2475 (loop_reidrect_edge, loop_delete_branch_edge): Use
2476 redirect_edge_and_branch.
2477 (create_preheader): Use split_block and redirect_edge_and_branch_force.
2478 (split_edge_with): Likewise.
2479 * cfgrtl.c: Include cfglayout.h
2480 (split_edge): Rename to ...
2481 (rtl_split_edge) ... this one; make local.
2482 (redirect_edge_and_branch): Rename to ...
2483 (rtl_redirect_edge_and_branch) ... this one; make local.
2484 (redirect_edge_and_branch_force): Rename to ...
2485 (rtl_redirect_edge_and_branch_force) ... this one; make local.
2486 (cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
2487 (cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
2488 cfglayout.c; update to directly call RTL counterparts.
2489 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
2490 * ifcvt.c (find_cond_trap): Use delete_block.
2491 (find_if_case_1): Use delete_block.
2492 (find_if_case_2): Use delete_block.
2493 * rtl.h (unlink_insn_chain): Declare.
2494 * toplev.c (rtl_reigster_cfg_hooks): New.
2495
7654db1b
RH
24962003-06-05 Richard Henderson <rth@redhat.com>
2497
2498 * recog.c (peephole2_optimize): Revert last change.
2499
c1dbd774
RH
25002003-06-05 Richard Henderson <rth@redhat.com>
2501
2502 * recog.c (peephole2_optimize): Don't split block unless
2503 can_throw_internal.
2504
a35abc3c
KH
25052003-06-06 Kazu Hirata <kazu@cs.umass.edu>
2506
c1dbd774
RH
2507 * config/h8300/h8300.c (get_shift_alg): Correct the syntax of rotxl.
2508 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): Likewise.
a35abc3c 2509
a5f3dd66
KC
25102003-06-05 Kelley Cook <kelleycook@wideopenwest.com>
2511
2512 PR optimization/4490
2513 * config/i386/i386.md: Don't use XFMode if TARGET_128BIT_LONG_DOUBLE.
2514 * doc/invoke.texi (m96bit-long-double, m128bit-long-double): Reword
2515 documentation to accurately reflect what these options do.
2516
25119b21
KK
25172003-06-06 Kaz Kojima <kkojima@gcc.gnu.org>
2518
2519 * config/sh/linux.h (STARTFILE_SPEC): Handle -pie. Simplify.
2520 (ENDFILE_SPEC): Redefine to handle -pie.
2521
3d818632
PE
25222003-06-05 Phil Edwards <phil@jaj.com>
2523
2524 * Makefile.in (qmtest-g++): Use target_alias, not target.
2525
640da953
PB
25262003-06-05 Per Bothner <pbothner@apple.com>
2527
2528 * toplev.c (push_srcloc): Simplify behavior to save current location
2529 and set current location to parameters.
2530 (pop_srcloc): Simplify semantics.
2531 (lang_dependent_init): Remove now-useless initial push_srcloc.
2532
7d445f15
RH
25332003-05-06 Richard Henderson <rth@redhat.com>
2534
e62b6ea1 2535 * dwarf2out.c (loc_descriptor_from_tree): Return 0 for
7d445f15
RH
2536 language-specific tree codes.
2537
eebfb2aa
JDA
25382003-06-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2539
2540 PR middle-end/9986
2541 * pa.c (pa_init_builtins): Also set implicit_built_in_decls for
2542 BUILT_IN_FPUTC_UNLOCKED to NULL_TREE.
2543
8f231b5d
JH
2544Thu Jun 5 18:32:46 CEST 2003 Jan Hubicka <jh@suse.cz>
2545
2546 * install.tex: Document profiledbootstrap.
2547
295e823c
JH
2548 * configure.in: Add support for lang.stageprofile and
2549 lang.stagefeedback
8f231b5d
JH
2550 * Makefile.in (clean, distclean): Kill new stages
2551 (POSTSTAGE1_FLAGS_TO_PASS): Break from ...
2552 (STAGE2_FLAGS_TO_PASS): ... this one.
2553 (STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
2554 (stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
2555 (stageprofile_build, stageprofile_copy, stagefeedback_build,
2556 stagefeedback_copy): New.
e62b6ea1 2557 (restageprofile, restagefeedback, stageprofile-start,
8f231b5d
JH
2558 stageprofile, stagefeedback-start): Likewise.
2559
842a431a
DM
25602003-06-05 David Miller <davem@redhat.com>
2561 Richard Henderson <rth@redhat.com>
2562
2563 * optabs.c (HAVE_conditional_trap): Provide default.
2564 (gen_conditional_trap): Likewise.
2565 (init_optabs): Merge init_traps.
2566 (gen_cond_trap): Use prepare_operand. Restructure and avoid ifdef.
2567
83588a9d
JH
2568Thu Jun 5 14:59:44 CEST 2003 Jan Hubicka <jh@suse.cz>
2569
2570 * combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
e62b6ea1 2571 is REG for nonzero_bits (REG) == 8.
83588a9d 2572
6262f66a
JH
2573Thu Jun 5 13:23:51 CEST 2003 Jan Hubicka <jh@suse.cz>
2574
2575 * i386.md (align): Fix warning; clarify what to do when no p2align
2576 is available.
2577
3a30516d
NC
25782003-06-05 Nick Clifton <nickc@redhat.com>
2579
2580 * config.gcc (m32r-elf): Revert previous delta.
a5fe455b
ZW
2581 * config/m32r/t-m32r (crtinit.o): Fix rule to work with
2582 multilibs. Remove m32rx specific version.
2583 (crtfini.o): Likewise.
2584 (EXTRA_MULTILIB_PARTS): Define.
e62b6ea1 2585
53e5f173
EB
25862003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
2587
2588 * doc/md.texi (Machine Constraints): Correct the meaning of
2589 constraints related to floating-point registers on SPARC.
2590
c6cc7e13 25912003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
a5fe455b 2592 Paolo Bonzini <bonzini@gnu.org>
c6cc7e13
EB
2593
2594 PR target/10663
2595 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Redirect
2596 assembler and linker output to /dev/null.
2597 Use a 'sed' construct instead of 'grep -A1'.
2598 * configure: Regenerate.
2599
74dc3e94
RH
26002003-06-04 Richard Henderson <rth@redhat.com>
2601
2602 * config/i386/i386.c (struct ix86_address): Add seg.
2603 (no_seg_address_operand): New.
2604 (ix86_decompose_address): Restructure PLUS loop. Accept one
2605 UNSPEC_TP if TARGET_TLS_DIRECT_SEG_REFS. Adjust ESP swap test
2606 to test for a regnum, not stack_pointer_rtx.
2607 (ix86_address_cost): Reduce cost if non-default segment.
2608 (legitimate_address_p): Remove UNSPEC_TP check.
2609 (get_thread_pointer): Add to_reg argument. Don't represent
2610 the thread pointer as a memory load.
2611 (legitimize_tls_address): Split out of ...
2612 (legitimize_address): ... here.
2613 (print_operand_address): Handle parts.seg.
2614 (ix86_expand_move): Use legitimize_tls_address.
2615 (ix86_rtx_costs): Handle UNSPEC_TP.
2616 * config/i386/i386.h (MASK_TLS_DIRECT_SEG_REFS): New.
2617 (TARGET_TLS_DIRECT_SEG_REFS): New.
2618 (TARGET_SWITCHES): Add tls-direct-seg-refs.
2619 (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Default.
2620 (PREDICATE_CODES): Add no_seg_address_operand.
2621 * config/i386/i386.md (lea_1): Use it.
2622 (lea_1_rex64, lea_1_zext, lea_2_rex64): Likewise.
2623 (load_tp_si, add_tp_si, load_tp_di, add_tp_di): New.
2624 * config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
2625 * config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
2626 * doc/invoke.texi: Add -mtls-direct-seg-refs.
2627
d7068b3d
MM
26282003-06-04 Mark Mitchell <mark@codesourcery.com>
2629
2630 * Makefile.in (QMTESTRUNFLAGS): Set for DejaGNU emulation.
2631 (QMTEST_GPP_TESTS): Use "g++" by default.
2632 (stamp-qmtest): Tweak database creation.
2633 (QMTEST_DIR/context): Update context file format.
2634 (qmtest-g++): Tweak command-line.
2635
6b6600bd
KG
26362003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2637
2638 * Makefile.in (varasm.o): Don't set -Wno-error.
2639 * rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear.
2640
1072ec3f
ZW
26412003-06-04 Zack Weinberg <zack@codesourcery.com>
2642
2643 PR bootstrap/3163
2644 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE, AC_FUNC_MMAP_FILE): Delete.
2645 (gcc_AC_FUNC_MMAP_BLACKLIST): New.
2646 * configure.in: Check for sys/mman.h and mmap in AC_CHECK_HEADERS
2647 and AC_CHECK_FUNCS lists, respectively. Use
2648 gcc_AC_FUNC_MMAP_BLACKLIST, not AC_FUNC_MMAP_ANYWHERE nor
2649 AC_FUNC_MMAP_FILE.
2650 * configure, config.in: Regenerate.
2651
c53dddc2
KG
26522003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2653
2654 * arm/aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.
2655 * arm.c (arm_output_function_prologue): Fix format specifiers.
2656 * arm.h (ARM_PRINT_OPERAND_ADDRESS): Likewise.
2657 * m68k.c (m68k_output_mi_thunk): Use more readable %wd instead of
2658 HOST_WIDE_INT_PRINT_DEC.
2659 * vax.c (vax_output_function_prologue): Fix format specifiers.
2660
7b9c108f
RH
26612003-06-04 Richard Henderson <rth@redhat.com>
2662
1072ec3f
ZW
2663 * cse.c (find_best_addr): Consider binary operators even if second
2664 argument is not CONST_INT.
7b9c108f 2665
c48ec590
ZD
26662003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2667
2668 * doc/invoke.texi (max-cse-path-length): Document.
2669
9ccf9681
RH
26702003-06-04 Richard Henderson <rth@redhat.com>
2671
2672 * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
2673
9dce39a4
AP
26742003-06-04 Andrew Pinski <pinskia@physics.uc.edu>
2675
2676 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME):
2677 Remove semi-colon at the end of the expression.
2678
ad929cd5
KG
26792003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2680
1072ec3f 2681 * i370.c (mvs_function_name_length): Fix signed/unsigned warnings.
ad929cd5
KG
2682 * i370.h (mvs_function_name_length): Likewise.
2683 * i960.h (CONSTANT_ALIGNMENT): Likewise.
2684 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
2685 * pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
2686 * pa.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
2687 * rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Delete unused
2688 variable.
2689
7816bea0
DJ
26902003-06-04 Daniel Jacobowitz <drow@mvista.com>
2691
2692 * config.gcc: Reorganize --with-cpu logic. Set
2693 configure_default_options according to the default CPU, --with-cpu,
2694 --with-arch, --with-tune, --with-schedule, --with-abi, and
2695 --with-float. Check for legal values of various options.
2696 * configure.in: Define configure_default_options in configargs.h.
2697 * configure: Regenerated.
2698 * config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
2699 (TARGET_DEFAULT_FLOAT_P): New macros.
2700 * gcc.c (do_option_spec): New function.
2701 (struct default_spec, option_default_specs): New.
2702 (main): Call do_option_spec.
2703 * config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
2704 config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
2705 config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
2706
2707 * doc/install.texi: Update --with-cpu documentation. Mention
2708 --with-arch, --with-schedule, --with-tune, --with-abi, and
2709 --with-float.
2710 * doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
2711
83079d89
DJ
27122003-06-04 Daniel Jacobowitz <drow@mvista.com>
2713
2714 * config.gcc: Only process --with-cpu logic in the third pass.
2715
73f09c99
DJ
27162003-06-04 Daniel Jacobowitz <drow@mvista.com>
2717
2718 * config.gcc: Reorganize --with-cpu section. Remove an
2719 obsolete comment about the default CPU for x86-64. Fix
2720 a typo for the ep9312. Update the list of supported PowerPC
2721 CPUs. Support a limited set of new --with-cpu options
2722 for i386.
2723
165848da
AH
27242003-06-04 Aldy Hernandez <aldyh@redhat.com>
2725
1072ec3f
ZW
2726 * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
2727 complex numbers <= 32 bits into two registers.
165848da 2728
74eda121
KG
27292003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2730
2731 * alpha.c (print_operand_address): Fix format specifier warnings.
2732 * alpha/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
2733 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
2734 * arm/aof.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
2735 * arm/pe.h (ASM_OUTPUT_COMMON): Likewise.
2736 * avr.h (ASM_OUTPUT_COMMON, ASM_GENERATE_INTERNAL_LABEL,
1072ec3f 2737 ASM_OUTPUT_SKIP): Likewise.
74eda121
KG
2738 * c4x.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2739 * dsp16xx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2740 * h8300.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_COMMON):
2741 Likewise.
2742 * i370.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2743 * i386/cygming.h (ASM_OUTPUT_COMMON): Likewise.
2744 * i386/darwin.h (ASM_OUTPUT_COMMON): Likewise.
2745 * i960.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2746 * m68k/hp320.h (PRINT_OPERAND_ADDRESS): Likewise.
2747 * mcore.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
2748 * pdp11.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2749 * ptx4.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
2750 * sparc/freebsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2751 * svr3.h (ASM_OUTPUT_COMMON): Likewise.
2752
e3091a5f
R
27532003-06-04 J"orn Rennecke <joern.rennecke@superh.com>
2754
2755 * c-decl.c (c_init_decl_processing): Clear input_file_name
2756 while building common nodes.
2757 * dwarf2out.c (gen_compile_unit_die, dwarf2out_finish):
2758 Don't add working directory for strings like <built-in> .
2759
f0483418
DE
27602003-06-04 David Edelsohn <edelsohn@gnu.org>
2761
2762 * doc/install.texi (*-ibm-aix*): Native as and ld required
2763 to bootstrap on AIX 5L.
2764
0bfa5f65
RH
27652003-06-04 Richard Henderson <rth@redhat.com>
2766
1072ec3f
ZW
2767 * c-common.c (handle_cleanup_attribute): New.
2768 (c_common_attributes): Add it.
2769 * c-decl.c (finish_decl): Honor the cleanup attribute.
2770 * doc/extend.texi (Variable Attributes): Document it.
0bfa5f65 2771
1072ec3f
ZW
2772 * unwind-c.c: New file.
2773 * Makefile.in (LIB2ADDEH): Add it.
2774 * config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
2775 config/ia64/t-ia64: Likewise.
0bfa5f65 2776
3edc56a9
JJ
27772003-06-04 Jakub Jelinek <jakub@redhat.com>
2778
2779 * function.c (trampolines_created): New variable.
2780 (expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE.
2781 * function.h (trampolines_created): Add.
2782 * config/s390/linux.h (ASM_FILE_END): Define.
2783 * config/alpha/linux-elf.h (ASM_FILE_END): Define.
2784 * config/m68k/linux.h (ASM_FILE_END): Define.
2785 * config/rs6000/linux.h (ASM_FILE_END): Define.
2786 * config/rs6000/linux64.h (ASM_FILE_END): Define.
2787 * config/rs6000/ppc-asm.h: Add .note.GNU-stack on powerpc-linux.
2788 * config/sparc/linux.h (ASM_FILE_END): Define.
2789 * config/sparc/linux64.h (ASM_FILE_END): Define.
2790 * config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END.
2791 * config/i386/linux.h (SUBTARGET_FILE_END): Define.
2792 * config/i386/linux64.h (SUBTARGET_FILE_END): Define.
2793
d2c49530
JH
2794Wed Jun 4 18:39:33 CEST 2003 Jan Hubicka <jh@suse.cz>
2795
2796 * i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions
2797 (ix86_reorg): Use it.
2798 * i386.md (align): New insn pattern.
2799
05a0e2af
KG
28002003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2801
2802 * toplev.c (rest_of_type_compilation): Fix typo.
2803
9739c90c
JJ
28042003-06-04 Jakub Jelinek <jakub@redhat.com>
2805 Alan Modra <amodra@bigpond.net.au>
2806
2807 * config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
2808 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
2809 * config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
2810 * config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
2811 * config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
2812 * final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
2813 (profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
2814 * config/rs6000/rs6000.c (output_profile_hook): Likewise.
2815
2816 * configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
2817 Pass it to $gcc_cv_as.
2818 * configure: Rebuilt.
2819
2820 * config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
2821 (print_operand): Allow TARGET_AIX to be non-constant.
2822 (rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
2823 Define unconditionally.
2824 (rs6000_elf_declare_function_name): New function.
2825 * config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
2826 non-constant.
2827 * config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
2828 to 1.
2829 (DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
2830 [IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
2831 is defined.
2832 (TARGET_AIX): Define to 1 if TARGET_64BIT.
2833 (PROCESSOR_DEFAULT): Remove.
2834 (TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
2835 INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
2836 [RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
2837 (ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
2838 -m32 and -m64.
2839 (MULTILIB_DEFAULTS): Define.
2840 (SUBSUBTARGET_EXTRA_SPECS): Define.
2841 (ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
2842 (TARGET_TOC): Define only if !RS6000_BI_ARCH.
2843 (TARGET_NO_TOC): Remove.
2844 [!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
2845 TARGET_PROTOTYPE): Define to 0.
2846 (NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
2847 (PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
2848 (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
2849 if !TARGET_64BIT.
2850 (USER_LABEL_PREFIX): Remove.
2851 (JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
2852 (SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
2853 if TARGET_64BIT.
2854 (TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
2855 (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
2856 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
2857 (TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
2858 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
2859 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
2860 TARGET_64BIT.
2861 (RS6000_CALL_GLUE): Likewise.
2862 (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
2863 RESTORE_FP_SUFFIX): Likewise.
2864 (ASM_DECLARE_FUNCTION_NAME): Remove.
2865 (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
2866 DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
2867 name if TARGET_64BIT.
2868 (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
2869 !TARGET_64BIT.
2870 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
2871 (ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
2872 (DRAFT_V4_STRUCT_RET): Define.
2873 (SIGNAL_FRAMESIZE): New enum value.
2874 (MD_FALLBACK_FRAME_STATE_FOR): Define.
2875 * config/rs6000/default64.h: New file.
2876 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
2877 options.
2878 (SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
2879 to RS6000_ABI_NAME. Only disallow mixing of -fPIC with -mcall-aixdesc
2880 if !TARGET_64BIT.
2881 [!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
2882 (ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
2883 function.
2884 (TARGET_OS_SYSV_CPP_BUILTINS): Define.
2885 (TARGET_OS_CPP_BUILTINS): Use it.
2886 (CPP_SYSV_SPEC): Remove.
2887 (CPP_SPEC): Remove cpp_sysv.
2888 (SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
2889 Add SUBSUBTARGET_EXTRA_SPECS.
2890 (SUBSUBTARGET_EXTRA_SPECS): Define.
2891 * config/rs6000/biarch64.h: New file.
2892 * config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
2893 New prototype.
2894 * config/rs6000/x-linux64: New file.
2895 * config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
2896 multilibs.
2897 * config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
2898 * config/rs6000/eabi-cn.asm: Likewise.
2899 * config/rs6000/tramp.asm: Likewise.
2900 * config/rs6000/sol-ci.asm: Likewise.
2901 * config/rs6000/sol-cn.asm: Likewise.
2902 * config/rs6000/linux.h (TARGET_64BIT): Define to 0.
2903 (TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
2904 * config/rs6000/ppc-asm.h: Move __powerpc64__ section before
2905 _CALL_AIXDESC section.
2906 * config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
2907 defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
2908 or default32.
2909
150b72ed
DJ
29102003-06-04 Daniel Jacobowitz <drow@mvista.com>
2911
2912 * config.gcc: Revert accidentally committed ARM changes.
2913
385a9348
RS
29142003-06-04 Roger Sayle <roger@eyesopen.com>
2915
2916 * builtins.c (dconstpi, dconste): New mathematical constants.
2917 (init_builtin_dconsts): New function to initialize dconstpi
2918 and dconste.
2919 (fold_builtin): Optimize exp(1.0) = e. Evaluate exp(x) at
2920 compile time with -ffast-math when x is an integer constant.
2921 Optimize tan(0.0) = 0.0. Optimize atan(0.0) = 0.0,
2922 atan(1.0) = pi/4 and tan(atan(x)) = x with -ffast-math.
2923
8c6a8269
RS
29242003-06-04 Roger Sayle <roger@eyesopen.com>
2925
2926 * calls.c (expand_call): Avoid calling pure or const functions
2927 when the result is ignored (or void) and none of the arguments
2928 are volatile. Move warning diagnostic earlier in function.
2929
e2d8bb29
AJ
29302003-06-04 Andreas Jaeger <aj@suse.de>
2931
2932 * system.h: Do not poison TDESC_SECTION_ASM_OP,
2933 RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.
2934
b1721339
KG
29352003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2936
2937 * final.c (asm_fprintf): Update comments, accept "-+ #0" flags,
2938 optimize '%' case, handle %c, don't accept %p, %e, %f or %g,
2939 handle %ll, optimize regular character case.
2940
9bf8cfbf
ZD
29412003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2942
2943 * Makefile.in (cse.o): Add params.h dependency.
2944 * cse.c: Include params.h.
2945 (PATHLENGTH): Removed.
2946 (struct cse_basic_block_data): Make path array dynamic.
8c6a8269
RS
2947 (cse_end_of_basic_block): Use PARAM_MAX_CSE_PATH_LENGTH instead
2948 of PATHLENGTH.
9bf8cfbf
ZD
2949 (cse_main, cse_basic_block): Allocate path array.
2950 * params.def (PARAM_MAX_CSE_PATH_LENGTH): New.
2951
253c7a00
JH
2952Wed Jun 4 09:49:21 CEST 2003 Jan Hubicka <jh@suse.cz>
2953
2954 * i386.c (ix86_reorg): Replace the jump instead of adding nop.
2955 * i386.md (UNSPEC_REP): New constant.
2956 (return_internal_long): New pattern.
2957
01d3224a
EB
29582003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
2959
2960 PR optimization/11018
2961 * config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative
2962 consistently to decide whether the scratch register is really
2963 required.
2964
ef0139b1
EB
29652003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
2966
2967 PR optimization/10876
2968 * config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add
2969 new 'O' constraint for constant 4096.
2970 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
2971 * config/sparc/sparc.md (adddi3 expander): Canonicalize pattern.
2972 Do not transform into MINUS insn for constant 4096.
2973 (*adddi3_sp64 insn): Canonicalize pattern. Add new alternative
2974 for constant 4096 as third operand.
2975 (addsi3 expander): Remove.
2976 (*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add
2977 new alternative for constant 4096 as third operand.
2978 (subdi3 expander): Do not transform into PLUS insn for constant 4096.
2979 (*subdi3_sp64 insn): Add new alternative for constant 4096 as third
2980 operand.
2981 (subsi3 expander): Remove.
2982 (*subsi3 insn): Rename into 'subsi3'. Add new alternative for
2983 constant 4096 as third operand.
2984 * doc/md.texi (Machine Constraints): Document new 'O' constraint for
2985 the SPARC port.
2986
18de8a98
CD
29872003-06-03 Chris Demetriou <cgd@broadcom.com>
2988
2989 * config/mips/t-linux64 (CRTSTUFF_T_CFLAGS_S): Define.
2990
a816c981
AJ
29912003-06-04 Andreas Jaeger <aj@suse.de>
2992
f691dc3b
AJ
2993 * config/i386/uwin.h: Remove SUBTARGET_PROLOGUE.
2994
2995 * config/i386/i386.c (ix86_expand_prologue): Do not use
2996 SUBTARGET_PROLOGUE.
2997
2998 * system.h: Poision SUBTARGET_PROLOGUE.
2999
3000 * config/arm/arm-protos.h: Remove unused rdate_section prototype.
3001
3002 * output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP
3003 dependend code.
3004
3005 * system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP.
3006
3007 * system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and
3008 INSN_CACHE_LINE_WIDTH.
3009
3010 * libgcc2.c (INSN_CACHE_PLANE_SIZE): Removed.
3011 (__clear_cache): Remove code dependend on INSN_CACHE_DEPTH,
3012 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
3013
3014 * doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH,
3015 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
1072ec3f 3016
f691dc3b
AJ
3017 * dbxout.c (dbxout_type): Remove usage of DBX_OUTPUT_ENUM.
3018 (dbxout_symbol): Remove usage of DBX_OUTPUT_CONSTANT_SYMBOL.
3019 (dbxout_block): Remove usage of DBX_OUTPUT_CATCH.
3020 (dbxout_block): Remove usage of DBX_LBRAC_FIRST.
3021 (dbxout_source_file): Remove usage of DBX_OUTPUT_SOURCE_FILENAME.
3022 (dbxout_init): Remove test for DBX_WORKING_DIRECTORY.
3023
3024 * doc/tm.texi (DBX Options): Do not document DBX_LBRAC_FIRST,
3025 DBX_OUTPUT_SOURCE_FILENAME and DBX_OUTPUT_ENUM and
3026 DBX_WORKING_DIRECTORY.
3027
3028 * system.h: Poison DBX_LBRAC_FIRST, DBX_OUTPUT_ENUM,
3029 DBX_OUTPUT_SOURCE_FILENAME and DBX_WORKING_DIRECTORY.
3030
3031 * config/frv/frv-protos.h: Remove unused const_section
3032 declaration.
3033 * config/vax/vax-protos.h: Likewise.
3034
3035 * output.h: Remove CONST_SECTION_ASM_OP usage.
3036
3037 * system.h: Poison CONST_SECTION_ASM_OP.
3038
74764b84
AJ
3039 * crtstuff.c (__do_global_dtors_aux): Remove usage of
3040 CRT_GET_RFIB_TEXT.
f691dc3b
AJ
3041 (frame_dummy): Likewise.
3042 * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
3043 * system.h: Poison CRT_GET_RFIB_TEXT.
1072ec3f 3044
6d3a8e3c
AJ
3045 * collect2.c (is_ctor_dtor): Remove CFRONT_LOSSAGE dependend code.
3046
a816c981
AJ
3047 * fix-header.c: Remove ADD_MISSING_EXTERN_C dependend variables.
3048 (write_lbrac): Remove ADD_MISSING_EXTERN_C dependend code.
3049 (recognized_function): Likewise.
3050 (read_scan_file): Likewise.
3051
df8ca70e
RS
30522003-06-03 Roger Sayle <roger@eyesopen.com>
3053
3054 * optabs.c (expand_binop): Optimize complex multiplication for
3055 the case of squaring a complex argument.
3056
894207cf
RS
30572003-06-03 Roger Sayle <roger@eyesopen.com>
3058
3059 * optabs.c (expand_binop): Attempt to reuse pseudos for duplicate
3060 non-volatile operands of binary operations.
3061 (prepare_cmp_insn): Likewise.
3062
1063147c
RS
30632003-06-03 Roger Sayle <roger@eyesopen.com>
3064
3065 * varasm.c (force_const_mem): Handle alignment of constants not
3066 representable as a type in the front-end language.
3067
a7a7d7ac
KH
30682003-06-03 Kazu Hirata <kazu@cs.umass.edu>
3069
3070 * flow.c (initialize_uninitialized_subregs): Use
3071 emit_move_insn instead of emitting a hardcoded move.
3072
2ef0a555
RH
30732003-06-03 Richard Henderson <rth@redhat.com>
3074
3075 * optabs.c (expand_abs_nojump): Split out from ...
3076 (expand_abs): ... here.
3077 * optabs.h (expand_abs_nojump): Declare.
3078 * ifcvt.c: (noce_try_abs): Use expand_abs_nojump.
3079 * Makefile.in (ifcvt.o): Depend on optabs.h.
3080
b0c242c0
AM
30812003-06-03 Alan Modra <amodra@bigpond.net.au>
3082
3083 * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Heed flag_merge_constants.
3084
2121a768
JT
30852003-06-03 Jason Thorpe <thorpej@wasabisystems.com>
3086
3087 * config.gcc (default_use_cxa_atexit): New variable, defaults to no.
3088 (*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*): Set default_use_cxa_atexit
3089 to yes.
3090 * configure.in: Allow default_use_cxa_atexit to determine the
3091 value of DEFAULT_USE_CXA_ATEXIT if not explicitly enabled or
3092 disabled.
3093 * configure: Regenerate.
3094
6f6a3861
DR
30952003-06-03 Douglas B Rupp <rupp@gnat.com>
3096
ccb36e10
DR
3097 * Makefile.in (TEXI_GCC_FILES): Remove vms.texi entry.
3098 * doc/gcc.texi: Remove vms.texi section.
3099 * doc/vms.texi: Remove obsolete file.
6f6a3861 3100
dc06db20
R
31012003-05-23 J"orn Rennecke <joern.rennecke@superh.com>
3102
3103 * configure.in (inhibit_libc): Don't define when configuring
3104 with --with-newlib --with-headers.
3105 * configure: Regenerate.
3106
3107 * t-sh: Remove LIB2FUNCS_EXTRA and embed-bb.c rules.
3108
6d07784a
RO
31092003-06-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3110
3111 * configure.in (gcc_cv_as_hidden): Disable .hidden completely on
3112 IRIX 6 without GNU ld.
3113 * configure: Regenerate.
3114
a79b3dc7
RS
31152003-06-03 Roger Sayle <roger@eyesopen.com>
3116
3117 * expr.c (emit_move_insn_1): Use emit_move_insn to move the parts
3118 of a complex number rather than invoke mov_optab directly.
3119
8d6b2775
KH
31202003-06-03 Kazu Hirata <kazu@cs.umass.edu>
3121
3122 * combine.c (simplify_set): Don't move a subreg in SET_SRC to
3123 SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
3124
48ff03c7
NN
31252003-06-03 Nathanael Nerode <neroden@gcc.gnu.org>
3126
3127 * config/i386/x86-64.h: Remove two target-independent comments;
3128 replace "GNU CC" with "GCC".
3129
b09d2739
AG
31302003-06-03 Anthony Green <green@redhat.com>
3131
3132 * config/frv/t-frv (EXTRA_HEADERS): Remove media.h
3133
075ec276
RS
31342003-06-03 Roger Sayle <roger@eyesopen.com>
3135
3136 * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
3137 New builtins representing ISO C99's cabs, cabsf and cabsl.
3138 * builtins.c (expand_builtin_fabs): New function.
3139 (expand_builtin_cabs): New function.
3140 (expand_builtin): Expand BUILT_IN_FABS{,F,L} and BUILT_IN_CABS{,F,L}
3141 using expand_builtin_fabs and expand_builtin_cabs respectively.
3142
3143 * doc/extend.texi: Document new cabs, cabsf and cabsl builtins.
3144
ded9bf77
AH
31452003-06-03 Aldy Hernandez <aldyh@redhat.com>
3146
1072ec3f 3147 * function.c (assign_parms): Split complex arguments.
ded9bf77 3148
1072ec3f 3149 * doc/tm.texi (SPLIT_COMPLEX_ARGS): Document.
ded9bf77 3150
1072ec3f
ZW
3151 * expr.h (SPLIT_COMPLEX_ARGS): Define.
3152 (split_complex_types): Protoize.
3153 (split_complex_values): Protoize.
ded9bf77 3154
1072ec3f
ZW
3155 * calls.c (expand_call): Split complex arguments on architectures
3156 that require it.
3157 (split_complex_values): New.
3158 (split_complex_types): New.
ded9bf77 3159
1072ec3f
ZW
3160 * config/rs6000/rs6000.c (rs6000_libcall_value): New.
3161 (rs6000_function_value): Handle complex values on AIX.
3162 (rs6000_complex_function_value): New.
ded9bf77 3163
1072ec3f 3164 * config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize.
ded9bf77 3165
1072ec3f
ZW
3166 * config/rs6000/rs6000.h (LIBCALL_VALUE): Call function.
3167 (SPLIT_COMPLEX_ARGS): New.
ded9bf77 3168
24a4dd31
JJ
31692003-06-03 Jakub Jelinek <jakub@redhat.com>
3170
3171 * configure.in (HAVE_LD_PIE): Check for ld -pie.
3172 * config.in: Rebuilt.
3173 * configure: Rebuilt.
3174 * toplev.c (flag_pie, flag_shlib): New variables.
3175 (f_options): Add -fpie and -fPIE.
3176 (parse_options_and_default_flags): Set flag_pic if -fpie/-fPIE.
3177 Set flag_shlib if flag_pic and not -fpie/-fPIE.
3178 * flags.h (flag_pic, flag_shlib): Add.
3179 * varasm.c (default_binds_local_p): Use flag_shlib instead of
3180 flag_pic.
3181 * gcc.c (LINK_PIE_SPEC): Define.
3182 (LINK_COMMAND_SPEC): Use LINK_PIE_SPEC.
3183 (option_map): Add --pie -> -pie mapping.
3184 * config/sol2.h (ASM_SPEC): Handle -fpie the same way as -fpic
3185 and -fPIE the same way as -fPIC.
3186 * config/openbsd.h (ASM_SPEC): Likewise.
3187 * config/frv/frv.h (ASM_SPEC): Likewise.
3188 * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Likewise.
3189 * config/arm/semi.h (ASM_SPEC): Likewise.
3190 * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
3191 * config/freebsd-spec.h (FBSD_CPP_SPEC): Likewise.
3192 * config/i386/beos-elf.h (CC1_SPEC): Likewise.
3193 * config/i386/freebsd-aout.h (ASM_SPEC): Likewise.
3194 * config/m68k/linux.h (CPP_SPEC): Likewise.
3195 * config/m68k/netbsd.h (ASM_SPEC): Likewise.
3196 * config/m68k/openbsd.h (ASM_SPEC): Likewise.
3197 * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
3198 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Likewise.
3199 * config/mips/openbsd.h (SUBTARGET_ASM_SPEC): Likewise.
3200 * config/pa/pa-linux.h (CPP_SPEC): Likewise.
3201 * config/netbsd-aout.h (ASM_SPEC): Likewise.
3202 * config/rs6000/sysv4.h (ASM_SPEC, CPP_SYSV_SPEC): Likewise.
3203 * config/rs6000/vxworks.h (CPP_SPEC): Likewise.
3204 * config/sparc/linux.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
3205 * config/sparc/linux64.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
3206 * config/sparc/sparc.h (ASM_SPEC): Likewise.
3207 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
3208 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
3209 * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
3210 * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
3211 * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
3212 * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Handle -pie.
3213 Simplify.
3214 * config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
3215 * config/i386/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
3216 * config/ia64/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
3217 * config/rs6000/sysv4.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
3218 * config/rs6000/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
3219 * config/sparc/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
3220 * config/sparc/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
3221 * doc/invoke.texi: Document -pie, -fpie and -fPIE options.
3222
8fd3cf4e
JJ
32232003-06-03 Jakub Jelinek <jakub@redhat.com>
3224
3225 * builtins.c (expand_builtin_memcpy): Remove endp argument and endp
3226 != 0 handling. Pass 0 to store_by_pieces.
3227 (expand_builtin_mempcpy): Add endp argument. Don't call
3228 expand_builtin_memcpy, call store_by_pieces resp. move_by_pieces
3229 directly. If ignoring result, only do expand_call.
3230 (expand_builtin_stpcpy): Likewise. Call expand_builtin_mempcpy
3231 otherwise.
3232 (expand_builtin_strncpy, expand_builtin_memset): Adjust
3233 store_by_pices callers.
3234 (expand_builtin): Adjust expand_builtin_memcpy and
3235 expand_builtin_mempcpy callers.
3236 * expr.c (can_move_by_pieces): New function.
3237 (move_by_pieces): Add endp argument, return to resp. memory at end
3238 or one byte earlier depending on endp.
3239 (store_by_pieces): Likewise.
3240 (emit_block_move): Adjust call to move_by_pieces.
3241 (emit_push_insn): Adjust move_by_pieces caller.
3242 * expr.h (can_move_by_pieces): New prototype.
3243 (store_by_pieces): Adjust prototypes.
3244 * rtl.h (move_by_pieces): Adjust prototype.
3245 * config/mips/mips.c (expand_block_move): Adjust move_by_pieces
3246 caller.
3247
cc6a602b
BE
32482003-06-03 Ben Elliston <bje@wasabisystems.com>
3249
3250 * doc/md.texi (Processor pipeline description): Improve wording.
3251
f75d3e11
NB
32522003-06-03 Neil Booth <neil@daikokuya.co.uk>
3253
3254 * c-opts.c (c_common_handle_option): New, pulled out of
3255 c_common_decode_option. Substitute uses of argv.
3256 (c_common_decode_option): Broken into two.
3257
4c2da7f2
RS
32582003-06-02 Roger Sayle <roger@eyesopen.com>
3259 Zack Weinberg <zack@codesourcery.com>
3260
3261 * emit-rtl.c (gen_complex_constant_part): Remove unnecessary
3262 test of TREE_CONSTANT_POOL_ADDRESS_P.
3263
e91e4f6c
KG
32642003-06-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3265
3266 * mips.c: Don't include output.h twice.
3267 * stormy16.c: Likewise.
3268 * xtensa.c: Likewise.
3269 * output.h: Protect against multiple inclusion.
3270
b38a5244
R
32712003-06-02 J"orn Rennecke <joern.rennecke@superh.com>
3272
3273 * sh.h (OLD_ARG_MODE): New macro.
3274 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
3275 (FUNCTION_ARG_1): Break out of:
3276 (FUNCTION_ARG). Use OLD_ARG_MODE.
3277
cc6a602b 32782003-06-02 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
250315f7 3279
1072ec3f 3280 * gcc/config.gcc Add support multilib parts for m32rx processor.
250315f7 3281
e7aba4cd
KG
32822003-06-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3283
3284 * Makefile.in (c-options.c): Pass in $(AWK) to opts.sh.
3285 (mostlyclean): Delete c-options.c and c-options.h.
3286
c83857ff
NB
32872003-06-02 Neil Booth <neil@daikokuya.co.uk>
3288
3289 * c-opts.c (CL_REJECT_NEGATIVE): New.
3290 (c_common_decode_option): Update to use it.
3291 * c.opt: Update documentation; use RejectNegative.
3292 * opts.sh: Handle RejectNegative.
3293
c770ac2b
ZW
32942003-06-01 Zack Weinberg <zack@codesourcery.com>
3295
3296 * ggc-page.c (init_ggc): Give better diagnostics on failure to
3297 open /dev/zero.
3298 * toplev.c (crash_signal): Reset handling for received signal
3299 to SIG_DFL.
3300
103fc15d
BE
33012003-06-02 Ben Elliston <bje@wasabisystems.com>
3302
3303 * config/arm/arm.c (arm_use_dfa_pipeline_interface): Declare.
d48b7f2a 3304 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define if not already.
103fc15d
BE
3305 (arm_use_dfa_pipeline_interface): Implement.
3306 * config/arm/arm.md (arm): New automaton.
3307 (write_buf): Remove function units; new cpu unit.
3308 (write_blockage): Remove function units; new cpu unit.
3309 (core): Remove function units; new cpu unit.
3310 (r_mem_f_wbuf): New instruction reservation.
3311 (store1_wbuf, store2_wbuf, store3_wbuf, store4_wbuf): Likewise.
3312 (store1_ldsched, store2, store3, store4): Likewise.
3313 (load_ldsched, load_ldsched_xscale, load_or_store): Likewise.
3314 (mult, mult_ldsched, mult_ldsched_strongarm): Likewise.
3315 (multi_cycle, single_cycle): Likewise.
3316 * config/arm/fpa.md (armfp): New automaton.
3317 (fpa): Remove function units; new cpu unit.
3318 (fpa_mem): Remove function unit; new cpu unit.
3319 (fdivx, fdivd, fdivs, fmul, ffmul, farith, ffarith): New reservations.
3320 (r_2_f, f_2_r, f_load, f_store, r_mem_f, f_mem_r): Likewise.
3321
3ae1d4c2
KG
33222003-06-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3323
3324 * builtin-attrs.def (ATTR_ASM_FPRINTF): New.
3325 * c-format.c (enum format_type): Add asm_fprintf_format_type.
3326 (NOARGUMENTS, asm_fprintf_length_specs, asm_fprintf_flag_specs,
3327 asm_fprintf_flag_pairs, asm_fprintf_char_table): New.
3328 (format_types_orig): Renamed from format_types. Add new data.
3329 (format_types): Declare as pointer.
3330 (handle_format_attribute): Move later in file so we have all
3331 necessary declarations. Add section to capture HOST_WIDE_INT.
3332 * output.h (ATTRIBUTE_ASM_FPRINTF, __gcc_host_wide_int__): New.
3333 (asm_fprintf): Mark with ATTRIBUTE_ASM_FPRINTF.
3334
fd66c4e3
AJ
33352003-06-01 Andreas Jaeger <aj@suse.de>
3336
8842a5e5
AJ
3337 * doc/tm.texi (Storage Layout): Remove ROUND_TYPE_SIZE and
3338 ROUND_TYPE_SIZE_UNIT.
3339
3340 * stor-layout.c (finalize_record_size): Remove usages of
3341 ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
3342 (finalize_type_size): Likewise.
3343 (layout_type): Likewise.
3344
3345 * system.h: Poison ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
3346
e0945432
AJ
3347 * loop.c (check_insn_for_givs): Remove DONT_REDUCE_ADDR macro.
3348
fd66c4e3
AJ
3349 * config/d30v/d30v.h: Remove text copied from the manual.
3350
14ca333d
RS
33512003-06-01 Roger Sayle <roger@eyesopen.com>
3352 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3353 Geoffrey Keating <geoffk@apple.com>
3354
3355 * emit-rtl.c (gen_lowpart_common): Handle interpreting integer
3356 constants as condition code values.
3357
0cc261bc 33582003-06-01 DJ Delorie <dj@redhat.com>
a7f36da3
DD
3359
3360 * cppmacro.c (warn_of_redefinition): Handle cases where the two
3361 definitions have different numbers of tokens.
3362
8e2b6930
AJ
33632003-06-01 Andreas Jaeger <aj@suse.de>
3364
3365 * gen-protos.c (main): Readd unused attribute for argc.
3366
e11a4ae5
NB
33672003-06-01 Neil Booth <neil@daikokuya.co.uk>
3368
3369 * Makefile.in (c-options.c, c-options.h): Parallel make safe.
3370 * c.opt: End in blank line.
3371 * opts.sh: Take AWK from environment if available; use C locale.
3372
6fc9e67e
AS
33732003-06-01 Andreas Schwab <schwab@suse.de>
3374
3375 * config/m68k/linux.h: Remove code protected by USE_GNULIBC_1.
3376
fa10d367
AJ
33772003-06-01 Andreas Jaeger <aj@suse.de>
3378
3379 * gen-protos.c (main): Revert patch to check for argument.
3380
a3033f34
EB
33812003-06-01 Eric Botcazou <ebotcazou@libertysurf.fr>
3382
3383 PR target/11044
3384 * config/i386/i386.md (length attribute): Set length to 4
3385 for instructions of type "fcmp".
3386
cef2bd3e
AJ
33872003-06-01 Andreas Jaeger <aj@suse.de>
3388
c770ac2b 3389 * toplev.c: Use ISO C90 prototypes.
e25a75e6 3390
c770ac2b 3391 * toplev.h: Use ISO C90 prototypes.
e25a75e6 3392
3d7aafde
AJ
3393 * genrecog.c: Use ISO C90 prototypes.
3394 (nodes_identical): Correct declaration to match prototype.
3395 (maybe_both_true): Likewise.
3396 (merge_trees): Likewise.
3397
3398 * genpeep.c (gen_peephole): Remove #if 0 code.
3399 Use ISO C90 prototypes.
3400
3401 * genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
3402 Remove #if 0'ed function simplify_by_alternatives.
3403 (optimize_attrs): Remove #if 0'ed code.
3404 Remove ^L.
3405 Use ISO C90 prototypes.
3406 (make_canonical): Remove #if 0'ed code.
3407 (convert_const_symbol_ref): Remove #if 0'ed function.
3408
3409 * gen-protos.c (main): Check for argument.
3410
3411 * rtl.h: Use ISO C90 prototypes for functions from lists.c.
3412
3413 * params.h: Use ISO C90 prototypes.
3414 * params.c: Likewise.
3415 * intl.c: Likewise.
3416 * intl.h: Likewise.
3417 * lists.c: Likewise.
3418 * errors.c: Likewise.
3419 * errors.h: Likewise.
3420 * gencodes.c: Likewise.
3421 * genpreds.c: Likewise.
3422 * genattr.c: Likewise.
3423 * gen-protos.c: Likewise.
3424 * genflags.c: Likewise
3425 * genconditions.c: Likewise.
3426 * genautomata.c: Likewise.
3427 * gencheck.c: Likewise.
3428 * genconfig.c: Likewise.
3429 * genconstants.c: Likewise.
3430 * genemit.c: Likewise.
3431 * genextract.c: Likewise.
3432 * gengenrtl.c: Likewise.
3433 * gengtype.c: Likewise.
3434 * gengtype.h: Likewise.
3435 * genopinit.c: Likewise.
3436 * genoutput.c: Likewise.
3437 * gensupport.c: Likewise.
3438 * gensupport.h: Likewise.
3439
cef2bd3e
AJ
3440 * sdbout.h: Use ISO C90 prototypes.
3441
3442 * sdbout.c (CONTIN): Removed empty macro.
3443 (sdbout_one_type): Remove CONTIN usages.
3444 Remove ^Ls.
3445 (tag_of_ru_type): Remove #if 0'ed function.
3446 (sdbout_symbol): Remove #if 0'ed code.
3447 (sdbout_one_type): Remove a #if 1.
3448 (sdbout_one_type): Remove #if 0'ed code.
3449 (sdbout_init): Remove RMS_QUICK_HACK_1 code.
3450 Remove PARAMS, use ISO C90 prototypes for all functions.
3451
43194145
JZ
34522003-06-01 Josef Zlomek <zlomekj@suse.cz>
3453
3454 * rtl.def (CONST_DOUBLE): Update comment.
3455
cea8d816
NB
34562003-06-01 Neil Booth <neil@daikokuya.co.uk>
3457
3458 * opts.sh: Remove path from sort.
3459
28636c6e
AH
34602003-06-01 Aldy Hernandez <aldyh@redhat.com>
3461
965f3913 3462 PR/9680
c770ac2b
ZW
3463 * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Require
3464 TARGET_SPE for SPE_VECTOR_MODE.
28636c6e 3465
ddc9542b
AH
34662003-05-31 Aldy Hernandez <aldyh@redhat.com>
3467
c770ac2b
ZW
3468 * toplev.c (botch): Remove.
3469 (do_abort): Remove.
3470 (set_Wunused): Comment.
3471 (set_Wextra): Comment.
3472 Remove ^L's.
3473 (rest_of_compilation): Factor out common code into functions.
3474 (rest_of_handle_inlining): New.
3475 (rest_of_handle_ssa): New.
3476 (rest_of_handle_cse): New.
3477 (rest_of_handle_gcse): New.
3478 (rest_of_handle_loop_optimize): New.
3479 (rest_of_handle_jump_bypass): New.
3480 (rest_of_handle_sibling_calls): New.
3481 (rest_of_handle_null_pointer): New.
3482 (rest_of_handle_addresof): New.
3483 (rest_of_handle_flow): New.
3484 (rest_of_handle_branch_prob): New.
3485 (rest_of_handle_if_conversion): New.
3486 (rest_of_handle_tracer): New.
3487 (rest_of_handle_loop2): New.
3488 (rest_of_handle_cse2): New.
3489 (rest_of_handle_life): New.
3490 (rest_of_handle_combine): New.
3491 (rest_of_handle_if_after_combine): New.
3492 (rest_of_handle_regmove): New.
3493 (rest_of_handle_sched): New.
3494 (rest_of_handle_old_regalloc): New.
3495 (rest_of_handle_new_regalloc): New.
3496 (rest_of_handle_regrename): New.
3497 (rest_of_handle_reorder_blocks): New.
3498 (rest_of_handle_sched2): New.
3499 (rest_of_handle_new_regalloc): New.
3500 (rest_of_handle_old_regalloc): New.
3501 (rest_of_handle_regrename): New.
3502 (rest_of_handle_reorder_blocks): New.
3503 (rest_of_handle_stack_regs): New.
3504 (rest_of_handle_machine_reorg): New.
3505 (rest_of_handle_delay_slots): New.
3506 (rest_of_handle_final): New.
3507
3508 * toplev.h (botch): Remove prototype.
3509 (do_abort): Same.
ddc9542b 3510
fef3106c
NB
35112003-05-31 Neil Booth <neil@daikokuya.co.uk>
3512
3513 * Makefile.in (c-opts.o, c-options.h): Update dependencies.
3514 * c-opts.c: Include c-options.h and c-options.c.
3515 (CL_C_ONLY, CL_OBJC_ONLY, CL_CXX_ONLY, CL_OBJCXX_ONLY):
3516 Rename CL_C, CL_OBJC, CL_CXX, CL_OBJCXX.
3517 (CL_ARG, CL_ALL, COMMAND_LINE_OPTIONS, struct cl_option,
3518 OPT, opt_comp): Remove.
3519 (missing_arg, c_common_init_options, c_common_decode_option,
3520 write_langs): Update for macro redefinitions and enumeration
3521 name changes.
3522 * c.opt, opts.sh: New files.
3523 * doc/passes.texi: Update.
3524
0d569849
AJ
35252003-05-31 Andreas Jaeger <aj@suse.de>
3526
3527 * function.c (trampoline_address): Remove ALLOCATE_TRAMPOLINE
3528 usage.
3529
3530 * doc/tm.texi (Trampolines): Remove ALLOCATE_TRAMPOLINE.
3531
3532 * config/d30v/d30v.h: Remove traces of ALLOCATE_TRAMPOLINE.
3533
3534 * system.h: Poison ALLOCATE_TRAMPOLINE.
3535
3536 * doc/tm.texi (Misc): Remove HANDLE_PRAGMA.
3537 * system.h: Poison HANDLE_PRAGMA.
3538
e0ce2ed2
KH
35392003-05-31 Kazu Hirata <kazu@cs.umass.edu>
3540
3541 * doc/invoke.texi: Update dump file names.
3542
2ec29bbf
KG
35432003-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3544
3545 * c-format.c (format_length_info, format_char_info,
3546 format_flag_spec, format_flag_pair, format_kind_info):
3547 De-const-ify structure members.
3548
4fa26a60
RS
35492003-05-31 Roger Sayle <roger@eyesopen.com>
3550
3551 * flags.h (flag_wrapv): New flag controlling overflow semantics.
3552 * toplev.c (flag_wrapv): Declare the variable with default false.
3553 (lang_independent_options): New option "-fwrapv" to set the above.
3554
0d569849 3555 * fold-const.c (extract_muldiv_1): Disable optimization of (2*x)/2
4fa26a60
RS
3556 as x, when signed arithmetic overflow wraps around.
3557 (fold): Optimize "-A - B" as "-B - A" if overflow wraps around.
3558 * loop.c (basic_induction_var): Ignore BIVs that rely on undefined
3559 overflow when flag_wrapv is true.
3560
3561 * doc/invoke.texi: Document new -fwrapv command line option.
3562 * doc/c-tree.texi: Mention that the overflow semantics of
3563 NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR and MULT_EXPR is dependent
3564 upon both flag_wrapv and flag_trapv.
3565
5fb57097
EB
35662003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
3567
3568 * doc/install.texi (mips-sgi-irix5): Add missing
3569 HTML <hr> marker.
3570
8a69f99f
EB
35712003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
3572
3573 * doc/md.texi (Machine Constraints): Document
3574 missing SPARC constraints.
3575
68e4d4c5
EB
35762003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
3577
3578 * doc/md.texi (Automaton pipeline description): Use
3579 "type" instead of "cpu" as the attribute in the examples.
3580
e5bcbd89
SS
35812003-05-30 Stan Shebs <shebs@apple.com>
3582
3583 * system.h: Poison OBJC_PROLOGUE.
3584
b1d673be
RS
35852003-05-30 Roger Sayle <roger@eyesopen.com>
3586
3587 * emit-rtl.c (gen_complex_constant_part): New function for getting
3588 the constant real or imaginary part of a complex constant.
3589 (gen_realpart): Use it.
3590 (gen_imagpart): Likewise.
3591
65d2d764
KH
35922003-05-30 Kazu Hirata <kazu@cs.umass.edu>
3593
3594 * doc/invoke.texi: Fix typos.
3595 * doc/rtl.texi: Likewise.
3596
5c29d24c
DD
35972003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
3598
3599 * config/h8300/crti.asm: Use .h8300hn and .h8300sn for normal
3600 mode.
3601 * config/h8300/crtn.asm: Likewise.
3602 * config/h8300/lib1funcs.asm: Likewise.
3603 * config/h8300/h8300.c (asm_file_start): Likewise.
3604 * config/h8300/elf.h (LINK_SPEC): Use h8300hnelf and
3605 h8300snelf emulations for normal mode.
3606 * config/h8300/h8300.h (LINK_SPEC): Use h8300hn and h8300sn
3607 emulations for normal mode.
3608
6d7d3112
DD
36092003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
3610
3611 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Return
3612 true if TARGET_NORMAL_MODE.
3613
0c19a26f
RS
36142003-05-30 Roger Sayle <roger@eyesopen.com>
3615
3616 * cse.c (cse_insn): Simplify REG_EQUAL note on libcalls when
3617 making a substitution.
3618 (dead_libcall_p): If directly replacing a libcall with a
3619 constant value produces an invalid instruction, also try forcing
3620 the constant into the constant pool.
3621 * expr.c (emit_move_insn): Add a REG_EQUAL note when it is not
3622 obvious that the source is a constant.
3623 (compress_float_constant): Use set_unique_reg_note to place
3624 REG_EQUAL notes on instructions.
3625
9a38893a
EC
36262003-05-30 Eric Christopher <echristo@redhat.com>
3627
3628 * config/mips/mips.c (extern_list): Add GTY marker.
3629 (extern_head): Separate out definition. Add marker.
3630 (mips_output_external): Use ggc_alloc for extern_list
3631 allocation.
3632 (mips_output_external_libcall): Ditto.
3633
3e98a119
FW
36342003-05-30 Florian Weimer <fw@deneb.enyo.de>
3635
3636 * doc/install.texi: Ada-enabled bootstrap requires GNAT 3.14 or
3637 later.
3638
ace49484
KG
36392003-05-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3640
3641 * vax.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
3642 warnings.
3643 (PRINT_OPERAND): Likewise.
3644
3bd4f460
RO
36452003-05-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3646
3647 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Move
3648 -mdebug/-no-mdebug switches ...
3649 (MDEBUG_ASM_SPEC): ... here.
3650 Use only with gas.
3651 (EXTRA_SPECS): Initialize mdebug_asm_spec.
3652
8fdf7668
MK
36532003-05-29 Matt Kraai <kraai@alumni.cmu.edu>
3654
3655 * gthr-gnat.c: Remove #undef UNUSED.
3656 (__gnat_default_lock, __gnat_default_unlock): Prototype.
3657 (__gnat_task_lock, __gnat_task_unlock): Make declarations
3658 prototypes.
3659 (__gnat_install_locks): Convert declaration to ISO C90, make
3660 parameter declarations prototypes, and remove blank line.
3661 * gthr-gnat.h (__gnat_install_locks): Make parameter
3662 declarations prototypes.
3663
a7db751a
JM
36642003-05-29 Jason Merrill <jason@redhat.com>
3665
3666 * Makefile.in (unstrap): Remove stage_last after make unstage1.
3667
af7387ca
RS
36682003-05-29 Roger Sayle <roger@eyesopen.com>
3669
3670 * mips-tfile.c (PAGE_SIZE): Increase page size to 32K.
3671
d90f9882
RS
36722003-05-29 Roger Sayle <roger@eyesopen.com>
3673 Kaveh Ghazi <ghazi@caip.rutgers.edu>
3674
3675 PR bootstrap/10169
3676 * mips-tfile.c (main): Use getopt_long instead of getopt.
3677 Add new command line option --version to display version.
3678 Treat --verbose like -v to report a single line version.
3679 (options): New global variable for getopt_long.
3680 * mips-tdump.c (main): Use getopt_long instead of getopt.
3681 New command line options -v, --version and -verbose to display
3682 the program version number (to match mips-tfile's behavior).
3683 (options): New global variable for getopt_long.
3684
3685 * gcov.c (options): Zero-terminate getopt_long array.
3686 * gcov-dump.c (options): Likewise.
3687
3688 * Makefile.in (mips-tdump.o): Add dependency on version.h.
3689
1c36b2f9
SS
36902003-05-29 Stan Shebs <shebs@apple.com>
3691
3692 Remove OBJC_PROLOGUE everywhere.
3693 * objc/objc-act.c (finish_objc): Remove use of OBJC_PROLOGUE.
3694 * config/avr/avr.h: Remove no-op ref to OBJC_PROLOGUE.
3695 * config/d30v/d30v.h: Similarly.
3696 * config/ip2k/ip2k.h: Similarly.
3697 * doc/tm.texi: Remove doc of OBJC_PROLOGUE.
3698
0b82d59c
RS
36992003-05-29 Roger Sayle <roger@eyesopen.com>
3700
3701 * c-semantics.c (genrtl_do_stmt_1): New function split out from...
3702 (gen_rtl_do_stmt): ... here. Call genrtl_do_stmt_1.
3703 (expand_unreachable_stmt): Expand unreachable while statements
3704 using genrtl_do_stmt_1.
3705
c8520e56
RS
37062003-05-29 Richard Sandiford <rsandifo@redhat.com>
3707
3708 * config/mips/mips-protos.h (mips_output_load_label): Declare.
3709 * config/mips/mips.c (mips_output_load_label): New function.
3710 (mips_output_conditional_branch): Use it.
3711 * config/mips/mips.md (jump): And here.
3712
633e4eb4
BW
37132003-05-28 Bob Wilson <bob.wilson@acm.org>
3714
3715 * config/xtensa/xtensa-protos.h (smalloffset_double_mem_p): Delete.
3716 (xtensa_split_operand_pair): New proto.
3717 * config/xtensa/xtensa.c (move_operand): Handle DFmode and DImode.
3718 (smalloffset_double_mem_p): Delete.
3719 (gen_float_relational, printx, print_operand, xtensa_va_arg):
3720 Fix whitespace.
3721 (xtensa_split_operand_pair): New.
3722 (xtensa_dbx_register_number): Fix formatting.
3723 * config/xtensa/xtensa.h (EXTRA_CONSTRAINT): Remove 'S' constraint.
3724 * config/xtensa/xtensa.md (movdi, movdf): Force constants to memory
3725 instead of splitting them into single-word moves. Remove unnecessary
3726 checks for reload_in_progress and reload_completed.
3727 (movdi_internal, movdf_internal): Change to post-reload split patterns.
3728 Add constraints to allow constant operands.
3729 (movsf_internal): Allow CONST_INT operands.
3730
02c67fd1
DS
37312003-05-27 Danny Smith <dannysmith@users.sourceforge.net>
3732
358bdeee
DS
3733 * config.gcc (i[34567]86-*-mingw32*): Add host makefile
3734 fragment i386/x-mingw32.
02c67fd1
DS
3735 * config/i386/x-mingw32: New file. Make local_includedir
3736 relative to EXEC_PREFIX.
3737
0bcbfabb
AL
37382003-05-27 Aaron W. LaFramboise <awlaframboise@aol.com>
3739
3740 * config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Update.
3741 (MD_STARTFILE_PREFIX): Define.
3742
291aac59
DC
37432003-05-27 Denis Chertykov <denisc@overta.ru>
3744
3745 * cselib.c (cselib_invalidate_regno): Abort if hardreg have a
3746 VOIDmode.
3747 * cselib.c (cselib_process_insn): Pass reg_raw_mode for hardreg in
3748 call of cselib_invalidate_regno.
3749
0d2a303e
DJ
37502003-05-28 Daniel Jacobowitz <drow@mvista.com>
3751
3752 * config/mips/linux.h (LIB_SPEC): Add missing -lc and correct
3753 -lthread to -lpthread.
3754
6bf1ffe1 37552003-05-28 Eric Botcazou <ebotcazou@libertysurf.fr>
c770ac2b
ZW
3756 Bruce Korb <bkorb@gnu.org>
3757 Arno Klaassen <arno@heho.snv.jussieu.fr>
6bf1ffe1
EB
3758
3759 * fixinc/inclhack.def: Add missing declaration of getpagesize()
3760 to unistd.h on Solaris 2.5.1.
3761 Fix prototype of recv() and send() in sys/socket.h on
3762 Solaris 2.5.1 and 2.6.
3763 * fixinc/tests/base/unistd.h: Add solaris_unistd fix test.
3764 * fixinc/tests/base/sys/socket.h: Add solaris_socket test.
3765 * fixinc/check.tpl: Use 'diff -c', not 'diff -u'.
3766 * fixinc/fixincl.x: Regenerate.
3767
066f50a9
JM
37682003-05-27 Jason Merrill <jason@redhat.com>
3769
3770 * tree.c (expr_first, expr_length): New fns.
3771 * tree.h: Declare them.
3772
3773 * tree.c (iterative_hash_expr): Hash commutative expressions
3774 consistently.
3775
6bf1ffe1 37762003-05-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7a6cdb44
RK
3777
3778 * tree.h (contains_placeholder_p): Now returns bool.
3779 (CONTAINS_PLACEHOLDER_P): New macro.
3780 (type_contains_placeholder_p): New function.
3781 * tree.c (save_expr): Remove code avoiding folding COMPONENT_REF.
3782 (contains_placeholder_p): Now returns bool.
3783 Rework to use CONTAINS_PLACEHOLDER_P macro.
3784 (type_contains_placeholder_p): New function.
3785 * fold-const.c (fold, case COMPONENT_REF): Don't fold if
3786 type_contains_placeholder_p.
9a38893a 3787 (fold_range_test, fold_mathfn_compare, fold_inf_compare, fold):
7a6cdb44
RK
3788 Use CONTAINS_PLACEHOLDER_P macro.
3789 * builtins.c (fold_builtin): Likewise.
3790 * calls.c (initialize_argument_information): Likewise.
3791 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
3792 * explow.c (expr_size): Likewise.
3793 * expr.c (store_constructor, get_inner_reference): Likewise.
3794 * function.c (assign_parms): Likewise.
3795 * stor-layout.c (variable_size): Likewise.
3796
d576d043
GDR
37972003-05-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3798
3799 * diagnostic.h (output_verbatim, verbatim): Remove printf
9a38893a 3800 attribute.
d576d043 3801
65878937
GP
38022003-05-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3803
3804 * doc/contrib.texi (Contributors): Update Kean Johnston.
3805
e033a023
DE
38062003-05-24 David Edelsohn <edelsohn@gnu.org>
3807
3808 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add length attribute.
3809
4dedfc09
NN
38102003-05-24 Nathanael Nerode <neroden@gcc.gnu.org>
3811
3812 * config/rs6000/440.md, config/stormy16/stormy16protos.h,
3813 config/stormy16/stormy16.c, config/stormy16/stormy16.md:
3814 Replace "GNU CC" with "GCC".
3815
9589325f
MK
38162003-05-24 Matt Kraai <kraai@alumni.cmu.edu>
3817
3818 * builtins.c (expand_builtin_memcpy): Use mode of dest_addr for
3819 intermediate computation.
3820
5299653d
EC
38212003-05-23 Eric Christopher <echristo@redhat.com>
3822
3823 * config/mips/mips.md (clzsi, clzdi): New patterns.
3824
0de12fcc
GK
38252003-05-23 Geoffrey Keating <geoffk@apple.com>
3826
3827 * gcc.c (default_compilers): Use -o to specify preprocessor's output
3828 file. Make -no-integrated-cpp work when building PCH files.
3829 * objc/lang-specs.h: Likewise.
3830
6e6a1681
NN
38312003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
3832
3833 * fixinc/Makefile.in: Correct description.
5299653d 3834 * fixinc/Makefile.in, fixinc/fixfixes.c, fixinc/fixincl.c,
6e6a1681
NN
3835 fixinc/fixlib.c, fixinc/fixlib.h, fixinc/fixtests.c,
3836 fixinc/genfixes: Replace "GNU CC" with "GCC".
3837
29f523be
RS
38382003-05-23 Roger Sayle <roger@eyesopen.com>
3839
65f48a0a 3840 * builtins.def: Define atan, atanf, atanl, tan, tanf and tanl
29f523be
RS
3841 builtin functions (and their __builtin_* variants).
3842 * builtins.c (mathfn_built_in): Handle tan{,f,l} and atan{,f,l}.
3843 (expand_builtin): Don't expand tan{,f,l} or atan{,f,l} when not
3844 optimizing.
3845
3846 * doc/extend.texi: Document new tan and atan builtins, and
3847 their float and long double variants.
3848
27a701c2
JT
38492003-05-23 Jason Thorpe <thorpej@wasabisystems.com>
3850
3851 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
3852 __sparcv9 in the TARGET_ARCH64 case.
3853
25f57a0e
JH
3854Fri May 23 22:17:32 CEST 2003 Jan Hubicka <jh@suse.cz>
3855
3856 * i386.c (ix86_reorg): Calls are also jumps.
3857
839844be
R
38582003-05-23 J"orn Rennecke <joern.rennecke@superh.com>
3859
3860 * cse.c (count_reg_usage): When processing an INSNs REG_EQUAL
3861 note containing an EXPR_LIST, process all the arguments.
3862
97242ddc
JH
3863Fri May 23 21:19:31 CEST 2003 Jan Hubicka <jh@suse.cz>
3864 Andreas Jaeger <aj@suse.de>
3865
3866 * i386.h (TARGET_CPU_CPP_BUILTINS): Define __amd64 and __amd64__;
3867 do not use assertion.
3868
973a43f6
MS
38692003-05-23 Mike Stump <mrs@apple.com>
3870
3871 * tlink.c (scan_linker_output): Add support for darwin linker, as it
3872 emits unresolved symbols one per line, consuming the entire line.
3873
a27b2b71
LH
38742003-05-23 Larin Hennessy <larin@science.oregonstate.edu>
3875 Zack Weinberg <zack@codesourcery.com>
3876
3877 * explow.c (allocate_dynamic_stack_space): Remove call to gen_probe.
3878 * config/m68k/m68k.c (m68k_output_function_prologue):
3879 Remove code under #if NEED_PROBE.
3880 * config/m68k/m68k.h: Don't define NEED_PROBE.
3881 * config/m68k/m68k.md: Remove "probe" insn.
3882 * doc/md.texi: Remove documentation of "probe" pattern.
3883
d3971161
DN
38842003-05-23 Dorit Naishlos <gcchaifa@il.ibm.com>
3885
3886 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add branch attribute.
3887
0dc7ee3c
EB
38882003-05-23 Eric Botcazou <ebotcazou@libertysurf.fr>
3889
3890 * doc/install.texi: Remove sparc64-*-*. Add sparc64-*-solaris2*.
3891 Document sparcv9-*-solaris2* as a synonym for sparc64-*-solaris2*.
3892
18c2511c
RS
38932003-05-22 Roger Sayle <roger@eyesopen.com>
3894
3895 * real.c (real_maxval): New function to return the largest finite
3896 value representable in a given mode (i.e. FLT_MAX and DBL_MAX).
3897 * real.h (real_maxval): Prototype here.
3898 * fold-const.c (fold_inf_compare): Transform comparisons against
3899 +-Infinity into comparisons against DBL_MAX (or equivalent).
3900
5f875c8f
MS
39012003-05-22 Mike Stump <mrs@apple.com>
3902
3903 * config.gcc (*-*-darwin*): Remove use_collect2=no, as it is the
3904 default.
3905
d892f288
DD
39062003-05-22 DJ Delorie <dj@redhat.com>
3907
3908 * calls.c (expand_call): If the arg block is going to grow
3909 downward, we need argblock to point to the top of the block,
3910 not the bottom.
3911
29495994
RK
39122003-05-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3913
3914 * c-decl.c (duplicate_decls): Test DECL for ERROR_MARK.
3915
f59700f9
RK
3916 * expr.c (expand_expr, case CONSTRUCTOR): Put into memory if
3917 constant and EXPAND_CONST_ADDRESS, not just EXPAND_INITIALIZER.
3918
1f85a612
KG
39192003-05-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3920
3921 * m68hc11.c: Don't use the `0' flag for asm_fprintf specifiers.
3922 * m68k.c: Likewise.
3923 * m68k.h: Likewise.
3924
5ded58d0
ZW
39252003-05-22 Zack Weinberg <zack@codesourcery.com>
3926
3927 PR other/2873
3928 * fixinc/inclhack.def (avoid_wchar_t_type): Add bypass
3929 expressions to prevent triggering on recent curses.h,
3930 linux/nls.h, or X11/Xlib.h.
3931 (stdio_va_list): Add _G_va_list to bypass pattern.
3932 (strict_ansi_not): Add bypass pattern for __SCO_VERSION__.
3933 * fixinc/fixincl.x: Regenerate.
3934
04213688
RB
39352003-05-22 Rekha Bhintade <rekhad@kpitcummins.com>
3936
3937 * gcc/config/sh/sh.h (TARGET_SWITCHES): Display all the target
5ded58d0 3938 switches when --target-help option is specified.
04213688 3939
fdbf04c8
EB
39402003-05-22 Eric Botcazou <ebotcazou@libertysurf.fr>
3941
3942 PR bootstrap/10805
3943 * doc/install.texi (sparc-sun-solaris2.7): Document bootstrap
3944 failure with Sun assembler 5.0 Alpha 03/27/98.
3945
d3d2e8f0 39462003-05-21 Loren James Rittle <ljrittle@acm.org>
d45d08f7
LR
3947
3948 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Add -D__sparcv9
1490fbc1 3949 to match system compiler convention.
d45d08f7 3950
81888fcd
DS
39512003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
3952
6356f892 3953 * gthr-win32.h (__GTHREAD_HIDE_WIN32API): Test for nonzero
81888fcd
DS
3954 value, not just if defined.
3955 Update copyright year.
3956
f48758e4
JDA
39572003-05-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3958
3959 PR target/6428
3960 * pa-hpux10.h (LINK_SPEC, LIB_SPEC): Move -L options for profiling
3961 directories from LIB_SPEC to LINK_SPEC. Emit warning if `-p' or `-pg'
3962 option is used without `-static'.
3963 * pa-hpux11.h (LINK_SPEC, LIB_SPEC): Likewise.
3964 * pa64-hpux.h (LINK_SPEC, LIB_SPEC): Likewise.
3965
7a29f483
BW
39662003-05-21 Bob Wilson <bob.wilson@acm.org>
3967
3968 * config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE,
3969 TARGET_SERIALIZE_VOLATILE): Delete.
3970 (MASK_CONST16, MASK_ABS, MASK_ADDX): Renumber flag bits.
3971 (TARGET_DEFAULT): Remove MASK_SERIALIZE_VOLATILE.
3972 (TARGET_SWITCHES): Remove "-mserialize-volatile" and
3973 "-mno-serialize-volatile".
3974 * config/xtensa/xtensa.c (print_operand): Remove checks of
3975 TARGET_SERIALIZE_VOLATILE.
3976 * config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
3977 * doc/invoke.texi (Option Summary, Xtensa Options): Remove
3978 "-mserialize-volatile" and "-mno-serialize-volatile" options.
3979
b190f239
NS
39802003-05-21 Nathan Sidwell <nathan@codesourcery.com>
3981
3982 * c-parse.in (fndef): Set DECL_SOURCE_LINE and FILE earlier.
3983 (nested_function): Likewise.
3984 (notype_nested_function): Likewise.
3985
278566a2
NC
39862003-05-21 Nick Clifton <nickc@redhat.com>
3987
3988 * config/stormy16/stormy-abi: Update overflow type for
3989 R_XSTORMY16_16 reloc.
3990
66804d9e
NS
39912003-05-21 Nathan Sidwell <nathan@codesourcery.com>
3992
3993 * c-common.h (enum rid): Remove RID_BOUNDED, RID_UNBOUNDED.
3994 * c-parse.in (reswords): Remove __bounded__ and __unbounded__.
3995 (rid_to_yy): Remove RID_BOUNDED, RID_UNBOUNDED slots.
3996 * print-tree.c (print_node): Remove ambient-boundedness.
3997 * tree.h (tree_common): Remove bounded_flag.
3998 (BOUNDED_INDIRECT_YPE_P, BOUNDED_POINTER_TYPE_P,
3999 BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
4000 MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
4001 TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
4002 TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED, TYPE_QUAL_BOUNDED):
4003 Remove.
4004 (TYPE_QUALS): Remove BOUNDED.
4005 (TREE_EXPR_QUALS, TREE_FUNC_QUALS): Remove.
4006 (TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
4007 TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
4008 TYPE_AMBIENT_BOUNDEDNESS, MAX_POINTER_DEPT,
4009 VA_LIST_POINTER_DEPTH): Remove.
4010 (struct tree_type): Remove pointer_depth.
4011
58228df6
KG
40122003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4013
4014 * c-pretty-print.c (pp_c_integer_literal): Use
4015 HOST_WIDE_INT_PRINT_DOUBLE_HEX.
4016
bc6688b4
RS
40172003-05-20 Roger Sayle <roger@eyesopen.com>
4018 Kazu Hirata <kazu@cs.umass.edu>
4019 Joern Rennecke <joern.rennecke@superh.com>
4020
4021 * gcse.c (cprop_jump): Make use of REG_EQUAL notes on both
4022 setcc and jump, if they exist. If substituted instruction
4023 fails to validate, store current effort in a REG_EQUAL note.
4024 (cprop_insn): Don't attempt further substitutions if the
4025 current instruction has been deleted.
4026 (local_cprop_pass): Likewise.
4027
4028 * jump.c (redirect_jump): Also update REG_EQUAL note, if
4029 one is attached to the jump instruction.
4030 (invert_jump): Delete REG_EQUAL note on jump, if one exists.
4031
16e31964
DS
40322003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
4033
4034 PR c++/9738
4035 * config/i386/winnt.c (i386_pe_encode_section_info): Enable
4036 even if not first.
4037
1e29b8d7
KG
40382003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4039
4040 * genautomata.c (output_description, output_automaton_units,
4041 output_state_arcs): Add missing specifiers.
4042
6c2e8d1c
BW
40432003-05-20 Bob Wilson <bob.wilson@acm.org>
4044
4045 * config/xtensa/lib1funcs.asm: Avoid use of .Lfe* in .size directives.
4046 (do_abs, do_addx2, do_addx4, do_addx8): New assembler macros.
4047 (__mulsi3): Use do_addx* instead of ADDX* instructions. Formatting.
4048 (nsau): Rename to do_nsau. Provide alternate version for use when
4049 the NSAU instruction is available.
4050 (__udivsi3, __divsi3, __umodsi3, __modsi3): Use do_nsau macro.
4051 (__divsi3, __modsi3): Use do_abs macro instead of ABS instruction.
4052 * config/xtensa/xtensa-config.h: Update comments to match binutils.
4053 (XCHAL_HAVE_ABS, XCHAL_HAVE_ADDX): Define.
4054 * config/xtensa/xtensa.h (MASK_ABS, MASK_ADDX): Define.
4055 (TARGET_ABS, TARGET_ADDX): Define.
4056 (TARGET_DEFAULT): Conditionally add MASK_ABS and MASK_ADDX.
4057 (TARGET_SWITCHES): Add "abs", "no-abs", "addx", and "no-addx".
4058 * config/xtensa/xtensa.md (*addx2, *addx4, *addx8, *subx2, *subx4,
4059 *subx8): Set predicate condition to TARGET_ADDX.
4060 (abssi2): Set predicate condition to TARGET_ABS.
4061 * doc/invoke.texi (Option Summary): Document new "-mabs", "-mno-abs",
4062 "-maddx", and "-mno-addx" options.
4063 (Xtensa Options): Likewise. Also tag some opcode names with @code.
4064
5d34c8e9
KR
40652003-05-20 Kevin Ryde <user42@zip.com.au>
4066 Wolfgang Bangerth <bangerth@dealii.org>
4067
4068 PR/10355
4069 * doc/extend.texi: Put a warning into the documentation
4070 of attribute regparm.
4071
1cd69e2b
JM
40722003-05-20 Jason Merrill <jason@redhat.com>
4073
4074 * tree.c (expr_last): New fn.
4075 * tree.h: Declare it.
4076 * objc/objc-act (expr_last): Rename to objc_expr_last.
4077
a60a9553
R
40782003-05-20 J"orn Rennecke <joern.rennecke@superh.com>
4079
4080 * sh.c (sh_register_move_cost): Add clase for moving between
4081 FP registers and MAC registers.
4082
12df72e8
JDA
40832003-05-19 John David Anglin <dave.anglin@nrc-gnrc.gc.ca>
4084
4085 * pa/milli64.S ($$mulI): Fix typo.
4086
07b7c979
MK
40872003-05-19 Matt Kraai <kraai@alumni.cmu.edu>
4088
4089 * alias.c (nonlocal_mentioned_p, nonlocal_referenced_p)
4090 (nonlocal_set_p): Remove initial blank line.
4091 * dwarf2out.c (simple_type_size_in_bits): Likewise.
4092 * et-forest.c (et_forest_create): Likewise.
4093 * explow.c (stabilize): Likewise.
4094 * fix-header.c (write_lbrac): Likewise.
4095 * graph.c (start_fct, node_data): Likewise.
4096 * jump.c (only_sets_cc0_p, sets_cc0_p): Likewise.
4097 * rtlanal.c (global_reg_mentioned_p): Likewise.
4098 * tree.c (bit_position): Likewise.
4099
fb9fc9f9
AO
41002003-05-19 Alexandre Oliva <aoliva@redhat.com>
4101
4102 * config/mips/linux64.h (LIB_SPEC): Add missing -lc and correct
4103 -lthread to -lpthread.
4104
42ad6c9e
NB
41052003-05-19 Neil Booth <neil@daikokuya.co.uk>
4106
4107 * c-opts.c (c_common_decode_option): Don't accept dollars
4108 as identifier characters in assembly.
4109 * doc/cpp.texi: Document this.
4110
4b6fe6b6
SA
41112003-05-19 Seth Arnold <sarnold@wirex.com>
4112 Aldy Hernandez <aldyh@redhat.com>
4113
5ded58d0
ZW
4114 * config/rs6000/rs6000.c (rs6000_stack_info): Do not add
4115 vrsave_size twice.
4b6fe6b6 4116
ce376beb
AH
41172003-05-19 Aldy Hernandez <aldyh@redhat.com>
4118
5ded58d0 4119 * doc/tm.texi (function_arg): Fix typo.
ce376beb 4120
a01fff59
MA
41212003-05-19 Matt Austern <austern@apple.com>
4122
4123 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-offsetof option.
4124 * c-common.h (warn_invalid_offsetof): Declare.
4125 * c-common.c (warn_invalid_offsetof): Define.
4126 * doc/invoke.texi: Document -Winvalid-offsetof.
4127 * testsuite/g++.dg/other/offsetof3.C: New.
4128 * testsuite/g++.dg/other/offsetof4.C: New.
5ded58d0 4129
025d9908 41302003-05-19 Kevin B. Hendricks <kevin.hendricks@sympatico.ca>
5ded58d0 4131 David Edelsohn <edelsohn@gnu.org>
025d9908
KH
4132
4133 * config/rs6000/rs6000.c (rs6000_alignment_string,
4134 rs6000_alignment_flags): New variables.
4135 (rs6000_parse_alignment_option): New function.
4136 (rs6000_override_options): Call it.
4137 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -malign-XXX option.
4138 (MASK_ALIGN_POWER, MASK_ALIGN_NATURAL, TARGET_ALIGN_NATURAL): New
4139 macros.
4140 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Always use COMPUTED
4141 natural alignment if TARGET_NATURAL_ALIGNMENT
4142 (ROUND_TYPE_ALIGN): Always use default record alignment if
4143 TAGET_NATURAL_ALIGNMENT.
4144 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Same
4145 (ROUND_TYPE_ALIGN): Same.
4146 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Same
4147 (ROUND_TYPE_ALIGN): Same.
6184e8a4
KH
4148 * doc/invoke.texi (Option Summary, PowerPC Options): Document
4149 new options.
025d9908 4150
52a8b7b8
R
41512003-05-19 J"orn Rennecke <joern.rennecke@superh.com>
4152
4153 * c-decl.c (finish_decl): When setting the DECL_ASSEMBLER_NAME
4154 of a function using ASMSPEC, prepend a star.
4155
68594ce7
JM
41562003-05-19 Jason Merrill <jason@redhat.com>
4157
4158 * tree-inline.c (copy_body_r): Avoid generating &* during inline
4159 substitution.
4160
6208b55d
AM
41612003-05-19 Andrew Macleod <amacleod@redhat.com>
4162
4163 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Do
4164 not mark assignments to the hard frame pointer as being stack
4165 frame related.
4166 (xstormy16_expand_epilogue): Mark adjustments to the stack
4167 pointer as being stack frame related.
4168
21c9500d
RS
41692003-05-19 Richard Sandiford <rsandifo@redhat.com>
4170
4171 * config/mips/mips.h (ISA_HAS_LOAD_DELAY, ISA_HAS_XFER_DELAY,
4172 ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS): New macros.
4173 (PREDICATE_CODES): Add hilo_operand.
4174 * config/mips/mips.c (hilo_operand): New predicate.
4175 (mips_adjust_insn_length): Account for the number nops that might
4176 be needed to avoid hardware hazards.
4177 * config/mips/mips.md (dslot): Remove attribute.
4178 (hazard): New attribute.
4179 (can_delay): Use it. Check for calls, branches & jumps.
4180 (muldi3): Use the standard dmult pattern for mips16 code.
4181 (muldi3_internal, muldi3_internal2): Adjust conditions accordingly.
4182
f29d1b66
RS
41832003-05-19 Richard Sandiford <rsandifo@redhat.com>
4184
4185 * config/mips/mips-protos.h (final_prescan_insn,
4186 mips_count_memory_refs, mips_fill_delay_slot): Remove.
4187 * config/mips/mips.h (delay_type, dslots_load_total,
4188 dslots_load_filled, dslots_jump_total, dslots_jump_filled,
4189 dslots_number_nops, num_refs, mips_load_reg, mips_load_reg2,
4190 mips_load_reg3, mips_load_reg4): Remove.
4191 (MASK_STATS): Remove.
4192 (MASK_EXPLICIT_RELOCS): Reuse its value.
4193 (TARGET_STATS): Remove.
4194 (TARGET_SWITCHES): Turn -mstats and -mno-stats into no-ops.
4195 Warn that -mstats is now ignored.
4196 (FINAL_PRESCAN_INSN): Undefine.
4197 (DBR_OUTPUT_SEQEND): Remove handling of dslot statistics.
4198 (ASM_OUTPUT_REG_POP): Likewise.
4199 * config/mips/mips.c (dslots_load_total, dslots_load_filled,
4200 dslots_jump_total, dslots_jump_filled, dslots_number_nops, num_refs,
4201 mips_load_reg, mips_load_reg2, mips_load_reg3, mips_load_reg4,
4202 mips_fill_delay_slot, mips_count_memory_refs,
4203 final_prescan_insn): Remove.
4204 (output_block_move): Remove calls to mips_count_memory_refs.
4205 (print_operand): Remove printing of #nop for TARGET_STATS.
4206 (mips_output_function_epilogue): Remove TARGET_STATS code.
4207 Reorganize setting of fnnmae.
4208 * config/mips/mips.md: Remove handling of dslot statistics
4209 throughout file. Change all fcmp patterns into normal asm
4210 templates, removing calls to mips_fill_delay_slot.
4211 * doc/invoke.texi: Remove documentation of -mstats.
4212
30a38382
RS
42132003-05-19 Richard Sandiford <rsandifo@redhat.com>
4214
4215 * config/mips/mips.c (mips_class_max_nregs): Return the number of
4216 words in the mode.
4217
beb14bd5
RS
42182003-05-19 Richard Sandiford <rsandifo@redhat.com>
4219
4220 * config/mips/mips.c (override_options): Disable explicit
4221 relocs for old ABIs unless using gas.
4222
1c745a02
EC
42232003-05-18 Eric Christopher <echristo@redhat.com>
4224
4225 * config/mips/mips.h: Remove definition of g_switch_value.
4226
307b599c
MK
42272003-05-18 Matt Kraai <kraai@alumni.cmu.edu>
4228
4229 * flags.h (g_switch_value): Change to an unsigned
4230 HOST_WIDE_INT.
4231 * toplev.c (g_switch_value): Likewise.
4232
4233 * config/alpha/alpha.c (small_symbolic_operand): Remove
1c745a02 4234 g_switch_value cast.
307b599c
MK
4235 (alpha_in_small_data_p): Cast size to an unsigned
4236 HOST_WIDE_INT.
4237
4238 * config/frv/frv.c (frv_in_small_data_p): Cast size to an
4239 unsigned HOST_WIDE_INT.
4240 * config/frv/frv.h (g_switch_value, g_switch_set): Remove.
4241 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Declare g_switch_set.
4242
4243 * config/m32r/m32r.c (m32r_in_small_data_p): Cast size to an
4244 unsigned HOST_WIDE_INT.
4245 (m32r_asm_file_start): Use HOST_WIDE_INT_PRINT_UNSIGNED.
4246 * config/m32r/m32r.h (g_switch_value, g_switch_set): Remove.
4247 (ASM_OUTPUT_ALIGNED_COMMON): Declare g_switch_value.
4248
4249 * config/rs6000/rs6000.c (rs6000_file_start): Use
4250 HOST_WIDE_INT_PRINT_UNSIGNED.
4251 (small_data_operand): Cast summand to unsigned HOST_WIDE_INT.
4252 (rs6000_elf_in_small_data_p): Cast size to unsigned
4253 HOST_WIDE_INT.
4254 * config/rs6000/sysv4.h (g_switch_value, g_switch_set):
4255 Remove.
4256 (SUBTARGET_OVERRIDE_OPTIONS): Declare g_switch_value and
4257 g_switch_set.
4258 (ASM_OUTPUT_ALIGNED_LOCAL): Declare g_switch_value and remove
4259 g_switch_value cast.
4260
731ae8dd
RS
42612003-05-18 Roger Sayle <roger@eyesopen.com>
4262 Zack Weinberg <zack@codesourcery.com>
4263
4264 PR middle-end/10472
4265 * builtins.c (expand_builtin_memcpy): Call force_operand on
4266 expressions and use simplify_gen_binary to create the addition.
4267
d1b3178b
AS
42682003-05-18 Andreas Schwab <schwab@suse.de>
4269
4270 * config/m68k/m68k.md: Use define_constants for unspec numbers.
4271
094a51ff
NB
42722003-05-18 Neil Booth <neil@daikokuya.co.uk>
4273
4274 * config/sparc/sparc.h: Define sparc for now.
7d4f6041
NN
42752003-05-18 Nathanael Nerode <neroden@gcc.gnu.org>
4276
6a38414a
NN
4277 * config.gcc: Clear xm_file, md_file at the beginning of each pass.
4278
1c745a02 4279 * config/stormy16/stormy16.h: Remove about 3000 lines of
595cac16
NN
4280 target-independent comments. Update copyright notice.
4281
7d4f6041
NN
4282 * doc/collect2.texi: GNU CC -> GCC.
4283 * doc/headerdirs.texi: GNU CC -> GCC.
4284
5e0c54e5
GDR
42852003-05-18 Gabriel Dos Reis <gdr@integrable-solutions.net>
4286
4287 * hashtable.h (struct ht_identifier): Add data member "hash_value".
1c745a02 4288 * hashtable.c (ht_lookup): Use it when searching, remember.
5e0c54e5
GDR
4289 (ht_expand): Do not recompute.
4290 * tree.h (IDENTIFIER_HASH_VALUE): New macro.
4291
dc1f1d7f
NS
42922003-05-18 Nathan Sidwell <nathan@codesourcery.com>
4293
4294 * gcov-io.c (gcov_read_bytes): Fix fread thinko.
4295
4e2e315f
NB
42962003-05-18 Neil Booth <neil@daikokuya.co.uk>
4297
4298 * c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, TARGET_OBJFMT_CPP_BUILTINS):
4299 Default here.
4300 (c_cpp_builtins): Invoke TARGET_OBJFMT_CPP_BUILTINS().
4301 * defaults.h: Don't default TARGET_OS_CPP_BUILTINS here.
4302 * config/elfos.h (TARGET_OBJFMT_CPP_BUILTINS): Define __ELF__.
4303 * config/freebsd-spec.h, config/netbsd-elf.h, config/alpha/gnu.h,
4304 config/arm/linux-elf.h, config/arm/rtems-elf.h,
4305 config/arm/unknown-elf.h, config/cris/cris.h, config/cris/linux.h,
4306 config/h8300/elf.h, config/i370/linux.h, config/i386/beos-elf.h,
4307 config/i386/gnu.h, config/i386/linux.h, config/i386/linux64.h,
4308 config/i386/moss.h, config/i386/rtemself.h, config/ia64/ia64.h,
4309 config/m68k/rtemself.h, config/mcore/mcore-elf.h, config/mips/linux.h,
4310 config/pa/pa-linux.h, config/rs6000/linux.h, config/rs6000/linux64.h,
4311 config/rs6000/sysv4.h, config/rs6000/vxworks.h, config/s390/linux.h,
4312 config/sh/coff.h, config/sh/elf.h, config/sh/rtemself.h,
4313 config/sh/sh.h, config/sparc/linux.h, config/sparc/linux64.h,
4314 config/sparc/openbsd64.h, config/sparc/sp64-elf.h,
4315 config/sparc/sp86x-elf.h, config/xtensa/elf.h, config/xtensa/linux.h:
4316 Don't define __ELF__.
4317 * config/alpha.h, config/m68k/linux.h (TARGET_OBJFMT_CPP_BUILTINS):
4318 Define __ELF__.
4319 * doc/cpp.texi: Document __ELF__.
1c745a02 4320 * doc/tm.texi: Document TARGET_OBJFMT_CPP_BUILTINS. *
4e2e315f 4321
e34d07f2
KG
43222003-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4323
4324 * builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
4325 always use stdarg.
4326 * c-errors.c (pedwarn_c99): Likewise.
4327 * c-format.c (status_warning): Likewise.
4328 * c-semantics.c (build_stmt): Likewise.
4329 * calls.c (emit_library_call, emit_library_call_value): Likewise.
4330 * collect2.c (notice, fatal_perror, fatal, error): Likewise.
4331 * cpperror.c (cpp_error, cpp_error_with_line): Likewise.
4332 * diagnostic.c (build_message_string, output_printf,
4333 output_verbatim, verbatim, inform, warning, pedwarn, error, sorry,
4334 fatal_error, internal_error, warning_with_decl, pedwarn_with_decl,
4335 error_with_decl, fnotice): Likewise.
4336 * dwarf2asm.c (dw2_asm_output_data, dw2_asm_output_delta,
4337 dw2_asm_output_offset, dw2_asm_output_pcrel, dw2_asm_output_addr,
4338 dw2_asm_output_addr_rtx, dw2_asm_output_nstring,
4339 dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128,
4340 dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
4341 dw2_asm_output_encoded_addr_rtx): Likewise.
4342 * emit-rtl.c (gen_rtx, gen_rtvec): Likewise.
4343 * errors.c (warning, error, fatal, internal_error): Likewise.
4344 * final.c (output_operand_lossage, asm_fprintf): Likewise.
4345 * fix-header.c (fatal): Likewise.
4346 * gcc.c (fatal, error, notice): Likewise.
4347 * gcov.c (fnotice): Likewise.
4348 * genattrtab.c (attr_rtx, attr_printf): Likewise.
4349 * gengtype.c (error_at_line, xasprintf, oprintf): Likewise.
4350 * gensupport.c (message_with_line): Likewise.
4351 * mips-tfile.c (fatal, error): Likewise.
4352 * protoize.c (notice): Likewise.
4353 * ra-debug.c (ra_debug_msg): Likewise.
4354 * read-rtl.c (fatal_with_file_and_line): Likewise.
4355 * rtl-error.c (error_for_asm, warning_for_asm): Likewise.
4356 * tree.c (build, build_nt, build_function_type_list): Likewise.
4357
c08f71aa
NB
43582003-05-17 Neil Booth <neil@daikokuya.co.uk>
4359
4360 * defaults.h (TARGET_CPU_CPP_BUILTINS, CPP_PREDEFINES): Remove.
4361 * gcc.c (cpp_predefines): Remove.
4362 (cpp_unique_options, do_spec_1): Remove handling of CPP_PREDEFINES.
4363 (static_specs): Remove predefines.
4364 * system.h: Poison CPP_PREDEFINES.
4365 * config/freebsd.h, config/openbsd.h, config/ptx4.h, config/svr3.h,
4366 config/svr4.h, doc/tm.texi: Remove references to CPP_PREDEFINES.
4367
a7fbe404
NB
43682003-05-17 Neil Booth <neil@daikokuya.co.uk>
4369
4370 * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68k-none.h,
4371 config/m68k/m68k.h, config/m68k/m68kemb.h, config/m68k/m68kv4.h,
4372 config/m68k/openbsd.h, config/m68k/rtemself.h: Remove CPP_PREDEFINES,
4373 use TARGET_OS_CPP_BUILTINS and TARGET_CPU_CPP_BUILTINS instead.
4374
b1822ccc
NB
43752003-05-17 Neil Booth <neil@daikokuya.co.uk>
4376
3af15d58 4377 PR c/9209
b1822ccc
NB
4378 * c-common.c, c-common.h (dollars_in_ident): Remove.
4379 * c-opts.c (DOLLARS_IN_IDENTIFIERS): Default to true.
4380 (c_common_init_options, c_common_decode_option): Set dollars_in_ident.
4381 * cpphash.h (warned_dollar): Rename warn_dollars.
4382 * cppinit.c (struct lang_flags, lang_defaults, cpp_set_lang)
4383 Permit dollars regardless of -std=.
4384 (post_options): Set warn_dollars.
4385 * cpplex.c (forms_identifier_p): Use warn_dollars.
4386 * config/darwin.h, config/alpha/vms.h, config/m68hc11/m68hc11.h:
4387 Remove redundant definitions of DOLLARS_IN_IDENTIFIERS.
4388 * doc/cpp.texi, doc/cppopts.texi, doc/invoke.texi, doc/tm.texi:
4389 Update documentation.
4390
a69e127b
AS
43912003-05-17 Andreas Schwab <schwab@suse.de>
4392
4393 * config/m68k/m68k.c (m68k_output_function_prologue): Use
4394 HOST_WIDE_INT_PRINT_DEC for fprintf and %wd for asm_fprintf when
4395 formatting a HOST_WIDE_INT.
4396 (m68k_output_function_epilogue): Likewise.
4397
2aea0b53
ZW
43982003-05-17 Zack Weinberg <zack@codesourcery.com>
4399
4400 * doc/install.texi: Remove information about desupported targets.
4401
1a8965c4
AS
44022003-05-17 Andreas Schwab <schwab@suse.de>
4403
4404 * config/m68k/coff.h: Remove support for Sun FPA and Sun SKY board.
4405 * config/m68k/linux.h: Likewise.
4406 * config/m68k/m68k-none.h: Likewise.
4407 * config/m68k/netbsd-elf.h: Likewise.
4408 * config/m68k/sgs.h: Likewise.
4409 * config/m68k/m68k.h: Likewise.
4410 * config/m68k/m68k.md: Likewise.
4411 * config/m68k/m68k.c: Likewise.
4412 * doc/md.texi (Machine Constraints): Remove Sun FPA specific
4413 constraints.
4414 * doc/invoke.texi (Option Summary): Remove -mfpa.
4415 (M680x0 Options): Likewise.
4416
2a8fa26c
DE
44172003-05-17 David Edelsohn <edelsohn@gnu.org>
4418
4419 * rs6000.c (rs6000_function_value): Simplify REAL_TYPE logic.
4420
6508bdd5
NB
44212003-05-17 Neil Booth <neil@daikokuya.co.uk>
4422
4423 * config/sol2.h: Add TARGET_SUB_OS_CPP_BUILTINS.
4424 * config/sparc/liteelf.h, config/sparc/openbsd64.h,
4425 config/sparc/rtemself.h, config/sparc/sol2-64.h,
4426 config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h:
4427 Update for use of TARGET_SUB_OS_CPP_BUILTINS.
4428
8d55c164
NB
44292003-05-17 Neil Booth <neil@daikokuya.co.uk>
4430
4431 * i960/i960.h, i960/rtems.h: Use TARGET_OS_CPP_BUILTINS and
4432 TARGET_CPU_CPP_BUILTINS in preference to CPP_PREDEFINES.
4433
9b8466f4
NB
44342003-05-17 Neil Booth <neil@daikokuya.co.uk>
4435
4436 * config.gcc (sparc-*-sysv4*): Add sparc/sysv4-only.h.
4437 * sparc/aout.h, sparc/elf.h, sparc/freebsd.h, sparc/linux.h,
4438 sparc/linux64.h, sparc/lite.h, sparc/litecoff.h, sparc/liteelf.h,
4439 sparc/netbsd-elf.h, sparc/openbsd.h, sparc/openbsd64.h,
4440 sparc/pbd.h, sparc/rtemself.h, sparc/sol2-64.h, sparc/sol2-bi.h,
4441 sparc/sol2.h, sparc/sp64-elf.h, sparc/sp86-elf.h, sparc/sparc.h,
4442 sparc/sysv4.h,
4443 * sparc/sysv4-only.h: New.
4444
5c07bd7a
AM
44452003-05-17 Alan Modra <amodra@bigpond.net.au>
4446
4447 * function.c (assign_parms): Check for zero size args.
4448
7e53359d
KG
44492003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4450
90ff44cf
KG
4451 * cfgloopanal.c (test_for_iteration): Use string concatentation on
4452 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
4453 function calls into one.
4454 * dbxout.c (dbxout_symbol): Likewise.
4455 * defaults.h (ASM_OUTPUT_SIZE_DIRECTIVE): Likewise.
4456 * dwarf2asm.c (dw2_asm_output_data_uleb128,
4457 dw2_asm_output_data_sleb128): Likewise.
4458 * genrecog.c (debug_decision_2): Likewise.
4459 * loop.c (emit_prefetch_instructions): Likewise.
4460 * print-rtl.c (print_rtx): Likewise.
4461 * print-tree.c (print_node_brief, print_node): Likewise.
4462 * ra-debug.c (dump_igraph, dump_graph_cost,
4463 dump_static_insn_cost): Likewise.
4464 * ra-rewrite.c (dump_cost): Likewise.
4465 * sdbout.c (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
4466 * sreal.c (dump_sreal): Likewise.
4467 * unroll.c (unroll_loop, precondition_loop_p): Likewise.
4468 * varasm.c (assemble_vtable_entry): Likewise.
4469
7e53359d
KG
4470 * avr.c (avr_output_function_prologue,
4471 avr_output_function_epilogue, print_operand): Fix format specifier
4472 warnings.
4473 (init_cumulative_args): Mark parameter with ATTRIBUTE_UNUSED.
4474 * avr.h (FUNCTION_VALUE_REGNO_P): Fix signed/unsigned warnings.
4475
79406520
GK
44762003-05-16 Geoffrey Keating <geoffk@apple.com>
4477
cabfd258
GK
4478 * config/rs6000/rs6000.c (expand_block_move): Unify the TARGET_STRING
4479 and ! TARGET_STRING cases.
4480
79406520
GK
4481 * doc/cppopts.texi (-undef): Fix texinfo warning.
4482
4483 * doc/cppopts.texi (-H): Document that -H works for PCH files too.
4484 * cppfiles.c (validate_pch): When -H is used, print some information
4485 about PCH files found.
4486
190162de
RK
44872003-05-16 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4488
4489 * config/mips/t-elf: Remove obsolete rules adding dependencies on tm.h.
4490 * config/mips/t-isa3264, config/mips/t-r3900: Likewise.
4491 * config/mips/t-sr71k: Likewise.
4492
69487202
KG
44932003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4494
15a5dddc
KG
4495 * arc.c (arc_output_function_prologue,
4496 arc_output_function_epilogue): Fix format specifier warnings.
2aea0b53 4497 * arc.h (LARGE_INT): Fix signed/unsigned warnings.
15a5dddc 4498
e0b3adcb
KG
4499 * v850.c (print_operand): Fix format specifier warnings.
4500
8745765a 4501 * ns32k.c (ADJSP, ns32k_output_function_prologue): Fix format
2aea0b53 4502 specifier warnings.
8745765a 4503
fd7b8952
KG
4504 * mcore.c (mcore_print_operand_address, mcore_print_operand): Fix
4505 format specifier warnings.
4506
f5a1c99c
KG
4507 * ip2k.c (function_prologue, function_epilogue, print_operand):
4508 Fix format specifier warnings.
4509 * ip2k.md: Likewise.
4510
0c6b830b
KG
4511 * i960.c (i960_output_function_prologue, i960_print_operand,
4512 i960_print_operand_addr): Fix format specifier warnings.
4513
94c5db54
KG
4514 * i370.c (ascebc, ebcasc): Wrap in macros controlling usage.
4515 (i370_output_function_prologue): Fix format specifier warnings.
4516 * i370.h (PRINT_OPERAND): Likewise.
4517
1bdfacf6
KG
4518 * fr30.c (fr30_print_operand): Fix format specifier warnings.
4519
5f1ed3b2
KG
4520 * dsp16xx.c (print_operand_address): Fix format specifier warning.
4521 * dsp16xx.h (INCLUDE_DEFAULTS): Add missing initializers.
4522
13a8b496
KG
4523 * c4x.c (c4x_print_operand, c4x_print_operand_address): Fix format
4524 specifier warnings.
4525
4a0a75dd
KG
4526 * alpha.c (print_operand_address, alpha_start_function,
4527 unicosmk_output_ssib): Use string concatentation on
4528 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
4529 function calls into one.
4530 * arm.c (arm_print_operand): Likewise.
4531 * cris.c (cris_asm_output_mi_thunk): Likewise.
4532 * frv.c (frv_asm_output_mi_thunk): Likewise.
4533 * ia64.c (ia64_print_operand, process_set): Likewise.
4534 * m68k.c (m68k_output_function_epilogue, m68k_output_mi_thunk):
4535 Likewise.
4536 * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
4537 * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
4538 * pa.c (output_div_insn, pa_asm_output_mi_thunk): Likewise.
4539 * pa.h (PRINT_OPERAND_ADDRESS): Likewise.
4540 * rs6000.c (rs6000_va_start, print_operand_address): Likewise.
4541 * s390.c (s390_assemble_integer): Likewise.
4542 * sparc.c (sparc_flat_function_prologue,
2aea0b53 4543 sparc_flat_function_epilogue): Likewise.
4a0a75dd
KG
4544 * stormy16.c (xstormy16_print_operand_address, xstormy16_print_operand): Likewise.
4545 * vax.c (vax_output_mi_thunk): Likewise.
4546
6f562bc6
KG
4547 * frv.c (frv_print_operand_memory_reference): Fix format specifier
4548 warning.
4549 (frv_rtx_costs): Mark parameter with ATTRIBUTE_UNUSED.
4550
c8f4b20f
KG
4551 * m68k.c (m68k_output_function_epilogue): Fix format specifier
4552 warnings.
4553
804a0655
KG
4554 * stormy16-protos.h (xs_hi_general_operand,
4555 xs_hi_nonmemory_operand): Prototype.
4556 * stormy16.c (xstormy16_output_shift): Fix format specifier
4557 warnings.
4558
69487202
KG
4559 * cris.c: Fix format specifier warnings.
4560
ba2f4247
NC
45612003-05-16 Nick Clifton <nickc@redhat.com>
4562
4563 * config/arm/lib1funcs.asm: Fix typo: LSM instead of LSYM.
4564
674e9baa
WB
45652003-05-16 Wolfgang Bangerth <bangerth@dealii.org>
4566
4567 * doc/bugreport.texi: Remove most of the of the preface of the
4568 bugs section.
4569
b80c0987
JJ
45702003-05-16 Jakub Jelinek <jakub@redhat.com>
4571
4572 * config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
4573 .save XX, r0.
4574
ad14dc5c
RS
45752003-05-15 Roger Sayle <roger@eyesopen.com>
4576
4577 * config/alpha/alpha.h (ASM_OUTPUT_SKIP): Fix typo.
4578
10d6c0d0
EC
45792003-05-15 Eric Christopher <echristo@redhat.com>
4580
4581 * cfgcleanup.c (merge_blocks): Fix return value.
4582
3dcd7d45
EC
45832003-05-15 Eric Christopher <echristo@redhat.com>
4584
2aea0b53
ZW
4585 * combine.c (expand_compound_operation): Make sure
4586 that zero_extend operation is profitable.
3dcd7d45 4587
36b9c271
RH
45882003-05-15 Richard Henderson <rth@redhat.com>
4589
4590 * config/alpha/linux.h, config/alpha/linux-elf.h: Remove
4591 code protected by USE_GNULIBC_1.
4592
7c942e17
ZW
45932003-05-15 Zack Weinberg <zack@codesourcery.com>
4594
4595 * config.gcc: Purge all targets obsoleted in GCC 3.3. Also
4596 remove hppa*-*-mpeix* which could not be built, and prune
4597 files from tmake_file= or tm_file= lists that don't exist.
4598
4599 * config/alpha/alpha-interix.h, config/alpha/alpha32.h
4600 * config/alpha/t-interix, config/arm/conix-elf.h
4601 * config/arm/t-arm-aout, config/arm/t-strongarm-coff
4602 * config/arm/unknown-elf-oabi.h, config/i386/win32.h
4603 * config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
4604 * config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
4605 * config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
4606 * config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
4607 * config/m68k/m68k-psos.h, config/m68k/mot3300.h
4608 * config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
4609 * config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
4610 * config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
4611 * config/m68k/t-mot3300, config/m68k/t-mot3300-gald
4612 * config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
4613 * config/m68k/tower-as.h, config/m68k/tower.h
4614 * config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
4615 * config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
4616 * config/m88k/m88k-protos.h, config/m88k/m88k.c
4617 * config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
4618 * config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
4619 * config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
4620 * config/mips/rtems64.h, config/mips/sni-gas.h
4621 * config/mips/sni-svr4.h, config/mips/t-ecoff
4622 * config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
4623 * config/mn10200/mn10200.c, config/mn10200/mn10200.h
4624 * config/mn10200/mn10200.md, config/mn10200/t-mn10200
4625 * config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
4626 * config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
4627 * config/romp/romp-protos.h, config/romp/romp.c
4628 * config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
4629 * config/rs6000/aix3newas.h, config/rs6000/mach.h
4630 * config/sparc/bsd.h, config/sparc/hal.h
4631 * config/sparc/linux-aout.h, config/sparc/lynx-ng.h
4632 * config/sparc/lynx.h, config/sparc/netbsd.h
4633 * config/sparc/sp86x-aout.h, config/sparc/splet.h
4634 * config/sparc/sun4gas.h, config/sparc/sun4o3.h
4635 * config/sparc/sunos4.h, config/sparc/t-chorus-elf
4636 * config/sparc/t-halos, config/sparc/t-sparcbare
4637 * config/sparc/t-splet, config/sparc/t-sunos41
4638 * config/v850/rtems.h: Delete file.
4639
a6ebc39a
AH
46402003-05-15 Aldy Hernandez <aldyh@redhat.com>
4641
7c942e17 4642 * config/rs6000/rs6000-protos.h (function_value): Protoize.
a6ebc39a 4643
7c942e17 4644 * config/rs6000/rs6000.h (FUNCTION_VALUE): Call function.
a6ebc39a 4645
7c942e17 4646 * config/rs6000/rs6000.c (rs6000_function_value): New.
a6ebc39a 4647
4b3c2e48
PB
46482003-05-15 Philip Blundell <philb@gnu.org>
4649
4650 * config/arm/arm.c (arm_is_xscale): Rename to arm_arch_xscale.
4651 All uses updated.
4652 (arm_tune_xscale): New variable.
4653 (arm_override_options): Set it.
4654 (arm_adjust_cost): Use it in place of arm_arch_xscale.
4655 (arm_gen_load_multiple): Likewise.
4656 (arm_gen_store_multiple): Likewise.
4657 * config/arm/arm.md (is_xscale): Likewise.
4658 * config/arm/arm.h (arm_tune_xscale): Declare.
4659
c75a3ddc
PB
46602003-05-15 Philip Blundell <philb@gnu.org>
4661
4662 PR target/10730
4663 * config/arm/arm.c (adjacent_mem_locations): Reject offsets
4664 involving invalid constants.
4665
411f7850
JDA
46662003-05-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4667
4668 * pa.c (hppa_expand_prologue): Remove blockage.
4669
486772b1
WB
46702003-05-15 Wolfgang Bangerth <bangerth@dealii.org>
4671
4672 * doc/bugreport.texi: Remove most of the bug reporting
4673 instructions and merge them into bugs.html.
4674
c1fefa09
MK
46752003-05-14 Matt Kraai <kraai@alumni.cmu.edu>
4676
4677 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
4678 g_switch_value to unsigned HOST_WIDE_INT.
4679
72531479
EC
46802003-05-14 Eric Christopher <echristo@redhat.com>
4681
4682 * combine.c: Fix header comments.
4683 (distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
4684 to all calls and prototype.
4685
e43736ad
RS
46862003-05-14 Roger Sayle <roger@eyesopen.com>
4687
4688 PR optimization/10764
72531479 4689 * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
e43736ad
RS
4690 Add an explicit clobber to show that UNSPEC_FPATAN clobbers st(1).
4691 (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): Likewise,
4692 add an explicit clobber to show that UNSPEC_FYL2X clobbers st(1).
4693 (logsf2, logdf2, logxf2, logtf2): Update expander patterns to match
4694 the corresponding *fyl2x_?fxf3 instructions.
4695
49e57ab0
BW
46962003-05-14 Bob Wilson <bob.wilson@acm.org>
4697
4698 * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Change from 49 to 59.
4699 * config/xtensa/xtensa-config.h (XCHAL_HAVE_CONST16,
4700 XCHAL_HAVE_L32R): New.
4701 * config/xtensa/xtensa-protos.h (non_const_move_operand,
4702 xtensa_load_constant, xtensa_function_prologue,
4703 xtensa_function_epilogue): Delete prototypes.
4704 (xtensa_expand_prologue): New.
4705 * config/xtensa/xtensa.c (frame_size_const,
4706 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_MACHINE_DEPENDENT_REORG,
4707 non_const_move_operand, xtensa_load_constant, xtensa_reorg,
4708 xtensa_function_prologue): Delete.
4709 (add_operand, xtensa_mem_offset): Formatting.
4710 (move_operand): If the const16 option is available, allow any SFmode
4711 and SImode constants.
4712 (xtensa_emit_move_sequence): Inline the former contents of
4713 xtensa_load_constant with modifications to handle the const16 option.
4714 (override_options): Add xtensa_char_to_class['W'] and set it to
4715 the general register class only if the const16 option is enabled.
4716 Fix formatting. Disallow PIC when using the const16 option.
4717 (print_operand): Reorganize to switch on "letter" instead of the
4718 RTL code. Add output_operand_lossage calls for invalid cases.
4719 Add support for 't' and 'b' letters.
4720 (xtensa_expand_prologue): New function to replace
4721 xtensa_function_prologue and xtensa_reorg.
4722 (xtensa_function_epilogue): Declare this as static. Delete code
4723 to print the retw.n or retw instruction.
4724 (xtensa_return_addr): Use A0_REG instead of 0.
4725 (xtensa_rtx_costs): Add costs for using the const16 option.
4726 * config/xtensa/xtensa.h (MASK_CONST16, TARGET_CONST16): New.
4727 (TARGET_DEFAULT): Add CONST16 if L32R instructions not available.
4728 (TARGET_SWITCHES): Add "const16" and "no-const16".
4729 (REG_CLASS_FROM_LETTER): Add comment about new 'W' letter.
4730 (EXTRA_CONSTRAINT): Change 'T' constraint to only apply when not
4731 using the const16 option.
4732 (TRAMPOLINE_TEMPLATE): Rewrite to avoid hardwired use of l32r insn.
4733 (TRAMPOLINE_SIZE): Change from 49 to 59.
4734 (INITIALIZE_TRAMPOLINE): Adjust offsets to match new trampoline.
4735 (GO_IF_LEGITIMATE_ADDRESS): Do not allow constant pool addresses
4736 when using the const16 option.
4737 (PREDICATE_CODES): Delete non_const_move_operand.
4738 * config/xtensa/xtensa.md (define_constants): Add A1_REG, A8_REG, and
4739 UNSPECV_ENTRY.
4740 (movdi, movdf): If the source is a constant, always expand to a
4741 sequence of movsi insns.
4742 (movdi_internal, movdf_internal): Remove alternative using l32r insns.
4743 (movsi_internal, movsf_internal): Add alternative using const16 insns.
4744 (movsf): Add const16 support.
4745 (entry, prologue, epilogue): New.
4746 (set_frame_ptr): Add missing mode for unspec_volatile operation.
4747 Likewise for subsequent split pattern.
4748 * doc/invoke.texi (Option Summary, Xtensa Options): Document new
4749 "-mconst16" and "-mno-const16" options.
4750
ae49d6e5
RH
47512003-05-14 Richard Henderson <rth@redhat.com>
4752
4753 * config/ia64/ia64.c (ia64_expand_load_address): Force destination
4754 to be DImode register. Merge load_symptr.
4755 * config/ia64/ia64.md (load_symptr): Remove.
4756
2adb9af1
RH
47572003-05-14 Richard Henderson <rth@redhat.com>
4758
4759 * rtl.h (TREE_CONSTANT_POOL_ADDRESS_P): Rename from
4760 DEFERRED_CONSTANT_P.
4761 * integrate.c (copy_rtx_and_substitute): Update use.
4762 * varasm.c (build_constant_desc): Set SYMBOL_REF_DECL
4763 to the copy generated.
4764 (maybe_output_constant_def_contents): Examine TREE_ASM_WRITTEN
4765 of the constant to see if we should emit.
4766 (mark_constant): Similarly.
4767 (output_constant_def_contents): Set TREE_ASM_WRITTEN.
4768
bb84cb12
DE
47692003-05-14 David Edelsohn <edelsohn@gnu.org>
4770
4771 * config/rs6000/rs6000.md (movsi_internal2): Use compare for self
4772 move record condition.
4773 (movdi_internal2): Same.
4774
3ec6c6ee
NS
47752003-05-14 Nathan Sidwell <nathan@codesourcery.com>
4776
7d63a2fa
NS
4777 * gcov-io.h (gcov_write_bytes, gcov_read_bytes): Remove here.
4778 (GCOV_TAG_*) Force type to gcov_unsigned_t.
4779 (GCOV_CHECK, GCOV_CHECK_READING, GCOV_CHECK_WRITING): New.
4780 (struct gcov_var): Remove modified. Add start, length, offset,
4781 overread. Have buffer array for libgcov.
4782 (gcov_sync, gcov_seek): Definitions moved to gcov-io.c.
4783 (gcov_position, gcov_rewrite, gcov_is_eof): Adjust.
4784 * gcov-io.c (gcov_open): Set mode, do not read anything.
4785 (gcov_close): Write final block.
4786 (gcov_write_block, gcov_allocate): New.
4787 (gcov_write_bytes): Make static. Write or allocate buffer.
4788 (gcov_write_unsigned, gcov_write_counter): Buffer can never be
4789 null.
4790 (gcov_write_string): Adjust.
4791 (gcov_write_tag)
4792 (gcov_write_length): Adjust. Flush the block.
4793 (gcov_write_tag_length): Buffer can never be null.
4794 (gcov_read_bytes): Make static. Read in block.
4795 (gcov_sync): Moved here. Adjust.
4796 (gcov_seek): Moved here. Adjust.
4797 * coverage.c (read_counts_file): Adjust.
4798 * gcov-dump.c (print_prefix): Add position parameter.
4799 (flag_dump_positions): New flag.
4800 (options, main, print_usage): Add it.
4801 (dump_file, tag_blocks, tag_arcs, tag_lines, tag_counters,
4802 tag_summary): Adjust.
4803 * gcov.c (read_graph_file, read_count_file): Adjust.
4804 * libgcov.c (gcov_exit): Adjust.
4805
990f4800
NS
4806 * Makefile.in (LIBGCC_DEPS): Use $(srcdir) on gcov files
4807 (libgcov.a): Depend on libgcc.a.
4808 (gcov.o, gcov-dump.o): Add gcov-io.c.
4809 * mklibgcc.in (libgcov_c_dep): Use $(srcdir).
72531479 4810
3ec6c6ee
NS
4811 * loop.c (check_dbra_loop): Factor common test.
4812
c62347f0
BE
48132003-05-14 Ben Elliston <bje@wasabisystems.com>
4814
4815 * doc/md.texi (Automaton pipeline description): Grammar fixes.
4816
18dbd950
RS
48172003-05-14 Richard Sandiford <rsandifo@redhat.com>
4818
4819 * target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.
4820 (TARGET_INITIALIZER): Include it.
4821 * target.h (struct gcc_target): Add machine_dependent_reorg field.
4822 * toplev.c (rest_of_compilation): Use targetm.machine_dependent_reorg.
2f9bb7c5 4823 * system.h: Poison MACHINE_DEPENDENT_REORG.
18dbd950
RS
4824
4825 * config/alpha/alpha-protos.h (alpha_reorg): Remove declaration.
4826 * config/alpha/alpha.h (MACHINE_DEPENDENT_REORG): Remove.
4827 * config/alpha/alpha.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
4828 (alpha_handle_trap_shadows): Remove "first insn" parameter.
4829 (alpha_align_insns): Likewise.
4830 (alpha_reorg): Likewise. Make static. Update calls to above
4831 functions.
4832
4833 * config/arm/arm-protos.h (arm_reorg): Remove declaration.
4834 * config/arm/arm.h (MACHINE_DEPENDENT_REORG): Remove.
4835 * config/arm/arm.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
4836 (arm_reorg): Remove parameter. Make static.
4837
4838 * config/avr/avr-protos.h (machine_dependent_reorg): Remove.
4839 * config/avr/avr.h (MACHINE_DEPENDENT_REORG): Remove.
4840 * config/avr/avr.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
4841 (avr_reorg): Renamed from machine_dependent_reorg. Make static.
4842 Remove parameter.
4843
4844 * config/c4x/c4x-protos.h (c4x_process_after_reload): Remove.
4845 * config/c4x/c4x.h (MACHINE_DEPENDENT_REORG): Remove.
4846 * config/c4x/c4x.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
4847 (c4x_reorg): Renamed from c4x_process_after_reload. Make static.
4848 Remove parameter.
4849
4850 * config/d30v/d30v-protos.h (d30v_machine_dependent_reorg): Remove.
4851 * config/d30v/d30v.h (MACHINE_DEPENDENT_REORG): Remove.
4852 * config/d30v/d30v.c (d30v_machine_dependent_reorg): Remove.
4853
4854 * config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove.
4855 * config/frv/frv.c: Remove orphaned comment.
4856
4857 * config/i386/i386-protos.h (x86_machine_dependent_reorg): Remove.
4858 * config/i386/i386.h (MACHINE_DEPENDENT_REORG): Remove.
4859 * config/i386/i386.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
4860 (ix86_reorg): Renamed from x86_machine_dependent_reorg. Make static.
4861 Remove parameter.
4862
4863 * config/ia64/ia64-protos.h (ia64_reorg): Remove declaration.
4864 * config/ia64/ia64.h (MACHINE_DEPENDENT_REORG): Remove.
4865 * config/ia64/ia64.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
4866 (emit_insn_group_barriers): Remove "first insn" parameter.
4867 (emit_all_insn_group_barriers): Likewise.
4868 (ia64_reorg): Likewise. Make static. Update calls to above functions.
4869 (ia64_output_mi_thunk): Update call to emit_all_insn_group_barriers.
4870
4871 * config/ip2k/ip2k-protos.h (machine_dependent_reorg): Remove.
4872 * config/ip2k/ip2k.h (MACHINE_DEPENDENT_REORG): Remove.
4873 * config/ip2k/ip2k.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
4874 (ip2k_reorg): Renamed from machine_dependent_reorg. Make static.
4875 Remove parameter.
4876
4877 * config/m68hc11/m68hc11-protos.h (m68hc11_reorg): Remove declaration.
4878 * config/m68hc11/m68hc11.h (MACHINE_DEPENDENT_REORG): Remove.
4879 * config/m68hc11/m68hc11.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
4880 (m68hc11_reorg): Make static. Remove parameter.
4881
4882 * config/mcore/mcore-protos.h (mcore_dependent_reorg): Remove.
4883 * config/mcore/mcore.h (MACHINE_DEPENDENT_REORG): Remove.
4884 * config/mcore/mcore.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
4885 (conditionalize_optimization): Remove parameter.
4886 (mcore_reorg): Renamed from mcore_dependent_reorg. Remove parameter.
4887 Make static. Update call to conditionalize_optimization.
4888
4889 * config/mips/mips-protos.h (machine_dependent_reorg): Remove.
4890 * config/mips/mips.h (MACHINE_DEPENDENT_REORG): Remove.
4891 * config/mips/mips.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
4892 (mips_reorg): Renamed from machine_dependent_reorg. Remove parameter.
4893 Make static.
4894
4895 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): Remove.
4896 * config/mmix/mmix.h (MACHINE_DEPENDENT_REORG): Remove.
4897 * config/mmix/mmix.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
4898 (mmix_reorg): Renamed from mmix_machine_dependent_reorg. Make static.
4899 Remove parameter.
4900
4901 * config/pa/pa-protos.h (pa_reorg): Remove declaration.
4902 * config/pa/pa.h (MACHINE_DEPENDENT_REORG): Remove.
4903 * config/pa/pa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
4904 (pa_combine_instructions): Remove "first insn" parameter.
4905 (remove_useless_addtr_insns): Likewise.
4906 (pa_reorg): Likewise. Make static. Update calls to above functions.
4907
4908 * config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove
4909 commented-out definition.
4910
4911 * config/s390/s390-protos.h (s390_machine_dependent_reorg): Remove.
4912 * config/s390/s390.h (MACHINE_DEPENDENT_REORG): Remove.
4913 * config/s390/s390.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
4914 (s390_reorg): Renamed from s390_machine_dependent_reorg. Make static.
4915 Remove parameter.
4916
4917 * config/sh/sh-protos.h (machine_dependent_reorg): Remove.
4918 * config/sh/sh.h (MACHINE_DEPENDENT_REORG): Remove.
4919 * config/sh/sh.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
4920 (sh_reorg): Renamed from machine_dependent_reorg. Make static.
4921 Remove parameter.
4922 (sh_output_mi_thunk): Call sh_reorg directly.
4923 * config/sh/sh.md: Update comment.
4924
4925 * config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove
4926 commented-out definition.
4927
4928 * config/v850/v850-protos.h (v850_reorg): Remove declaration.
4929 * config/v850/v850.h (MACHINE_DEPENDENT_REORG): Remove.
4930 * config/v850/v850.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
4931 (v850_reorg): Make static. Remove parameter.
4932
4933 * config/xtensa/xtensa-protos.h (xtensa_reorg): Remove declaration.
4934 * config/xtensa/xtensa.h (MACHINE_DEPENDENT_REORG): Remove.
4935 * config/xtensa/xtensa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
4936 (xtensa_reorg): Make static. Remove parameter.
4937
4938 * doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove.
4939 (TARGET_MACHINE_DEPENDENT_REORG): Document.
4940
2306d91c
RH
49412003-05-13 Richard Henderson <rth@redhat.com>
4942
4943 * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if
4944 the old decl had instantiated DECL_RTL.
4945
c2d635bc
MS
49462003-05-13 Mike Stump <mrs@apple.com>
4947
4948 * doc/invoke.texi (Option Summary): Kill off documentation for -$.
4949
7aabff18
JJ
49502003-05-13 Janis Johnson <janis187@us.ibm.com>
4951
4952 * config/rs6000/sysv4.h (OUTPUT_ASM_ALIGNED_LOCAL): Expect
4953 HOST_WIDE_INT argument.
4954
03307888
JM
49552003-05-13 Jason Merrill <jason@redhat.com>
4956
4957 * tree.h (STRIP_MAIN_TYPE_NOPS): New macro.
4958
4959 * tree.c (iterative_hash_expr): New fn.
4960
4961 * c-semantics.c (emit_local_var): Don't mess with temp slots if
4962 there's no initializer.
4963
d660cefe
RS
49642003-05-13 Richard Sandiford <rsandifo@redhat.com>
4965
4966 * final.c (final_scan_insn): Apply the effects of frame-related
4967 delay slot insns before emitting a delayed branch.
4968
c1f1978f
NC
49692003-05-13 Nick Clifton <nickc@redhat.com>
4970
4971 * config/mcore/mcore.md (jump): Use emit_jump_insn.
4972
7641be90
UW
49732003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
4974
4975 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Second
4976 parameter of ASM_OUTPUT_SKIP must have type unsigned HOST_WIDE_INT.
4977
f26aca6d
DD
49782003-05-12 DJ Delorie <dj@redhat.com>
4979
4980 * expr.c (move_by_pieces): Honor the alignment of TO and FROM.
4981 (emit_push_insn): Don't use push when the source alignment is less
4982 than the stack's push rounding.
4983
fa6ef813
ZW
49842003-05-13 Zack Weinberg <zack@codesourcery.com>
4985
4986 * diagnostic.c (output_format): Add support for %m.
4987 (output_printf, output_verbatim, diagnostic_set_info,
4988 verbatim): Set err_no field of the text_info structure being
4989 initialized.
4990 (fatal_io_error): Delete function.
4991 * diagnostic.h (text_info): Add err_no field.
4992 * toplev.h (fatal_io_error): Delete prototype.
4993
4994 * c-opts.c, c-pch.c, dwarfout.c, ggc-common.c, ggc-page.c, graph.c
4995 * toplev.c, config/mips/mips.c, config/rs6000/host-darwin.c
4996 * objc/objc-act.c: Replace all calls to fatal_io_error with
4997 calls to fatal_error; add ": %m" to the end of all the affected
4998 error messages.
4999
a2a6a79b
ZW
50002003-05-13 Zack Weinberg <zack@codesourcery.com>
5001
5002 * varasm.c (notice_rtl_inlining_of_deferred_constant): New function.
5003 * rtl.h: Prototype it.
5004 * integrate.c (copy_rtx_and_substitute <SYMBOL_REF>): Call it
5005 when appropriate.
5006
c707d0b0
UW
50072003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
5008
5009 * config/s390/s390.md ("*iordi3_oi"): Do not mark commutative.
5010 ("*iorsi3_oi"): Likewise.
5011
9af66e58
RE
50122003-05-13 Richard Earnshaw <rearnsha@arm.com>
5013
5014 * arm.md (compare_scc): Use shorter sequence for EQ case.
5015 (ior_scc_scc_cmp, and_scc_scc_cmp): New insn-and-split patterns.
5016 (and_scc_scc): Ensure split only applies when there is a dominance
5017 of the comparisons.
5018 (and_scc_scc_nodom): New insn-and-split pattern.
5019
7f68692f
RS
50202003-05-13 Richard Sandiford <rsandifo@redhat.com>
5021
5022 * unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly
5023 to _Unwind_SetGRPtr().
5024
88e80294
ME
50252003-05-13 Michael Eager <eager@mvista.com>
5026
5027 * Makefile.in: Initialize program_transform_cross_name from
5028 @program_transform_name@ instead of target_alias.
5029
c4501e62
JJ
50302003-05-12 Janis Johnson <janis187@us.ibm.com>
5031 Alan Modra <amodra@bigpond.net.au>
5032 Jakub Jelinek <jakub@redhat.com>
5033
5034 * configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
5035 * configure: Rebuild.
5036 * config/rs6000/rs6000-protos.h: Update.
5037 * config/rs6000/rs6000.c (rs6000_tls_size): New.
5038 (rs6000_tls_size_string): New.
5039 (rs6000_parse_tls_size_option): New.
5040 (rs6000_legitimize_tls_address): New.
5041 (rs6000_tls_get_addr): New.
5042 (rs6000_got_sym): New.
5043 (rs6000_tls_symbol_ref): New.
5044 (rs6000_tls_symbol_ref_1): New.
5045 (rs6000_get_some_local_dynamic_name): New.
5046 (rs6000_get_some_local_dynamic_name_1): New.
5047 (TARGET_HAVE_TLS): New.
5048 (TARGET_CANNOT_FORCE_CONST_MEM): New.
5049 (rs6000_override_options): Handle -mtls-size option.
5050 (constant_pool_expr_1): Handle TLS symbols.
5051 (rs6000_legitimize_address): Handle TLS symbols.
5052 (rs6000_tls_referenced_p): New.
5053 (rs6000_legitimate_address): Handle TLS symbols.
5054 (rs6000_emit_move): Handle TLS symbols.
5055 (print_operand): Handle TLS symbols.
5056 (uses_TOC): Handle TLS symbols.
5057 (rs6000_emit_prologue): Use symbol for unspec constant.
5058 * config/rs6000/rs6000.h (HAVE_AS_TLS): New.
5059 (some_ld_name): New.
5060 (LEGITIMATE_CONSTANT_P): Handle TLS symbols.
5061 (PRINT_OPERAND_PUNCT_VALID_P): Handle TLS symbols.
5062 (PREDICATE_CODES): Add rs6000_tls_symbol_ref.
5063 * config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
5064 Support TLS.
5065 (tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32,
5066 tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32,
5067 tls_dtprel_lo_64, tls_got_dtprel_32, tls_got_dtprel_64, tls_tprel_32,
5068 tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32,
5069 tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32,
5070 tls_tls_64): New.
5071 * config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
5072
6cfae22a
NB
50732003-05-12 Neil Booth <neil@cat.daikokuya.co.uk>
5074
5075 * Makefile.in (stage2_build, stage3_build, stage4_build):
5076 Set BUILD_CC to the same as CC.
5077
517958ba
NB
50782003-05-12 Neil Booth <neil@daikokuya.co.uk>
5079
5080 * alloc-pool.c (last_id): Put in ENABLE_CHECKING guards.
5081
74601584
AS
50822003-05-12 Andreas Schwab <schwab@suse.de>
5083
5084 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Mark 'exp'
5085 as unused.
5086 (bundling): Initialize 'pos'.
5087 (ia64_expand_builtin): Initialize 'rmode'.
5088
f08b4d88
DE
50892003-05-12 David Edelsohn <edelsohn@gnu.org>
5090
5091 * config/rs6000/xcoff.h (ASM_OUTPUT_SKIP): Accept HOST_WIDE_INT.
5092 (ASM_OUTPUT_ALIGNED_COMMON): Same.
5093 (ASM_OUTPUT_LOCAL): Same.
5094
d3e0dffb
JH
5095Mon May 12 21:53:29 CEST 2003 Jan Hubicka <jh@suse.cz>
5096
5097 * varasm.c (output_constant): Fix underflow.
5098
96ef4bdc
MM
50992003-05-12 Mark Mitchell <mark@codesourcery.com>
5100
5101 PR other/10745
5102 * configure.in: Correct detection of GNU ld version number.
5103 * configure: Regenerated.
5104
9804f5fb
ZW
51052003-05-12 Zack Weinberg <zack@codesourcery.com>
5106
5107 * diagnostic.c (diagnostic_for_decl): Take a
5108 diagnostic_context argument. Restructure to be consistent
5109 with diagnostic_report_diagnostic.
5110 (diagnostic_count_diagnostic): Now static. Take a
5111 diagnostic_info argument, not just a diagnostic_t. Some code
5112 moved here from internal_error. Move a case label for
5113 clarity.
5114 (diagnostic_action_after_output): New function. Code moved
5115 here from internal_error and fatal_error.
5116 (bug_report_request): New #define so that this text appears in
5117 only one place.
5118 (diagnostic_report_diagnostic): Update to match changes to
5119 diagnostic_count_diagnostic. Call diagnostic_action_after_output.
5120 (diagnostic_set_info): Call gettext here.
5121
5122 (pedwarn): Update comment. Don't call gettext here.
5123 (sorry): Use report_diagnostic. Don't call gettext here.
5124 (fatal_error): Remove final fnotice and exit, but call
5125 real_abort to prevent warnings about noreturn function returning.
5126 (internal_error): Likewise. Don't do ICE suppression here nor
5127 call context->internal_error.
5128 (warning_with_decl): Suppress for decls in system headers.
5129 Adjust call to diagnostic_for_decl.
5130 (pedwarn_with_decl): Likewise.
5131 (error_with_decl): Adjust call to diagnostic_for_decl.
5132 (error_recursion): Use bug_report_request.
5133
5134 * diagnostic.h: Remove prototype of diagnostic_count_diagnostic.
5135 * objc/objc-act.c (error_with_ivar, warn_with_method): Don't call
5136 diagnostic_count_diagnostic.
5137
f64f0687
JDA
51382003-05-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5139
5140 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON): Correct last patch.
5141
c394cdb7
JH
5142Mon May 12 15:57:54 CEST 2003 Jan Hubicka <jh@suse.cz>
5143
212e2065 5144 * rs6000/darwin.h (ASM_OUTPUT_COMMON): Accept HOST_WIDE_INT
c394cdb7
JH
5145 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Fix warning.
5146 * mips/mips.h (ASM_OUTPUT_SKIP): Fix typo in the previous patch.
5147
70498da3
RS
51482003-05-12 Roger Sayle <roger@eyesopen.com>
5149
5150 * doc/rtl.texi: Document zero_extract as a valid destination
5151 of a set insn.
5152
ce250a20
RE
51532003-05-12 Richard Earnshaw <rearnsha@arm.com>
5154
5155 * arm/lib1funcs.asm (LSYM): Define -- on ELF prefix a local symbol with
5156 '.'. Change all local symbol definitions and references to use LSYM.
5157
58e15542
JH
5158Mon May 12 11:32:53 CEST 2003 Jan Hubicka <jh@suse.cz>
5159
5160 * expr.h (assemble_static_space): Update prototype.
5161 * output.h (assemble_zeros, output_constant): Likewise.
5162 * elfos.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): Make it 64bit clean
5163 * alpha.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASK_OUTPUT_LOCAL): Make
5164 it 64bit clean.
5165 * elf.h (ASM_OTUPUT_SKIP): Likewise.
5166 * unicosmk.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMM): Likewise.
5167 * arm.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
5168 Expect HOST_WIDE_INT operand.
5169 * aout.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
5170 Expect HOST_WIDE_INT operand.
5171 * unknown-elf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
5172 Expect HOST_WIDE_INT operand.
5173 * avr.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP): Expect
5174 HOST_WIDE_INT operand.
5175 * c4x.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP,
5176 ASM_OUTPUT_BSS): Expect HOST_WIDE_INT operand.
5177 * aout.h (ASM_OTUPUT_SKIP): Likewise.
5178 * cris.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
5179 * darwin.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON): Likewise.
5180 * dsp16xx.h (ASM_OTUPUT_SKIP): Likewise.
5181 * frv.h (ASM_OTUPUT_SKIP): Likewise.
5182 * h8300.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_LOCAL): Likewise.
5183 * 370.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
5184 Make it 64bit
5185 clean.
5186 * att.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand.
5187 * bsd.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
5188 Make it 64bit clean.
5189 * darwin.h (ASM_OUTPUT_SKIP): Make it 64bit clean..
5190 * sco5.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Expect
5191 HOST_WIDE_INT operand
5192 * svr3gas.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
5193 Expect HOST_WIDE_INT operand
5194 * sysv3.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand
5195 * i960.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON,
5196 ASM_OUTPUT_ALIGNED_LOCAL): Expect HOST_WIDE_INT operand
5197 * ip2k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
5198 Likewise.
5199 * m32r.h (ASM_OUTPUT_COMMON): Likewise.
5200 * 3b1.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
5201 Likewise.
5202 * amix.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
5203 * crds.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
5204 * hp320.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
5205 ASM_OUTPUT_SKIP): Likewise.
5206 * m68k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
5207 Likewise.
5208 * m68kelf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
5209 ASM_OUTPUT_SKIP): Likewise.
5210 * m68kv4.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
5211 ASM_OUTPUT_SKIP): Likewise.
5212 * mot3300.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
5213 * netbsd-elf.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
5214 ASM_OUTPUT_SKIP): Likewise.
5215 * sgs.h (ASM_OUTPUT_SKIP): Likewise.
5216 * tower-as.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
5217 ASM_OUTPUT_SKIP): Likewise.
5218 * m88k.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP):
5219 Likewise.
5220 * mcore.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_BSS, ASM_OUTPUT_SKIP): Likewise.
5221 * iris.h (ASM_OUTPUT_LOCAL): Likewise.
5222 * mips.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
5223 * ns32k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
5224 ASM_OUTPUT_SKIP): Make it 64bit clean.
5225 * pa-pro-end.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL):
5226 Make it 64bit clean.
5227 * pa.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL,
5228 ASM_OUTPUT_SKIP): Make it 64bit clean.
5229 * hpux.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL): Make it
5230 64bit clean.
5231 * romp.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
5232 HOST_WIDE_INT argument
5233 * s390.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT argument.
5234 * sh.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
5235 HOST_WIDE_INT argument
5236 * sol2.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
5237 * sparc.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): HOST_WIDE_INT argument
5238 * svr3.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
5239 * vax.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
5240 HOST_WIDE_INT argument
5241 * vaxv.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
5242 * xtensa.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
5243 * varasm.c (asm_output_bss, asm_output_aligned_bss,
5244 asm_emit_uninitialized, assemble_zeros, assemble_static_space):
5245 HOST_WIDE_INT argument
5246
9804f5fb 52472003-05-10 Steven Bosscher <steven@gcc.gnu.org>
7660e67e
SB
5248
5249 * cgraphunit.c (cgraph_create_edges): Drop walk_tree in
5250 favor of walk_tree_without_duplicates. Add comments.
5251
76abd4c6
JZ
52522003-05-12 Josef Zlomek <zlomekj@suse.cz>
5253
5254 * alloc-pool.h (ALLOC_POOL_ID_TYPE): New type.
9804f5fb 5255 (struct alloc_pool_def): New element 'id'.
76abd4c6
JZ
5256 * alloc-pool.c (fancy_abort): Extern function prototype.
5257 (abort): Macro which uses fancy_abort.
5258 (struct allocation_object_def): New structure.
5259 (ALLOCATION_OBJECT_PTR_FROM_USER_PTR): New macro.
5260 (USER_PTR_FROM_ALLOCATION_OBJECT_PTR): New macro.
5261 (last_id): New variable.
5262 (create_alloc_pool): Add the offset of u.data to size of element,
5263 increase and use last_id.
5264 (free_alloc_pool): Do the checking only when ENABLE_CHECKING.
5265 (pool_alloc): Likewise. Set ID for elements.
5266 (pool_free): Check whether the PTR was allocated from POOL.
5267
66ea6f4c
RH
52682003-05-11 Richard Henderson <rth@redhat.com>
5269
5270 PR c/10675
5271 * c-decl.c: Include hashtab.h.
5272 (detect_field_duplicates): New.
5273 (finish_struct): Use it.
5274 * Makefile.in (c-decl.o): Update.
5275 * c-parse.in (structsp_attr): Nreverse component_decl_list results.
5276 (component_decl_list, component_decl_list2,
5277 components, components_notype): Build list in reverse order.
5278 (enumlist): Clarify docs. Use TREE_CHAIN not chainon.
5279
9804f5fb 5280 * tree.c (chainon): Special case op2 null as well.
66ea6f4c
RH
5281 Reorg for clarity.
5282
358997e2
RS
52832003-05-11 Roger Sayle <roger@eyesopen.com>
5284
5285 * config/i386/i386.md (logsf2, logdf2, logxf2, logdf2): New patterns
5286 to implement log, logf and logl built-ins as inline x87 intrinsics.
5287 (UNSPEC_FYL2X): New unspec to represent x87's "fyl2x" instruction.
5288 (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): New insn
5289 patterns for x87's "fyl2x" instruction, used by log?f2 patterns.
5290
5291 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2X like
5292 UNSPEC_FPATAN, i.e. replaces two stack operands with single result.
5293
ffa916ba
KG
52942003-05-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5295
9804f5fb 5296 * Makefile.in (out_object_file): Don't set -Wno-error for ${cpu}.o.
04f3680d 5297
ffa916ba
KG
5298 * sparc.c (print_operand): Fix uninitialized warning.
5299
91f4cfe3
ZD
53002003-05-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5301
5302 * cfgloopanal.c (num_loop_insns, average_num_loop_insns): Count only
5303 real insns.
5304 * loop-unroll.c (unroll_loop_runtime_iterations): Remove superfluous
5305 condition.
5306
ac38d8da
NB
53072003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
5308
5309 * doc/cpp.texi: Fix typos.
5310
82b1c974
UW
53112003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
5312
5313 * config/s390/s390.c (s390_function_arg_float): New function.
5314 (s390_function_arg_pass_by_reference): Use it.
5315 (s390_function_arg_advance): Likewise.
5316 (s390_function_arg): Likewise.
5317 (s390_va_arg): Likewise
5318
6d70e6be
NS
53192003-05-11 Nathan Sidwell <nathan@codesourcery.com>
5320
5321 * coverage.h (coverage_counter_alloc): New function.
5322 * function.h (struct function): Remove arc_profile flag.
5323 * coverage.c (fn_ident): Remove.
5324 (fn_b_ctrs, no_coverage): New.
5325 (get_coverage_counts): Use current_function_funcdef_no.
5326 (coverage_counter_alloc): New.
5327 (coverage_counter_ref): Adjust.
5328 (coverage_begin_output): Check no_coverage. Use
5329 current_function_funcdef_no.
5330 (coverage_end_function): Likewise.
5331 (create_coverage): Set no_coverage. Set DECL_UNINLINEABLE rather
5332 than clearing flag_inline_functions. Do not clear arc_profile
5333 flag.
5334 * function.c (prepare_function_start): Do not set arc_profile
5335 flag.
5336 * profile.c (instrument_edges): Return number of instrumented
5337 edges. Use a for loop.
5338 (branch_prob): Call coverage_counter_alloc. Make BB_TO_GCOV_INDEX
5339 local to here and simplify. Use profile_arc_flag not arc_profile
5340 flag.
5341 (find_spanning_tree): Reformat.
5342 * toplev.c (rest_of_compilation): Use profile_arc_flags and
5343 flag_test_coverage rather than arc_profile flag.
5344
78d0a54d
GDR
53452003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
5346
5347 * doc/invoke.texi (Wctor-dtor-privacy): Update documentation.
5348
a71c8ddc
RK
53492003-05-11 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5350
5351 * varasm.c (copy_constant, case VIEW_CONVERT_EXPR): New case.
5352
6e270179 53532003-05-11 Bruno Haible <bruno@clisp.org>
9804f5fb 5354
6e270179
NB
5355 * cppfiles.c (find_or_create_entry): Preserve errno.
5356
53572003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
5358
5359 * c-cppbuiltin.c (c_cpp_builtins): Move __STDC_HOSTED__ into
5360 cpplib as it's a Standard Predefined Macro.
5361 * c-opts.c (finish_options): Pass flag_hosted to cpp_init_builtins.
5362 * cppinit.c (_cpp_init_builtins): Take HOSTED. Define
5363 __STDC_HOSTED__ appropriately.
5364 * cpplib.h (_cpp_init_builtins): Update.
5365 * fix-header.c (read_scan_file): Update.
5366 * doc/cpp.texi, doc/cppopts.texi: Update documentation.
5367
f333504d
GDR
53682003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
5369
5370 PR C++/689
5371 PR C++/9257
5372 * c-opts.c (c_common_decode_option): Don't set
5373 warn_ctor_dtor_privacy wen -Wall.
5374 * c-common.c (warn_ctor_dtor_privacy): Don't turn on by default.
5375
6e5d72ba
AO
53762003-05-10 Alexandre Oliva <aoliva@redhat.com>
5377
5378 * reload1.c (reload_cse_move2add): Revert part of my 2003-05-09's
5379 patch.
5380
59650e48
ZW
53812003-05-10 Zack Weinberg <zack@codesourcery.com>
5382
5383 * diagnostic.c: Reorder functions for clarity, putting all the
5384 functions in the "error" family next to each other, and
5385 likewise all the functions in the "error_with_decl" family.
5386 Some other routines were moved too. Add comments.
5387 (vbuild_message_string): Fold into sole caller.
5388
5389
34dc173c
UW
53902003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
5391
5392 * except.c (EH_RETURN_STACKADJ_RTX): Do not define.
5393 (EH_RETURN_HANDLER_RTX): Likewise.
5394 (expand_builtin_eh_return): Do not copy stack adjustment
5395 if EH_RETURN_STACKADJ_RTX is not defined.
5396 (expand_eh_return): Likewise. Also, do not pass stack
5397 adjustment as argument to the eh_return pattern.
5398 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Do not define just
5399 because EH_RETURN_STACKADJ_RTX is not defined.
5400 * unwind-dw.c (uw_update_context_1): If EH_RETURN_STACKADJ_RTX
5401 is not defined, treat stack pointer like a regular register.
5402 (uw_init_context_1): Set up fake initial stack pointer register.
5403 (uw_install_context_1): Do not compute stack adjustment if
5404 EH_RETURN_STACKADJ_RTX is not defined.
5405
5406 * config/i386/i386.md ("eh_return"): Remove first argument.
5407 * config/mips/mips.md ("eh_return"): Likewise.
5408 * config/rs6000/rs6000.md ("eh_return"): Likewise.
5409 * config/sh/sh.md ("eh_return"): Likewise.
5410
5411 * config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
5412
a64d0bc6
AA
54132003-05-10 Alexander Aganichev <aaganichev@yandex.ru>
5414
5415 * config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
5416
9b514d25
NS
54172003-05-10 Nathan Sidwell <nathan@codesourcery.com>
5418
5419 * defaults.h (GCOV_TYPE_SIZE): Remove.
5420 * gcov-io.h (gcov_type): Set to specific mode int on target.
5421 (gcov_unsigned_t, gcov_position_t): New.
5422 (GCOV_TYPE_NODE): New.
5423 (GCOV_TAG_SUMMARY_LENGTH): Adjust.
5424 (GCOV_COUNTERS_SUMMABLE): New.
5425 (gcov_ctr_summary, gcov_sumary, gcov_fn_info, gcov_merge_fn,
5426 gcov_ctr_info, gcov_info): Adjust types.
5427 (gcov_var): Adjust types.
5428 (gcov_write_unsigned, gcov_write_tag,
5429 gcov_write_length, gcov_write_tag_length, gcov_write_summary,
5430 gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
5431 (gcov_position, gcov_sync, gcov_seek): Adjust gcov types.
5432 * gcov-io.c (gcov_write_unsigned, gcov_write_tag,
5433 gcov_write_length, gcov_write_tag_length, gcov_write_summary,
5434 gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
5435 * libgcov.c (gcov_crc32, gcov_version_mismatch, gcov_exit,
5436 __gcov_init, __gcov_merge_add): Adjust gcov types.
5437 * coverage.c (ctr_merge_functions): Constify.
5438 (ctr_names): New.
5439 (read_counts_file): Adjust gcov types. Only summarize & merge
5440 summable counters.
5441 (coverage_counter_ref): Use GCOV_TYPE_NODE.
5442 (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
5443 build_ctr_info_value, build_gcov_info): Adjust types.
5444 * profile.c (branch_prob): Adjust gcov types.
5445 * gcov_dump (dump_file): Adjust gcov types.
5446
03f1640c
RE
54472003-05-10 Richard Earnshaw <rearnsha@arm.com>
5448
59650e48 5449 * arm.md (DOM_CC_X_AND_Y, DOM_CC_NX_OR_Y, DOM_CC_X_OR_Y): New
03f1640c
RE
5450 constants.
5451 (ior_scc_scc, and_scc_scc): New insn_and_split patterns.
59650e48 5452 * arm.c (arm_select_dominance_cc_mode): Renamed from
03f1640c
RE
5453 select_dominance_cc_mode, no-longer static. Use DOM_CC... constants.
5454 Callers updated.
5455 * arm-protos.h (arm_select_dominance_cc_mode): Add prototype.
5456
3ee10665
RS
54572003-05-09 Roger Sayle <roger@eyesopen.com>
5458
5459 * config/alpha/alpha.c (alpha_start_function): Declare frame_size
5460 as unsigned to avoid signed/unsigned comparison warnings.
5461
0bd0703d
BW
54622003-05-09 Bob Wilson <bob.wilson@acm.org>
5463
5464 * config/xtensa/xtensa.c (xtensa_emit_loop_end): Only use "nop.n"
5465 instruction if the Xtensa density option is enabled.
5466
1476c9d9
MK
54672003-05-09 Matt Kraai <kraai@alumni.cmu.edu>
5468
5469 * mklibgcc.in: Remove extra quotes.
5470
36e8d515
MM
54712003-05-09 Mark Mitchell <mark@codesourcery.com>
5472
5473 * config/rs6000/rs6000.c (spe_init_builtins): Fix typo in creation
5474 of int_ftype_void.
5475
f8a30250
AO
54762003-05-09 Alexandre Oliva <aoliva@redhat.com>
5477
5478 * reload1.c (reload_cse_move2add): Don't turn an implicit
5479 truncation into a self-set in the narrow mode.
5480
e912eadf
RE
54812003-05-09 Richard Earnshaw <rearnsha@arm.com>
5482
5483 * arm.md (clzsi2): The CLZ instruction is predicable.
5484
638db43e
BW
54852003-05-09 Bob Wilson <bob.wilson@acm.org>
5486
5487 * config/xtensa/xtensa.c: Formatting.
5488
5675294b
DN
54892003-05-09 Diego Novillo <dnovillo@redhat.com>
5490
5491 * tree-dump.c (dequeue_and_dump): Use CONSTRUCTOR_ELTS,
5492 instead of TREE_OPERAND to access the operand of a
5493 CONSTRUCTOR node.
5494
ec0f4995
DN
54952003-05-09 Diego Novillo <dnovillo@redhat.com>
5496
5497 * tree-dump.c (dequeue_and_dump): CONSTRUCTOR nodes contain only
5498 one operand.
5499
3c4b6438
GDR
55002003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
5501
5502 * toplev.h (warning_with_file_and_line): Don't declare.
5503 (error_with_file_and_line): Likewise.
5504 * diagnostic.c (error_with_file_and_line): Remove.
5505 (warning_with_file_and_line): Likewise.
5506
49468c8b
GDR
55072003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
5508
5509 * c-parse.in (if_stmt_locus): New object.
5510 (if_prefix rule): Use it. Don't use warning_with_file_and_line.
5511 (select_or_iter_stmt rule): Likewise.
5512 (if_stmt_file): Remove.
5513 (if_stmt_line): Likewise.
5514 * jump.c: include "diagnostic.h"
59650e48 5515 (never_reached_warning): Don't use warning_with_file_and_line.
49468c8b
GDR
5516 * Makefile.in (jump.o): Add dependce on diagnostic.h
5517
c6b97fac
AM
55182003-05-09 Alan Modra <amodra@bigpond.net.au>
5519
5520 * expr.c (move_block_from_reg): Remove "size" parm. Localize vars.
5521 Move code handling pieces not larger than a word to..
5522 * function.c (assign_parms): ..here, but use change_address instead
5523 of adjust_address and operand_subword, and expand_binop instead of
5524 expand_shift. Adjust calls to move_block_from_reg.
5525 * expr.h (move_block_from_reg): Update declaration.
5526 (copy_blkmode_from_reg): Formatting.
5527 * Makefile.in (function.o): Add $(OPTABS_H) to deps.
5528 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Adjust
5529 move_block_from_reg calls.
5530 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
5531 * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
5532 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
5533 * config/m88k/m88k.c (m88k_builtin_saveregsk): Likewise.
5534 * config/mips/mips.c (mips_setup_incoming_varargs): Likewise.
5535 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
5536 * config/romp/romp.h (SETUP_INCOMING_VARARGS): Likewise.
5537 * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
5538 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
5539
06d22853
DD
55402003-05-08 DJ Delorie <dj@redhat.com>
5541
5542 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg): Fix
5543 to handle arguments for which MUST_PASS_IN_STACK is true (e.g.,
5544 variable-sized types).
5545 (xstormy16_function_arg): New. Pass them that way too.
5546 * config/stormy16/stormy16-protos.h (xstormy16_function_arg): New.
5547 * config/stormy16/stormy16.h (FUNCTION_ARG): Call it.
5548
d0affb9f
AH
55492003-05-08 Aldy Hernandez <aldyh@redhat.com>
5550
59650e48
ZW
5551 * mklibgcc.in: Use mkinstalldirs when installing multilib
5552 directories.
d0affb9f 5553
ddf8ec7e
R
55542003-05-08 J"orn Rennecke <joern.rennecke@superh.com>
5555
5556 * sh.c (gen_block_redirect, split_branches): Use CODE_FOR_jump_compact
5557 instead of CODE_FOR_jump
5558
67f7893c
GDR
55592003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
5560
5561 * objc/objc-act.c (error_with_ivar): Don't use
59650e48 5562 error_with_file_and_line.
67f7893c
GDR
5563 (warn_with_method): Don't use warning_with_file_and_line.
5564
c8608cd6
GDR
55652003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
5566
5567 * stmt.c (emit_locus): New macro.
5568 (emit_filename): Remove.
5569 (emit_lineno): Likewise.
5570 (struct stmt_status): Replace members x_emit_filename and
5571 x_emit_lineno with x_emit_locus.
5572 (set_file_and_line_for_stmt): Adjust.
67f7893c 5573 (expand_expr_stmt_value): Don't use warning_with_file_and_line.
c8608cd6
GDR
5574 (warn_if_unused_value): Likewise.
5575 (check_seenlabel): Likewise.
5576
95035b6f
GDR
55772003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
5578
5579 * c-decl.c (define_label): Tidy. Don't use any of
5580 error_with_file_and_line or warning_with_file_and_file.
5581 (pending_xref_error): Likewise.
5582 (store_parm_decls): Likewise.
5583 (current_function_prototype_locus): New object. Package from
5584 current_function_prototype_file and current_function_prototype_line.
5585 (start_function): Use it.
5586 (current_function_prototype_file): Remove.
5587 (current_function_prototype_line): Remove;
5588
7dc61d6c
KG
55892003-05-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5590
5591 * builtins.c (readonly_data_expr): New function.
5592 (expand_builtin_memmove): Optimize any rodata source, not just
5593 strings.
5594
044075ac
DM
55952003-05-07 David Mosberger <davidm@hpl.hp.com>
5596
59650e48 5597 * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
044075ac 5598
8231b3f9
RH
55992003-05-07 Richard Henderson <rth@redhat.com>
5600
5601 * config/i386/i386.c (ix86_split_long_move): Fix base register
5602 mode for XFmode splits for TARGET_64BIT.
5603
0212907f
RH
56042003-05-07 Richard Henderson <rth@redhat.com>
5605
5606 * sched-ebb.c (schedule_ebb): Supply the correct starting
5607 block number to save_line_notes.
5608
c079e6fe
RH
56092003-05-07 Richard Henderson <rth@redhat.com>
5610
5611 * toplev.c (enum dump_file_index): Swap DFI_ce3, DFI_bbro.
5612 (dump_file): Likewise.
5613
c35b64c2
DM
56142003-05-07 David Mosberger <davidm@hpl.hp.com>
5615
59650e48 5616 * config/ia64/crtbegin.asm (__do_jv_register_classes): Don't
c35b64c2 5617 forget to preserve gp.
59650e48
ZW
5618 * config/ia64/crtend.asm (__do_global_ctors_au): Ditto.
5619
5620 * config/ia64/crtbegin.asm (__do_jv_register_classes): Add missing
5621 .prologue directive.
5622 Use .skip instead of data8 for .bss section to make Intel
5623 Assembler (ias) happy. Minor whitespace fixups. Make "nop 0"
5624 explicit in the .mib bundles and remove the unnecessary stop
5625 bits. Replace local labels with normal labels, to make ias
5626 happy. Don't register __do_global_ctors_aux here, do it in
5627 crtend.asm instead.
5628
5629 * config/ia64/crtend.asm [HAVE_INIT_FINI_ARRAY]: Register
5630 __do_global_ctors_aux in .init_array section instead of
5631 declaring it as a hidden global. Replace local labels with
5632 ordinary labels to make ias happy.
c35b64c2 5633
a944ceb9
RH
56342003-05-07 Richard Henderson <rth@redhat.com>
5635
59650e48
ZW
5636 PR c++/10570
5637 * except.c: Revert 04-01 and 04-02 forced-unwind changes.
5638 * flags.h, toplev.c, doc/invoke.texi: Likewise.
a944ceb9 5639
59650e48
ZW
5640 * unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
5641 * unwind.inc (_Unwind_DeleteException): Check for null
5642 exception_cleanup.
a944ceb9 5643
59650e48
ZW
5644 * unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
5645 * unwind.inc (_Unwind_Resume_or_Rethrow): New.
5646 * unwind.h: Declare them.
5647 * libgcc-std.ver (GCC_3.3): Export them.
a944ceb9 5648
9330e977
RH
56492003-05-07 Richard Henderson <rth@redhat.com>
5650
a21d83cd 5651 * unwind-dw2.c (_Unwind_GetCFA): Cast pointer to _Unwind_Ptr,
9330e977
RH
5652 not _Unwind_Word.
5653
046e4e36
ZW
56542003-05-07 Zack Weinberg <zack@codesourcery.com>
5655
5656 * stmt.c (force_label_rtx): New function, based on logic
5657 formerly found in expand_expr.
5658 * expr.h: Prototype it.
5659 * expr.c (expand_expr <LABEL_DECL>): Use force_label_rtx if
5660 appropriate.
5661 * varasm.c (decode_addr_const <LABEL_DECL>): Use force_label_rtx.
5662
5663 * print-tree.c (debug_tree): Free the table after we're done
5664 with it. Use putc.
5665
12850cf2
AH
56662003-05-07 Aldy Hernandez <aldyh@redhat.com>
5667
046e4e36
ZW
5668 * config/rs6000/spe.h: Reverse arguments for __ev_subfw.
5669 Unreverse arguments for __ev_subw.
12850cf2 5670
046e4e36 5671 * config/rs6000/spe.md (evsubfw): Reverse arguments of assembly.
12850cf2 5672
54350d48
NC
56732003-05-07 Nick Clifton <nickc@redhat.com>
5674
5675 * config/stormy16/stormy-abi: Update to include
5676 R_XSTORMY16_FPTR16, R_XSTORMY16_LO16, R_XSTORMY16_HI16 and
5677 R_XSTORMY16_12 relocs.
5678
ffea5d1e
AM
56792003-05-07 Alan Modra <amodra@bigpond.net.au>
5680
5681 * function.c (assign_parms): Correct reversed reg_parm_stack_space
5682 test. Add partial in-regs size to stack_args_size.
5683
da635858
GP
56842003-05-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5685
5686 * doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
5687 as a C only option.
5688
474f141e
NS
56892003-05-07 Nathan Sidwell <nathan@codesourcery.com>
5690
5691 * gcov-io.h (GCOV_LOCKED): New #define.
5692 (GCOV_LINKAGE): Make sure it is #defined.
5693 (gcov_write_string, gcov_write_tag, gcov_write_length,
5694 gcov_read_string, gcov_time): Poison in libgcov.
5695 (gcov_seek_end): Remove.
5696 (gcov_write_tag_length, gcov_sync, gcov_rewrite): New.
5697 (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
5698 GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
5699 GCOV_TAG_SUMMARY_LENGTH): New #defines.
5700 (gcov_write_tag, gcov_write_length): Not in libgcov.
5701 * gcov-io.c (gcov_open): Use GCOV_LOCKED.
5702 (gcov_write_tag, gcov_write_length): Not in libgcov.
5703 (gcov_write_tag_length): New.
5704 (gcov_write_summary): Use gcov_write_tag_length.
5705 * libgcov.c: Always #include gcov-io.h.
5706 (IN_LIBGCOV): -1 for inhibit_libc, +1 otherwise.
5707 (GCOV_LINKAGE): Define to nothing for L_gcov.
5708 (gcov_exit): Replace gcov_write_tag, gcov_write_length with
5709 gcov_write_tag_length. Use gcov_rewrite & gcov_seek.
5710 * gcov.c (read_graph_file): Replace gcov_seek by gcov_sync.
5711 (read_count_file): Likewise.
5712 * gcov-dump.c (dump_file): Likewise.
5713 * coverag.c (read_counts_file): Likewise.
5714
6cbeaa7e
MM
57152003-05-06 Mark Mitchell <mark@codesourcery.com>
5716
5717 PR other/10658
5718 * gcc.c (process_command): Update copyright date.
5719
26979a17
PE
57202003-05-06 Phil Edwards <pme@gcc.gnu.org>
5721
5722 * doc/install.texi (mips-*-*): Add note about libstdc++.
5723
14b56832
DD
57242003-05-06 DJ Delorie <dj@redhat.com>
5725
5726 * config/stormy16/stormy16.c (xstormy16_function_profiler): New.
5727 * config/stormy16/stormy16.h (FUNCTION_PROFILER): Call it.
5728 * config/stormy16/stormy16-protos.h (xstormy16_function_profiler): New.
5729
2c2bc09b
NB
57302003-05-06 <neil@cat.daikokuya.co.uk>
5731
5732 * c-opts.c (COMMAND_LINE_OPTIONS): Reject -Wmissing-prototypes
5733 and -Wstrict-prototypes if C++.
5734
2f3f95e9
AH
57352003-05-06 Aldy Hernandez <aldyh@redhat.com>
5736
046e4e36 5737 * config/rs6000/linuxspe.h: New file.
2f3f95e9 5738
046e4e36 5739 * config.gcc: Add powerpc-*-linux-gnuspe* target.
2f3f95e9 5740
8b689196
RH
57412003-05-06 Richard Henderson <rth@redhat.com>
5742
046e4e36 5743 * unwind-dw2.c (uw_update_context_1): Only set cfa as sp if
8b689196
RH
5744 previous frame didn't save sp. Clear sp for next frame.
5745 (uw_install_context_1): Honor saved sp from frame.
5746
5b0f0db6
RS
57472003-05-06 Richard Sandiford <rsandifo@redhat.com>
5748
5749 * config/mips/mips-protos.h (mips_subword, mips_output_move): Declare.
5750 (mips_move_1word, mips_move_2words): Remove declaration.
5751 (mips_split_64bit_move_p, mips_split_64bit_move): Declare.
5752 (mips_restore_gp): Remove insn argument.
5753 * config/mips/mips.h (FP_REG_RTX_P): New macro.
5754 * config/mips/mips.c (volatile_buffer): Remove.
5755 (mips_subword, mips_split_64bit_move_p, mips_split_64bit_move): New.
5756 (mips_move_1word, mips_move_2words): Remove, replacing with...
5757 (mips_output_move): ...this new function.
5758 (mips_restore_gp): Remove insn argument. Adjust for above changes.
5759 (print_operand): Make '%h' print %hi(op) for HIGH operands. Remove
5760 handling of floating-point constants. Handle zero CONST_DOUBLE
5761 arguments.
5762 (mips_annotate_frame_insn): Replace with...
5763 (mips_set_frame_expr): ...this, which just takes one argument.
5764 (mips_frame_set): Change the register argument to an rtx.
5765 (mips_emit_frame_related_store): Use mips_split_64bit_move_p to
5766 check whether moves should be split. Use mips_split_64bit_move
5767 to split them. Use mips_subword to generate the high and low
5768 parts of a paired FPR. Adjust calls to frame_set and
5769 mips_set_frame_expr.
5770 (mips_expand_prologue): Simplify due to above changes.
5771 * config/mips/mips.md: Add splitters for 64-bit moves on 32-bit
5772 targets, replacing xisting register-only versions.
5773 (UNSPEC_STORE_DF_HIGH): New unspec.
5774 (UNSPEC_LOAD_DF_LOW, UNSPEC_LOAD_DF_HIGH): New unspecs.
5775 (mulsi3_r4000, muldi3_internal2): Avoid use of mips_move_1word.
5776 (*paradoxical_extendhidi2): Remove.
5777 (movdi_internal, movdi_internal2): Use mips_output_move.
5778 (*movdi_internal2_mips16, movsi_internal, movcc): Likewise.
5779 (movsf_internal1, movsf_internal2): Likewise.
5780 (movdf_internal1a): Likewise. Fix length and type of f <- G case.
5781 (movdf_internal1b): Use mips_output_move. Fix type of f <- G case.
5782 (movdf_internal2): Use mips_output_move. Fix lengths of FPR moves.
5783 Add m <- G alternative.
5784 (load_df_low, load_df_high, store_df_low): New patterns.
5785 (movhi_internal): Use @ template instead of calling a function.
5786 Remove unnecessary 'z' alternatives.
5787 (movqi_internal): Likewise.
5788 (exception_receiver): Update call to mips_restore_gp.
5789
e8b84d3d
RS
57902003-05-06 Richard Sandiford <rsandifo@redhat.com>
5791
5792 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Remove.
5793 (mips_delegitimize_address): Declare.
5794 * config/mips/mips.h (ASM_SIMPLIFY_DWARF_ADDR): Undefine.
5795 (FIND_BASE_TERM): Define.
5796 * config/mips/mips.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
5797 (mips_delegitimize_address): Renamed from mips_simplify_dwarf_addr.
5798 Handle small-data addresses.
5799
e82a312b
RS
58002003-05-05 Roger Sayle <roger@eyesopen.com>
5801
5802 * real.c (real_powi): New function to calculate the value of
5803 a real raised to an integer power, i.e. pow(x,n) for int n.
5804 (real_sqrt): Convert to using the faster do_add, do_multiply
5805 and do_divide API for consistency with the rest of real.c.
5806 * real.h (real_powi): Prototype here.
5807 * builtins.c (fold_builtin): Avoid local variable mode when
5808 evaluating sqrt at compile time. Attempt to evaluate pow at
5809 compile-time, by checking for an integral exponent.
5810
905e8651
RH
58112003-05-05 Richard Henderson <rth@redhat.com>
5812
5813 * doc/extend.texi (Variable Attributes): Re-sort table and tidy.
5814
88467101
DB
58152003-05-05 David O'Brien <obrien@FreeBSD.org>
5816
5817 * config/rs6000/sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror
5818 other FreeBSD ports.
5819 (LINK_OS_FREEBSD_SPEC): Mirror conventions on other FreeBSD ports.
cb1f476f 5820 (_LITTLE_ENDIAN): Use __LITTLE_ENDIAN__ instead.
88467101 5821
6ccfe27c
JJ
58222003-05-05 Janis Johnson <janis187@us.ibm.com>
5823
5824 * Makefile.in: (site.exp): Add ALT_CC_UNDER_TEST, add quotes around
5825 expanded variables.
5826 * doc/sourcebuild.texi (C tests): Describe gcc.dg/compat tests.
5827
10b6a274
ZW
58282003-05-05 Zack Weinberg <zack@codesourcery.com>
5829
5830 * rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P.
5831 * varasm.c (struct varasm_status): Add deferred_constants field.
5832 (n_deferred_strings): Delete variable.
5833 (n_deferred_constants): New #define.
5834 (struct constant_descriptor_tree): Kill next and label fields.
5835 (const_hash_table, MAX_HASH_TABLE): Delete.
5836 (const_desc_htab): New static variable.
5837 (const_hash): Rename const_desc_hash, and make it fit the
5838 hashtab.h interface.
5839 (const_desc_eq): New.
5840 (const_hash_1, compare_constant): Const-ify arguments.
5841 (build_constant_desc): Set DEFERRED_CONSTANT_P on all new
5842 SYMBOL_REFs. Clarify comments. Don't set desc->label.
5843 (output_constant_def): Do the lookup/insert using the
5844 hashtab.h interface. Don't muck with n_deferred_constants or
5845 DEFERRED_CONSTANT_P here.
5846 Always call maybe_output_constant_def_contents.
5847 (maybe_output_constant_def_contents): Take a pointer to the
5848 descriptor, not the EXP and RTL separately. Return
5849 immediately if this constant is not deferred. Defer output of
5850 everything, except writable string constants. Update
5851 n_deferred_constants here.
5852 (output_constant_def_contents): Now takes just one argument,
5853 an rtx. Clear DEFERRED_CONSTANT_P here.
5854 (mark_constant_pool): Update for rename of n_deferred_strings.
5855 (mark_constant): Don't clear DEFERRED_CONSTANT_P here.
5856
5857 (init_varasm_status): Clear p->deferred_constants.
5858 (init_varasm_once): Call htab_create_ggc for const_desc_htab.
5859
68ef8841
KG
58602003-05-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5861
5862 * builtins.c (expand_builtin_stpcpy): Only expand when the length
5863 of the source string can be evaluated at compile-time.
5864
9938b5d9
AH
58652003-05-05 Aldy Hernandez <aldyh@redhat.com>
5866
10b6a274 5867 * testsuite/gcc.c-torture/compile/simd-6.c: New.
9938b5d9 5868
10b6a274 5869 * c-typeck.c (digest_init): Handle arrays of vector constants.
9938b5d9 5870
e3e9f108
JJ
58712003-05-05 Jakub Jelinek <jakub@redhat.com>
5872
5873 * builtins.c (expand_builtin_mempcpy): New function.
5874 (expand_builtin_stpcpy): Optimize stpcpy whose return value is
5875 ignored into strcpy no matter what arguments it has.
5876 (expand_builtin) <case BUILT_IN_MEMPCPY>: Call
5877 expand_builtin_mempcpy.
5878
6035d635
AH
58792003-05-05 Aldy Hernandez <aldyh@redhat.com>
5880
10b6a274 5881 * testsuite/gcc.dg/20030505.c: New.
6035d635 5882
10b6a274
ZW
5883 * c-typeck.c (convert_for_assignment): Opaque pointers can
5884 interconvert.
6035d635 5885
10b6a274
ZW
5886 * config/rs6000/rs6000.c: New global opaque_p_V2SI_type_node.
5887 (rs6000_init_builtins): Initialize opaque_p_V2SI_type_node.
5888 (spe_init_builtins): Rename all pv2si_type_node to
5889 opaque_p_V2SI_type_node.
5890 Remove declaration of pv2si_type_node.
5891 (is_ev64_opaque_type): Accept opaque pointers.
6035d635 5892
36b29d7d
GK
58932003-05-05 Geoffrey Keating <geoffk@apple.com>
5894
bc9ec0e0
GK
5895 * config/rs6000/rs6000.c (validate_condition_mode): Use
5896 flag_finite_math_only.
5897 (rs6000_reverse_condition): Never return UNKNOWN; use
5898 flag_finite_math_only.
5899 (rs6000_generate_compare): Use flag_finite_math_only.
5900 (rs6000_emit_cmove): Handle UNLE. Support UNEQ under -ffast-math.
5901 Use HONOR_* rather than flag_unsafe_math_optimizations. Correct
10b6a274 5902 UNGE and GT cases. Handle UNEQ and LTGT when ! HONOR_NANS.
bc9ec0e0 5903
36b29d7d
GK
5904 * toplev.c (check_global_declarations): Suppress not-used warning
5905 for volatile variables.
5906
9e5f281f
OH
59072003-05-05 Olivier Hainque <hainque@act-europe.fr>
5908
10b6a274
ZW
5909 * expr.c (expand_expr, case BIT_FIELD_REF): Refine the test forcing
5910 usage of bitfield instructions for mode1 != BLKmode, only ignoring
5911 SLOW_UNALIGNED_ACCESS if the field is not byte aligned.
5912 (store_field): Likewise.
9e5f281f 5913
f5119d10
AH
59142003-05-05 Aldy Hernandez <aldyh@redhat.com>
5915
10b6a274
ZW
5916 * config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Add
5917 evsubifw to builtins accepting 5-bit unsigned constants.
5918 (easy_vector_constant): Return if V1DImode. Fix typo.
f5119d10 5919
25ecd459
AH
59202003-05-05 Aldy Hernandez <aldyh@redhat.com>
5921
10b6a274 5922 * config/rs6000/spe.h: Revert licensing change from last patch.
25ecd459 5923
9be13211
DD
59242003-05-05 DJ Delorie <dj@redhat.com>
5925
5926 * config/stormy16/stormy16.md (negsi2): Allocate the pseudos
5927 before reload, but defer the split until after.
5928 * config/stormy16/stormy16.c (xstormy16_expand_arith): Modify
5929 to match.
5930
2c9d95ef
DE
59312003-05-05 David Edelsohn <edelsohn@gnu.org>
5932
5933 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add 440 support.
5934 * config/rs6000/vxworks.h (CC1_SPEC): Use -mcpu=440 for t440.
5935
1e77e673
ZD
59362003-05-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5937
5938 * libgcov.c (__gcov_merge_add): Do not use gcov_type when inhibit_libc
10b6a274 5939 is defined.
1e77e673 5940
00362064
KG
59412003-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5942
5943 * builtin-attrs.def (ATTR_NOTHROW_NONNULL_1,
5944 ATTR_NOTHROW_NONNULL_2, ATTR_NOTHROW_NONNULL_3): Renamed from
5945 ATTR_NONNULL_1, ATTR_NONNULL_2 and ATTR_NONNULL_3.
5946
5947 (ATTR_NOTHROW_NONNULL_1_2, ATTR_NOTHROW_NONNULL_1_4,
5948 ATTR_CONST_NOTHROW_NONNULL_1, ATTR_PURE_NOTHROW_NONNULL_1,
5949 ATTR_PURE_NOTHROW_NONNULL_1_2, ATTR_MALLOC_NOTHROW_NONNULL_1):
5950 New.
5951
5952 * builtins.def (DEF_EXT_FALLBACK_BUILTIN): Accept ATTRS argument.
5953 (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Update comment
5954
5955 (BUILT_IN_INDEX, BUILT_IN_RINDEX, BUILT_IN_MEMCPY,
5956 BUILT_IN_MEMMOVE, BUILT_IN_MEMCMP, BUILT_IN_MEMSET,
5957 BUILT_IN_MEMPCPY, BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
5958 BUILT_IN_STPCPY, BUILT_IN_STRCPY, BUILT_IN_STRNCPY,
5959 BUILT_IN_STRCMP, BUILT_IN_STRNCMP, BUILT_IN_STRLEN,
5960 BUILT_IN_STRSTR, BUILT_IN_STRPBRK, BUILT_IN_STRSPN,
5961 BUILT_IN_STRCSPN, BUILT_IN_STRCHR, BUILT_IN_STRRCHR, BUILT_IN_NAN,
5962 BUILT_IN_NANF, BUILT_IN_NANL, BUILT_IN_NANS, BUILT_IN_NANSF,
5963 BUILT_IN_NANSL, BUILT_IN_PUTS, BUILT_IN_FPUTC, BUILT_IN_FPUTS,
5964 BUILT_IN_FWRITE, BUILT_IN_PUTS_UNLOCKED, BUILT_IN_FPUTC_UNLOCKED,
5965 BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE_UNLOCKED,
5966 BUILT_IN_STRDUP): Add "nonnull" attribute.
5967
ad26fb41
RK
59682003-05-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5969
c1853da7
RK
5970 * expr.c (store_field): Don't clobber TEMP in shift: it might be
5971 a variable.
5972 (get_inner_reference): Don't go through a VIEW_CONVERT_EXPR
5973 whose purpose is to step up the alignment.
5974 (expand_expr, case ADDR_EXPR): Force LO_SUM into memory, just like REG.
5975
ad26fb41
RK
5976 * stor-layout.c (compute_record_mode): Relax restriction
5977 on fields crossing word boundaries forcing BLKmode.
5978
1fecc266
NB
59792003-05-04 Neil Booth <neil@daikokuya.co.uk>
5980
5981 * cppinit.c (cpp_create_reader, post_options): Warn about
5982 trigraphs unless explicity set or -trigraphs.
5983 * cpplex.c (warn_in_comment): New.
5984 (_cpp_process_line_notes): Better handling of -Wtrigraphs.
5985 (_cpp_skip_block_comment): Add call to _cpp_process_line_notes.
5986 * doc/cppopts.texi, doc/cpp.texi: Update.
5987
09780dfb
ZD
59882003-05-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5989
5990 * Makefile.in (LIBGCOV): Add _gcov_merge_add.
5991 * gcov-io.h: Make GCOV_LINKAGE extern in libgcov and prevent resulting
5992 namespace clash.
5993 (GCOV_MERGE_FUNCTIONS): New.
5994 (gcov_merge_fn): Declare.
5995 (struct gcov_ctr_info): New field "merge".
5996 (__gcov_merge_add): Declare.
5997 * coverage.c (ctr_merge_functions): New.
5998 (build_ctr_info_type, build_ctr_info_value): Initialize merge field
5999 of gcov_ctr_info type.
6000 * libgcov.c (__gcov_merge_add): New.
6001 (gcov_exit): Call a hook to merge values of counters.
6002
c71f2ffd
GDR
60032003-05-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
6004
6005 * toplev.h (pedwarn_with_file_and_line): Don't declare.
6006 * diagnostic.c (pedwarn_with_file_and_line): Remove.
6007
3d885683
GDR
60082003-05-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
6009
6010 * varasm.c (assemble_variable): Don't use error_with_file_and_line.
6011
8c9b38d7
KG
60122003-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6013
6014 * builtins.c (expand_builtin_constant_p, expand_builtin_strlen,
6015 expand_builtin_frame_address): Update prototypes.
6016 (expand_builtin_constant_p, expand_builtin_strlen,
6017 expand_builtin_strcpy, expand_builtin_memset,
6018 expand_builtin_bzero, expand_builtin_args_info,
6019 expand_builtin_frame_address): Pass in just the argument(s)
6020 needed, not the entire expression `exp'.
6021 (expand_builtin): Update all calls to these functions.
6022
9c80ff25
RH
60232003-05-03 Richard Henderson <rth@redhat.com>
6024
6025 * builtins.c (expand_builtin) <BUILT_IN_DWARF_FP_REGNUM>: Remove.
6026 <BUILT_IN_DWARF_SP_COLUMN>: New.
6027 * builtins.def (BUILT_IN_DWARF_FP_REGNUM): Remove.
6028 (BUILT_IN_DWARF_SP_COLUMN): New.
6029 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Remove.
6030 (expand_builtin_dwarf_sp_column): New.
6031 * except.h: Update to match.
6032 * unwind-dw2.c (execute_stack_op): Correct stack push typo.
6033 (execute_cfa_program): Record location expression address
6034 before extracting length.
6035 (uw_update_context_1): Install old CFA into stack pointer column.
6036 (uw_init_context_1): Set cfa_reg to stack pointer column.
6037
4d588c14
RH
60382003-05-03 Richard Henderson <rth@redhat.com>
6039
6040 * config/rs6000/rs6000.c (constant_pool_expr_p): Make static and
6041 return bool.
6042 (toc_relative_expr_p): Likewise.
6043 (SPE_CONST_OFFSET_OK): Move from rs6000.h.
6044 (legitimate_constant_pool_address_p): Move from rs6000.h, change
6045 into a function, downcase all users.
6046 (legitimate_small_data_p): Likewise.
6047 (legitimate_offset_address_p): Likewise.
6048 (legitimate_indexed_address_p): Likewise.
6049 (legitimate_indirect_address_p): Likewise.
6050 (legitimate_lo_sum_address_p): Likewise.
6051 (rs6000_mode_dependent_address): Likewise.
6052 * rs6000.h (CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): Remove.
6053 (SPE_CONST_OFFSET_OK, LEGITIMATE_CONSTANT_POOL_ADDRESS_P,
6054 LEGITIMATE_SMALL_DATA_P, LEGITIMATE_OFFSET_ADDRESS_P,
6055 LEGITIMATE_INDEXED_ADDRESS_P, LEGITIMATE_INDIRECT_ADDRESS_P,
6056 LEGITIMATE_LO_SUM_ADDRESS_P): Move into rs6000.c.
6057 (LEGITIMATE_ADDRESS_INTEGER_P): Remove.
6058 (GO_IF_MODE_DEPENDENT_ADDRESS): Use rs6000_mode_dependent_address.
6059 * config/rs6000/rs6000-protos.h: Update.
6060
8d90f9c0
GK
60612003-05-03 Geoffrey Keating <geoffk@apple.com>
6062
b39358e1
GK
6063 * config/rs6000/rs6000.h (REVERSIBLE_CC_MODE): Define.
6064 (REVERSE_CONDITION): Define.
6065
b7053a3f
GK
6066 * config/rs6000/rs6000.c (scc_comparison_operator): Make equivalent
6067 to branch_positive_comparison_operator.
6068 (ccr_bit): Check that sCOND conditions are actually a positive bit.
6069 (print_operand): Remove %D substitution.
6070 (rs6000_emit_sCOND): Generate complement operation to ensure that
6071 sCOND input is a positive bit.
6072 * config/rs6000/rs6000.md: Rearrange sCOND templates to be in the
6073 same order as bCOND, and add the missing ones. Remove the %D
6074 substitutions from the scc patterns.
6075
8d90f9c0
GK
6076 * simplify-rtx.c (simplify_relational_operation): Add case for
6077 ! (fabs(x) < 0.0).
6078
8882ac3a
BK
60792003-05-03 Bruce Korb <bkorb@gnu.org>
6080
6081 * gcc/fixinc/fixincl.tpl(dne): restore this to force merge conflicts
6082 in fixincl.x
6083 * gcc/fixinc/inclhack.def(bsd_stdio_attrs_conflict): fix placement
6084
bd879e9a
AH
60852003-05-03 Aldy Hernandez <aldyh@redhat.com>
6086
4d588c14 6087 * config/rs6000/spe.h: Remove unecessary casts. Misc cleanups.
bd879e9a 6088
87f85ea0
ZW
60892003-05-03 Zack Weinberg <zack@codesourcery.com>
6090
6091 PR c/10604
6092 * c-common.c (warn_sign_compare): Initialize to -1.
6093 * c-opts.c (c_common_init_options): Don't set warn_sign_compare here.
6094 (c_common_decode_option <OPT_Wall>): Set warn_sign_compare
6095 for C++ only.
6096 (c_common_post_options): Set warn_sign_compare from extra_warnings
6097 if it's still -1 at this point.
6098
6099 * toplev.c (maybe_warn_unused_parameter): New static variable.
6100 (set_Wextra): New static function.
6101 (W_options): Remove "extra".
6102 (decode_W_option): Call set_Wextra.
6103 (independent_decode_option): Likewise.
6104 (set_Wunused): Cooperate with set_Wextra in setting
6105 warn_unused_parameter.
6106 (rest_of_compilation): No need to check extra_warnings as
6107 well as warn_uninitialized.
6108
6109 * c-typeck.c (build_binary_op, build_conditional_expr):
6110 No need to check extra_warnings as well as warn_sign_compare.
6111 (internal_build_compound_expr): No need to check extra_warnings
6112 as well as warn_unused_value.
6113 * function.c (expand_function_end): No need to check extra_warnings
6114 as well as warn_unused_parameter.
6115 * stmt.c (expand_expr_stmt_value): No need to check extra_warnings
6116 as well as warn_unused_value.
6117
6118 * doc/invoke.texi: Clarify documentation of -Wsign-compare.
6119
6120 * Makefile.in: Disable -Werror for gengtype-lex.o.
6121
ee960939
OH
61222003-05-03 Olivier Hainque <hainque@act-europe.fr>
6123
6124 * emit-rtl.c (last_call_insn, add_function_usage_to): New functions.
6125 * rtl.h (last_call_insn, add_function_usage_to): New prototypes.
6126 * builtins.c (expand_builtin_apply): Use the new emit-rtl functions.
6127 * calls.c (emit_call_1): Likewise.
87f85ea0 6128 (expand_call): For calls initializing constant memory, replace
ee960939
OH
6129 emission of standalone mem /u clobber with function usage entry.
6130 * expr.c (emit_block_move_via_libcall): Likewise.
6131 * cse.c (count_reg_usage, case EXPR_LIST): New case.
6132 * flow.c (propagate_one_insn): Pass entire operand of
6133 CALL_INSN_FUNCTION_USAGE to mark_used_regs.
6134 * integrate.c (try_constants): For CALL_INSNs, substitute constants
6135 within the FUNCTION_USAGE also.
6136 * loop.c (prescan_loop): Note clobbers of const mem mentioned in
6137 FUNCTION_USAGE lists.
6138 * reload1.c (replace_pseudos_in): Renamed.
6139 (reload): Use it for clobbers surviving until the end of the reload.
6140
3923e410
RK
61412003-05-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6142
13cf99ec
RK
6143 * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Don't use
6144 gen_lowpart on non-integer modes.
6145
3923e410
RK
6146 * stor-layout.c (place_field): When adjusting offset_align, use
6147 desired_align, not DECL_ALIGN.
6148
070588f0
NS
61492003-05-03 Nathan Sidwell <nathan@codesourcery.com>
6150
6151 * c-decl.c (pending_invalid_xref_file): Remove.
6152 (pending_invalid_xref_line): Remove.
6153 (pending_invalid_xref_location): New.
6154 (lookup_label): Use location_t and input_location directly.
6155 (lookup_tag): Likewise.
6156 (pending_xref_error): Likewise.
6157 (c_expand_body_1): Likewise.
6158 * c-common.c (x_expand_start_cond): Likewise.
6159 * c-semantics.c (genrtl_for_stmt): Likewise.
6160 (find_reachable_label): Likewise.
6161 * expr.c (expand_expr): Likewise.
6162 * integrate.c (output_inline_function): Likewise.
6163 * tree-inline.c (find_alloca_call): Likewise.
6164 (find_builtin_longjmp_call): Likewise.
6165 * gcc.c (input_filename): Make static.
87f85ea0 6166
b259a9a6
RS
61672003-05-03 Richard Sandiford <rsandifo@redhat.com>
6168
969c6c43
RS
6169 * config/mips/mips.md: Fix comment typo.
6170
b259a9a6
RS
6171 * config/mips/mips.c (mips_integer_op): New structure.
6172 (MIPS_MAX_INTEGER_OPS): Define.
6173 (mips_const_insns): Use mips_build_integer to determine the number
6174 of instructions needed to load a CONST_INT.
6175 (move_operand): Reject compound CONST_INTs.
6176 (mips_build_shift, mips_build_lower, mips_build_integer): New fns.
6177 (mips_move_integer): New fn.
6178 (mips_legitimize_const_move): Pass CONST_INTs to mips_move_integer.
6179 (mips_legitimize_move): Only legitimize constants when moving
6180 word or subword values.
6181
28068c2c
MK
61822003-05-02 Matt Kraai <kraai@alumni.cmu.edu>
6183
6184 * Makefile.in (gcov-iov.h): Use move-if-change and a stamp.
6185
685828f7
KG
61862003-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6187
6188 * builtins.c (expand_builtin_stpcpy): Copy `arglist' before
6189 modifying it.
6190
d9e95c63
FH
61912003-05-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
6192 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6193
6194 * doc/contrib.texi (Contributors): Add Zdenek Dvorak, Aldy
6195 Hernandez, and Kazu Hirata. Update Richard Henderson.
6196
7454096f
GK
61972003-05-02 Geoffrey Keating <geoffk@apple.com>
6198
b86fe7b4
GK
6199 * config/rs6000/rs6000.c (rs6000_attribute_table): Add 'extern'
6200 to tentative declaration.
87f85ea0 6201
20bfcd69
GK
6202 * config/rs6000/sysv4.h (SYMBOL_FLAG_SMALL_V4): Delete.
6203 (SYMBOL_FLAG_SMALL_V4): Delete.
6204 * config/rs6000/rs6000.c (small_data_operand): Use SYMBOL_REF_SMALL_P.
6205 (rs6000_elf_encode_section_info): Don't set SYMBOL_FLAG_SMALL_V4.
6206 (rs6000_elf_in_small_data_p): Add extra section names. Add
6207 comment about TREE_PUBLIC test.
6208
7454096f
GK
6209 * c-semantics.c (genrtl_switch_stmt, genrtl_if_stmt): Call
6210 expand_stmt on result of expand_unreachable_stmt.
6211
3f4a3170
GP
62122003-05-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6213
6214 * doc/contrib.texi (Contributors): Add Daniel Berlin.
6215
473f51b6
DE
62162003-05-02 David Edelsohn <edelsohn@gnu.org>
6217
6218 * config/rs6000/{603.md,6xx.md,7450.md,7xx.md,rs64.md}: Decrease
6219 number of automata.
6220
6221 * config/rs6000/rs6000.c (symbol_ref_operand): Check
6222 SYMBOL_REF_FUNCTION_P on AIX.
6223 (current_file_function_operand): Same.
6224 * config/rs6000/rs6000.md (call,call_value): Force non-function
6225 symbol_ref into register on AIX.
6226
e7949876
AM
62272003-05-02 Alan Modra <amodra@bigpond.net.au>
6228
6229 * calls.c (struct arg_data): Move offset, slot_offset, size and
6230 alignment_pad to struct locate_and_pad_arg_data. Update all refs.
6231 (initialize_argument_information): Adjust call to locate_and_pad_parm.
6232 Delete alignment_pad var. Don't calculate slot_offset here.
6233 (emit_library_call_value_1): Delete alignment_pad, offset and size
6234 vars. Use struct locate_and_pad_arg_data instead. Adjust refs.
6235 Adjust call to locate_and_pad_parm. Don't tweak arg size for
6236 partial in-regs here. Formatting fixes.
6237 * expr.h (struct locate_and_pad_arg_data): New struct.
6238 (locate_and_pad_parm): Adjust declaration.
6239 * function.c (assign_parms): Localize vars. Use "locate" instead of
6240 other arg location vars. Don't invoke FUNCTION_ARG or
6241 FUNCTION_INCOMING_ARG unless pretend_named is different from
6242 named_arg. Heed MUST_PASS_IN_STACK and set up "partial" before
6243 calling locate_and_pad_parm. Adjust locate_and_pad_parm call.
6244 Use slot_offset for stack home of reg parms. Correct test for
6245 parm passed in memory. Formatting fixes.
6246 (locate_and_pad_parm): Add "partial" to params. Replace offset_ptr
6247 arg_size_ptr and alignment pad with "locate". Set slot_offset here.
6248 Correct initial_offset_ptr handling. Localize vars. Always pad
6249 locate->offset even when in_regs.
6250
6060edcb
NS
62512003-05-02 Nathan Sidwell <nathan@codesourcery.com>
6252
6253 * Makefile.in (TREE_H): Replace location.h with input.h.
6254 (GTFILES) Remove location.h
6255 (gt-lists.h): Replace gt-location.h with gt-input.h
6256 * input.h (input_filename, input_line): Remove variables.
6257 (location_s, location_t): Move from location.h.
6258 (input_location): New.
6259 (input_filename, input_line): New #defines.
6260 * location.h: Remove.
6261 * tree.h: Replace location.h with input.h.
6262 (input_filename, input_line): Remove.
6263 * diagnostic.h: Replace location.h with input.h.
6264 * gcc.h (input_filename, input_filename_length): Remove declarations.
6265 * toplev.c (input_filename, input_line): Remove.
6266 (input_location): Define.
6267 (push_srcloc, pop_srcloc): Adjust.
6268 * diagnostic.c (diagnostic_report_current_module): Adjust.
6269
f8000836
NC
62702003-05-02 Nick Clifton <nickc@redhat.com>
6271
6272 * configure.in: Add xstormy16 to list of targets that has a nop
6273 instruction and hence which can be tested to see if the
6274 assembler supports the --gdwarf2 switch.
6275 * configure: Regenerate.
6276
409f52d3 62772003-05-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
87f85ea0
ZW
6278
6279 PR target/8257
6280 * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
6281 alpha_start_function, alpha_expand_epilogue, unicosmk_gen_dsib):
6282 Avoid undefined shifts by making the shift operand unsigned.
6283
57458e8a
DD
62842003-05-01 DJ Delorie <dj@redhat.com>
6285
6286 * reload.c (find_reloads): Also check that all of a multi-reg
6287 value is in the class.
6288
774cb6d1
NS
62892003-05-01 Nathan Sidwell <nathan@codesourcery.com>
6290
6291 * scan.h (lineno): Revert the rename here.
6292
e1a4211d
SS
62932003-05-01 Stan Shebs <shebs@apple.com>
6294
6295 * config/darwin.c (darwin_encode_section_info): Call
6296 default_encode_section_info.
6297
02ca7595
DE
62982003-05-01 David Edelsohn <edelsohn@gnu.org>
6299
6300 * config/rs6000/rs6000.md (define_attr "type"): Add mfjmpr.
6301 (movsi_internal1): Use new mfjmpr attribute.
6302 (movhi_internal): Same.
6303 (movqi_internal): Same.
6304 (movcc_internal1): Same.
6305 (movdi_internal64): Same.
6306 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
6307 power4.md,rios1.md,rios2.md,rs64.md}: Add mfjmpr.
6308 * config/rs6000/40x.md: Add fpu_405.
6309 * config/rs6000/power4.md: Merge power4lsu and power4disp automata
6310 into power4misc automata. Remove extraneous parentheses.
6311 * config/rs6000/440.md: New file.
6312 * config/rs6000/rs6000.c (processor_target_table): Add 440,
6313 440fp. Rename 405f to 405fp.
6314 (function_arg_padding): Correct formatting.
6315 (rs6000_rtx_costs): Add PROCESSOR_PPC440 cases.
6316
3b895f8e
NS
63172003-05-01 Nathan Sidwell <nathan@codesourcery.com>
6318
d479d37f
NS
6319 * input.h (lineno): Rename to ...
6320 (input_line): ... here.
6321 * tree.h (lineno): Rename to ...
6322 (input_line): ... here.
6323 * scan.h (lineno): Rename to ...
6324 (input_line): ... here.
6325 * toplev.c (lineno): Rename to ...
6326 (input_line): ... here.
6327 (push_srcloc, pop_srcloc): Rename lineno to input_line.
6328 * c-common.c (c_expand_start_cond, fname_decl): Likewise.
6329 * c-decl.c (poplevel, pop_label_level, lookup_label, lookup_tag,
6330 store_parm_decls, c_expand_body_1): Likewise.
6331 * c-errors.c (pedwarn_c99): Likewise.
6332 * c-format.c (status_warning): Likewise.
6333 * c-lex.c (fe_file_change, cb_def_pragma, c_lex): Likewise.
6334 * c-opts.c (c_common_post_options, c_common_parse_file): Likewise.
6335 * c-parse.in (save_filename, maybe_type_qual, ifc): Likwise.
6336 * c-semantics.c (finish_stmt_tree, build_stmt, emit_local_var,
6337 gentrtl_goto_stmt, genrtl_expr_stmt_value, genrtl_decl_stmt,
6338 genrtl_if_stmt, genrtl_while_stmt, genrtl_do_stmt,
6339 genrtl_return_stmt, genrtl_for_stmt, build_break_stmt,
6340 build_continue_stmt, genrtl_switch_stmt, genrtl_asm_stmt,
6341 prep_stmt, find_reachable_label, expand_unreachable_stmt): Likewise.
6342 * coverage.c (create_coverage): Likewise.
6343 * diagnostic.c (pedwarn, sorry, error, fatal_error,
6344 internal_error, warning, diagnostic_report_current_module,
6345 inform): Likewise.
6346 * expr.c (expand_expr): Likewise.
6347 * integrate.c (expand_inline_function,
6348 output_inline_function): Likewise.
6349 * rtl-error.c (file_and_line_for_asm): Likewise.
6350 * tree-inline.c (find_alloca_call, find_builtin_longjmp_call,
6351 walk_tree): Likewise.
6352 * tree.c (make_node): Likewise.
6353 * ada, cp, f, java, objc, treelang: Likewise.
6354 * objc/objc-act.c (objc_init): Rename lineno to input_line.
6355 (build_module_descriptor, build_selector_translation_table,
6356 build_protocol_template, build_method_prototype_list_template,
6357 build_category_template, build_selector_table,
6358 build_class_template, build_super_template, build_ivar_template,
6359 build_ivar_list_template, build_method_list_template,
6360 build_method_template, add_instance_variable): Likewise.
6361
3b895f8e
NS
6362 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Change parameter
6363 name from input_filename.
6364
cafe096b
EC
63652003-04-30 Eric Christopher <echristo@redhat.com>
6366 Richard Sandiford <rsandifo@redhat.com>
6367
6368 * configure: Regenerate from patches below.
6369 * combine.c (gen_lowpart_for_combine): Fix comment and add tests
6370 for all symbolic operands.
6371 * config/mips/mips.c: Migrate RTX_COSTS and CONST_COSTS
6372 to function.
6373 * config/mips/linux.h: Fix typo.
6374 * Merge from mips-3_4-rewrite branch:
6375
6376 2003-04-07 Richard Sandiford <rsandifo@redhat.com>
6377
87f85ea0
ZW
6378 * config/mips/mips.c (mips_classify_symbol): Add catch-all case for
6379 handling local labels when TARGET_ABICALLS.
cafe096b
EC
6380
6381 2003-04-04 Richard Sandiford <rsandifo@redhat.com>
6382
87f85ea0
ZW
6383 * config/mips/mips-protos.h (mips_expand_epilogue): Add an
6384 integer argument.
6385 (mips_expand_call): Likewise.
6386 * config/mips/mips.h (TARGET_SIBCALLS): New macro.
6387 (FIXED_REGISTERS): Clear $31 entry.
6388 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTER): Likewise.
6389 (EPILOGUE_USES): Define.
6390 * config/mips/mips.c (mips_function_ok_for_sibcall): New function.
6391 (TARGET_FUNCTION_OK_FOR_SIBCALL): Use it.
6392 (override_options): Add a 'j' register class.
6393 (mips_expand_call): Handle sibcalls
6394 (mips_expand_epilogue): Handle epilogues for sibcalls.
6395 * config/mips/mips.md (epilogue): Adjust call to mips_expand_epilogue.
6396 (sibcall_epilogue): New pattern.
6397 (call, call_value): Adjust calls to mips_expand_call.
6398 (sibcall, sibcall_value): New expanders.
6399 (sibcall_internal, sibcall_value_internal): New patterns.
6400 (sibcall_value_multiple_internal): New pattern.
cafe096b
EC
6401
6402 2003-03-25 Richard Sandiford <rsandifo@redhat.com>
6403
87f85ea0
ZW
6404 * config/mips/mips.md (extended_mips16): New attribute.
6405 (define_attr length): Default to 8 if extended_mips16 == yes.
6406 (truncdisi2): Set extended_mips16 to yes for the sll alternative.
6407 (truncdihi2, truncdiqi2, *extendsidi2): Likewise.
6408 (call_internal): Set extended_mips16 to yes for direct jumps.
6409 Remove redundant mode attribute.
6410 (call_value_internal, call_value_multiple_internal): Likewise.
6411 (call_split): Remove redundant mode attribute.
6412 (call_value_split, call_value_multiple_split): Likewise.
cafe096b 6413
87f85ea0
ZW
6414 * config/mips/mips.c (mips_symbol_insns): Rework. Fix handling
6415 of unaligned offsets.
cafe096b 6416
0d569849 6417 * config/mips/mips.c (mips_splittable_symbol_p): Fix handling
87f85ea0 6418 of SYMBOL_GENERAL.
cafe096b
EC
6419
6420 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
6421
87f85ea0
ZW
6422 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS): Add commentary.
6423 * config/mips/mips.c (override_options): Disable -mexplicit-relocs
6424 for mips16 code.
cafe096b
EC
6425
6426 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
6427
87f85ea0 6428 * config/mips/mips.h (ADDRESS_COST): Define.
cafe096b
EC
6429
6430 2003-03-20 Richard Sandiford <rsandifo@redhat.com>
6431
87f85ea0
ZW
6432 * config/mips/mips.h (EXTRA_CONSTRAINT): Give existing meaning of
6433 'R' to 'U'. Make 'R' mean a single-instruction memory reference.
6434 * config/mips/mips.md: Replace 'R' constraints with 'U'.
cafe096b
EC
6435
6436 2003-03-18 Richard Sandiford <rsandifo@redhat.com>
6437
87f85ea0
ZW
6438 * config/mips/mips.md (truncdisi2): Add commentary. Use sll instead
6439 of a two-instruction sequence. Add register->memory alternative.
6440 (truncdihi2, truncdiqi2): Likewise.
6441 Rework shift/truncate instructions so that they only handle right
6442 shifts of 32 (or more, in the case of arithmetic shifts).
6443 Add patterns for truncate/sign-extend.
cafe096b
EC
6444
6445 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
6446
87f85ea0
ZW
6447 * configure.in (mips*-*-*): Check for explicit relocation support.
6448 * configure: Regenerate.
cafe096b
EC
6449
6450 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
6451
87f85ea0
ZW
6452 * config/mips/mips.h (TARGET_SWITCHES): Add -mexplicit-relocs
6453 and -mno-explicit-relocs.
6454 (MASK_EXPLICIT_RELOCS): Define.
6455 (TARGET_EXPLICIT_RELOCS): Use it.
6456 (mips_split_addresses): Remove declaration.
6457 * config/mips/mips.c (override_options): Update comment for
6458 mips_split_addresses. Clear MASK_EXPLICIT_RELOCS for non-PIC n64.
cafe096b
EC
6459
6460 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
6461
87f85ea0
ZW
6462 * combine.c (gen_lowpart_for_combine): Treat the lowpart Pmode of
6463 a CONST as identity. Check the return value of gen_lowpart_common.
cafe096b
EC
6464
6465 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
6466
87f85ea0
ZW
6467 * config/mips/mips.c (mips_legitimize_symbol): Handle small data
6468 references for TARGET_EXPLICIT_RELOCS.
6469 (mips_reloc_string): Return "%gp_rel(" for RELOC_GPREL16 if
6470 !TARGET_MIPS16.
cafe096b
EC
6471
6472 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
6473
87f85ea0
ZW
6474 * config/mips/mips.md: Replace 'IQ' mips16 constraints with just 'Q'.
6475 (addsi3): Remove redundant constraints.
6476 (addsi3_internal): Use separate register & constant alternatives.
6477 Use a 'Q' constraint and "addiu" insn for the latter.
6478 (adddi3_internal_3, addsi3_internal_2): Likewise.
cafe096b
EC
6479
6480 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
6481
87f85ea0
ZW
6482 * config/mips/mips-protos.h (mips_expand_unaligned_load): Declare.
6483 (mips_expand_unaligned_store): Declare.
6484 * config/mips/mips.c (mips_get_unaligned_mem): New fn.
6485 (mips_expand_unaligned_load, mips_expand_unaligned_store): New fns.
6486 * config/mips/mips.md (UNSPEC_ULW, UNSPEC_USW): Remove.
6487 (UNSPEC_ULD, UNSPEC_USD): Remove.
6488 (UNSPEC_LWL, UNSPEC_LWR, UNSPEC_SWL, UNSPEC_SWR): New.
6489 (UNSPEC_LDL, UNSPEC_LDR, UNSPEC_SDL, UNSPEC_SDR): New.
6490 (extv, extzv): Use mips_expand_unaligned_load.
6491 (insv): Use mips_expand_unaligned_store. Use a reg_or_0_operand
6492 predicate for operand 3.
6493 (movsi_ulw, movsi_usw): Replace with...
6494 (mov_lwl, mov_lwr, mov_swl, move_swr): ...these new insns.
6495 (movdi_uld, movdi_usd): Likewise replace with...
6496 (mov_ldl, mov_ldr, mov_sdl, move_sdr): ...these insns.
cafe096b
EC
6497
6498 2003-02-26 Richard Sandiford <rsandifo@redhat.com>
6499
87f85ea0
ZW
6500 * config/mips/mips-protos.h (mips_global_pic_constant_p): Declare.
6501 * config/mips/mips.h (LEA_REGS): New register class.
6502 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add entries for it.
6503 (GR_REG_CLASS_P): Include LEA_REGS.
6504 (DANGEROUS_FOR_LA25_P): New macro.
6505 (EXTRA_CONSTRAINT): Add !DANGEROUS_FOR_LA25_P to R's condition.
6506 Add a T constraint for the DANGEROUS_FOR_LA25_P case.
6507 * config/mips/mips.c (mips_regno_to_class): Change GR_REGS
6508 entries to LEA_REGS.
6509 (mips_global_pic_constant_p): New function.
6510 (override_options): Add 'e' register constraint.
6511 (mips_secondary_reload_class): Return LEA_REGS when reloading
6512 a dangerous constant into a class containing $25.
6513 * config/mips/mips.md (movdi_internal2): Add an e <- T alternative.
6514 (movsi_internal): Likewise.
cafe096b
EC
6515
6516 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
6517
87f85ea0
ZW
6518 * config/mips/mips.h (TARGET_SPLIT_CALLS): New macro.
6519 * config/mips/mips.md (call_split): New insn.
6520 (call_value_split, call_value_multiple_split): New insns.
6521 (call_internal): Turn into a define_insn_and_split. Split the
6522 instruction into a call and $gp load if TARGET_SPLIT_CALLS.
6523 (call_value_internal, call_value_multiple_internal): Likewise.
cafe096b
EC
6524
6525 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
6526
87f85ea0
ZW
6527 * config/mips/mips.c (mips_reloc_string): Return "%got(" for
6528 RELOC_GOT_PAGE and RELOC_GOT_DISP if !TARGET_NEWABI.
6529 (mips_encode_section_info): Don't take symbol visibility into
6530 account if TARGET_ABICALLS. Add more commentary.
6531 * config/mips/mips.md: Add commentary above reloc constants.
cafe096b
EC
6532
6533 2003-02-12 Richard Sandiford <rsandifo@redhat.com>
6534
87f85ea0
ZW
6535 * config/mips/mips.c (mips_legitimize_const_move): New, extracted
6536 from mips_legitimize_move. Legitimize constant pool references.
6537 (mips_legitimize_move): Call mips_legitimize_const_move. Attach
6538 a REG_EQUAL note to the last instruction.
cafe096b
EC
6539
6540 2003-02-11 Richard Sandiford <rsandifo@redhat.com>
6541
87f85ea0
ZW
6542 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Declare.
6543 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS, TARGET_NEWABI): New.
6544 (ASM_SIMPLIFY_DWARF_ADDR): Define to mips_simplify_dwarf_addr.
6545 (EXTRA_CONSTRAINT): Allow symbolic call addresses for TARGET_ABICALLS.
6546 * config/mips/mips.md (UNSPEC_HIGH): New constant.
6547 (UNSPEC_RELOC_GPREL16): Rename to...
6548 (RELOC_GPREL16): ...this.
6549 (RELOC_GOT_HI, RELOC_GOT_LO, RELOC_GOT_PAGE, RELOC_GOT_DISP): New.
6550 (RELOC_CALL16, RELOC_CALL_HI, RELOC_CALL_LO): New.
6551 (macro_calls): New attribute.
6552 (length): Use it to set the default length of calls. Don't allow
6553 calls to have delay slots if macro_calls is "yes".
6554 (luisi, luidi): New patterns.
6555 (lowsi, lowdi): Use '%R' to print the relocation.
6556 (lowdi_extend): Remove.
6557 (loadgp): Remove mode from operand 0. Use '%0' instead of '%a0'.
6558 (call_internal): Merge alternatives. Always use "jal".
6559 (call_value_internal, call_value_multiple_internal): Likewise.
6560 (reloc_gprel16): Remove.
6561 * config/mips/mips.c (mips_got_alias_set): New variable.
6562 (mips_classify_constant): Handle the new relocation constants.
6563 (mips_classify_symbol): Reverse the sense of SYMBOL_REF_FLAG for PIC.
6564 (mips_symbolic_address_p): Return false if generating explicit relocs.
6565 Otherwise allow local PIC symbols to have an offset.
6566 (mips_splittable_symbol_p): New function.
6567 (mips_classify_address): Use it to check whether a LO_SUM is valid.
6568 (mips_const_insns): Always accept HIGH.
6569 (call_insn_operand): Don't accept global symbols if using explicit
6570 relocs.
6571 (move_operand): Don't accept HIGH when generating PIC.
6572 (mips_reloc, mips_lui_reloc): New functions.
6573 (mips_force_temporary): Remove MODE argument. Expect VALUE to
6574 be a valid right-hand-side for a SET pattern.
6575 (mips_load_got, mips_load_got16, mips_load_got32): New functions.
6576 (mips_emit_high): New function.
6577 (mips_legitimize_symbol): Use mips_reloc for the mips16 gp-relative
6578 case. Use mips_splittable_symbol_p to check whether a LO_SUM
6579 address should be used. Use mips_emit_high to generate the
6580 high part of such an address. Adjust the global symbol + offset
6581 case to match the change to mips_force_temprorary.
6582 (mips_legitimize_move): Shuffle call to mips_legitimize_symbol.
6583 If generating explicit-reloc PIC, load the address of global
6584 symbols from the GOT. Use mips_emit_high to emit the high part
6585 of an address.
6586 (mips_simplify_dwarf_addr): New function.
6587 (mips_move_1word): Use lwc1 instead of l.s and swc1 instead of s.s.
6588 (mips_move_2words): Likewise ldc1/l.d and sdc1/s.d if TARGET_64BIT.
6589 (mips_expand_call): Load the addresses of global functions using
6590 %call* relocs if generating explicit-reloc PIC. Don't generate
6591 an exception_receiver pattern.
6592 (override_options): Initialize mips_got_alias_set.
6356f892 6593 (print_relocation): Remove in favor of...
87f85ea0
ZW
6594 (mips_reloc_string): ...this new function.
6595 (print_operand): Handle '%R'. Use mips_reloc_string.
6596 (print_operand_address): Use print_operand to print the symbolic
6597 part of a LO_SUM address.
6598 (mips_output_function_prologue): Use .cprestore, reverting last patch.
6599 (mips_encode_section_info): Factor out DECL_RTL accesses. Reverse
6600 sense of SYMBOL_REF_FLAG for PIC, using binds_local_p to check
6601 for local symbols.
cafe096b
EC
6602
6603 2003-02-02 Eric Christopher <echristo@redhat.com>
6604
0d569849 6605 * config/mips/mips.c (mips_sign_extend): Remove.
87f85ea0
ZW
6606 * config/mips/mips-protos.h: Ditto.
6607 * config/mips/mips.md (movdi_internal2_extend): Remove.
6608 (extendsidi2): Fix mode of convert_memory_address.
cafe096b
EC
6609
6610 2003-01-24 Eric Christopher <echristo@redhat.com>
6611
87f85ea0
ZW
6612 * config/mips/mips.md: Rewrite zero_extend* and extend*
6613 patterns. Use explicit instructions and split after reload
6614 for register extensions.
6615 (ashlsi3_internal1_extend): New combiner pattern for
6616 shift and extend combinations.
6617 * config/mips/mips.h: Change Pmode back to ptr_mode
6618 for performance enhancement.
6619 * combine.c (expand_compound_operation): Make sure
6620 that zero_extend operation is profitable.
cafe096b
EC
6621
6622 2003-01-14 Richard Sandiford <rsandifo@redhat.com>
6623
87f85ea0
ZW
6624 * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Make size of stored
6625 addresses depend on ptr_mode rather than Pmode.
6626 (TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT): Update acoordingly.
6627 (INITIALIZE_TRAMPOLINE): Rework to handle Pmode != ptr_mode.
6628 (CASE_VECTOR_MODE): Use ptr_mode for !TARGET_MIPS16.
6629 (ASM_OUTPUT_ADDR_VEC_ELT): Update accordingly.
6630 * config/mips/mips.md (tablejump): Likewise. Remove Pmode
6631 condition for selecting cpaddsi or cpadddi: use cpadd instead.
6632 (tablejump_internal1): Remove condition.
6633 (tablejump_internal2): Change condition to TARGET_64BIT.
6634 (cpaddsi): Rename to...
6635 (cpadd): ...this.
6636 (cpadddi): Remove.
cafe096b
EC
6637
6638 2003-01-09 Richard Sandiford <rsandifo@redhat.com>
6639
87f85ea0
ZW
6640 * config/mips/mips-protos.h (mips16_constant_after_function_p,
6641 mips_address_cost, mips_check_split, double_memory_operand,
6642 mips16_gp_offset, mips16_gp_offset_p, mips16_constant,
6643 pic_address_needs_scratch, symbolic_operand): Remove declarations.
6644 (mips_legitimate_address_p): Return bool.
6645 (mips_address_insns, mips_fetch_insns, mips_const_insns,
6646 mips_legitimize_address, mips_legitimize_move,
6647 mips_expand_call): Declare.
6648 (mips_return_addr): Move outside #ifdef RTX_CODE.
6649
6650 * config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): New macro.
6651 (PIC_FN_ADDR_REG): New reg_class.
6652 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add corresponding entries.
6653 (GR_REG_CLASS_P): True for PIC_FN_ADDR_REG.
6654 (SMALL_OPERAND, SMALL_OPERAND_UNSIGNED, LUI_OPERAND,
6655 CONST_HIGH_PART, CONST_LOW_PART, LUI_INT): New macros.
6656 (SMALL_INT, SMALL_INT_UNSIGNED, CONST_OK_FOR_LETTER_P): Use new macros.
6657 (EXTRA_CONSTRAINTS): Give new meanings to Q, R and S.
6658 (CONSTANT_ADDRESS_P): Use mips_legitimate_address_p.
6659 (LEGITIMATE_PIC_OPERAND): Undefine.
6660 (LEGITIMATE_CONSTANT_P): Use mips_const_insns.
6661 (LEGITIMIZE_ADDRESS): Use mips_legitimize_address.
6662 (CONSTANT_AFTER_FUNCTION_P): Remove definition in #if 0 block.
6663 (FUNCTION_MODE): Change to SImode.
6664 (CONST_COSTS): Use mips_const_insns to calculate the cost of
6665 most constants. Treat const_artih_operands specially if they
6666 occur in a PLUS or MINUS.
6667 (CONSTANT_POOL_COST): New macro.
6668 (RTX_COSTS): Use mips_address_insns for MEMs, with a base cost of 2.
6669 Add LO_SUM handling.
6670 (ADDRESS_COST): Undefine.
6671 (PREDICATE_CODES): Add symbolic_operand and const_arith_operand.
6672 Add CONST to the list of codes for arith_operand. Add LABEL_REF
6673 to call_insn_operand and remove CONST_INT.
6674
6675 * config/mips/mips.c: Include integrate.h.
6676 (SINGLE_WORD_MODE_P): New macro.
6677 (mips_constant_type, mips_symbol_type, mips_address_type): New enums.
6678 (mips_constant_info, mips_address_info): New structs.
6679 (mips_regno_to_class): Map $25 to PIC_FN_ADDR_REG.
6680 (mips_classify_constant, mips_classify_symbol,
6681 mips_valid_base_register_p, mips_symbolic_address_p,
6682 mips_classify_address, mips_symbol_insns,
6683 mips16_unextended_reference_p, mips_address_insns, mips_const_insns,
6684 mips_fetch_insns, mips_force_temporary, mips_add_offset,
6685 mips_legitimize_symbol, mips_legitimize_address, mips_legitimize_move,
6686 mips_print_relocation): New functions.
6687 (const_arith_operand): New operand predicate.
6688 (arith_operand): Use it.
6689 (mips_const_double_ok, mips16_simple_memory_operand,
6690 simple_memory_operand, double_memory_operand, mips_check_split,
6691 mips_address_cost, pic_address_needs_scratch, mips16_gp_offset,
6692 mips16_gp_offset_p, mips16_output_gp_offset,
0d569849 6693 mips16_constant_after_function_p, mips16_constant): Remove.
87f85ea0
ZW
6694 (call_insn_operand): Be more fussy about symbolic constants.
6695 Use register_operand.
6696 (move_operand): Use mips_symbolic_address_p to check symbolic
6697 operands and general_operand to check the rest.
6698 (symbolic_operand): Use mips_classify_constant.
6699 (mips_legitimate_address_p): Use mips_classify_address.
6700 (mips_move_1word): Combine handling of symbolic addresses.
6701 Remove special treatment of gp-relative loads for TARGET_MIPS16.
6702 (move_move_2words): Likewise. Assume addresses are offsettable
6703 if they need to refer to more than one word. Add HIGH handling.
6704 (mips_restore_gp): Use ptr_mode for the GP save slot.
6705 (mips_expand_call): New function, combining the old mips.md
6706 call and call_internal define_expands. If the address isn't
6707 a call_insn_operand, force it into a register. For SVR4 PIC,
6708 emit an exception_receiver instruction after the call.
6709 (override_options): Only override flag_pic for TARGET_ABICALLS
6710 if it is currently zero. Allow mips_split_addresses when
6711 Pmode == DImode too, except when ABI_HAS_64BIT_SYMBOLS.
6712 Add new register class letter, 'c'.
6713 (print_operand): Use mips_classify_constant for constant operands.
6714 (print_operand_address): Use mips_classify_address.
6715 (mips_output_function_prologue): Don't use .cprestore.
6716 (mips_expand_epilogue): For TARGET_MIPS16, only adjust the stack
6717 via the frame pointer if current_function_calls_eh_return.
6718 (mips_encode_section_info): For TARGET_ABICALLS, use SYMBOL_REF_FLAG
6719 to mark whether a symbol is local or global.
6720 (build_mips16_call_stub): Expect the address of the function rather
6721 than a MEM reference to it. Update call generation sequences.
6722 (mips16_optimize_gp): Remove Pmode checks. Temporarily disable
6723 small-data adjustments.
6724
6725 * config/mips/mips.md: Remove 'R'/'m' memory distinction. Use default
6726 length for loads and stores.
6727 (UNSPEC_CPADD, UNSPEC_RELOC_GPREL16): New constants.
6728 (define_attr type): Add const and prefetch.
6729 (define_attr length): Use mips_const_insns for const instructions.
6730 Use mips_fetch_insns for load and store instructions.
6731 (define_attr single_insn): New.
6732 (define_attr can_delay): Use it.
6733 (define_attr abicalls): Remove.
6734 (define_delay): Use can_delay. Always allow calls to have delay slots.
6735 (addsi3_internal_2): Add 'Q' constraint.
6736 (movsi_ulw, movsi_usw, movdi_uld, movdi_usd): Set length to 8.
6737 (high): Remove.
6738 (lowsi): Renamed from low.
6739 (lowdi): New pattern.
6740 (movdi, movsi): Use mips_legitimize_move. Remove define_split.
6741 (lwxc1, ldxc1, swxc1, sdxc1): Set length to 4.
6742 (loadgp): Change operand 0 to an immediate_operand.
6743 (tablejump): Use the same patterns for SVR4 PIC but emit a cpadd
6744 beforehand.
6745 (cpaddsi, cpadddi): New patterns.
6746 (tablejump_internal3, tablejump_internal4): Remove define_expands
6747 and associated define_splits.
6748 (call, call_value): Use mips_expand_call.
6749 (call_internal): New, replacing all existing call_internal* insns.
6750 (call_value_internal): Likewise call_value_internal*.
6751 (call_value_multiple_internal): Likewise call_value_multiple_internal*.
6752 (untyped_call): Remove if (operands[0]) magic.
6753 (prefetch_si_address, prefetch_si): Change type to "prefetch".
6754 (prefetch_di_address, prefetch_di): Likewise.
6755 (leasi, leadi): Remove.
6756 (reloc_gprel16): New.
6757
6758 * config/mips/5400.md (ir_vr54_hilo): Include const type.
6759 * config/mips/5500.md (ir_vr55_hilo): Likewise.
6760 * config/mips/sr71k.md (ir_sr70_hilo): Likewise.
cafe096b
EC
6761
6762 2003-01-08 Eric Christopher <echristo@redhat.com>
6763
87f85ea0
ZW
6764 * config.gcc (mipsisa32*): Change ABI_MEABI to ABI_EABI.
6765 * config/mips/elf.h (STARTFILE_SPEC): Remove ABI_MEABI references and
6766 configure check for libgloss.
6767 * config/mips/elf64.h: Ditto.
6768 * config/mips/mips.c: Remove ABI_MEABI.
6769 * config/mips/mips.h: Ditto.
cafe096b
EC
6770
6771 2002-11-05 Richard Sandiford <rsandifo@redhat.com>
6772
87f85ea0
ZW
6773 Fix merge fallout.
6774 * config/mips/mips.md (mul_acc_si): Reapply 2002-10-16 change.
6775 (muldi3_internal): Remove outdated comment.
6776 (*muls_di, *umuls_di): Fix comment and 64-bitness.
6777 (*smsac_di, *umsac_di): Likewise. Reformat.
6778 (umulsi3_highpart): Minor formatting tweaks.
6779 (umulsi3_highpart_internal): Use only if !ISA_HAS_MULHI. Remove
6780 redundant scratch operand. Minor formatting tweak.
6781 (umulsi3_highpart_mulhi_internal): Use for !TARGET_64BIT as well.
6782 (umulsi3_highpart_neg_mulhi_internal): Likewise. Fix asm template.
6783 (smulsi3_highpart): As for the unsigned version.
6784 (smulsi3_highpart_internal): Likewise.
6785 (smulsi3_highpart_mulhi_internal): Likewise.
6786 (smulsi3_highpart_neg_mulhi_internal): Likewise.
6787 (smuldi3_highpart, umuldi3_highpart): Minor formatting tweaks.
6788 (*smul_acc_di): Remove duplicated pattern.
6789 (*umul_acc_di, *smul_acc_di): Reapply 2002-10-16 change.
6790 (anddi3) [unnamed mips16 pattern]: Remove reintroduced length.
6791 (zero_extendsidi2_internal2): Remove new, but commented-out pattern.
cafe096b
EC
6792
6793 2002-10-22 Eric Christopher <echristo@redhat.com>
6794
87f85ea0
ZW
6795 * config/mips/mips-protos.h (mips_return_addr): New.
6796 * config/mips/mips.c (mips_return_addr): New.
6797 (movdi_operand): Remove.
6798 (se_register_operand): Ditto.
6799 (se_reg_or_0_operand): Ditto.
6800 (se_uns_arith_operand): Ditto.
6801 (se_arith_operand): Ditto.
6802 (se_nonmemory_operand): Ditto.
6803 (extend_operator): Ditto.
6804 (highpart_shift_operator): Ditto.
6805 (mips_initial_elimination_offset): Remove return address pointer
6806 elimination.
6807 (mips_reg_names): Remove $ra.
6808 (mips_regno_to_class): Ditto.
6809 * config/mips/mips.h (POINTER_SIZE): Define based on TARGET_LONG64
6810 and TARGET_64BIT.
6811 (POINTER_BOUNDARY): Remove.
6812 (POINTERS_EXTEND_UNSIGNED): Define to 0.
6813 (PROMOTE_MODE): Promote to Pmode.
6814 (SHORT_IMMEDIATES_SIGN_EXTEND): Define.
6815 (Pmode): Define to TARGET_64BIT.
6816 (FUNCTION_MODE): Define as Pmode.
6817 (mips_args): Remove deleted functions.
6818 (SIZE_TYPE): Depend on POINTER_SIZE.
6819 (PTRDIFF_TYPE): Ditto.
6820 (FIXED_REGISTERS): Fix extra registers.
6821 (CALL_USED_REGISTERS): Ditto.
6822 (CALL_REALLY_USED_REGISTERS): Ditto.
6823 (RAP_REG_NUM): Remove.
6824 (RETURN_ADDRESS_POINTER_REGNUM): Ditto.
6825 (RETURN_ADDR_RTX): Define to mips_return_addr.
6826 (ELIMINABLE_REGS): Remove RETURN_ADDRESS_POINTER_REGNUM.
6827 (CAN_ELIMINATE): Ditto.
6828 * config/mips/mips.md: For DImode patterns, take into account
6829 deletions above. Split mulsidi patterns into sign_extend and
6830 zero_extend.
cafe096b
EC
6831
6832 2002-10-16 Richard Sandiford <rsandifo@redhat.com>
87f85ea0
ZW
6833 Michael Meissner <meissner@redhat.com>
6834
6835 * config/mips/mips.h (ISA_HAS_MACC): True for normal-mode vr4120 code.
6836 * config/mips/mips.md (mulsi3_mult3): Add a define_peephole2 to
6837 mop up unnecessarly moves through LO.
6838 (*mul_acc_si): Remove vr5400 and vr5500 handling from here.
6839 (*macc): New pattern for ISA_HAS_MACC. Add define_peephole2s to
6840 change mtlo/macc sequences into mul/add sequences when a three-
6841 address mul is available.
6842 (*macc2): New pattern. Add a define_peephole2 to generate it.
6843 (*mul_sub_si): Fix contraint for operand 5.
6844 (*muls): Use in 32-bit code as well.
6845 (*msac): Likewise. Use msub instead of msac in vr5500 code
6846 if the destination is LO. Remove duplicate define_split.
6847 (*muls_di): Use only in 32-bit code. Adjust rtl accordingly.
6848 (*msac_di): Likewise. Fix formatting.
6849 (smulsi3_highpart, umulsi3_highpart): Use mulhi in 32-bit code too.
6850 (*xmulsi3_highpart_internal): Use only if !ISA_HAS_MULHI.
6851 (*xmulsi3_highpart_mulhi): Use even if !TARGET_64BIT.
6852 (*xmulsi3_neg_highpart_mulhi): Likewise.
6853 (*mul_acc_64bit_di): Remove.
6854 (*mul_acc_di): Use only in 32-bit code. Handle ISA_HAS_MACC as well.
cafe096b
EC
6855
6856 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
6857
87f85ea0
ZW
6858 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
6859 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
6860 (MULTILIB_DIRNAMES): Remove long32.
6861 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
6862 (MULTILIB_REDUNDANT_DIRS): Remove.
cafe096b
EC
6863
6864 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
6865
87f85ea0
ZW
6866 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
6867 * gcc.c (driver_self_specs): New variable.
6868 (do_self_spec): New function.
6869 (main): Use it to process driver_self_specs.
cafe096b
EC
6870
6871 2002-10-09 Richard Sandiford <rsandifo@redhat.com>
6872
87f85ea0
ZW
6873 * config/mips/mips.md (one_cmpldi2): Use only if TARGET_64BIT.
6874 Remove DImode define_split for !TARGET_64BIT.
6875 (anddi3): Remove !TARGET_64BIT support from here as well.
6876 Change operand 2's predicate to se_uns_arith_operand.
6877 Add constant alternatives to define_insn.
6878 (iordi3, xordi3, *nordi3): Likewise.
6879 (anddi3_internal1, xordi3_immed): Remove.
cafe096b
EC
6880
6881 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
6882
87f85ea0
ZW
6883 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
6884 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
6885 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
6886 * config/mips/mips.md: Apply same renaming here.
cafe096b
EC
6887
6888 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
6889
87f85ea0
ZW
6890 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
6891 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
6892 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
6893 * config/mips/mips.md (define_attr cpu): Remove r4320.
6894 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
cafe096b
EC
6895
6896 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
6897
87f85ea0
ZW
6898 * config/mips/mips.c (mips16_strings): New variable.
6899 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
6900 symbol in mips16_strings. Free the list.
6901 (mips_encode_section_info): Keep track of local strings.
cafe096b
EC
6902
6903 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
6904
87f85ea0
ZW
6905 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
6906 (sordered_df, sordered_sf): Remove.
6907 * config/mips/mips.c (get_float_compare_codes): New fn.
6908 (gen_int_relational, gen_conditional_move): Use it.
cafe096b
EC
6909
6910 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
6911
87f85ea0
ZW
6912 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
6913 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
6914 * config/mips/mips.c (fcc_register_operand): New function.
6915 (mips_emit_fcc_reload): New function, extracted from reload_incc.
6916 (override_options): Allow TFmode values in float registers
6917 if ISA_HAS_8CC.
6918 * cnfig/mips/mips.md (reload_incc): Change destination prediate
6919 to fcc_register_operand. Remove misleading source constraint.
6920 Use mips_emit_fcc_reload.
0d569849 6921 (reload_outcc): Duplicate reload_incc.
cafe096b
EC
6922
6923
44c8a5f8
DN
69242003-04-30 Diego Novillo <dnovillo@redhat.com>
6925
6926 * builtins.def (BUILTIN_CONSTANT_P): Mark as constant.
6927
5d638f70
GK
69282003-04-30 Geoffrey Keating <geoffk@apple.com>
6929
6930 * tree-inline.c (inlinable_function_p): Back out last change, it's
6931 unnecessary.
6932
5e26df64
SB
69332003-04-30 Steven Bosscher <steven@gcc.gnu.org>
6934
6935 * ggc-page.c (TREE_EXP_SIZE): Define.
6936 (extra_order_size_table): New entry for expr trees with
6937 two operands.
6938
fba020b1
GDR
69392003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
6940
6941 * c-common.c (if_elt): Use location_t in lieu of "file, line" pair.
6942 (c_expand_start_cond): Adjust.
6943 (c_expand_end_cond): Don't use warning_with_file_and_file.
6944 (shadow_warning): Likewise.
6945
62216ea0
NS
69462003-04-30 Nathan Sidwell <nathan@codesourcery.com>
6947
6948 * tree.h (DECL_POINTER_DEPTH): Remove.
6949 (struct tree_decl): Remove pointer_depth.
cafe096b 6950
d1908feb
JJ
69512003-04-30 Janis Johnson <janis187@us.ibm.com>
6952
6953 * config/rs6000/linux64.h (ASM_OUTPUT_LABELREF): Remove.
6954 * config/rs6000/rs6000.c (rs6000_elf_strip_name_encoding): Remove.
6955 (rs6000_xcoff_encode_section_info): Remove.
6956 (current_file_function_operand): Use SYMBOL_REF_FLAGS; fix latent bug.
6957 (rs6000_output_mi_thunk): Remove dead code; use SYMBOL_REF_FLAGS.
6958 (small_data_operand, rs6000_emit_move, rs6000_elf_in_small_data_p,):
6959 Use SYMBOL_REF_FLAGS.
6960 (rs6000_elf_encode_section_info): Call default_encode_section_info for
6961 generic flags, use SYMBOL_REF_FLAGS; code cleanups.
6962 * sysv4.h (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
6963 (SYMBOL_FLAG_SMALL_V4, SYMBOL_REF_SMALL_V4_P): New.
6964 * xcoff.h (TARGET_ENCODE_SECTION_INFO): Remove.
6965 (ASM_DECLARE_FUNCTION_NAME): Remove setting of SYMBOL_REF_FLAG.
6966
0e42348d
GDR
69672003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
6968
6969 * diagnostic.c (output_pointer): Use HOST_PTR_PRINTF.
6970
dad78426
AS
69712003-04-30 Andreas Schwab <schwab@suse.de>
6972
6973 * doc/extend.texi (Other Builtins): Enclose multiple word data
6974 type in braces for @deftypefn.
6975
4c80872c
RK
69762003-04-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6977
5826955d
RK
6978 * stor-layout.c (mode_for_size_tree): Use BLKmode if SIZE overflows.
6979
4c80872c
RK
6980 * doc/install.texi (--enable-threads): Document "gnat" option.
6981
10256cf5
GDR
69822003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
6983
6984 * diagnostic.h (output_formatted_scalar): Tweak.
6985 * diagnostic.c (output_long_decimal): Likewise.
6986 (output_unsigned_decimal): Likewise.
6987 (output_long_unsigned_decimal): Likewise.
6988 (output_octal): Likewise.
6989 (output_long_octal): Likewise.
6990 (output_hexadecimal): Likewise.
6991 (output_long_hexadecimal): Likewise.
6992 (output_pointer): New function.
6993 (output_format): Use it. Recognize "%p" format specifier.
6994
b2a7fa89
ZD
69952003-04-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6996
6997 * function.c (purge_addressof_1): Postpone insn in fewer cases.
6998
a6fdc086
GK
69992003-04-29 Geoffrey Keating <geoffk@apple.com>
7000
505b0fd6
GK
7001 * config/rs6000/host-darwin.c (segv_handler): When -dH is used,
7002 call abort() after running out of stack space.
7003
a6fdc086
GK
7004 * c-typeck.c (function_types_compatible_p): Ignore incompatible
7005 'volatile' qualifiers on a function's return type in GNU mode.
7006
9c0631a7
AH
70072003-04-29 Aldy Hernandez <aldyh@redhat.com>
7008
87f85ea0
ZW
7009 * expr.c (emit_group_load): Dump parallels of simd types to
7010 memory.
9c0631a7 7011
74719742
VM
70122003-04-29 Vladimir Makarov <vmakarov@redhat.com>
7013
7014 * genautomata.c (add_vect): Check undefined value for range type
7015 too.
7016
baade80b
PE
70172003-04-29 Phil Edwards <pme@gcc.gnu.org>
7018
7019 * configure.in: More general test for cmp --ignore-initial.
7020 * configure: Regenerate.
7021
84d8756d
RK
70222003-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7023
0384674e
RK
7024 * stor-layout.c (mode_for_size_tree): Use tree_low_cst.
7025 (layout_decl, place_field): Likewise.
7026 Also make minor type and whitespace changes.
7027
84d8756d
RK
7028 * tree.c (save_expr): Don't fold a COMPONENT_REF.
7029
0219237c
OH
70302003-04-29 Olivier Hainque <hainque@act-europe.fr>
7031
7032 * calls.c (expand_call): When modes of target and valreg match, force
7033 sibcall failure when target is a MEM.
7034
b9538b2e
GK
70352003-04-29 Geoffrey Keating <geoffk@apple.com>
7036
b3d627e2
GK
7037 * tree-inline.c (inlinable_function_p): Don't support inlining
7038 functions using varargs.
7039
f4ddb75b
GK
7040 * doc/invoke.texi (Overall Options): Mention -x objective-c-header.
7041
0366359a
GK
7042 * dwarf2out.c (output_call_frame_info): No need to output EH
7043 unwind information if all_throwers_are_sibcalls.
7044
e55614ca
GK
7045 * c-semantics.c (expand_unreachable_stmt): Return a tree.
7046 (expand_stmt): Update for change to expand_unreachable_stmt.
7047 (expand_unreachable_if_stmt): Likewise.
7048
b9538b2e
GK
7049 * Makefile.in (quickstrap): Pass BOOT_CFLAGS to submake.
7050
72e940d2
JM
70512003-04-29 Jason Merrill <jason@redhat.com>
7052
7053 PR middle-end/10336
cafe096b 7054 * jump.c (never_reached_warning): Really stop looking if we reach
72e940d2
JM
7055 the beginning of the function.
7056
9193479f
BW
70572003-04-29 Bob Wilson <bob.wilson@acm.org>
7058
7059 * config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE, USER_LABEL_PREFIX):
7060 Remove redundant macros.
7061 (WCHAR_TYPE, WCHAR_TYPE_SIZE): Change to "short unsigned int".
7062 (LOCAL_LABEL_PREFIX): Define unconditionally.
7063 (NO_DOT_IN_LABEL): Clarify comment.
7064 * config/xtensa/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Add explicit
7065 definition to "long int".
7066
b0501ec1
AK
70672003-04-29 Alexander Kabaev <kan@FreeBSD.ORG>
7068
7069 bootstrap/10452
7070 * gengtype-yacc.y: Improve portability.
7071
8e720e8b
ZW
70722003-04-29 Zack Weinberg <zack@codesourcery.com>
7073
7074 * config.gcc: Install obsolete target list for GCC 3.3.
7075 * doc/install.texi: Mention in specific-target instructions
7076 that certain configurations are deprecated.
7077
1be3f80f
ZW
70782003-04-29 Zack Weinberg <zack@codesourcery.com>
7079
7080 * tree.h: Delete no-checking definition of CST_OR_CONSTRUCTOR_CHECK.
7081
8e854b76
KL
70822003-04-29 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
7083
7084 * c-pragma.c (maybe_apply_renaming_pragma): Fix typo.
7085 * gcc.c (display_help): Likewise.
7086 * toplev.c (f_options): Likewise.
7087 * params.def (PARAM_MAX_INLINE_SCOPE): Likewise.
7088 * config/c4x/c4x.h (TARGET_SWITCHES): Likewise.
7089 * config/mcore/mcore.h (TARGET_SWITCHES): Likewise.
7090 * config/s390/s390.h (TARGET_SWITCHES): Likewise.
7091 * config/v850/v850.h (TARGET_SWITCHES): Likewise.
7092
267594f3
R
70932003-04-29 J"orn Rennecke <joern.rennecke@superh.com>
7094
7095 * varasm.c (default_assemble_visibility): Use assemble_name.
7096
667b43dd
DB
70972003-04-29 David O'Brien <obrien@FreeBSD.org>
7098
7099 * config/i386/freebsd64.h (LINK_SPEC): Mirror FreeBSD linker.
5b51b1f5
DB
7100 * config/rs6000/freebsd.h (LINK_SHLIB_SPEC): New macro.
7101 (SIZE_TYPE): New macro.
fbf17dab
DB
7102 * config/i386/freebsd-aout.h (NO_PROFILE_COUNTERS): New macro.
7103 (SET_ASM_OP): New macro.
7104 (HANDLE_SYSV_PRAGMA): New macro.
7105 (ASM_WEAKEN_LABEL): New macro.
667b43dd 7106
a833faa5
MM
71072003-04-28 Mark Mitchell <mark@codesourcery.com>
7108
7109 PR c++/10180
7110 * tree-inline.c (expand_call_inline): Call push_srcloc when
7111 encountering EXPR_WITH_FILE_LOCATION. Honor warn_inline.
7112
a72bf3e9
MS
71132003-04-28 Mike Stump <mrs@apple.com>
7114
7115 * gdbinit.in: Update to reflect new identifier structure.
7116
0864034e
ZW
71172003-04-28 Zack Weinberg <zack@codesourcery.com>
7118
7119 * tree.h (TREE_CST_RTL, CST_OR_CONSTRUCTOR_CHECK): Delete.
7120 (struct tree_int_cst, struct tree_real_cst, struct tree_string,
7121 struct tree_complex, struct tree_vector): Remove RTL field.
7122 (CONSTRUCTOR_ELTS): Use elt 0.
7123 * tree.def (CONSTRUCTOR): Delete first of its two operands.
7124 * varasm.c (output_constant_def): Remove early exit if
7125 TREE_CST_RTL is set. Don't set TREE_CST_RTL.
7126 (decode_addr_const): Don't mention TREE_CST_RTL in comment.
7127 * target.h (select_section): Don't mention TREE_CST_RTL in comment.
7128 * doc/tm.texi (encode_section_info): Don't talk about TREE_CST_RTL.
7129
9661b15f
JJ
71302003-04-28 Jakub Jelinek <jakub@redhat.com>
7131
7132 * c-decl.c (finish_decl): When prototype with asmspec is found
7133 for built-in, adjust built_in_decls as well as expr.c decls.
7134 * expr.c (init_block_move_fn, init_block_clear_fn): New functions.
7135 (emit_block_move_libcall_fn, clear_storage_libcall_fn): Use it.
7136 * expr.c (init_block_move_fn, init_block_clear_fn): New prototypes.
7137
8707fe93
RH
71382003-04-28 Richard Henderson <rth@redhat.com>
7139
0864034e
ZW
7140 * config/sparc/sparc.c (print_operand): Add 's' to sign-extend.
7141 * config/sparc/sparc.md (const_mulsidi3_v8plus): Fix mode of
7142 integral constant mult operand.
7143 (const_mulsidi3_sp32, const_mulsidi3_sp64): Likewise.
7144 (const_smulsi3_highpart_v8plus): Likewise.
7145 (const_smulsi3_highpart): Likewise.
7146 (const_umulsidi3_sp32): Likewise; sign-extend it in the output.
7147 (const_umulsidi3_sp64, const_umulsidi3_v8plus): Likewise.
7148 (const_umulsi3_highpart_v8plus): Likewise.
7149 (const_umulsi3_highpart): Likewise.
8707fe93 7150
ff4cb2e7
DB
71512003-04-28 David O'Brien <obrien@FreeBSD.org>
7152
7153 * config/i386/x86-64.h (NO_PROFILE_COUNTERS, HAVE_AS_DWARF2_DEBUG_LINE):
7154 Define as 1.
7155
495d8dd6
DB
71562003-04-28 David O'Brien <obrien@FreeBSD.org>
7157
7158 * config/i386/i386.h (builtin_define): Add __amd64 and __amd64__.
7159
e31603c4
JJ
71602003-04-28 Jakub Jelinek <jakub@redhat.com>
7161
7162 * builtins.def (BUILT_IN_BCOPY, BUILT_IN_MEMMOVE): New.
7163 * builtin-types.def (BT_FN_VOID_CONST_PTR_PTR_SIZE): New.
7164 * builtins.c (expand_builtin_memmove, expand_builtin_bcopy): New
7165 functions.
7166 (expand_builtin): Handle BUILT_IN_BCOPY and BUILT_IN_MEMMOVE.
7167
dbe983a8
NC
71682003-04-28 Nick Clifton <nickc@redhat.com>
7169
7170 * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Remove definition.
7171
afc6aaab
ZW
71722003-04-27 Zack Weinberg <zack@codesourcery.com>
7173
7174 * expr.c (expand_expr <COMPLEX_CST, STRING_CST>): Always call
7175 output_constant_def, use its result instead of TREE_CST_RTL (exp).
7176 Can assume it has the form (mem (symbol_ref ".LCxxx")).
7177 (expand_expr <COMPONENT_REF>): Can always just extract the
7178 relevant field of a CONSTRUCTOR.
7179 (expand_expr <ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF,
7180 ARRAY_RANGE_REF>): Make control flow explicit.
7181 * varasm.c (output_constant_def): Can look at TREE_CST_RTL of
7182 an INTEGER_CST.
7183
860992e6
KH
71842003-04-27 Kazu Hirata <kazu@cs.umass.edu>
7185
7186 * reload1.c (reg_set_luid): Fix a comment typo.
7187
32a61907
ZW
71882003-04-27 Zack Weinberg <zack@codesourcery.com>
7189
7190 * varasm.c (const_str_htab_hash, const_str_htab_eq, STRHASH,
7191 struct deferred_string, const_str_htab): Kill.
7192 (n_deferred_strings): New static variable.
7193 (build_constant_desc): Set SYMBOL_REF_DECL of the new
7194 symbol_ref to point to the constant.
7195 (output_constant_def): When a deferred string is forced out,
7196 just clear STRING_POOL_ADDRESS_P and decrement n_deferred_strings.
7197 (mark_constant): Likewise.
7198 (maybe_output_constant_def_contents): When deferring a string
7199 constant, just set STRING_POOL_ADDRESS_P and increment
7200 n_deferred_strings.
7201 (mark_constant_pool): Check n_deferred_strings, not the size
7202 of const_str_htab.
7203 (init_varasm_once): No need to create const_str_htab.
7204
7205 * rtl.def, rtl.h, doc/rtl.texi: Document possibility that
7206 SYMBOL_REF_DECL points to a constant.
7207
293107d1
ZW
72082003-04-26 Zack Weinberg <zack@codesourcery.com>
7209
7210 * varasm.c (output_constant_def): Split out two new static
7211 functions, build_constant_desc and maybe_output_constant_def_contents.
7212 Restructure for comprehensibility. Don't call
7213 output_addressed_constants. Treat defstr being non-NULL for
7214 STRING_POOL_ADDRESS_P constants as an invariant.
7215 (struct deferred_string): Remove labelno field.
7216 (output_constant_def_contents): Kill labelno argument. Call
7217 output_addressed_constants here. Use ASM_OUTPUT_LABEL, not
7218 asm_out.internal_label.
7219 (mark_constant): Update call to output_constant_def_contents.
7220 Treat defstr being non-NULL for STRING_POOL_ADDRESS_P
7221 constants as an invariant.
7222
12969f45
RH
72232003-04-26 Richard Henderson <rth@redhat.com>
7224
7225 * config/i386/i386.c (output_pic_addr_const): Use SYMBOL_REF_LOCAL_P.
7226 (ix86_expand_call, ix86_rtx_consts): Likewise.
7227
5cc2f4f3
KG
72282003-04-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7229
7230 * doc/md.texi (cmpstr): Document additional restrictions.
7231
09b04f2d
NB
72322003-04-26 Neil Booth <neil@daikokuya.co.uk>
7233
7234 * flags.h (time_report): Remove.
7235 * timevar.c (timevar_enable): New.
7236 (TIMEVAR_ENABLE): Remove, use timevar_enable.
7237 (timevar_init): Rename from init_timevar.
7238 * timevar.h (timevar_init): Rename from init_timevar.
7239 * toplev.c (time_report): Make static.
7240 (do_compile): Conditionally call init_timevar first.
7241 (preprocess_options): Move some code to do_compile.
7242
3e35d143
SC
72432003-04-26 Stephane Carrez <stcarrez@nerim.fr>
7244
7245 * doc/install.texi (Binaries): Mention binaries for HC11/HC12.
7246
e6dc0cc6
NB
72472003-04-26 Neil Booth <neil@daikokuya.co.uk>
7248
7249 * _cpp_lex_direct: Remove pointless code.
7250
5936c7e7
SC
72512003-04-26 Stephane Carrez <stcarrez@nerim.fr>
7252
7253 * doc/extend.texi (Function Attributes): Document "near" and "far"
7254 for 68HC11 and 68HC12.
7255
85a43a2f
RK
72562003-04-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7257
7258 * expr.c (store_field): When making temporary for store, don't
7259 make it TYPE_QUAL_CONST.
7260
09e4ab56
PE
72612003-04-25 Phil Edwards <pme@gcc.gnu.org>
7262
7263 * toplev.c (read_integral_parameter): Use "argument" in error
7264 message to distinguish it from actual invalid options.
7265
ab409f1b
BW
72662003-04-25 Bob Wilson <bob.wilson@acm.org>
7267
7268 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Back out previous
7269 addition of __PIC__ and __pic__ macros.
7270 * config/xtensa/xtensa.h: Clean up indentation.
7271
6a2b287f
BW
72722003-04-25 Bob Wilson <bob.wilson@acm.org>
7273
7274 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
7275 _GNU_SOURCE. Add definitions of __PIC__ and __pic__.
7276 (SUBTARGET_CPP_SPEC): Define.
7277 (LIB_SPEC): Delete.
7278 * config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
7279 * config/xtensa/xtensa.c (xtensa_declare_object): Delete.
7280 * config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
7281 Define.
7282 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
7283 (ASM_OUTPUT_ALIGNED_BSS, BSS_SECTION_ASM_OP): Define.
7284
60986d64
L
72852003-04-25 H.J. Lu <hjl@gnu.org>
7286
7287 * config/ia64/ia64.c (ia64_expand_compare_and_swap): Add rmode
7288 for return mode.
7289 (ia64_expand_builtin): Set rmode to SImode for
7290 IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_SI,
7291 IA64_BUILTIN_VAL_COMPARE_AND_SWAP_SI and
7292 IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_DI. Set remode to DImode
7293 for IA64_BUILTIN_VAL_COMPARE_AND_SWAP_DI.
7294
c7a5cf61
PE
72952003-04-25 Phil Edwards <pme@gcc.gnu.org>
7296
7297 * configure.in (make_compare_target): Test for GNU cmp and set this
7298 variable appropriately.
7299 * Makefile.in (compare, compare3, compare4, compare-lean, compare3-lean,
7300 compare4-lean): Rename actual targets to slowcompare*. New compare*
7301 targets depend on names based on make_compare_target.
7302 * configure: Regenerated.
7303
f5bdba44
RH
73042003-04-25 Richard Henderson <rth@redhat.com>
7305
7306 * config/ia64/ia64.c (ia64_compute_frame_size): Allow inline asm
7307 to clobber ar.pfs and ar.unat.
7308 (ia64_expand_prologue): Force alloc instruction if ar.pfs saved;
7309 fix test for spilling ar.pfs to the stack.
7310
73112003-04-25 Richard Henderson <rth@redhat.com>
8f4e6caf 7312
293107d1
ZW
7313 PR opt/10315
7314 * config/rs6000/rs6000.c (rs6000_emit_move): Only elide proper
7315 checks during reload; use validize_mem instead of adjust_address.
8f4e6caf 7316
eda833e3
BE
73172003-04-26 Ben Elliston <bje@wasabisystems.com>
7318
7319 * config/arm/arm.c (arm_adjust_cost): Correct logic that tests the
7320 return values from recog_memoized().
7321
9feff114
JDA
73222003-04-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7323
7324 PR opt/8705
7325 * gcse.c (try_replace_reg): On a successful substitution of a constant
7326 into a single set, try to simplify the source of the set.
7327 * loop.c (scan_loop): Don't try to optimize a MODE_CC set with a
7328 constant source.
7329
59325650
NB
73302003-04-24 Neil Booth <neil@daikokuya.co.uk>
7331
7332 * cpplex.c (cpp_token_len): Tighten up.
7333 (cpp_token_as_text): Need extra byte now.
7334 * cpplib.c (glue_header_name): Need extra 2 bytes.
7335 * cppmacro.c (cpp_macro_definition): Need extra byte.
7336
b746b8cb
AK
73372003-04-24 Alexander Kabaev <kan@FreeBSD.ORG>
7338
7339 * config/sparc/sparc.md (umulsidi3, mulsidi3): Avoid using
293107d1 7340 const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets
b746b8cb
AK
7341 where they might be not present. Use their _sp64 equivalent
7342 instead.
7343
019238b7
JH
7344Thu Apr 24 20:42:12 CEST 2003 Jan Hubicka <jh@suse.cz>
7345
7346 * i386.md (cvtsi2sdq): Fix typo in previous patch.
293107d1 7347
39f6c4c8
KW
73482003-04-24 Krister Walfridsson <cato@df.lth.se>
7349
7350 * configure.in: Check whether mbstowcs works.
7351 * configure, config.in: Regenerate.
7352 * intl.c: Use HAVE_WORKING_MBSTOWCS.
7353
0c79f08b
L
73542003-04-24 H.J. Lu <hjl@gnu.org>
7355
7356 * config/ia64/ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di
7357 for __sync_bool_compare_and_swap_di for int return type.
7358
7359 * config/ia64/ia64intrin.h (__sync_bool_compare_and_swap_di):
7360 Change return type to int.
7361 (__sync_bool_compare_and_swap): Likewise.
7362
26f74aa3
JH
7363Thu Apr 24 16:55:26 CEST 2003 Jan Hubicka <jh@suse.cz>
7364
7365 * cfgbuild.c (make_edges): Do not use next_nonnote_insn when
7366 looking for fallthru edge.
7367
7368 * athlon.md (athlon-agu, athlon-store, athlon-fany, athlon-faddmul):
7369 Fix.
7370 (athlon-load2, athlon-store2, athlon-fpsched, athlon-fpload,
7371 athlon-fvector): New.
7372 (athlon_*): Revisit to match new optimization guide.
7373 * i386.c (ix86_adjust_cost): Fix memory operand costs on Athlon/k8
7374 * i386.md (cvt??2?? patterns): Fix modes.
7375 (fistp patterns): Set modes.
7376
7377 Accidentaly commited with my earlier reload patch:
7378 PR c/10308
7379 * reload.c (find_reloads_address_1): Reload plus at the place of
7380 index register.
293107d1 7381
796621e8
NS
73822003-04-24 Nathan Sidwell <nathan@codesourcery.com>
7383
7384 New GCOV_TAG_FUNCTION layout
7385 * coverage.c (struct function_list): Replace name with ident.
7386 (struct counts_entry): Likewise.
7387 (fn_ident): New.
7388 (htab_counts_entry_hash, htab_counts_entry_eq,
7389 htab_counts_entry_del): Adjust.
7390 (reads_count_file, get_coverage_counts,
7391 coverage_begin_output, coverage_end_function): Adjust.
7392 (build_fn_info_type, build_fn_info_value): Likewise.
7393 * gcov-dump.c (tag_function): Adjust.
7394 * gcov-io.c (gcov_write_string, gcov_read_string): Not in LIBGCOV.
7395 * gcov-io.h (gcov_write_string, gcov_read_string): Not in LIBGCOV.
7396 * gcov.c (struct function_info): Add ident.
7397 (read_graph_file, read_count_file): Adjust.
7398 * libgcov.c (gcov_exit): Adjust.
7399
6ff76c36
RH
74002003-04-23 Richard Henderson <rth@redhat.com>
7401
7402 PR opt/8300
7403 * toplev.c (rest_of_compilation): Delay no_new_pseudos until
7404 after initialize_uninitialized_subregs; update reg info assuming
7405 new pseudos were created.
7406
6338b358
NB
74072003-04-23 Neil Booth <neil@daikokuya.co.uk>
7408
7409 * Makefile.in (c-lex.o, LIBCPP_OBJS, cpplex.o): Update.
7410 * c-lex.c (MULTIBYTE_CHARS): Remove conditionals.
7411 (lex_string): Take cpp_string with full spelling.
7412 (cb_ident): Update.
7413 (c_lex): Update diagnostics.
7414 * cpplex.c (SPELL_NUMBER, SPELL_STRING): Combine into SPELL_LITERAL.
7415 (create_literal): New.
7416 (lex_string): Unterminated literals have type CPP_OTHER.
7417 (_cpp_lex_direct): Update calls to lex_string. Use create_literal
7418 for CPP_OTHER.
7419 (cpp_token_len, cpp_spell_token, cpp_output_token): Simplify.
7420 (_cpp_equiv_tokens, cpp_interpret_charconst): Update.
7421 * cpplib.c (parse_include, do_line, do_linemarker,
7422 destringize_and_run): Update for token storing full spelling.
7423 * cpplib.h: Update token spelling types.
7424 * cppmacro.c (stringify_arg, check_trad_stringification):
7425 Update for token storing full spelling.
7426
011fd56b
UW
74272003-04-23 Ulrich Weigand <uweigand@de.ibm.com>
7428
7429 * config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.
7430
7052a099
RE
74312003-04-23 Richard Earnshaw <rearnsha@arm.com>
7432
7433 * arm.h (TARGET_OPTIONS): Add value field.
7434
f0ddce84
MM
74352003-04-23 Mark Mitchell <mark@codesourcery.com>
7436
7437 * doc/extend.texi: Remove duplicate 2003 copyright date.
7438
cdb23767
NS
74392003-04-23 Nathan Sidwell <nathan@codesourcery.com>
7440
7441 * Makefile.in (LIBGCC_DEPS): Add gcov headers.
7442 (libgcov.a): Depends on LIBGCC_DEPS.
7443 * basic-block.h (profile_info): Moved here from coverage.h. Made
7444 a pointer.
7445 * coverage.c (struct function_list): Fixed array of counter types.
7446 (struct counts_entry): Keyed by counter type, contains summary.
7447 (profile_info): Moved to profile.c.
7448 (prg_ctr_mask, prg_n_ctrs, fn_ctr_mask, fn_n_ctrs): New global
7449 vars.
7450 (profiler_label): Remove.
7451 (ctr_labels): New.
7452 (set_purpose, label_for_tag, build_counter_section_fields,
7453 build_counter_section_value, build_counter_section_data_fields,
7454 build_counter_section_data_values, build_function_info_fields,
7455 build_function_info_value, gcov_info_fields, gcov_info_value): Remove.
7456 (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
7457 build_ctr_info_value, build_gcov_info): New.
7458 (htab_counts_entry_hash, htab_counts_entry_eq): Adjust.
7459 (reads_counts_file): Adjust.
7460 (get_coverage_counts): Takes counter number. Add summary
7461 parameter. Adjust.
7462 (coverage_counter_ref): Tkaes counter number. Adjust. Lazily
7463 create counter array labels.
7464 (coverage_end_function): Adjust.
7465 (create_coverage): Adjust.
7466 (find_counters_section): Remove.
7467 * coverage.h (MAX_COUNTER_SECTIONS): Remove.
7468 (struct section_info, struct profile_info): Remove.
7469 (profile_info): Moved to basic-block.h.
7470 (coverage_counter_ref): Takes a counter number.
7471 (get_coverage_counts): Takes a counter number. Added summary
7472 parameter.
7473 (find_counters_section): Remove.
7474 * gcov-dump.c (tag_arc_counts): Rename to ...
7475 (tag_counters): ... here. Adjust.
7476 (tag_table): Move tag_counters to 3rd entry. Remove
7477 PROGRAM_PLACEHOLDER and PROGRAM_INCORRECT entries.
7478 (dump_file): Check for counter tag values here.
7479 (tag_summary): Adjust.
7480 * gcov-io.c (gcov_write_summary, gcov_read_summary): Adjust.
7481 * gcov-io.h (GCOV_LOCKED): New.
7482 (GCOV_TAG_ARC_COUNTS): Rename to ...
7483 (GCOV_TAG_COUNTS_BASE): ... here.
7484 (GCOV_TAG_PLACEHOLDER_SUMMARY, GCOV_TAG_INCORRECT_SUMMARY):
7485 Remove.
7486 (GCOV_COUNTER_ARCS, GCOV_COUNTERS, GCOV_NAMES): New.
7487 (GCOV_TAG_FOR_COUNTER, GCOV_COUNTER_FOR_TAG,
7488 GCOV_TAG_IS_COUNTER): New.
7489 (struct gcov_ctr_summary): New.
7490 (struct gcov_summary): Adjust.
7491 (struct gcov_counter_section): Remove.
7492 struct gcov_counter_section_data): Remove.
7493 (struct gcov_function_info): Rename to ...
7494 (struct gcov_fn_info): ... here. Adjust.
7495 (struct gcov_ctr_info): New.
7496 (struct gcov_info): Adjust.
7497 * gcov.c (read_count_file): Adjust.
7498 (output_lines): Adjust.
7499 * libgcov.c (gcov_exit): Adjust.
7500 (__gcov_flush): Adjust.
7501 * mklibgcc.in (libgcc2_c_dep): Add gcov headers.
7502 * predict.c (maybe_hot_bb_p, probably_cold_bb_p,
7503 probably_never_executed_bb_p, compute_frequency_function): Adjust
7504 profile_info use.
7505 * profile.c (struct counts_entry): Remove.
7506 (profile_info): Define here.
7507 (get_exec_counts): Adjust get_coverage_counts call.
7508 (compute_branch_probablilities): Remove find_counters_section
7509 call.
7510 (gen_edge_profiler): Adjust coverage_counter_ref call.
7511 * tracer.c (tail_duplicate): Adjust profile_info use.
7512
2be3b5ce
RS
75132003-04-23 Roger Sayle <roger@eyesopen.com>
7514
7515 PR optimization/10339
7516 * builtins.c (expand_builtin_strcmp): Try to emit cmpstrsi insn
7517 directly instead of unsafely transforming call into a memcmp.
7518 (expand_builtin_strncmp): Likewise.
7519
c57ddcf1
RS
75202003-04-22 Roger Sayle <roger@eyesopen.com>
7521
7522 * alias.c (mark_constant_function): Check for constancy and
7523 purity even of void functions. Update both the function decl
7524 and the cgraph RTL info with the results.
7525
c1a19acb
RS
75262003-04-22 Roger Sayle <roger@eyesopen.com>
7527
7528 * real.c (do_add): Change to return a bool indicating that the
7529 result of the operation may be inexact due to loss of precision.
7530 (do_multiply): Likewise.
7531 (do_divide): Likewise.
7532
c2e9147c
GK
75332003-04-22 Geoffrey Keating <geoffk@apple.com>
7534 Loren James Rittle <ljrittle@acm.org>
7535
7536 * dwarf2out.c (fde_table_allocated): Mark with GTY.
7537 (decl_die_table_allocated): Likewise.
7538 (abbrev_die_table_allocated): Likewise.
7539 (line_info_table_allocated): Likewise.
7540 (separate_line_info_table_allocated): Likewise.
7541 (pubname_table_allocated): Likewise.
7542 (arange_table_allocated): Likewise.
7543 (ranges_table_allocated): Likewise.
7544 (decl_die_table_in_use): Unconditionalize; mark with GTY.
7545 (abbrev_die_table_in_use): Likewise.
7546 (line_info_table_in_use): Likewise.
7547 (separate_line_info_table_in_use): Likewise.
7548 (pubname_table_in_use): Likewise.
7549 (arange_table_in_use): Likewise.
7550 (ranges_table_in_use): Likewise.
7551 (have_location_lists): Likewise.
7552 (emitcount): New GTY-marked static, moved...
7553 (maybe_emit_file): ...from here.
7554 (label_num): New GTY-marked static, moved...
7555 (gen_internal_sym): ...from here.
7556
4da2eb6b
RH
75572003-04-22 Richard Henderson <rth@redhat.com>
7558
293107d1
ZW
7559 PR 8866
7560 * rtl.h (MEM_NOTRAP_P): New.
7561 (MEM_COPY_ATTRIBUTES): Copy it.
7562 * rtlanal.c (may_trap_p): Check it.
7563 * expr.c (do_tablejump): Set it.
4da2eb6b
RH
7564 * doc/rtl.texi (Flags): Document it.
7565
293107d1 7566 * cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
4da2eb6b 7567
c1238896
OH
75682003-04-22 Olivier Hainque <hainque@act-europe.fr>
7569
7570 * config/alpha/alpha.c (alpha_expand_prologue [OPEN_VMS_ABI]): Don't
7571 set FRP on stack adjustment for outgoing args if frame_pointer_needed.
7572
6d412a7b
VC
75732003-04-22 Vincent Celier <celier@gnat.com>
7574
293107d1
ZW
7575 * gthr-gnat.h, gthr-gnat.c: new sources for implementation of
7576 --enable-threads=gnat.
7577 * Makefile.in: Add gthr-gnat.c to LIB2ADDEH.
7578 * configure.in: Add gnat to the list of thread packages
7579 * configure: Rebuild.
7580 * config/t-linux: Add gthr-gnat.c to LIB2ADDEH and LIB2ADDEHDEP
6d412a7b 7581
b78f9414
NB
75822003-04-22 Neil Booth <neil@daikokuya.co.uk>
7583
7584 * cpplex.c (_cpp_get_fresh_line): Pop the buffer if return_at_eof.
f945b4e0
DP
7585
75862003-04-22 Devang Patel <dpatel@apple.com>
7587
b78f9414
NB
7588 * cpptrad.c (_cpp_replacement_text_len): Add check for macro
7589 parameter count.
f945b4e0 7590 (_cpp_copy_replacement_text): Same.
293107d1 7591
1067694a
NB
75922003-04-22 Neil Booth <neil@daikokuya.co.uk>
7593
7594 * c-lex.c (c_lex): Handle CPP_OTHER differently.
7595 * cppexp.c (_cpp_parse_expr): Similarly.
7596 * cpplex.c (SPELL_CHAR): Remove.
7597 (_cpp_lex_direct): Stray chars are saved as byte strings.
7598 (cpp_spell_token, cpp_output_token, _cpp_equiv_token): Don't
7599 handle SPELL_CHAR.
7600 (cpp_avoid_paste): Update handling of CPP_OTHER.
7601 * cpplib.h: Spell CPP_OTHER like a number.
7602 (struct cpp_token): Remove member c.
7603 * cppmacro.c (stringify_arg): Update handling of CPP_OTHER.
7604
77c915d8
DT
76052003-04-22 David Turner <novalis@gnu.org>
7606
7607 * gbl-ctors.h: Add special license exception.
7608 * libgcc2.h: Likewise.
7609 * tsystem.h: Likewise.
7610 * gcov-io.h: Likewise.
7611
85e50b6b
DE
76122003-04-22 David Edelsohn <edelsohn@gnu.org>
7613
7614 * fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT
7615 macro defaulting to original BRANCH_COST heuristic.
7616 * doc/tm.texi (RANGE_TEST_NON_SHORT_CIRCUIT): Document.
7617
7618 * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Define.
7619
00c060a4
AH
76202003-04-22 Aldy Hernandez <aldyh@redhat.com>
7621
293107d1 7622 * config/rs6000/t-spe: Merge in t-fprules into file.
00c060a4 7623
293107d1 7624 * config.gcc: Add t-spe to powerpc-eabispe.
00c060a4 7625
e4d72771
KJ
76262003-04-22 Kean Johnston <jkj@sco.com>
7627
7628 * tlink.c (recompile_files): Add missing '=' to putenv calls
7629
ad27e65a
NS
76302003-04-22 Nathan Sidwell <nathan@codesourcery.com>
7631
7632 * ginclude/stddef.h: Provide C++ safe offsetof.
7633
277b3b18
R
76342003-04-22 J"orn Rennecke <joern.rennecke@superh.com>
7635
7636 * function.c (purge_addressof_1): In (mem (addressof (reg))) case
7637 for reg notes, if there are no substitutions, just use a SUBREG.
7638
b2dd096b
MM
76392003-04-21 Mark Mitchell <mark@codesourcery.com>
7640
7641 * Makefile.in (calls.o): Depend on except.h.
7642 * calls.c: Include except.h.
7643 (emit_call_1): Call note_eh_region_may_contain_throw if
7644 appropriate.
7645 * except.c (eh_region): Add may_contain_throw.
7646 (expand_eh_region_end_cleanup): Do not include handler code when
7647 it cannot be reached.
7648 (note_eh_region_may_contain_throw): New function.
7649 * except.h (note_eh_region_may_contain_throw): New function.
7650
bfc6c67e
MM
76512003-04-21 Mark Mitchell <mark@codesourcery.com>
7652
7653 * config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
7654 changes.
7655
95b1c7b6
AH
76562003-04-21 Aldy Hernandez <aldyh@redhat.com>
7657
293107d1
ZW
7658 * config/rs6000/rs6000.c (rs6000_override_options): No SPE means
7659 64-bit long doubles.
95b1c7b6 7660
6a48df45
OH
76612003-04-21 Olivier Hainque <hainque@act-europe.fr>
7662
3cd58fd7
OH
7663 * fold-const.c (fold, case PLUS_EXPR and case MULT_EXPR): Restore
7664 a number of conversions required for type consistency and previously
7665 stripped off by STRIP_NOPS.
7666
6a48df45
OH
7667 * calls.c (expand_call): Prevent sibcall optimization for calls to
7668 nested subprograms.
7669
0d2f38ee 7670 * expmed.c (extract_bit_field): Reverse operands of && condition to
293107d1 7671 prevent a potential division by zero in the previously first branch.
0d2f38ee
OH
7672 * config/pa/pa.md (extv, extzv): FAIL if the bitfield length is zero.
7673
c3cdeef4
JB
76742003-04-21 Joel Brobecker <brobecker@gnat.com>
7675
7676 * dwarf2out.c (is_ada, is_ada_subrange_type): New functions.
7677 (subrange_type_die): Likewise.
7678 (modified_type_die): Emit a subrange_type DIE for Ada subrange types.
7679 (is_c_family, is_cxx, is_java, is_fortran): Return bool and clean up.
7680
ca29da43
NS
76812003-04-21 Nathan Sidwell <nathan@codesourcery.com>
7682
293107d1
ZW
7683 Break out coverage routines to new file.
7684 * Makefile.in (COVERAGE_H): New variable
7685 (C_OBJS): Add coverage.o
7686 (coverage.o): New target.
7687 (profile.o, loop-init.o, sched-ebb.o, predict.o, tracer.o): Adjust
7688 dependencies.
7689 (GTFILES): Adjust.
7690 (gt-coverage.h): New target.
7691 (gt-profile.h): Remove.
7692 * profile.h: Remove. Move to ...
7693 * coverage.h: ... here. New. #include gcov-io.h.
7694 * gcov-io.h: Move function definitions to ...
7695 * gcov-io.c: ... here. New.
7696 * profile.c: Move coverage routines to coverage.c.
7697 (instrument_edges, get_exec_counts, branch_prob, init_branch_prob,
7698 end_branch_prob): Adjust.
7699 * coverage.c: New. Coverage routines from profile.c
7700 (coverage_counter_ref, coverage_init, coverage_finish,
7701 coverage_end_function, coverage_begin_output,
7702 coverage_counter_ref, get_coverage_counts): Define.
7703 * gcov-dump.c, gcov.c: #include gcov-io.c.
7704 * libgcov.c: Likewise. Adjust.
7705 * loop-init.c: Don't #include profile.h
7706 * tracer.c, predict.c, sched-ebb.c: Adjust #includes.
7707 * rtl.h: Add coverage prototypes.
7708 * toplev.c (compile_file): Init coverage, not branch_prob.
7709 Always call coverage_finish.
7710 (rest_of_compilation): Call coverage_end_function.
ca29da43 7711
1774b213 77122003-04-21 Matt Kraai <kraai@alumni.cmu.edu>
dd0fbae2
MK
7713
7714 * config/rs6000/rs6000.md (*movsf_softfloat): Add "h" <- "0" case.
7715
74eb4b3e
NB
77162003-04-21 Neil Booth <neil@daikokuya.co.uk>
7717
7718 * c-ppoutput.c (cb_include): Don't take a cpp_token.
7719 * cppfiles.c: Don't undef strcmp.
7720 (find_include_file): Don't take a cpp_token. Check for empty
7721 file names.
7722 (_cpp_execute_include, _cpp_compare_file_date): Don't take a cpp_token.
7723 (cpp_push_include): Simplify.
7724 * cpphash.h (_cpp_execute_include, _cpp_compare_file_date): Update.
7725 * cpplib.c (glue_header_name): Return the file name, not a cpp_token.
7726 (parse_include): Similary. Don't check for zero-length filenames.
7727 (do_include_common, do_pragma_dependency): Update accordingly.
7728 * cpplib.h (struct cpp_callbacks): Change prototype of include.
7729
337f4314 77302003-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
293107d1 7731
9e91ce11
RK
7732 * doc/rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for
7733 details of conflict handling.
293107d1 7734
26b84487
RK
7735 * fold-const.c (extract_muldiv, case CONVERT_EXPR): Detect case
7736 when conversion overflows.
7737
1a96dc46
RK
7738 * stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.
7739
337f4314
RK
7740 * expr.c (store_constructor): Set RTX_UNCHANGING_P if readonly_field_p
7741 before clearing.
7742
3819b963
MM
77432003-04-21 Mark Mitchell <mark@codesourcery.com>
7744
7745 * config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL
7746 have the same form as the old RTL.
7747
0e7a8c4b
AJ
77482003-04-21 Andreas Jaeger <aj@suse.de>
7749
293107d1 7750 * cppcharset.c (_cpp_valid_ucn): Cast field precision to int.
0e7a8c4b 7751
b39b8084
CL
77522003-04-20 Chris Lattner <sabre@nondot.org>
7753 Zack Weinberg <zack@codesourcery.com>
7754
7755 * c-common.h, c-semantics.c: Rename genrtl_decl_cleanup to
7756 genrtl_cleanup_stmt. Correct comment at head of
7757 genrtl_cleanup_stmt (no such thing as a DECL_CLEANUP).
7758
7759 * stmt.c (struct nesting): Kill n_function_calls.
7760 (expand_start_bindings): Don't set
7761 thisblock->data.block.n_function_calls.
7762 (expand_end_bindings): Compare function_call_count against 0.
7763 (expand_cleanups): Kill DONT_DO argument; all callers passed
7764 NULL_TREE. All callers updated to match.
7765
b20cbca2
ZW
77662003-04-20 Zack Weinberg <zack@codesourcery.com>
7767
7768 * varasm.c (struct deferred_constant, defer_addressed_constants_flag)
7769 (defer_addressed_constants, output_deferred_addressed_constants): Kill.
7770 (output_constant_def): Remove code predicated on
7771 defer_addressed_constants_flag.
7772
7773 * output.h: Remove prototypes of deleted functions.
7774 * c-typeck.c (constructor_subconstants_deferred): Kill.
7775 (struct initializer_stack): Remove 'deferred' field.
7776 (start_init): Remove all references to the above.
7777 (finish_init): Likewise. Also remove never-executed call to
7778 output_deferred_addressed_constants. Pull assignment to
7779 defstr out of if expression.
7780
41c32c98
NB
77812003-04-20 Neil Booth <neil@daikokuya.co.uk>
7782
7783 * cpphash.h (NOTE_ESC_NL, NOTE_ESC_SPACE_NL, NOTE_TRIGRAPH,
7784 NOTE_NEWLINE): Remove.
7785 * cpplex.c (_cpp_clean_line, _cpp_process_line_notes): Update
7786 to handle new form of line note type.
7787
c6a2438a
ZW
77882003-04-20 Zack Weinberg <zack@codesourcery.com>
7789
7790 * target.h (encode_section_info): Add new argument carrying
7791 the RTL to be modified by the hook.
7792
7793 * varasm.c (make_decl_rtl, output_constant_def): Update calls
7794 to encode_section_info.
7795 (default_encode_section_info): Take and use RTL argument,
7796 don't use TREE_CST_RTL or DECL_RTL.
7797 * output.h: Update prototype of default_encode_section_info.
7798 * config/darwin.h (ASM_DECLARE_OBJECT_NAME)
7799 (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL):
7800 Update calls to encode_section_info.
7801
7802 * config/darwin.c, config/arm/arm.c, config/arm/pe.c
7803 * config/h8300/h8300.c, config/i386/winnt.c, config/m32r/m32r.c
7804 * config/m68hc11/m68hc11.c, config/m88k/m88k.c, config/mcore/mcore.c
7805 * config/mips/mips.c, config/mmix/mmix.c, config/pa/pa.c
7806 * config/romp/romp.c, config/rs6000/rs6000.c, config/s390/s390.c
7807 * config/v850/v850.c (TARGET_ENCODE_SECTION_INFO definitions):
7808 Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL,
7809 except for PE dllimport/dllexport. Update calls to
7810 default_encode_section_info.
7811
7812 * config/darwin-protos.h, config/arm/arm-protos.h, config/i386-protos.h:
7813 Update prototypes.
7814
7815 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update.
7816
8c7d377f
JDA
78172003-04-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7818
7819 PR/8705
7820 * pa.md (movccfp): New expander.
7821 (setccfp0, setccfp1): Rename to movccfp0 and movccfp1, respectively.
7822 Reverse fcmp conditions.
7823
1052bb09
MM
78242003-04-20 Marek Michalkiewicz <marekm@amelek.gda.pl>
7825
7826 * config/avr/avr.md (*cmpqi_sign_extend): Handle negative values
7827 of operand 1 correctly.
7828
299f79b5
NS
78292003-04-20 Nathan Sidwell <nathan@codesourcery.com>
7830
7831 * cpplex.c (_cpp_lex_direct): Set BOL for CPP_EOF tokens.
7832 * gcov.c (output_lines): Don't be so fussy about going past EOF.
7833
1613e52b
NB
78342003-04-20 Neil Booth <neil@daikokuya.co.uk>
7835
7836 * Makefile.in (LIBCPP_OBJS): Add cppcharset.o.
7837 (cppcharset.o): New target.
7838 * c-lex.c (is_extended_char): Move to cppcharset.c.
7839 (utf8_extend_token): Delete.
7840 * cppcharset.c: New file.
7841 * cpphash.h (_cpp_valid_ucn): New.
7842 * cpplex.c (lex_identifier): Update prototype.
7843 (continues_identifier_p): Rename forms_identifier_p. Handle UCN
7844 escapes.
7845 (maybe_read_ucs): Rename maybe_read_ucn. Update to use code
7846 in cppcharset.c.
7847 (lex_number, lex_identifier, cpp_parse_escape): Update.
7848 (_cpp_lex_direct): Update to handle UCNs.
7849 (cpp_avoid_paste): Don't paste to form a UCN.
7850
0a45ec5c
RS
78512003-04-19 Roger Sayle <roger@eyesopen.com>
7852
7853 * builtins.c (expand_builtin): Don't expand a pure or const
7854 built-in function if the result will be ignored and none of
7855 its arguments are volatile.
7856
16477cc5
KJ
78572003-04-19 Kean Johnston <jkj@sco.com>
7858
7859 * unwind-dw2.c (_Unwind_GetCFA): cast return to avoid warning
7860 * config.gcc: make SCO use dbxelf.h and elfos.h; only use one
7861 target fragment now: t-sco5; dont compile crti.o.
7862 * config/i386/sco5.h: major overhaul to remove all COFF remnants
7863 and to use elfos.h for most definitions.
7864 (BSS_SECTION_ASM_OP): set correct segment attributes.
7865 (PREFERED_DEBUGGING_TYPE): set to DWARF-2.
7866 (DWARF2_UNWIND_INFO): Always set to 1.
7867 (MD_STARTFILE_PREFIX): Make /usr/gnu/lib the default.
7868 (MD_STARTFILE_PREFIX_1): Define.
7869 (MD_EXEC_PREFIX): Adjust to /usr/gnu/bin if using GAS.
7870 (DEFAULT_LINKER): Define if not specified to configure.
7871 (CTORS_SECTION_ASM_OP): Remove COFF crud.
7872 (DTORS_SECTION_ASM_OP): Remove COFF crud.
7873 (WINT_TYPE): Define.
7874 (SDB_DEBUGGING_INFO): Remove.
7875 (EXTRA_SECTIONS): Likewise.
7876 (EXTRA_SECTION_FUNCTIONS): Likewise.
7877 (CTOR_LIST_BEGIN): Likewise.
7878 (CTOR_LIST_END): Likewise.
7879 (INIT_SECTION_FUNCTION): Likewise.
7880 (FINI_SECTION_FUNCTION): Likewise.
7881 (SUBTARGET_FRAME_POINTER_REQUIRED): Likewise.
7882 (LOCAL_LABEL_PREFIX): Likewise.
7883 (NON_SAVING_SETJMP): Likewise.
7884 (RETURN_POPS_ARGS): Likewise.
7885 (ASM_OUTPUT_SKIP): Likewise.
7886 (TARGET_ASM_NAMED_SECTION): Likewise.
7887 (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
7888 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
7889 (ASM_OUTPUT_IDENT): Likewise.
7890 (ASM_OUTPUT_CASE_LABEL): Likewise.
7891 (ASM_OUTPUT_ASCII): Likewise.
7892 (ASM_OUTPUT_LIMITED_STRING): Likewise.
7893 (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
7894 (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
7895 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
7896 (ASM_FINISH_DECLARE_OBJECT): Likewise.
7897 (ASM_DECLARE_OBJECT_NAME): Likewise.
7898 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
7899 (ASM_DECLARE_FUNCTION_NAME): Likewise.
7900 (ASM_DECLARE_RESULT): Likewise.
7901 (ASM_WEAKEN_LABEL): Likewise.
7902 (SUPPORTS_WEAK): Likewise.
7903 (APPLY_RESULT_SIZE): Likewise.
7904 (LPREFIX): Likewise.
7905 (ALIGN_ASM_OP): Likewise.
7906 (ASCII_DATA_ASM_OP): Likewise.
7907 (IDENT_ASM_OP): Likewise.
7908 (ASM_SHORT): Likewise.
7909 (ASM_LONG): Likewise.
7910 (TYPE_ASM_OP): Likewise.
7911 (SIZE_ASM_OP): Likewise.
7912 (STRING_ASM_OP): Likewise.
7913 (SKIP_ASM_OP): Likewise.
7914 (EH_FRAME_SECTION_ASM_OP): Likewise.
7915 (READONLY_DATA_SECTION_ASM_OP): Likewise.
7916 (INIT_SECTION_ASM_OP): Likewise.
7917 (FINI_SECTION_ASM_OP): Likewise.
7918 (TEXT_SECTION_ASM_OP): Likewise.
7919 (DATA_SECTION_ASM_OP): Likewise.
7920 (TYPE_OPERANT_FORMAT): Likewise.
7921 (ASM_SPEC): Remove COFF code.
7922 (STARTFILE_SPEC): Likewise. Always use crti.o; add -p and -pp support;
7923 cause -pg to emit an error; use pcrt1elf.o with -pp
7924 (ENDFILE_SPEC): Likewise.
7925 (TARGET_OS_CPP_BUILTINS): Add _SCO_DS_LL.
7926 (CPP_SPEC): Remove COFF crud; always look in /usr/gnu/include first.
7927 (LINK_SPEC): Remove COFF crud; use -E for environment switch not -R;
7928 add -z alt_resolve to support weak symbols the way GCC wants them.
7929 (LIB_SPEC): Use the profiler libraries in -p or -pp mode.
7930 (LIBGCC_SPEC): Dont use -lgcc in -G mode.
7931 (ASM_PREFERED_EH_DATA_FORMAT): Remove.
7932 * config/i386/t-sco5 (TARGET_LIBGCC2_CFLAGS): Remove.
7933 (CRTSTUFF_T_CFLAGS_S): Define.
7934 (MULTILIB_OPTIONS): Likewise.
7935 (MULTILIB_DIRNAMES): Likewise.
7936 (MULTILIB_MATCHES): Likewise.
7937 (MULTILIB_EXTRA_OPTS): Likewise.
7938 (LIBGCC): Likewise.
7939 (INSTALL_LIBGCC): Likewise.
7940 (crti.o): Remove.
7941 * config/i386/t-sco5gas: Remove.
7942 * doc/install.texi: Updated for new OpenServer instructions.
7943 * testsuite/gcc.dg/nest.c: Allow failure on SCO (-pg not supported)
7944
de0656cf
KJ
79452003-04-19 Kean Johnston <jkj@sco.com>
7946
7947 * fixinc/check.tpl: Allow user to over-ride diff program.
7948 * fixinc/inclhack.def: Removed extraneous #ifndef SVR5.
7949 (sco_math): Added test for SCO math header files.
7950 (sco_regset): Added check for conflicts with ieeefp.h.
7951 (svr4_disable_opt): Removed extraneous #ifdef SVR4.
7952 * fixinc/fixincl.x: Regenerated
7953 * fixinc/tests/base/math.h: Added sco_math tests.
7954 * fixinc/tests/base/string.h: New file.
7955 * fixinc/tests/base/sys/regset.h: New file.
7956
6f572ac2
NB
79572003-04-19 Neil Booth <neil@daikokuya.co.uk>
7958
7959 * cpphash.h (struct cpp_buffer): Remove backup_to.
7960 * cpplex.c (BACKUP, get_effective_char): Die.
7961 (_cpp_skip_block_comment): Assume '*' is location on entry.
7962 (continues_identifier_p): Respect -fno-dollars-in-identifiers.
7963 (IF_NEXT_IS): Update.
7964 (_cpp_lex_direct): Don't use backup_to; look ahead directly.
7965
ced2ad76
MK
79662003-04-19 Matt Kraai <kraai@alumni.cmu.edu>
7967
7968 * README.Portability: Move to a new section and obsolete K+R
7969 portability issues.
7970
07015444
JH
7971Sat Apr 19 14:56:17 CEST 2003 Jan Hubicka <jh@suse.cz>
7972
7973 * rtlanal.c (subreg_offset_representable_p): Fix call of
7974 subreg_lowpart.
7975
bced6edf
NB
79762003-04-19 Neil Booth <neil@daikokuya.co.uk>
7977
7978 * cpphash.h (struct cpp_reader): New member warned_dollar.
7979 * cpplex.c (continues_identifier_p): New function.
7980 (parse_identifier, parse_number, parse_string): Rename lex_identifer,
7981 lex_number and lex_string, and simplify.
7982 (parse_slow, unescaped_terminator_p): Die.
7983 (_cpp_lex_direct): Update.
7984
a259f218
RK
79852003-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7986
7987 * calls.c (expand_call): Provide init for old_stack_pointer_delta.
7988
8555daff
NS
79892003-04-19 Nathan Sidwell <nathan@codesourcery.com>
7990
7991 * doc/invoke.texi (-fprofile-arcs): Mention -lgcov, locking and
6356f892 7992 fork behavior.
8555daff 7993
4e1f0f8e
NB
79942003-04-19 Neil Booth <neil@daikokuya.co.uk>
7995
7996 * cppexp.c (eval_token): Permit true and false even if pedantic.
7997
bf805def
NB
79982003-04-19 Neil Booth <neil@daikokuya.co.uk>
7999
8000 * cpplex.c (skip_whitespace): Rearrange to avoid stage1 ICE.
8001
26aea073
NB
80022003-04-19 Neil Booth <neil@daikokuya.co.uk>
8003
8004 * cppfiles.c (ENABLE_VALGRIND_CHECKING, VALGRIND_DISCARD,
8005 MMAP_THRESHOLD, TEST_THRESHOLD, SHOULD_MMAP): Remove.
8006 (struct include_file): Remove fefcnt, mapped members.
8007 (open_file, stack_include_file, _cpp_pop_file_buffer): Disable caching.
8008 (read_include_file): Don't use mmap, terminate buffers in '\r'.
8009 (purge_cache): Don't use munmap.
8010 * cpphash.h (CPP_BUF_COLUMN): Update.
8011 (lexer_state): Remove lexing_comment.
8012 (struct _cpp_line_note): New.
8013 (struct cpp_buffer): New members cur_note, notes_used, notes_cap,
8014 next_line and need_line. Remove col_adjust and saved_flags.
8015 (_cpp_process_line_notes, _cpp_clean_line, _cpp_get_fresh_line,
8016 _cpp_skip_block_comment, scan_out_logical_line): New.
8017 (_cpp_init_mbchar): Remove.
8018 * cppinit.c (init_library): Remove call to _cpp_init_mbchar.
8019 (cpp_read_main_file): Set line to 1 earlier.
8020 (post_options): -traditional-cpp doesn't want trigraphs.
8021 * cpplex.c (MULTIBYTE_CHARS): Remove code predicated on this.
8022 (add_line_note, _cpp_clean_line, _cpp_process_line_notes,
8023 _cpp_get_fresh_line): New.
8024 (handle_newline, skip_escaped_newlines, trigraph_p,
8025 continue_after_nul, _cpp_init_mbchar): Remove.
8026 (get_effective_char): Update.
8027 (_cpp_skip_block_comment): Rename from skip_block_comment, simplify.
8028 (skip_line_comment): Simplify.
8029 (skip_whitespace, parse_identifier, parse_slow, parse_number,
8030 parse_string): Update.
8031 (cpp_lex_direct): Use clean lines and process line notes. Update.
8032 (cpp_interpret_charconst): No MULTIBYTE_CHARS.
8033 * cpplib.c (prepare_directive_trad): Call scan_out_logical_line
8034 directly.
8035 (_cpp_handle_directive): Don't set saved_flags.
8036 (run_directive, destringize_and_run, cpp_define, cpp_define_builtin,
8037 cpp_undef, handle_assertion, cpp_push_buffer): Update.
8038 (_cpp_pop_buffer): Free notes.
8039 * cppmacro.c (builtin_macro, paste_tokens): \n terminate buffer.
8040 * cpppch.c (cpp_read_state): \n terminate buffer.
8041 * cpptrad.c (skip_escaped_newlines, handle_newline): Remove.
8042 (copy_comment): Use _cpp_skip_block_comment.
8043 (skip_whitespace, lex_identifier, _cpp_read_logical_line_trad):
8044 Simplify.
8045 (_cpp_overlay_buffer, _cpp_remove_overlay, push_replacement_text,
8046 save_replacement_text): Update.
8047 (scan_out_logical_line): Update to use clean lines and process
8048 line notes.
8049 * fix-header.c (read_scan_file): Update.
8050
7008a11b
DR
80512003-04-18 Douglas B Rupp <rupp@gnat.com>
8052
8053 * unwind-dw2-fde.c (__register_frame_info_bases): Check for
8054 null begin parameter (as well as pointer to null).
8055 (__deregister_frame_info_bases): Likewise.
8056
21102f25
RK
80572003-04-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8058
34d21fe3
RK
8059 * function.c (purge_addressof_1): For ADDRESSOF, see if SUB is a
8060 hard or virtual register and copy into pseudo if replacement fails.
8061
8062 * cfgcleanup.c (flow_find_cross_jump): Use INSN_P, not active_insn_p.
dd4ff203 8063
21102f25
RK
8064 * expmed.c (mask_rtx): Avoid undefined shifts for BITSIZE of 0.
8065
e59baa1f
OH
80662003-04-18 Olivier Hainque <hainque@act-europe.fr>
8067
38afb23f
OH
8068 * calls.c (expand_call): Move special case for constructor calls
8069 to right place. Ensures constructor calls used to initialize
c6a2438a 8070 arguments get a clean outgoing argument block for themselves.
38afb23f
OH
8071 Move check for stack deallocation completeness until after last
8072 deallocation. Add stack_pointer_delta to set of state
8073 variables saved and restored along with current stack_level.
c6a2438a
ZW
8074
8075 * integrate.c (expand_inline_function): Ensure non-const actuals
8076 don't end up const in the caller's flow after conversion to possibly
8077 const formal type.
e59baa1f 8078
8dcea3f3
VC
80792003-04-18 Vincent Celier <celier@gnat.com>
8080
c6a2438a
ZW
8081 * dwarf2out.c (loc_descriptor_from_tree): Treat all *_MOD_EXPR
8082 and *_DIV_EXPR as TRUNC_*_EXPR.
8dcea3f3 8083
3e378f14
MM
80842003-04-18 Mark Mitchell <mark@codesourcery.com>
8085
8086 * cfgrtl.c (try_redirect_by_replacing_jump): Create a basic block
8087 for orphaned jump tables.
8088
1b0d0e84
KH
80892003-04-18 Kazu Hirata <kazu@cs.umass.edu>
8090
8091 * reload1.c: Revert my previous patch on 2002-04-17.
8092
906042f5
GP
80932003-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8094
8095 * doc/contrib.texi (Contributors): Prefer "bug fix" over "bugfix".
8096 Add Segher Boessenkool.
8097
38a31425
AS
80982003-04-18 Alexander Sotirov <sluncho@mirizma.org>
8099
8100 PR c/9177
8101 * c-decl.c (c_expand_body): Don't garbage collect the function
8102 body if we are going to dump it later.
8103
59c60a98
RH
81042003-04-18 Richard Henderson <rth@redhat.com>
8105
8106 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): Remove.
8107 (alpha_end_function): Don't set them.
8108 (decl_in_text_section): Remove.
8109 (alpha_encode_section_info): Remove.
8110 (samegp_function_operand): Use SYMBOL_REF LOCAL_P and EXTERNAL_P.
8111 (direct_call_operand): Use SYMBOL_REF_DECL and compare actual
8112 sections, rather than decl_in_text_section results.
8113
c553b702
RS
81142003-04-18 Roger Sayle <roger@eyesopen.com>
8115
8116 * rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT
8117 and SIGN_EXTRACT.
8118
6a29edea
EB
81192003-04-18 Eric Botcazou <ebotcazou@libertysurf.fr>
8120
8121 PR optimization/7675
8122 * c-typeck.c (build_external_ref): Set the DECL_NONLOCAL flag
8123 on VAR_DECL, PARM_DECL and FUNCTION_DECL from within
8124 nested functions if they refer to declarations from parent functions.
8125 * stmt.c (expand_decl): Don't put automatic variables in registers
8126 if the DECL_NONLOCAL flag is set.
8127
4d3eb89a
HPN
81282003-04-18 Hans-Peter Nilsson <hp@bitrange.com>
8129
8130 * gcse.c (compute_ld_motion_mems): For MEM destinations, only
8131 consider those to be movable where the source matches
8132 want_to_gcse_p.
8133 (update_ld_motion_stores): In comment, refer to
8134 compute_ld_motion_mems for validity of replacement.
8135
04c5580f
JH
8136Fri Apr 18 01:28:51 CEST 2003 Jan Hubicka <jh@suse.cz>
8137
d101590b 8138 * gcov-dump.c (tag_summary): Remove max_sum
ca29da43
NS
8139 * gcov-io.h (gcov_summary, gcov_write_summary,
8140 gcov_read_summary): Kill max_sum.
8141 * libgcov.c (gcov_exit): Do one pass over the data. Make error
8142 message more verbose.
8143
8144 * emit-rtl.c (subreg_hard_regno): Check that register is
8145 representable.
293107d1 8146
04c5580f
JH
8147 * reload.c (reload_inner_reg_of_subreg): When register is not
8148 representable, reload the whole thing.
8149 (find_reloads): Likewsie.
8150 * rtlanal.c (subreg_representable_p): New function.
8151
8152 * profile.c (compute_branch_probabilities): Cleanup sanity checking;
8153 allow negative probabilities for edges from the call to exit.
ca29da43
NS
8154 (branch_prob): Do not add fake edges for functions that may return
8155 twice.
04c5580f 8156
c409ea0d
DD
81572003-04-17 DJ Delorie <dj@redhat.com>
8158
8159 * toplev.c (target_options): Add value field.
8160 (set_target_switch): Handle target options with values.
8161 * doc/tm.texi: Document how fixed vs variable target
8162 options work.
8163 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
8164 config/c4x/c4x.h, config/cris/aout.h, config/cris/cris.h,
8165 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
8166 config/frv/frv.h, config/i386/i386.h, config/ia64/ia64.h,
8167 config/m32r/m32r.h, config/m68hc11/m68hc11.h,
8168 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
8169 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa.h,
8170 config/rs6000/rs6000.h, config/rs6000/sysv4.h,
8171 config/s390/s390.h, config/sparc/sparc.h, config/v850/v850.h:
8172 Add value initializer to target options.
8173
36801818
LR
81742003-04-07 Loren James Rittle <ljrittle@acm.org>
8175
8176 * cpppch.c (cpp_valid_state): Unconditionally initialize nl.
8177
a211395b
KH
81782003-04-17 Kazu Hirata <kazu@cs.umass.edu>
8179
8180 * reload1.c (move2add_last_cc0): New.
8181 (reload_cse_move2add): Detect implicit sets.
8182 (move2add_note_store): Notice a store into cc0.
8183
220a35cc
RS
81842003-04-17 Roger Sayle <roger@eyesopen.com>
8185
8186 PR c/10375
8187 * c-decl.c (duplicate_decls): Preserve "const" and "noreturn"
8188 function attributes.
8189
7ed0620a 81902003-04-17 Janis Johnson <janis187@us.ibm.com>
46b2356d
JJ
8191
8192 * doc/sourcebuild.texi (Test Suites): Document support for testing
8193 binary compatibility (moved from testsuite/README.compat).
8194
3907500b
RH
81952003-04-17 Richard Henderson <rth@redhat.com>
8196
8197 * config/ia64/ia64.c (ia64_in_small_data_p): Disallow strings.
8198
d22b2e54
SL
81992003-04-17 Simon Law <sfllaw@engmail.uwaterloo.ca>
8200
c6a2438a
ZW
8201 * doc/include/gpl.texi: Fix double-spacing after "MA" to match
8202 the one provided by the FSF.
d22b2e54 8203
616de62f
GP
82042003-04-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8205
8206 * doc/install.texi (Binaries): Update URL and list of platforms
8207 provided by ftp.thewrittenword.com.
8208
f2dd0c42
RH
82092003-04-17 Richard Henderson <rth@redhat.com>
8210
8211 * config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
8212 (call_insn_operand): Use SYMBOL_REF_LOCAL_P.
8213 * config/xtensa/xtensa.md (call, call_value): Likewise.
8214
50d1ff6a
RH
82152003-04-17 Richard Henderson <rth@redhat.com>
8216
8217 * config/v850/v850.c (print_operand): Use SYMBOL_REF_[ZST]DA.
8218 (print_operand_address): Likewise.
8219 (ep_memory_operand): Likewise.
8220 (special_symbolref_operand): Likewise.
8221 (v850_encode_data_area): Use SYMBOL_REF_FLAGS.
8222 (v850_encode_section_info): Call default_encode_section_info.
8223 (v850_strip_name_encoding): Remove.
8224 * config/v850/v850.h (EXTRA_CONSTRAINT): Use SYMBOL_REF_[ZST]DA.
8225 (ASM_OUTPUT_LABELREF): Remove.
8226 (ZDA_NAME_FLAG_CHAR, ZDA_NAME_P): Remove.
8227 (SDA_NAME_FLAG_CHAR, SDA_NAME_P): Remove.
8228 (TDA_NAME_FLAG_CHAR, TDA_NAME_P): Remove.
8229 (ENCODED_NAME_P): Remove.
8230 (SYMBOL_FLAG_ZDA, SYMBOL_REF_ZDA_P): New.
8231 (SYMBOL_FLAG_SDA, SYMBOL_REF_SDA_P): New.
8232 (SYMBOL_FLAG_TDA, SYMBOL_REF_TDA_P): New.
8233
e7d687bb
RH
82342003-04-17 Richard Henderson <rth@redhat.com>
8235
8236 * config/stormy16/stormy16.c (xstormy16_encode_section_info): Kill.
8237 * config/stormy16/stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use
8238 SYMBOL_REF_FUNCTION_P.
8239
72628c61
RH
82402003-04-17 Richard Henderson <rth@redhat.com>
8241
8242 * config/sparc/sparc.c (sparc_encode_section_info): Remove.
8243 (data_segment_operand): Use SYMBOL_REF_FUNCTION_P.
8244 (text_segment_operand): Likewise.
8245
675ff4c7
RH
82462003-04-17 Richard Henderson <rth@redhat.com>
8247
8248 * config/sh/sh.c (gen_datalabel_ref): Don't add SH_DATALABEL_ENCODING.
8249 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
8250 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
8251 (sh_encode_section_info): Remove.
8252 (sh_strip_name_encoding): Remove.
8253 * config/sh/sh.h (SH_DATALABEL_ENCODING): Remove.
8254 (DATALABEL_SYMNAME_P, STRIP_DATALABEL_ENCODING): Remove.
8255 (SH_TLS_ENCODING, TLS_SYMNAME_P, STRIP_TLS_ENCODING): Remove.
8256 (ASM_OUTPUT_LABELREF): Remove.
8257 (ASM_OUTPUT_SYMBOL_REF): Use SYMBOL_REF_FUNCTION_P.
8258 * config/sh/sh.md (*): Use SYMBOL_REF_LOCAL_P.
8259
114278e7
RH
82602003-04-17 Richard Henderson <rth@redhat.com>
8261
8262 * config/s390/s390.c (SYMBOL_FLAG_ALIGN1): New.
8263 (tls_model_chars): Remove.
8264 (larl_operand): Use SYMBOL_REF_FLAGS.
8265 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
c6a2438a 8266 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
114278e7
RH
8267 (s390_output_mi_thunk): Likewise.
8268 (s390_emit_prologue): Set SYMBOL_FLAG_LOCAL as needed.
8269 (s390_function_profiler): Likewise.
8270 (s390_encode_section_info): Use default_encode_section_info
8271 and SYMBOL_FLAG_ALIGN1.
8272 (s390_strip_name_encoding): Remove.
8273 * config/s390/s390.h (ASM_OUTPUT_LABELREF): Remove.
8274 * config/s390/s390.md (call, call_value): Use SYMBOL_REF_LOCAL_P.
8275 (builtin_setjmp_receiver): Set SYMBOL_FLAG_LOCAL as needed.
8276
e95ef187
RH
82772003-04-17 Richard Henderson <rth@redhat.com>
8278
8279 * config/ns32k/ns32k.c (ns32k_encode_section_info): Remove.
8280 (global_symbolic_reference_mentioned_p): Use SYMBOL_REF_LOCAL_P.
8281 (print_operand_address): Likewise.
8282
8283 * config/ns32k/ns32k.h (CANNOT_CHANGE_MODE_CLASS): Add CLASS argument.
8284 * config/ns32k/ns32k.c (expand_block_move): Don't check
8285 flag_unroll_loops.
8286
6cd4a764
RH
82872003-04-17 Richard Henderson <rth@redhat.com>
8288
8289 * config/mcore/mcore.c (mcore_encode_section_info): Don't set
8290 SYMBOL_REF_FLAG.
8291
89e6b702
RH
82922003-04-17 Richard Henderson <rth@redhat.com>
8293
8294 * rtl.h (SYMBOL_FLAG_MACH_DEP_SHIFT): New.
8295
8296 * config/m32r/m32r.c (SYMBOL_FLAG_MODEL_SHIFT): New.
8297 (SYMBOL_REF_MODEL): New.
8298 (LIT_NAME_P): Move from m32r.h.
8299 (m32r_select_section): Remove.
8300 (m32r_encode_section_info): Use SYMBOL_REF_FLAGS.
8301 (m32r_strip_name_encoding): Remove.
8302 (m32r_in_small_data_p): New.
8303 (small_data_operand): Use SYMBOL_REF_SMALL_P.
8304 (addr24_operand): Use SYMBOL_REF_MODEL.
8305 (call26_operand): Likewise.
8306 (addr32_operand): Tidy.
8307 (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
8308 * config/m32r/m32r.h (RODATA_SECTION_ASM_OP): Remove.
8309 (SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Remove.
8310 (READONLY_DATA_SECTION_ASM_OP): Remove.
8311 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
8312 (SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Remove.
8313 (TARGET_ASM_SELECT_SECTION): Remove.
8314 (SDATA_FLAG_CHAR, MEDIUM_FLAG_CHAR, LARGE_FLAG_CHAR): Remove.
8315 (SDATA_NAME_P, SMALL_NAME_P, MEDIUM_NAME_P): Remove.
8316 (LARGE_NAME_P, ENCODED_NAME_P): Remove.
8317 (ASM_OUTPUT_LABELREF): Remove.
8318
ec94fc00
RH
83192003-04-17 Richard Henderson <rth@redhat.com>
8320
8321 * config/ip2k/ip2k.c (is_regfile_address): Use SYMBOL_REF_FUNCTION_P.
8322 (encode_section_info): Remove.
8323 * config/ip2k/ip2k-protos.h: Update.
8324
1b8135a4
RH
83252003-04-17 Richard Henderson <rth@redhat.com>
8326
c6a2438a 8327 * varasm.c (default_encode_section_info): Don't set
1b8135a4
RH
8328 SYMBOL_FLAG_EXTERNAL if not TREE_PUBLIC.
8329 * config/i370/i370.c (i370_encode_section_info): Remove.
8330 * config/i370/i370.h (CONSTANT_ADDRESS_P): Use SYMBOL_REF_EXTERNAL_P.
8331 (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Likewise.
8332 * config/i370/i370.md (movsi): Likewise.
8333
8334 * config/i370/t-i370: Add missing backslash.
8335
6d7fe8b3
EB
83362003-04-17 Eric Botcazou <ebotcazou@libertysurf.fr>
8337
8338 * doc/invoke.texi (inline-limit): Fix pasto.
8339
dc66a1c4
RH
83402003-04-17 Richard Henderson <rth@redhat.com>
8341
8342 * config/h8300/h8300.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): New.
8343 (small_call_insn_operand): Use it.
8344 (SYMBOL_FLAG_EIGHTBIT_DATA): New.
8345 (h8300_eightbit_constant_address_p): Use it.
8346 (SYMBOL_FLAG_TINY_DATA): New.
8347 (h8300_tiny_constant_address_p): Use it.
8348 (h8300_encode_label, h8300_strip_name_encoding): Remove.
8349 (h8300_encode_section_info): Set SYMBOL_REF_FLAGS.
8350 * config/h8300/h8300.h (TINY_DATA_NAME_P): Remove.
8351 (ASM_OUTPUT_LABELREF): Remove.
8352
90a63880
RH
83532003-04-16 Richard Henderson <rth@redhat.com>
8354
0f6e5d45
RH
8355 * config/frv/frv.c (symbol_ref_small_data_p): Remove. Replace
8356 all users with SYMBOL_REF_SMALL_P.
8357 (const_small_data_p): Use SYMBOL_REF_SMALL_P.
8358 (frv_encode_section_info): Remove.
8359 (frv_strip_name_encoding): Remove.
8360 (frv_in_small_data_p): Merge tests from encode_section_info.
8361 (frv_print_operand): Use '@' not SDATA_FLAG_CHAR.
8362 * config/frv/frv.h (SDATA_FLAG_CHAR): Remove.
8363 (SDATA_NAME_P): Remove.
8364 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use SIZE not SDATA_NAME_P.
8365 (ASM_OUTPUT_LABELREF): Remove.
8366 (PRINT_OPERAND_PUNCT_VALID_P): Use '@' not SDATA_FLAG_CHAR.
8367
90a63880
RH
8368 * config/frv/frv.c (frv_asm_out_constructor): New.
8369 (frv_asm_out_destructor): New.
8370 * config/frv/frv.h (CTORS_SECTION_ASM_OP): New.
8371 (DTORS_SECTION_ASM_OP): New.
8372 (ASM_OUTPUT_CONSTRUCTOR): Remove.
8373 (ASM_OUTPUT_DESTRUCTOR): Remove.
8374
5c93e01b
RH
83752003-04-16 Richard Henderson <rth@redhat.com>
8376
8377 * config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use
8378 SYMBOL_REF_LOCAL_P; abort if not pic.
8379 (cris_encode_section_info): Remove.
8380
11467df2
RH
83812003-04-16 Richard Henderson <rth@redhat.com>
8382
8383 * config/c4x/c4x.c (c4x_encode_section_info): Remove.
8384 (c4x_T_constraint): Use SYMBOL_REF_FUNCTION_P.
8385
8386 * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Declare
8387 flag_inline_trees.
8388
74b66b3c
RH
83892003-04-16 Richard Henderson <rth@redhat.com>
8390
8391 * config/avr/avr.c (avr_encode_section_info): Remove.
8392 (avr_insert_attributes): New.
8393 (print_operand_address): Use SYMBOL_REF_FUNCTION_P.
8394 (avr_assemble_integer): Likewise.
8395
8cbd5ce0
RH
83962003-04-16 Richard Henderson <rth@redhat.com>
8397
8398 * arc.c (arc_encode_section_info): Remove.
c6a2438a 8399 (arc_assemble_integer): Use SYMBOL_REF_FUNCTION_P.
8cbd5ce0
RH
8400 (arc_print_operand, arc_print_operand_address): Likewise.
8401 * arc.h (EXTRA_CONSTRAINT): Likewise.
8402
96c6931d
RS
84032003-04-16 Roger Sayle <roger@eyesopen.com>
8404
8405 * c-semantics.c (find_reachable_label): New function to find a
8406 potentially reachable label in an expression.
8407 (expand_unreachable_if_stmt): Similar to expand_if_stmt but
8408 assumes the start of the IF_STMT is unreachable (dead) code.
8409 (expand_unreachable_stmt): Similar to expand_stmt but assumes
8410 the start of the statement list is unreachable (dead) code.
8411 (genrtl_if_stmt): If the controlling expression of the IF
8412 is constant, use expand_unreachable_stmt for the THEN or ELSE
8413 clause as appropriate.
8414 (genrtl_switch_stmt): Use expand_unreachable_stmt to expand
8415 the body of a SWITCH statement.
8416 (expand_stmt): The code immediately following a "return",
8417 "break", "continue" or "goto" is unreachable.
8418 * Makefile.in (c-semantics.o): Depend upon tree-inline.h.
8419
3568b0ef
RH
84202003-04-16 Richard Henderson <rth@redhat.com>
8421
8422 * rtl.h (MEM_ALIAS_SET): Update documentation.
8423 * doc/rtl.texi (Special Accessors): New node.
8424 (SYMBOL_REF_FLAG): Note relationship with SYMBOL_REF_FLAGS.
8425
60fa6660
AO
84262003-04-16 Alexandre Oliva <aoliva@redhat.com>
8427
8428 * reload1.c (reload_cse_noop_set_p): Return false if mode of
8429 SET_DEST is not the same as that returned by...
8430 * cselib.h (cselib_reg_set_mode): ... new function.
8431 * cselib.c (cselib_reg_set_mode): Define it.
8432 (REG_VALUES): Document semantics of first element as set mode.
8433 (cselib_subst_to_values): Skip first element if ELT is NULL.
8434 (cselib_lookup): Likewise. Insert past the first element.
8435 (cselib_invalidate_regno): NULLify first element.
8436 (cselib_record_set): Set first element.
8437
15b19a7d
OH
84382003-04-16 Olivier Hainque <hainque@act-europe.fr>
8439
c6a2438a
ZW
8440 * tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions.
8441 (save_expr): Replace loop by call to skip_simple_arithmetics_at.
8442 * tree.h: Add prototypes for the two new functions.
8443 * fold-const.c (fold_binary_op_with_conditional_arg): Replace test
8444 updates introduced in the previous revision by call to saved_expr_p.
8445 * stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at.
a9ecacf6 8446
c6a2438a
ZW
8447 * expr.c (store_field): Force usage of bitfield instructions when
8448 the field position requires it, whatever SLOW_UNALIGNED_ACCESS.
8449 (expand_expr, case BIT_FIELD_REF): likewise.
15b19a7d 8450
f2d80e7e
MM
84512003-04-16 Mark Mitchell <mark@codesourcery.com>
8452
8453 PR middle-end/8866
8454 * cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
8455 jumptables.
8456
1cdbd630
RH
84572003-04-16 Richard Henderson <rth@redhat.com>
8458
8459 * config/ia64/ia64.c (sdata_symbolic_operand): Use
8460 SYMBOL_REF_SMALL_P and SYMBOL_REF_LOCAL_P.
8461 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
8462 (function_operand): Use SYMBOL_REF_FUNCTION_P.
8463 (ia64_expand_load_address): Likewise.
8464 (ia64_assemble_integer): Likewise.
8465 (ia64_encode_section_info): Remove.
8466 (ia64_strip_name_encoding): Remove.
8467 * config/ia64/ia64.h (ENCODE_SECTION_INFO_CHAR): Remove.
8468 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't strip it.
8469
d055668e
RH
84702003-04-16 Richard Henderson <rth@redhat.com>
8471
8472 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): New.
8473 (samegp_function_operand): Use SYMBOL_FLAG_SAMEGP.
8474 (direct_call_operand): Use SYMBOL_FLAG_NEAR.
8475 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
8476 (small_symbolic_operand): Use SYMBOL_REF_SMALL_P.
8477 (global_symbolic_operand): Similarly.
8478 (tls_symbolic_operand_1): Use SYMBOL_REF_TLS_MODEL.
8479 (tls_symbolic_operand_type): Likewise.
8480 (alpha_encode_section_info): Use default_encode_section_info.
8481 (alpha_strip_name_encoding): Remove.
8482 (get_tls_get_addr): Split out from ...
8483 (alpha_legitimize_address): ... here.
8484 (alpha_emit_xfloating_libcall): Use init_one_libfunc.
8485 (get_some_local_dynamic_name_1): Use SYMBOL_REF_TLS_MODEL.
8486 (alpha_initialize_trampoline): Use init_one_libfunc.
8487 (alpha_setup_incoming_varargs): Mark unused parameters.
8488 (alpha_initial_elimination_offset): Likewise.
8489 (alpha_end_function): Use SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP.
8490 (unicosmk_unique_section): Use default_strip_name_encoding.
8491 (unicosmk_ssib_name, unicosmk_output_externs): Likewise.
8492
ffd25996
AH
84932003-04-16 Aldy Hernandez <aldyh@redhat.com>
8494
c6a2438a 8495 * config.gcc: Add t-spe for eabispe.
ffd25996 8496
c6a2438a 8497 * config/rs6000/t-spe: New.
ffd25996 8498
7f0ea82e
R
84992003-04-16 J"orn Rennecke <joern.rennecke@superh.com>
8500
8501 Re-apply this patch:
8502
8503 2002-05-16 Dale Johannesen <dalej@apple.com>
8504 * combine.c (cant_combine_insn_p): Reenable combinations
8505 involving hard regs unless CLASS_LIKELY_SPILLED_P.
8506
c328adfa
JDA
85072003-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8508
8509 PR/10271
8510 * pa-protos.h (function_arg): Remove last argument.
8511 * pa.c (function_arg): Likewise. Use CUMULATIVE_ARGS struct instead.
c6a2438a 8512 * pa.h (struct hppa_args): Add member incoming.
c328adfa
JDA
8513 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize
8514 member incoming.
8515 (FUNCTION_ARG): Revise call to function_arg.
8516 (FUNCTION_INCOMING_ARG): Delete.
8517
f9c1196a
ZW
85182003-04-15 Zack Weinberg <zack@codesourcery.com>
8519
8520 * configure.in: Unify the code which creates symlinks to a
8521 just-built as, ld, objdump, and nm with the code that detects
8522 their presence for purposes of feature tests.
8523 * configure: Regenerate.
8524
0b78a9b6
ZW
85252003-04-15 Zack Weinberg <zack@codesourcery.com>
8526
8527 * varasm.c (output_constant_def): Do not consult
8528 CONSTANT_AFTER_FUNCTION_P. Remove all code predicated on it.
8529 (after_function_constants, output_after_function_constants): Delete.
8530 * doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P.
8531 * config/mips/mips-protos.h, config/mips/mips.c
8532 (mips16_constant_after_function_p): Delete.
8533 * config/mips/mips.h: Delete #if-0-ed definition of
8534 CONSTANT_AFTER_FUNCTION_P.
8535 * config/d30v/d30v.h, config/stormy16/stormy16.h: Remove
8536 mention of CONSTANT_AFTER_FUNCTION_P in comment.
8537
03907fbd
GK
85382003-04-15 Geoffrey Keating <geoffk@apple.com>
8539
8540 * tree.c (next_decl_uid): Mark with GTY.
8541 (next_type_uid): Likewise.
8542
9959c8c7
R
85432003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
8544
8545 PR target/9594:
8546 * sh.c (barrier_align): Also recognize stuff_delay_slot as
8547 an indicator that a barrier was created by branch splitting.
8548
c8b718ba
MM
85492003-04-15 Mark Mitchell <mark@codesourcery.com>
8550
8551 * c-decl.c (implicitly_declare): Copy declarations that are going
8552 to be placed in a local scope.
8553
f5034c5e
JM
85542003-04-15 James A. Morrison <ja2morri@uwaterloo.ca>
8555
8556 * invoke.texi (Spec Files): Wrap if-exists-else example.
8557 (MCore): Remove duplicate @itemx entries and @opindex entries.
8558
7344f3d7
UW
85592003-04-15 Ulrich Weigand <uweigand@de.ibm.com>
8560
8561 * unwind.inc (_Unwind_Backtrace): New function.
8562 * unwind.h (_Unwind_Backtrace): Declare it.
8563 * libgcc-std.ver (_Unwind_Backtrace): Export it.
8564
9547e8fd
JM
85652003-04-14 Jason Merrill <jason@redhat.com>
8566
8567 PR middle-end/10336, c++/10401
0b78a9b6 8568 * jump.c (never_reached_warning): Also stop looking if we reach the
9547e8fd
JM
8569 beginning of the function.
8570
55adc7bd
KG
85712003-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8572
8573 PR target/10338
8574 PR bootstrap/10198
8575 PR bootstrap/10140
8576 * fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
8577
d2b54839
R
85782003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
8579
8580 * i386.md (abssf2_if+1): Make condition agree with abssf2_1 .
8581
d0ccc658
RK
85822003-04-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8583
8584 * optabs.c (expand_binop): In multi-word add cases, ensure
8585 XTARGET is copied to TARGET if they are different.
8586
29921faf
OH
85872003-04-15 Olivier Hainque <hainque@act-europe.fr>
8588
8589 * except.c (resolve_fixup_regions): Avoid dereferencing null pointer
8590 to region, possible after integration of function with unreachable
8591 regions that were optimized away.
8592
ff3867ae
JJ
85932003-04-15 Jakub Jelinek <jakub@redhat.com>
8594
8595 * config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
8596 instead of TOC_REGISTER in epilogue in
8597 current_function_calls_eh_return functions.
8598
f4e92987
MM
85992003-04-14 Mark Mitchell <mark@codesourcery.com>
8600
db0b376e
MM
8601 * doc/extend.texi (Empty Structures): Correct description of G++'s
8602 handling of these structures.
8603
f4e92987
MM
8604 * c-decl.c (grokdeclarator): Reject extern redeclarations of
8605 static variables.
8606
629f6514
JJ
86072003-04-14 Janis Johnson <janis287@us.ibm.com>
8608
615158e2
JJ
8609 * config/rs6000/rs6000.md (define_constants): Define constants for
8610 all UNSPEC usage, including new values for TLS support.
8611 (aux_truncdfsf2, fctiwz, movsi_got, movsi_got_internal,
8612 load_toc_aix_si, load_toc_aix_di, load_toc_v4_pic_si,
8613 load_toc_v4_PIC_1, load_toc_v4_PIC_1b, load_macho_picbase,
8614 macho_correct_pic, blockage, move_from_CR_ov_bit, movesi_from_cr,
8615 stack_tie, movsi_to_cr_one, movsi_to_cr, mtcrfsi, eh_set_lr_si,
8616 eh_set_lr_di): Use them.
8617 * rs6000.c: (mtcrf_operation, uses_TOC, rs6000_emit_prologue,
8618 rs6000_emit_epilogue) Use them.
8619
629f6514
JJ
8620 * rtl.h (SYMBOL_REF_TLS_MODEL): Fix mask value.
8621
8951a635
NB
86222003-04-14 Neil Booth <neil@daikokuya.co.uk>
8623
8624 * Makefile.in (c-opts.o): Use custom action.
8625
798a3935
DR
86262003-04-14 Douglas B Rupp <rupp@gnat.com>
8627
8628 * ifcvt.c (noce_process_if_block): Fail on BLKmode move.
8629
2443af37
RK
86302003-04-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8631
0d3c8800
RK
8632 * stor-layout.c (layout_type, case ARRAY_TYPE): Add missing code to
8633 handle "superflat arrays" in Ada.
8634
2443af37
RK
8635 * integrate.c (expand_inline_function): Don't inline if would
8636 lose /u on a BLKmode TARGET.
8637
8cb5fbbf
JB
86382003-04-14 Joel Brobecker <brobecker@gnat.com>
8639
39d658e3
JB
8640 * dbxout.c (print_int_cst_bounds_in_octal_p): New function,
8641 extracted from dbxout_type.
8642 (dbxout_range_type): print large bounds in octal format.
8643 (dbxout_type): Replace extracted code by call to
8644 print_int_cst_bounds_in_octal_p.
8645
0b78a9b6
ZW
8646 * dwarf2out.c (gen_compile_unit_die): Emit DW_LANG_Ada95 instead
8647 of DW_LANG_Ada83 for Ada units.
8cb5fbbf 8648
9ceca302
OH
86492003-04-14 Olivier Hainque <hainque@act-europe.fr>
8650
41ee3204
OH
8651 * explow.c (round_push): Use HOST_WIDE_INT instead of int for the
8652 temporary used to round CONST_INT sizes.
8653
4694840a
OH
8654 * tree.c (int_fits_type_p): Extract generic checks from the case
8655 of constant type bounds. Refine the checks against constant type
8656 bounds to allow for possible decisions against each of these bounds
8657 without requiring both bounds to be constant.
8658 (tree_int_cst_msb): Put back.
8659 * tree.h (tree_int_cst_msb): Likewise.
8660
4147232b
OH
8661 * global.c (global_conflicts): Prevent allocation of call clobbered
8662 hard regs to pseudos live across abnormal edges, as later passes are
8663 not ready to handle them.
8664
0b78a9b6
ZW
8665 * fold-const.c (fold): Reorder tests for conditional expressions.
8666
8667 * expr.c (highest_pow2_factor): Return unsigned.
8668 * expr.h (offset_address): Likewise.
8669 * emit-rtl.c (offset_address): POW2 argument now unsigned.
cbcafd35 8670
712b7a05
RS
86712003-04-14 Roger Sayle <roger@eyesopen.com>
8672
8673 * builtins.c (expand_builtin_strlen): Evaluate the lengths of
8674 string literals at compile-time.
8675
15d4fd98
RS
86762003-04-14 Roger Sayle <roger@eyesopen.com>
8677
8678 * fold-const.c (fold): Transform (c1 - x) cmp c2, where cmp is a
8679 comparison operation and c1/c2 are floating point constants into
8680 x swap(cmp) (c1 - c2).
8681
2fcb395c
VM
86822003-04-14 Vladimir Makarov <vmakarov@redhat.com>
8683
8684 * genautomata.c (output_translate_vect): Fix a typo in loop
8685 condition.
8686
747a0d9d
HPN
86872003-04-14 Hans-Peter Nilsson <hp@axis.com>
8688
8689 PR target/10377
8690 * config/cris/cris.md ("*mov_sideqi", "*mov_sidehi")
8691 ("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
8692 ("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
8693 ("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
8694 ("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
8695 ("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
8696 ("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
8697 ("*extopqihi_swap_side", "*extopqisi_swap_side")
8698 ("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
8699 When next to constraint R, replace constraint i with n.
8700
58e6ae30
JH
8701Mon Apr 14 16:18:37 CEST 2003 Jan Hubicka <jh@suse.cz>
8702
8703 PR opt/10024
8704 * cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.
8705
88657a26
KL
87062003-04-14 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
8707
8708 * doc/contrib.texi (Contributors): Correct my entry.
8709
7f685e17
RS
87102003-04-13 Roger Sayle <roger@eyesopen.com>
8711
8712 * tree.h (DECL_BUILT_IN_NONANSI): Remove.
8713 * c-common.c (builtin_function_2): Don't set DECL_BUILT_IN_NONANSI.
8714 * c-decl.c (duplicate_decls): Use invariant DECL_BUILT_IN_NONANSI
8715 implies DECL_BUILT_IN to simplify logic.
8716 * print-tree.c (print_node): Don't dump DECL_BUILT_IN_NONANSI.
8717
1331d16f
RS
87182003-04-13 Roger Sayle <roger@eyesopen.com>
8719
8720 * builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
8721 (BT_FN_PTR_SIZE_SIZE): Likewise.
8722 * builtins.def (BUILT_IN_MALLOC, BUILT_IN_CALLOC, BUILT_IN_STRDUP):
8723 New built-in functions for malloc, calloc and strdup respectively.
8724 * calls.c (special_function_p): No need to handle malloc-like
8725 functions any longer. ECF_MALLOC is set via built-in attributes.
8726
8727 * c-decl.c (duplicate_decls): Preserve pure and malloc attributes.
8728
8729 * doc/extend.texi: Document these new built-in functions.
8730
9cb65f92
KG
87312003-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8732
8733 * builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.
8734 (expand_builtin_stpcpy): New.
8735 (expand_builtin): Add BUILT_IN_MEMPCPY & BUILT_IN_STPCPY.
8736 * builtins.def: Add mempcpy & stpcpy support.
8737 * doc/extend.texi (mempcpy, stpcpy): Document new builtins.
8738
5de601cf
NC
87392003-04-13 Nick Clifton <nickc@redhat.com>
8740
8741 * config/rs6000/rs6000.c: Replace occurrences of "GNU CC" with
8742 "GCC".
8743 * config/rs6000/40x.md, config/rs6000/603.md,
8744 config/rs6000/6xx.md, config/rs6000/7450.md, config/rs6000/7xx.md,
8745 config/rs6000/8540.md, config/rs6000/aix.h, config/rs6000/aix31.h,
8746 config/rs6000/aix3newas.h, config/rs6000/aix41.h,
8747 config/rs6000/aix43.h, config/rs6000/aix51.h,
8748 config/rs6000/aix52.h, config/rs6000/altivec-defs.h,
8749 config/rs6000/altivec.h, config/rs6000/altivec.md,
8750 config/rs6000/beos.h, config/rs6000/darwin.h,
8751 config/rs6000/eabi.h, config/rs6000/eabialtivec.h,
8752 config/rs6000/eabisim.h, config/rs6000/eabispe.h,
8753 config/rs6000/freebsd.h, config/rs6000/gnu.h,
8754 config/rs6000/host-darwin.c, config/rs6000/linux.h,
8755 config/rs6000/linux64.h, config/rs6000/linuxaltivec.h,
8756 config/rs6000/lynx.h, config/rs6000/mach.h, config/rs6000/mpc.md,
8757 config/rs6000/netbsd.h, config/rs6000/power4.md,
8758 config/rs6000/rios1.md, config/rs6000/rios2.md,
8759 config/rs6000/rs6000-c.c, config/rs6000/rs6000-modes.def,
8760 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
8761 config/rs6000/rs6000.h, config/rs6000/rs6000.md,
8762 config/rs6000/rs64.md, config/rs6000/rtems.h, config/rs6000/spe.h,
8763 config/rs6000/spe.md, config/rs6000/sysv4.h,
8764 config/rs6000/sysv4le.h, config/rs6000/vxworks.h,
0b78a9b6 8765 config/rs6000/windiss.h, config/rs6000/xcoff.h: Likewise.
5de601cf 8766
50d440bc
NC
87672003-04-13 Nick Clifton <nickc@redhat.com>
8768
8769 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete
8770 support for -mcall-aix switch.
8771 * config/rs6000/eabiaix.h: Delete.
8772 * config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
8773 (RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG,
8774 RETURN_ADDRESS_OFFSET): Remove use of ABI_AIX_NODESC.
8775 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
8776 * config/rs6000/rs6000.c (print_operand, rs6000_stack_info,
8777 debug_stack_info, output_function_profiler,
8778 rs6000_trampoline_size, rs6000_initialise_trampoline): Likewise.
8779 * config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
8780 call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
8781 call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv,
8782 sibcall_nonlocal_sysv, sibcall_value_local64): Likewise.
8783 * config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix
8784 multilibs.
8785 (MULTILIB_DIRNAMES): Remove mcall-aix directories.
8786 (MULTILIB_EXCEPTIONS): Delete.
8787 (MULTILIB_MATCHES): Remove mcall-aix matches.
8788
8789 * doc/fragments.texi: Replace -mcall-aix example with an ARM
8790 one.
8791 * doc/install.texi: Delete powerpc-*-eabiaix target.
8792 * doc/invoke.texi: Remove documentation of mcall-aix switch.
8793 * doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
8794 * config.gcc: Delete powerpc-*-eabiaix target.
8795
62b9c42c
KH
87962003-04-13 Kazu Hirata <kazu@cs.umass.edu>
8797
8798 * doc/invoke.texi: Fix typos.
8799 * doc/tm.texi: Likewise.
8800
6d0c8bb1
ZW
88012003-04-12 Zack Weinberg <zack@codesourcery.com>
8802
8803 * c-typeck.c (digest_init, push_init_level): Use CONSTRUCTOR_ELTS.
8804
dcf92453
ZW
88052003-04-12 Zack Weinberg <zack@codesourcery.com>
8806
8807 * tree.c (build_constructor): New function.
8808 * tree.h: Prototype it.
8809
8810 * c-typeck.c (build_c_cast, pop_init_level)
8811 * profile.c (build_function_info_value, build_gcov_info_value)
8812 (create_profiler):
8813 Use build_constructor.
8814
8815 * builtins.c (expand_builtin_args_info): Remove #if 0 blocks.
8816
8817 * objc/objc-act.c (build_constructor):
8818 Rename objc_build_constructor. Use build_constructor.
8819 (build_objc_string_object, objc_add_static_instance)
8820 (init_def_list, init_objc_symtab, init_module_descriptor)
8821 (generate_static_references, build_selector_translation_table)
8822 (build_descriptor_table_initializer, generate_descriptor_table)
8823 (build_protocol_initializer, build_ivar_list_initializer)
8824 (generate_ivars_list, build_dispatch_table_initializer)
8825 (generate_dispatch_table, generate_protocol_list)
8826 (build_category_initializer, build_shared_structure_initializer):
8827 Update to match.
8828
c85b28e8
ZW
88292003-04-12 Zack Weinberg <zack@codesourcery.com>
8830
8831 * intl.h: #define gcc_gettext_width to strlen when !ENABLE_NLS.
8832
cebcfdc8
SC
88332003-04-12 Stephane Carrez <stcarrez@nerim.fr>
8834
dcf92453 8835 * config/m68hc11/m68hc11-protos.h
cebcfdc8
SC
8836 (m68hc11_eq_compare_operator): Declare
8837 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
8838 * config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
8839 (d_register_operand): Check the operand mode.
8840 (hard_addr_reg_operand): Likewise.
8841
0ae32ec0
SC
88422003-04-12 Stephane Carrez <stcarrez@nerim.fr>
8843
8844 * config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New
8845 pattern for dbcc/ibcc generation for 68HC12.
8846 ("doloop_end"): New pattern.
8847 ("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
8848 ("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
8849 ("m68hc12_dbcc_dec_qi"): New pattern.
8850 ("m68hc12_dbcc_inc_qi"): New pattern.
8851 (split): Add split for the above when we can't use dbcc/ibcc due to
8852 reloading.
8853 (peephole2): Add peephole2 to generate the above when possible.
8854
a67bac5f
SC
88552003-04-12 Stephane Carrez <stcarrez@nerim.fr>
8856
8857 * config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the
8858 mode of operand 0.
8859 (peephole2 optimize const load): Likewise for operand 2.
8860 ("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
8861 clobbers CC_REGNUM.
8862 ("*rotrhi3_with_carry"): Likewise.
8863 (ashift:DI 1 split): Update pattern to create the above rotate.
8864 (lshiftrt:DI 1 split): Likewise.
8865
09214424
SC
88662003-04-12 Stephane Carrez <stcarrez@nerim.fr>
8867
8868 * config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
8869 ("tstqi_z_used" split): Use it.
8870 ("cmphi_z_used"): Likewise.
8871 ("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
8872 ("cmpqi_z_used"): Likewise.
8873
355b81d5
MM
88742003-04-12 Mark Mitchell <mark@codesourcery.com>
8875
8876 PR c++/7910
8877 * config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
8878
2bd02043
ZW
88792003-04-12 Zack Weinberg <zack@codesourcery.com>
8880
8881 * configure.in: Check for wchar.h, mbstowcs, and wcswidth.
8882 * configure, config.in: Regenerate.
8883 * intl.c (gcc_gettext_width): New function.
8884 * intl.h: Prototype it.
8885
96cd9069
SC
88862003-04-12 Stephane Carrez <stcarrez@nerim.fr>
8887
8888 * config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
8889 recognize -mnorelax.
8890 (reg_class): Add Z_OR_S_REGS to represent soft registers with Z
8891 (REG_CLASS_NAMES): Add its name.
8892 (REG_CLASS_CONTENTS): Define its content.
8893
c364c3a6
SC
88942003-04-12 Stephane Carrez <stcarrez@nerim.fr>
8895
8896 * config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
8897 parameters so that offsets are valid for far definition.
8898 (__mulsi3): Likewise and use ret to return.
8899 (___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
8900
09501938
DE
89012003-04-12 David Edelsohn <edelsohn@gnu.org>
8902
8903 * config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields.
8904
ff3d4e83
AO
89052003-04-12 Alexandre Oliva <aoliva@redhat.com>
8906
17a15c67
AO
8907 * mklibgcc.in (libgcc-stage-start): For every multilib directory
8908 containing a libgcc.a, move lib* to the corresponding stage dir.
8909
ff3d4e83
AO
8910 * Makefile.in (stage1-start, stage2-start, stage3-start,
8911 stage4-start): Move $(SPECS) to specs in stage dir.
8912 (unstage1 unstage2 unstage3 unstage4): Move specs in stage dir
8913 back as $(SPECS).
8914
9e6ccb98
AO
8915 * mklibgcc.in (libgcc-stage-start): Move into the stage directory
8916 object files from the non-libgcc/ multilib directories as well.
8917
ba05abd3
GK
89182003-04-11 Geoffrey Keating <geoffk@apple.com>
8919
0aaafe73
GK
8920 * profile.c (read_counts_file): Initialise 'checksum'.
8921
d5b9108c
GK
8922 * emit-rtl.c (gen_rtx): Really correct typo.
8923
a37db56b
GK
8924 PR c++/9393
8925 * doc/invoke.texi (Debugging Options): Document -frandom-seed.
8926 * configure.in: Check for gettimeofday.
8927 * tree.c (flag_random_seed): Define.
8928 (default_flag_random_seed): New.
8929 (append_random_chars): Use flag_random_seed rather than trying
8930 to acquire randomness here.
8931 * tree.h (default_flag_random_seed): Declare.
8932 * toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
8933 descriptions.
8934 (decode_f_option): Handle -frandom-seed.
8935 (print_switch_values): Call default_flag_random_seed.
8936 * flags.h (flag_random_seed): Declare.
8937 * configure: Regenerate.
8938 * config.in: Regenerate.
8939 * config/alpha/t-crtfm: Use -frandom-seed.
2bd02043 8940
ba05abd3
GK
8941 * doc/extend.texi (Empty Structures): New.
8942
df026186
GK
8943 * c-pch.c: Include flags.h. Add comments to routines.
8944 (struct c_pch_validity): New.
8945 (get_ident): Update PCH file version number.
8946 (pch_init): Output current debugging type.
8947 (c_common_valid_pch): Check debugging type.
8948 * Makefile.in (c-pch.o): Update dependencies.
8949 * flags.h (debug_type_names): Declare.
8950 * toplev.c (debug_type_names): Move out of decode_g_option.
8951
15c812e3
EC
89522003-04-11 Eric Christopher <echristo@redhat.com>
8953
8954 * emit-rtl.c (gen_rtx): Fix typos.
8955
a73071bc
RH
89562003-04-11 Richard Henderson <rth@redhat.com>
8957
8958 * emit-rtl.c (gen_rtx): Zero '0' fields.
8959
ca06cfe6
RH
89602003-04-11 Richard Henderson <rth@redhat.com>
8961
8962 PR c++/10202
8963 * expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
8964 not COMPLETE_TYPE_P for re-invoking layout_decl.
8965
d2d42a91
SL
89662003-04-11 Simon Law <sfllaw@engmail.uwaterloo.ca>
8967
8968 * doc/bugreport.texi: Fix paragraph breaking between sections
8969 in preparation for TeXinfo's paragraph indentation fixes.
8970 * doc/extend.texi: Ditto.
8971 * doc/invoke.texi: Ditto.
8972 * doc/objc.texi: Ditto.
8973 * doc/gcov.texi: Wrap 'gcov' in @command{}.
8974 * doc/invoke.texi (Darwin Options): Add a preamble.
8975
2ae5ae57
RH
89762003-04-11 Richard Henderson <rth@redhat.com>
8977
8978 * config/i386/i386.c (tls_model_chars): Remove.
8979 (ix86_encode_section_info, ix86_strip_name_encoding): Remove.
8980 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
8981 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
8982 (tls_symbolic_operand_1): Likewise.
8983 (legitimate_pic_address_disp_p): Use SYMBOL_REF_LOCAL_P.
8984 * config/i386/i386.h (TARGET_ENCODE_SECTION_INFO): Remove.
8985 (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
8986 * config/i386/winnt.c (i386_pe_encode_section_info): Replace
8987 bits "copied from i386.h" with default_encode_section_info.
8988
52859c77
RH
89892003-04-11 Richard Henderson <rth@redhat.com>
8990
8991 * rtl.def (SYMBOL_REF): Add two 0 fields.
8992 * gengtype.c (adjust_field_rtx_def): Handle them.
8993 * print-rtl.c (print_rtx): Print them.
8994 * rtl.h (SYMBOL_REF_DECL, SYMBOL_REF_FLAGS): New.
8995 (SYMBOL_FLAG_FUNCTION, SYMBOL_REF_FUNCTION_P): New.
8996 (SYMBOL_FLAG_LOCAL, SYMBOL_REF_LOCAL_P): New.
8997 (SYMBOL_FLAG_SMALL, SYMBOL_REF_SMALL_P): New.
8998 (SYMBOL_FLAG_TLS_SHIFT, SYMBOL_REF_TLS_MODEL): New.
8999 (SYMBOL_FLAG_EXTERNAL, SYMBOL_REF_EXTERNAL_P): New.
9000 (SYMBOL_FLAG_MACH_DEP): New.
9001 * optabs.c (init_one_libfunc): Zap fake SYMBOL_REF_DECL.
9002 * varasm.c (make_decl_rtl): Set SYMBOL_REF_DECL.
9003 (assemble_static_space): Set SYMBOL_REF_FLAGS.
9004 (assemble_trampoline_template): Likewise.
9005 (output_constant_def, force_const_mem): Likewise.
9006 (default_encode_section_info): New.
9007 * output.h: Declare it.
9008 * target-def.h (TARGET_ENCODE_SECTION_INFO): Use it.
9009
68d28100
RH
90102003-04-11 Richard Henderson <rth@redhat.com>
9011
9012 * libfuncs.h (LTI_setbits, LTI_gcov_flush, LTI_gcov_init): New.
9013 (setbits_libfunc, gcov_flush_libfunc, gcov_init_libfunc): New.
9014 * optabs.c (init_optabs): Initialize them.
9015 (init_libfuncs): Use init_one_libfunc.
9016 * calls.c (expand_call): Use gcov_flush_libfunc.
9017 * expr.c (store_constructor): Use setbits_libfunc.
9018 * function.c (expand_main_function): Use init_one_libfunc.
9019 * profile.c (create_profiler): Use gcov_init_libfunc and DECL_RTL.
9020
11fe27a5
MM
90212003-04-11 Mark Mitchell <mark@codesourcery.com>
9022
9023 * doc/c-tree.texi (Functions): Remove DECL_REAL_CONTEXT
9024 documentation; add DECL_FRIEND_CONTEXT.
9025
f401d0f5
JDA
90262003-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9027
9028 * doc/install.texi (hppa): Update links for HP-UX patches. Revise
9029 notes on linker selection and configuration for 64-bit HP-UX port.
9030 * doc/invoke.texi (hppa): Remove hppa text from description for
9031 -ffunction-sections and -fdata-sections. Document -static, -nolibdld
9032 and -threads options.
9033
9034 * pa-hpux10.h (LIB_SPEC): Add link options to resolve dependency of
9035 libc.a on libdld.sl when -static is specified and -nolibdld is not
9036 specified.
9037 * pa64-hpux.h (LIB_SPEC): Likewise.
9038 * pa-hpux11.h (LIB_SPEC): Likewise.
9039 (LINK_SPEC): Add __gcc_plt_call as an undefined symbol when -shared
9040 is not specified.
9041
43451169
ZW
90422003-04-11 Zack Weinberg <zack@codesourcery.com>
9043
9044 * config/darwin-c.c (darwin_pragma_unused): Use lookup_name,
9045 not IDENTIFIER_LOCAL_VALUE.
9046
a46666a9
RH
90472003-04-11 Richard Henderson <rth@redhat.com>
9048
9049 PR c/10201
9050 * expr.c (expand_expr): Move DECL_RTL frobbing ...
9051 * stor-layout.c (layout_decl): ... here.
9052
6d2f9dd3
JM
90532003-04-11 James A. Morrison <ja2morri@uwaterloo.ca>
9054
9055 * doc/invoke.texi: Eliminate extra white-space caused by
9056 @gccoptlist{ on its own line.
9057 * doc/invoke.texi: Ensured there are two spaces between each option.
9058 * doc/invoke.texi: Re-wrapped option lines that were too wide.
9059 Added @gol to options that didn't have them.
9060
94de45d9
NS
90612003-04-11 Nathan Sidwell <nathan@codesourcery.com>
9062
9063 * Makefile.in (loop-init.o): Do not depend on gcov-io.h,
9064 gcov-iov.h.
9065
9066 Simplify interface to gcov reading and writing.
9067 * gcov-io.h (gcov_file, gcov_position, gcov_length, gcov_buffer,
9068 gcov_alloc, gcov_modified, gcov_errored): Move into ...
9069 (struct gcov_var gcov_var): ... this static structure.
9070 (gcov_write_unsigned, gcov_write_counter, gcov_write_string):
9071 Return void.
9072 (gcov_read_unsigned, gcov_read_couter, gcov_read_string): Return
9073 read object.
9074 (gcov_read_bytes, gcov_write_bytes): Set error flag on error.
9075 (gcov_reserve_length): Remove.
9076 (gcov_write_tag): New.
9077 (gcov_write_length): Adjust.
9078 (gcov_read_summary, gcov_write_summary): Adjust.
9079 (gcov_eof, gcov_ok): Rename to ...
9080 (gcov_is_eof, gcov_is_error): ... here. Return error code.
9081 (gcov_save_position, gcov_resync): Rename to ...
9082 (gcov_position, gcov_seek): ... here.
9083 (gcov_skip, gcov_skip_string): Remove.
9084 (gcov_error): Remove.
9085 (gcov_open, gcov_close): Adjust.
9086 * gcov.c (find_source): Take const char *, copy it on allocation.
9087 (read_graph_file): Adjust.
9088 (read_count_file): Adjust.
9089 * libgcov.c (gcov_exit): Adjust.
9090 * gcov-dump.c (tag_function, tag_blocks, tag_arcs, tag_lines,
9091 tag_arc_counts, tag_summary): Return void. Adjust.
9092 (struct tag_format): Adjust proc member.
9093 (dump_file): Adjust gcov calls.
9094
7a615b25
AO
90952003-04-11 Alexandre Oliva <aoliva@redhat.com>
9096
9097 * Makefile.in (fixinc.sh): Pass BUILD_LIBERTY as LIBERTY to
9098 mkfixinc.sh.
9099 * fixinc/mkfixinc.sh (defs): Add LIBERTY.
9100 * configure.in (STMP_FIXINC, STMP_FIXPROTO): Don't disable on
9101 build != host sysrooted builds.
9102 * configure.in (SYSTEM_HEADER_DIR): Make sure it contains
9103 TARGET_SYSTEM_ROOT even on sysrooted natives.
9104 * configure: Rebuilt.
9105
339a28b9
ZW
91062003-04-10 Zack Weinberg <zack@codesourcery.com>
9107
9108 * c-decl.c (struct binding_level): Add shadowed_tags and
9109 function_body; remove this_block, tag_transparent, and
9110 subblocks_tag_transparent; update comments.
9111 (clear_binding_level, lookup_tag_reverse): Kill.
9112 (make_binding_level): Use ggc_alloc_cleared or memset.
9113 (lookup_tag): Remove struct binding_level* parameter. All
9114 callers changed. Just look at IDENTIFIER_TAG_VALUE, and
9115 current_binding_level->tags if asked for thislevel_only or if
9116 we might have to diagnose "struct foo; union foo;"
9117 (pushlevel): Ignore argument. Do not push another binding
9118 level on the transition from the parameters to the top level
9119 of the function body; just tweak the flags and proceed.
9120 (poplevel): Overhaul. Clear IDENTIFIER_TAG_VALUEs; on exiting
9121 a function body, separate the parameter list from the
9122 top-level local variables.
9123 (set_block): Do nothing.
9124 (pushtag): Set IDENTIFIER_TAG_VALUE and add an entry to
9125 shadowed_tags if necessary.
9126 (warn_if_shadowing): Nuke the special case for local shadowing
9127 parameter.
9128 (pushdecl): Do not create a shadow entry if we are replacing
9129 an older decl in the same binding level.
9130 (pushdecl_function_level): Tweak for new way of indicating
9131 function scope.
9132 (shadow_tag_warned): Use TYPE_NAME, not lookup_tag_reverse.
9133 (start_function): Don't set subblocks_tag_transparent.
9134 (finish_function): Fix up the binding_level stack for totally
9135 empty functions. Otherwise, don't call poplevel.
9136
9137 * c-common.c (shadow_warning): MANDATORY argument is no longer
9138 necessary. Always use plain warning.
9139 * c-common.h: Update to match.
9140
9141 * cfglayout.c (scope_to_insns_initialize): Clear block when we
9142 hit the FUNCTION_DECL.
9143 * function.c: Do not create cyclic tree structure.
9144
91452003-04-10 Zack Weinberg <zack@codesourcery.com>
9146
9147 * c-tree.h (struct lang_identifier): Replace global_value,
9148 local_value members with symbol_value, tag_value. Kill
9149 implicit_decl and limbo_value.
9150 (IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_LOCAL_VALUE,
9151 IDENTIFIER_LIMBO_VALUE, IDENTIFIER_IMPLICIT_DECL,
9152 C_MISSING_PROTOTYPE_WARNED): Kill.
9153 (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE,
9154 C_DECL_IMPLICIT, C_DECL_ISNT_PROTOTYPE): New.
9155 (C_DECL_ANTICIPATED): Rename to C_DECL_INVISIBLE.
9156 (implicit_decl_warning, lookup_name_current_level,
9157 record_function_scope_shadow): Don't prototype.
9158 (pushdecl_function_level): Prototype.
9159
9160 * c-decl.c (truly_local_externals): New variable.
9161 (struct binding_level): Adjust commentary.
9162 (get_function_binding_level, clear_limbo_values,
9163 record_function_scope_shadow): Kill.
9164 (lookup_name_current_level, implicit_decl_warning): Are now static.
9165 (any_external_decl, record_external_decl): New static functions.
9166 (clone_underlying type): Split out of pushdecl.
9167 (c_print_identifier): Update to match changes to struct
9168 lang_identifier.
9169 (poplevel): Delete #if 0 block. Make externals invisible
9170 instead of clearing their IDENTIFIER_SYMBOL_VALUEs. Don't
9171 call clear_limbo_values. Refer to IDENTIFIER_SYMBOL_VALUE not
9172 IDENTIFIER_GLOBAL_VALUE or IDENTIFIER_LOCAL_VALUE.
9173 (duplicate-decls): For real parm decl after a forward decl,
9174 set TREE_ASM_WRITTEN here. Allow void foo(...) followed by
9175 foo(...) { } with only a warning. Say whether a previous
9176 declaration was implicit.
9177 (warn_if_shadowing): Now handles all shadowing, not just
9178 local-over-local. Clarify comments.
9179 (pushdecl): Rewritten. There is no longer a distinction
9180 between global and local symbol values; they're all
9181 IDENTIFIER_SYMBOL_VALUE. Call record_external_decl on all
9182 DECL_EXTERNAL decls, and use any_external_decl to check
9183 against previous externals. Kill #if 0 blocks. Don't
9184 tolerate error_mark_node being NULL.
9185 (pushdecl_top_level): Handle only those cases which
9186 Objective C (the only user) needs.
9187 (pushdecl_function_level): New function.
9188 (implicitly_declare): Create ordinary decls with
9189 C_DECL_IMPLICIT set. Recycle old decls, however they got
9190 created.
9191 (lookup_name): It's always IDENTIFIER_SYMBOL_VALUE. Return 0
9192 for C_DECL_INVISIBLE symbols.
9193 (lookup_name_current_level): Likewise. Use chain_member.
9194 (c_make_fname_decl): Don't muck with DECL_CONTEXT.
9195 Use pushdecl_function_level.
9196 (builtin_function): Use C_DECL_INVISIBLE.
9197 (start_function): Don't muck with IDENTIFIER_IMPLICIT_DECL.
9198 Use C_DECL_ISNT_PROTOTYPE and C_DECL_IMPLICIT.
9199 (store_parm_decls): It's IDENTIFIER_SYMBOL_VALUE now.
9200 (identifier_global_value): Same. Must scan
9201 global_binding_level in extremis.
9202
9203 * c-typeck.c (undeclared_variable): New static function, split
9204 from build_external_ref.
9205 (build_external_ref): Use DECL_CONTEXT, not
9206 IDENTIFIER_LOCAL_VALUE, to decide whether a local hides
9207 an instance variable. Restructure for clarity.
9208 * objc/objc-act.c: Use identifier_global_value, not
9209 IDENTIFIER_GLOBAL_VALUE.
9210
6d9c4c83
JW
92112003-04-08 Jonathan Wakely <redi@gcc.gnu.org>
9212
9213 * doc/extend.texi (Template Instantiation): Refer to ISO standard,
9214 not Working Paper.
9215 * doc/invoke.texi (C++ Dialect Options): Same.
9216
06790e5f
ZW
92172003-04-10 Zack Weinberg <zack@codesourcery.com>
9218
9219 * tree.c (tree_operand_check_failed): New function.
9220 * tree.h (TREE_OPERAND_CHECK, TREE_OPERAND_CHECK_CODE,
9221 TREE_RTL_OPERAND_CHECK): New checking macros.
9222 (TREE_OPERAND, SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL,
9223 RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, WITH_CLEANUP_EXPR_RTL,
9224 CONSTRUCTOR_ELTS, LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
9225 EXIT_BLOCK_RETURN, LOOP_EXPR_BODY, EXPR_WFL_NODE,
9226 EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, TARGET_EXPR_SLOT,
9227 TARGET_EXPR_INITIAL, TARGET_EXPR_CLEANUP): Use the new
9228 checking macros.
9229
f90e4dea
JH
9230Thu Apr 10 23:52:30 CEST 2003 Jan Hubicka <jh@suse.cz>
9231
9232 PR inline-asm/8803
9233 * function.c (instantate_virtual_regs): Verify that all ASM statements
9234 match after the virutal regs instantiation.
9235
08744705
SE
92362003-04-10 Steve Ellcey <sje@cup.hp.com>
9237
9238 * ia64-protos.h (addp4_optimize_ok): New.
9239 * ia64.c (addp4_optimize_ok): New.
9240 * ia64.md (*ptr_extend_plus_1): Use addp4_optimize_ok.
9241 (*ptr_extend_plus_2): Ditto.
9242
267b28bd
SE
92432003-04-10 Steve Ellcey <sje@cup.hp.com>
9244
9245 * expr.c (expand_assignment): Extend offset_rtx with convert_to_mode
9246 not with convert_memory_address.
9247 (store_constructor): Ditto, and same for copy_size_rtx.
9248 (expand_expr): Ditto.
9249
021bad8e
DR
92502003-04-10 Douglas B Rupp <rupp@gnat.com>
9251
9252 * config/i386/i386.c (ix86_ms_bitfield_layout_p): Fix formatting.
9253
1839841c
BW
92542003-04-10 Bob Wilson <bob.wilson@acm.org>
9255
9256 * config/xtensa/lib2funcs.S (__xtensa_sync_caches): Flush data cache
9257 even if it is configured to be write-through.
9258
e23795ea
UW
92592003-04-10 Ulrich Weigand <uweigand@de.ibm.com>
9260
9261 * config/s390/s390.c (larl_operand): Do not allow symbols
9262 marked with '@'.
9263 (s390_encode_section_info): Mark symbols with forced 1-byte
9264 alignment with '@'.
9265 (s390_strip_name_encoding): Strip '@'.
9266 (legitimize_pic_address): Handle symbols that are not valid
9267 LARL operands in 64-bit mode.
9268
0bb7378d
AH
92692003-04-10 Andrew Haley <aph@redhat.com>
9270
9271 * tree-inline.c (inlinable_function_p): Disable inlining for
9272 synchronized methods.
9273
009ed910
SB
92742003-04-09 Steven Bosscher <steven@gcc.gnu.org>
9275
9276 * c-common.h (lang_statement_code_p): Remove declaration.
9277 (statement_code_p): Ditto.
9278 (c_common_stmt_codes): Define; list of c-common statement codes.
9279 (statement_code_p): New extern declaration.
9280 (STATEMENT_CODE_P): Define.
9281 (INIT_STATEMENT_CODES): Define.
9282 * c-common.c (statement_code_p): Kill the function, declare
9283 as an array of bools instead.
9284 (lang_statement_code_p): Remove.
9285 (walk_stmt_tree): Use STATEMENT_CODE_P not statement_code_p.
9286 (c_safe_from_p): Ditto.
9287 * c-objc-common.c (c_objc_common_init): Use INIT_STATEMENT_CODES
9288 to initialize the statement_code_p array.
9289 * tree-inline.c (walk_tree): Use STATEMENT_CODE_P instead of
9290 statement_code_p.
9291 (copy_tree_r): Ditto.
9292 * cp/cp-tree.h (cp_stmt_codes): Define; list of C++ specific
9293 statement tree codes.
9294 * cp/lex.c (cxx_init): Add missing print line break. Use
9295 INIT_STATEMENT_CODES to initialize the statement_code_p array.
9296 * cp/parser.c (cp_parser_statement): Use STATEMENT_CODE_P
9297 instead of statement_code_p.
9298 * cp/pt.c (tsubst_expr): Ditto.
9299 * cp/tree.c (verify_stmt_tree_r): Ditto.
9300 (cp_statement_code_p): Remove.
9301 (init_tree): Don't set lang_statement_code_p, it's gone.
9302
496324d0
DN
93032003-04-09 Dan Nicolaescu <dann@ics.uci.edu>
9304 Zack Weinberg <zack@codesourcery.com>
9305
9306 * regrename.c (struct du_chain): Use a bitfield for reg_class.
9307 * cse.c (struct qty_table_elem, struct table_elt, struct set):
9308 Use bitfields for fields holding enum rtx_code or
9309 enum machine_mode values. Add comments explaining size choices.
9310
9c951124
AO
93112003-04-09 Alexandre Oliva <aoliva@redhat.com>
9312
9313 * config/fp-bit.c (unpack_d): Handle pair of doubles with
9314 different signs correctly.
9315
d1c9693e
VM
93162003-04-09 Vladimir Makarov <vmakarov@redhat.com>
9317
9318 * sched-deps.c (reg_pending_barrier_mode): New enumeration.
9319 (reg_pending_barrier): Make it of the enumeration type.
9320 (sched_analyze_2): Define the barrier as MOVE_BARRIER or
9321 TRUE_BARRIER.
9322 (sched_analyze): Ditto.
9323 (sched_analyze_insn): Ditto. Use anti-dependencies for
9324 MOVE_BARRIER and true-dependencies as TRUE_BARRIER.
9325 (init_deps_global): Initialize the barrier as NO_BARRIER.
06790e5f 9326
f32360c7
VM
93272003-04-09 Vladimir Makarov <vmakarov@redhat.com>
9328
9329 * config/ia64/ia64.c (issue_nops_and_insn): Add new parameter.
9330 Check that asm insn starts on a new cycle. Add nops after asm
9331 insn to end bundle.
9332 (bundling): Move insn type evaluation from the loop. Call
9333 issue_nops_and_insn with the new parameter. Ignore changing
9334 position for nops after asm insn.
9335
0913e4b4
AO
93362003-04-09 Alexandre Oliva <aoliva@redhat.com>
9337
9338 * optabs.c: Comment that gen_add2_insn and others may actually
9339 return emitted insns, if the gen functions turn out to return
9340 emitted insns.
9341 * reload1.c (reload_cse_move2add): Cope with emitted insns from
9342 gen_add2_insn.
9343
21515593
RH
93442003-04-09 Richard Henderson <rth@redhat.com>
9345
9346 * config/ia64/ia64.c (move_operand): Allow symbolic_operand,
9347 but not tls_symbolic_operand.
9348 (ia64_expand_load_address): Remove scratch operand.
9349 (ia64_expand_tls_address): Split out from ia64_expand_move.
9350 (ia64_expand_move): Split symbolics only after reload.
9351 (ia64_emit_cond_move): New.
9352 * config/ia64/ia64-protos.h: Update.
9353 * config/ia64/ia64.md (movsi_symbolic, movdi_symbolic): Remove.
9354 (symbolic splitter): Accept SImode operands too.
9355 (cmove splitter): Use ia64_emit_cond_move.
9356
66d6bf1f
NC
93572003-04-09 Nick Clifton <nickc@redhat.com>
9358
9359 * doc/install.texi: Note that ARM toolchains need binutils 2.13 or
9360 newer.
9361 * config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa
9362 instead of -mno-fpu.
9363 * config/arm/semi.h (ASM_SPEC): Likewise.
9364 * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise,
9365 but only if -msoft-float is specified pass. Otherwise pass
9366 -mfpu=softvfp.
06790e5f 9367
22659ac9
ZD
93682003-04-09 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9369
9370 * function.c (purge_addressof): Use free_INSN_LIST_node instead of
9371 free_EXPR_LIST_node.
9372
5fce2c65
RS
93732003-04-08 Roger Sayle <roger@eyesopen.com>
9374
9375 * fold-const.c (fold): Use "fold" following build in more places.
9376 Optimize sqrt(x)*sqrt(x) as x, pow(x,y)*pow(z,y) as pow(x*z,y),
9377 pow(x,y)*pow(x,z) as pow(x,y+z) and x/pow(y,z) as x*pow(y,-z).
9378
531878a6
RS
93792003-04-08 Roger Sayle <roger@eyesopen.com>
9380
9381 * builtins.c (fold_builtin): Constant fold expressions as x*0.5
9382 instead of x/2.0. Optimize sqrt(pow(x,y)) as pow(x,y*0.5),
9383 log(pow(x,y)) as y*log(x), pow(exp(x),y) as exp(x*y),
9384 pow(sqrt(x),y) as pow(x,y*0.5) and pow(pow(x,y),z) as pow(x,y*z).
9385 Delete function scope "fcode" variable to avoid shadowing.
9386
c583e7c3
KB
93872003-04-08 Kevin Buettner <kevinb@redhat.com>
9388
9389 * dwarf2out.c (DWARF_ARANGES_HEADER_SIZE, DWARF_ARANGES_PAD_SIZE):
9390 Take into account DWARF_INITIAL_LENGTH_SIZE.
9391
5a82c0b1
HPN
93922003-04-08 Hans-Peter Nilsson <hp@axis.com>
9393
9394 * reorg.c (fill_slots_from_thread): When considering changing the
9395 insn following a reg-to-reg copy insn to use the source reg of the
9396 copy, bail out if there's overlap between the registers.
9397
8a5275eb
ZD
93982003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9399
9400 * function.c (postponed_insns): New.
9401 (purge_addressof_1): Postpone processing of insns if addressofs
9402 are not put into stack.
06790e5f 9403 (purge_addressof): Process postponed insns.
8a5275eb 9404
ac55736a
R
94052003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
9406
9407 * sh.h (NORMAL_MODE): If interrupt handler and TARGET_FMOVD,
9408 this is FP_MODE_DOUBLE .
9409 * sh.c (ra.h): #include.
9410 (push_regs): Add second parameter. Changed all callers.
9411 If necessary, set fpscr before saving floating point registers.
9412 (calc_live_regs): If interrupt handler and TARGET_FMOVD, always
9413 do saves / restores with SZ == 1.
9414 (sh_expand_prologue): If interrupt handler, don't use gen_toggle_sz.
9415 (sh_expand_epilogue): Likewise. For TARGET_FMOVD, if floating point
9416 registers are being restored, restore FPSCR only after restoring them.
9417
3fdaa45a
AH
94182003-04-08 Aldy Hernandez <aldyh@redhat.com>
9419
496324d0
DN
9420 * config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types
9421 regardless of architecture.
9422 (spe_init_builtins): Change V2SI and V2SF types to opaque types.
3fdaa45a 9423
490dbac7
R
94242003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
9425
9426 * sh.c (push_regs, calc_live_regs): Return int. Take single
9427 HARD_REG_SET * parameter. Changed all callers.
9428
799b33a0
JH
9429Tue Apr 8 11:12:07 CEST 2003 Jan Hubicka <jh@suse.cz>
9430
9431 * i386.c (legitimate_pic_address_disp_p): Do not accept PLUS in the
9432 GOTOFF operand.
9433 (legitimize_pic_address): Move plus outside the unspec.
9434 * i386.c (legitimate_constant_p): Check (CONST (PLUS (UNSPEC ...
9435 for validity.
9436
3e71e002
NS
94372003-04-08 Nathan Sidwell <nathan@codesourcery.com>
9438
9439 * gcov-io.h (gcov_save_position): Remove __inline__ from
9440 declaration.
9441
7ba4ca63
MK
94422003-04-07 Matt Kraai <kraai@alumni.cmu.edu>
9443
9444 * doc/install.texi: Use @command and @samp for single- and
9445 multi-word commands respectively.
9446 * doc/makefile.texi: Likewise.
9447 * doc/sourcebuild.texi: Likewise.
9448
f8d4be57 94492003-04-07 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
496324d0 9450 Richard Henderson <rth@redhat.com>
f8d4be57 9451
496324d0
DN
9452 PR c/9516
9453 * expr.c (safe_from_p): Rearrange to avoid deep recursion in
6356f892 9454 favor of looping and tail recursion for TREE_LIST and binops.
f8d4be57 9455
760e8e42
ZD
94562003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9457
9458 * loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Provide defaults
9459 for insns without luid.
9460
b0a3412c
GN
94612003-04-07 Glen Nakamura <glen@imodulo.com>
9462
9463 PR opt/8634
9464 * explow.c (maybe_set_unchanging): Don't flag non-static const
9465 aggregate type initializers with RTX_UNCHANGING_P.
9466
c5a1e3d6
RH
94672003-04-07 Richard Henderson <rth@redhat.com>
9468
496324d0
DN
9469 PR opt/8634
9470 * function.c (purge_addressof_1): Don't try arithmetics for
9471 unchanging memories.
c5a1e3d6 9472
138d4703
JJ
94732003-04-07 Janis Johnson <janis187@us.ibm.com>
9474
9475 * doc/sourcebuild.texi (Test Suites): Document testing support for
9476 gcov and profile-directed optimizations; describe gcc.misc-tests.
9477
1d5b4e0b
JH
9478Mon Apr 7 22:19:59 CEST 2003 Jan Hubicka <jh@suse.cz>
9479
9480 PR target/10077
9481 * i386.md (movsi_1, movsi_nointerunit_1): Fix SSEMOV alternative.
9482
60ba917e
EB
94832003-04-07 Eric Botcazou <ebotcazou@libertysurf.fr>
9484
9485 * doc/rtl.texi (Comparison operations): Update to
9486 record the allowed comparison modes.
9487
2abe3e28
AH
94882003-04-07 Aldy Hernandez <aldyh@redhat.com>
9489
496324d0
DN
9490 * config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
9491 V2SI_type_node to opaque_V2SI_type_node. Rename all
9492 V2SF_type_node to opaque_V2SF_type_node.
9493 (rs6000_init_builtins): Define opaque_V2SI_type_node and
9494 opaque_V2SF_type_node.
9495 (is_ev64_opaque_type): The types opaque_V2SI_type_node and
9496 opaque_V2SF_type_node are opaque types.
2abe3e28 9497
9a318d30
R
94982003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
9499
9500 * gcse.c (replace_store_insn): Use single_set.
9501
546d2adb
NS
95022003-04-07 Nathan Sidwell <nathan@codesourcery.com>
9503
9504 Change gcov file interface to single file at a time.
9505 * gcov-io.h: Replace IN_LIBGCC1 with IN_LIBGCOV. Use IN_GCOV.
9506 Convert to C89 prototypes.
9507 (gcov_file, gcov_length, gcov_position, gcov_buffer, gcov_alloc,
9508 gcov_error, gcov_modified): New static variables.
9509 (gcov_open, gcov_close, gcov_read_bytes, gcov_write_bytes): New
9510 functions.
9511 (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
9512 gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
9513 (gcov_read_summary, gcov_write_summary): Adjust.
9514 (gcov_save_position, gcov_reserve_length, gcov_write_length):
9515 Adjust.
9516 (gcov_resync, gcov_skip, gcov_skip_string): Adjust.
9517 (da_file_open, da_file_close, da_file_eof, da_file_error): Remove.
9518 (da_file_position, da_file_seek, da_file_write, da_file_read):
9519 Remove.
9520 (gcov_error, gcov_eof, gcov_ok, gcov_time): New functions.
9521 * gcov.c (gcov_type): Don't typedef here.
9522 (IN_GCOV): #define
9523 (read_graph_file, read_count_file): Adjust.
9524 * gcov-dump.c (gcov_type): Don't typedef here.
9525 (IN_GCOV): #define.
9526 (tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts):
9527 Remove FILE parameter, adjust.
9528 (struct tag_format): Adjust proc member.
9529 (dump_file): Adjust.
9530 * libgcov.c (IN_LIBGCOV): #define.
9531 (gcov_exit): Adjust.
9532 * loop-init.c: Don't #include gcov-io.h
9533 * profile.c (struct counts_entry): New structure to hold counter
9534 values.
9535 (struct section_reference, struct da_index_entry): Remove.
9536 (bbg_file, da_file): Remove.
9537 (htab_counts_index_hash, htab_counts_index_eq,
9538 htab_counts_index_del): Replace with ...
9539 (htab_counts_entry_hash, htab_counts_entry_eq,
9540 htab_counts_entry_del): ... these.
9541 (cleanup_counts_index, index_counts_file): Remove.
9542 (read_counts_file): New function.
9543 (get_exec_counts): Adjust.
9544 (compute_branch_probabilities): Don't free the exec counts here.
9545 (branch_prob): Adjust.
9546 (init_branch_prob): Adjust.
9547 (end_branch_prob): Adjust.
9548
5da702b1
AH
95492003-04-07 Aldy Hernandez <aldyh@redhat.com>
9550
496324d0
DN
9551 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
9552 -mfloat-gprs.
5da702b1 9553
496324d0
DN
9554 * config/rs6000/rs6000.c: Delete rs6000_fprs.
9555 Declare rs6000_float_gprs.
9556 Declare rs6000_float_gprs_string.
9557 (rs6000_parse_float_gprs_option): New.
9558 (rs6000_override_options): Genericize rs6000_parse_* calls to use
9559 rs6000_parse_yes_no_option.
9560 Change check for cpu=8540, to use TARGET_E500.
9561 (rs6000_parse_isel_option): Delete.
9562 (rs6000_parse_spe_option): Delete.
9563 (rs6000_parse_vrsave_option): Delete.
5da702b1 9564
496324d0
DN
9565 * config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs.
9566 Define rs6000_float_gprs_string.
9567 (TARGET_OPTIONS): Add rs6000_float_gprs option.
5da702b1 9568
496324d0 9569 * config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs.
5da702b1 9570
496324d0 9571 * config/rs6000/eabispe.h: Set rs6000_float_gprs.
5da702b1 9572
cde1d5bf
JH
9573Mon Apr 7 14:36:24 CEST 2003 Jan Hubicka <jh@suse.cz>
9574
9575 PR opt/10024
9576 * cfglayout.c (cfg_layout_redirect_edge):
9577 Redirect any branch edges unified with the fallthru one.
9578 * cfgrtl.c (force_nonfallthru_and_redirect): Do not special
9579 case fallthru edges when called via cfglayout.c
9580
d5019ba3
R
95812003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
9582
9583 * c-typeck.c (output_init_element): Check for type == error_mark_node.
9584
093b05b6
KH
95852003-04-07 Kazu Hirata <kazu@cs.umass.edu>
9586
9587 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
9588 split.
9589 (a splitter): Do zero-extension via HImode.
9590
9a94f7f3
JM
95912003-04-07 James A. Morrison <ja2morri@uwaterloo.ca>
9592
9593 * doc/invoke.texi: Eliminate extra white-space caused by
9594 @gccoptlist{ on its own line.
9595 * doc/invoke.texi: Ensured there are two spaces between each option.
9596 * doc/invoke.texi: Re-wrapped option lines that were too wide.
9597 Added @gol to options that didn't have them.
9598
85ebf0c6
JM
95992003-04-07 James A Morrison <ja2morri@student.math.uwaterloo.ca>
9600
9601 * doc/extend.texi (Darwin Pragmas): Fix spelling of Mac OS.
9602
d78e771d
ZW
96032003-04-06 Zack Weinberg <zack@codesourcery.com>
9604
9605 * tree.c (tree_size): For all 'c' and 'x' nodes, look directly
9606 at the sizes of the relevant structures, rather than relying
9607 on TREE_CODE_LENGTH. Call lang_hooks.tree_size to get the
9608 sizes of any such we don't know about. Use
9609 lang_hooks.identifier_size for IDENTIFIER_NODE.
9610
9611 (initializer_zerop): Use CONSTRUCTOR_ELTS.
9612 * tree.def: Update commentary. Make fourth element of
9613 the definition for all 'c' and 'x' nodes zero.
9614
9615 * langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE.
9616 * langhooks-def.h: Update to match.
9617 * langhooks.c: New default, lhd_tree_size.
9618
9619 * c-common.def (SRCLOC): Kill.
9620 * c-pretty-print.c (pp_c_postfix_expression [case SRCLOC]):
9621 Remove entirely - was already #if-ed out.
9622
9623
48a79342
ZW
96242003-04-06 Zack Weinberg <zack@codesourcery.com>
9625
9626 * mklibgcc.in: Use a here document to avoid running afoul of
9627 shells that generate control-A from "echo \1".
9628
993f19a8
AH
96292003-04-06 Aldy Hernandez <aldyh@redhat.com>
9630
d78e771d
ZW
9631 * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mspe
9632 option.
993f19a8 9633
d78e771d
ZW
9634 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
9635 rs6000_spe.
993f19a8 9636
d78e771d 9637 * config/rs6000/eabi.h (TARGET_E500): Define.
993f19a8 9638
d78e771d
ZW
9639 * config/rs6000/rs6000.h (TARGET_E500): Define.
9640 (TARGET_OPTIONS): Add spe= option.
9641 Declare rs6000_spe and rs6000_spe_string extern.
993f19a8 9642
d78e771d
ZW
9643 * config/rs6000/rs6000.c (branch_positive_comparison_operator):
9644 Change TARGET_SPE to TARGET_E500.
9645 (ccr_bit): Change TARGET_SPE to TARGET_E500. Check for
9646 !TARGET_FPRS.
9647 (print_operand): Same.
9648 (rs6000_generate_compare): Same.
9649 (output_cbranch): Same.
9650 (rs6000_spe): Declare.
9651 (rs6000_spe_string): Declare.
9652 (rs6000_override_options): Call rs6000_parse_spe_option.
9653 (rs6000_parse_spe_option): New.
993f19a8 9654
95ec27aa
SB
96552003-04-06 Steven Bosscher <steven@gcc.gnu.org>
9656
9657 * hashtable.c (gcc_obstack_init): Delete this function
9658 and everything related to it.
9659 * hashtable.h: Remove prototype.
9660 * bitmap.c (bitmap_element_allocate): Cleanup redundant
9661 defines. Cleanup some unnecessary whitespace.
9662 * defaults.h (obstack_chunk_alloc): Redefine with
9663 appropriate casts for libiberty obstacks.
9664 (obstack_chunk_free): Ditto.
9665 (OBSTACK_CHUNK_SIZE): Define, default to 0.
9666 (gcc_obstack_init): Define as a call to _obstack_begin.
9667 * tree.c (print_obstack_statistics): Delete this unused
9668 function.
9669 * tree.h (obstack): Don't forward-declare.
9670 (print_obstack_statistics): Delete prototype.
9671 (print_obstack_name): Ditto.
9672 (gcc_obstack_init): Ditto.
9673 * rtl.h (gcc_obstack_init): Ditto.
9674 * java/jv-scan.c (gcc_obstack_init): Delete this
9675 function, its prototype and related defines.
9676 * java/jvgenmain.c (gcc_obstack_init): Delete this
9677 function, and related defines.
9678 * java/parse-scan.y (obstack_chunk_alloc): Don't define.
9679 (obstack_chunk_free): Ditto
9680
62e64b0b
GK
96812003-04-06 Geoffrey Keating <geoffk@apple.com>
9682
9683 * dbxout.c (dbxout_handle_pch): Move prototype out from
9684 #if defined DBX_DEBUGGING_INFO.
9685
10b7602f
NS
96862003-04-05 Nathan Sidwell <nathan@codesourcery.com>
9687
9688 * gcov.c (struct arc_info): Replace local_span with cycle.
9689 (struct block_info): Replace u.span with u.cycle. Add is_call_return.
9690 (solve_flow_graph): Set is_call_return.
9691 (add_line_counts): Adjust. In block mode, blocks attach to last line.
9692 (accumulate_line_counts): Find graph cycles, not spanning tree.
9693 (output_branch_count): Adjust.
9694 (output_lines): Adjust.
9695 * doc/gcov.texi: Update.
9696
910c46b5
KH
96972003-04-06 Kazu Hirata <kazu@cs.umass.edu>
9698
9699 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Change
9700 the second alternative to "#".
9701
ef378bbe
KH
97022003-04-05 Kazu Hirata <kazu@cs.umass.edu>
9703
9704 * config/h8300/h8300.c (single_one_operand): Use GET_MODE_MASK.
9705 (single_zero_operand): Likewise.
9706
873ceaab
DB
97072003-04-05 Daniel Berlin <dberlin@dberlin.org>
9708
9709 * Makefile.in (df.o): Depend on alloc-pool.h, not obstack.h.
9710 * df.c: Include alloc-pool.h, not obstack.h.
9711 (df_ref_obstack): Remove.
9712 (df_ref_pool, df_link_pool): Add pools.
9713 (df_alloc): Init the new pools.
9714 (df_free): And free them.
9715 (df_link_create): Use the pools.
9716 (df_ref_create): Ditto.
9717
5be86fec
KH
97182003-04-05 Kazu Hirata <kazu@cs.umass.edu>
9719
9720 * simplify-rtx.c: Fix formatting.
9721
984e25ac
DE
97222003-04-05 Andrew Pinski <apinski@apple.com>
9723
9724 * config/rs6000/rs6000.c (addrs_ok_for_quad_peep): Allow addr2
9725 reg with reg1 == reg2 and offset1 = -8.
9726
97272003-04-05 David Edelsohn <edelsohn@gnu.org>
9728
9729 * config/rs6000/rs6000.c (rs6000_rtx_costs): Halve Power4
9730 multiply costs. Correct Power4 divide costs.
9731 * config/rs6000/power4.md: Restore multiply and FP latency.
9732
94f24ddc
ZD
97332003-04-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9734
9735 * alias.c (find_base_term): Export.
9736 * rtl.h (find_base_term): Declare.
9737 * gcse.c (find_moveable_store): Test for flag_non_call_exceptions
9738 instead of flag_exceptions. Move test for parameter passing ...
9739 (store_killed_in_insn): ... here.
9740
92441f83
GP
97412003-04-05 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9742
9743 PR bootstrap/10267
9744 * doc/install.texi (*-*-solaris2): /bin/ksh is not just recommended
9745 for configuring.
9746
33b49800
GK
97472003-04-04 Geoffrey Keating <geoffk@apple.com>
9748
9749 * dbxout.c (scope_labelno): Add GTY.
9750 (have_used_extensions): Add GTY.
9751 (source_label_number): Add GTY.
9752 (lastfile): Add GTY.
9753 (lastfile_is_base): New.
9754 (base_input_file): New.
9755 (dbxout_handle_pch): New.
9756 (dbx_debug_hooks): Add handle_pch.
9757 (xcoff_debug_hooks): Likewise.
9758 (dbxout_function_end): Remove scope_labelno.
9759 (dbxout_init): Set base_input_file.
9760 (dbxout_handle_pch): New.
9761 (dbxout_source_file): Honour lastfile_is_base.
9762 * dwarfout.c (dwarf_debug_hooks): Add dummy handle_pch.
9763 * sdbout.c (sdb_debug_hooks): Add dummy handle_pch.
9764 * vmsdbgout.c (vmsdbg_debug_hooks): Add dummy handle_pch.
9765 * dwarf2out.c (dwarf2_debug_hooks): Add dummy handle_pch.
9766 * debug.c (do_nothing_debug_hooks): Add dummy handle_pch.
9767 * debug.h (struct gcc_debug_hooks): Add handle_pch.
9768 * c-pch.c (pch_init): Don't call start_source_file, but do call
9769 handle_pch.
9770 (c_common_write_pch): Call handle_pch.
9771 (c_common_read_pch): Don't call start_source_file,
06790e5f 9772 or end_source_file.
33b49800 9773
bb056a77
OH
9774Fri Apr 4 17:43:52 2003 Olivier Hainque <hainque@act-europe.fr>
9775
d78e771d
ZW
9776 * emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
9777 use of default attributes to agree MEM_ALIGN macro.
bb056a77 9778
08b0f5f9
JB
9779Fri Apr 4 17:33:24 2003 Joel Brobecker <brobecker@gnat.com>
9780
d78e771d 9781 * dbxout.c (dbxout_type): When printing type index of range type
08b0f5f9
JB
9782 whose bounds are printed in octal format, print type of parent type if
9783 it exists so enumerated type descriptions are not transformed
d78e771d 9784 into unsigned types.
08b0f5f9 9785
45ca2106
KH
97862003-04-04 Kazu Hirata <kazu@cs.umass.edu>
9787
9788 * config/h8300/h8300-protos.h: Add a prototype for
9789 compute_a_shift_cc.
9790 * config/h8300/h8300.c (shift_one): Update the CC status.
9791 (shift_two): Likewise.
9792 (output_a_shift_cc): Set cc_inline and cc_special.
9793 (compute_a_shift_cc): New.
9794 * config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
9795
7c2aa9d7
RH
97962003-04-04 Richard Henderson <rth@redhat.com>
9797
9798 * cse.c (fold_rtx): Fix 03-30 change; do check insn non-null.
9799
0705a2a2
LR
98002003-04-04 Loren James Rittle <ljrittle@acm.org>
9801
9802 * fixinc/inclhack.def (bsd_stdio_attrs_conflict): New.
9803 * fixinc/fixincl.x: Rebuilt.
9804 * fixinc/tests/base/stdio.h: Regenerated.
9805
1a482881
NS
98062003-04-04 Nathan Sidwell <nathan@codesourcery.com>
9807
9808 * gcov.c (accumulate_line_counts): Fix span tree merge bug.
9809
5d806217
R
9810Fri Apr 4 15:58:52 2003 J"orn Rennecke <joern.rennecke@superh.com>
9811
9812 * sh.h (ACTUAL_NORMAL_MODE): New macro, broken out of
9813 (NORMAL_MODE).
9814 * sh.c (fpscr_set_from_mem): Use ACTUAL_NORMAL_MODE.
9815
0dc5ac92 98162003-04-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
06790e5f 9817
0dc5ac92
GP
9818 * doc/contrib.texi (Contributors): Add entries for Wolfgang
9819 Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
9820 Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
9821 Danny Smith, and Ulrich Weigand.
9822 Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
9823 entry.
9824
5eb7ad07
NC
98252003-04-04 Nick Clifton <nickc@redhat.com>
9826
9827 * config/sparc/sol2-bi.h: Revert previous delta.
9828 * config/sparc/sol2-gas-bi.h (AS_SPARC64_FLAG): Prepend -TSO
9829
fdf3bb57
NC
98302003-04-04 Nick Clifton <nickc@redhat.com>
9831
9832 * config/v850/v850.c (expand_prologue): Only use register save
9833 helper functions if long calls are not being used.
9834 Add a clobber of r11 id using long calls.
9835 (pattern_is_ok_for_prologue): Account for the extra clobber.
9836 (construct_save_jarl): Likewise.
9837 * config/v850/v850.md (prolog pattern): Do not use this pattern
9838 for v850e's.
9839
ad3f5759
AS
98402003-04-04 Andreas Schwab <schwab@suse.de>
9841
9842 * stor-layout.c (layout_decl): Avoid syntax error in last change
9843 when PCC_BITFIELD_TYPE_MATTERS is defined but not
9844 EMPTY_FIELD_BOUNDARY.
9845
ed2e5902
JM
98462003-04-03 Jason Merrill <jason@redhat.com>
9847
9848 PR c/10175
9849 * jump.c (never_reached_warning): Revert patch of 2002-11-02.
9850 Look backwards for a line note.
9851
7b43d104
NB
98522003-04-03 Neil Booth <neil@daikokuya.co.uk>
9853
9854 * fix-header.c (read_scan_file): Defer switch processing.
9855
d24ecd21
MA
98562003-04-03 Matt Austern <austern@apple.com>
9857
9858 * cpppch.c (reset_ht): Remove.
9859 (cpp_read_state): Remove loop to reset hashtable identifiers.
9860 * ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
9861 after pch file is written.
9862 * ggc.h (gt_pch_fixup_stringpool): Declare.
9863 * stringpool.c (ht_copy_and_clear): Define. Callback. Copy
9864 hashnode's value to another hashtable, then clear the original.
9865 (saved_ident_hash): Define.
9866 (gt_pch_save_stringpool): Create saved_ident_hash, use it to
9867 store definitions in ident_hash, and clear ident_hash.
9868 (gt_pch_fixup_stringpool): Define. Restore definitions from
9869 saved_ident_hash to ident_hash, then destroy saved_ident_hash.
9870
bcc53e2a
JH
9871Thu Apr 3 22:27:40 CEST 2003 Jan Hubicka <jh@suse.cz>
9872
9873 * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
9874
773eae39
EB
98752003-04-03 Eric Botcazou <ebotcazou@libertysurf.fr>
9876
9877 PR optimization/10157
9878 * gcse.c (can_copy_p): Rename it to can_copy.
9879 (can_copy_init_p): Remove.
9880 (compute_can_copy): Use can_copy instead of can_copy_p.
9881 (can_copy_p): New exported function. Call compute_can_copy.
9882 (hash_scan_set): Use it.
9883 (gcse_main): Don't call compute_can_copy.
9884 (bypass_jumps): Don't call compute_can_copy.
9885 * rtl.h (can_copy_p): Declare.
9886 * loop.c (scan_loop): Don't move the source and add a reg-to-reg
9887 copy if the mode doesn't support copy operations.
9888
78d55cc8
JM
98892003-04-03 Jason Merrill <jason@redhat.com>
9890
613fa146
JM
9891 * Makefile.in (unstrap): Also remove stage_last.
9892
7bf6b23d
JM
9893 * dwarf2out.c (lookup_filename): Don't check for "<internal>".
9894 (dwarf2out_source_line): Don't do anything if line==0.
9895
78d55cc8 9896 * stor-layout.c (do_type_align): New fn, split out from...
06790e5f 9897 (layout_decl): ...here. Do all alignment calculations for
78d55cc8
JM
9898 FIELD_DECLs here.
9899 (update_alignment_for_field): Not here.
9900 (start_record_layout, debug_rli): Remove unpadded_align.
9901 * tree.h (struct record_layout_info_s): Remove unpadded_align.
9902 * c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
9903 or DECL_MODE on the CONST_DECLs.
9904 (finish_struct): Don't mess with DECL_ALIGN.
9905
d10f5ecf
JH
9906Thu Apr 3 18:57:19 CEST 2003 Jan Hubicka <jh@suse.cz>
9907
9908 * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
9909
9910Thu Apr 3 17:08:09 2003 J"orn Rennecke <joern.rennecke@superh.com>
8d3b0953 9911
70aadfcc
R
9912 * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
9913 function is an interrupt handler.
9914
9915 * sh.c (sh_expand_epilogue): Avoid clash of temp register for
9916 restoring target registers with EH_RETURN_STACKADJ_RTX; use
9917 multiple registers in round-robin fashion.
8d3b0953 9918
de94b46c
KG
99192003-04-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9920
9921 * gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
9922 * system.h (CHAR_BITFIELD): New.
9923
203dcb74
KH
99242003-04-03 Kazu Hirata <kazu@cs.umass.edu>
9925
9926 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
9927 and LE.
9928 (another peephole2): Likewise.
9929
dc00aebd
NC
99302003-04-03 Nick Clifton <nickc@redhat.com>
9931
9932 * config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
d78e771d 9933 (DEF_ARCH64_SPEC): Likewise.
dc00aebd 9934
a94f136b
JH
9935Thu Apr 3 09:53:40 CEST 2003 Jan Hubicka <jh@suse.cz>
9936
9937 * i386.c (constant_address_p): Use legitimate_constant_p.
9938 (legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
9939
9a2dd2dd
KH
99402003-04-02 Kazu Hirata <kazu@cs.umass.edu>
9941
9942 * config/h8300/h8300-protos.h: Add a prototype for
9943 gtle_operator.
9944 * config/h8300/h8300.c (gtle_operator): New.
9945 * config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
9946 gtle_operator.
9947 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
9948 and LE.
9949
378683cf
RH
99502003-04-02 Richard Henderson <rth@redhat.com>
9951
9952 * libgcc-std.ver (_Unwind_GetCFA): New.
9953 * unwind-dw2.c (_Unwind_GetCFA): New.
9954 * unwind-libunwind.c (_Unwind_GetCFA): New.
9955 * unwind-sjlj.c (_Unwind_GetCFA): New.
9956 * unwind.h: Declare it.
9957
a67a3220
JH
9958Thu Apr 3 00:31:21 CEST 2003 Jan Hubicka <jh@suse.cz>
9959
9960 PR inline-asm/8088
9961 * i386.c (ix86_hard_regno_mode_ok): Return 0 for MMX/SSE registers
9962 when MMX/SSE is not available.
9963
11292480
MS
99642003-04-02 Mike Stump <mrs@apple.com>
9965
9966 * doc/install.texi (Specific): Update pointers to apple.com.
9967
a94f136b 9968Thu Apr 3 00:18:49 CEST 2003 Jan Hubicka <jh@suse.cz>
a5b378d6
JH
9969
9970 * i386.c (override_options): Disable red zone by default on i386.
06790e5f 9971 (compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):
a5b378d6
JH
9972 Do not test TARGET_64BIT together with TARGET_RED_ZONE
9973
8fc9a7ba
KH
99742003-04-02 Kazu Hirata <kazu@cs.umass.edu>
9975
9976 * config/h8300/h8300.md (a peephole2): Tighten the condition.
9977
496e1c4b
RH
99782003-04-02 Richard Henderson <rth@redhat.com>
9979
9980 * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
9981
d98cd543
KH
99822003-04-02 Kazu Hirata <kazu@cs.umass.edu>
9983
9984 * config/h8300/h8300.md (a peephole2): New.
9985
b30abdf2
RH
99862003-04-02 Richard Henderson <rth@redhat.com>
9987
9988 * except.c (sjlj_find_directly_reachable_regions): Recognize when
9989 must-not-throw region has been deleted.
9990
ad5eeaa9
RH
99912003-04-02 Richard Henderson <rth@redhat.com>
9992
d78e771d
ZW
9993 * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
9994 optimization when flag_exceptions not enabled.
ad5eeaa9 9995
be12c2b0
VM
99962003-04-02 Vladimir Makarov <vmakarov@redhat.com>
9997
9998 * config/rs6000/rs6000.c
9999 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
10000 macros.
10001 (rs6000_issue_rate): Add case for 8540.
10002 (rs6000_use_sched_lookahead): New function.
10003
10004 * config/rs6000/8540.md: Rename SIU units into SU ones and MIU
10005 units into MU ones.
10006 (ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
10007 reservation before retirement.
10008 (ppc8540_multiply, ppc8540_load, ppc8540_store,
10009 ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
10010 Remove additional cycle in the reservation before retirement.
10011 (ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
10012 reservation of ppc8540_issue.
06790e5f 10013
f875310e
AS
100142003-04-02 Andreas Schwab <schwab@suse.de>
10015
10016 * real.c (decode_ieee_single): Fix decoding of SNaN bit.
10017
125ca8fd
RH
100182003-04-01 Richard Henderson <rth@redhat.com>
10019
d78e771d
ZW
10020 * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
10021 notes for nothrow calls if flag_forced_unwind_exceptions.
10022 (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
10023 (sjlj_find_directly_reachable_regions): Likewise.
10024 (reachable_handlers): Likewise.
10025 (can_throw_external): Likewise.
10026 (collect_one_action_chain): Record cleanups after catch-all and
10027 must-not-throw if flag_forced_unwind_exceptions.
10028 * flags.h (flag_forced_unwind_exceptions): Declare.
10029 * toplev.c (flag_forced_unwind_exceptions): New.
10030 (lang_independent_options): Add it.
125ca8fd
RH
10031 * doc/invoke.text: Add it.
10032
8f744ea9
DM
100332003-04-01 David Mosberger <davidm@hpl.hp.com>
10034
d78e771d
ZW
10035 * config/ia64/crti.asm: Clean up trailing whitespace.
10036 Remove trailing hashes (#) from identifiers.
8f744ea9 10037
d78e771d 10038 * config/ia64/crtn.asm: Ditto.
8f744ea9 10039
d78e771d
ZW
10040 * config/ia64/crtend.asm: Remove trailing hashes (#) from
10041 identifiers.
10042 (__do_global_ctors_aux): Align to 32-byte boundary. Add unwind
10043 directives. Drop explicit bundling---it just makes the code
10044 harder to read. Don't save/restore gp needlessly.
8f744ea9 10045
d78e771d
ZW
10046 * config/ia64/crtbegin.asm: Remove trailing hashes (#) from
10047 identifiers (they're only needed if the identifier would clash
10048 with a register name otherwise).
10049 (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
10050 directives. Drop explicit bundling---it just makes the code
10051 harder to read.
10052 (__do_jv_register_classes): Ditto.
10053 (.fini_array): Remove "progbits" (newer
10054 assemblers don't like wrong section-types).
10055 (.init_array): Ditto.
8f744ea9 10056
e129b3f9
RS
100572003-04-01 Roger Sayle <roger@eyesopen.com>
10058
10059 PR fortran/9974
15d4fd98 10060 * gcse.c (reg_killed_on_edge): New function to test whether the
e129b3f9
RS
10061 given reg is overwritten by any instruction queued on an edge.
10062 (bypass_block): Ignore substitutions killed on incoming edges.
10063 Don't bypass outgoing edges that have queued instructions.
10064
fe0002ee
AO
100652003-04-01 Alexandre Oliva <aoliva@redhat.com>
10066
10067 * real.h (EXP_BITS): Make room for...
10068 (struct real_value): ... added canonical bit.
10069 (struct real_format): Added pnan.
10070 (mips_single_format, mips_double_format, mips_extended_format,
10071 mips_quad_format): New.
10072 * real.c: Copy p to pnan in all formats.
10073 (get_canonical_qnan, get_canonical_snan): Set canonical bit.
10074 (real_nan): Use pnan to compute significand's shift.
10075 (real_identical): Disregard significand in canonical
10076 NaNs.
10077 (real_hash): Likewise. Take signalling into account.
10078 (encode_ieee_single, encode_ieee_double, encode_ieee_quad):
10079 Disregard significand bits in canonical NaNs. Set all bits of
10080 canonical NaN if !qnan_msb_set.
10081 (encode_ibm_extended, decode_ibm_extended): Likewise. Use
10082 qnan_msb_set to tell the base double format.
10083 (ibm_extended_format): Use 53 as pnan.
10084 (mips_single_format, mips_double_format, mips_extended_format,
10085 mips_quad_format): Copied from the corresponding ieee/ibm
10086 formats, with qnan_msb_set false.
10087 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
10088 * config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
10089 * config/mips/mips.c (override_options): Use mips_single_format
10090 and mips_double_format. Default TFmode to mips_quad_format.
10091 * config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
10092 * config/mips/t-irix6: Likewise.
10093 * config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
10094 * config/fp-bit.c (pack_d, unpack_d): Obey it.
10095
481a8181
GK
100962003-04-01 Geoffrey Keating <geoffk@apple.com>
10097
10098 * unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
10099 (live_image_destructor): Reset image to initial state.
10100 (examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
10101
375ffbe6
EB
101022003-04-01 Eric Botcazou <ebotcazou@libertysurf.fr>
10103
10104 * config/sparc/sparc.c (input_operand): Accept bare
10105 CONSTANT_P_RTX operands.
10106
47a3dae1
ZD
101072003-04-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10108
10109 * gcse.c (struct ls_expr): Added pattern_regs field.
10110 (ldst_entry): Initialize it.
10111 (extract_mentioned_regs, extract_mentioned_regs_helper): New.
10112 (store_ops_ok): Use regs precomputed by them.
10113 (find_loads, store_killed_in_insn, load_kills_store): Change return
10114 type to bool.
10115 (store_killed_before, store_killed_after): Take position of register
10116 set in account.
10117 (reg_set_info): Store position of the setter.
10118 (gcse_main): Enable store motion.
10119 (mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
10120 (pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
10121 sharing.
10122 (simple_mem): Enable store motion of non-symbol mems.
10123 (regvec): Type changed.
10124 (LAST_AVAIL_CHECK_FAILURE): New.
10125 (compute_store_table_current_insn): New.
10126 (build_store_vectors): Computation of availability and anticipatability
10127 moved ...
10128 (compute_store_table, find_moveable_store): ... here.
10129 (delete_store): Remove senseless comment.
10130 (store_motion): Reorganize.
10131
77d4f3a4
KB
101322003-04-01 Kevin Buettner <kevinb@redhat.com>
10133
10134 * config/mips/mips.c (override_options): Provide mappings for
10135 HI_REGNUM and LO_REGNUM.
10136 * config/mips/mips.h (MD_DBX_FIRST): Define.
10137
7d4444ea
FS
101382003-04-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10139
10140 * combine.c (merge_outer_ops): Fix typo.
10141
10142 * varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
10143
9259f3b0
DE
101442003-04-01 David Edelsohn <edelsohn@gnu.org>
10145
10146 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
10147 power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
10148 imul_compare. Add lmul_compare.
10149 * config/rs6000/power4.md: Bump some latencies. Model extra cycle
10150 in second pair of dispatch slots. Model stores more accurately.
10151 Tweak multiply model. Add bypasses for CR instructions dependent
10152 on complicated compares.
10153 * config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
10154 (muldi3): Add lmul_compare patterns.
10155 * config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
10156 and FPSTORE_UX to split instructions and add COMPARE,
10157 DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
10158 (rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
10159 (rs6000_rtx_costs): Separate POWER4 multiply case.
10160
7fe317e4
UW
101612003-04-01 Ulrich Weigand <uweigand@de.ibm.com>
10162
10163 * config/s390/s390.c (s390_fixup_clobbered_return_reg):
10164 Do nothing if __builtin_return_address was not used.
10165
e1fea6ee
JH
10166Tue Apr 1 18:18:23 CEST 2003 Jan Hubicka <jh@suse.cz>
10167
10168 * i386.md (test patterns): Allow memory operand in operand1.
10169
d744e06e
AH
101702003-02-31 Aldy Hernandez <aldyh@redhat.com>
10171
d78e771d
ZW
10172 * testsuite/gcc.c-torture/execute/simd-3.c: New.
10173
10174 * expr.c (expand_expr): Handle VECTOR_CST.
10175 (const_vector_from_tree): New.
10176
10177 * varasm.c (output_constant): Handle VECTOR_CST.
10178
10179 * c-typeck.c (digest_init): Build a vector constant from a
10180 VECTOR_TYPE.
10181
10182 * config/rs6000/rs6000.c: Remove prototype for
10183 easy_vector_constant.
10184 (easy_vector_constant): Add mode parameter. Rewrite to handle
10185 more easy constants.
10186 (rs6000_emit_move): Pass mode to easy_vector_constant.
10187 Call emit_easy_vector_insn for SPE V2SI vector constant moves.
10188 (emit_easy_vector_insn): New.
10189 (easy_vector_same): New.
10190 (EASY_VECTOR_15): New macro.
10191 (EASY_VECTOR_15_ADD_SELF): New macro.
10192 (bdesc_2arg): Rename to xorv2si3.
10193 (easy_vector_constant_add_self): New.
10194 (input_operand): Allow vector constants.
10195
10196 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
10197 easy_vector_constant, easy_vector_constant_add_self.
10198 (EXTRA_CONSTRAINT): Add 'W'.
10199
10200 * config/rs6000/rs6000-protos.h: Add prototype for
10201 easy_vector_constant, emit_easy_vector_insn.
10202
10203 * config/rs6000/altivec.md (xorv8hi3): New.
10204 (xorv16qi3): New.
10205 Remove all _const0 patterns.
10206 (movv4si_internal): Rewrite to use code. Add vector constant to
10207 vector alternative. Add splitter.
10208 (movv8hi_internal): Same.
10209 (movv16qi_internal): Same.
10210 (movv4sf_internal): Same.
10211 Change the unspecs for vspltis* to use constants.
10212
10213 * config/rs6000/spe.md ("xorv4hi3"): New.
10214 ("spe_evxor"): Rename to xorv2si3.
10215 ("xorv1di3"): New.
10216 Remove all _const0 patterns.
10217 (movv2si_internal): Rewrite to use code. Add vector constant to
10218 alternatives. Add splitter.
10219 (movv4hi_internal): Add vector constant to alternatives.
10220 (movv1di_internal): Same.
10221 (movv2sf_internal): Same.
d744e06e 10222
46e33d43
MM
102232003-03-31 Mark Mitchell <mark@codesourcery.com>
10224
10225 PR c/9936
10226 * c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
10227 variably-sized arrays in parameters.
10228 (set_save_expr_context): New function.
10229 (c_expand_body): Use it, via walk_tree.
10230
73a39fc4
EC
102312003-03-31 Eric Christopher <echristo@redhat.com>
10232
10233 * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
10234 (combinable_i3pat): Remove call to expand_field_assignment and
10235 #if 0'd code.
10236
6b665219
MM
102372003-03-31 Mark Mitchell <mark@codesourcery.com>
10238
10239 PR c++/10278
10240 * c-common.c (finish_label_address_expr): Handle the
10241 error_mark_node.
10242
6c06208f
RH
102432003-03-31 Richard Henderson <rth@redhat.com>
10244
10245 * real.c (real_identical): Reorg so as to not compare
10246 signalling for normals.
10247
11789584
SC
102482003-03-31 Stephane Carrez <stcarrez@nerim.fr>
10249
10250 * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
10251
c25292ce
SC
102522003-03-31 Stephane Carrez <stcarrez@nerim.fr>
10253
10254 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
10255 notes as they are boggus.
10256 (m68hc11_gen_movqi): Likewise.
10257
07faf2d6
SC
102582003-03-31 Stephane Carrez <stcarrez@nerim.fr>
10259
10260 * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
10261 save the soft registers after the frame pointer so that gdb can unwind
10262 the frame more easily.
10263 (expand_epilogue): Likewise in opposite order; allow to use X register
10264 as scratch if the return value is by reference.
10265
adff28c3
JM
102662003-03-31 Jason Merrill <jason@redhat.com>
10267
10268 PR java/10145
10269 * stor-layout.c (update_alignment_for_field): Respect
10270 DECL_USER_ALIGN for zero-length bitfields, too.
10271 * c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
10272 fields.
10273
c419b113
MA
102742003-03-31 Matt Austern <austern@apple.com>
10275
10276 * cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
10277 (count_defs): Keep track of number of defs as well as total size.
10278 (write_defs): Put every definition in cpp_savedstate's defs array.
10279 (comp_hashnode): Define. Comparison function for qsort.
10280 (cpp_write_pch_deps): Sort definitions before writing them.
10281 (struct ht_node_list): Define. Like cpp_savedstate but simpler.
10282 (collect_ht_nodes): Define.
10283 (cpp_valid_state): When verifying that undefined identifiers in
10284 the pch file are still undefined, read a sorted list of undefined
10285 identifiers, collect all defined identifiers into a sorted list,
10286 and walk through both lists to make sure there's no match.
73a39fc4 10287
ef3a7d56
KH
102882003-03-31 Kazu Hirata <kazu@cs.umass.edu>
10289
10290 * config/h8300/h8300.md (a peephole2): New.
10291
5ccd517a
MM
102922003-03-31 Michael Matz <matz@suse.de>
10293
10294 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
10295
102962003-03-31 Segher Boessenkool <segher@koffie.nl>
c8ae788f
SB
10297
10298 PR target/10177
10299 * config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
10300 * config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
10301 all call-clobbered registers as used.
10302
7f1fc38e
MM
103032003-03-31 Michael Matz <matz@suse.de>
10304
10305 * cppexp.c (cpp_classify_number): Accept '.' after "0x".
10306 * testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
10307
27283c73
NS
103082003-03-31 Nathan Sidwell <nathan@codesourcery.com>
10309
10310 * gcov.c: Add -a & -u options.
10311 (struct arc_info): Add local_span, is_call_non_return,
10312 is_nonlocal_return, is_unconditional flags, remove is_call flag.
10313 (struct block_info): Add flags, is_call_site, is_nonlocal_return
10314 members. Make encodings a union with span member.
10315 (struct function_info): Add blocks_executed, line, src, line_next
10316 members.
10317 (struct coverage_info): Make branches a union with blocks member.
10318 (struct source_info): Add functions member.
10319 (object_summary, program_count): New global variables.
10320 (flag_all_blocks, flag_unconditional): New flags.
10321 (find_source, output_branch_count): New functions.
10322 (print_usage): Adjust.
10323 (options): Adjust.
10324 (process_args): Adjust.
10325 (read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
10326 <GCOV_TAG_BLOCKS>: Read flags.
10327 <GCOV_TAG_LINES>: Adjust.
10328 (read_count_file): Process SUMMARY tags.
10329 (solve_flow_graph): Set is_unconditional and clear is_call_site
10330 appropriately.
10331 (add_branch_counts): Adjust. Don't count unconditional branches.
10332 (add_line_counts): Deal with all-blocks mode, accumulate block
10333 coverage.
10334 (accumulate_line_counts): Adjust, generate local spanning tree for
10335 all-blocks mode.
10336 (output_lines): Adjust.
10337 * profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
10338 * doc/gcov.texi: Document.
10339
212d9313
KH
103402003-03-31 Kazu Hirata <kazu@cs.umass.edu>
10341
63855aa6 10342 * config/h8300/h8300.md: Organize peephole2's that transform
212d9313
KH
10343 (compare (reg:HI) (const_int)).
10344
03f2ea93
RS
103452003-03-31 Roger Sayle <roger@eyesopen.com>
10346
10347 * emit-rtl.c (dconstm2, dconsthalf): New real constants.
10348 (init_emit_once): Initialize dconstm2 and dconsthalf here.
10349 * real.h (dconstm2, dconsthalf): Add prototypes here.
10350 * real.c (real_sqrt): Use dconsthalf rather than local copy.
10351 * builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
10352 exp(x/2.0) remember to fold the division if possible.
10353 Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
10354 pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
10355 1.0/(x*x) and pow(x,0.5) as sqrt(x).
10356
155de338
KH
103572003-03-31 Kazu Hirata <kazu@cs.umass.edu>
10358
10359 * config/h8300/h8300.md (a new peephole2): New.
10360
98d3d336
RS
103612003-03-31 Richard Sandiford <rsandifo@redhat.com>
10362
10363 * gcse.c (simple_mem): Return false for floating-point accesses
10364 if flag_float_store is true.
10365
6b2d1c9e
RS
103662003-03-30 Roger Sayle <roger@eyesopen.com>
10367
10368 * gcse.c (gcse_constant_p): New function to identify constants
10369 suitable for constant propagation, including COMPARE with two
10370 integer constant arguments.
10371 (hash_scan_set): Use gcse_constant_p.
10372 (find_avail_set): Likewise.
10373 (cprop_insn): Likewise.
10374 (do_local_cprop): Likewise.
10375 (find_implicit_sets): Likewise.
10376 (find_bypass_set): Likewise.
10377
af829441
MK
103782003-03-30 Matt Kraai <kraai@alumni.cmu.edu>
10379
10380 * except.h: Remove definition of varray_type.
10381
3d1f4922
RH
103822003-03-30 Richard Henderson <rth@redhat.com>
10383
10384 PR opt/10011, opt/10252:
d78e771d
ZW
10385 * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
10386 before post-gcse cse pass.
3d1f4922 10387
9311f3f6
RS
103882003-03-30 Roger Sayle <roger@eyesopen.com>
10389
10390 * dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
10391
ececa172
DD
103922003-03-30 DJ Delorie <dj@redhat.com>
10393
10394 * profile.c (instrument_edges): Make sure any newly created
10395 jump insns have correct jump label info.
10396
e1233a7d
RH
103972003-03-30 Richard Henderson <rth@redhat.com>
10398
10399 * cfgbuild.c (make_edges): Use tablejump_p.
10400 * cfgcleanup.c (label_is_jump_target_p): Likewise.
10401 * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
10402 * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
10403 (try_redirect_by_replacing_jump): Likewise.
10404 (redirect_edge_and_branch): Likewise.
10405 * cse.c (fold_rtx): Likewise.
10406 * jump.c (delete_related_insns): Likewise.
10407 * rtlanal.c (get_jump_table_offset): Likewise.
10408 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
10409
78e68f88
GDR
104102003-03-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
10411
d78e771d
ZW
10412 * Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
10413 (STRICT2_WARN): Likewise.
73a39fc4 10414
15dda4d3
KG
104152003-03-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10416
10417 PR other/6955
10418 * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
10419 * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
10420
5bf92e20
RH
104212003-03-30 Richard Henderson <rth@redhat.com>
10422
10423 PR c/10083
10424 * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
10425 don't zero_extend const inputs.
10426
9a8075a1
KH
104272003-03-30 Kazu Hirata <kazu@cs.umass.edu>
10428
10429 * reload1.c (reload_cse_move2add): Fix a comment typo.
10430
f3926c48
KH
104312003-03-30 Kazu Hirata <kazu@cs.umass.edu>
10432
10433 * config/h8300/h8300.md (a peephole2): Remove useless code.
10434
39ecf301
KH
104352003-03-29 Kazu Hirata <kazu@cs.umass.edu>
10436
10437 * config/h8300/h8300.md (*iorsi3_and_ashift): New.
10438 (*iorsi3_and_lshiftrt): Likewise.
10439 (*iorsi3_zero_extract): Likewise.
10440
d4048ff6
KH
104412003-03-29 Kazu Hirata <kazu@cs.umass.edu>
10442
10443 * config/h8300/h8300.md (*insv_si_8_8): New.
10444 (*insv_si_8_8_lshiftrt_8): Likewise.
10445 (a peephole2): Likewise.
10446
62d08205
GP
104472003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10448
60ef8bdd 10449 * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
73a39fc4 10450 Uniformly use bugfix instead of bug fix.
60ef8bdd
GP
10451
104522003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
73a39fc4 10453
62d08205
GP
10454 PR doc/895
10455 * ONEWS: Remove those items that already appear in the EGCS
10456 release notes on our web pages.
10457
e87a88d3
AM
104582003-03-29 Alan Modra <amodra@bigpond.net.au>
10459
10460 * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
10461 TARGET_HARD_FLOAT. Reformat.
10462 (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
10463
ce4a8f7d
ACY
104642003-03-28 Albert Chin-A-Young <china@thewrittenword.com>
10465
10466 * gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
10467 work on Solaris 2.5.1.
10468
12f76820
KH
104692003-03-28 Kazu Hirata <kazu@cs.umass.edu>
10470
10471 * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
10472 section of h8300.md
10473 (*addsi3_and_nor_r_1): Likewise.
10474
7d798969
UW
104752003-03-29 Ulrich Weigand <uweigand@de.ibm.com>
10476
10477 * config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
10478 set up before any trapping memory access if flag_non_call_exceptions.
10479
00dcfe80
AM
104802003-03-29 Alan Modra <amodra@bigpond.net.au>
10481
10482 * reload1.c (reload_as_needed): Allow a USE in asm reloads.
10483
10484 * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
10485
d869a8c4
NN
104862003-03-28 Nathanael Nerode <neroden@gcc.gnu.org>
10487
10488 * configure.in: Clarify comments.
10489 * configure: Regenerate.
10490
5c033b9f
UW
104912003-03-28 Ulrich Weigand <uweigand@de.ibm.com>
10492
73a39fc4 10493 * config/s390/s390.md ("literal_pool_31"): Output pool anchor
5c033b9f
UW
10494 label even if pool empty when generating PIC.
10495 ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
10496
d18ad191
KH
104972003-03-28 Kazu Hirata <kazu@cs.umass.edu>,
10498 Dhananjay Deshpande <dhananjayd@kpit.com>
10499
10500 PR target/10205
10501 * config/h8300/h8300.c (h8300_initial_elimination_offset):
10502 Correct the offset computation when TARGET_NORMAL.
10503
0c85dbfd
EB
105042003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
10505
10506 PR target/10067
10507 * config/sparc/sparc.md (jump pattern): Correct order
10508 when issuing the annuling marker.
10509
f7670e7b
EB
105102003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
10511
10512 PR c/8281
10513 * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
10514 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
10515
c9280dfe
AM
105162003-03-28 Alan Modra <amodra@bigpond.net.au>
10517
10518 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
10519 globalize_label.
10520 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
73a39fc4 10521 * config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
c9280dfe
AM
10522 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
10523 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
10524 * config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
10525 * config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
10526 * config/v850/v850.c (v850_output_aligned_bss): Likewise.
10527
e81eb37f
AM
105282003-03-28 Alan Modra <amodra@bigpond.net.au>
10529
10530 * loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
10531 (replace_loop_mems): Add "written" param. Remove invalid REG_EQUAL
10532 notes after hoisting.
10533 (load_mems): Adjust replace_loop_mems call.
10534
1ce324c3 105352003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
d78e771d 10536 Richard Henderson <rth@redhat.com>
1ce324c3
EB
10537
10538 PR target/10114 and PR target/10084
10539 * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
10540
c6cf19a8
RH
105412003-03-27 Richard Henderson <rth@redhat.com>
10542
10543 * config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
10544
9ddae796
RS
105452003-03-27 Roger Sayle <roger@eyesopen.com>
10546
10547 * fold-const.c (fold_inf_compare): New function to simplify FP
10548 comparisons against +Infinity or -Infinity.
10549 (fold): Optimize floating point comparisons against Infs and NaNs.
10550
01e60c33
JJ
105512003-03-27 Janis Johnson <janis187@us.ibm.com>
10552
10553 * libgcov.c: Provide only dummy functions if libc is not available.
10554
ad59ba20
RH
105552003-03-27 Richard Henderson <rth@redhat.com>
10556
10557 * real.h (struct real_value): Add signalling.
10558 (EXP_BITS): Decrement.
10559 * real.c (get_canonical_qnan): Don't set MSB-1.
10560 (get_canonical_snan): Likewise. Set signalling.
10561 (real_identical): Compare signalling.
10562 (round_for_format): Remove force-one-bit on code.
10563 (real_nan): Likewise. Set signalling.
10564 (encode_ieee_single): Add force-one-bit code; honor signalling.
10565 (encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
10566 (decode_ieee_single): Set signalling.
10567 (decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
10568
940bbb74
OH
105692003-03-27 Olivier Hainque <hainque@act-europe.fr>
10570
10571 PR ada/9953
10572 * ada/Makefile.in (gnatlib configuration for HPUX): Split
10573 the general section for HPUX into specific sections for
10574 HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
10575 11 case.
10576
c7d325c8
GN
105772003-03-27 Glen Nakamura <glen@imodulo.com>
10578
10579 PR opt/10087
10580 * loop.c (loop_givs_reduce): Skip bivs with duplicate locations
10581 while incrementing giv.
10582 (record_biv): Check for duplicate biv locations and
10583 set (struct induction *) v->same if found.
10584
f18ab437
DM
105852003-03-27 David Mosberger <davidm@hpl.hp.com>
10586
d78e771d
ZW
10587 * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
10588 v0.9 API change: replace read of UNW_REG_HANDLER with
10589 unw_get_proc_info().
10590 (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
10591 with unw_get_proc_info().
10592 (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
10593 unw_get_proc_info().
f18ab437 10594
eaff4b90
VM
105952003-03-27 Vladimir Makarov <vmakarov@redhat.com>
10596
10597 * config/rs6000/8540.md: Use presence_set instead of absence_set.
10598
3684a055
RH
105992003-03-26 Richard Henderson <rth@redhat.com>
10600
10601 * c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
10602
de132314
RS
106032003-03-26 Roger Sayle <roger@eyesopen.com>
10604
10605 PR bootstrap/10051, PR bootstrap/10169.
10606 * mips-tfile.c (init_file): Don't provide a static initializer.
10607 (initialize_init_file): Initialize the contents of init_file.
10608 (add_file): Call initialize_init_file if not already initialized.
10609
6f84708a
UW
106102003-03-26 Ulrich Weigand <uweigand@de.ibm.com>
10611
10612 * config/s390/s390.c (s390_optimize_prolog): Do not save/restore
10613 registers used for global asm variables.
10614 (s390_frame_info, s390_arg_frame_offset): Likewise.
10615 (s390_emit_prologue, s390_emit_epilogue): Likewise.
10616
5e8006fa
VM
106172003-03-26 Vladimir Makarov <vmakarov@redhat.com>
10618
d78e771d 10619 * config/rs6000/8540.md: New file.
73a39fc4 10620
5e8006fa
VM
10621 * config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
10622 power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
10623 reservations for imul.
10624
10625 * config/rs6000/rs6000.md: Include 8540.md. Change
10626 delayed_compare onto mult_compare for insns generating
10627 multiplication.
10628 (mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
10629 New type attribute values.
10630
10631 * config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
10632 fpsimple instead of fp.
10633 (*divsf3_gpr): Use type vecfdiv instead of fp.
10634 (spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
10635 instead of vecfloat.
10636 (spe_evfsdive): Use type vecfdiv instead of vecfloat.
10637 (spe_brinc): Use type brinc instead of veccomplex.
10638 (spe_evaddw, spe_evaddiw): Use type vecsimple instead of
10639 veccomplex.
10640 (spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
10641 (*movv2si_internal, *movv1di_internal, *movv4hi_internal,
10642 *movv2sf_internal): Define type attribute values for all
10643 alternatives.
10644 (cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
10645 of fpcompare.
10646 (tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
10647 instead of fpcompare.
73a39fc4 10648
29ae9364
DE
106492003-03-26 David Edelsohn <edelsohn@gnu.org>
10650
10651 * config/rs6000/power4.md: Allow delay between dispatch and
10652 function units for simple instructions. Correct store units.
10653 Allow branch to occupy as many dispatch slots as necessary.
10654
be565ad7
JJ
106552003-03-26 Jakub Jelinek <jakub@redhat.com>
10656
10657 * config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
10658 (ia64_expand_compare_and_swap): Use always DImode ar.ccv,
10659 zero extend old to it.
10660 * config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
10661 operand.
10662
27e484bc
EB
106632003-03-26 Eric Botcazou <ebotcazou@libertysurf.fr>
10664
10665 PR target/7784
10666 * reload.c (find_reloads_address): Handle
10667 (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
10668 all base registers.
10669
b47161ec
MA
106702003-03-25 Marcelo Abreu <mmabreu@inf.ufrgs.br>
10671
10672 PR other/10203
10673 * version.c: Reference the GCC web site in the URL.
10674
611f0729
AM
106752003-03-26 Alan Modra <amodra@bigpond.net.au>
10676
10677 * c-incpath.c (add_standard_paths): Add both "translated" and
10678 non-translated header paths.
10679
e4e7d312
LR
106802003-03-25 Loren James Rittle <ljrittle@acm.org>
10681
10682 * doc/install.texi (*-*-freebsd*): Update with known status.
10683
2e2255ff
JM
106842003-03-21 Jason Merrill <jason@redhat.com>
10685
10686 PR optimization/10171
10687 * unroll.c (unroll_loop): Don't delete the jump at the end unless
10688 we also delete a jump at the beginning.
10689
8725a499
SC
106902003-03-25 Stephane Carrez <stcarrez@nerim.fr>
10691
10692 * doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
10693 contributor.
10694
3504dad3
JH
10695Tue Mar 25 20:35:51 CET 2003 Jan Hubicka <jh@suse.cz>
10696
10697 * i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
10698 constants are not expensive.
10699
cb9a1d9b
JH
10700Mon Mar 24 20:03:03 CET 2003 Jan Hubicka <jh@suse.cz>
10701
10702 PR opt/10056
10703 * cfglayout.c (fixup_reorder_chain): Fix dealing with the conditional
10704 jump jumping to the next instruction.
10705 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
10706
d6d05f8d
GP
107072003-03-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10708
10709 * doc/passes.texi (Passes): Properly document that we do not
10710 perform jump2 any longer; remove command-line option -dJ.
10711
d2fc7725
EB
107122003-03-25 Eric Botcazou <ebotcazou@libertysurf.fr>
10713
10714 PR optimization/8746
10715 * config/i386/i386.md (and promoting splitters): Disable HImode to
10716 SImode promoting when the sign bit matters and is not preserved, or
10717 when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
10718 for size.
10719
beb14cfe
KH
107202003-03-24 Kazu Hirata <kazu@cs.umass.edu>
10721
10722 * config/h8300/h8300.md (a peephole2): Extend to support loads
10723 in QImode and HImode.
10724
dbcedbc4
SC
107252003-03-24 Stephane Carrez <stcarrez@nerim.fr>
10726
10727 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
10728 _return_far
10729 (MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
10730 (MULTILIB_EXCEPTIONS): Likewise.
10731 * config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
10732 by calling some board support routine.
10733 ("call_value"): Likewise.
10734 ("*return_void"): Likewise for return.
10735 ("*return_16bit"): Likewise.
10736 ("*return_32bit"): Likewise.
10737 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
10738 for 68HC11 too.
73a39fc4 10739 (DWARF2_ADDR_SIZE): Use 4 so that addresses can
dbcedbc4
SC
10740 * config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
10741 -mlong-calls for 68HC11.
10742 * config/m68hc11/larith.asm (declare_near): New macro.
10743 (__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
10744 (___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
10745 (___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
10746 (___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
10747 (__mulhi32): Likewise.
10748 (ret): Update macro for 68HC11.
10749 (__far_trampoline): Implement for 68HC11.
10750 (__call_a16, __call_a32, __return_void, __return_16): New support
10751 routines for 68HC11 memory bank switching calling support.
10752 (__return_32): Likewise.
10753
696fe23c
NB
107542003-03-24 Neil Booth <neil@daikokuya.co.uk>
10755
10756 * toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
10757
05253aed
JJ
107582003-03-24 Janis Johnson <janis187@us.ibm.com>
10759
10760 * doc/install.texi (Testing): Mention test result links from build
10761 status pages.
10762
f8928391
MM
107632003-03-24 Mark Mitchell <mark@codesourcery.com>
10764
10765 * function.c (put_var_into_stack): Change bool parameter to int.
10766 (gen_mem_addressof): Likewise.
10767 * rtl.h (gen_mem_addressof): Likewise.
10768 * tree.h (put_var_into_stack): Likewise.
10769 * config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
10770 gen_mem_addressof or put_var_into_stack.
10771 * config/c4x/c4x.c (c4x_expand_builtin): Likewise.
10772 * config/ia64/ia64.c (spill_tfmode_operand): Likewise.
10773
b980d725
KH
107742003-03-24 Kazu Hirata <kazu@cs.umass.edu>
10775
10776 * config/h8300/h8300.md (a peephole2): New.
10777
2ff1fb45
JJ
107782003-03-24 Jakub Jelinek <jakub@redhat.com>
10779
10780 * dojump.c (do_jump): Handle UNSAVE_EXPR specially.
10781
8b5777db
GP
107822003-03-24 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10783
10784 * doc/contrib.texi (Contributors): Update Janis Johnson.
10785
02484af9
EB
107862003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
10787
10788 PR target/10072
10789 * combine.c (simplify_if_then_else): Check that the mode
10790 has MODE_INT class before applying the (OP Z (mult COND C2))
10791 transformation.
10792
941bc659
EB
107932003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
10794
10795 PR optimization/9414
10796 * config/sparc/sparc.md (widening peepholes): Use
10797 widen_memory_access instead of change_address.
10798
f29a2bd1
MM
107992003-03-23 Mark Mitchell <mark@codesourcery.com>
10800
10801 PR c++/7086
10802 * c-typeck.c (c_mark_addressable): Adjust calls to
10803 put_var_into_stack.
10804 * expr.c (expand_expr): Likewise.
10805 * function.c (put_var_into_stack): Add rescan parameter. Do not
10806 call fixup_var_refs when rescan is false.
10807 (gen_mem_addressof): Likewise.
10808 (assign_parms): Adjust calls to put_var_into_stack.
10809 (setjmp_protect): Likewise.
10810 (setjmp_protect_args): Likewise.
10811 * rtl.h (gen_mem_addressof): Change prototype.
10812 * stmt.c (expand_decl): Adjust calls to put_var_into_stack.
10813 * tree.h (put_var_into_stack): Change prototype.
10814
fa9b4904
AB
108152003-03-23 Arpad Beszedes <beszedes@cc.u-szeged.hu>
10816
b099daeb 10817 PR middle-end/9967
fa9b4904
AB
10818 * builtins.c (expand_builtin_fputs): When optimizing for size,
10819 don't transform fputs into fwrite.
10820
068d2c9d
MM
108212003-03-23 Glen Nakamura <glen@imodulo.com>
10822
10823 PR c/8224
10824 * fold-const.c (extract_muldiv_1): Don't pass through type conversions
10825 when signedness changes for division or modulus.
10826
c967e28c
AM
108272003-03-24 Alan Modra <amodra@bigpond.net.au>
10828
10829 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
10830 globalize_label.
10831
766dec0e
RS
108322003-03-23 Roger Sayle <roger@eyesopen.com>
10833
10834 PR c/10178
10835 * stmt.c (expand_end_case_type): Check for overflow in range when
10836 determining whether to use a bit-test implementation.
10837
ef3e9886
RH
108382003-03-23 Richard Henderson <rth@redhat.com>
10839
10840 * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
10841 before flow2.
10842 * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
10843
bd2eae18
RH
108442003-03-23 Richard Henderson <rth@redhat.com>
10845
10846 PR opt/10116
10847 * ifcvt.c (find_if_block): Disallow tablejump insns outgoing
10848 from then_bb or else_bb after flow2.
10849
62c9aa5f
ZW
108502003-03-23 Zack Weinberg <zack@codesourcery.com>
10851
10852 * configure.in: Check whether it is necessary to link against
10853 libm to use ldexp.
10854 * configure: Regenerate.
10855 * Makefile.in: Add LDEXP_LIB substitution variable.
10856
4d1da12a
KH
108572003-03-23 Kazu Hirata <kazu@cs.umass.edu>
10858
10859 * config/h8300/h8300.md: Fix comment typos.
10860
7772f0a9
JDA
108612003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10862
10863 * pa.c (output_cbranch): Fix typo in comment.
10864
3ce6bef0
RH
108652003-03-22 Richard Henderson <rth@redhat.com>
10866
10867 * cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
10868 after reload.
10869
7a9cdb10
DD
108702003-03-22 DJ Delorie <dj at redhat dot com>,
10871 Bruce Korb <bkorb at gnu dot org>
10872
10873 * fixinc/inclhack.def (solaris_mutex_init_1): New; Fix
10874 buggy Solaris 2.6 mutex/cond initializers.
10875 (solaris_mutex_init): Rename to solaris_mutex_init_2.
10876 * fixinc/fixincl.x: Regenerate.
10877 * fixinc/tests/base/pthread.h: Update.
00af168c
BK
10878 * fixinc/fixincl.c(initialize): be explicit about the default case
10879 and indicate verbose level when being very, very verbose.
10880 * fixinc/check.tpl(VERBOSE): provide a means for passing the value in
7a9cdb10 10881
8330e2c6
AJ
108822003-03-22 Andreas Jaeger <aj@suse.de>
10883
10884 * config/i386/i386.c (ix86_init_machine_status): Return value.
10885
02a57c73
JDA
108862003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10887
10888 * pa.c (output_cbranch, output_bb, output_bvb): Output nop for
10889 conditional branch to the following instruction. Use next_real_insn
10890 instead of next_active_insn.
10891 (output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
10892 instead of next_active_insn.
10893
97c6f7ad
UW
108942003-03-22 Ulrich Weigand <uweigand@de.ibm.com>
10895
c967e28c
AM
10896 * config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o'
10897 instead of 'm' constraint in forced-split alternatives.
97c6f7ad
UW
10898 ("*adddi3_31", "*subdi3_31"): Likewise. Also, pass 0 instead of 1 as
10899 VALIDATE_ADDRESS parameter to operand_subword.
10900
c8fcf20c
KH
109012003-03-22 Kazu Hirata <kazu@cs.umass.edu>
10902
10903 * config/h8300/h8300.c (notice_update_cc): Correctly handle
10904 the case where the set destination is STRICT_LOW_PART.
10905
21c0e624
SS
109062003-03-22 Svein E. Seldal <Svein.Seldal@solidas.com>
10907
10908 * config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
10909 c30 instead of a c40 processor.
10910
70e1b8fc
AM
109112003-03-22 Alan Modra <amodra@bigpond.net.au>
10912
10913 * combine.c (simplify_comparison <AND>): Use gen_int_mode. Tidy.
10914
d9b2742a
ZW
109152003-03-21 Zack Weinberg <zack@codesourcery.com>
10916
10917 * c-common.c: Include intl.h.
10918 (shadow_warning): Rewrite to allow better diagnostic translations.
10919 * c-common.h: Update prototype of shadow_warning. Declare sw_kind enum.
10920 * c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
10921 use it throughout.
10922 * Makefile.in (c-common.o): Add intl.h.
10923
cbbf876b
NN
109242003-03-21 Nathanael Nerode <neroden@gcc.gnu.org>
10925
bea41393
NN
10926 * config.gcc: Remove 'float_format'.
10927
cbbf876b
NN
10928 * fixproto: Define NULL and size_t in generated stdlib.h and
10929 unistd.h. Kill unused required_stdlib_h, required_unistd_h.
10930 Rearrange file generation loop for readability. Generate time.h,
10931 string.h if missing.
10932 * tsystem.h: Include <string.h>, <time.h> unconditionally.
10933 * config.gcc: Blow away POSIX defines.
10934
84fcbe0a
SC
109352003-03-22 Stephane Carrez <stcarrez@nerim.fr>
10936
10937 * config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
10938
639a8102
SC
109392003-03-22 Stephane Carrez <stcarrez@nerim.fr>
10940
10941 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
10942 writing .interrupt command.
10943 * config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
10944 if it's a far or near function.
10945 ("call_value"): Likewise.
10946 * config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
10947 near attributes.
10948 (m68hc11_handle_fntype_attribute): Accept attributes on methods.
10949 (m68hc11_override_options): Ignore -mlong-calls for 68HC11.
10950 (m68hc11_initial_elimination_offset): Set current_function_far
10951 according to attributes.
10952 (expand_prologue): Likewise.
10953 (trap_handler_symbol): New global to keep track of trap handlers.
10954 (m68hc11_encode_section_info): Mark symbol as far if needed; set
10955 trap symbol.
10956 (m68hc11_is_far_symbol): New function.
10957 (m68hc11_is_trap_symbol): New function.
10958 * config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
10959 (m68hc11_is_trap_symbol): Declare.
10960
62c9aa5f 109612003-03-21 Jan Hubicka <jh@suse.cz>
d7394366
JH
10962
10963 * i386.c (ix86_compute_frame_layout): Recompute fast prologues
10964 only when amount of saved regs changed.
10965 (ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
10966 * i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
10967
62c9aa5f 109682003-03-21 Jan Hubicka <jh@suse.cz>
5dc96d60
JH
10969
10970 PR inline-asm/7916
10971 * function.c (instantiate_virtual_regs_lossage): New function.
10972 (instantiate_virtual_regs_1): Use it.
10973 (instantiate_virtual_regs): Do not continue in substition when insn has
10974 been deleted.
10975
c5c15353
KH
109762003-03-21 Kazu Hirata <kazu@cs.umass.edu>
10977
10978 * combine.c (make_field_assignment): Fix a warning.
10979
5c1c25f0
KH
109802003-03-21 Kazu Hirata <kazu@cs.umass.edu>
10981
10982 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt_16): New.
10983
6b13641d
DJ
109842003-03-21 Dale Johannesen <dalej@apple.com>
10985
10986 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Increase
10987 priority for R2 on Darwin.
10988 (HARD_REGNO_MODE_OK): Don't accept R31 for DFmode.
10989
6e814b8d
KH
109902003-03-21 Kazu Hirata <kazu@cs.umass.edu>
10991
10992 * combine.c (make_field_assignment): Remove unnecessary AND
10993 when storing into zero_extract.
10994
2d295af5
ZW
109952003-03-21 Zack Weinberg <zack@codesourcery.com>
10996
10997 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT, gcc_AC_C_FLOAT_FORMAT): Delete.
10998 * configure.in: Don't call gcc_AC_C_FLOAT_FORMAT.
10999 * defaults.h: Remove reference to HOST_FLOAT_WORDS_BIG_ENDIAN
11000 in comment.
11001
c0510d84
DD
110022003-03-21 DJ Delorie <dj@redhat.com>
11003
11004 * optabs.c (init_integral_libfuncs): Make sure we init at least up
11005 to "long long" size words.
11006
fe86047c
UW
110072003-03-21 Ulrich Weigand <uweigand@de.ibm.com>
11008
11009 * config/s390/s390.h: Do not include fixdfdi.h on s390x.
11010 (TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
11011 (MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
11012
526278c9
VR
110132003-03-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11014
11015 PR doc-bug/9813
11016 * doc/extend.texi: Move misplaced paragraph about underscores in
11017 variables in macros.
11018
731458a4 110192003-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
2d295af5 11020 Richard Henderson <rth@redhat.com>
731458a4
EB
11021
11022 PR optimization/8366
11023 * config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
11024 (GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
11025 PIC+SYMBOLIC_CONST in other modes than Pmode.
11026 (GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
11027 the form PIC+SYMBOLIC_CONST as mode dependent.
11028
f3cd0185
DD
110292003-03-21 DJ Delorie <dj@redhat.com>
11030
11031 * config/stormy16/stormy16.c (xstormy16_expand_arith): Make
11032 sure we always emit at least one insn.
11033
70e5e841
CF
110342003-03-21 Christopher Faylor <cgf@redhat.com>
11035
11036 * config.gcc (i[34567]86-*-cygwin*): Use new common makefile
11037 stub t-cygming. Use common target header cygming.h. Add extra
11038 c_target_obj and cxx_target_obj file. Default cygwin to posix
11039 threading. Enforce i386 as float format.
11040 (i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
11041 Remove cygwin.h as target header. Use common target header
11042 cygming.h Enforce i386 as float format. Correct typo.
11043 * config/i386/cygming.h: New file, containing definitions
11044 common to mingw32 and cygwin.
11045 * config/i386/cygwin.h: Remove definitions common to cygwin and
11046 mingw. Simplify special spec logic. Define "wrappers" around
11047 certain include path defines to accommodate -mno-cygwin.
11048 Remove some #if 0'ed code.
2d295af5 11049 (STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
70e5e841
CF
11050 (LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
11051 (GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
11052 * config/i386/mingw32.h: Remove definitions common to cygwin and
11053 mingw.
11054 (EXTRA_OS_CPP_BUILTINS): Adjust.
11055 (TARGET_VERSION): Define.
11056 * config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
11057 mingw32.h definitions.
11058 (LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
11059 * config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
11060 Add compilation rules for cygwin1.o cygwin2.o.
11061 * config/i386/cygwin1.c: New file.
11062 * config/i386/cygwin2.c: New file.
11063 * config/i386/t-cygming: New makefile stub.
11064
4bddea4c
RH
110652003-03-20 Richard Henderson <rth@redhat.com>
11066
11067 * fold-const.c (extract_muldiv_1): Revert changing order of
11068 operands in case MULT_EXPR of 2003-02-16 patch.
11069
b3411d7e 110702003-03-20 Daniel Berlin <dberlin@dberlin.org>
06790e5f 11071 Merge changes from new-regalloc-branch
b3411d7e
DB
11072
11073 From Michael Matz <matz@suse.de>
11074 * df.c (df_ref_record_1): Move init of loc to safe point.
11075 Only recurse on interesting things in parallels.
11076 Handle CLASS_CANNOT_CHANGE_MODE smarter.
11077 (df_uses_record): Ditto.
2d295af5 11078
b3411d7e
DB
11079 * df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
11080 it's already okay to use memory operands in (IE doesn't require
11081 adding another insn or anything).
11082
05d482b9
RH
110832003-03-20 Richard Henderson <rth@redhat.com>
11084
11085 PR middle-end/6348
11086 * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
11087 different from word_mode.
11088
86a36a0e
KH
110892003-03-20 Kazu Hirata <kazu@cs.umass.edu>
11090
11091 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
11092 source operand to those that can be extracted with bld.
11093
228692e2
RE
110942003-03-20 Richard Earnshaw <rearnsha@arm.com>
11095
11096 PR 10066
11097 * arm.md (UNSPEC_PIC_BASE): New constant.
11098 (pic_add_dot_plus_four): Wrap with unspec.
11099 (pic_add_dot_plus_eight): Likewise.
11100
d0940a55
KH
111012003-03-20 Kazu Hirata <kazu@cs.umass.edu>
11102
11103 * config/h8300/h8300.md (*insv_si_1_n): New.
11104 (*insv_si_1_n_lshiftrt): Likewise.
11105
c876997f
RS
111062003-03-20 Roger Sayle <roger@eyesopen.com>
11107
11108 * fold-const.c (fold_mathfn_compare): New function to simplify
11109 comparisons against built-in math functions. Fold comparisons
11110 of sqrt against constants.
11111 (fold): Call fold_mathfn_compare when appropriate.
11112
952a6df7
RE
111132003-03-20 Richard Earnshaw <rearnsha@arm.com>
11114
11115 * ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
11116 information.
11117
8826ff0f
PB
111182003-03-20 Per Bothner <pbothner@apple.com>
11119
11120 Various cleanups to help compile server.
11121
b4e46cea
PB
11122 * cppinit.c (cpp_create_reader): Take extra hash_table* argument,
11123 and pass that to _cpp_init_hashtable.
11124 (cpp_read_main_file): Drop hash_table* argument; don't call
11125 _cpp_init_hashtable.
11126 * cpplib.h: Update declarations to match.
11127 * c-opts.c (c_common_init_options): Pass ident_hash to
11128 cpp_create_reader.
11129 (c_common_post_options): Don't pass ident_hash to cpp_read_main_file.
11130 * fix-header.c (read_scan_file): Likewise pass NULL table to
11131 cpp_create_reader rather than cpp_read_main_file.
11132
11133 * cppfiles.c (cpp_rename_file): Generalized and renamed
11134 to cpp_change_file.
11135 * cpplib.h: Update declaration to match.
11136 * c-opts.c (push_command_line_line, finish_options): Change
11137 cpp_rename_file calls to cpp_change_file.
2d295af5 11138
8826ff0f 11139 * line-map.c (add_line_map): Allow leaving the outermost file.
2d295af5 11140 Allowing entering an outermost-file after the initial time.
8826ff0f
PB
11141
11142 * toplev.c (pop_srcloc): Allow popping from initial file.
11143
015c3186
KH
111442003-03-20 Kazu Hirata <kazu at cs dot umass dot edu>
11145
11146 * fold-const.c (fold): Fold A - (A & B) into ~B & A.
11147
101cb92a
KH
111482003-03-20 Kazu Hirata <kazu@cs.umass.edu>
11149
11150 * config/h8300/h8300.md (a peephole2): New.
11151
f4613a2e
KH
111522003-03-20 Kazu Hirata <kazu@cs.umass.edu>
11153
11154 * config/h8300/h8300.md (*addsi3_and_r_1): New.
11155 (*addsi3_and_not_r_1): Likewise.
11156
31260fb8
LR
111572003-03-19 Loren James Rittle <ljrittle@acm.org>
11158
11159 * Makefile.in (STRICT2_WARN): Add @WERROR@.
11160 (GCC_WARN_CFLAGS): Remove $(WERROR).
11161 (fixinc.sh-warn): New.
11162 * ada/Make-lang.in (ada-warn): Add $(WERROR).
11163 * cp/Make-lang.in (cp-warn): Add $(WERROR).
11164 * f/Make-lang.in (f-warn): Add $(WERROR).
11165 * java/Make-lang.in (java-warn): Add $(WERROR).
11166 * treelang/Make-lang.in (treelang-warn): Add $(WERROR).
11167
2bd3ecad
NN
111682003-03-19 Nathanael Nerode <neroden@gcc.gnu.org>
11169
11170 * c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
11171 langhooks-def.h (lhd_tree_dump_dump_tree),
11172 langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
11173 Change return type from 'int' to 'bool'. Replace 0 and 1 with
11174 true and false in return statements.
11175
9eb0ef7a
KB
111762003-03-19 Kevin Buettner <kevinb@redhat.com>
11177
11178 * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
11179 (DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
11180 DWARF_INITIAL_LENGTH_SIZE.
11181 (output_compilation_unit_header, output_pubnames, output_aranges)
11182 (output_line_info): Output 0xffffffff escape value for 64-bit
11183 DWARF extension.
11184 * config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
11185
8b5642e0 111862003-03-19 Ulrich Weigand <uweigand@de.ibm.com>
0796c16a
UW
11187
11188 * config/s390/s390.c (s390_preferred_reload_class): Do not
11189 force constants to the pool unless necessary.
11190 (s390_decompose_address): Prefer to use pointer as base,
11191 not index register.
11192 * config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
11193 Q alternative.
2d295af5 11194 ("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
0796c16a
UW
11195 "*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
11196 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
11197 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
11198 "*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
11199
62c9aa5f 112002003-03-19 Jan Hubicka <jh@suse.cz>
d9b40e8d
JH
11201
11202 * i386.h (machine_function): New fields use_fast_prologue_epilogue.
11203 * i386.c (use_fast_prologue_epilogue): Remove.
11204 (ix86_frame): New field save_regs-using_mov;
11205 (ix86_compute_frame_layout): Decide on fast prologues;
11206 allocate saved registers in red zone.
11207 (ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.
11208
31488c64
NC
112092003-03-19 Nick Clifton <nickc@redhat.com>
11210
11211 * config/mcore/mcore.h (CPP_SPEC): Remove trailing semi-colon.
11212
685d0e07
JDA
112132003-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11214
11215 PR 10062
11216 * config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
11217 * pa-protos.h (output_lbranch): New prototype.
11218 * pa.c (compute_frame_size): Change size of the frame marker on the
11219 64-bit ports to 48 bytes.
11220 (pa_output_function_prologue): Document why SAVE_SP is set.
11221 (hppa_expand_prologue): Save previous stack pointer into frame marker
11222 on targets which use the hpux unwind library.
11223 (output_cbranch): Use output_lbranch.
11224 (output_lbranch): New function to output long unconditional branches.
11225 * pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
11226 (STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
11227 64-bit ports.
11228 * pa.md (jump): Use output_lbranch.
11229 (allocate_stack): New expander for dynamic stack allocation.
11230
6a04f4e0
AM
112312003-03-19 Alan Modra <amodra@bigpond.net.au>
11232
178274da
AM
11233 * config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
11234 when debugging on XCOFF targets. Delete "abi" temp.
11235
6a04f4e0
AM
11236 PR target/10073
11237 * combine.c (force_to_mode <NOT>): Use gen_int_mode.
11238
6b2300b3
JJ
112392003-03-18 Jakub Jelinek <jakub@redhat.com>
11240
11241 * config/s390/s390.c (s390_output_dwarf_dtprel): New.
11242 * config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto.
11243 * config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.
11244
11245 * config/ia64/ia64.c (ia64_output_dwarf_dtprel): New.
11246 * config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto.
11247 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define.
11248
5ba6918e
GK
112492003-03-18 Geoffrey Keating <geoffk@apple.com>
11250
6788f5ca
GK
11251 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't clone
11252 the result of machopic_function_base_name.
11253 * config/darwin.c (machopic_function_base_name): Use a gc-allocated
11254 string rather than a static array.
11255
5ba6918e
GK
11256 * Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
11257
11258 * gengtype.c: Include rtl.h.
11259 (enum rtx_code): Don't define.
11260 (rtx_format): Make declaration match rtl.h.
11261 (rtx_next_new): Rename from rtx_next to avoid conflict. Change all
11262 users.
11263 (adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
11264 * Makefile.in (gengtype.o): Update dependencies.
11265
e0ec941e
AS
112662003-03-18 Andreas Schwab <schwab@suse.de>
11267
11268 * config/m68k/m68k.md (iordi3): Fix setting low half to -1. From
11269 martin@blom.org.
11270
8291cc0e
GK
112712003-03-18 Geoffrey Keating <geoffk@apple.com>
11272
f83b236e
GK
11273 * function.c (next_block_index): Mark with GTY.
11274
8291cc0e
GK
11275 * config/rs6000/rs6000.md (macho_correct_pic): Correct pattern.
11276
b39eb2f9
RH
112772003-03-18 Richard Henderson <rth@redhat.com>
11278
11279 * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
11280 (builtin_setjmp_receiver): Delay call to ia64_reload_gp
11281 until after reload.
11282
6c537d03
RH
112832003-03-18 Richard Henderson <rth@redhat.com>
11284
11285 * builtins.c (expand_builtin_unop): New target_mode operand;
11286 use it to convert the result to the correct mode.
11287 (expand_builtin): Update all callers.
11288
fe03d631
UW
112892003-03-18 Ulrich Weigand <uweigand@de.ibm.com>
11290
11291 * config/s390/s390.md ("movti", "movhi", "movqi"): Add "type" attribute.
11292
62c9aa5f 112932003-03-18 Jan Hubicka <jh@suse.cz>
45183e03 11294
75fbf7d9
JH
11295 * i386.md: Fix previous commit that mistakely applied the patch
11296 twice.
11297
45183e03
JH
11298 * alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
11299 canonicalized.
11300 (memrefs_conflict_p): Likewise.
11301 (addr_side_effect_eval): Canonicalize the constructed address.
11302
62c9aa5f 113032003-03-18 Jan Hubicka <jh@suse.cz>
8dfa3bb0
JH
11304
11305 * i386.md (cvtts?2si peep2): New.
11306
1e788887
KH
113072003-03-18 Kazu Hirata <kazu@cs.umass.edu>
11308
11309 * config/h8300/h8300.md (*iorsi3_two_qi_zext): New.
11310
94e001a9
AS
113112003-03-18 Andreas Schwab <schwab@suse.de>
11312
11313 * dwarf2out.c (output_file_names): Cast size_t to unsigned long
11314 for format.
11315
bdaa131b
JM
113162003-03-17 Jason Merrill <jason@redhat.com>
11317
11318 PR c++/10091
11319 * expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
11320 an unaligned member of TREE_ADDRESSABLE type.
11321
ffcfcb5f
AM
113222003-03-18 Alan Modra <amodra@bigpond.net.au>
11323
11324 * config/rs6000/linux64.h (MASK_PROFILE_KERNEL): Define.
11325 (TARGET_PROFILE_KERNEL): Define.
11326 (SUBTARGET_SWITCHES): Handle -mprofile-kernel.
11327 (PROFILE_BEFORE_PROLOGUE): Don't define.
11328 (PROFILE_KERNEL): Remove hacks.
11329 * config/rs6000/rs6000.c (TARGET_PROFILE_KERNEL): Define default.
11330 (rs6000_stack_info): No need to save lr if just for profiling when
70e1b8fc
AM
11331 TARGET_PROFILE_KERNEL.
11332 (output_profile_hook): Output nothing when TARGET_PROFILE_KERNEL.
ffcfcb5f
AM
11333 (output_function_profiler): Localize label generation. Emit code
11334 for kernel profiling.
11335
9b98dc74
KH
113362003-03-17 Kazu Hirata <kazu@cs.umass.edu>
11337
11338 * config/h8300/h8300-protos.h: Add a prototype for
11339 byte_accesses_mergeable_p.
11340 * config/h8300/h8300.c (byte_accesses_mergeable_p): New.
11341 * config/h8300/h8300.md (*iorhi3_two_qi_mem): Likewise.
11342 (a splitter): Likewise.
11343 (*iorsi3_ashift_16_ashift_24): Likewise.
11344 (*iorsi3_ashift_16_ashift_24_mem): Likewise.
11345
d41c4351
KG
113462003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11347
11348 * dwarf2asm.h: Delete obsolete comment.
11349 (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
11350 dw2_asm_output_pcrel, dw2_asm_output_addr,
11351 dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
11352 dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
11353 dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
11354 dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.
11355
6970c06a
ZW
113562003-03-17 Zack Weinberg <zack@codesourcery.com>
11357
11358 * c-tree.h (struct lang_identifier): Remove error_locus field.
11359 (IDENTIFIER_ERROR_LOCUS): Kill.
11360 (record_function_scope_shadow): New prototype.
11361 * c-typeck.c (build_external_ref): Don't complain if
11362 decl is error_mark_node. When not at file scope, bind the
11363 decl's local value to error_mark_node to suppress further
11364 warnings, instead of setting IDENTIFIER_ERROR_LOCUS.
11365
11366 * c-decl.c (get_function_binding_level): New static function.
11367 (record_function_scope_shadow): New exported function.
11368 (c_make_fname_decl): Use get_function_binding_level.
11369
405a98aa
SE
113702003-03-17 Steve Ellcey <sje@cup.hp.com>
11371
11372 * stmt.c (tail_recursion_args): Call promote_mode to set
11373 unsignedp flag correctly before calling convert_move.
11374
df86c7e2
ZD
113752003-03-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11376
11377 * loop-unroll.c (decide_peel_completely,
11378 decide_unroll_constant_iterations, decide_unroll_stupid,
11379 decide_unroll_runtime_iterations, decide_peel_simple): Set
11380 loop->has_desc.
11381
62c9aa5f 113822003-03-17 Jan Hubicka <jh@suse.cz>
dbccdc42
JH
11383
11384 * ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
11385
b36a8cc2
OH
113862003-03-17 Olivier Hainque <hainque@act-europe.fr>
11387
11388 * function.c (assign_parms): For a struct value address passed as
11389 first argument, delay the function's result RTL setup code until
11390 after the emission of parameter conversions.
6970c06a 11391
94833648
DL
113922003-03-17 Dave Love <fx@gnu.org>
11393 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
aeefc21d
DL
11394
11395 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
11396 __arch64__ to match Compaq cc.
11397
783e2989
NB
113982003-03-17 Neil Booth <neil@daikokuya.co.uk>
11399
11400 * c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
11401 (c_common_init): Set EBCDIC in cpp options.
11402 * cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
11403 not conditional compilation.
11404 * cpplib.h (struct cpp_options): New entry EBCDIC.
11405
72ecfc60
NB
114062003-03-17 Neil Booth <neil@daikokuya.co.uk>
11407
11408 * fix-header.c (read_scan_file): Need to malloc arguments to add_path.
11409
47009d11
MH
114102003-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
11411
11412 * function.c (thread_prologue_and_epilogue_insns): Set delete_unused
11413 argument to 0 for redirect_jump.
47009d11 11414
bafb714b
MM
114152003-03-16 Mark Mitchell <mark@codesourcery.com>
11416
11417 PR c++/8805
11418 * except.c (eh_region_u_cleanup): Add prev_try.
11419 (expand_eh_region_end_cleanup): Set it.
11420 (reachable_handlers): Use it to skip over cleanup blocks.
11421
30492adf
AJ
114222003-03-17 Andreas Jaeger <aj@suse.de>
11423
11424 * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
11425
7b3464ee
AM
114262003-03-17 Alan Modra <amodra@bigpond.net.au>
11427
11428 * config/rs6000/linux64.h (TARGET_64BIT): Redefine.
11429 (TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
11430 (SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
11431 (SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
11432
4f5c0f7e
RH
114332003-03-16 Richard Henderson <rth@redhat.com>
11434
6970c06a
ZW
11435 * simplify-rtx (simplify_binary_operation): Don't abort for
11436 SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
4f5c0f7e 11437
3c298c88
RH
114382003-03-16 Richard Henderson <rth@redhat.com>
11439
6970c06a
ZW
11440 * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
11441 optimize_size as well.
3c298c88 11442
fe91bac5
SC
114432003-03-16 Stephane Carrez <stcarrez@nerim.fr>
11444
11445 * config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
11446 for D register to specify the low part of it, aka B.
11447 (m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
11448 the register if we are loading 1 or -1 to it; avoid using temp
11449 register when moving X/Y to Y/X.
11450 (m68hc11_gen_movqi): Likewise.
11451 (m68hc11_check_z_replacement): Fix last insn setting for compare case.
11452
ddc67067
MM
114532003-03-14 Mark Mitchell <mark@codesourcery.com>
11454
11455 PR optimization/9016
11456 * config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
11457 into the constant pool.
11458
0a71919d
FH
114592003-03-16 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
11460
11461 PR target/9164
11462 * tree.c (get_narrower): For extensions with unchanged bit number,
11463 return the unsignedness of the outer mode.
11464
46ea50cb
RS
114652003-03-16 Roger Sayle <roger@eyesopen.com>
11466
11467 * c-typeck.c (build_component_ref): Turn "for" into "do .. while"
11468 to avoid "may be used uninitialized" warning on ia64-hpux.
11469 * config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.
11470
012c387f
AJ
114712003-03-16 Andreas Jaeger <aj@suse.de>
11472
11473 * configure.in: Improve check for memcheck.h.
11474 * configure: Regenerated.
11475
7d1c4aae
NB
114762003-03-16 Neil Booth <neil@daikokuya.co.uk>
11477
11478 * doc/cppopts.texi: Remove documentation of -A-.
11479
e20798d1
ZW
114802003-03-15 Zack Weinberg <zack@codesourcery.com>
11481
11482 * doc/libgcc.texi: Remove @tie.
11483
4af16369
JZ
114842003-03-15 Josef Zlomek <zlomekj@suse.cz>
11485
11486 * rtl.h (subrtx_p): Renamed to rtx_referenced_p.
11487 (rtx_pair): Added new element update_label_nuses, renamed to
11488 replace_label_data.
11489 * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use
11490 replace_label_data instead of rtx_pair.
11491 * loop.c (load_mems): Likewise.
11492 * rtlanal.c (replace_label): Replace label in pool constants and in
11493 INSN_LIST (in REG_LABEL note).
11494 (subrtx_p): Renamed to rtx_referenced_p.
11495 (subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of
11496 LABEL_REF with CODE_LABEL, traverse constants from pool.
11497
d2184e79
AH
114982003-03-15 Aldy Hernandez <aldyh@redhat.com>
11499 Zack Weinberg <zack@codesourcery.com>
11500
11501 * Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
11502 * doc/libgcc.texi: New file.
11503 * doc/interface.texi: Delete paragraph about libgcc interface.
11504 * doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.
11505
8cadae7e
JM
115062003-03-15 Jason Merrill <jason@redhat.com>
11507
ae0e5982
JM
11508 PR debug/9039
11509 * dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
11510
8cadae7e
JM
11511 PR debug/6387
11512 * dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
11513 function DIEs at toplevel.
11514 (decls_for_scope): At -g1, don't descend into subblocks.
11515
2436a91b
UW
115162003-03-15 Ulrich Weigand <uweigand@de.ibm.com>
11517
11518 * varasm.c (struct rtx_const): Change type of un.addr member
11519 to struct holding an additional 'symbol' member.
11520 (decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
11521 with equal string addresses as equal.
11522 (simplify_subtraction): Adapt to struct rtx_const change.
11523
151c68c3
NB
115242003-03-15 Neil Booth <neil@daikokuya.co.uk>
11525
11526 * fix-header.c (read_scan_file): Read main file before handling -D.
11527
6a87d634
RS
115282003-03-15 Roger Sayle <roger@eyesopen.com>
11529
11530 * c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
11531 * c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
11532 * cfgbuild.c (find_many_sub_basic_blocks): Likewise.
11533 (find_sub_basic_blocks): Likewise.
11534 * cgraphunit.c (cgraph_expand_functions): Likewise.
11535 * dwarf2out.c (prune_unused_types): Likewise.
11536 * expr.c (store_field): Likewise.
11537 * genextract.c (print_path): Likewise.
11538 * haifa-sched.c (schedule_insn): Likewise.
11539 * lcm.c (compute_antinout_edge): Likewise.
11540 * loop-unroll.c (decide_peel_once_rolling): Likewise.
11541 * ra-colorize.c (ra_colorize_free_all): Likewise.
11542 * ra-debug.c (dump_igraph): Likewise.
11543 (debug_hard_reg_set): Likewise.
11544 * reg-stack.c (reg_to_stack): Likewise.
11545 * rtlanal.c (refers_to_regno_p): Likewise.
11546 * tracer.c (layout_superblocks): Likewise.
11547
49c46444
NB
115482003-03-15 Neil Booth <neil@daikokuya.co.uk>
11549
11550 * fix-header.c (read_scan_file): Fix thinko.
11551
1fe668e5
GN
115522003-03-15 Glen Nakamura <glen@imodulo.com>
11553
11554 * reload1.c (choose_reload_regs): Use && instead of ||
11555 with REG_CANNOT_CHANGE_MODE_P condition.
11556
c1bad961
NB
115572003-03-15 Neil Booth <neil@daikokuya.co.uk>
11558
11559 * Makefile.in: Update.
11560 * c-common.h (cb_register_builtins): Rename c_cpp_builtins.
11561 * c-lex.c (init_c_lex): Register builtins hook is dead.
11562 * c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
11563 (c_common_decode_option): Don't call cpp_handle_option.
11564 Handle -A, -D and -U.
11565 (handle_deferred_opts): Simplify.
11566 (finish_options): Define builtins and command line macros.
11567 * c-ppoutput.c (init_pp_output): Register builtins hook is dead.
11568 * cppinit.c: Don't include intl.h.
11569 (init_builtins): Rename cpp_init_builtins. No hook to call.
11570 (init_library): Don't need to sort options.
11571 (cpp_create_reader): Don't set pending.
11572 (cpp_destroy): Don't free pending.
11573 (struct pending_option, cl_directive_handler, struct cpp_pending,
11574 APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
11575 cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
11576 cl_options, cpp_handle_option): Remove.
11577 * cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
11578 cpp_finish_options): Remove.
11579 (cpp_init_builtins): New.
11580 * fix-header.c (read_scan_file): Update to handle -D. Fix
11581 handling of -I. Replace call to cpp_finish_options.
11582
d8eed979
MH
115832003-03-15 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
11584
11585 PR optimization/9387
11586 * function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
11587 for conditional returns.
11588
af75fb67
JM
115892003-03-14 Jason Merrill <jason@redhat.com>
11590
11591 PR optimization/6871
11592 * varasm.c (assemble_variable): Leave constant zeroes in .rodata.
11593
255c10b1
NB
115942003-03-14 Neil Booth <neil@daikokuya.co.uk>
11595
11596 * c-opts.c (finish_options): New.
11597 (COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
11598 (missing_arg): Handle OPT_include and OPT_imacros.
11599 (c_common_init, c_common_parse_file): Use finish_options.
11600 (handle_deferred_opts): Update.
11601 * cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
11602 (cpp_finish_options): Don't handle -imacros here.
11603 (no_fil): Remove.
11604 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
11605
027fbf43
JJ
116062003-03-14 Jakub Jelinek <jakub@redhat.com>
11607
11608 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
11609 rs6000_maybe_dead if !fromprolog.
11610
23345bbb
NB
116112003-03-14 Neil Booth <neil@daikokuya.co.uk>
11612
11613 * Makefile.in: Update.
11614 * c-common.h (fe_file_change, pp_file_change): New.
11615 * c-lex.c (init_c_lex): Don't set cb_file_change.
11616 (c_common_parse_file): Move to c-opts.c.
11617 (cb_file_change): Rename fe_file_change.
11618 * c-opts.c: Include debug.h.
11619 (warn_unused_macros, include_cursor): New.
11620 (push_command_line_include, cb_file_change): New.
11621 (COMMAND_LINE_OPTIONS): Handle -include.
11622 (c_common_decode_option): Use local warn_unused_macros.
11623 Handle OPT_include.
11624 (c_common_post_options): Set file change callback.
11625 (handle_deferred_opts): Skip -include. Don't free the array.
11626 (c_common_init): Call cpp_finish_options here, and push an
11627 initial -include file.
11628 * c-ppoutput.c (cb_file_change): Rename pp_file_change.
11629 (preprocess_file): Don't call cpp_finish_options.
11630 (init_pp_output): Don't set the file change callback.
11631 (pp_file_change): Return if no line commands or no output.
11632 * cpphash.h (next_include_file, first_unused_line): Remove.
11633 * cppinit.c (include_head, include_tail): Remove.
11634 (cpp_destroy): Don't free -include chain.
11635 (cpp_finish_options): Don't handle -include, or worry about
11636 -Wunused-macros.
11637 (_cpp_maybe_push_include_file): Remove.
11638 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
11639 * cpplib.c (_cpp_pop_buffer): Don't handle -include.
11640 * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
11641 Used flag is set based upon the state of the warn_unused_macros
11642 flag, and so use of first_unused_line is unnecessary.
11643
62c9aa5f 116442003-03-13 Jan Hubicka <jh@suse.cz>
cd648cec
JH
11645
11646 * cselib.c (clear_table): Do not take argument; always clear just
11647 used slots.
11648 (cselib_process_insn): Update call of clear_table
11649 (cselib_init): Do not call clear_table.
11650 (cselib_finish): Clear table.
11651
11652 * cse.c (count_reg_usage): Do not check side_effects_p.
11653 * rtlanal.c (set_noop_p): Check side_effects_p only when set looks
11654 like noop.
11655 (find_reg_equal_equiv_note): Do not use find_reg_note.
11656
35d9c403
RH
116572003-03-14 Richard Henderson <rth@redhat.com>
11658
11659 PR target/9700
1fe668e5 11660 * config/alpha/alpha.c (alpha_va_start): Account for
35d9c403
RH
11661 current_function_pretend_args_size in the AP offset.
11662
11663 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Move out of line.
11664 (INITIAL_ELIMINATION_OFFSET): Move out of line.
11665 * config/alpha/alpha.c (alpha_setup_incoming_varargs): New.
11666 (alpha_initial_elimination_offset) New.
11667 * config/alpha/alpha-protos.h: Update.
11668
f43f4314
JJ
116692003-03-14 Jakub Jelinek <jakub@redhat.com>
11670
11671 * stmt.c (expand_start_case): Call emit_queue ().
11672
35d9c403
RH
116732003-03-14 Chris Demetriou <cgd@broadcom.com>
11674 Alexandre Oliva <aoliva@redhat.com>
a0a89ed0
CD
11675
11676 * config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
11677 words in new abis.
11678
f650843f
EB
116792003-03-14 Eric Botcazou <ebotcazou@libertysurf.fr>
11680
11681 PR optimization/8396
11682 * tree-inline.c (initialize_inlined_parameters): Make sure the value
11683 of read-only constant arguments is passed with the right type.
11684
a721a601
SB
116852003-03-14 Steven Bosscher <steven@gcc.gnu.org>
11686
11687 * doc/extend.texi (Function Names): Make the example compilable.
11688
a12f8290
DE
116892003-03-13 David Edelsohn <edelsohn@gnu.org>
11690
11691 * config/rs6000/rs6000.c (processor_target_table): Really allow
11692 GP optional instructions on Power4.
11693
116942003-03-13 Roger Sayle <roger@eyesopen.com>
36dbb93d
RS
11695
11696 * calls.c (flags_from_decl_or_type): Factor and remove redundant
11697 conditional tests.
11698
c4775f82
MS
116992003-03-13 Mike Stump <mrs@apple.com>
11700
11701 * ggc-page.c (struct page_entry): Remove varray.h header.
11702 Add index_by_depth field.
11703 Remove save_in_use_p field.
11704 (struct globals): Add depth_in_use, depth_max, by_depth_in_use,
11705 by_depth_max, by_depth, and save_in_use fields.
11706 (INITIAL_PTE_COUNT): Add.
11707 (save_in_use_p_i): Add.
11708 (save_in_use_p): Add.
11709 (adjust_depth): Add.
11710 (move_ptes_to_front): Add.
11711 (push_depth): Add.
11712 (push_by_depth): Add.
11713 (prefetch): Add.
11714 (free_page): Add support for and use faster data structures.
11715 (ggc_alloc): Likewise.
11716 (init_ggc): Likewise.
11717 (ggc_recalculate_in_use_p): Likewise.
11718 (ggc_pop_context): Likewise.
11719 (clear_marks): Likewise.
11720 (ggc_pch_read): Likewise.
11721 * Makefile.in (ggc-page.o): Remove varray.h.
11722
3bed2930
NN
117232003-03-13 Nathanael Nerode <neroden@gcc.gnu.org>
11724
7210d5ae
NN
11725 * ChangeLog: Rotated last year's entries to...
11726 * ChangeLog.8: New.
11727
1fe668e5 11728 * config/ia64/fde-glibc.c, config/ia64/freebsd.h,
3bed2930
NN
11729 config/ia64/hpux.h, config/ia64/hpux_longdouble.h,
11730 config/ia64/ia64-c.c, config/ia64/ia64-modes.def,
11731 config/ia64/ia64-protos.h, config/ia64/ia64.c,
11732 config/ia64/ia64.h, config/ia64/ia64.md,
11733 config/ia64/itanium1.md, config/ia64/itanium2.md,
11734 config/ia64/quadlib.c, config/ia64/unwind-ia64.c,
11735 config/ia64/unwind-ia64.h: It's GCC, not GNU CC.
11736
3bd104d1
AH
117372003-03-13 Aldy Hernandez <aldyh@redhat.com>
11738
d2184e79
AH
11739 * config/rs6000/rs6000.c (rs6000_dwarf_register_span):
11740 Differentiate endianness.
11741 (s6000_override_options): Use cpu type instead of TARGET_SPE.
3bd104d1 11742
2ed0b52a
NC
117432003-03-13 Nick Clifton <nickc@redhat.com>
11744
b17fe233 11745 * config/arm/arm.c (print_multi_reg): Do not generate a type 2
d2184e79
AH
11746 LDM instructions with writeback enabled.
11747 (output_return_instruction): Likewise.
b17fe233 11748
2ed0b52a
NC
11749 * config/arm/pe.h (FIXED_REGISTERS): Remove definition.
11750 (CALL_USED_REGISTERS): Remove definition.
11751 (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define.
11752
f1384257
AM
117532003-03-13 Alan Modra <amodra@bigpond.net.au>
11754
11755 * config/rs6000/rs6000.c (rs6000_flag_pic): Delete.
11756 (rs6000_xcoff_encode_section_info): #ifdef TARGET_XCOFF.
11757 (rs6000_binds_local_p, TARGET_BINDS_LOCAL_P): #if TARGET_MACHO.
11758 (rs6000_override_options): Don't clear flag_pic for ABI_AIX.
11759 (rs6000_legitimize_address): Formatting.
11760 (rs6000_emit_move): Likewise.
11761 (rs6000_return_addr): Test ABI_AIX as well as flag_pic.
11762 (rs6000_emit_prologue <save_LR_around_toc_setup>): Likewise.
11763 (rs6000_elf_select_section): Comment reason for shlib being
11764 set for ABI_AIX.
11765 (rs6000_elf_unique_section): Likewise.
11766 (rs6000_elf_encode_section_info): Test !TARGET_AIX as well as ABI_AIX.
11767 * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Test ABI_AIX
11768 as well as flag_pic.
11769 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
11770 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
11771 * config/rs6000/linux64.h (TARGET_ENCODE_SECTION_INFO): Don't define.
11772
599aedd9
RH
117732003-03-13 Richard Henderson <rth@redhat.com>
11774
11775 * emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
11776
11777 * config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
11778 (ia64_gp_save_reg): Remove.
11779 (struct ia64_frame_info): Move to the beginning of the file;
11780 add reg_save_gp.
11781 (ia64_expand_call): Rearrange for new call patterns.
11782 (ia64_reload_gp): New.
11783 (ia64_split_call): New.
11784 (ia64_compute_frame_size): Allocate reg_save_gp.
11785 (ia64_expand_prologue): Save reg_save_gp.
11786 (ia64_expand_epilogue): Don't restore gp.
11787 (ia64_hard_regno_rename_ok): Remove R4 hack.
11788 (ia64_function_ok_for_sibcall): New.
1fe668e5 11789 (ia64_output_mi_thunk): Set reload_completed, no_new_pseudos;
599aedd9
RH
11790 call try_split on sibcall pattern.
11791 * config/ia64/ia64-protos.h: Update.
11792 * config/ia64/ia64.md (call_nogp, call_value_nogp, sibcall_nogp):
11793 Rename from nopic versions. Confiscate 2nd argument to call as
11794 a marker.
11795 (call_pic, call_value_pic, sibcall_pic): Remove.
11796 (call_gp, call_value_gp, sibcall_gp): New.
11797 (builtin_setjmp_setup): Remove.
11798 (builtin_setjmp_receiver): Call ia64_reload_gp.
11799
e7d9d16b
NN
118002003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
11801
1fe668e5 11802 * config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
2ff8f7ac
NN
11803 config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md: Replace
11804 "GNU CC" with "GCC".
11805
4db9c756
NN
11806 * config/c4x/c4x-c.c, config/c4x/c4x-modes.def,
11807 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
11808 config/c4x/c4x.md, config/c4x/libgcc.S, config/c4x/rtems.h:
11809 GCC, not GNU CC.
11810
63b025a5
NN
11811 * genattrtab.h, hosthooks-def.h, hosthooks.h, langhooks-def.h,
11812 langhooks.h, tree-inline.h: Replace "GNU CC" with "GCC".
11813
54a7b573
NN
11814 * c-pch.c, dummy-conditions.c, genautomata.c, genconditions.c,
11815 langhooks.c, tree-inline.c, unwind-dw2-fde-darwin.c,
11816 unwind-dw2-fde-glibc.c, unwind-libunwind.c, vmsdbgout.c: Replace
11817 "GNU CC" with "GCC".
11818
301ee2f3
NN
11819 * config/v850/lib1funcs.asm, config/v850/rtems.h,
11820 config/v850/v850-c.c, config/v850/v850-protos.h,
11821 config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
11822 GCC, not GNU CC.
11823
e7d9d16b
NN
11824 * config/vax/bsd.h, config/vax/elf.h, config/vax/netbsd-elf.h,
11825 config/vax/netbsd.h, config/vax/openbsd.h, config/vax/openbsd1.h,
11826 config/vax/ultrix.h, config/vax/vax-protos.h, config/vax/vax.c,
11827 config/vax/vax.h, config/vax/vax.md, config/vax/vaxv.h: GCC, not
11828 GNU CC.
11829
93c98498
BK
118302003-03-12 Benjamin Kosnik <bkoz@redhat.com>
11831
11832 * cpppch.c (cpp_valid_state): Use DL_WARNING_SYSHDR, not DL_WARNING.
11833
e531258e
NN
118342003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
11835
706ae11c
NN
11836 * fixinc/fixinc.interix: Remove dead code (most of it).
11837 * fixinc/fixinc.dgux: Remove.
11838
e531258e
NN
11839 * ginclude/float.h, ginclude/iso646.h, ginclude/stdarg.h,
11840 ginclude/stdbool.h, ginclude/stddef.h: GCC, not GNU CC.
11841
eab9e742
JDA
118422003-03-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11843
11844 * pa.c (pa_init_builtins): Fix warning.
11845
03d0dce1
SE
118462003-03-12 Steve Ellcey <sje@cup.hp.com>
11847
11848 * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
11849 (ASM_OUTPUT_XDATA_SHORT): Remove.
11850 (ASM_OUTPUT_XDATA_INT): Remove.
11851 (ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
11852 (ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
11853 (ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
11854 (CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
11855
847311f4
AL
118562003-03-12 Andrew Lewycky <andrew@mxc.ca>
11857
11858 PR c++/7050
11859 * expr.c (store_expr): Don't attempt to store void-typed trees,
11860 just evaluate them for side effects.
11861
c19b12cb
NB
118622003-03-12 Neil Booth <neil@daikokuya.co.uk>
11863
11864 * cppfiles.c (cpp_rename_file, cpp_push_include): New.
11865 * cppinit.c (push_include): Move with changes to cppfiles.c.
11866 (cpp_read_main_file): Mark named operators here...
11867 (cpp_finish_options): ...not here. Update.
11868 (_cpp_maybe_push_include_file): Update.
11869 * cpplib.h (cpp_push_include, cpp_rename_file): New.
11870
ad9c4d9f
NN
118712003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
11872
847311f4
AL
11873 * aclocal.m4: Introduce gcc_GAS_VERSION_GTE_IFELSE,
11874 _gcc_COMPUTE_GAS_VERSION.
11875 * configure.in: Use them.
11876 * configure: Regenerate.
ad9c4d9f 11877
8d49831d
BW
118782003-03-12 Bob Wilson <bob.wilson@acm.org>
11879
d2184e79 11880 * config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
8d49831d 11881 to detect carry.
d2184e79 11882 (subdi3): Reorder emitted instructions.
8d49831d 11883
bfa2615f
AJ
118842003-03-12 Andreas Jaeger <aj@suse.de>
11885
11886 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Remove call to
11887 NETBSD_OS_CPP_BUILTINS_LP64.
11888
73458fb7
NN
118892003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
11890
11891 * Makefile.in: Eliminate all.indirect. Update and clean up comments.
11892 Rearrange. Reorganize.
11893 * configure.in: Rearrange.
11894 * configure: Regenerate.
11895
00530a21
AJ
118962003-03-12 Andreas Jaeger <aj@suse.de>
11897
d2184e79
AH
11898 * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for
11899 LP64 targets.
00530a21 11900
d2184e79
AH
11901 * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and
11902 _LP64.
00530a21 11903
d2184e79
AH
11904 * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define
11905 _LP64 macros here.
11906 * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise.
00530a21 11907
d2184e79
AH
11908 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to
11909 NETBSD_OS_CPP_BUILTINS_LP64.
11910 * config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
11911 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
00530a21 11912
d2184e79 11913 * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove.
00530a21 11914
62c9aa5f 119152003-03-12 Jan Hubicka <jh@suse.cz>
5474eed5
JH
11916
11917 * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
11918
8c35a61a 119192003-03-12 Daniel Jacobowitz <drow@mvista.com>
59a7f9bf
DJ
11920
11921 Fix PR target/9797 and PR c/9853.
11922 * stmt.c (expand_decl_init): Call push_temp_slots () and
11923 pop_temp_slots ().
11924
62c9aa5f 119252003-03-12 J"orn Rennecke <joern.rennecke@superh.com>
1aa03f38
R
11926
11927 * sh.c: Include basic-block.h.
11928 (sh_output_mi_thunk, emit_load_ptr): New functions.
11929 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine.
11930
6f8c9bd1
NC
119312003-03-12 Nick Clifton <nickc@redhat.com>
11932
11933 * config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
11934 (CALL_USED_REGISTERS): Likewise.
11935 * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
11936 describing how this value is calculated.
11937
b2522d2b
HPN
119382003-03-12 Hans-Peter Nilsson <hp@bitrange.com>
11939
11940 * configure.in (rlim_t): Define to long if no valid definition
11941 found in sys/resource.h.
11942 * config.in, configure: Regenerate.
11943
f7248b51
NB
119442003-03-12 Neil Booth <neil@daikokuya.co.uk>
11945
11946 * config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
11947 TARGET_OS_CPP_BUILTINS.
11948 * config/mcore/mcore-pe.h: Similarly.
11949 * config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
11950 CPP_SPEC with TARGET_CPU_CPP_BUILTINS.
11951
8a7d6cb3
EB
119522003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
11953
11954 PR c/9928
11955 * c-decl.c (duplicate_decls): Discard the initializer of the new decl
11956 only if it is a VAR_DECL.
11957
db1077d3
EB
119582003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
11959
11960 PR optimization/9888
11961 * config/i386/i386.md (jcc_1): Fix range.
11962 (jcc_2): Likewise.
11963 (jump): LIkewise.
11964 (doloop_end_internal): Likewise.
11965
6ca23bff 119662003-03-12 Danny Smith <dannysmith@users.sourceforge.net>
1fe668e5 11967
6ca23bff
DS
11968 * config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
11969 Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
11970 (DLL_EXPORT_PREFIX): New define. Use throughout instead of
11971 DLL_IMPORT_EXPORT_PREFIX and "i."
11972 (i386_pe_dllexport_name_p): Here.
11973 (i386_pe_dllimport_name_p): Here.
d2184e79 11974 (i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
6ca23bff
DS
11975 not 9 chars when getting identifier name.
11976 (i386_pe_mark_dllimport): Here.
11977 (i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
11978 not 9 chars when getting identifier name. Correct comment.
11979 (i386_pe_strip_name_encoding): Here. Add comments for different
11980 cases.
11981 (gen_fastcall_suffix): Break down xmalloc() argument to
11982 components.
11983 (gen_stdcall_suffix): Likewise.
11984 Update copyright year.
11985
9b73c90a
EB
119862003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
11987
11988 PR optimization/9888
11989 * config/i386/i386.md (movsi_1): Remove special alternatives
11990 for %eax register.
11991 (movsi_1_nointernunit): Likewise.
11992 (movhi_1): Likewise.
11993 * config/i386/i386.c (memory_address_length): Do not use
11994 short displacement when there is no base.
11995 (ix86_attr_length_address_default): Handle LEA instructions.
11996
21282b1e
NB
119972003-03-12 Neil Booth <neil@daikokuya.co.uk>
11998
11999 * c-cppbuiltin.c (builtin_define_std): Make non-static.
12000
7358f10d
LR
120012003-03-11 Loren James Rittle <ljrittle@acm.org>
12002
12003 * config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
12004 (FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
12005 (FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
12006 * config/freebsd.h (CPP_PREDEFINES): Remove.
12007 (TARGET_OS_CPP_BUILTINS): New.
12008 * config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
12009 instead of TARGET_OS_CPP_BUILTINS.
12010 * config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
12011
d00bc0a2
GK
120122003-03-11 Geoffrey Keating <geoffk@apple.com>
12013
12014 * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
12015
9b7b447f
AH
120162003-03-11 Aldy Hernandez <aldyh@redhat.com>
12017
d2184e79
AH
12018 * config/rs6000/rs6000.c (rs6000_stack_info): Remove
12019 insn_chain_scanned. Use insn_chain_scanned_p in machine_function.
9b7b447f 12020
d2184e79 12021 * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
9b7b447f 12022
62c9aa5f 120232003-03-11 Alexandre Oliva <aoliva@redhat.com>
18a47d21
AO
12024
12025 * toplev.c (independent_decode_option): Return success for --help,
12026 --target-help and --version.
12027
62c9aa5f 120282003-03-11 Alexandre Oliva <aoliva@redhat.com>
c0a579df
AO
12029
12030 * config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
12031 Default to -mips3 on -mabi=64. Don't add -mips* flag if -march is
12032 specified.
12033 (SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
12034 DRIVER_SELF_SPECS.
12035 (LINK_SPEC): Let endian options affect the linker emulation name.
12036
62c9aa5f 120372003-03-11 J"orn Rennecke <joern.rennecke@superh.com>
ea45c4b0
R
12038
12039 * sh.md (reload_inqi): Fix mode for source in second set.
12040
62c9aa5f 120412003-03-11 Jan Hubicka <jh@suse.cz>
7101fb18
JH
12042
12043 * cselib.c (cselib_invalidate_mem_1): Move too ...
12044 (cselib_invalidate_mem): ... here; use new list
12045 (dummy_val, first_containing_mem): New static variables.
12046 (clear_table): Initialize first_containing_mem.
12047 (discard_useless_values): Compact the containing_mem list.
12048 (add_mem_for_addr): Add to the list.
12049 * cselib.h (cselib_val): Add next_containing_mem.
12050
b5044283
AH
120512003-03-11 Aldy Hernandez <aldyh@redhat.com>
12052
d2184e79
AH
12053 * config/rs6000/rs6000.c (rs6000_override_options): Disable string
12054 instructions for e500.
b5044283 12055
cd6a5007
NB
120562003-03-11 Neil Booth <neil@daikokuya.co.uk>
12057
12058 * Makefile.in: Update.
12059 * c-cppbuiltin.c: Include tm_p.h.
12060
41f3a930
AH
120612003-03-11 Aldy Hernandez <aldyh@redhat.com>
12062
d2184e79 12063 * doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
41f3a930 12064
d2184e79
AH
12065 * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Define.
12066 (_Unwind_GetGR): Use DWARF_REG_TO_UNWIND_COLUMN.
12067 (_Unwind_SetGR): Same.
12068 (_Unwind_GetGRPtr): New.
12069 (_Unwind_SetGRPtr): New.
12070 (uw_update_context_1): Use accesor functions instead of accessing
12071 context->reg[] directly.
12072 (uw_install_context_1): Same.
12073 (execute_cfa_program): Same.
12074 (__frame_state_for): Same.
41f3a930 12075
d2184e79
AH
12076 * config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
12077 the synthetic register offset.
41f3a930 12078
d2184e79 12079 * config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
41f3a930 12080
d2f55c5c
HPN
120812003-03-11 Hans-Peter Nilsson <hp@axis.com>
12082
12083 * config/cris/cris.md: Remove lingering EGCS reference.
12084 ("*extopqihi_side_biap"): For HI operation, match
12085 cris_additive_operand_extend_operator, not
12086 cris_operand_extend_operator. Adjust condition.
12087 ("*extopqihi_side", "*extopqihi"): Ditto.
12088 ("*extopqisi_side_biap"): Correct operand numbers in condition.
12089 ("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
12090 ("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
12091 ("*extophisi_swap"): Ditto.
12092 ("*extopqihi_swap_side_biap"): For HI operation, match a simple
12093 PLUS, not cris_operand_extend_operator. Adjust condition and
12094 output template.
12095 ("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
12096 * config/cris/cris.h (PREDICATE_CODES): Add
12097 cris_additive_operand_extend_operator.
12098 * config/cris/cris.c (cris_additive_operand_extend_operator):
12099 New predicate.
12100
37bd08f8
HP
121012003-03-11 Hartmut Penner <hpenner@de.ibm.com>
12102
12103 * df.c (read_modify_subreg_p): Change from static to global.
12104 * df.h (read_modify_subreg_p): Add prototype.
12105 * sched-deps.c (sched_analyze_1): Generate true dependency for
1fe668e5 12106 strict_low_part, certain subregs and zero/sign_extract.
37bd08f8 12107
cb60f38d
NB
121082003-03-11 Neil Booth <neil@daikokuya.co.uk>
12109
12110 * Makefile.in: Update.
12111 * c-common.c: Don't include real.h or except.h.
12112 (REGISTER_PREFIX): Remove.
12113 (builtin_define_std, builtin_define_with_value,
12114 builtin_define_with_int_value, builtin_define_with_hex_fp_value,
12115 builtin_define_type_max, builtin_define_type_precision,
12116 builtin_define_float_constants): Move to c-cppbuiltin.c.
12117 (c_stddef_cpp_builtins): New.
12118 * c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
12119 * c-cppbuiltin.c: New, extracted from c-common.c.
12120 (define__GNUC__): New.
12121 * cppspec.c (lang_specific_driver): Remove support of -no-gcc.
12122 * gcc.c: Remove support of %v1, %v2 and %v3 specs.
12123 (cpp_unique_options): Don't support no-gcc.
12124 (do_spec_1): Remove support of version specs.
12125 * doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
12126 * doc/passes.texi: Update.
12127 * doc/tm.texi: Update.
12128
31ca3635
AH
121292003-03-10 Aldy Hernandez <aldyh@redhat.com>
12130
d2184e79 12131 * dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
31ca3635 12132
ab82a49f
AP
121332003-03-10 Andrew Pinski <apinski@apple.com>
12134
12135 * config/darwin.c (machopic_function_base_name): If dynamic-no-pic
12136 is on should not get here.
12137 (machopic_indirect_data_reference): If dynamic-no-pic is on just
12138 generate high/low parts of the address.
12139 (machopic_legitimize_pic_address): Change MACHOPIC_PURE to
12140 MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
12141 symbol and labels with a new reg. Dynamic-no-pic does not have a
12142 pic_offset_table_rtx.
12143 (machopic_select_section): Change references of flag_pic to
1fe668e5 12144 MACHOPIC_INDIRECT.
ab82a49f
AP
12145 (machopic_asm_out_destructor): Likewise.
12146 * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
12147 reference of flag_pic to MACHOPIC_INDIRECT.
12148 (MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
12149 (MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
12150 (MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
12151 (MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
12152 * config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
12153 0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
12154 * config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
12155 (TARGET_DYNAMIC_NO_PIC): Define.
12156 (SUBTARGET_SWITCHES): Define, have sub-target switches for
1fe668e5 12157 dynamic-no-pic.
ab82a49f
AP
12158 (SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
12159 rs6000_override_options to here. Dynamic-no-pic overrides
12160 pic.
12161 (CC1_SPEC): Change from not static then pic to not static and not
12162 dynamic-no-pic then pic.
12163 * config/rs6000/rs6000.c (rs6000_override_options): Move the
12164 check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
12165 (rs6000_legitimize_reload_address): Add case for loading floating in
12166 dynamic-no-pic.
12167 (rs6000_emit_move): Add case for dynamic-no-pic. Change reference
12168 of flag_pic to MACHOPIC_INDIRECT.
12169 (secondary_reload_class): Conditional change the reference of
12170 flag_pic to MACHOPIC_INDIRECT.
12171 (rs6000_output_mi_thunk): Change reference of flag_pic to
12172 MACHOPIC_INDIRECT.
12173 (output_profile_hook): Likewise.
12174 (machopic_output_stub): Non-pure (dynamic-no-pic) is now supported.
12175 * config/rs6000/rs6000.md (movdf_low): Add the case for
12176 MACHO_DYNAMIC_NO_PIC_P.
12177 (call): Change references for flag_pic in TARGET_MACHO to
12178 MACHOPIC_INDIRECT.
12179 (SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
12180 -mdynamic-no-pic is on. Also move case for -fpic from rs6000.c.
12181 * doc/invoke.texi (-mdynamic-no-pic): Document.
87d7d780
DP
12182
121832003-03-10 Devang Patel <dpatel@apple.com>
1fe668e5 12184
87d7d780
DP
12185 PR c++/9394
12186 * gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
12187 (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
12188 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
12189 (DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
12190 * cppspec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
12191 (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
1fe668e5 12192
6b856d15
SB
121932003-03-10 Steven Bosscher <s.bosscher@student.tudelft.nl>
12194
12195 PR optimization/7189
12196 * toplev.c (rest_of_compilation): Move
12197 check_function_return_warnings up to just after
12198 delete_unreachable_blocks.
12199
2d8d15b7
SC
122002003-03-10 Stephane Carrez <stcarrez@nerim.fr>
12201
12202 * config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
12203 * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
12204 Declare.
12205 * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
12206 for reg rename optimization to avoid using Z and Y registers.
12207
0e01d661
SC
122082003-03-10 Stephane Carrez <stcarrez@nerim.fr>
12209
12210 * config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
12211 when adding to X and Y since leax/leay are fast.
12212 ("*addhi3"): Accept 'I' constraint when adding to address register.
12213 ("rotlhi3"): Operand 1 must be a register_operand.
12214 (peephole2): New peephole to optimize some adds.
12215 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
12216 to represent -2 .. 2 small integer range.
12217
ae5b570e
SC
122182003-03-10 Stephane Carrez <stcarrez@nerim.fr>
12219
12220 * config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
12221 each 16-bit rotation.
12222
52999738
ZW
122232003-03-10 Zack Weinberg <zack@codesourcery.com>
12224
12225 * c-opts.c (add_prefixed_path): Don't use concat. When
12226 prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
12227 cpp_GCC_INCLUDE_DIR_len characters.
12228
5c242421
SB
122292003-03-10 Segher Boessenkool <segher@koffie.nl>
12230
52999738 12231 * testsuite/gcc.dg/altivec-9.c: New file.
5c242421 12232
52999738
ZW
12233 * config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
12234 (rs6000_emit_prologue): Use rs6000_frame_related instead.
5c242421 12235
b4053702
AH
122362003-03-10 Aldy Hernandez <aldyh@redhat.com>
12237
52999738
ZW
12238 * config/rs6000/spe.h: Define __ev64_*64__ to use single element
12239 vectors.
12240 (__ev_convert_u64): Remove macro. Define as inline.
12241 (__ev_convert_s64): Same.
b4053702 12242
c19de7aa
AH
122432003-03-10 Aldy Hernandez <aldyh@redhat.com>
12244
52999738
ZW
12245 * config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
12246 (rs6000_stack_t): Add spe_64bit_regs_used.
c19de7aa 12247
52999738
ZW
12248 * config/rs6000/rs6000.c (rs6000_stack_info): Calculate
12249 spe_64bit_regs_used, and use it to determine the size of the
12250 frame.
12251 (spe_func_has_64bit_regs_p): New.
12252 (spe_synthesize_frame_save): New.
12253 (rs6000_frame_related): Handle SPE synthetic registers.
12254 (rs6000_emit_prologue): Only save in 64-bits if the function used
12255 any registers in 64-bit mode.
12256 (rs6000_emit_epilogue): Same, but for restore.
c19de7aa 12257
29ad9694
RE
122582003-03-10 Richard Earnshaw <rearnsha@arm.com>
12259
12260 * arm.h (enum floating_point_type): Delete. Replace with...
12261 (enum fputype): ... new.
12262 (FPUTYPE_DEFAULT): Renamed from FP_DEFAULT. Values reworked.
12263 * linux-elf.h (FPUTYPE_DEFAULT): Likewise.
12264 * arm.md (attr fpu): Reworked for new underlying enum values.
12265 * arm.c (arm_fpu_arch): Now enum fputype.
12266 (arm_fpu_tune): Renamed from arm_fpu. Now enum fputype.
12267 (arm_override_options, arm_output_epilogue, arm_expand_prologue):
12268 Update uses of arm_fpu_arch and arm_fpu_tune.
12269
39811184
JZ
122702003-03-10 Josef Zlomek <zlomekj@suse.cz>
12271
52999738 12272 * cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
39811184
JZ
12273 (try_crossjump_to_edge): Replace refereces to one jump table by
12274 references to identical jump table.
12275 * loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label.
12276 (replace_label): Moved to rtlanal.c.
12277 (struct rtx_pair): Moved to rtl.h.
52999738 12278 * rtl.h (struct rtx_pair): Moved from loop.c.
39811184
JZ
12279 (replace_label): New extern function.
12280 (subrtx_p): New extern function.
12281 (tablejump_p): New extern function.
52999738 12282 * rtlanal.c (replace_label): Moved from loop.c.
39811184
JZ
12283 (subrtx_p_1): New static function.
12284 (subrtx_p): New function.
12285 (tablejump_p): New function.
12286
62c9aa5f 122872003-03-10 Jan Hubicka <jh@suse.cz>
ec3ae3da 12288
912b79e7
JH
12289 * cfgcleanup.c (try_optimize_cfg): Fix thinko in previous patch.
12290
ec3ae3da
JH
12291 * cfgcleanup.c (merge_blocks): Return where to iterate next.
12292 (try_optimize_cfg): Use return value of merge_blocks
12293
e0fd3e7a
MM
122942003-03-10 Michael Matz <matz@suse.de>
12295
12296 * cfg.c (unchecked_make_edge): New.
12297 (cached_make_edge): Use it.
12298 * basic-block.h (unchecked_make_edge): Declare.
12299 * cfglayout.c (cfg_layout_duplicate_bb): Use it.
12300
82955615
RE
123012003-03-10 Richard Earnshaw <rearnsha@arm.com>
12302
12303 * fpa.md: New file. Move all patterns relating to FPA co-processor
12304 to here...
12305 * arm.md: ... from here.
12306 (cirrus.md, fpa.md): Include at end of description.
12307 (divsf3, divdf3, modsf3, movdf3, sqrtsf2, sqrtdf2): New expands.
12308 (pic_load_addr_based): Remove register constraint from expander.
12309 (seq, sne, sgt, sle, slt, sge, sgeu, sleu, sgtu, sltu, sunordered)
12310 (sordered, sungt, sunle, sunge, sunlt): Likewise.
12311 (eh_epilogue, tablejump): Likewise.
12312
22672fc4
RK
123132003-03-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12314
12315 * tree.c (substitute_in_expr, case 'e'): Only make recursive call
12316 on operands if it has a PLACEHOLDER_EXPR.
12317
f7b3ab8a
DE
123182003-03-09 David Edelsohn <edelsohn@gnu.org>
12319 Mostafa Hagog
12320
12321 * config/rs6000/rs6000.md (movsi_update1): Add TARGET_UPDATE final
12322 condition.
12323
cc956ba2
NB
123242003-03-09 Neil Booth <neil@daikokuya.co.uk>
12325
12326 * config/frv/frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES.
12327 * config/ip2k/ip2k.h: Similarly.
12328 * config/m32r/m32r.h: Similarly.
12329 * config/m68hc11/m68hc11.h: Similarly.
12330 * config/mn10200/mn10200.h: Similarly.
12331 * config/mn10300/mn10300.h: Similarly.
12332 * config/pdp11/pdp11.h: Similarly.
12333 * config/v850/v850.h: Similarly.
12334 * config/rs6000/vxworks.h: Similarly for TARGET_OS_CPP_BUILTINS.
12335 * config/v850/retms.h: Similarly for TARGET_OS_CPP_BUILTINS.
12336 * config/mips/iris3.h: Remove #if 0 block.
12337
123382003-03-09 Roger Sayle <roger@eyesopen.com>
12339 Joern Rennecke <joern.rennecke@superh.com>
12340
12341 * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
12342 pending argument upon return from handle_braces here.
12343 (do_spec_2): Instead handle it upon return from do_spec_1 here.
12344
6544fbcb
RS
123452003-03-09 Roger Sayle <roger@eyesopen.com>
12346 Joern Rennecke <joern.rennecke@superh.com>
12347
12348 * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
12349 pending argument upon return from handle_braces here.
12350 (do_spec_2): Instead handle it upon return from do_spec_1 here.
12351
e1a04212
FS
123522003-03-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12353
12354 * varasm.c (make_decl_one_only): Use declare_weak().
12355
4677862a
JDA
123562003-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12357
12358 PR middle-end/9986
12359 * c-common.c (c_common_nodes_and_builtins): Initialize target builtins
12360 after the common builtins.
12361 * pa-hpux.h (DONT_HAVE_FPUTC_UNLOCKED): Define.
12362 * pa.c (TARGET_INIT_BUILTINS): Define.
12363 (pa_init_builtins): New function.
12364
12365 * pa.md (call, call_value, sibcall, sibcall_value): When sufficient
12366 space has been allocated for the outgoing arguments, set the arg
12367 pointer for a call emitted after virtuals have been instantiated
12368 using the stack pointer offset, otherwise abort.
12369
2de12bc4
DD
123702003-03-09 DJ Delorie <dj@redhat.com>
12371
12372 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH): Revert.
12373
17136dde
RE
123742003-03-09 Richard Earnshaw <rearnsha@arm.com>
12375
12376 * arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)
12377 (arm_fix_truncdfsi2): Add missing fix in floating point mode before
12378 conversion to integer.
12379 * cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.
12380
f937d5e6
RS
123812003-03-09 Roger Sayle <roger@eyesopen.com>
12382
12383 * builtins.def: Fix typo and improve grammar.
12384 * loop-unroll.c (decide_peel_completely): Tidy log message.
12385
c5979bc6
KH
123862003-03-09 Kazu Hirata <kazu@cs.umass.edu>
12387
12388 * config/h8300/h8300.md (*tstsi_upper_bit): New.
12389 (*iorsi3_e2f): Likewise.
12390
4f4ebda3
KH
123912003-03-08 Kazu Hirata <kazu@cs.umass.edu>
12392
12393 * config/h8300/h8300.c (h8300_and_costs): Return the number of
12394 assembly instructions needed.
12395 (h8300_shift_costs): Likewise.
12396
c366ade5
HPN
123972003-03-09 Hans-Peter Nilsson <hp@bitrange.com>
12398
02af0d9b
HPN
12399 * config/cris/aout.h (ENDFILE_SPEC): Undef.
12400
a3600c71
HPN
12401 * optabs.c (gen_move_insn): Move logic for synthesizing MODE_CC
12402 moves from here ...
12403 * expr.c (emit_move_insn_1): ... to here.
12404
a6e464ae
HPN
12405 * config/cris/aout.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__AOUT__ to...
12406 (TARGET_OS_CPP_BUILTINS): New macro.
12407 * config/cris/cris.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__ELF__ to...
12408 (TARGET_OS_CPP_BUILTINS): New macro.
12409 (CPP_PREDEFINES): Don't define. Move old definitions and...
12410 (CPP_SPEC): ...move -D__CRIS_ABI_version=2 to...
12411 (TARGET_CPU_CPP_BUILTINS): New macro.
12412 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Move constant
12413 definitions and the optional __PIC__, __pic__ and
12414 __NO_UNDERSCORES__ definitions to...
12415 (TARGET_OS_CPP_BUILTINS): New macro.
12416
d8a25128
HPN
12417 * flags.h (flag_leading_underscore): Declare.
12418
c366ade5
HPN
12419 * c-opts.c (c_common_post_options): On fopen failure, return
12420 false, not NULL.
12421
32b0bbaa
HPN
124222003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
12423
12424 * config/cris/cris_abi_symbol.c: #include tconfig.h and tm.h, not
12425 config.h.
12426 * config/cris/cris.h (HAVE_GAS_HIDDEN): Don't define here.
12427 * config/cris/aout.h (HAVE_GAS_HIDDEN): Undef.
12428
ad220576
NB
124292003-03-08 Neil Booth <neil@daikokuya.co.uk>
12430
12431 * config/sh/rtemself.h (TARGET_OS_CPP_BUILTINS): Use instead of
12432 CPP_PREDEFINES.
12433 * config/sh/rtems.h (TARGET_OS_CPP_BUILTINS): Use instead of
12434 CPP_PREDEFINES.
12435
4bfec483
NB
124362003-03-08 Neil Booth <neil@daikokuya.co.uk>
12437
12438 * c-common.h (c_common_init, c_common_post_options): Update.
12439 * c-objc-common.c (c_objc_common_init): Update for new prototype.
12440 * c-opts.c (saved_lineno): New.
12441 (c_common_post_options, c_common_init): Update prototypes,
12442 move call to cpp_read_main_file from latter to former.
12443 * c-tree.h (c_ojbc_common_init): Update.
12444 * langhooks-def.h (lhd_post_options): New.
12445 (LANG_HOOKS_INIT, LANG_HOOKS_POST_OPTIONS): Update.
12446 * langhooks.c (lhd_post_options): New.
12447 * langhooks.h (struct lang_hooks): Update post_options and init hooks.
12448 * toplev.c (no_backend): New.
12449 (process_options): Call post_options hook and set main_input_filename
12450 and input_filename here.
12451 (lang_dependent_init, do_compile): post_options hook moved to
12452 process_options.
12453 * objc/objc-act.c (objc_init): Update prototype.
12454 * objc/objc-act.h (objc_init): Update prototype.
12455
9dd04ab5
RS
124562003-03-08 Roger Sayle <roger@eyesopen.com>
12457
12458 * emit-rtl.c (gen_lowpart): Don't attempt to load a part of
12459 a complex or vector type, using a load in the original mode.
12460
62c9aa5f 124612003-03-08 Jan Hubicka <jh@suse.cz>
988d1653
JH
12462
12463 * Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
12464 * gt-cgraph.h: New GC file.
12465 * cgraph.c (known_fns): New static variable.
12466 (cgraph_node): Add the decl into varray.
12467
73ba39fc
HPN
124682003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
12469
12470 * config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
12471
3b684012
RE
124722003-03-08 Richard Earnshaw <rearnsha@arm.com>
12473
12474 * arm.c (fpa_rhs_operand, fpa_add_operand, const_double_rtx_ok_for_fpa)
12475 (neg_const_double_ok_for_fpa, output_mov_long_double_fpa_from_arm)
12476 (output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm)
12477 (output_mov_double_arm_from_fpa): Renamed to use fpa instead of fpu.
12478 All callers changed.
12479 * arm.md, arm.h, arm-protos.h: Updated.
12480
12481 * arm.h (enum reg_class FPA_REGS): Renamed from FPU_REGS.
12482 (CLASS_MAX_NREGS, REGISTER_MOVE_COST, REG_CLASS_FROM_LETTER): Updated.
12483 * arm.c (arm_regno_class, f_register_operand): Updated.
12484
fa5848c7
HPN
124852003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
12486
12487 * config/cris/cris.h: Remove EGCS references.
1fe668e5 12488 (CPP_SPEC): Remove "-$".
fa5848c7
HPN
12489 (INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
12490
4555be98
NB
124912003-03-08 Neil Booth <neil@daikokuya.co.uk>
12492
12493 * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
12494 preference to CPP_PREDEFINES.
12495
39a91264
NB
124962003-03-08 Neil Booth <neil@daikokuya.co.uk>
12497
12498 * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
12499
9571a6b9
KH
125002003-03-08 Kazu Hirata <kazu@cs.umass.edu>
12501
12502 * config/h8300/h8300.md (*extzv_16_8): New.
12503
62c9aa5f 125042003-03-08 Jan Hubicka <jh@suse.cz>
18d13f34
JH
12505
12506 * c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
12507 * cgraph.h: (cgraph_local_info): Add can_inline_once
12508 (cgraph_global_info): Add inline_once.
12509 (cgraph_node): Add previous.
12510 (cgraph_remove_node): New.
12511 * cgraphunit.c (cgraph_mark_functions_to_inline_once): New static
12512 function.
12513 (cgraph_optimize): Call it.
12514 (cgraph_finalize_function): Set inlinable flags.
12515 (cgraph_finalize_compilation_unit): Actually remove the reclaimed nodes.
12516 (cgraph_mark_functions_to_output): Use new inlining heuristics flags.
12517 (cgraph_expand_function): Likewise.
52999738 12518 * cgraph.c
18d13f34
JH
12519 (cgraph_node): Put nodes into doubly linked chain.
12520 (cgraph_remove_node): New function.
12521 * flags.h (flag_inline_functions_called_once): Declare.
12522 * tree-inline.c: Include cgraph.h
12523 (inlinable_functions_p): Add extra argument to bypass limits.
12524 (expand_call_inline): Obey cgraph flag.
12525 * tree-inline.h (tree_inlinable_function_p): Update prototype.
12526
72b8d451
ZD
125272003-03-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12528
12529 * gcse.c (bypass_block, bypass_conditional_jumps): Do not create
12530 irreducible loops.
12531
12532 * loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
12533 loops info correctly.
12534
ed97aa66
EB
125352003-03-08 Eric Botcazou <ebotcazou@libertysurf.fr>
12536
12537 PR middle-end/7796
12538 * unroll.c (calculate_giv_inc): Handle constants being
12539 loaded with LSHIFTRT.
12540
d7b53ca4
DE
125412003-03-07 David Edelsohn <edelsohn@gnu.org>
12542
12543 * config/rs6000/rs6000.c (processor_target_table): Do not disable
12544 GP optional instructions on Power3, Power4, 620, and 630.
12545
3dc575ff
KH
125462003-03-07 Kazu Hirata <kazu@cs.umass.edu>
12547
12548 * calls.c: Fix comment formatting.
12549 * cfgloopanal.c: Likewise.
12550 * cfgloopmanip.c: Likewise.
12551 * combine.c: Likewise.
12552 * dwarf2out.c: Likewise.
12553 * ggc-common.c: Likewise.
12554 * langhooks.c: Likewise.
12555 * loop-unroll.c: Likewise.
12556 * loop.c: Likewise.
12557 * ra-build.c: Likewise.
12558 * sbitmap.c: Likewise.
12559 * toplev.c: Likewise.
12560
9bcd9715
JW
125612003-03-07 James E Wilson <wilson@tuliptree.org>
12562
ed97aa66 12563 * config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
9bcd9715 12564
6e5c4eaf
GK
125652003-03-07 Geoffrey Keating <geoffk@apple.com>
12566
12567 * objc/lang-specs.h (objective-c-header): Use .gch not .pch;
12568 support -no-integrated-cpp.
12569
12570 * c-pch.c (get_ident): Use c_language_kind and flag_objc rather
12571 than langhooks.name.
12572
50aac998
MM
125732003-03-07 Michael Matz <matz@suse.de>
12574
12575 * df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
12576 (DF_FOR_REGALLOC): New.
12577 * df.c (df_ref_record): Set DF_REF_STRIPPED.
12578 (read_modify_subreg_p): Simplify.
12579 (df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
12580 Use DF_FOR_REGALLOC.
12581 * ra.h (struct web): New member subreg_stripped.
12582 (invalid_mode_change_regs): Declare.
12583 * ra.c (invalid_mode_change_regs): New.
12584 (init_ra): Initialize it.
12585 * ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
12586 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
12587 (reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
12588 * ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
12589 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
12590
37f74dcf
RE
125912003-03-07 Richard Earnshaw <rearnsha@arm.com>
12592
12593 * arm.md (addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, negsf2)
12594 (negdf2, abssi2, abssf2, absdf2, floatsisf2, floatsidf2)
12595 (fix_truncsfsi2, fix_truncdfsi2, truncdfsf2): Moved back into main
12596 machine description file from ...
12597 * cirrus.md: ... here.
12598
203b3521
KH
125992003-03-06 Kazu Hirata <kazu@cs.umass.edu>
12600
12601 * config/h8300/h8300.md (a peephole2): Don't use
12602 reg_overlap_mentioned_p.
12603
8643e92d
GK
126042003-03-06 Geoffrey Keating <geoffk@apple.com>
12605
12606 * c-pch.c: Include langhooks.h.
12607 (IDENT_LENGTH): New.
12608 (get_ident): New.
12609 (pch_ident): Delete.
12610 (pch_init): Use get_ident, IDENT_LENGTH.
12611 (c_common_valid_pch): Likewise. Also, use actual language
12612 in warning message.
12613 * Makefile.in (c-pch.o): Add langhooks.h to dependencies.
12614
12615 * objc/config-lang.in (gtfiles): Add objc-act.c. Remove duplicate
12616 c-parse.in.
12617 * objc/Make-lang.in (objc/objc-act.o): Add dependency on
12618 gt-objc-objc-act.h.
12619 (gt-objc-objc-act.h): New rule.
12620 * objc/lang-specs.h: Support PCH.
12621 * objc/objc-act.c: Include gt-objc-objc-act.h.
12622 (objc_add_static_instance): Move num_static_inst out, mark for PCH.
12623 (build_selector_reference_decl): Move idx out, mark for PCH.
12624 (build_class_reference_decl): Likewise.
12625 (build_objc_string_decl): Move *_idx out, mark for PCH.
12626 (build_tmp_function_decl): Move xxx out, mark for PCH.
12627
7f3d8013
DJ
126282003-03-06 Dale Johannesen <dalej@apple.com>
12629
12630 * config/rs6000/rs6000.c (rs6000_binds_local_p): Consider
12631 global functions for inlining on Darwin.
12632
14484a78
VM
126332003-03-06 Vladimir Makarov <vmakarov@redhat.com>
12634
12635 * haifa-sched.c (schedule_block): Don't call reorder when sorting
12636 is prohibited.
12637
9d10c9a9
NB
126382003-03-06 Neil Booth <neil@daikokuya.co.uk>
12639
12640 * Makefile.in (c-ppoutput.o): Update.
12641 * c-common.h (init_pp_output): New.
12642 (preprocess_file): Update.
12643 * c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
12644 Register builtins.
12645 * c-opts.c (c_common_init): Call init_pp_output if preprocessing.
12646 Make call to cpp_read_main_file common to whether preprocessing
12647 or not. Don't register builtins.
12648 * c-ppoutput.c: Include c-pragma.h.
12649 (setup_callbacks): Rename init_pp_output.
12650 (preprocess_file): No longer setup callbacks or call
12651 cpp_read_main_file.
12652 * cpphash.h (_cpp_init_mbchar): New.
12653 * cppinit.c (init_library): Call _cpp_init_mbchar.
12654 * cpplex.c (_cpp_init_mbchar): New.
12655
37f5242b
RS
126562003-03-06 Roger Sayle <roger@eyesopen.com>
12657
12658 * emit-rtl.c (gen_lowpart): When requesting the low-part of a
12659 MEM, try loading the MEM into a register and taking the low-part
12660 of that, to help CSE see the use of the MEM in its true mode.
12661
c876997f 126622003-03-05 Tom Tromey <tromey@redhat.com>
f3922fd2
DD
12663
12664 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
12665 Define.
12666
c876997f 126672003-03-05 Nick Clifton <nickc@cambridge.redhat.com>
f3922fd2
DD
12668
12669 * config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
12670 operand 2.
12671 ("*ineqbranchsi"): Likewise.
12672
c876997f 126732003-03-05 Andrew Haley <aph@cambridge.redhat.com>
f3922fd2
DD
12674
12675 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
12676 mem_fake_push_rtx. Instead construct a SEQUENCE to show the
12677 register store followed by a stack increment.
12678
c876997f 126792003-03-05 Chris Moller <cmoller@redhat.com>
f3922fd2
DD
12680
12681 * config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
12682 to inhibit saving CARRY_REGS.
12683
12684 * config/stormy16/stormy16.c (xs_hi_general_operand):
12685 added predicate to detect and error-out on out-of-range
12686 const_ints for movhi.
52999738 12687 * config/stormy16/stormy16.md (movhi): use
f3922fd2
DD
12688 xs_hi_general_operand.
12689
12690 * config/stormy16/stormy16.c (xstormy16_expand_prologue):
12691 added a check for local vbl size overflow.
12692 * config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
12693 added predicate to detect and error-out on out-of-range
12694 const_ints for addhi and subhi.
52999738 12695 * config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
f3922fd2
DD
12696 subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.
12697
12698 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
12699 add a term to accept PRE_MODIFY addresses.
12700 * config/stormy16/stormy16.c (xstormy16_expand_move):
12701 add code to expand PRE_MODIFY addresses to an add followed
12702 by a move.
12703
4c28216d
JM
127042003-03-06 Jason Merrill <jason@redhat.com>
12705
12706 * tree-inline.c (inlinable_function_p): Revert earlier change
12707 pending investigation.
12708
0135f343
KH
127092003-03-06 Kazu Hirata <kazu@cs.umass.edu>
12710
12711 * config/h8300/h8300.md (a new peephole2): New.
12712
62c9aa5f 127132003-03-06 Jan Hubicka <jh@suse.cz>
5c2e00ee
JH
12714
12715 * cgraph.c (cgraph_node): Do not confuse nested functions and methods.
12716
323658ea
ZD
127172003-03-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12718
12719 * dwarf2out.c (size_of_die): Compute size of external reference to
12720 die correctly.
12721
2b18b49b
HPN
127222003-03-06 Hans-Peter Nilsson <hp@bitrange.com>
12723
12724 * config/mmix/mmix.md ("*movcc_expanded"): New pattern.
12725 ("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
12726 expanders.
12727
1a71a5b0
RS
127282003-03-05 Roger Sayle <roger@eyesopen.com>
12729
12730 * expr.h (lang_expand_expr): Delete obsolete prototype.
12731
26d249eb
KH
127322003-03-05 Kazu Hirata <kazu@cs.umass.edu>
12733
12734 * emit-rtl.c (gen_highpart_mode): Fix a comment typo.
12735
8b41a8da
KH
127362003-03-05 Kazu Hirata <kazu@cs.umass.edu>
12737
12738 * config/h8300/h8300.md (a peephole2): Generalize to
12739 accept a memory operand.
12740
62c9aa5f 127412003-03-05 Olivier Hainque <hainque@act-europe.fr>
39ee7fa9
OH
12742
12743 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
12744 * config/alpha/alpha.c (print_operand, case '+'): New.
12745 * config/alpha/alpha.md (call_osf_1_noreturn): Document and use.
12746 (call_value_osf_1_noreturn): Likewise.
12747
62c9aa5f 127482003-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
cda26058
RK
12749
12750 * stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
12751 (expand_end_bindings): Likewise.
12752
98857de8
JDA
127532003-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12754
12755 * pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
12756 (epilogue): Don't generate return_external_pic when emitting PA 2.0
12757 code.
12758
96714395
AH
127592003-03-05 Aldy Hernandez <aldyh@redhat.com>
12760
52999738 12761 * doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
96714395 12762
52999738 12763 * config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
96714395 12764
52999738 12765 * hooks.c (hook_rtx_rtx_null): New.
96714395 12766
52999738 12767 * hooks.h (hook_rtx_rtx_null): Protoize.
96714395 12768
52999738
ZW
12769 * target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
12770 (TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
96714395 12771
52999738 12772 * target.h (struct gcc_target): Add dwarf_register_span.
96714395 12773
52999738
ZW
12774 * dwarf2out.c (multiple_reg_loc_descriptor): New.
12775 (one_reg_loc_descriptor): New.
12776 (reg_loc_descriptor): Add support for values that span more than
12777 one register.
96714395 12778
62c9aa5f 127792003-03-05 Jan Hubicka <jh@suse.cz>
b255a036
JH
12780
12781 * Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
12782 * alias.c: Include cgraph.h
12783 (mark_constant_function): Use cgraph_rtl_info.
12784 * calls.c: Include cgraph.h
12785 (flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
12786 calls.
12787 (expand_call): Use cgraph_rtl_info to set preferred stack boundary.
12788 * cgraph.c (cgraph_rtl_info): New function.
12789 * cgraph.h (cgraph_rtl_info): Declare
12790 (cgraph_rtl_info): Likewise.
12791 * function.h (struct function): Add recursive_call_emit.
12792 * toplev.c: Include cgraph.h.
12793 (rest_of_compilation): Set preferred_incoming_stack_boundary.
12794
0eb933a0
KH
127952003-03-05 Kazu Hirata <kazu@cs.umass.edu>
12796
12797 * config/h8300/h8300.c (output_simode_bld): Clear the
12798 destination first if possible.
12799 * config/h8300/h8300.md (extzv_1_r_h8300hs): Add an
12800 alternative.
12801 (extzv_1_r_inv_h8300hs): Likewise.
12802
35b07080
ZD
128032003-03-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12804
12805 * basic-block.h (EDGE_IRREDUCIBLE_LOOP, EDGE_ALL_FLAGS): New.
12806 * cfg.c (dump_edge_info): Add EDGE_IRREDUCIBLE_LOOP flag dump.
12807 * cfgloop.c (flow_loop_free): Made global.
12808 (establish_preds): New static function.
12809 (flow_loop_tree_node_add): Handle subloops of added loop correctly.
12810 (get_loop_exit_edges): New.
12811 (verify_loop_structure): Verify EDGE_IRREDUCIBLE_LOOP flags.
12812 * cfgloop.h (flow_loop_free, get_loop_exit_edges, unloop): Declare.
12813 * cfgloopanal.c (mark_irreducible_loops): Mark edges in irreducible
12814 loops.
12815 * cfgloopmanip.c (loop_delete_branch_edge): Allow to test for
12816 removability of an edge.
12817 (fix_irreducible_loops): New static function.
12818 (find_path, remove_path): Add ability to remove enclosing loops.
12819 (unloop): New.
12820 (copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
12821 flags.
12822 * cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
12823 * loop-unroll.c (peel_loops_completely): Do not duplicate loop if
12824 not neccessary.
12825 (decide_peel_completely, peel_loops_completely): Allow complete peeling
12826 of non-duplicable once rolling loops.
12827 * loop-unswitch.c (unswitch_loop): Update EDGE_IRREDUCIBLE_LOOP flags.
12828
62c9aa5f 128292003-03-05 J"orn Rennecke <joern.rennecke@superh.com>
bb182d23
R
12830
12831 * sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
12832 for align_jumps is 4.
12833
12834 (SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
12835 use GENERAL_REGS.
12836
f2d0440f
SC
128372003-03-05 Stephane Carrez <stcarrez@nerim.fr>
12838
12839 * config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
12840 according to va_arg type.
12841 (EXPAND_BUILTIN_VA_ARG): Remove.
12842 * config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
12843 * config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.
12844
165b263e
DE
128452003-03-05 David Edelsohn <edelsohn@gnu.org>
12846
12847 * config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
12848 else clauses.
12849
8c38a24f
MM
128502003-03-05 Michael Matz <matz@suse.de>
12851
12852 * i386/i386.c (ix86_save_reg): Also test
12853 current_function_uses_const_pool.
12854
336d0d96
MM
128552003-03-05 Michael Matz <matz@suse.de>
12856
12857 * unwind.h: Add the GPL exception.
12858 * Makefile.in (USER_H): Add unwind.h.
12859
be2fa211
EB
128602003-03-05 Eric Botcazou <ebotcazou@libertysurf.fr>
12861
12862 PR c/9799
12863 * c-typeck.c (push_init_level): Add sanity check.
12864
62c9aa5f 128652003-03-05 Jan Hubicka <jh@suse.cz>
dafc5b82
JH
12866
12867 * toplev.c (rest_of_compilation): Deffer RTL compilation only when
12868 RTL inlining is done.
12869
12870 * cgraphunit.c (cgraph_mark_local_functions): New local function.
12871 (cgraph_optimize): Mark local functions.
12872 * i386-protos.h (init_cumulative_args): Update prototype.
12873 * i386.c (init_cumulative_args): Use register passing convention for
12874 local functions.
12875
12876 * cgraph.c (cgraph_global_info_ready): New global variable
12877 (cgraph_local_info, cgraph_global_info): New functions.
12878 * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
12879 structures.
12880 (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
12881 Declare.
12882 * cgraphunit.c (cgraph_finalize_function): Set inline_many.
12883 (cgraph_mark_functions_to_output): Use inline_many.
12884 (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
12885 (cgraph_expand_functions): Expand inline functions last.
12886 (cgraph_optimize): Do not emit uneeded functions.
12887
006c9f4a
SE
128882003-03-04 Steve Ellcey <sje@cup.hp.com>
12889
12890 * expr.c (convert_modes): Check for legal hard register.
12891
65ebbf81
TT
128922003-03-04 Tom Tromey <tromey@redhat.com>
12893
12894 * doc/sourcebuild.texi (Front End Directory): Document tags.
12895 * configure: Rebuilt.
12896 * configure.in (target_list): Added tags.
12897 * Makefile.in (TAGS): Depend on lang.clean. Include subdirectory
12898 TAGS files by reference.
12899 * objc/Make-lang.in (objc.tags): New target.
12900
ec4a0419
ZD
129012003-03-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12902
12903 * gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
12904 gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
12905 gcov_write_string, gcov_read_unsigned, gcov_read_counter,
12906 gcov_read_string, gcov_write_length): Modified to enable reading/
12907 writing of whole .da file just once.
12908 (da_file_open, da_file_close, da_file_eof, da_file_error,
12909 da_file_position, da_file_seek, da_file_write, da_file_read): New
12910 functions.
12911 (actual_da_file, actual_da_file_position, actual_da_file_length,
12912 actual_da_file_buffer, actual_da_file_buffer_size): New static
12913 functions.
12914 * libgcov.c (gcov_exit): Modified to read/write the whole .da file at
12915 just once.
12916
12917
79dbeefc
AS
129182003-03-04 Andreas Schwab <schwab@suse.de>
12919
12920 * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
12921 offset without frame pointer.
12922
3ac1a319
SE
129232003-03-04 Steve Ellcey <sje@cup.hp.com>
12924
12925 * expr.c (expand_expr): Call promote_mode to set unsignedp.
12926
db720d9a
DJ
129272003-03-04 Daniel Jacobowitz <drow@mvista.com>
12928
12929 * configure.in: Don't always define TARGET_SYSTEM_ROOT.
12930 * configure: Regenerated.
12931 * gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
12932
9a79ab7e
AJ
129332003-03-04 Andreas Jaeger <aj@suse.de>
12934
12935 * configure.in: Check for <memcheck.h>.
52999738 12936 * configure: Regenerated.
9a79ab7e
AJ
12937
12938 * config.in: Define HAVE_MEMCHECK_H.
12939
12940 * ggc-common.c: Use <memcheck.h> if available instead of
12941 <valgrind.h>.
12942 * ggc-page.c: Likewise.
12943 * cppfiles.c: Likewise.
12944
a8f0e848
KH
129452003-03-04 Kazu Hirata <kazu@cs.umass.edu>
12946
12947 * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
12948
2ad1815d
EB
129492003-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
12950
12951 PR c/9262
12952 * c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
12953 (c_finish_case): Rechain the next statements to the SWITCH_STMT.
12954
62c9aa5f 129552003-03-04 Jan Hubicka <jh@suse.cz>
e2483ef7
JH
12956
12957 * doc/invoke.texi: Document that unit-at-a-time is enabled for -O3
12958 * toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
12959 for -O3.
12960
34a86c2b
NN
129612003-03-04 Nathanael Nerode <neroden@gcc.gnu.org>
12962
12963 * configure.in: Delete three unused variables. Move a variable
12964 definition closer to its use. Simplify use_collect2 logic. Start to
12965 organize. Simplify tests for in-tree gas and ld.
12966 * configure: Regenerate.
12967
63973df3
NB
129682003-03-04 Neil Booth <neil@daikokuya.co.uk>
12969
12970 * Makefile.in: Update.
12971 * c-common.c (flag_no_line_commands, flag_no_output,
12972 flag_dump_macros, flag_dump_includes): New.
12973 * c-common.h (flag_no_line_commands, flag_no_output,
12974 flag_dump_macros, flag_dump_includes, preprocess_file): New.
12975 (init_c_lex): Update prototype.
12976 * c-lex.c (init_c_lex): Update prototype; move some code to
12977 c_common_init.
12978 * c-opts.c (preprocess_file): Subsume into c_common_init.
12979 (c_common_decode_option): Update flags.
12980 (c_common_init): Move code from preprocess_file and init_c_lex.
12981 (sanitize_cpp_opts): Update.
12982 * c-ppoutput.c: New, cppmain.c almost verbatim.
12983 * cpphash.h (struct printer): Remove.
12984 (struct cpp_reader): Remove print.
12985 * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
12986 cpp_preprocess_file): Remove.
12987 (struct cpp_options): Remove no_output, no_line_commands, dump_macros
12988 and dump_includes.
12989 * cppmain.c: Remove.
12990 * doc/passes.texi: Update.
12991
95f3f59e
JDA
129922003-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12993
12994 * function.c (STACK_ALIGNMENT_NEEDED): New macro. Default to 1.
12995 (assign_stack_local_1): Perform overall stack alignment only when
6356f892 12996 STACK_ALIGNMENT_NEEDED is nonzero.
95f3f59e
JDA
12997 * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
12998
12999 * pa.c (compute_frame_size): Rename fsize to size. Account for
13000 alignment to a word boundary before general register save block. Only
13001 account for double-word alignment before floating point register save
13002 block if one or more are saved. Don't allocate space for %r3 when
13003 frame pointer is needed.
13004 (hppa_expand_prologue): Include alignment to word boundary in local
13005 frame size.
13006 * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
13007 (STACK_ALIGNMENT_NEEDED): Define.
13008
234c071b
KB
130092003-03-04 Kevin Buettner <kevinb@redhat.com>
13010
13011 * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
13012 global register variables.
13013
f12448c8
AO
130142003-03-04 Alexandre Oliva <aoliva@redhat.com>
13015
13016 * reload.c (reload_adjust_reg_for_mode): New function.
13017 (subst_reloads): Call it.
13018 (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
13019 * reload.h (reload_adjust_reg_for_mode): Declare.
13020 * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
13021 Call it.
13022
f9d36a92
JW
130232003-03-03 James E Wilson <wilson@tuliptree.org>
13024
13025 * optabs.c (add_equal_note): Delete SUBREG_REG use.
13026 Fixes PR c/7872.
13027
8dfb356f
KH
130282003-03-03 Kazu Hirata <kazu@cs.umass.edu>
13029
13030 * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
13031 (*ixorsi3_lshiftrt_16): New.
13032 (*iorsi3_ashift_16): Remove.
13033
0d9bf032
KH
130342003-03-03 Kazu Hirata <kazu@cs.umass.edu>
13035
13036 * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
13037 pattern.
13038
b89a3806
GK
130392003-03-03 Geoffrey Keating <geoffk@apple.com>
13040
13041 * doc/install.texi (Specific): Update entry for powerpc-darwin.
13042
568d661d
RH
130432003-03-03 Richard Henderson <rth@redhat.com>
13044
13045 * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
13046
3317bab1
DE
130472003-03-03 David Edelsohn <edelsohn@gnu.org>
13048
13049 * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
13050 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
13051 (rs6000_variable_issue): Do not return negative value.
13052 (rs6000_issue_rate): Uniformly set issue rate to 1 for first
13053 scheduling pass.
13054
03275f81
ZD
130552003-03-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13056
13057 * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
13058 prune_unused_types calls.
13059
d1a74aa7
JM
130602003-03-03 Jason Merrill <jason@redhat.com>
13061
13062 * tree-inline.c (find_builtin_longjmp_call): Save and restore
13063 lineno and input_filename.
13064 (find_alloca_call): Likewise.
13065 (inlinable_function_p): Run the langhook earlier.
13066
13067 * calls.c (compute_argument_addresses): Give the new MEMs a
13068 minimum alignment of PARM_BOUNDARY.
13069
62c9aa5f 130702003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
d44cc404
R
13071
13072 * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
13073 subtarget_asm_isa_spec.
13074 (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
13075 (ASM_SPEC): Define as SH_ASM_SPEC.
13076 (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
13077 Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
13078 * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
13079 (SUBTARGET_ASM_ISA_SPEC): Undef / define.
10f4f635
R
13080
13081 * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
13082 and align_jumps if not set.
13083 Force align_jumps to be at least 2.
13084 When relaxing, force align_functions to be at least the maximum of
13085 align_loops, align_jumps and 4.
13086 * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
13087 (sh_loop_align): Honour align_loops_log.
13088
13089 * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
13090 to check for indirect_jump_scratch.
13091 (indirect_jump_scratch): Add second set.
13092 * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
13093 when looking for indirect_jump_scratch.
13094 Extract scratch register taking new structure of indirect_jump_scratch
13095 into account.
13096 (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
13097
62c9aa5f 130982003-03-03 Jan Hubicka <jh@suse.cz>
f7da1e9a 13099
09e2bf48
JH
13100 * calls.c (rtx_for_function_call): Take the address as an argument
13101 (expand_call): Do not modify the expression.
13102
f7da1e9a
JH
13103 * toplev.c (rest_of_compilation): Avoid cfg_cleanup calls when not
13104 optimizing.
13105
426ace7f
KH
131062003-03-03 Kazu Hirata <kazu@cs.umass.edu>
13107
13108 * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
13109 TARGET_H8300H and TARGET_H8300S.
13110
6967a126
KH
131112003-03-03 Kazu Hirata <kazu@cs.umass.edu>
13112
13113 * config/h8300/h8300.md (a peephole2): New.
13114
1f7e8790
KH
131152003-03-03 Kazu Hirata <kazu@cs.umass.edu>
13116
13117 * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
13118 operands[0] and operands[1] are different.
13119
131202003-03-03 Kazu Hirata <kazu@cs.umass.edu>
2807791e
KH
13121
13122 * reload1.c (reload_cse_move2add): Remove variable success.
13123
a2581175
KG
131242003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13125
13126 * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
13127 warnings.
13128
ef1ecf87
RH
131292003-03-02 Richard Henderson <rth@redhat.com>
13130
13131 * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
13132 * config.in, configure: Rebuild.
13133 * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
9a79ab7e 13134 * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
ef1ecf87
RH
13135 paired ldtoffx and ldxmov annotations.
13136 (load_symptr_internal1): Remove.
13137 (load_symptr_high, load_symptr_low): New.
13138
82f6e3eb
NB
131392003-03-02 Neil Booth <neil@daikokuya.co.uk>
13140
13141 * c-incpath.c (add_path): Fix sysp assignment.
13142
bc522472
KG
131432003-03-02 Kurt Garloff <garloff@suse.de>
13144
13145 * params.def: Introduce parameter max-inline-insns-rtl for
13146 a separate limit for the RTL inliner.
13147 * params.h: Likewise.
13148 * integrate.c (function_cannot_inline_p): Use it.
9a79ab7e 13149 * toplev.c (decode_f_option): Set multiple parameters
bc522472
KG
13150 controlling inlining with -finline-limit.
13151 * params.def: Fix orthographic and typographic errors.
13152 * doc/invoke.texi: Document parameters controlling inlining
13153 and the way -finline-limit sets multiple of them.
13154
13155 * tree.h (struct tree_decl): Introduce inlined_function_flag,
13156 recording whether the function became eligible for inlining
13157 by a compiler flag rather than the declaration.
13158 Provide DID_INLINE_FUNC macro to access it.
13159 * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
13160 * cp/decl.c (grokfndecl): Likewise.
13161 * toplev.c (rest_of_compilation): Likewise.
13162 * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
13163 * print-tree.c (print_node): Report it.
13164 * params.def: Introduce new max-inline-insns-auto limit.
13165 * params.h: Likewise.
13166 * tree-inline.c (inlinable_function_p): Apply it to functions
13167 with DID_INLINE_FUNC set.
13168 * toplev.c (decode_f_option): Initialize it from -finline-limit
13169 value.
13170 * doc/invoke.texi: Document new parameter.
13171
b9f4b20a
GK
131722003-03-02 Geoffrey Keating <geoffk@apple.com>
13173
13174 * fix-header.c (read_scan_file): Don't reference simplify_path.
13175
97d322cc
SC
131762003-03-02 Stephane Carrez <stcarrez@nerim.fr>
13177
13178 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
13179 min/max instructions by default as may result in reload errors.
13180
65fb64fe
SC
131812003-03-02 Stephane Carrez <stcarrez@nerim.fr>
13182
13183 * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
13184 avoid reload problems; define split for it.
13185
b45e9837
SC
131862003-03-02 Stephane Carrez <stcarrez@nerim.fr>
13187
13188 * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
13189 * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
13190 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
9a79ab7e 13191 * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
b45e9837
SC
13192 rotatert and rotate.
13193 ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
13194 ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
13195 ("*rotrhi3_addr"): New split for shift insns on address register.
13196 ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
13197 * config/m68hc11/larith.asm (___rotlhi3): New asm function.
13198 (___rotrhi3): Likewise.
13199 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
13200
b1cbe78c
NB
132012003-03-02 Neil Booth <neil@daikokuya.co.uk>
13202
13203 * toplev.c (aux_base_name): Moved from toplev.h.
13204 (filename): Constify.
13205 (lang_dependent_init): Don't duplicate name.
13206 (process_options): Set aux_base_name here, not...
13207 (do_compile): ...here. Change protoype.
13208 (toplev_main): Move some code from do_compile.
13209 * toplev.h: Remove aux_base_name.
13210
b059c02a
KH
132112003-03-02 Kazu Hirata <kazu@cs.umass.edu>
13212
13213 * config/h8300/h8300-protos.h: Add a prototype for
13214 iorxor_operator.
13215 * config/h8300/h8300.c (print_operand): Handle 'c'.
13216 (iorxor_operator): New.
13217 * config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
13218 * config/h8300/h8300.md (*iorhi3_zext): Remove.
13219 (*iorsi3_zexthi): Likewise.
13220 (*iorsi3_zextsi): Likewise.
13221 (*xorhi3_zextqi): Likewise.
13222 (*xorsi3_zexthi): Likewise.
13223 (*xorsi3_zextsi): Likewise.
13224 (*ixorhi3_zext): New.
13225 (*ixorsi3_zext_qi): Likewise.
13226 (*ixorsi3_zext_hi): Likewise.
13227
986b1f13
NB
132282003-03-02 Neil Booth <neil@daikokuya.co.uk>
13229
13230 * c-incpath.c (remove_component_p, simplify_path): Move back to
13231 cppfiles.c.
13232 (remove_duplicates): Use cpp_simplify_path.
13233 * c-incpath.h (simplify_path): Remove.
13234 * c-lex.c: Don't include c-incpath.h.
13235 (init_c_lex): Remove simplify_path.
13236 * cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
13237 (find_or_create_entry, validate_pch): Revert.
13238
8a035a6b
AH
132392003-03-02 Ashif Harji <asharji@uwaterloo.ca>
13240
13241 * gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
13242 an external cpp during compilation.
13243 (option_map): Likewise.
13244 * objc/lang-specs.h (default_compilers): Similarly.
13245 * doc/invoke.texi: Document -no-integrated-cpp flag.
13246
23cdb465
KH
132472003-03-02 Kazu Hirata <kazu@cs.umass.edu>
13248
13249 * config/h8300/h8300.md (zero_extendqisi2): Change to an
13250 expander.
13251 (*zero_extendqisi2_h8300): New.
13252 (*zero_extendqisi2_h8300hs): New.
13253 (two splitters): New.
13254
29efb633
KG
132552003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13256
13257 * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
13258
36bf3f1b
KH
132592003-03-01 Kazu Hirata <kazu@cs.umass.edu>
13260
13261 * config/h8300/h8300.md (a peephole2): Remove dead code.
13262
08291658
RS
132632003-03-01 Roger Sayle <roger@eyesopen.com>
13264
13265 PR c++/9367
13266 * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
13267 (BT_FN_INT_CONST_STRING_VALIST_ARG,
13268 BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
13269 BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
13270 BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
13271 BT_FN_INT_STRING_CONST_STRING_VAR,
13272 BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
13273 BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
13274 * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
13275 ATTR_NONNULL_3): Also include the nothrow attribute.
13276 (sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
13277 vsnprintf, vscanf, vsscanf): Don't define attributes here.
13278 * builtins.def (putchar, puts): Make full C89 built-ins.
13279 (snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
13280 vsscanf, vsnprintf, vsprintf): New built-ins.
13281 * c-common.c (c_common_nodes_and_builtins): Handle new macro
13282 DEF_FUNCTION_TYPE_VAR_3.
13283
13284 * doc/extend.texi: Document these new built-in functions.
13285
e5258f85
KH
132862003-03-01 Kazu Hirata <kazu@cs.umass.edu>
13287
13288 * config/h8300/h8300.md (a peephole2): New.
13289
85bb9c2a
RE
132902003-03-01 Richard Earnshaw <rearnsha@arm.com>
13291
13292 * predict.c (estimate_bb_frequencies): Correctly set
13293 real_values_initialized after initialization.
13294
5793b276
NB
132952003-03-01 Neil Booth <neil@daikokuya.co.uk>
13296
13297 * Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
13298 cppinit.o, cppdefault.o, fix-header): Update.
13299 * c-incpath.c: New file.
13300 * c-incpath.h: New file.
13301 * c-lex.c: Include c-incpath.h.
13302 (init_c_lex): Register path simplifier.
13303 * c-opts.c: Include cppdefault.h and c-incpath.h.
13304 (TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
13305 std_cxx_inc, quote_chain_split, add_prefixed_path): New.
13306 (COMMAND_LINE_OPTIONS): Add more options from cpplib.
13307 (missing_arg, c_common_decode_option): Handle them.
13308 (c_common_post_options): Register include chains.
13309 (print_help): Update.
13310 * cppdefault.h (struct default include): Update.
13311 Move some macros to ...
13312 * cppdefault.c: ... here.
13313 (cpp_include_defaults): Add extra field add_sysroot.
13314 * cppfiles.c (include_file, search_from, find_or_create_entry,
13315 cpp_included, find_include_file, remap_filename): Update for
13316 renaming of search_path to cpp_path, and of the chain headers.
13317 (remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
13318 * cpphash.h (struct search_path): Move to cpplib.h.
13319 (struct cpp_buffer, struct cpp_reader): Update.
13320 (_cpp_simplify_pathname): Remove.
13321 * cppinit.c: Don't include prefix.h and cppdefault.h.
13322 (INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
13323 remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
13324 init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
13325 no_pth, cpp_handle_options): Remove.
13326 (struct pending_option): Remove chain members.
13327 (cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
13328 cpp_handle_option): Update.
13329 * cpplib.h (struct cpp_path, cpp_set_include_chains): New.
13330 (struct cpp_options): Remove quote_include, bracket_include,
13331 include_prefix, include_prefix_len, verbose, ignore_srcdir,
13332 no_standard_includes, no_standard_cplusplus_includes.
13333 (struct cpp_callbacks): Add simplify_path.
13334 (cpp_handle_options): Remove.
13335 * fix-header.c: Include c-incpath.h.
13336 (read_scan_file): Update to use c-incpath functionality.
13337 * doc/passes.texi: Update.
13338
6620997b
KH
133392003-03-01 Kazu Hirata <kazu@cs.umass.edu>
13340
13341 * config/h8300/h8300.c (bit_operand): Accept MEM only if it
13342 satisfies EXTRA_CONSTRAINT 'U'.
13343
82b4dc2e
KH
133442003-03-01 Kazu Hirata <kazu@cs.umass.edu>
13345
13346 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
13347 register.
13348 (*tst_extzv_memqi_1_n): Change to a splitter.
13349 (a peephole2): Update.
13350
c4f6b78e
RE
133512003-03-01 Richard Earnshaw <rearnsha@arm.com>
13352
13353 * predict.c (estimate_bb_frequencies): Initialize the sreal
13354 constants once per compilation.
13355
9552a3e3
RH
133562003-02-28 Richard Henderson <rth@redhat.com>
13357
13358 * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
13359
73c68f61
SS
133602003-02-28 scott snyder <snyder@fnal.gov>
13361
13362 * flags.h: Add flag_eliminate_unused_debug_types.
13363 * toplev.c: Add flag_eliminate_unused_debug_types.
13364 (f_options): Add -feliminate-unused-debug-types.
13365 * dwarf2out.c (struct file_table): Add emitted member.
13366 (splice_child_die): Fix the parent pointer for the child being
13367 spliced.
13368 (lookup_filename): Maintain file_table.emitted array. Don't
13369 output .file directive here.
13370 (maybe_emit_file): (new)
13371 (init_file_table): Set up file_table.emitted.
13372 (dwarf2out_source_line): Use maybe_emit_file.
13373 (dwarf2out_start_source_file): Use maybe_emit_file.
13374 (dwarf2out_init): Use maybe_emit_file.
13375 (prune_unused_types_walk_attribs): (new)
13376 (prune_unused_types_mark): (new)
13377 (prune_unused_types_walk): (new)
13378 (prune_unused_types_prune): (new)
13379 (prune_unused_types): (new)
13380 (dwarf2out_finish): Call prune_unused_types if
13381 flag_eliminate_unused_debug_types is set.
13382 * doc/invoke.texi (Option Summary): Add
13383 -feliminate-unused-debug-types.
13384 (Debugging Options): Likewise.
13385
d8fad4ea
GK
133862003-02-28 Geoffrey Keating <geoffk@apple.com>
13387
13388 * doc/invoke.texi: Change .pch to .gch.
13389 * cppfiles.c (open_file_pch): Likewise.
13390 * gcc.c (default_compilers): Likewise.
13391
9855905c
AH
133922003-02-28 Aldy Hernandez <aldyh@redhat.com>
13393
52999738 13394 * floatlib.c: Remove.
9855905c 13395
3695c25f
JM
133962003-02-28 Jason Merrill <jason@redhat.com>
13397
13398 * stor-layout.c (variable_size): Leave a "minus 1" outside the
13399 SAVE_EXPR.
13400
f8f0e566
DE
134012003-02-28 David Edelsohn <edelsohn@gnu.org>
13402
13403 * config/rs6000/power4.md: Add compare bypass.
13404
35501efe
JT
134052003-02-28 Jason Thorpe <thorpej@wasabisystems.com>
13406
13407 * config/netbsd.h: Update copyright years.
13408 (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
13409 -pthread is specified on the command line.
13410
8f7ee471
DJ
134112003-02-28 Dale Johannesen <dalej@apple.com>
13412
52999738 13413 * loop.c (struct movable): Add insert_temp, shrink savemode.
8f7ee471 13414 (scan_loop): Accept invariants that require copying; mark as
52999738 13415 insert_temp.
8f7ee471
DJ
13416 (combine_movables): Don't combine insert_temp movables.
13417 (move_movables): Insert copies for insert_temp movables.
13418 Don't record the info based on regno for insert_temp's.
13419
67c2b45f
JS
134202003-02-28 Joel Sherrill <joel@OARcorp.com>
13421
13422 PR 9638/other
9a79ab7e 13423 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
67c2b45f
JS
13424 this constant defaults to 1.
13425
066f1538
BW
134262003-02-28 Bob Wilson <bob.wilson@acm.org>
13427
13428 * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
13429
b8c53e96
RE
134302003-02-28 Richard Earnshaw <rearnsha@arm.com>
13431
9a79ab7e 13432 * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
b8c53e96
RE
13433 ARMv5e processor, not just for XScale. Instructions are predicable.
13434 (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
13435
b93828f3
NC
134362003-02-28 Nick Clifton <nickc@redhat.com>
13437
13438 * config/arm/arm.c (note_invalid_constants): Change parameter type
13439 from bool to int.
13440
3c042316
KH
134412003-02-28 Kazu Hirata <kazu@cs.umass.edu>
13442
13443 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
13444 test of bit 7.
13445 (*tst_extzv_memqi_1_n): Likewise.
13446 (a peephole2): New.
13447
c876997f 134482003-02-28 Richard Sandiford <rsandifo@redhat.com>
28727f1f
RS
13449
13450 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
13451 #ifndef __mips16.
13452
62c9aa5f 134532003-02-28 Jan Hubicka <jh@suse.cz>
10a3fdd9
JH
13454
13455 * combine.c (gen_lowpart_for_combine): Update handling of
13456 subregs_of_mode
13457 * flow.c (life_analysis, mark_used_regs): Likewise.
13458 * regclass.c (subregs_of_mode): Turn into single bitmap.
13459 (cannot_change-mode_set_regs, invalid_mode_change_p): Update
13460 dealing with subregs_of_mode
13461 * regs.h (subregs_of_mode): Update prototype.
13462
9d18e06b
JZ
134632003-02-28 Josef Zlomek <zlomekj@suse.cz>
13464
13465 * emit-rtl.c (set_reg_attrs_for_parm): New function.
13466 * rtl.h (set_reg_attrs_for_parm): New exported function.
13467 * function.c (assign_parms): Use set_reg_attrs_for_parm instead of
13468 set_reg_attrs_from_mem.
13469
95456d43
RS
134702003-02-27 Roger Sayle <roger@eyesopen.com>
13471 Zack Weinberg <zack@codesourcery.com>
13472
13473 * gcc.c (do_spec_1): Treat %U like %u for unique associations.
13474
28ae9fed
KH
134752003-02-27 Kazu Hirata <kazu@cs.umass.edu>
13476
13477 * reload1.c (sext_for_mode): Remove.
13478 (reload_cse_move2add): Use trunc_int_for_mode instead of
13479 sext_for_mode.
13480 (move2add_note_store): Likewise.
13481 Reset register information if we see a set in non-integer
13482 mode.
13483
d47719fd
DE
134842003-02-27 David Edelsohn <edelsohn@gnu.org>
13485
30e7f17e
DE
13486 * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
13487 option.
13488 (ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
13489 * config/rs6000/aix51.h: Same.
13490 * config/rs6000/aix52.h: Same.
d47719fd
DE
13491 * config/rs6000/power4.md: Additional VMX bypasses.
13492
7a69a172
GB
134932003-02-27 Geert Bosch <bosch@gnat.com>
13494
13495 * toplev.c (print_version): Add indentation for GGC heuristics and
13496 output after printing version information.
13497
678e68fc
JW
134982003-02-27 James E Wilson <wilson@tuliptree.org>
13499
13500 * combine.c (simplify_comparison): Require integral mode when
13501 permuting SUBREG with AND.
13502
986704f1
SE
135032003-02-27 Steve Ellcey <sje@cup.hp.com>
13504
13505 * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
13506
1e3af7f6
NC
135072003-02-27 Nick Clifton <nickc@redhat.com>
13508
13509 * config/arm/arm.md (extendsfdf2): Add pattern accidentally
13510 deleted when cirrus instructions were added.
13511
51b7c247
JT
135122003-02-27 Jason Thorpe <thorpej@wasabisystems.com>
13513
13514 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
13515 POSIX thread support by default.
13516
3eae722d
RS
135172003-02-27 Roger Sayle <roger@eyesopen.com>
13518
13519 * config/i386/cygwin.h: Don't include any other files directly.
13520 * config/i386/mingw32.h: Don't include cygwin.h directly.
13521 * config.gcc (cygwin, mingw32, uwin): Instead make these files
13522 explicit in the tm_files variable.
13523
6fc19dc9
AM
135242003-02-27 Alan Modra <amodra@bigpond.net.au>
13525
13526 * config/rs6000/rs6000.md: Add TI constant splitter.
13527
c41536f5
AO
135282003-02-26 Alexandre Oliva <aoliva@redhat.com>
13529
65c04548
AO
13530 * builtins.c (purge_builtin_constant_p): Handle subreg of
13531 constant_p_rtx too.
13532
c41536f5
AO
13533 * function.c (assign_stack_local_1): Truncate constant added to
13534 frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
13535
dccd5213
DE
135362003-02-26 David Edelsohn <edelsohn@gnu.org>
13537
13538 * config.gcc: Add power4 to PowerPC with_cpu list.
13539
62c9aa5f 135402003-02-26 Jan Hubicka <jh@suse.cz>
47a5d8e7
JH
13541
13542 * objc-act.c: (mark_referenced_methods): Fix compilation problem.
13543
cb9e4555
ZD
135442003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13545
13546 * gcov-dump.c (print_prefix): Fix signedness warning.
13547 * gcov-io.h (struct counter_section, struct counter_section_data): New.
13548 (struct function_info): n_arc_counts field removed, n_counter_sections,
13549 counter_sections fields added.
13550 (struct gcov_info): arc_counts, n_arc_counts fields removed,
13551 n_counter_sections, counter_sections fields added.
13552 * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
13553 profile sections.
13554 * profile.h (MAX_COUNTER_SECTIONS): New.
13555 (struct section_info): New.
13556 (struct profile_info): count_instrumented_edges,
13557 count_edges_instrumented_now fields removed, n_sections, section_info
13558 fields added.
13559 (find_counters_section): Declare.
13560 * profile.c (struct function_list): count_edges field removed,
13561 n_counter_sections, counter_sections fields added.
13562 (set_purpose, label_for_tag, build_counter_section_fields,
13563 build_counter_section_value, build_counter_section_data_fields,
13564 build_counter_section_data_value, build_function_info_fields,
13565 build_function_info_value, build_gcov_info_fields,
13566 build_gcov_info_value): New static functions.
13567 (find_counters_section): New function.
13568 (instrument_edges, get_exec_counts, compute_branch_probabilities,
13569 branch_prob, create_profiler): Modified to support multiple profile
13570 sections.
13571
b0d7ef9a
JDA
135722003-02-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13573
13574 * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
13575 is 8 * STACK_BOUNDARY.
13576 * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
13577
f6e91562
MM
135782003-02-26 Michael Matz <matz@suse.de>
13579
13580 * ra-colorize.c (merge_moves): Fix list handling.
13581
f0375c66
NC
135822003-02-26 Nick Clifton <nickc@redhat.com>
13583
13584 * config/arm/arm.c (is_load_address): Rename to...
52999738
ZW
13585 (arm_memory_load_p) ... this and make it check for SUBREGs and
13586 constant loads that will be converted into loads from the
13587 minipool.
13588 (is_cirrus_insn): Rename to ...
13589 (arm_cirrus_insn_p): ... this, for consistency. Replace test
13590 of CIRRUS_NO with CIRRUS_NOT.
13591 (cirrus_reorg): Use renamed functions.
13592 (note_invalid_constants): Change from a void function to bool.
13593 Add an extra parameter, saying whether the fixups should be
13594 pushed. Return true if fixups are needed.
13595 (arm_reorg): Use renamed functions. Use INSN_P. Replace test
13596 of CIRRUS_NO with CIRRUS_NOT.
13597 * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
13598 other floating point co-processors can also affect this.
13599 * config/arm/arm.md ("type" attribute): Add mav_farith and
13600 mav_dmult. Replace references to "cirrus_type" attribute with
13601 "type".
13602 * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
13603 ("cirrus_type" attribute): Delete - use "type" instead.
13604 ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
13605 'normal'.
f0375c66 13606
62c9aa5f 136072003-02-25 Jan Hubicka <jh@suse.cz>
0d446150
JH
13608
13609 * objc-act.c: Include cgraph.h
13610 (mark_referenced_methods): New function.
13611 (objc_init): Call it.
13612 * objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
13613
13614 * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
13615 mode.
13616
13617 * optabs.c (expand_fix): Do not widen the input operand.
13618
13619 * expr.c (emit_group_store): Fix crash when converting single
13620 register into complex register.
13621
13622 * Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
13623 * alias.c: Include timevar.h
13624 (init_alias_analysis): Set timevar
13625 * jump.c: Include timevar.h
13626 (rebuild_jump_labels): Set timevar
13627 * regcalss.c: Include timevar.h
13628 (reg_scan): Set timevar
13629 * timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
13630
b17d5d7c
ZD
136312003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13632
13633 * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
13634
13635 * Makefile.in (loop-unroll.o): New.
13636 * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
13637 (unroll_and_peel_loops): Declare.
13638 * alias.c (init_alias_analysis): Flag_unroll_loops renamed to
13639 flag_old_unroll_loops.
13640 * loop.c (loop_invariant_p): Ditto.
13641 * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
13642 flag_old_unroll_all_loops.
13643 * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
13644 (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
13645 * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
13646 (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
13647 PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
13648 PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
13649 PARAM_MAX_ONCE_PEELED_INSNS): New.
13650 * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
13651 (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
13652 instead of old one.
13653 (flag_peel_loops): New.
13654 (lang_independent_options): The new flags added.
13655 (rest_of_compilation): Call new unroller.
13656 (process_options): Setup flags for coexistence of old and new unroller.
13657 * doc/invoke.texi: Document new options.
13658 * doc/passes.texi: Document new unroller pass.
13659
244f7aa9
DB
136602003-02-26 David Billinghurst <David.Billinghurst@riotinto.com>
13661
13662 * fixinc/fixincl.x: Regenerate
13663
1d14f992
JZ
136642003-02-26 Josef Zlomek <zlomekj@suse.cz>
13665
13666 * function.c (assign_parms): Set reg_attrs for parameters passed in
13667 registers.
13668
8ace9f18
AM
136692003-02-26 Alan Modra <amodra@bigpond.net.au>
13670
38a84391 13671 PR target/9681
8ace9f18
AM
13672 * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
13673
9a29ee42
DE
136742003-02-25 David Edelsohn <edelsohn@gnu.org>
13675
13676 * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
13677 pseudo-op.
13678
8beccec8
RS
136792003-02-25 Roger Sayle <roger@eyesopen.com>
13680
13681 * combine.c (combine_simplify_rtx, simplfy_comparison): Use CC0_P.
13682 * cse.c (invalidate_skipped_set): Likewise.
13683 * integrate.c (subst_constants): Likewise.
13684 * jump.c (reversed_comparison_code_parts): Likewise.
13685 * loop.c (canonicalize_condition): Likewise.
13686 * simplify-rtx.c (simplify_relational_operation): Likewise.
13687
b052d8ee
RS
136882003-02-25 Roger Sayle <roger@eyesopen.com>
13689
13690 * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
13691 (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit): Use
13692 the appropriate macro to define built-in function.
13693 (fmod,fmodf,fmodl): New built-in functions.
13694
13695 * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
13696
8d454008
RH
136972003-02-25 Richard Henderson <rth@redhat.com>
13698
13699 * config/i386/i386.c (function_arg): Pass variable sized
13700 structures correctly on the stack.
13701
fc943f55
KH
137022003-02-25 Kazu Hirata <kazu@cs.umass.edu>
13703
13704 * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
13705 does not reduce the cost of SET.
13706
14f00213
FS
137072003-02-25 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13708
13709 PR target/9732
13710 * config/rs6000/rs6000.c (first_reg_to_save): Handle
13711 PIC_OFFSET_TABLE_REGNUM for -fPIC too.
13712 (rs6000_emit_prologue): Likewise.
13713 (rs6000_emit_epilogue): Likewise.
13714 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
13715 PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
13716
8164b171
RH
137172003-02-25 Richard Henderson <rth@redhat.com>
13718
13719 * real.c (real_to_integer2): Force overflow result only for
13720 unsigned overflow.
13721
9e48c409
KH
137222003-02-25 Kazu Hirata <kazu@cs.umass.edu>
13723
13724 * gcse.c (cprop_jump): Revert the 2003-02-23 change.
13725
3044064c 137262003-02-25 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
52999738 13727 Richard Henderson <rth@redhat.com>
3044064c
VM
13728
13729 * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
4e21585b 13730 there is no similar load.
3044064c 13731
15aab9c0 137322003-02-25 Vladimir Makarov <vmakarov@redhat.com>
52999738 13733 Richard Henderson <rth@redhat.com>
15aab9c0
VM
13734
13735 * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
13736 sched-rgn.c.
13737 (add_forward_dependence): New function prototype.
13738
13739 * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
13740 sched-init.h.
13741 (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
13742 them to haifa-sched.c.
13743
13744 * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
13745 haifa_classify_insn): Move them from sched-rgn.c.
13746
13747 * sched-deps.c (add_dependence): Return flag of creating a new
13748 entry.
13749 (add_forward_dependence): New function.
13750 (compute_forward_dependences): Use the function.
9a79ab7e 13751
15aab9c0
VM
13752 * sched-ebb.c (earliest_block_with_similiar_load): New function.
13753 (add_deps_for_risky_insns): New function.
13754 (schedule_ebb): Call the function.
13755
137562003-02-20 Aldy Hernandez <aldyh@redhat.com>
c8e4f0e9 13757
52999738
ZW
13758 * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
13759 TARGET_VECTOR_OPAQUE_P. Document accordingly.
c8e4f0e9 13760
52999738
ZW
13761 * testsuite/gcc.dg/20030218-1.c: Check that initialization of
13762 opaque types fail.
c8e4f0e9 13763
52999738
ZW
13764 * c-typeck.c (comptypes): Change call to vector_types_compatible
13765 to vector_opaque_p.
13766 (convert_for_assignment): Call vector_opaque_p instead of
13767 vector_types_compatible.
13768 (really_start_incremental_init): Disallow initialization of opaque
13769 types.
c8e4f0e9 13770
52999738
ZW
13771 * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
13772 Define TARGET_VECTOR_OPAQUE_P.
13773 (TARGET_INITIALIZER): Same.
c8e4f0e9 13774
52999738
ZW
13775 * target.h (struct gcc_target): Remove vector_types_compatible.
13776 Add vector_opaque_p.
c8e4f0e9 13777
52999738
ZW
13778 * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
13779 Remove.
13780 (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
13781 a vector type. Change return type to bool.
13782 (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
13783 (TARGET_VECTOR_OPAQUE_P): Define.
c8e4f0e9 13784
52999738
ZW
13785 * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
13786 target hook.
13787 Include target.h.
13788 (cp_parser_init_declarator): Fix typo in function comments.
c8e4f0e9 13789
62c9aa5f 137902003-02-25 Jan Hubicka <jh@suse.cz>
fa1a0d02
JH
13791
13792 * Makefile.in (lcm.o): Add dependency on function.h
13793 * lcm.c (function.h): Include.
13794 * i386.c (machine_function, ix86_stack_locals,
13795 * ix86_save_varrargs_registers) : Move to
13796 ...
13797 * i386.h (machine_function, ix86_stack_locals,
13798 ix86_save_varrargs_registers): ... here; add optimize_mode_switching
13799 (ix86_optimize_mode_switching): New.
13800 * i386.md (fix patterns): Set ix86_optimize_mode_switching
13801
b103bfef
NC
138022003-02-25 Nick Clifton <nickc@redhat.com>
13803
13804 * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo. Name
13805 of fourth arg is 'fndecl' not 'indirect'. Update comment
13806 describing the function's parameters.
13807
62c9aa5f 138082003-02-24 Jan Hubicka <jh@suse.cz>
2d21f7d6
JH
13809
13810 * combine.c (simplify_shift_const): Fix previous patch.
13811
2bac97f7
JL
138122003-02-24 Jeff Law <law@redhat.com>
13813
13814 * i386.md (testdi_1_rex64): Discourage reload from using the %eax
13815 alternative.
13816 (testsi_1, testhi_1, testqi_1): Likewise.
13817
f8dc212b
RO
138182003-02-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13819
13820 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
13821 __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
13822 * doc/extend.texi (Tru64 Pragmas): Reflect this.
13823
13824 * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
9a79ab7e 13825 extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
f8dc212b
RO
13826 * fixinc/fixincl.x: Regenerate.
13827 * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
13828 testcase.
13829 Fixes PR c/5059, c/6126, other/9671.
9a79ab7e 13830
44ee6e9e
RS
138312003-02-24 Roger Sayle <roger@eyesopen.com>
13832
13833 * gcc.c (do_spec_1) ['{']: Handle pending argument upon return
13834 from handle_braces in "%{...}".
13835
463f02cd
KK
138362003-02-24 Kaz Kojima <kkojima@gcc.gnu.org>
13837
13838 * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
13839 (prepare_move_operands): Handle TLS operands.
13840 (tls_symbolic_operand): New.
13841 (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
13842 (legitimize_pic_address): Do nothing for the TLS symbol.
13843 (sh_encode_section_info): Handle TLS case.
13844 (sh_strip_name_encoding): Drop TLS encoding.
13845 * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
13846 * config/sh/sh.h (SH_TLS_ENCODING): Define.
13847 (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
13848 (ASM_OUTPUT_LABELREF): Drop TLS encoding.
13849 (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
13850 * config/sh/sh.md: Define TLS UNSPEC constants.
13851 (type): Add tls_load.
13852 ("tls_global_dynamic", "tls_local_dynamic"): New insns.
13853 ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
13854 ("tls_initial_exec"): New insn.
13855 ("sym2TPOFF", "symTPOFF2reg"): New expanders.
13856 ("load_gbr"): New insn.
13857
13858 * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
52999738 13859 * configure: Regenerate.
463f02cd 13860
8403445a
AM
138612003-02-24 Alan Modra <amodra@bigpond.net.au>
13862
6fc19dc9 13863 PR 9297, PR 9722
8403445a
AM
13864 * calls.c (store_one_arg): Revert 1999-02-16 change. Revert
13865 2000-12-17 change. Pass EXPAND_STACK_PARM to expand_expr.
13866 * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
13867 (enum block_op_methods): Reorder for better store_expr optimization.
13868 * expr.c (store_expr): Test bit 1 of "want_value" for call param
13869 stores, test bit 0 for original want_value meaning. Pass
13870 BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set. Adjust
13871 recursive calls, and calls to expand_param.
13872 (expand_expr): Handle EXPAND_STACK_PARM modifier. When cse
13873 expected, set target to 0 rather than to subtarget. Formatting.
13874
ef906381
KH
138752003-02-23 Kazu Hirata <kazu@cs.umass.edu>
13876
13877 * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
13878
16226f1e
KG
138792003-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13880
13881 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
13882 new default behavior.
13883 * ggc-common.c: Include sys/resource.h.
13884 (ggc_rlimit_bound): New function.
13885 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
13886 defaults to account for rlimits.
13887
9e555526
RH
138882003-02-22 Richard Henderson <rth@redhat.com>
13889
13890 * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
13891
138922003-02-22 Kelley Cook <kelley@dwhoops.info>
13893
52999738 13894 * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
9e555526
RH
13895 (ix86_tune_string): Rename from ix86_cpu_string.
13896
9d913bbf
KC
138972003-02-22 Kelley Cook <kelleycook@comcast.net>
13898
52999738
ZW
13899 * config/i386/i386.c: Replace "mcpu" with "mtune".
13900 * config/i386/i386.h (TARGET_OPTIONS): Likewise.
13901 (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
13902 * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
13903 with "mtune". Note that "mcpu" is a deprecated synonym for "mtune".
9d913bbf 13904
d2c172bf
AS
139052003-02-23 Andreas Schwab <schwab@suse.de>
13906
13907 * config.gcc: Delete references to m68k/t-linux and
13908 m68k/t-linux-aout.
13909 * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
13910
62c9aa5f 139112003-02-22 Jan Hubicka <jh@suse.cz>
b3de7382
JH
13912
13913 * toplev.c (rest_of_compilation): Apply fotgotten hunk
13914 of track scheduling patch.
13915
62c9aa5f 139162003-02-22 Jan Hubicka <jh@suse.cz>
90b8be73
JH
13917
13918 * config/linux.h (TARGET_HAS_F_SETLKW): Define.
13919 * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
13920
62c9aa5f 139212003-02-22 Jan Hubicka <jh@suse.cz>
764c4414
JH
13922
13923 * c-decl.c (c_expand_body_1): Fix.
13924
62c9aa5f 139252003-02-22 Jan Hubicka <jh@suse.cz>
1c4a429a
JH
13926
13927 * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
13928
13929 * cfgcleanup.c (try_forward_edges): Don't check loop structures
13930 when not optimizing.
13931 (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
13932 when not expensive.
13933 * toplev.c (rest_of_compilation): Duplicate loop headers only when
13934 optimizing; Delete trivially dead insns early; fix optimize check.
13935
13936 * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
13937 dependency on cgraph.h
13938 * c-decl.c: Include cgraph.h
13939 (finish_function): Update call of tree_inlinable_function_p.
13940 * c-objc-common.c: Include cgraph.h
13941 * cgraph.h: New file.
13942 * cgraphunit.c: New file.
13943 * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
13944 (cgraph_nodes, cgraph_n_nodes): Globalize.
13945 (cgraph_finalize_function, cgraph_finalize_compilation_unit
13946 cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
13947 Move into cgraphunit.c
13948 * tree-inline.c: Include cgraph.h
13949 * tree-inline.c: Include cgraph.h
13950
1e2115dc
JZ
139512003-02-22 Josef Zlomek <zlomekj@suse.cz>
13952
13953 * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
13954 for copying a register.
13955
26182e15
SB
139562003-02-22 Steven Bosscher <s.bosscher@student.tudelft.nl>
13957
13958 PR other/3782
13959 * toplev.c (process_options): If flag_detailed_statistics is set,
13960 then set time_report as well.
13961
b6553814
SB
13962 PR c/8828
13963 * jump.c (never_reached_warning): Don't fall through BARRRIER
26182e15
SB
13964 insns. Update comments to reflect what the function really does.
13965
c0a47a61
RS
139662003-02-21 Roger Sayle <roger@eyesopen.com>
13967
13968 * fold-const.c (omit_one_operand): No longer static.
13969 * tree.h (omit_one_operand): Prototype here.
13970 (div_and_round_double): Keep fold-const.c prototypes together.
13971 * builtins.c (builtin_mathfn_code): Handle binary built-in
13972 funtions, such as "pow" and "atan2".
13973 (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
13974 Simplify optimizations using "type" the builtin's return type.
13975
51928907
HPN
139762003-02-22 Hans-Peter Nilsson <hp@axis.com>
13977
5b296d93
HPN
13978 * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
13979 Fix functionalization typo.
13980
51928907
HPN
13981 * regmove.c (optimize_reg_copy_1): Do not replace a hard register
13982 in an asm.
13983
9ac121af
KG
139842003-02-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13985
13986 * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
13987 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
13988 documentation.
13989 * ggc-common.c: Include params.h
13990 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
13991 init_ggc_heuristics): New functions.
13992 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
13993 init_ggc_heuristics): Prototype.
13994 * toplev.c (print_version): Output GGC heuristics.
13995 (parse_options_and_default_flags): Call init_ggc_heuristics.
13996
62c9aa5f 139972003-02-22 Jan Hubicka <jh@suse.cz>
453ee231
JH
13998
13999 * i386.c (def_builtin): Special case 64bit builtins.
14000 (MASK_SSE164, MASK_SSE264): New constants.
14001 (builtin_description): Add 64bit builtins.
14002 (ix86_init_mmx_sse_builtins): Likewise.
14003 * i386.h (enum ix86_builtins): Likewise.
14004 * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
14005 sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
14006 (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
14007 * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
14008 * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
14009 _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
14010 _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
14011
62c9aa5f 140122003-02-22 Jan Hubicka <jh@suse.cz>
d50672ef
JH
14013
14014 * i386.c (builtin_description): Add __builtin_ia32_paddq and
14015 __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
14016 and __builtin_ia32_psubq128.
14017 * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
14018 * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
14019 (mmx_adddi3, mmx_subdi3): New.
14020 * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
14021 * xmmintrin.h (_mm_movepi64_pi64): New.
14022 (_mm_add_epi64, _mm_sub_epi64): fix.
14023 (_mm_mul_pu16): Rename to...
14024 (_mm_mul_su32): ... this one.
14025
14026 * builtins.c (expand_builtin_expect): Do not predict
14027 flag_guess_branch_prob is not set.
14028 * c-semantics.c (expand_stmt): Likewise.
14029 * predict.c (predict_insn): Likewise.
14030 * stmt.c (expand_continue_loop): Likewise.
14031 * toplev.c (rest_of_compilation): Do not call
14032 note_prediction_to_br_prob and note_prediction_to_br_prob
14033 when not optimizing.
14034
62c9aa5f 140352003-02-21 Jan Hubicka <jh@suse.cz>
9809a362
JH
14036
14037 * cfgrtl.c (commit_edge_insertions): Call
14038 find_many_sub_basic_block only when some code has been emitted.
14039 (commit_edge_insertions_watch_calls): Bring into sync with
14040 commit_edge_insertions
14041
62c9aa5f 140422003-02-21 J"orn Rennecke <joern.rennecke@superh.com>
a93d1ba2
R
14043
14044 * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
14045
14046 * sh.md (binary_sf_op): Use extra constant operand instead of
14047 negating constant operand 4.
14048 * sh.c (sh_expand_binop_v2sf): Supply it.
14049
a8d0ddaf
ZW
140502003-02-21 Zack Weinberg <zack@codesourcery.com>
14051
14052 * cpphash.h (struct lexer_state): Add directive_wants_padding.
14053 * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
14054 for directives of type INCL.
14055 (glue_header_name, parse_include): Use get_token_no_padding.
14056 * cppmacro.c (replace_args): If directive_wants_padding,
14057 provide padding tokens.
14058
902ac719
KH
140592003-02-21 Kazu Hirata <kazu@cs.umass.edu>
14060
14061 * config/h8300/h8300.md (a peephole2): New.
14062
62c9aa5f 140632003-02-21 Jan Hubicka <jh@suse.cz>
9dca2ad5
JH
14064
14065 * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
14066 (commit_edge_insertions): Call find_many_sub_basic_blocks
14067
14068 * reg-stack.c (convert_regs): Cleax aux for blocks.
14069
62c9aa5f 140702003-02-21 Jan Hubicka <jh@suse.cz>
64465d27
JH
14071
14072 * toplev.c (parse_options_and_default_flags): Undo accidental commit.
14073
9e7d0b92
GN
140742003-02-21 Glen Nakamura <glen@imodulo.com>
14075
14076 PR optimization/8613
14077 * builtins.c (expand_builtin): Emit postincrements before expanding
14078 builtin functions.
14079
a7582c8c
BE
140802003-02-21 Ben Elliston <bje@redhat.com>
14081
14082 PR other/5634
14083 * doc/install.texi (Configuration): Explain using $HOME instead of
14084 the ~ metacharacter when referring to home directories.
14085
91710e62
AO
140862003-02-20 Alexandre Oliva <aoliva@redhat.com>
14087
14088 * configure.in (TARGET_SYSTEM_ROOT): Set default to
14089 ${exec_prefix}/${target_alias}/sys-root. Match explicit
14090 '${exec_prefix}' (in addition to the expansion thereof) as
14091 relocatable.
14092 * configure: Rebuilt.
14093
d64f6f86
KH
140942003-02-20 Kazu Hirata <kazu@cs.umass.edu>
14095
14096 * config/h8300/h8300.md (addhi3_incdec): Change the name to
14097 *addhi3_incdec.
14098 (addsi3_incdec): Change the name to *addsi3_incdec.
14099
fd7acc30
RS
141002003-02-20 Roger Sayle <roger@eyesopen.com>
14101
14102 * explow.c (force_reg): Avoid useless REG_EQUAL notes.
14103
1c2de642
TM
141042003-02-20 Toon Moene <toon@moene.indiv.nluug.nl>
14105
14106 PR fortran/9038
14107 * c-opts.c (sanitize_cpp_opts): Add Fortran front end
14108 options to be ignored.
14109 (c_common_decode_option): Ignore them when preprocessing.
14110
62c9aa5f 141112003-02-20 Jan Hubicka <jh@suse.cz>
b9422b69 14112
fd7acc30
RS
14113 * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
14114 global variables.
14115 (lang_independent_options): Add -fsched2-use-superblocks
14116 -fsced2-use-traces.
b9422b69
JH
14117 (rest_of_compilation): Deal with it.
14118 * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks): Declare.
fd7acc30
RS
14119 * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
14120 Declare.
b9422b69
JH
14121 * rtl.h (reg_to_stack): Update prototype.
14122 * reg-stack.c (reg_to_stack): Return when something has changed;
14123 update liveness when executing after superblock scheduling.
14124
14125 * combine.c (simplify_shift_const): Simplify few special cases
14126 into constants.
14127
a62bfff2
DE
141282003-02-20 David Edelsohn <edelsohn@gnu.org>
14129
14130 * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
14131 (add.,subf.,neg.): Change attribute to fast_compare.
14132 All DFA descriptions updated.
14133
dbbf88d1
NS
141342003-02-20 Nathan Sidwell <nathan@codesourcery.com>
14135
14136 Change base class access representation.
14137 * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
14138 TREE_VIA_PRIVATE): Remove.
14139 (BINFO_BASEACCESSES): New binfo elt.
14140 (BINFO_BASEACCESS): New accessor.
14141 (BINFO_ELTS): Increase.
14142 (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
14143 (access_public_node, access_protected_node,
14144 access_private_node): New global nodes.
14145 * tree.c (build_common_tree_nodes_2): Initialize access nodes.
14146 * dbxout.c (dbxout_type): Adjust.
14147 * dwarf2out.c (gen_inheritance_die): Add access parameter.
14148 (gen_member_die): Adjust.
14149 * dwarfout.c (output_inheritance_die): ARG is array of two trees.
14150 (output_type): Adjust.
14151 * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
14152
14153 Change base class access representation. Share virtual base
14154 binfos.
14155 * cp/call.c (build_special_member_call): Remove binfo_for_vbase
14156 call.
14157 * cp/class.c (build_base_path): Likewise.
14158 (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
14159 (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
14160 (make_new_vtable): Adjust.
14161 (force_canonical_binfo_r): Delete.
14162 (force_canonical_binfo): Delete.
14163 (mark_primary_virtual_base): Delete.
14164 (dfs_unshared_virtual_bases): Delete.
14165 (mark_primary_bases): Adjust.
14166 (maybe_warn_about_overly_private_class): Adjust.
14167 (dfs_base_derived_from): Delete.
14168 (base_derived_from): Follow the inheritance chain.
14169 (struct find_final_overrider_data): Add vpath member.
14170 (dfs_find_final_overrider): Adjust.
14171 (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
14172 (find_final_overrider): Adjust.
14173 (update_vtable_entry_for_fn): Adjust.
14174 (modify_all_vtables): Adjust.
14175 (walk_subobject_offsets): Adjust.
14176 (layout_nonempty_base_or_field): Adjust.
14177 (layout_empty_base): Remove last parameter. Adjust.
14178 (build_base_field): Adjust.
14179 (build_base_fields): Adjust.
14180 (propagate_binfo_offsets): Remove last parameter. Adjust.
14181 (dfs_set_offset_for_unshared_vbases): Delete.
14182 (layout_virtual_bases): Adjust.
14183 (finish_struct_1): Adjust.
14184 (init_class_processing): Don't init access nodes.
14185 (dfs_get_primary_binfo): Delete.
14186 (get_primary_binfo): Adjust.
14187 (dump_class_hierarchy_r): Remove most derived arg, add IGO
14188 parameter. Adjust.
14189 (dump_class_hierarchy): Adjust.
14190 (finish_vtbls): Adjust.
14191 (get_original_base): Delete.
14192 (build_vtt_inits): Adjust.
14193 (dfs_build_secondary_vptr_vtt_inits): Adjust.
14194 (dfs_ctor_vtable_bases_queue_p): Adjust.
14195 (build_ctor_vtbl_group): Adjust.
14196 (dfs_accumulate_vtbl_inits): Adjust.
14197 (build_vtbl_initializer): Adjust.
14198 (build_vbase_offset_vtbl_entries): Adjust.
14199 (add_vcall_offset_vtbl_entries_1): Adjust.
14200 * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
14201 (access_*_node): Remove.
14202 (CANONICAL_BINFO): Delete.
14203 (BINFO_UNSHARED_MARKED): Remove.
14204 (BINFO_MARKED): Set LANG_FLAG_0 directly.
14205 (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
14206 (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
14207 (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
14208 Delete.
14209 (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
14210 (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
14211 (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
14212 Delete.
14213 (BINFO_DEPENDENT_BASE_P): New.
14214 (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
14215 index.
14216 (markedp, unmarkedp): Adjust.
14217 (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
14218 dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
14219 find_vbase_instance, binfo_for_vbase): Delete.
14220 (copied_binfo, original_binfo): Declare.
14221 (finish_base_specifier): Add virtual_p arg.
14222 (unshare_base_binfos): Delete.
14223 (copy_base_binfos): Declare.
14224 (reverse_path): Delete.
14225 * cp/decl.c (xref_basetypes): Access and virtuality passed
14226 differently. Don't copy direct base binfos here. Call
14227 copy_base_binfos.
14228 * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
14229 (initialize_vtbl_ptrs): Adjust.
14230 (expand_member_init): Adjust.
14231 * cp/parser.c (cp_parser_base_specifier): Adjust.
14232 * cp/pt.c (instantiate_class_template): Adjust.
14233 (get_template_base_recursive): Adjust.
14234 * cp/rtti.c (get_pseudo_ti_init): Adjust.
14235 (get_pseudo_ti_desc): Adjust.
14236 * cp/tree.c (unshare_base_binfos): Rename to ...
14237 (copy_base_binfos): ... here, reimplement.
14238 (make_binfo): Set BINFO_DEPENDENT_BASE_P.
14239 (reverse_path): Remove.
14240 * cp/typeck.c (get_delta_difference): Adjust error messages.
14241 * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
14242 * cp/search.c (lookup_base_r): Adjust.
14243 (dynamic_cast_base_recurse): Adjust.
14244 (canonical_binfo): Remove.
14245 (dfs_canonical_queue): Remove.
14246 (dfs_assert_unmarked_p): Remove.
14247 (assert_canonical_unmarked): Remove.
14248 (shared_marked_p, shared_unmarked_p): Remove.
14249 (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
14250 (dfs_access_in_type): Adjust.
14251 (access_in_type): Adjust.
14252 (dfs_accessible_queue_p): Adjust.
14253 (dfs_accessible_p): Adjust.
14254 (is_subobject_of_p_1, is_subobject_of_p): Remove.
14255 (struct lookup_field_info): Remove from_dep_base_p field.
14256 (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
14257 (lookup_field_r): Remove dependent base code.
14258 (lookup_member): Likewise.
14259 (dfs_walk, dfs_walk_real): Add access arg to queue fn.
14260 (dfs_unmarked_real_bases_queue_p): Remove.
14261 (dfs_marked_real_bases_queue_p): Remove.
14262 (dfs_skip_vbases): Remove.
14263 (dfs_get_pure_virtuals): Adjust.
14264 (markedp, unmarkedp): Adjust.
14265 (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
14266 (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
14267 (dfs_unmark): Adjust.
14268 (dfs_get_vbase_types):Remove.
14269 (dfs_build_inheritance_graph_order): Remove.
14270 (get_vbase_types): Remove
14271 (dfs_find_vbase_instance): Remove.
14272 (find_vbase_instance): Remove.
14273 (dfs_debug_unmarkedp): Adjust.
14274 (dependent_base_p): Remove.
14275 (dfs_push_type_decls): Adjust.
14276 (dfs_push_decls): Adjust.
14277 (dfs_no_overlap_yet): Adjust.
14278 (copied_binfo): New function.
14279 (original_binfo): New function.
14280 (binfo_for_vbase): Remove.
14281
14282 Change base class access representation.
14283 * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
14284 (add_interface_do): Likewise.
14285
6d6ab190
DE
142862003-02-20 David Edelsohn <edelsohn@gnu.org>
14287
a8d0ddaf
ZW
14288 * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
14289 * config/rs6000/power4.md (power4-store,power4-vecstore): New
6d6ab190
DE
14290 insn reservations.
14291 (power4-fpstore): Compact.
14292
2dd5df7c
KH
142932003-02-20 Kazu Hirata <kazu@cs.umass.edu>
14294
14295 * config/h8300/h8300.md (*iorsi3_w): New.
14296
8fa08316
JZ
142972003-02-20 Josef Zlomek <zlomekj@suse.cz>
14298
14299 * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
14300 * rtl.c (reg_note_name): Likewise.
14301 * rtl.h (enum reg_note): Likewise.
14302 * doc/invoke.texi: Likewise.
14303 * doc/rtl.texi: Likewise.
14304
c8717368
JZ
143052003-02-20 Josef Zlomek <zlomekj@suse.cz>
14306
14307 * bb-reorder.c (find_traces_1_round): Fix comment typo.
14308
3bc400cd
RS
143092003-02-19 Roger Sayle <roger@eyesopen.com>
14310
14311 * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
14312 addition in the presence of signaling NaNs.
14313
b5a49c0b
KW
143142003-02-19 Krister Walfridsson <cato@df.lth.se>
14315
14316 * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
14317
472f2723
KH
143182003-02-19 Kazu Hirata <kazu@cs.umass.edu>
14319
14320 * config/h8300/h8300.c (output_logical_op): Optimize or.l when
14321 ORing with 0xffff??00 with the highest bit of the ?? part set.
14322 (compute_logical_op_length): Update.
14323 (compute_logical_op_cc): Likewise.
14324
6d9cc15b
JZ
143252003-02-19 Josef Zlomek <zlomekj@suse.cz>
14326
14327 * bb-reorder.c (find_traces_1_round): Fixed condition for small
14328 destination block with multiple predecessors.
14329 (connect_traces): Check whether the block is a start of trace.
14330
62c9aa5f 143312003-02-19 Jan Hubicka <jh@suse.cz>
563a317a
JH
14332
14333 * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
14334 * function.c (assign_params): Likewise.
14335 * arm-protos.h (arm_init_cumulative_args): Update prototype.
14336 * arm.c (arm_init_cumulative_args): Update function.
14337 * arm.h (INIT_CUMULATIVE_ARGS): Update.
14338 * avr-protos.h (init_cumulative_args): Update prototype.
14339 * avr.c (init_cumulative_args): Update function.
14340 * avr.h (INIT_CUMULATIVE_ARGS): Update.
14341 * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
14342 * d30v.c (d30v_init_cumulative_args): Update function.
14343 * d30v.h (INIT_CUMULATIVE_ARGS): Update.
14344 * frv-protos.h (frv_init_cumulative_args): Update prototype.
14345 * frv.c (frv_init_cumulative_args): Update function.
14346 * frv.h (INIT_CUMULATIVE_ARGS): Update.
14347 * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
14348 * pa.h (INIT_CUMULATIVE_ARGS): Update.
14349 * sparc-protos.h (init_cumulative_args): Update prototype.
14350 * sparc.c (init_cumulative_args): Update function.
14351 * sparc.h (INIT_CUMULATIVE_ARGS): Update.
14352 * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
14353
be9d08c2
KH
143542003-02-19 Kazu Hirata <kazu@cs.umass.edu>
14355
14356 * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
14357 (*ashiftsi_sextqi_7): Likewise.
14358
f23147fe
RO
143592003-02-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14360
14361 * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
14362 ISO C99 and C++.
14363
14364 * fixinc/inclhack.def (irix___restrict): Don't change __restrict
14365 for C++ on IRIX 6.5.1[89].
14366 * fixinc/tests/base/internal/sgimacros.h: New file.
14367
14368 * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
14369 * fixinc/tests/base/internal/wchar_core.h: New file.
a8d0ddaf 14370
f23147fe
RO
14371 * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
14372 socklen_t definition.
14373 * fixinc/fixincl.x: Regenerate.
14374 * fixinc/tests/base/sys/socket.h: New file.
14375 Fixes PR libgcj/9652.
14376
62c9aa5f 143772003-02-19 Jan Hubicka <jh@suse.cz>
30e4d9d4
JH
14378
14379 * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
14380
2792d578
DE
143812003-02-19 David Edelsohn <edelsohn@gnu.org>
14382
14383 * config/rs6000/rs6000.c (rs6000_override_options): Initialize
14384 align_jumps_max_skip and align_loops_max_skip.
14385
143862003-02-19 Thierry Moreau <thierry.moreau@connotech.com>
14387
14388 * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
14389 test size if named section.
14390
48a5f2fa
DJ
143912003-02-19 Daniel Jacobowitz <drow@mvista.com>
14392
14393 * expr.c (expand_expr): Use gen_int_mode for the argument
14394 to gen_rtx_MULT.
14395
62c9aa5f 143962003-02-19 Jan Hubicka <jh@suse.cz>
9e889775
JH
14397
14398 * i386.md (cosxf2): Fix conditional.
14399
f4c07fbf
KH
144002003-02-19 Kazu Hirata <kazu@cs.umass.edu>
14401
14402 * config/h8300/h8300.md (extendqisi2): Change to an expander.
14403 (*extendqisi2_h8300): New.
14404 (*extendqisi2_h8300hs): Likewise.
14405
590734b6
KH
144062003-02-19 Kazu Hirata <kazu@cs.umass.edu>
14407
14408 * config/h8300/h8300-protos.h: Update the prototype for
14409 split_adds_subs. Remove the prototypes for
14410 const_int_le_2_operand and const_int_le_6_operand.
14411 * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
14412 (const_int_le_2_operand): Remove.
14413 (const_int_le_6_operand): Likewise.
14414 * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
14415 for const_int_le_2_operand and const_int_le_6_operand.
14416 * config/h8300/h8300.md: Update all uses of split_adds_subs.
14417 (a peephole2): New.
14418
62c9aa5f 144192003-02-18 Jan Hubicka <jh@suse.cz>
c001c39b
JH
14420
14421 * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
14422 (cgraph_expand_function): Rewrite.
14423
2f51bb1d 144242003-02-18 Matt Austern <austern@apple.com>
3bc400cd 14425
2f51bb1d 14426 * toplev.c, langhooks.c, langhooks-def.h: Move
a8d0ddaf 14427 write_global_declarations from toplev.c to langhooks.c.
3bc400cd 14428
ff6e1a2f
KH
144292003-02-18 Kazu Hirata <kazu@cs.umass.edu>
14430
14431 * config/h8300/h8300.c (general_operand_src): Always check
14432 MODE.
14433 (general_operand_dst): Likewise.
14434
78bd5210
RS
144352003-02-18 Roger Sayle <roger@eyesopen.com>
14436
14437 * convert.c (convert_to_real): Also optimize (float)log(x) into
14438 logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
14439
9f3a9a08
KK
144402003-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
14441
a8d0ddaf 14442 * config/sh/sh.c (unspec_caller_rtx_p): New.
9f3a9a08 14443 (sh_cannot_copy_insn_p): New.
a8d0ddaf 14444 (TARGET_CANNOT_COPY_INSN_P): New.
9f3a9a08 14445
d7ddbe24
RH
144462003-02-18 Richard Henderson <rth@redhat.com>
14447
14448 * c-common.c (handle_used_attribute): Accept static data too.
14449
144502003-02-18 Nick Clifton <nickc@redhat.com>
a8d0ddaf 14451 Aldy Hernandez <aldyh@redhat.com>
22d324c1 14452
a8d0ddaf 14453 * testsuite/gcc.dg/20030218-1.c: New.
22d324c1 14454
a8d0ddaf 14455 * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
22d324c1 14456
a8d0ddaf
ZW
14457 * target-def.h (TARGET_INITIALIZER): Add
14458 TARGET_VECTOR_TYPES_COMPATIBLE.
14459 (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
22d324c1 14460
a8d0ddaf 14461 * target.h (struct gcc_target): Add field vector_types_compatible.
22d324c1 14462
a8d0ddaf
ZW
14463 * c-typeck.c (comptypes): Take into account
14464 TARGET_VECTOR_TYPES_COMPATIBLE.
14465 (convert_for_assignment): Same.
22d324c1 14466
a8d0ddaf
ZW
14467 * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
14468 (rs6000_spe_vector_types_compatible): New.
14469 (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
22d324c1 14470
e5378e8d
AS
144712003-02-19 Andreas Schwab <schwab@suse.de>
14472
14473 * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
14474 * toplev.c: Include langhooks-def.h.
14475
fcc11c35
CD
144762003-02-18 Chris Demetriou <cgd@broadcom.com>
14477
14478 * config/mips/mips.h (enum processor_type): Sort entries
14479 alphabetically.
14480 * config/mips/mips.md (define_attr cpu): Sync with processor_type
14481 enum values, including adding entries that were missing.
14482
62c9aa5f 144832003-02-18 J"orn Rennecke <joern.rennecke@superh.com>
29db2a1e 14484
3bc400cd
RS
14485 * sh.c (calc_live_regs): Also check GET_CODE when checking if
14486 initial value for PR_REG is still the PR_REG register.
29db2a1e 14487
582d11e6
JW
144882003-02-18 Jim Wilson <wilson@redhat.com>
14489
14490 * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
14491 instruction in output template.
14492 (bsp_value): Change output template from string to C code, add %,
14493 before actual instruction.
14494 (flushrs): Mark as not predicable.
14495
3edc4b23
KW
144962003-02-18 Krister Walfridsson <cato@df.lth.se>
14497
14498 * inclhack.def (netbsd_bogus_semicolon): New fix.
14499 * fixincl.x: Rebuilt.
14500 * tests/base/ctype.h: Update.
14501
080ea642
RS
145022003-02-18 Roger Sayle <roger@eyesopen.com>
14503
14504 * fold-const.c (negate_expr_p): New function to determine whether
14505 an expression can be negated cheaply.
14506 (fold) [MINUS_EXPR]: Use it to determine whether to transform
14507 -A - B into -B - A for floating point types.
14508
e360ab39
RS
145092003-02-18 Roger Sayle <roger@eyesopen.com>
14510
14511 * sbitmap.c (sbitmap_resize): New function.
14512 * sbitmap.h (sbitmap_resize): Prototype here.
14513 * recog.c (split_all_insns): Use sbitmap_resize.
14514
6b00cbc7
KH
145152003-02-18 Kazu Hirata <kazu@cs.umass.edu>
14516
14517 * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
14518 insn length.
14519 (extendqisi2): Likewise.
14520 (*extendhisi2_h8300): Likewise.
14521
2b59501b 145222003-02-18 Matt Austern <austern@apple.com>
a8d0ddaf 14523
2b59501b
MA
14524 * langhooks.h, langhooks-def.h: introduce new langhook,
14525 final_write_globals, with write_global_declarations as default.
14526 * toplev.c: Move invocation of wrapup_global_declarations from
14527 compile_file to new function, write_global_declarations. Change
14528 compile_file to use final_write_globals hook. Change
14529 wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
a8d0ddaf
ZW
14530 conditional.
14531
131efcd8
JDA
145322003-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14533
14534 * pa.md: Correct and enhance comment.
14535
e17aafd1
GK
145362003-02-18 Geoffrey Keating <geoffk@apple.com>
14537
14538 * gcc.c (validate_switches): Don't scan past closing '}'.
14539
f57a2e3a
BE
145402003-02-18 Ben Elliston <bje@redhat.com>
14541
14542 PR c++/1607
14543 * doc/extend.texi (Function Attributes): Document the effect of
14544 the C++ "this" parameter on the counting of arguments for the
14545 "format" and "format_arg" attributes.
14546
9b0c0e9f
AH
145472003-02-17 Aldy Hernandez <aldyh@redhat.com>
14548
a8d0ddaf
ZW
14549 * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
14550 (__ev_stdw): Same.
14551 (__ev_stdh): Same.
9b0c0e9f 14552
62c9aa5f 145532003-02-17 Jan Hubicka <jh@suse.cz>
35a3fa09
JH
14554
14555 * recog.c (split_all_insns): Fix memory overflow.
14556
6dc50366
KH
145572003-02-17 Kazu Hirata <kazu@cs.umass.edu>
14558
14559 * config/h8300/h8300.md (cmpqi): Remove mode from compare.
14560 (cmphi): Likewise.
14561 (*cmphi_h8300): Likewise.
14562 (*cmphi_h8300hs): Likewise.
14563 (cmpsi): Likewise.
14564 (7 peephole2): Likewise.
14565
62c9aa5f 145662003-02-16 Jan Hubicka <jh@suse.cz>
096daf41
JH
14567
14568 * c-typeck.c (build_c_cast): Fold constant variables into
14569 initial values.
14570
35113fde
GP
145712003-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14572
14573 * doc/install.texi (Specific): Fix link for m68k-att-sysv.
14574 (Binaries): Ditto for Sinix/Reliant Unix.
14575
3a1944a6
RE
145762003-02-16 Richard Earnshaw <rearnsha@arm.com>
14577
14578 * arm.c (arm_reload_in_hi): Ensure that the scratch register does
14579 not overlap the final result register.
14580
cdd4b0d4
AB
145812003-02-16 Arend Bayer <arend.bayer@web.de>
14582 Richard Henderson <rth@redhat.com>
14583
ddb9eedd 14584 PR c/8068
cdd4b0d4
AB
14585 * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
14586 rearrange mult arguments for less recursion.
14587 (extract_muldiv): New. Prevent runaway recursion.
14588
616f273a
DS
145892003-02-16 Danny Smith <dannysmith@users.sourceforge.net>
14590
14591 * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
14592 MASK_ALIGN_DOUBLE.
14593
881b2a96
RS
145942003-02-15 Roger Sayle <roger@eyesopen.com>
14595
14596 * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
14597 to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
14598 (ext_80387_constants_table): Global table of 80387 special constants
14599 guarded by ext_80387_constants_init flag when not initialized.
14600 (init_ext_80387_constants): New function to initialize this table.
14601 (standard_80387_constant_p): Extend to recognize extra 80387
14602 constants, in XFmode, on processors where this is a win.
14603 (standard_80387_constant_opcode): New function to return the
14604 opcode associated with standard_80387_constant_p.
14605 (standard_80387_constant_rtx): New function to return the XFmode
14606 CONST_DOUBLE associated with standard_80387_constant_p.
14607 (ix86_rtx_costs): Give the new constants the same cost as 1.0.
14608
14609 * config/i386/i386-protos.h (standard_80387_constant_opcode):
14610 Prototype here.
14611 (standard_80387_constant_rtx): Likewise.
14612
14613 * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
14614 *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
14615 *movtf_integer): Simplify using new standard_80387_constant_opcode.
14616
d203738b
GK
146172003-02-15 Geoffrey Keating <geoffk@apple.com>
14618
14619 * doc/invoke.texi (Optimize Options): Correct @option syntax.
14620
0b077eac
RH
146212003-02-15 Richard Henderson <rth@redhat.com>
14622
14623 * Makefile.in (cfglayout.o): Depend on TARGET_H.
14624 * cfglayout.c: Include target.h.
14625 (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
14626 * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
14627 * target.h (struct gcc_target): Add cannot_copy_insn_p.
14628
14629 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
14630 (TARGET_CANNOT_COPY_INSN_P): New.
14631 (override_options): Revert 2003-02-08 hack.
14632
9a71ece1
RH
146332003-02-15 Richard Henderson <rth@redhat.com>
14634
14635 * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
14636 (bypass_conditional_jumps): Accept computed_jump_p insns as well.
14637
b54cf83a
DE
146382003-02-15 David Edelsohn <edelsohn@gnu.org>
14639
14640 * config/rs6000/rs6000.h (processor_type): Add PPC440.
14641 * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
14642 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
14643 TARGET_SCHED_VARIABLE_ISSUE): Define.
14644 (rs6000_use_dfa_pipeline_interface): New function.
14645 (rs6000_multipass_dfa_lookahead): New Function.
14646 (rs6000_variable_issue): New function.
14647 (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
14648 (rs6000_issue_rate): Add PPC440.
14649 * config/rs6000/rs6000.md (unspec list): Correct typo.
14650 (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
14651 store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
14652 cmp, delayed_cr, mfcr, mtcr.
14653 (automata_option): Set "ndfa".
14654 (extendMMNN2): Update attributes.
14655 (movcc_internal1): Discourage move to non-cr0. Update
14656 attributes.
14657 (movMM_update): Update attributes.
14658 (cmpMM_internal): Update attributes.
14659 (sCC CR materialization): Update attributes.
14660 (branch patterns): Do not discourage non-cr0.
14661 (cr logical patterns): Prefer destructive register allocation.
14662 Update attributes.
14663 (movesi_from_cr): Update attribute.
14664 (mtcrf_operation): Update attribute.
14665 (mtcrfsi): Update attribute.
14666 * config/rs6000/40x.md: New file.
14667 * config/rs6000/603.md: New file.
14668 * config/rs6000/6xx.md: New file.
14669 * config/rs6000/7450.md: New file.
14670 * config/rs6000/7xx.md: New file.
14671 * config/rs6000/mpc.md: New file.
14672 * config/rs6000/power4.md: New file.
14673 * config/rs6000/rios1.md: New file.
14674 * config/rs6000/rios2.md: New file.
14675 * config/rs6000/rs64.md: New file.
14676 [Some DFA descriptions based on work by Michael Hayes]
14677
99dc7277
RH
146782003-02-15 Richard Henderson <rth@redhat.com>
14679
14680 * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
14681 successors with multiple predecessors.
14682 (connect_traces): Try harder to copy traces of length 1.
14683
14684 * function.h (struct function): Add computed_goto_common_label,
14685 computed_goto_common_reg.
14686 * function.c (free_after_compilation): Zap them.
a8d0ddaf 14687 * stmt.c (expand_computed_goto): Use them to produce one
99dc7277
RH
14688 indirect branch per function.
14689
5f24e0dc
RH
146902003-02-15 Richard Henderson <rth@redhat.com>
14691
14692 * cfgcleanup.c: Include params.h.
14693 (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES. Fix test for
14694 too many outgoing edges from a block.
14695 * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
14696 * params.def (max-crossjump-edges): New.
14697 * doc/invoke.texi: Document it.
14698
9381bbc9
RH
146992003-02-15 Richard Henderson <rth@redhat.com>
14700
a8d0ddaf
ZW
14701 * recog.c (split_all_insns): Include new blocks in life update;
14702 do a global life update.
9381bbc9 14703
e898926c
DS
147042003-02-15 Danny Smith <dannysmith@users.sourceforge.net>
14705
14706 * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
14707 Update copyright.
14708 * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
14709 -mno-cygwin case.
14710
ce65116b
FH
147112003-02-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
14712
14713 PR optimization/7702
14714 * reload1.c (reload_cse_simplify_set): Honor
14715 CANNOT_CHANGE_MODE_CLASS.
14716
fe7496dd
AO
147172003-02-14 Alexandre Oliva <aoliva@redhat.com>
14718
14719 * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
14720 function.
14721 * config/mn10300/mn10300-protos.h: Declare it.
14722 * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
14723 attribute cc of instructions that may use clr.
14724
6017c719
KH
147252003-02-14 Kazu Hirata <kazu@cs.umass.edu>
14726
14727 * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
14728 (x - (x & y)) is found.
14729
9fb28a67
RO
147302003-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14731
14732 * configure.in: Fix typo.
14733 * configure: Regenerate.
14734
60f469fa
KH
147352003-02-14 Kazu Hirata <kazu@cs.umass.edu>
14736
14737 * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
14738
8fd73754 147392003-02-13 Adam Nemet <anemet@lnxw.com>
60f469fa 14740
a8d0ddaf 14741 PR opt/2391
ce65116b
FH
14742 * combine.c: Fix spelling in comment.
14743 (cached_nonzero_bits): New function.
14744 (cached_num_sign_bit_copies): New function.
8fd73754
AN
14745 (nonzero_bits_with_known): New macro.
14746 (num_sign_bit_copies_with_known): New macro.
ce65116b 14747 (nonzero_bits1): Rename from nonzero_bits. Add three new
8fd73754
AN
14748 arguments. Change calls from nonzero_bits to
14749 nonzero_bits_with_known.
ce65116b 14750 (num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
8fd73754
AN
14751 three new arguments. Change calls from num_sign_bit_copies to
14752 num_sign_bit_copies_with_known.
ce65116b
FH
14753 (nonzero_bits): New macro.
14754 (num_sign_bit_copies): New macro.
14755 (update_table_tick): Don't traverse identical subexpression more
8fd73754 14756 than once.
ce65116b 14757 (get_last_value_validate): Likewise.
8fd73754 14758
ddb0ae00
ZW
147592003-02-13 Zack Weinberg <zack@codesourcery.com>
14760
14761 * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
14762 * function.h (struct emit_status): Length of regno_pointer_align
14763 and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
14764 not regno_pointer_align_length (i.e. length actually used, not
14765 length as allocated)
14766
14767 * config/i386/i386.c (struct stack_local_entry): New.
14768 (struct machine_function): Replace huge array with alist.
14769 (assign_386_stack_local): Change to match.
14770
c20b55c0
JDA
147712003-02-13 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
14772
14773 * inclhack.def (hpux_long_double): Tighten select and add bypass
14774 regexp.
14775 * fixincl.x: Rebuilt.
14776
ffc8f11e
JZ
147772003-02-13 Josef Zlomek <zlomekj@suse.cz>
14778
14779 * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
14780 edge and block ends with a jump insn it must be simple jump.
14781
047d636f
DJ
147822003-02-13 Daniel Jacobowitz <drow@mvista.com>
14783
14784 * Makefile.in (PREPROCESSOR_DEFINES): Add
14785 @TARGET_SYSTEM_ROOT_DEFINE@.
14786 * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
14787 is specified or if building a cross compiler.
14788 (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
14789 if the sysroot is under $exec_prefix.
14790 * configure: Regenerated.
14791 * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
14792 defined.
14793 (struct default_include): Add add_sysroot field.
14794 (cpp_SYSROOT): Declare.
14795 * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
14796 field.
14797 (cpp_SYSROOT): New variable.
14798 * cppinit.c (cpp_create_reader): Initialize
14799 CPP_OPTION (pfile, sysroot).
14800 (init_standard_includes): Handle add_sysroot. Do not
14801 add unrelocated copies of relocated directories.
14802 (COMMAND_LINE_OPTIONS): Add -isysroot.
14803 (cpp_handle_option): Handle -isysroot.
14804 * cpplib.h (struct cpp_options): Add sysroot member.
14805 * gcc.c (The Specs Language): Update description of %I.
14806 (target_system_root_changed): New variable.
14807 (process_command): Conditionalize make_relative_prefix call
14808 on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE. Set
14809 target_system_root_changed.
14810 (do_spec_1): Add -isysroot to %I.
14811 * doc/invoke.texi (Spec Files): Update description of %I.
14812 * doc/install.texi (--with-sysroot): Update comment about
14813 relocation.
14814
4302db79
KH
148152003-02-13 Kazu Hirata <kazu@cs.umass.edu>
14816
14817 * config/h8300/h8300.md (a peephole2): New.
14818
e0d9cc77 148192003-02-13 Robert Lipe <robertlipe@usa.net>
ddb0ae00 14820 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
e0d9cc77
RL
14821
14822 * doc/install.texi (Specific): Update three SCO-related URLs.
14823
9fb93b00
AS
148242003-02-13 Andreas Schwab <schwab@suse.de>
14825
14826 * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
14827 Parenthesize properly.
14828 (NPREDECESORS): Parenthesize properly.
14829
22ffcc6f
GDR
148302003-02-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
14831
14832 * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
14833
1fb54135
RS
148342003-02-12 Roger Sayle <roger@eyesopen.com>
14835
14836 * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
14837 (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
14838
14839 * reg-stack.c (subst_stack_regs_pat): Add support for binary
14840 UNSPEC instructions (e.g. "fpatan").
14841
19a7414e
MS
148422003-02-12 Mike Stump <mrs@apple.com>
14843
14844 * varray.c (element_size): Remove.
14845 (uses_ggc): Remove.
14846 (element): Add.
14847 (varray_init): Use new interface.
14848 (varray_grow): Use new interface.
14849 (varray_clear): Use new interface.
14850
e589cc6e
AH
148512003-02-12 Aldy Hernandez <aldyh@redhat.com>
14852
ddb0ae00
ZW
14853 * config/rs6000/spe.h: Add casts to the arguments of the following
14854 macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
14855 evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
14856 evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
14857 __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
14858 __ev_get_u16, __ev_get_s16.
e589cc6e 14859
2bbfc542
KH
148602003-02-12 Kazu Hirata <kazu@cs.umass.edu>
14861
14862 * config/h8300/h8300.md (a peephole2): New.
14863
62c9aa5f 148642003-02-12 Jan Hubicka <jh@suse.cz>
e72fcfe8
JH
14865
14866 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
14867 (OBJS): Add callgraph.o
14868 (callgraph.o): New.
14869 * c-decl.c (expand_body_1): Break out from ...
14870 (expand_body): This one; change calling convention
14871 (finish_function): Move some of expand_body logic here.
14872 (c_expand_deferred_function): Update call of expand_body
14873 (c_expand_stmt): Use c_expand_body_1.
14874 * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
14875 * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
14876 * c-tree.h (c_expand_body): Declare.
14877 * callgraph.c: New file.
14878 * flags.h (flag_unit_at_a_time): Declare.
14879 * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
14880 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
14881 LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
14882 * langhooks.h (struct lang_hooks_for_callgraph): New.
14883 (struct lang_hooks): Add callgraph field.
14884 * toplev.c (flag_unit_at_a_time): New.
14885 (lang_independent_options): Add flag_unit_at_a_time.
14886 (process_options): Disable unit-at-a-time mode for frontends not
14887 supporting callgraph.
14888 * tree-inline.c (typedef struct inline_data): Add "decl"
14889 (expand_call_inline): Update callgraph.
14890 (optimize_inline_calls): Set id.decl.
14891 * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
14892 cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
14893 cgraph_calls_p): Declare.
14894 * invoke.texi (-funit-at-a-time): Document
14895
9037b0c7
AH
148962003-02-12 Aldy Hernandez <aldyh@redhat.com>
14897
ddb0ae00
ZW
14898 * config/rs6000/spe.h: Fix misc formatting.
14899 (__ev_create_ufix32_fs): Cast ev argument.
14900 (__ev_create_sfix32_fs): Same.
14901 (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
14902 (__ev_get_ufix32_fs_internal): Same.
9037b0c7 14903
55ae46b1
RM
149042003-02-12 Ranjit Mathew <rmathew@hotmail.com>
14905
14906 * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
14907 * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
14908
3963c2e0
ZW
149092003-02-12 Zack Weinberg <zack@codesourcery.com>
14910
14911 * cpplib.c (do_include_common): Move warnings for
14912 #include_next and #import out to callers. Use early-return
14913 instead of nested ifs. Don't do check_eol here.
14914 (parse_include): Do check_eol here with the rest of the
14915 parsing stuff.
14916 (do_include_next, do_import): Now handle warnings.
14917
d1a86812
GP
149182003-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14919
14920 * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
14921
62c9aa5f 149222003-02-12 Jan Hubicka <jh@suse.cz>
6efcd268
JH
14923
14924 * predict.c (estimate_probability): Fix roundoff error.
14925
9083b5da
KH
149262003-02-12 Kazu Hirata <kazu@cs.umass.edu>
14927
14928 * config/h8300/h8300.md (a peephole2): Don't handle 65535.
14929 (two peephole2): New.
14930
86bc9b19
KH
149312003-02-12 Kazu Hirata <kazu@cs.umass.edu>
14932
14933 * config/h8300/h8300.md (several peephole2): Replace
14934 find_regno_note with peep2_reg_dead_p.
14935
ceda50e9
RH
149362003-02-11 Richard Henderson <rth@redhat.com>
14937
14938 * gcse.c (lookup_set): Remove unused argument PAT. Update
14939 both callers.
14940
886e0865
GK
149412003-02-11 Geoffrey Keating <geoffk@apple.com>
14942
14943 * diagnostic.c (real_abort): New.
14944 (diagnostic_report_diagnostic): Call real_abort on error.
14945 * diagnostic.h (diagnostic_abort_on_error): New.
14946 (struct diagnostic_context): Add abort_on_error field.
14947 * toplev.c (setup_core_dumping): New.
14948 (decode_d_option): Handle 'H' case.
14949 * doc/invoke.texi (Debugging Options): Document -dH.
14950
76438597
NN
149512003-02-11 Nathanael Nerode <neroden@gcc.gnu.org>
14952
14953 * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
14954 which refers to obsolete directories.
14955
09b568fc
RH
149562003-02-11 Richard Henderson <rth@redhat.com>
14957
14958 * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
14959
62c9aa5f 149602002-10-21 Jan Hubicka <jh@suse.cz>
8b978a57
JH
14961
14962 * i386.c (contains_128bit_aligned_vector_p): New function.
14963 (ix86_function_arg_boundary): Properly align vector modes.
14964
a3259be8
BW
149652003-02-11 Bob Wilson <bob.wilson@acm.org>
14966
14967 * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
14968 * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
14969 as a SET pattern.
14970
da52a069
RS
149712003-02-11 Roger Sayle <roger@eyesopen.com>
14972
14973 * builtins.c: Fix failure caused by commiting wrong patch.
14974
d58f6584
DJ
149752003-02-11 Dale Johannesen <dalej@apple.com>
14976 * ra-build.c (compare_and_free_webs): Relax checking.
14977 * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME): Define.
14978 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
14979
22fd5743
FH
149802003-02-11 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
14981
14982 PR optimization/9651
14983 * rtlanal.c (may_trap_p): Handle FIX.
14984
3462df62
DJ
149852003-02-11 Dave Jones <davej@codemonkey.org.uk>
14986
14987 * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
14988 * doc/invoke.texi: Extra alias.
14989
a693fbb9
GK
149902003-02-11 Geoffrey Keating <geoffk@apple.com>
14991
14992 * config/rs6000/host-darwin.c: Fix comment.
14993
bb157ff4
DE
149942003-02-11 David Edelsohn <edelsohn@gnu.org>
14995
14996 * config/rs6000/rs6000.md (divmodsi4): Use register_operand
14997 predicate for mod result.
14998
16ddb599
JDA
149992003-02-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15000
15001 * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
15002 hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
15003 * fixincl.x: Rebuilt.
15004 * tests/base/stdlib.h: Update.
15005 * tests/base/ctype.h: New file.
15006
62c9aa5f 150072003-02-11 Jan Hubicka <jh@suse.cz>
6f0d3566
JH
15008
15009 * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
15010
d0a5295a
RH
150112003-02-11 Richard Henderson <rth@redhat.com>
15012
15013 * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
15014 appropriated as globals.
15015 (ix86_expand_clrstr): Similarly.
15016 * config/i386/i386.md (cmpstrsi): Similarly.
15017
9672132f
KH
150182003-02-11 Kazu Hirata <kazu@cs.umass.edu>
15019
15020 * config/h8300/h8300.md (a peephole2): Add a case of 255.
15021
b5e01d4b
RS
150222003-02-11 Roger Sayle <roger@eyesopen.com>
15023
15024 * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
15025 (pow_optab, atan2_optab): Define corresponding macros.
15026 * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
15027 * genopinit.c (optabs): Implement pow_optab and atan2_optab
15028 using pow?f3 and atan2?f3 patterns.
15029 * builtins.c (expand_errno_check): New function to update errno
15030 if necessary, split out from expand_builtin_mathfn.
15031 (expand_builtin_mathfn): Use expand_errno_check.
15032 (expand_builtin_mathfn_2): New function to handle expanding binary
15033 math functions, reusing the code in expand_errno_check.
15034 (expand_builtin): Handle the pow and atan2 math built-ins,
15035 BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
15036 expand_builtin_mathfn_2.
15037
15038 * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
15039
62c9aa5f 150402003-02-11 Jan Hubicka <jh@suse.cz>
cb119f82
JH
15041
15042 * combine.c (combine_simplify_rtx): Fix folding of
15043 nested float_truncates.
15044
a05566a3
KH
150452003-02-11 Kazu Hirata <kazu@cs.umass.edu>
15046
15047 * config/h8300/h8300.md (a peephole2): Fix a typo.
15048
20ae4500
RE
150492003-02-11 Richard Earnshaw <rearnsha@arm.com>
15050
15051 * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
15052 register number.
15053
717d8b71
KH
150542003-02-11 Kazu Hirata <kazu@cs.umass.edu>
15055
15056 * config/h8300/h8300-protos.h: Add a prototype for
15057 gtuleu_operator.
15058 * config/h8300/h8300.c (gtuleu_operator): New.
15059 * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
15060 * config/h8300/h8300.md (a peephole2): New.
15061
62c9aa5f 150622003-02-11 Jan Hubicka <jh@suse.cz>
e36e8f52
JH
15063
15064 * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
15065
62c9aa5f 150662003-02-11 Jan Hubicka <jh@suse.cz>
c728da61
JH
15067
15068 * predict.c (choose_function_section): Choose sections correctly.
15069
4cc0fdd2
JDA
150702003-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15071
15072 * reload1.c (first_label_num): New.
15073 (reload): Index offsets_known_at and offsets_at using difference of
15074 label number and first label number. Don't use offset pointers.
15075 (set_label_offsets, set_initial_label_offsets): Likewise.
15076
44b1fa11
RS
150772003-02-10 Roger Sayle <roger@eyesopen.com>
15078
15079 * mips-tfile.c (init_file): Add missing initializers in the
15080 "#ifdef __alpha" case.
15081 (file_offset, max_file_offset): Declare as unsigned long.
15082 (write_varray): Cast to "unsigned long" in comparisons against
15083 either file_offset or max_file_offset.
15084 (write_object): Likewise.
15085 (read_seek): Likewise.
15086 (copy_object): Likewise. Declare "ifd" as int to match its use
15087 in add_ext_symbol, and avoid signed/unsigned conditional warning.
15088
2948ade7 150892003-02-10 Nick Clifton <nickc@redhat.com>
3963c2e0 15090 Aldy Hernandez <aldyh@redhat.com>
2948ade7 15091
3963c2e0
ZW
15092 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
15093 override options which have been specified on the command line.
2948ade7 15094
2a4e6df4
KH
150952003-02-10 Kazu Hirata <kazu@cs.umass.edu>
15096
15097 * config/h8300/h8300.md (abssf2): New.
15098 (*abssf2_h8300): Likewise.
15099 (*abssf2_h8300hs): Likewise.
15100
411e2759
PE
151012003-02-10 Phil Edwards <pme@gcc.gnu.org>
15102
15103 * tree.c (build_tree_list): Fix parameter names in comment.
15104
2b24fc41
JJ
151052003-02-10 Janis Johnson <janis187@us.ibm.com>
15106
15107 * config/rs6000/ppc64-fp.c: New file.
15108 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
15109
aa634f11
JZ
151102003-02-10 Josef Zlomek <zlomekj@suse.cz>
15111
15112 * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
3963c2e0 15113 * bb-reorder.c (make_reorder_chain): Deleted.
aa634f11
JZ
15114 (make_reorder_chain_1): Deleted.
15115 (find_traces): New function.
15116 (rotate_loop): New function.
15117 (mark_bb_visited): New function.
15118 (find_traces_1_round): New function.
15119 (copy_bb): New function.
15120 (bb_to_key): New function.
15121 (better_edge_p): New function.
15122 (connect_traces): New function.
15123 (copy_bb_p): New function.
15124 (get_uncond_jump_length): New function.
15125 (reorder_basic_blocks): Use new functions (Software Trace Cache).
15126 * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
15127 boundaries.
15128
17edbda5
AH
151292003-02-10 Aldy Hernandez <aldyh@redhat.com>
15130
15131 * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
15132
57116c34
DN
151332003-02-09 Dan Nicolaescu <dann@ics.uci.edu>
15134
15135 * tree.h (struct tree_decl): Remove unused live_range_rtl field.
3963c2e0 15136 (DECL_LIVE_RANGE_RTL): Remove.
57116c34 15137
4f448245
NC
151382003-02-10 Nick Clifton <nickc@redhat.com>
15139
15140 * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
15141 config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
15142 config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
15143 config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
15144 config/arm/freebsd.h, config/arm/linux-elf.h,
15145 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
15146 config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
15147 config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
15148 config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
15149 config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
15150 config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
15151 config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
15152 and reformat as appropriate.
15153
19190d27
KH
151542003-02-10 Kazu Hirata <kazu@cs.umass.edu>
15155
15156 * config/h8300/clzsi2.c: Remove.
15157 * config/h8300/ctzsi2.c: Likewise.
15158 * config/h8300/paritysi2.c: Likewise.
15159 * config/h8300/popcountsi2.c: Likewise.
15160 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
15161 ctzsi2, paritysi2, and popcountsi2.
15162
ecf92f82 151632003-02-10 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 15164 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
ecf92f82
EB
15165
15166 PR c/7741
15167 * c-decl.c (duplicate_decls): Discard the initializer of the
15168 new decl when the types are conflicting.
15169
ac5e69da
JZ
151702003-02-10 Josef Zlomek <zlomekj@suse.cz>
15171
15172 * Makefile.in (sreal.o): Added.
15173 (predict.o): Depends on sreal.h instead of real.h.
15174 * sreal.c: New file.
15175 * sreal.h: New file.
15176 * predict.c: Use sreal.c instead of real.c.
15177
9b6b54e2
NC
151782003-02-10 Nick Clifton <nickc@redhat.com>
15179
15180 * Contributed support for the Cirrus EP9312 "Maverick"
15181 floating point co-processor. Written by Aldy Hernandez
3963c2e0 15182 <aldyh@redhat.com>.
9b6b54e2
NC
15183 (config/arm/arm.c): Add Cirrus support.
15184 (config/arm/arm.h): Likewise.
15185 (config/arm/aout.h): Likewise.
15186 (config/arm/arm.md): Likewise.
15187 (config/arm/arm-protos.h): Likewise.
15188 (config.gcc): Likewise.
15189 (doc/invoke.texi): Describe new -mcpu value and new
15190 -mcirrus-fix-invalid-insns switch,
15191 (cirrus.md): New file.
15192
62c9aa5f 151932003-02-10 Jan Hubicka <jh@suse.cz>
949824fe
JH
15194
15195 * combine.c (combine_simplify_rtx): Simplify using
15196 (float_truncate (float x)) is (float x)
15197 (float_extend (float_extend x)) is (float_extend x).
15198
546ff777
AM
151992003-02-10 Alan Modra <amodra@bigpond.net.au>
15200
15201 * calls.c (try_to_integrate): Tidy stack_usage_map access.
15202 (emit_library_call_value_1): Likewise. Formatting.
15203 (store_one_arg): Likewise.
15204
626098f9 152052003-02-09 Nick Clifton <nickc@redhat.com>
3963c2e0 15206 Aldy Hernandez <aldyh@redhat.com>
626098f9 15207
3963c2e0
ZW
15208 * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
15209 spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
15210 spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
15211 spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
15212 spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
15213 docs. Add range test for immediate value.
626098f9
AH
15214
152152003-02-09 Aldy Hernandez <aldyh@redhat.com>
15216
3963c2e0
ZW
15217 Rename spe_evxor to xorv2si3.
15218 (xorv4hi3): New.
15219 (xorv1di3): New.
626098f9 15220
8d23a2c8 152212003-02-10 Glen Nakamura <glen@imodulo.com>
3963c2e0 15222
8d23a2c8
GN
15223 * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
15224 tag.
15225
62c9aa5f 152262003-02-10 Jan Hubicka <jh@suse.cz>
fdc4b40b
JH
15227
15228 * i386.c (vector_move_operand): New predicate.
15229 (ix86_expand_vector_move): Be happy about 0.
15230 * i386.h (PREDICATE_CODES): Add sse-move_operand.
15231 * i386.md (mov*_internal): Add 'C' alternative.
15232
62c9aa5f 152332003-02-09 Jan Hubicka <jh@suse.cz>
35c28a13
JH
15234
15235 * i386.md (floathi*): Deal with SSE.
15236
62c9aa5f 152372003-02-09 Jan Hubicka <jh@suse.cz>
852c8ba1
JH
15238
15239 * simplify-rtx.c (simplify_unary_operation,
15240 simplify_binary_operation): Deal with vector modes
15241 (simplify_ternary_operation): Deal with no-op VEC_MERGE.
15242
c876997f 152432003-02-09 Richard Sandiford <rsandifo@redhat.com>
2382b79f
RS
15244
15245 * toplev.c (rest_of_compilation): Recompute register usage after
15246 split_all_insns.
15247
8275b011
RH
152482003-02-09 Richard Henderson <rth@redhat.com>
15249
15250 * libgcc-std.ver (__clztf2): New.
15251 (__ctztf2, __popcounttf2, __paritytf2): New.
15252 * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
15253 __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
15254 adjust code to match the different type sizes.
15255 * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
15256 __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
15257
15258 * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
15259 TImode; select word_mode and twice that.
15260 (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
15261 select the modes from float, double, and long double.
15262 (init_optabs): Remove duplicate initializations.
15263
794aca5d
WB
152642003-02-09 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
15265
15266 * doc/install.texi: Squeeze and streamline section on
15267 testing and regression checking.
15268
62c9aa5f 152692003-02-09 Jan Hubicka <jh@suse.cz>
d9deed68
JH
15270
15271 * i386.md (ahi?v*3): Set third operand type to TImode.
15272 * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
15273
15274 * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
15275 integer mode.
15276
15277 * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
15278 Change code so they are arithmetic expressions now.
15279 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
15280 simplify_ternary_operation): Deal with VEC_* expressions.
15281
15282 * i386.md (vmaskcmp, pinsrw, movd patterns): Fix RTL representation.
15283
62c9aa5f 152842003-02-08 Jan Hubicka <jh@suse.cz>
83fd323c
JH
15285
15286 * cfgrtl.c (verify_flow_info): Use control_flow_insn_p.
15287 * reload1.c (fixup_abnormal_edges): Split basic blocks when EH edges
15288 possibly got duplicated.
15289
4ee7aa60
RH
152902003-02-08 Richard Henderson <rth@redhat.com>
15291
15292 * config/alpha/alpha.c (override_options): Turn off explicit
15293 relocs until post-peep2 code duplication resolved.
15294
c117dddc
KH
152952003-02-08 Kazu Hirata <kazu@cs.umass.edu>
15296
15297 * optabs.c (expand_unop): Widen clz properly when clz is done
15298 via libcall.
15299
8aa063fb
KH
153002003-02-08 Kazu Hirata <kazu@cs.umass.edu>
15301
15302 * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
15303 * config/h8300/crti.asm: Likewise.
15304 * config/h8300/crtn.asm: Likewise.
15305 * config/h8300/ctzsi2.c: Likewise.
15306 * config/h8300/fixunssfsi.c: Likewise.
15307 * config/h8300/h8300-protos.h: Likewise.
15308 * config/h8300/h8300.c: Likewise.
15309 * config/h8300/h8300.h: Likewise.
15310 * config/h8300/h8300.md: Likewise.
15311 * config/h8300/paritysi2.c: Likewise.
15312 * config/h8300/popcountsi2.c: Likewise.
15313 * config/h8300/rtems.h: Likewise.
15314
01a132bb
ZD
153152003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15316
15317 * doc/invoke.texi: Documentation for my previous commit.
15318 * doc/passes.texi: Ditto.
15319
617b465c
ZD
153202003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15321
15322 * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
15323 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
15324 Declare.
15325 (DLTHE_FLAG_UPDATE_FREQ): New.
15326 * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
15327 loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
15328 rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
15329 fix_bb_placement, fix_bb_placements, place_new_loop,
15330 scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
15331 New static functions.
15332 (fix_loop_placement, can_duplicate_loop_p,
15333 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
15334 New functions.
15335
15336 * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
15337 unswitch_loops): Declare.
15338 * loop-init.c: New file.
15339 * loop-unswitch.c: New file.
15340 * Makefile.in (loop-init.o, loop-unswitch.o): New.
15341 * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
15342 * toplev.c (DFI_loop2): New dump.
15343 (flag_unswitch_loops): New.
15344 (lang_independent_options): Add it.
15345 (rest_of_compilation): Call new loop optimizer.
15346 (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
15347
3bd03194
KH
153482003-02-08 Kazu Hirata <kazu@cs.umass.edu>
15349
15350 * config/h8300/clzsi2.c: New.
15351 * config/h8300/ctzsi2.c: Likewise.
15352 * config/h8300/paritysi2.c: Likewise.
15353 * config/h8300/popcountsi2.c: Likewise.
15354 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
15355
d865b122
DE
153562003-02-07 David Edelsohn <edelsohn@gnu.org>
15357
15358 * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
15359 * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
94993909 15360 (ctzsi2): New pattern.
d865b122
DE
15361 (ffssi2): Use clz instead of unspec.
15362 (clzdi2): Rename from cntlzd2.
94993909 15363 (ctzdi2): New pattern.
d865b122
DE
15364 (ffsdi2): Use clz instead of unspec.
15365
8f37dd98
LR
153662003-02-07 Loren James Rittle <ljrittle@acm.org>
15367
15368 * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
15369 * config/ia64/freebsd.h (LINK_SPEC): Likewise.
15370 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
15371 * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
15372
83205b9b
WB
153732003-02-07 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
15374
15375 * doc/trouble.texi: Document pitfalls of two-stage name lookup.
15376
710ee3ed
RH
153772003-02-07 Richard Henderson <rth@redhat.com>
15378
15379 PR 9226
3963c2e0
ZW
15380 * gcse.c (local_cprop_find_used_regs): New.
15381 (local_cprop_pass): Use it.
710ee3ed 15382
3ef879d2
FF
153832003-02-07 Fred Fish <fnf@intrinsity.com>
15384
15385 * mips-tfile.c (parse_def): Parenthesize assignments to fix
3963c2e0 15386 precedence bugs.
3ef879d2 15387
a0f0e963 153882003-02-07 Segher Boessenkool <segher@koffie.nl>
3ef879d2 15389
3963c2e0 15390 * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
a0f0e963 15391
46847aa6
RS
153922003-02-07 Roger Sayle <roger@eyesopen.com>
15393
15394 * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
15395 (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
15396 (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
15397 * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
15398 builtin functions (and their __builtin_* variants).
15399 * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
15400 (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
15401 when not optimizing.
15402
15403 * doc/extend.texi: Document new pow and atan2 builtins, and
15404 their float and long double variants. Realphabetize builtins.
15405
62c9aa5f 154062003-02-07 Jan Hubicka <jh@suse.cz>
c48d6750
JH
15407
15408 * i386.md (sse2_nandv2di3): Fix.
15409
5e062767
DS
154102003-03-07 Danny Smith <dannysmith@users.sourceforge.net>
15411
15412 * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
15413 * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
15414 definition.
15415 * config/i386/i386.h (ix86_return_in_memory): Return aggregate
15416 types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
15417
62c9aa5f 154182003-02-07 Jan Hubicka <jh@suse.cz>
3f755ed0
JH
15419
15420 * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
15421
0816bcd2
DB
154222003-02-07 Daniel Berlin <dberlin@dberlin.org>
15423
15424 * cfg.c (dump_flow_info): Add back accidently deleted line.
15425
7bf0a593
AP
154262003-02-07 Andrey Petrov <petrov@netbsd.org>
15427
15428 * optabs.c (expand_float): Search wider integer modes first.
15429
01e4596e
BW
154302003-02-07 Bob Wilson <bob.wilson@acm.org>
15431
15432 * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
15433 based on preprocessor flag.
15434
fbef91d8
RS
154352003-02-07 Roger Sayle <roger@eyesopen.com>
15436 Richard Henderson <rth@redhat.com>
15437
15438 * gcse.c (implicit_sets): New.
15439 (compute_hash_table_work): Include them in hash table.
15440 (find_implicit_sets, fis_get_condition): New.
15441 (one_cprop_pass): Allocate and free implicit_sets; call
15442 find_implicit_sets before building hash table.
15443
6713831e
JT
154442003-02-07 Jason Thorpe <thorpej@wasabisystems.com>
15445
15446 * config/t-netbsd (USER_H): Revert previous change.
15447
10d2dbe2
GG
154482003-02-07 Gabor Greif <ggreif@lucent.com>
15449
15450 * doc/c-tree.texi (Namespaces): Fix typo.
15451
62c9aa5f 154522003-02-07 Jan Hubicka <jh@suse.cz>
d1d3c9a6
JH
15453
15454 * regrename.c (do_replace, find_oldest_value_reg,
15455 copyprop_hardreg_forward_1): Update register attributes.
15456
1b1f249d
VM
154572003-02-06 Vladimir Makarov <vmakarov@redhat.com>
15458
15459 * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
15460 VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
15461 variables starting with underscore.
15462 (struct unit_usage): New structure.
15463 (unit_usages, cycle_alt_unit_usages): New global variables.
15464 (check_unit_distribution_in_reserv): Remove it.
15465 (store_alt_unit_usage): New function.
15466 (check_regexp_units_distribution): Rewrite it.
15467
90330d31
JDA
154682003-02-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15469
15470 * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
15471 target_cpu_default.
15472 * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
15473 if not MASK_NO_SPACE_REGS.
15474 (output_call): Adjust return pointer, don't load new space register
15475 into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
15476 (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
15477 TARGET_NO_SPACE_REGS is true.
15478 * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
15479 conditions.
15480 (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
15481 (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
15482 true. Use bve when TARGET_64BIT is true.
15483
d1164330
RH
154842003-02-06 Richard Henderson <rth@redhat.com>
15485
15486 * combine.c (nonzero_bits): Fix double break.
15487
5fbf0217 154882003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
3963c2e0 15489 Richard Henderson <rth@redhat.com>
5fbf0217
EB
15490
15491 PR c/9530
15492 * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
15493 from functions that return a float to functions that don't.
15494
62c9aa5f 154952003-02-06 Jan Hubicka <jh@suse.cz>
8f62128d
JH
15496
15497 * i386.c (x86_inter_unit_moves): New variable.
15498 (ix86_secondary_memory_needed): Fix 64bit case, honor
15499 TARGET_INTER_UNIT_MOVES
15500 * i386.h (x86_inter_unit_moves): Declare.
15501 (TARGET_INTER_UNIT_MOVES): New macro.
15502 * i386.md (movsi_1): Cleanup constraints; disable
15503 when not doing inter-unit moves.
15504 (movsi_1_nointernunit): New.
15505 (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
15506 (movdi_1_rex64_nointerunit): New.
15507 (mivsf_1): disable when not doing inter-unit moves.
15508 (movsf_1_nointerunit): New.
15509
15510 * basic-block.h (inside_basic_block_p): Declare.
15511 * cfgbuild.c (inside_basic_block_p): Make global.
ed446835 15512 * haifa-sched.c (unlink_other_notes): Deal with NOT_INSN_BASIC_BLOCK.
8f62128d
JH
15513 * scheudle-ebb.c (schedule_ebb): Return last basic block of trace;
15514 update CFG.
15515 (fix_basic_block_boundaries, add_missing_bbs): New.
15516 (rank): Use profile.
15517 (scheudle_ebbs): Rely on CFG; update coments.
15518
476d9098
GK
155192003-02-05 Geoffrey Keating <geoffk@apple.com>
15520
15521 * Makefile.in (host_hook_obj): New.
15522 (OBJS): Add $(host_hook_obj).
15523 (host_default.o): New rule.
15524 * config.gcc (host_hook_obj): New, default to host-default.o.
15525 (powerpc-*-darwin*): Use host-darwin.o.
15526 (out_host_hook_obj): New.
15527 * configure: Regenerate.
15528 * configure.in: Print information about out_host_hook_obj, substitute
15529 into output files.
15530 * host-default.c: New file.
15531 * hosthooks.h: New file.
15532 * toplev.c (general_init): Call host_hooks.extra_signals.
15533 * config/rs6000/host-darwin.c: New file.
15534 * config/rs6000/x-darwin: New file.
15535 * doc/hostconfig.texi: Add documentation for new host hook.
15536 Rearrange existing documentation.
15537
69bd9368
RS
155382003-02-05 Roger Sayle <roger@eyesopen.com>
15539
15540 * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
15541 with *targetm.delegitimize_address.
15542 (rtl_for_decl_location): Likewise.
15543 * dwarfout.c (output_mem_loc_descriptor): Likewise. Include target.h.
15544 * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
15545
15546 * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
15547 * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
15548 prototype.
15549 * config/i386/i386.c (ix86_delegitimize_address): Renamed from
15550 i386_simplify_dwarf_addr. Made static. Prototyped.
15551 (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
15552 i386_simplify_dwarf_addr to ix86_delegitimize_address.
15553 (ix86_find_base_term): Likewise.
15554 (maybe_get_pool_constant): Likewise.
15555
15556 * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
15557 * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
15558 prototype.
15559 * config/s390/s390.c (s390_delegitimize_address): Renamed from
15560 s390_simplify_dwarf_addr. Made static. Prototyped.
15561 (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
15562
7127fd58
RH
155632003-02-05 Richard Henderson <rth@redhat.com>
15564
8dde7a2c 15565 PR c/8602
3963c2e0
ZW
15566 * integrate.c (output_inline_function): Reset input_filename
15567 and lineno from the decl before rest_of_compilation.
7127fd58 15568
7dba8395
RH
155692003-02-05 Richard Henderson <rth@redhat.com>
15570
15571 * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
15572 (CTZ_DEFINED_VALUE_AT_ZERO): New.
15573 * doc/rtl.texi, doc/tm.texi: Document them.
15574
15575 * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
15576 of the value at zero properly.
15577 * fold-const.c (tree_expr_nonnegative_p): Likewise.
15578 * simplify-rtx.c (simplify_unary_operation): Likewise.
15579
15580 * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
15581 (CTZ_DEFINED_VALUE_AT_ZERO): New.
15582
15583 * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
15584 (TARGET_EXPAND_BUILTIN): Remove.
15585 (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
15586 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
15587 (enum arm_builtins): Remove.
15588 * config/arm/arm.md (UNSPEC_CLZ): Remove.
15589 (clzsi2): Rename from clz; use clz instead of unspec.
15590 (ctzsi2): New.
15591 * config/arm/arm-protos.h: Update.
15592
62c9aa5f 155932003-02-05 Jan Hubicka <jh@suse.cz>
8d705469
JH
15594
15595 * i386-protos.h (x86_emit_floatuns): Declare.
15596 * i386.c (x86_emit_floatuns): New global function.
15597 * i386.md (floatunssisf2, floatunsdisf2,
15598 floatunsdidf2): New patterns.
15599
bc810602
ZD
156002003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15601
15602 * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
15603
07938cec
HB
156042003-02-05 Hans Boehm <Hans.Boehm@hp.com>
15605
15606 * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
15607 config/ia64/linux.h
15608
c876997f 156092003-02-05 Roger Sayle <roger@eyesopen.com>
ca9398d1
RS
15610
15611 * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
15612
4f6ae35d
JJ
156132003-02-05 Jakub Jelinek <jakub@redhat.com>
15614
15615 PR optimization/8555
15616 * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
15617 instead of aborting.
15618
8acfdd43
RH
156192003-02-04 Richard Henderson <rth@redhat.com>
15620
15621 * config/i386/i386.md (UNSPEC_BSF): Remove.
15622 (ffssi2): Split into cmove and no_cmove insns and splitters;
15623 lose pentium float trick for now.
15624 (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
15625 (ctzsi2, clzsi2, bsr): New.
15626
c407570a
RH
156272003-02-04 Richard Henderson <rth@redhat.com>
15628
15629 * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
15630 UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
15631 * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
15632 (ffsdi2): Use popcount instead of unspec.
15633 (popcountdi2): Rename from *popcnt.
15634 (ctzdi2, clzdi2, getf_exp_tf): New.
15635
4b3cf522
KH
156362003-02-04 Kazu Hirata <kazu@cs.umass.edu>
15637
15638 * genconfig.c (main): Generate CC0_P.
15639 * rtl.h (CC0_P): Remove.
15640
dfff898c
RH
156412003-02-04 Richard Henderson <rth@redhat.com>
15642
15643 * libgcc2.h, libgcc2.c (__ffsSI2): New.
15644 (__ffsDI2): Rename from __ffsdi2.
15645 * mklibgcc.in (lib2funcs): Add _ffssi2.
15646
0c9ed856
RH
156472003-02-04 Richard Henderson <rth@redhat.com>
15648
15649 * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
15650 rounds with a "bit table" lookup.
15651
9537511b
UW
156522003-02-04 Ulrich Weigand <uweigand@de.ibm.com>
15653
15654 * reload.c (find_reloads): Do not use the mode specified in the insn
3ef879d2 15655 pattern as reload mode for address operands. Do not generate optional
9537511b
UW
15656 reloads for operands where a mandatory reload was already pushed.
15657
1efd0b97
RH
156582003-02-04 Richard Henderson <rth@redhat.com>
15659
15660 * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
15661 builtins instead of inline assembly.
15662
087fc75a 156632003-02-04 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
3ef879d2 15664
087fc75a
FH
15665 PR c/9376
15666 * libgcc2.c (__subvdi3): Fix typo.
15667
62c9aa5f 156682003-02-04 Jan Hubicka <jh@suse.cz>
f0f0d98e
JH
15669
15670 * i386.md (movti_rex64): Fix constraint.
15671
62c9aa5f 156722003-02-04 Jan Hubicka <jh@suse.cz>
09f26fb5
JH
15673
15674 * i386.md (vector push splitters): Fix typo in resolving conflict.
15675
ff6e2d3e
RB
156762003-02-04 Rodney Brown <rbrown64@csc.com.au>
15677
15678 * config/i386/i386.c (x86_function_profiler): Fix typo in format.
15679
9e80ada7
PE
156802003-02-04 Phil Edwards <pme@gcc.gnu.org>
15681
15682 * doc/install.texi (*-*-linux-gnu): Mention glibc requirements
15683 for recent libstdc++. Remove formatting cruft.
15684
79c758fb
JJ
156852003-02-04 Jakub Jelinek <jakub@redhat.com>
15686
15687 * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
15688 attribute even if input file name is absolute, but one of the
15689 includes is relative.
15690
b3a8389d
JM
156912003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
15692
15693 * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
15694 doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
15695 * doc/install.texi: Update copyright dates. Update to GFDL 1.2.
15696
dabb3f04
RH
156972003-02-03 Richard Henderson <rth@redhat.com>
15698
15699 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
15700 __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
15701 return type to "int". Shuffle declarations and undef int trap.
15702 * libgcc2.h: Remove their declarations.
15703 * optabs.c (expand_unop): Force outmode to int for bitops.
15704
985d0d50
BW
157052003-02-03 Bob Wilson <bob.wilson@acm.org>
15706
15707 * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
15708 coprocessor registers before floating-point registers.
15709 * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
15710 to account for a previously removed register.
15711 (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
15712 Delete unused macros.
15713
62c9aa5f 157142003-02-03 Jan Hubicka <jh@suse.cz>
7f0e57bd
JH
15715
15716 * i386.c (ix86_expand_store_builtin): Always force op1 to register.
15717 (mov*_internal): Fix predicates; require one of operands to not be
15718 memory.
15719 (SSE?MMX move expanders): Fix predicates; force one of operands to
15720 register.
15721 (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
15722 (movups/movupd/movdqu patterns): Force one of operands to not be
15723 memory.
15724
c876997f 157252003-02-03 Roger Sayle <roger@eyesopen.com>
7daebb7a
RS
15726
15727 * hooks.c (hook_rtx_rtx_identity): Generic hook function that
15728 takes a single rtx and returns it unmodified.
15729 * hooks.h (hook_rtx_rtx_identity): Prototype here.
ff6e2d3e 15730 * target.h (struct gcc_target): Add "delegitimize_address"
7daebb7a
RS
15731 field to target structure.
15732 * target-def.h (TARGET_DELEGITIMIZE_ADDRESS): Provide default
15733 for delegitimize_address target using hook_rtx_rtx_identity.
15734 (TARGET_INITIALIZER): Initialize delegitimize_address field
15735 using TARGET_DELEGITIMIZE_ADDRESS macro.
15736 * simplify-rtx.c (avoid_constant_pool_reference): Handle float
15737 extensions of constant pool references. Use delegitimize_address
15738 to undo the obfuscation of "-fpic".
15739 * Makefile.in (simplify-rtx.o): Add dependency on target.h.
15740
15741 * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
15742 i386_simplify_dwarf_addr.
15743 (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
26182e15 15744 (maybe_get_pool_constant): Likewise.
7daebb7a 15745
62c9aa5f 157462003-02-03 Jan Hubicka <jh@suse.cz>
84520a20
JH
15747
15748 * i386.c (ix86_expand_int_movcc): Fix setcc sign bit case.
15749
62c9aa5f 157502003-02-03 Jan Hubicka <jh@suse.cz>
035b2a34
JH
15751
15752 * regclass.c (cannot_change_mode_set_regs): Correct argument order.
15753
1f143d5a
KG
157542003-02-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15755
15756 * mips/_tilib.c: Don't include tsystem.h or defaults.h. Don't
15757 define LIBGCC2_WORDS_BIG_ENDIAN. Include coretypes.h and tm.h.
15758
4b550d9f
AS
157592003-02-02 Andreas Schwab <schwab@suse.de>
15760
15761 * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
15762
0732a089
RE
157632003-02-02 Richard Earnshaw <rearnsha@arm.com>
15764
15765 * arm.md (sibcall_epilogue): Set the "conds" to "clob".
15766 (epilogue_insns): Likewise.
15767
f269f54f
JDA
157682003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15769
15770 * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
15771
611ad29e
JDA
157722003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15773
15774 * pa-protos.h (attr_length_millicode_call): Remove second argument.
15775 (attr_length_indirect_call, attr_length_indirect_call,
15776 attr_length_save_restore_dltp): New prototypes.
15777 * pa.c (attr_length_millicode_call): Remove second argument. Check
15778 INSN_ADDRESSES_SET_P in distance calculation.
15779 (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
15780 INSN_ADDRESSES.
15781 (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
15782 (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
15783 Call attr_length_call directly.
15784 (attr_length_indirect_call, output_indirect_call,
15785 attr_length_save_restore_dltp): New functions.
15786 * pa.md (attr_length_millicode_call): Drop second argument from all
15787 patterns.
15788 (return_internal_pic): Delete.
15789 (return_external_pic): Remove use of PIC register and pic operand and
15790 flag checks.
15791 (epilogue): Use return_internal for both normal and pic code.
15792 (call, call_value): Emit new 32-bit pic patterns for symref and
15793 indirect calls. Remove uses for arg pointer and pic register.
15794 (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
15795 call_reg_pic_post_reload, call_val_symref_pic,
15796 call_val_symref_pic_post_reload, call_val_reg_pic,
15797 call_val_reg_pic_post_reload): New pre and post reload insn patterns.
15798 Implement define_split and define_peephole2 patterns for pre reload
15799 patterns.
15800 (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
15801 call_value_internal_reg_64bit): Shorten names.
15802 (all call patterns): Explicitly indicate registers used and clobbered.
15803 Use attr_length_indirect_call and attr_length_save_restore_dltp for
15804 attribute length calculation. Move code generation for indirect calls
15805 to output_indirect_call.
15806 (sibcall, sibcall_value): Don't restore PIC register.
15807 (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
15808 register retore.
15809
8cacda7c
GP
158102003-02-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15811
15812 * doc/install.texi (Testing): Simplify and compress instructions
15813 concerning Dejagnu.
15814
cbc158bb
JDA
158152003-02-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15816
15817 * collect2.c (pexecute_pid): Rename to pid.
15818 (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
15819 pid.
15820
dcef1843
GK
158212003-02-01 Geoffrey Keating <geoffk@apple.com>
15822
15823 * doc/extend.texi (Function Attributes): Remove documentation
15824 for PowerPC Windows NT function attributes..
15825
5d7bed9d
DJ
158262003-02-01 Daniel Jacobowitz <drow@mvista.com>
15827
15828 * dwarf2out.c (gen_type_die): Check for typedefs before calling
15829 for TYPE_MAIN_VARIANT.
15830
53585c36
RH
158312003-02-01 Richard Henderson <rth@redhat.com>
15832
15833 * libgcc2.c: Include auto-host.h.
15834 (ATTRIBUTE_HIDDEN): New.
15835 (__clz_tab): Don't declare here for clz and ctz.
15836 (__clzsi2, __clzdi2): Use count_leading_zeros.
15837 (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
15838 (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
15839 (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
15840 * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
15841
bc8a6d63
RH
158422003-02-01 Richard Henderson <rth@redhat.com>
15843
15844 * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
15845 to the conditional.
15846 (ashlsi3_1_zext splitter): Likewise.
15847
2928cd7a
RH
158482003-02-01 Richard Henderson <rth@redhat.com>
15849
15850 * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
15851 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
15852 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
15853 return type to Wtype.
15854
15855 * libgcc-std.ver (GCC_3.4): Fix inheritance.
15856
15857 * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
15858 expander input constraint.
15859
158602003-02-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
15861
ff6e2d3e
RB
15862 * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
15863 OTI_parity.
15864 (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
15865 * optabs.c (widen_clz, expand_parity): New.
15866 (expand_unop): Handle clz and parity. Hardcode SImode as outmode
15867 for libcalls to clz, ctz, popcount, and parity.
15868 (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
15869 parity_optab, and set up libfunc handlers.
15870 * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
15871 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
15872 __popcount_tab): New.
15873 * libgcc2.h: Declare them.
15874 * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
15875 * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
15876 and parity_optab.
15877 * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
15878 * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
15879 BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
15880 BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
15881 BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
15882 BUILT_IN_PARITYLL): New.
15883 * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
15884 and add optab argument.
15885 (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
15886 * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
15887 * expr.c (expand_expr): Handle them.
15888 * fold-const.c (tree_expr_nonnegative_p): Likewise.
15889 * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
15890 * reload1.c (eliminate_regs): Handle them.
15891 (elimination_effects): Likewise.
15892 * function.c (instantiate_virtual_regs_1): Likewise
15893 * genattrtab.c (check_attr_value): Likewise.
15894 * simplify-rtx.c (simplify_unary_operation): Likewise.
15895 * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
15896 * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
15897 (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
15898 * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
15899 * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
15900 __builtin_arm_clz.
15901 * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
15902 * mklibgcc.in (lib2funcs): ...here and merge. Add new members.
15903 * doc/extend.texi (Other Builtins): Add new builtins.
15904 * doc/md.texi (Standard Names): Add new patterns.
2928cd7a 15905
112f7223
UW
159062003-02-01 Ulrich Weigand <uweigand@de.ibm.com>
15907
15908 * reload.c: Revert 2003-01-31 change.
15909
62c9aa5f 159102003-02-01 Jan Hubicka <jh@suse.cz>
434c87d4
JH
15911
15912 * combine.c (combine_simplify_rtx): Use reversed_comparison_code_parts.
15913
271bd540
RS
159142003-02-01 Richard Sandiford <rsandifo@redhat.com>
15915
15916 * flags.h (flag_volatile): Remove declaration.
15917 (flag_volatile_global, flag_volatile_static): Likewise.
15918 * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
15919 * toplev.c (flag_volatile): Remove definition.
15920 (flag_volatile_global, flag_volatile_static): Likewise.
15921 (f_options): Remove corresponding entries here.
15922 * varasm.c (make_decl_rtl): Don't check flag_volatile_global
15923 or flag_volatile_static.
15924 * doc/invoke.texi: Remove documentation of -fvolatile,
15925 -fvolatile-global and -fvolatile-static.
15926
17e6098e
JDA
159272003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15928
15929 * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
15930 updating of total_code_bytes from prologue to epilogue.
15931
2f278625
UW
159322003-01-31 Ulrich Weigand <uweigand@de.ibm.com>
15933
15934 * reload.c (find_reloads): Do not use the mode specified in the insn
15935 pattern as reload mode for address operands. Do not generate optional
15936 reloads for operands where a mandatory reload was already pushed.
15937 Generate optional reloads only in the final pass though find_reloads.
15938 (have_replacement_p): New function.
15939
05c425a9
GP
159402003-01-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15941
15942 * doc/install.texi (Testing): Remove a reference to our obsolete
15943 /testresults web pages and strip redundant information concerning
15944 test results.
15945 (Binaries): Refer to Microsoft Windows instead of listing all
15946 possible variants.
15947
62c9aa5f 159482003-02-01 Jan Hubicka <jh@suse.cz>
b0c42aed
JH
15949
15950 * loop.c (emit_prefetch_instructions): Do conversion at right place in
15951 RTL chain.
15952
15953 * combine.c (simplify_set): Reverse order of ragumetns to
15954 REG_CANNOT_CHANGE_MODE_P
15955 * df.c (df_def_record_1): Likewise.
15956 * recog.c (register_operand): Likewise.
15957 * simplify-rtx.c (simplify_subreg): Likewise.
15958 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
15959 CANNOT_CHANGE_MODE_CLASS.
15960 * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
15961 Likewise.
15962 * reload.c (push_reload): Likewise.
15963 * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
15964 * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
15965 * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
15966 * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
15967 * mips.c (mips_cannot_change_mode_class): Update.
15968 * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
15969 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
15970 * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
15971 * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
15972 * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
15973 * sh.c (sh_cannot_change_mode_class): Update.
15974 * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
15975 * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
15976
1f61a15d
GK
159772003-01-31 Geoffrey Keating <geoffk@apple.com>
15978
15979 * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
15980 change to LINK_COMMAND_SPEC in gcc.c.
15981
7c712dcc
LR
159822003-01-31 Jan Hubicka <jh@suse.cz>
15983
15984 PR c/9506
15985 * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
15986
e137391e
JDA
159872003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15988
15989 * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
15990 duplicated code.
15991
1824b90d
NS
159922003-01-31 Nathan Sidwell <nathan@codesourcery.com>
15993
15994 * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
15995 (BINFO_ELTS): New #define.
15996 * stor-layout.c (finalize_record_size): Don't set them.
15997 * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
15998 BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
15999 (BINFO_LANG_ELTS): New #define.
16000 * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
16001 * java/class.c (make_class): Use BINFO_ELTS.
16002 (set_super_info): Likewse.
16003 (add_interface_do): Likewise.
16004 * objc/objc-act.c (start_class): Use BINFO_ELTS.
16005
8f9a402c
DS
160062003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
16007
16008 * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
16009 (times): Don't ever declare if not HAVE_TIMES.
16010 (clock): Don't ever declare if not HAVE_CLOCK.
16011
cdd1f01b
RH
160122003-01-30 Richard Henderson <rth@redhat.com>
16013
16014 * flow.c (update_life_info): Zap life info after cleanup_cfg.
16015 (regno_uninitialized): Use correct live at function entry set.
16016 (regno_clobbered_at_setjmp): Likewise.
16017
16018 * expr.c (store_expr): Promote all MEM intermediates to regs.
16019
6bc82793
KH
160202003-01-30 Kazu Hirata <kazu@cs.umass.edu>
16021
16022 * config/arm/arm.c: Fix comment typos.
16023 * config/arm/arm.h: Likewise.
16024 * config/arm/netbsd-elf.h: Likewise.
16025 * config/arm/netbsd.h: Likewise.
16026
f099d360
GK
160272003-01-30 Geoffrey Keating <geoffk@apple.com>
16028
16029 * gengtype.c (struct walk_type_data): Add needs_cast_p.
16030 (walk_type): Set needs_cast_p in walk_type_data.
16031 (write_types_process_field): Supply casts when required to suppress
16032 warnings.
16033 (write_root): Cast gt_pch_n_S to suppress warning.
16034 * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
f099d360
GK
16035 * config/rs6000/rs6000.c (print_operand): Mask off high bits only
16036 when they might exist.
16037 * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
16038 insn-conditions.o, and rs6000.o.
16039
52895e1a
RH
160402003-01-30 Richard Henderson <rth@redhat.com>
16041
16042 * ggc-page.c (G.context_depth_allocations): New.
16043 (G.context_depth_collections): New.
16044 (alloc_page): Set G.context_depth_allocations.
16045 (ggc_collect): Set G.context_depth_collections.
16046 (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
16047 (ggc_pop_context): Early exit for no allocations or collections.
16048
c35c7e52
RH
160492003-01-30 Richard Henderson <rth@redhat.com>
16050
16051 * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
16052
e43dd89d
RE
160532003-01-30 Richard Earnshaw <rearnsha@arm.com>
16054
16055 * arm.c (arm_compute_initial_elimination_offset): If optimizing for
16056 size, the link register is always saved if any other register is
16057 saved.
16058
87a902e4
KH
160592003-01-30 Kazu Hirata <kazu@cs.umass.edu>
16060
16061 * config/h8300/h8300-protos.h: Update the prototype for
16062 compute_plussi_cc.
16063 (cpp_reader): Declare before it is used.
16064 * config/h8300/h8300.c (compute_plussi_cc): Change the return
16065 type to int.
16066 * config/h8300/h8300.md (monitor_prologue): Call abort() if we
16067 see an unknown H8 variant.
16068
160692003-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
0186a143 16070
ff6e2d3e 16071 PR target/9316
0186a143
RC
16072 * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
16073 * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
16074 * config/rs6000/t-rtems: New file. multilib variants to match OS.
16075 * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
16076 rs6000/t-ppcgas so we get the desired multilibs.
16077
f55d7103
NC
160782003-01-30 Nick Clifton <nickc@redhat.com>
16079
16080 * config/arm/arm.c (arm_output_epilogue): Update stack pointer
16081 when popping saved IP register off the stack.
16082
b6d08ca1
KH
160832003-01-30 Kazu Hirata <kazu@cs.umass.edu>
16084
16085 * config/rs6000/aix43.h: Fix comment typos.
16086 * config/rs6000/aix51.h: Likewise.
16087 * config/rs6000/aix52.h: Likewise.
16088 * config/rs6000/altivec.h: Likewise.
16089 * config/rs6000/rs6000.c: Likewise.
16090 * config/rs6000/rs6000.h: Likewise.
16091 * config/rs6000/rs6000.md: Likewise.
16092 * config/rs6000/spe.md: Likewise.
16093
14d22dd6
MM
160942003-01-29 Mark Mitchell <mark@codesourcery.com>
16095
16096 * c-common.c (builtin_define_float_constants): Define
16097 __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
16098
825db093
KH
160992003-01-30 Kazu Hirata <kazu@cs.umass.edu>
16100
16101 * config/sh/lib1funcs.asm: Fix comment typos.
16102 * config/sh/linux.h: Likewise.
16103 * config/sh/sh.c: Likewise.
16104 * config/sh/sh.md: Likewise.
16105
f1d5271a
LR
161062003-01-30 Loren James Rittle <ljrittle@acm.org>
16107
16108 * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
16109
266a9ef1
AO
161102003-01-30 Alexandre Oliva <aoliva@redhat.com>
16111
16112 * config/fp-bit.h (__make_dp): Declare if TMODES.
16113
0889116d
KH
161142003-01-29 Kazu Hirata <kazu@cs.umass.edu>
16115
16116 * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
16117 general_operand_src and general_operand_dst.
16118
c8c99a68
DE
161192003-01-29 David Edelsohn <edelsohn@gnu.org>
16120
16121 * config/rs6000/rs6000.c (function_arg_pass_by_reference):
16122 Return true for variable sized types.
16123 (rs6000_va_arg): Handle variable sized types passed by reference
16124 on non-SVR4 ABI.
16125
ccf4d512
RE
161262003-01-29 Richard Earnshaw <rearnsha@arm.com>
16127
16128 * arm.c (arm_legtimize_address): New function.
16129 * arm-protos.h (arm_legtimize_address): Add prototype.
16130 * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
16131 (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
16132 do ... while (0)
16133
0889116d 161342003-01-29 Joel Sherrill <joel@OARcorp.com>
0680c8fb 16135
7429b411 16136 PR bootstrap/9296
0680c8fb 16137 * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT. Apparently no code
7429b411 16138 depended on it being defined until now.
0680c8fb 16139
7429b411 161402003-01-29 Joel Sherrill <joel@OARcorp.com>
c934274a 16141
7429b411 16142 PR target/9295
c934274a
JS
16143 * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
16144 RTEMS code knows which C++ initialization style the toolset
7429b411 16145 configuration is using.
c934274a 16146
0889116d 161472003-01-29 Joel Sherrill <joel@OARcorp.com>
2e327e6e 16148
7429b411 16149 PR bootstrap/9293
ff6e2d3e 16150 * config/m68k/t-crtstuff: Replace spaces with tabs, add
2e327e6e 16151 $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
2e327e6e 16152
0889116d 161532003-01-29 Joel Sherrill <joel@OARcorp.com>
64abe03e 16154
7429b411 16155 PR bootstrap/9292
64abe03e
JS
16156 * config.gcc (hppa1.1-rtems): Did not include t-rtems nor enable
16157 RTEMS threads.
16158 * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
64abe03e 16159
2f12fb2b
NC
161602003-01-29 Nick Clifton <nickc@redhat.com>
16161
16162 * Makefile.in (c-parse.o): Locate source file in $(parsedir)
16163 not $(srcdir).
16164
cf0150b9
AH
161652003-01-29 Andrew Haley <aph@redhat.com>
16166
16167 * tree-inline.c (walk_tree): Add CHAR_TYPE.
16168
62c9aa5f 161692003-01-29 Jan Hubicka <jh@suse.cz>
9b74f3ea
JH
16170
16171 * i386.md (subdi3_carry_rex64): Fix typo.
16172
e150159c
SS
161732003-01-28 Stan Shebs <shebs@apple.com>
16174
16175 * coretypes.h (cpp_reader): Forward declare struct.
16176 * c-pragma.h (cpp_reader): Remove forward declaration.
16177 * hashtable.h (cpp_reader): Likewise.
16178 * scan.h (cpp_reader): Likewise.
16179 * tree.h (cpp_reader): Likewise.
16180 * config/darwin-protos.h (cpp_reader): Likewise.
16181 * config/arm/arm-protos.h (cpp_reader): Likewise.
16182 * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
16183 struct cpp_reader in prototypes.
16184
53b50ac1
CC
161852003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
16186
16187 * doc/install.texi: Add documentation for installation into
16188 tooldirs and with DESTDIR.
16189
021aa6ed
RH
161902003-01-28 Richard Henderson <rth@redhat.com>
16191
16192 * config.gcc (ia64*-*-aix*): Remove.
16193 * config/ia64/aix.h, config/ia64/t-aix: Remove file.
16194 * config/ia64/unwind-aix.c: Remove file.
16195
c1c1d123
AS
161962003-01-28 Andreas Schwab <schwab@suse.de>
16197
ff6e2d3e
RB
16198 * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
16199 register.
16200 * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
16201 * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
16202 * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
16203 * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
16204 * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
16205 * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
16206 * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
c1c1d123 16207
6d09ef27
RS
162082003-01-28 Richard Sandiford <rsandifo@redhat.com>
16209
16210 * combine.c (nonzero_bits): Fix check for negative divide operands.
16211
1e1bd14e
RH
162122003-01-28 Richard Henderson <rth@redhat.com>
16213
16214 * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
16215 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
16216
e37135f7
RH
162172003-01-28 Richard Henderson <rth@redhat.com>
16218
16219 * cse.c (find_best_addr): Kill !ADDRESS_COST code.
16220
75642f32
RH
16221 * config/cris/cris.c (cris_address_cost): Make static.
16222 (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
16223 * config/cris/cris.h (ADDRESS_COST): Remove.
16224 * config/cris/cris-protos.h: Update.
16225
e37135f7 162262003-01-23 Mike Stump <mrs@apple.com>
1f80c9ef
MS
16227
16228 * regclass.c (init_reg_autoinc): New function.
16229 (regclass): Move initialization of forbidden_inc_dec_class from
26182e15 16230 here...
1f80c9ef 16231 (init_regs): to here. Avoids reinitialization for each function,
26182e15 16232 saving compilation time.
1f80c9ef 16233
9fbd3e41
JM
162342003-01-28 Jason Merrill <jason@redhat.com>
16235
16236 * cpplib.h (struct cpp_options): Add warn_deprecated field.
16237 * cppinit.c (cpp_create_reader): Turn it on by default.
16238 * c-opts.c (c_common_decode_option): Set it.
16239 * cpplib.c (do_pragma_once): Only complain about #pragma once
16240 if warn_deprecated is set.
16241
fe352c29 162422003-01-28 Dale Johannesen <dalej@apple.com>
9fbd3e41 16243
1e1bd14e
RH
16244 * emit-rtl.c (const_double_htab_hash): Use mode in the hash.
16245 * loop.c (scan_loop): Move movables on -Os rich-register targets.
16246 * config/rs6000/rs6000.md (sibcall*): Use match_operand for LR.
fe352c29 16247
dcefdf67
RH
162482003-01-28 Richard Henderson <rth@redhat.com>
16249
16250 * target.h (targetm.address_cost): New.
16251 * target-def.h (TARGET_ADDRESS_COST): New.
16252 (TARGET_RTX_COSTS): Uncomment. Oops.
16253 * cse.c (address_cost): Use new target hook.
16254 (default_address_cost): New.
16255 * output.h (default_address_cost): Declare.
16256 * hooks.c (hook_int_rtx_0): New.
16257 * hooks.h (hook_int_rtx_0): Declare.
16258 * loop.c (combine_givs_p): Remove if 0 code.
16259 * system.h (ADDRESS_COST): Poison.
16260
16261 * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
16262 config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
16263 config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
16264 config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
16265 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
16266 config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
16267 config/xtensa/xtensa.c, config/xtensa/xtensa.h
16268 (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
16269 (ADDRESS_COST): Remove.
16270
16271 * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
16272 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
16273 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
16274 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
16275 config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
16276 config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
16277 config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
16278 config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
ff6e2d3e 16279 config/mips/mips.c, config/mips/mips.h,
dcefdf67 16280 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
ff6e2d3e 16281 config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
dcefdf67
RH
16282 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
16283 config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
16284 config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
16285 config/vax/vax.c, config/vax/vax.h
16286 (foo_address_cost): Make static.
16287 (TARGET_ADDRESS_COST): New.
16288 (ADDRESS_COST): Remove.
16289
16290 * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
16291 config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
16292 config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
16293 config/stormy16/stormy16.h
16294 (ADDRESS_COST): Move code ...
16295 (foo_address_cost): ... here.
16296 (TARGET_ADDRESS_COST): New.
16297
16298 * config/m32r/m32r.c (m32r_address_cost): Remove.
16299 * config/m32r/m32r-protos.h: Update.
16300
16301 * config/mmix/mmix.c (mmix_address_cost): Remove.
16302 * config/mmix/mmix-protos.h: Update.
16303
16304 * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
16305 mn10300_address_cost; move unsig allocation ...
16306 (mn10300_address_cost): ... here.
16307 (TARGET_ADDRESS_COST): New.
16308 * config/mn10300/mn10300-protos.h: Update.
16309 * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
16310
75642f32
RH
16311 * doc/tm.texi: Update.
16312
58fb7809
VM
163132003-01-28 Vladimir Makarov <vmakarov@redhat.com>
16314
16315 * haifa-sched.c (schedule_insn): Return necessary cycle advance
16316 after issuing the insn.
16317 (rank_for_schedule): Make a insn with /S the highest priority
16318 insn.
16319 (move_insn): Ignore schedule groups. Clear SCHED_GROUP_P.
16320 (choose_ready): Check SCHED_GROUP_P.
16321 (schedule_block): Advance cycle after issuing insn if it is
16322 necessary. Don't reorder insns if there is an insn with /S.
16323 (set_priorities): Ignore schedule groups.
16324
16325 * sched-deps.c (remove_dependence, group_leader): Remove the
16326 functions.
16327 (add_dependence): Ignore schedule groups.
16328 (set_sched_group_p): Don't make copy of dependencies from previous
16329 insn of the schedule group. Add anti-dependency to the previous
16330 insn of the schedule group.
16331 (compute_forward_dependences): Ignore schedule groups.
16332
16333 * sched-ebb.c (init_ready_list): Ignore schedule groups.
16334
16335 * sched-rgn.c (init_ready_list): Ditto.
16336 (can_schedule_ready_p): Ditto.
ff6e2d3e 16337
371c988b
VM
163382003-01-28 Vladimir Makarov <vmakarov@redhat.com>
16339
16340 * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
16341 register to another one.
16342
40cdfd5a
RH
163432003-01-28 Richard Henderson <rth@redhat.com>
16344
16345 * calls.c (default_must_pass_in_stack): Fix typo in !type case.
16346
a77b7e32
RS
163472003-01-28 Roger Sayle <roger@eyesopen.com>
16348
16349 * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
16350
3620944c
RS
163512003-01-28 Richard Sandiford <rsandifo@redhat.com>
16352
16353 * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
16354 class contains a floating-point register, return the size of the
16355 mode in half words.
16356
62c9aa5f 163572003-01-28 Jan Hubicka <jh@suse.cz>
e6e81735 16358
26182e15
SB
16359 * i386.c (ix86_carry_flag_operator): New predicate.
16360 (fcmov_operator): Fix whitespace.
16361 (ix86_expand_carry_flag_compare): Deal with floating point.
16362 (ix86_expand_int_movcc): Deal with fp; update insn expansion
16363 (ix86_expand_int_addcc): Likewise.
16364 (ix86_expand_strlensi_unroll_1): likewsie.
16365 * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
16366 * i386.md (add?i_carry_rex64): Use new predicate.
16367 (sub?i3_carry_rex64): Likewise.
16368 (x86_mov?icc_0_m1*): Likewise.
e6e81735 16369
43196589
AS
163702003-01-28 Andreas Schwab <schwab@suse.de>
16371
32214c32
AS
16372 * cfgloopmanip.c (create_preheader): Initialize src to avoid
16373 warning.
16374
16375 * expmed.c (emit_store_flag): Fix cast to avoid sign
16376 comparison warning.
16377
43196589
AS
16378 * combine.c (force_to_mode): Add cast to fix warning when
16379 STORE_FLAG_VALUE is negative.
16380
3c50106f
RH
163812003-01-27 Richard Henderson <rth@redhat.com>
16382
16383 * Makefile.in (cse.o): Depend on TARGET_H.
16384 * cse.c (rtx_cost): Use targetm.rtx_costs.
16385 * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
16386 * doc/tm.texi: Update.
ff6e2d3e 16387
3c50106f
RH
16388 * target.h (targetm.rtx_costs): New.
16389 * target-def.h (TARGET_RTX_COSTS): New.
16390 * hooks.c (hook_bool_rtx_int_int_intp_false): New.
16391 * hooks.h: Update.
16392
16393 * config/alpha/alpha.c (alpha_rtx_cost_data): New.
16394 (alpha_rtx_costs, TARGET_RTX_COSTS): New.
16395 * config/alpha/alpha.h (PROCESSOR_MAX): New.
16396 (CONST_COSTS, RTX_COSTS): Remove.
16397
16398 * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
16399 config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
16400 config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
16401 config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
16402 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
16403 config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
16404 config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
16405 config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
16406 config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
16407 config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
16408 config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
16409 config/mn10200/mn10200.h, config/mn10300/mn10300.c,
16410 config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
16411 config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
16412 config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
16413 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
16414 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
16415 config/stormy16/stormy16.c, config/stormy16/stormy16.h,
16416 config/v850/v850.c, config/v850/v850.h,
16417 config/xtensa/xtensa.c, config/xtensa/xtensa.h
16418 (CONST_COSTS, RTX_COSTS): Move code ...
16419 (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
16420
16421 * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
16422 (arm_rtx_costs, TARGET_RTX_COSTS): New.
16423 * config/arm/arm-protos.h: Update.
16424 * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
16425
16426 * config/avr/avr.h (CONST_COSTS): Move code ...
16427 * config/avr/avr.c (avr_rtx_costs): ... here.
16428 (default_rtx_costs): Make static.
16429 * config/avr/avr-protos.h: Update.
16430
16431 * config/h8300/h8300.c (const_costs): Make static.
16432 (h8300_and_costs, h8300_shift_costs): Likewise.
16433 * config/h8300/h8300-protos.h: Update.
16434
16435 * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
16436 (CONST_COSTS): Move code ...
16437 * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here. Rename from
16438 default_rtx_costs; update for signature change.
16439 * config/ip2k/ip2k-protos.h: Update.
16440
16441 * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
16442 (CONST_COSTS): Move code ...
16443 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
16444 (TARGET_RTX_COSTS): New.
16445 (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
16446 * config/m68hc11/m68hc11-protos.h: Update.
16447
16448 * config/m68k/m68k.c (const_int_cost): Make static.
16449 * config/m68k/m68k-protos.h: Update.
16450
16451 * config/mcore/mcore.c (mcore_const_costs): Make static.
16452 (mcore_and_cost, mcore_ior_cost): Likewise.
16453 * config/mcore/mcore-protos.h: Update.
16454
16455 * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
16456 (mmix_rtx_cost_recalculated): Remove.
16457 * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
16458 * config/mmix/mmix-protos.h: Update.
16459
16460 * config/sh/sh.c (shiftcosts): Make static.
16461 (addsubcosts, andcosts, multcosts): Likewise.
16462 * config/sh/sh-protos.h: Update.
16463
16464 * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
16465 (sparc_rtx_costs): Make static; update for change in signature.
16466 * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
16467 * config/sparc/sparc-protos.h: Update.
16468
16469 * config/v850/v850.c (const_costs): Make static.
16470 * config/v850/v850-protos.h: Update.
16471
16472 * config/vax/vax.h (RTX_COSTS): Remove.
16473 (CONST_COSTS): Move code ...
16474 * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
16475 from vax_rtx_cost.
16476 (vax_rtx_costs, TARGET_RTX_COSTS): New.
16477
b9962e0a
RH
164782003-01-27 Richard Henderson <rth@redhat.com>
16479
16480 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. Really.
5ca98980 16481 * config/vax/vax-protos.h: Update. Really.
b9962e0a 16482
8a381273
AO
164832003-01-28 Alexandre Oliva <aoliva@redhat.com>
16484
16485 * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
16486 (UNITS_PER_FPVALUE): Defined as the width of a long double, or
16487 zero if no hardware floating point.
16488 (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
16489 (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
16490 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
16491 (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
16492 (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
16493 * config/mips/mips.c (mips_arg_info): Pass TFmode values in
16494 even FP registers on N32 and N64.
16495 (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
16496 (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
16497 (mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional
16498 even-register-like alignment to 128-bit arguments.
16499 (save_restore_insns): Use UNITS_PER_HWFPVALUE.
16500 (mips_function_value): Likewise. Return TFmode in $f0 and $f2
16501 on N32 or N64.
16502 * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
16503 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
16504 (TPBIT): Set to tp-bit.c.
16505 (tp-bit.c): Create out of fp-bit.c.
16506
820e01be
GDR
165072003-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
16508
16509 * c-parse.in: Remove '%expect 32' directive in objc mode.
16510
23af32e6
NS
165112003-01-27 Nathan Sidwell <nathan@codesourcery.com>
16512
16513 * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
16514 (LIBGCOV): New variable.
16515 (libgcc.mk): Add LIBGCOV.
16516 (LIBGCC_DEPS): Add libgcov.c.
16517 (libgcov.a): New target.
16518 (clean): Remove libgcov.a.
16519 (install-libgcc): Do libgcov too.
16520 (stage1-start, stage2-start, stage3-start, stage4-start): Deal
16521 with libgcov.a.
16522 * libgcc2.c (L_gcov): Move into ...
16523 * libgcov.c: ... here. New file.
16524 * mklibgcc.in: Add libgcov rules.
16525 * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
16526
16527 * doc/invoke.texi (profile-arcs, test-coverage): Update and
16528 clarify.
ff6e2d3e 16529
23af32e6
NS
16530 * profile.c (index_counts_file): Remove duplicate check for open file.
16531
9fe42917 165322003-01-27 Jerry Quinn <jlquinn@optonline.net>
d4463dfc
JQ
16533
16534 * gcc/doc/invoke.texi (Optimization Options): Group together
16535 optional and experimental flags. Move trapv and bounds-check
95fcd0ab 16536 out of this section. Group floating point flags together.
d4463dfc
JQ
16537 (Code Gen Options): Move trapv and bounds-check to here.
16538
244d05fb
JZ
165392003-01-27 Josef Zlomek <zlomekj@suse.cz>
16540
16541 * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
16542
c552c146
RE
165432003-01-27 Richard Earnshaw <rearnsha@arm.com>
16544
16545 PR optimization/9090
16546 * function.c (purge_addressof_1): After pushing an addressed register
16547 onto the stack, simplify the result.
16548
90a21764
VR
165492003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
16550
16551 * doc/extend.texi: Fix typo.
16552
9a376494
VR
165532003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
16554
16555 * doc/cppopts.texi: Fix typo.
16556 * doc/objc.texi: Likewise.
16557 * doc/passes.texi: Likewise.
16558
f004e5f3
AO
165592003-01-27 Alexandre Oliva <aoliva@redhat.com>
16560
16561 * real.c (ibm_extended_format): Add 53 to minimum exponent.
16562 (encode_ibm_extended): Adjust.
16563
58c60e52
GDR
165642003-01-26 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
16565
16566 * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
16567 timevar_id enumerations.
16568
e869aa39
KH
165692003-01-26 Kazu Hirata <kazu@cs.umass.edu>
16570
16571 * combine.c: Fix formatting.
16572
74fb4811
KH
165732003-01-26 Kazu Hirata <kazu@cs.umass.edu>
16574
16575 * doc/gccint.texi: Update the copyright.
16576
3bcf1b13
KH
165772003-01-26 Kazu Hirata <kazu@cs.umass.edu>
16578
16579 * doc/cpp.texi: Fix typos.
16580 * doc/extend.texi: Likewise.
16581 * doc/gty.texi: Likewise.
16582 * doc/install.texi: Likewise.
16583 * doc/passes.texi: Likewise.
16584 * doc/rtl.texi: Likewise.
16585 * doc/tm.texi: Likewise.
16586
9e4f94de
KH
165872003-01-26 Kazu Hirata <kazu@cs.umass.edu>
16588
16589 * config/ia64/fde-glibc.c: Fix comment typos.
16590 * config/ia64/hpux.h: Likewise.
16591 * config/ia64/ia64.c: Likewise.
16592 * config/ia64/ia64.h: Likewise.
16593 * config/ia64/unwind-ia64.c: Likewise.
16594
4aae8a9a
KH
165952003-01-26 Kazu Hirata <kazu@cs.umass.edu>
16596
16597 * config/i386/i386-modes.def: Fix comment typos.
16598 * config/i386/i386.c: Likewise.
16599 * config/i386/i386.md: Likewise.
16600
35d8c8e2
SB
166012003-01-26 Steven Bosscher <s.bosscher@student.tudelft.nl>
16602
16603 * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
16604 config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
16605 ASM_FINISH_DECLARE_OBJECT before defining it.
16606 * toplev.c (rest_of_decl_compilation): Don't define
16607 ASM_FINISH_DECLARE_OBJECT. Only use it if it is defined.
16608 (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
16609 parameters for DWARF2 targets because they _are_ used.
16610
ea976606
AO
166112003-01-26 Alexandre Oliva <aoliva@redhat.com>
16612
b44cf3d9
AO
16613 * fp-bit.h: Define macros for TFmode floating-point constants
16614 in IBM-extended TFmode types.
16615 (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
16616 widths.
16617 * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
16618 TFmode type.
16619
ea976606
AO
16620 * config/fp-bit.h: Define macros for TFmode floating-point
16621 constants in IEEE quad TFmode type. Declare functions according
16622 to L_ macros.
16623 (TMODES): Define if __LDBL_MANT_DIG__ is 113.
16624 (TFtype, TItype, UTItype): Define if TMODES is defined.
16625 (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
16626 (F_T_BITOFF, D_T_BITOFF): Define.
16627 (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
16628 guaranteed to be wide enough.
16629 * config/fp-bit.c: Check for L_ macros for tf functions.
16630 (__thenan_tf): New.
16631 (nan): Adjust.
16632 (pack_d, unpack_d): Support IEEE 854 quad type.
16633 (_fpmul_parts): Support TFmode. Compute exponent adjustment
16634 from FRAC_NBITS, FRAC_BITS and NGARDS.
16635 (usi_to_float): Cast constants to be shifted to fractype
16636 instead of assuming long long is wide enough.
16637 (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
16638
fd7fd61e
AJ
166392003-01-26 Andreas Jaeger <aj@suse.de>
16640
16641 * df.c: Remove prototype of unused function df_regno_rtl_debug.
16642
8ae91fc0
AO
166432003-01-26 Alexandre Oliva <aoliva@redhat.com>
16644
88e83acb
AO
16645 * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
16646 (DBBIT_FUNCS): Added _df_to_tf.
16647 (TPBIT_FUNCS): New.
16648 (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
16649 (LIBGCC_DEPS): Added TPBIT.
16650 * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
16651
2cd622c3
AO
16652 * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
16653 been able to move the result to target.
16654
8ae91fc0
AO
16655 * expr.c (emit_group_store): Initialize dst with CONST0_RTX
16656 for the appropriate mode.
16657
c3297561
AO
16658 * calls.c (emit_library_call_value_1): Handle return values
16659 in a PARALLEL.
16660
187515f5
AO
16661 * rtl.c (get_mode_alignment): Moved to...
16662 * stor-layout.c: ... here.
16663
6ebd2ef4
AO
16664 * print-rtl.c (print_rtx): Don't print MEM details in
16665 GENERATOR_FILEs.
16666
7890e8f3
MH
166672003-01-26 Michael Hayes <mph@paradise.net.nz>
16668
16669 * df.h: Update comments, tidy formatting.
16670 (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
16671 REVERSE, UNION, INTERSECTION. All uses updated.
16672 (OLD_DF_INTERFACE): Remove.
16673 (struct insn_info): Remove commented out insn field.
16674 * df.c: Update comments, tidy formatting.
16675 (df_def_table_realloc): Remove.
16676
16677
b820d2b8
AM
166782003-01-26 Alan Modra <amodra@bigpond.net.au>
16679
16680 * calls.c (save_fixed_argument_area): Tidy.
16681 (restore_fixed_argument_area): Tidy. Set alignment of stack_area.
16682 (expand_call): Comment typo fixes. Don't init low_to_save. Start
16683 call chain loop at 1 if !try_tail_call. Formatting.
16684 (emit_library_call_value_1): Don't init low_to_save or high_to_save.
16685 Use save_fixed_argument_area and restore_fixed_argument_area.
16686
42510de4
MH
166872003-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
16688
16689 * df.c (df_uses_record): Handle CC0.
16690
acf9fa5f
UW
166912003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
16692
1e1bd14e
RH
16693 * reload.c (maybe_memory_address_p): New function.
16694 (find_reloads_address): Use it instead of memory_address_p.
acf9fa5f 16695
5a09edba
KK
166962003-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
16697
16698 * final.c (shorten_branches): Align the address of code label
1e1bd14e 16699 when computing initial lengths and addresses.
5a09edba 16700
f5818c0c
KH
167012003-01-25 Kazu Hirata <kazu@cs.umass.edu>
16702
16703 * config/m68hc11/m68hc11.md: Fix a comment typo.
16704
21ff35fb
AJ
167052003-01-25 Andreas Jaeger <aj@suse.de>
16706
16707 * config/i386/i386.c (x86_output_mi_thunk): Correct test for
16708 TARGET_MACHO.
16709
7821bfc7
RS
167102003-01-25 Roger Sayle <roger@eyesopen.com>
16711
16712 * gcse.c (bypass_last_basic_block): New global variable.
16713 (bypass_block): Use redirect_edge_and_branch_force to redirect
16714 fall-through edges. Use bypass_last_basic_block to determine
16715 which blocks have valid PRE information.
16716 (bypass_conditional_jumps): Initialize bypass_last_basic_block.
16717
62c9aa5f 167182003-01-25 Jan Hubicka <jh@suse.cz>
5f0bea72
JH
16719
16720 * gcse.c (local_cprop_pass): Update reg_sets table when needed.
16721
62c9aa5f 167222003-01-25 Jan Hubicka <jh@suse.cz>
1649d92f
JH
16723 Eric Botcazou <ebotcazou@libertysurf.fr>
16724 PR opt/8492
16725 * gcse.c (one_cprop_pass): Delete unreachable blocks.
16726
6ca86a1a
RH
167272003-01-25 Richard Henderson <rth@redhat.com>
16728
16729 * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
16730 from ia64_aix_select_rtx_section.
16731 (ia64_rwreloc_select_section): Simlarly; use default*_1 function
16732 instead of saving and restoring flag_pic.
16733 (ia64_rwreloc_unique_section): Similarly.
16734 * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
16735 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
16736 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
16737 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
16738
aa2fb4dd
KH
167392003-01-25 Kazu Hirata <kazu@cs.umass.edu>
16740
16741 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
16742 comment.
16743
c876997f 167442003-01-25 Richard Henderson <rth@redhat.com>
1125849a
RH
16745
16746 * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
16747
c876997f 167482003-01-25 Kelley Cook <kelleycook@comcast.net>
3900a23b
KC
16749
16750 * ggc-simple.c (debug_ggc_tree): Add PTR cast.
16751
72e42e26
SB
167522003-01-25 Segher Boessenkool <segher@koffie.nl>
16753
16754 * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
16755 type for bitmaps. Use unsigned long.
16756 (nBITMAP_WORD_BITS): New macro.
16757 (BITMAP_WORD_BITS): New macro.
16758 (rest of file): Use it.
16759 * bitmap.c: Use it.
16760
8324663f
RH
167612003-01-25 Richard Henderson <rth@redhat.com>
16762
16763 2002-02-19 Robert Lipe <robertlipe@usa.net>
16764 * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
16765
c876997f 167662003-01-25 Roger Sayle <roger@eyesopen.com>
2adc9b0f
RS
16767
16768 * builtins.c (purge_builtin_constant_p): Scan insn stream
16769 sequentially rather than by basic block.
16770 * function.c (purge_addressof): Simplify test with INSN_P.
16771
ad487c38
KH
167722003-01-25 Kazu Hirata <kazu@cs.umass.edu>
16773
8324663f 16774 * combine.c (simplify_comparison, case AND): Remove a redundant test.
ad487c38 16775
c876997f 167762003-01-25 Roger Sayle <roger@eyesopen.com>
07d9b20d
RS
16777
16778 * function.h (struct function): New field calls_constant_p.
16779 (current_function_calls_constant_p): New macro for above.
16780 * function.c (prepare_function_start): Initialize calls_eh_return
16781 and calls_constant_p.
16782 * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
16783 * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
16784 when the current_function_calls_constant_p.
16785 * integrate.c (expand_inline_function): Set calls_constant_p if
16786 the function being inlined has calls_constant_p set.
16787
c876997f 167882003-01-25 Roger Sayle <roger@eyesopen.com>
41559112
RS
16789
16790 * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
16791 optimizing, even if flag_gcse is true.
16792 * toplev.c (rest_of_compilation): purge_builtin_constant_p
16793 only needs to be called when "optimize > 0 && flag_gcse".
16794
9bb231fd
RS
167952003-01-25 Roger Sayle <roger@eyesopen.com>
16796
16797 * stmt.c (emit_case_bit_tests): New routine to implement suitable
16798 switch statements using the equivalent of "if ((1<<x) & cst) ... ".
16799 (case_bit_test_cmp): New comparison function for "qsort" to order
16800 case_bit_tests by decreasing number of destination nodes.
16801 (lshift_cheap_p): New function to determine if "1 << x" is cheap.
16802 (expand_end_case_type): Use emit_case_bit_tests to implement
16803 suitable switch statments.
16804 (CASE_USE_BIT_TESTS): New target macro to disable the above.
16805 * Makefile.in (stmt.o): Add dependency on optab.h.
16806 * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
16807
a073323c
AS
168082003-01-23 Andreas Schwab <schwab@suse.de>
16809
16810 * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
16811 __do_global_ctors_aux hidden global and don't put it in
16812 .init_array.
16813 * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
16814 instead so that it comes first.
16815
62c9aa5f 168162003-01-25 Jan Hubicka <jh@suse.cz>
36ddc6b0
JH
16817
16818 * df.c (read_modify_subreg_p): When osize == UNITS_PER_WORD,
16819 subreg is read/modify.
16820
62c9aa5f 168212003-01-25 Jan Hubicka <jh@suse.cz>
26771da7
JH
16822
16823 * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
16824 do libcall for large blocks.
16825 * i386.md (comi patterns): Set type to ssecomi.
16826 (sse2_unpck?pd): Fix mode of vec_select.
16827
16828 * cse.c: Include except.h
16829 (cse_set_around_loop): Do not create new basic blocks.
16830 * Makefile.in (cse.o): Add dependnecy on except.h
16831
62c9aa5f 168322003-01-25 Jan Hubicka <jh@suse.cz>
27a6aa72
JH
16833
16834 * builtins.c (fold_trunc_transparent_mathfn): New function.
16835 (fold_builtin): Use it.
16836 * convert.c (convert_to_real): Re-enable code to convert
16837 math functions; add support for floor familly functions.
16838
cd68f4e4
ZD
168392003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
16840
16841 * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
16842 dependencies on coretypes.h and $(TM_H).
16843
62c9aa5f 168442003-01-25 Jan Hubicka <jh@suse.cz>
67945f2e
JH
16845
16846 * builtins.c (fold_trunc_transparent_mathfn): Undo accidental commit.
16847
c876997f 168482003-01-24 Stuart Hastings <stuart@apple.com>
095fa594 16849
08f0414b 16850 * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
095fa594 16851
1e4c04e0
MH
168522003-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
16853
16854 * config/c4x/c4x.md (UNSPEC_BU): New constants.
16855 (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
16856 (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
16857 (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
16858 (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST): Likewise.
16859 (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP): Likewise.
16860 (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST): Likewise.
16861 (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE): Likewise.
16862
62c9aa5f 168632003-01-24 Jan Hubicka <jh@suse.cz>
a560d4d4 16864
08f0414b 16865 * emit-rtl.c (reg_attrs_htab): New static variable.
a560d4d4
JH
16866 (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
16867 functions.
16868 (reg_rtx): Do not maintain regno_decl.
16869 (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
16870 set_mem_attrs_from_reg): New global function.
16871 (init_emit): Do not initialize regno_decl.
16872 (init_emit_once): initialize reg_attrs_htab.
16873 * final.c (alter_subreg): Do not replace REG by SUBREG.
16874 (gen_mem_expr_from_op): Improve output.
16875 (output_asm_operands): Likewise.
16876 * function.c (assign_params): Do not set REGNO_DECL.
16877 * function.h (struct function): Kill regno_decl.
16878 (REGNO_DECL): Kill.
16879 * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
16880 * print_rtl.c (print_rtx): Output REG information.
16881 * regclass.c (reg_scan_mark_refs): Update attrs.
16882 * reload1.c (alter_reg): Likewise.
16883 * simplify_rtx.c (simplify_subreg): Likewise.
16884 * stmt.c (expand_decl): Likewise.
16885 * rtl.def (REG): Add new field.
16886 * rtl.h (struct reg_attrs): New.
16887 (rtunion_def): At rtreg.
16888 (X0MEMATTR): Add checking.
16889 (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
16890 (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
16891 Declare.
16892 * tree.h (SET_DECL_RTL): Call set_decl_rtl.
16893
1d0ea52e
BW
168942003-01-24 Bob Wilson <bob.wilson@acm.org>
16895
16896 * config/xtensa/xtensa.c: Remove unused include of machmode.h.
16897 (xtensa_emit_call, print_operand): Fix printf format strings
16898 to avoid compile warnings.
16899 (xtensa_function_prologue, xtensa_function_epilogue): Change type
16900 of "size" argument to HOST_WIDE_INT to fix compile warnings.
16901 * config/xtensa/xtensa-protos.h
16902 (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
16903
62c9aa5f 169042003-01-24 Jan Hubicka <jh@suse.cz>
272f51a3
JH
16905
16906 * builtins.c (DEF_BUILTIN): Accept 10 arguments.
16907 (implicit_built_in_decls): New global array.
16908 (mathfn_built_in): New global function.
16909 (fold_trunc_transparent_mathfn): New static function
16910 (expand_builtin_strstr, expand_bultin_strchr,
16911 expand_builtin_strpbrk, expand_builtin_strcpy,
16912 expand_builtin_strncpy, expand_bultin_strcmp,
16913 expand_bultin_strncat, expand_builtin_fputs): Use
16914 implicint_built_in_decls.
16915 (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
16916 * builtins.def: Fix comments.
16917 (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
16918 DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
16919 DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
16920 DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
16921 (DEF_C99_C90RES_BULTIN): New.
16922 (*f, *l builtins): Update.
16923 * c-common.c (DEF_BUILTIN): Initialize implicit array.
16924 (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
16925 * convert.c (strip_float_extensions): New global function.
16926 * tree.h (DEF_BUILTIN): Accept 10 arguments.
16927 (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
16928 Declare.
16929 * java/builtins.c (define_builtin): Handle implicit.
16930 (DEF_BUILTIN): Update.
16931 * tm.texi (TARGET_C99_FUNCTIONS): Document.
16932 * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
16933 * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
16934 when using glibc2.
16935
1f37a5b2
BW
169362003-01-24 Bob Wilson <bob.wilson@acm.org>
16937
16938 * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
16939 extra_parts, and fixincludes. Add xtensa/t-elf tmake_file.
16940 (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
16941 * config/xtensa/crti.asm: New file.
16942 * config/xtensa/crtn.asm: New file.
16943 * config/xtensa/t-elf: New file.
16944 * config/xtensa/t-linux: New file.
16945 * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
16946 Move various CFLAGS settings to new t-elf file.
16947
84f5e1b1
RH
169482003-01-24 Richard Henderson <rth@redhat.com>
16949
16950 PR optimization/4382
16951 * tree-inline.c (find_builtin_longjmp_call_1): New.
16952 (find_builtin_longjmp_call): New.
16953 (inlinable_function_p): Use it.
16954
09b2e78d
ZD
169552003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
16956
16957 * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
16958 * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
16959 * config/i386/i386.c (function_arg_pass_by_reference): New.
16960 (ix86_va_arg): Support arguments passed by reference.
16961
3d436d2a
ZD
169622003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
16963
16964 * cfgloopanal.c: New file.
16965 * cfgloopmanip.c: New file.
16966 * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
16967 (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
16968 cfglayout.o): Add dependency on cfgloop.h.
16969 (cfgloop.o): Add flags.h dependency.
16970 * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
16971 (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
16972 (struct loop, struct loops, flow_loops_find, flow_loops_update,
16973 flow_loops_free, flow_loops_dump, flow_loop_dump,
16974 flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
16975 LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
16976 LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
16977 flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
16978 loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
16979 find_common_loop, verify_loop_structure): Declarations moved to ...
16980 * cfgloop.h: New file.
16981 * bb-reorder.c (reorder_basic_blocks): Modified.
16982 * cfglayout.c: Include cfgloop.h.
16983 (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
16984 cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
16985 (break_superblocks): New static function.
16986 (cfg_layout_finalize): Use it.
16987 (cfg_layout_split_block): New function.
16988 * cfglayout.h (struct reorder_block_def): Add copy and duplicated
16989 fields.
16990 (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
16991 changed.
16992 (cfg_layout_split_block): Declare.
16993 * cfgloop.c: Include cfgloop.h and flags.h.
16994 (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
16995 get_loop_body): Avoid signed versus unsigned comparison warnings.
16996 (make_forwarder_block, flow_loops_find, loop_preheader_edge,
16997 loop_latch_edge): Modified.
16998 (verify_loop_structure): Modified to use flags stored in loop structure;
16999 check irreducible loops.
17000 (cancel_loop, cancel_loop_tree): New functions.
17001 (estimate_probability): Use loop analysis code for predictions.
17002 (estimate_loops_at_level): Avoid signed versus unsigned comparison
17003 warnings.
17004 * doloop.c: Include cfgloop.h.
17005 * loop.c: Include cfgloop.h.
17006 * predict.c: Include cfgloop.h.
17007 * toplev.c: Include cfgloop.h.
17008 * unroll.c: Include cfgloop.h.
17009 * tracer.c (tracer): Modified.
17010
a38b3eea
KH
170112003-01-24 Kazu Hirata <kazu@cs.umass.edu>
17012
17013 * config/h8300/h8300.c (get_shift_alg): Fix a typo.
17014
fd3cd001
UW
170152003-01-24 Ulrich Weigand <uweigand@de.ibm.com>
17016
17017 * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
17018 * configure: Regenerate.
17019
17020 * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
17021 (tls_symbolic_reference_mentioned_p): Add prototype.
17022 (s390_tls_get_offset): Add prototype.
17023 (emit_pic_move): Remove prototype, replace by ...
17024 (emit_symbolic_move): .. this new prototype.
17025
17026 * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
17027 (tls_model_chars): New global variable.
17028 (s390_encode_section_info): Encode TLS model.
17029 Use targetm.binds_local_p to check for local symbols.
17030 (s390_strip_name_encoding): New function.
17031 (TARGET_STRIP_NAME_ENCODING): Define.
17032
17033 (get_thread_pointer): New function.
21ff35fb 17034 (legitimize_tls_address): New function.
fd3cd001
UW
17035 (legitimize_address): Call it.
17036 (emit_pic_move): Remove, replace by ...
17037 (emit_symbolic_move): ... this new function.
17038
17039 (larl_operand): Handle TLS operands.
17040 (legitimate_constant_p): Likewise.
17041 (s390_decompose_address): Likewise.
17042 (s390_cannot_force_const_mem): New function.
17043 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
17044
17045 (s390_output_symbolic_const): Handle TLS unspecs.
17046 (print_operand): New code 'J'.
17047 (machine_function): Add struct member 'some_ld_name'.
17048 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
17049
17050 (enum s390_builtin): New type.
17051 (code_for_builtin_64, code_for_builtin_31): New global variables.
17052 (s390_init_builtins, s390_expand_builtin): New functions.
17053 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
17054
17055 * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
17056 (ASM_OUTPUT_LABELREF): Define.
17057 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
17058
17059 * config/s390/s390.md: Define TLS UNSPEC constants.
17060 ("movdi", "movsi"): Handle TLS operands.
17061 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
17062 ("*tls_load_64", "*tls_load_31"): New insns.
17063 ("call_value_tls", "call_value_tls_exp"): New expanders.
21ff35fb 17064 ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
fd3cd001
UW
17065 "bas_tls_64", "bas_tls_31"): New insns.
17066
01f4962d
NS
170672003-01-24 Nathan Sidwell <nathan@codesourcery.com>
17068
17069 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
17070 spe ABI is configured, if requested.
17071
70b91854
VR
170722003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
17073
17074 * doc/passes.texi: Fix typo.
17075
b8089d8d
AS
170762003-01-24 Andreas Schwab <schwab@suse.de>
17077
17078 * stor-layout.c (excess_unit_span): Only define if used.
17079
38df970e
JQ
170802003-01-24 Jerry Quinn <jlquinn@optonline.net>
17081
17082 * gcc/doc/invoke.texi (Optimization Options): List -O levels
17083 for each optimization flag.
17084
dff23a65
KH
170852003-01-24 Kazu Hirata <kazu@cs.umass.edu>
17086
17087 * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
17088
05739753
VR
170892003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
17090
17091 * doc/bugreport.texi: Use @command instead of @code for commands.
17092 * doc/collect2.texi: Likewise.
17093 * doc/headerdirs.texi: Likewise.
17094 * doc/invoke.texi: Likewise.
17095 * doc/standards.texi: Likewise.
17096 * doc/tm.texi: Likewise.
17097 * doc/trouble.texi: Likewise.
17098
06bea5aa
NC
170992003-01-24 Nick Clifton <nickc@redhat.com>
17100
17101 * config/arm/arm.c (use_return_insn): Do not use a single return
17102 instruction for interrupt handelrs which have to create a stack
17103 frame.
17104 (arm_expand_prologue): Do not pre-bias the return address of
17105 interrupt handlers which create a stack frame.
17106
171072003-01-24 Nick Clifton <nickc@redhat.com>
17108
17109 * Add sh2e support:
17110
17111 2002-08-12 Alexandre Oliva <aoliva@redhat.com>
17112
17113 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
17114 med_cbranches. Fix logic in short_cbranches.
17115
17116 2002-04-03 Alexandre Oliva <aoliva@redhat.com>
17117
17118 * config/sh/sh.md (delay for cbranch): Don't annul delay
17119 slots on SH2e.
17120 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
17121 cbranch with unfilled delay slot on SH2e.
17122 (output_branch): Fill with a nop the delay slot of a
17123 branch that required a delay slot but didn't get one.
17124
17125 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
17126
17127 * doc/invoke.texi (SH options): Document -m2e.
17128 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
17129 * config/sh/lib1funcs.asm: Likewise.
17130 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
17131 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
17132 not __sh1__.
17133 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
17134 SH2E up.
17135 (SH3E_BIT): Renamed to...
17136 (SH_E_BIT): ... this. Replace all uses.
17137 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
17138 Replace all uses of TARGET_SH3E with TARGET_SH2E.
17139 (TARGET_SWITCHES): Added 2e.
17140 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
17141 (processor_type): Added PROCESSOR_SH2E.
17142 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
17143 TARGET_SH2E, except in sqrtsf2_i.
17144 (attribute cpu): Added sh2e.
17145 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
17146 (MULTILIB_MATCHES): Use m2e multilib for m3e.
17147 * config.gcc: Add sh2e target support.
17148
65ca2d60
PE
171492003-01-24 Phil Edwards <pme@gcc.gnu.org>
17150
17151 Rename -W to -Wextra.
17152 * c-decl.c: Update comments.
17153 * c-typeck.c: Likewise.
17154 * flags.h: Likewise.
17155 * function.c: Likewise.
17156 * stmt.c: Likewise.
17157 * toplev.c: Update comments.
17158 (W_options): Add 'extra'.
17159 (display_help): Remove '-W'.
17160 (decode_W_option): Special warn_uninitialized treatment in the case
17161 of -Wextra.
17162 * doc/invoke.texi: Update with new entries.
17163
3de9c088
RH
171642003-01-23 Richard Henderson <rth@redhat.com>
17165
8324663f
RH
17166 * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
17167 in no-else-block case. Add commentary.
3de9c088 17168
49691411
KG
171692003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17170
b4862477
KG
17171 * configure.in: Revert last change.
17172
171732003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17174
17175 * configure.in: Don't include ansidecl.h in tconfig.h.
ed446835 17176 * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED): Define if IN_LIBGCC2.
49691411
KG
17177 * unwind-dw2-fde.h (last_fde): Use __attribute__, not
17178 ATTRIBUTE_UNUSED.
17179
17180 * configure: Regenerate.
17181
c4db7ecb
FS
171822003-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
17183
17184 PR java/6748
17185 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
17186 regs->nip. Fix rt_sigreturn frame layout. Add support for newer
17187 kernels.
17188
fc69c47c
KG
171892003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17190
17191 * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
17192
adbe6dfd
UW
171932003-01-23 Ulrich Weigand <uweigand@de.ibm.com>
17194
17195 * genattrtab.c (write_attr_get): Mark 'insn' paramter
17196 as ATTRIBUTE_UNUSED.
17197
76a318e9
RE
171982003-01-23 Richard Earnshaw <rearnsha@arm.com>
17199
17200 * arm.c (thumb_base_register_rtx_p): New function.
17201 (thumb_index_register_rtx_p): New function.
17202 (thumb_legitimate_address_p): New function.
17203 (thumb_legitimate_offset_p): New function.
17204 * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
8891b787 17205 (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
76a318e9
RE
17206 definitions.
17207 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
17208 (THUMB_LEGITIMATE_OFFSET): Delte.
17209 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
17210 * arm-protos.h (thumb_legitimate_address_p): Add prototype.
17211 (thumb_legitimate_offset_p): Likewise.
17212
9a600d0c
AS
172132003-01-23 Andreas Schwab <schwab@suse.de>
17214
17215 * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
17216
2d110c0a
KG
172172003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17218
17219 * fixinc/Makefile.in (FL_LIST): Revert last change.
17220
2d1d9215
VR
172212003-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
17222
17223 PR other/7341
17224 * invoke.texi (ftest-coverage): Fix broken cross-reference.
17225 Change @code to @command for gcov command.
17226
17227 * gcc.texi: Adjust title of gcov section.
17228 Adjust copyright.
17229 * gcov.texi: Likewise.
17230
34ee7f82
RS
172312003-01-22 Roger Sayle <roger@eyesopen.com>
17232
17233 PR optimization/8423
17234 * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
17235 its argument is constant, or 0 if !flag_gcse.
17236 * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
17237 if it's argument is constant.
17238 * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
17239 (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
17240 (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
17241 * builtins.c (purge_builtin_constant_p): New function to force
17242 instantiation of any remaining CONSTANT_P_RTX nodes.
17243 * rtl.h (purge_builtin_constant_p): Prototype here.
17244 * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
17245 pass after GCSE and before loop.
17246 (flag_gcse): No longer static.
17247 * flags.h (flag_gcse): Prototype here.
17248
bab0b43b
UW
172492003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
17250
17251 * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
17252 introduced by last change.
17253
7e657a61
AS
172542003-01-22 Andreas Schwab <schwab@suse.de>
17255
17256 * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
17257
75a3503b
KH
172582003-01-22 Kazu Hirata <kazu@cs.umass.edu>
17259
17260 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
17261 request a scratch reg on H8S when the shift count is 8.
17262
4888ec5d
UW
172632003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
17264
17265 * config/s390/s390-protos.h (preferred_la_operand_p):
17266 Remove second parameter.
17267 * config/s390/s390.c (preferred_la_operand_p): Likewise.
17268 * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
17269 (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
17270 * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
17271 Add peepholes to transform ADD to LOAD ADDRESS.
17272
6b990f6b
RE
172732003-01-22 Richard Earnshaw <rearnsha@arm.com>
17274
17275 * arm.c (arm_address_register_rtx_p): New function.
17276 (arm_legitimate_address_p): New function.
17277 (arm_legitimate_index_p): New function.
17278 (legitimize_pic_address): Use arm_legitimate_index_p.
17279 * arm-protos.h (arm_legtimate_address_p): Add prototype.
17280 * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
17281 (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
17282
f0bf1270
HP
172832003-01-22 Hartmut Penner <hpenner@de.ibm.com>
17284
17285 * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
17286 * config/s390/2064.md (define_bypass): Correct 'Load' and
17287 'Load-address' bypass values.
21ff35fb 17288
fcb6a0f5
AS
172892003-01-22 Andreas Schwab <schwab@suse.de>
17290
17291 * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
17292
c24b8026
ZW
172932003-01-21 Zack Weinberg <zack@codesourcery.com>
17294
17295 * genautomata.c (output_internal_insn_latency_func,
17296 output_print_reservation_func): Short circuit when there is no
17297 automaton to generate code for.
17298
38afe605
KG
172992003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17300
17301 * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
17302 (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
17303
d24652ee
GK
173042003-01-21 Geoffrey Keating <geoffk@apple.com>
17305
17306 * config/rs6000/rs6000.md: Remove warning.
17307 (builtin_setjmp_receiver): Likewise.
17308 * config/darwin.c (update_stubs): Slightly improve terrible hack
17309 with identifiers. Add comment pointing out problems with it.
17310 (update_non_lazy_ptrs): Likewise.
17311
1c99d804
RH
173122003-01-21 Richard Henderson <rth@redhat.com>
17313
17314 * dwarf2out.c (lookup_filename): Fix printf format warning.
17315 * system.h (fread_unlocked, fwrite_unlocked): Undef.
17316
17317 * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
17318 (fixincl.o-warn, gnu-regex.o-warn): New.
17319 * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
17320 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
17321 * fixinc/fixincl.c (process): Fix printf format warning.
17322
f0b886ab
UW
173232003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
17324
17325 * dwarf2out (output_file_names): Don't crash if called
17326 with empty file_table.
17327
490c57bb
ZW
173282003-01-21 Zack Weinberg <zack@codesourcery.com>
17329
17330 * genautomata.c (output_internal_insn_latency_func): Add
17331 missing break statement to generated code.
17332
100e3acb
RS
173332003-01-21 Roger Sayle <roger@eyesopen.com>
17334
17335 * stmt.c (same_case_target_p): New function to determine whether
17336 two case labels branch to the same target. Split out from...
17337 (group_case_nodes): ... here. Use same_case_target_p instead.
17338 (strip_default_case_nodes): Remove explicit case nodes
17339 that branch to the default destination.
17340 (expand_end_case_type): Call strip_default_case_nodes after
17341 group_case_nodes, to simplify the case-list before we count it.
17342 Only generate table_label RTX when actually needed. Try to share
17343 thiscase->exit_label and thiscase->data.case_stmt.default_label
17344 when a switch has no explicit default case. Simplify test for
17345 constant index.
17346
e8e8c1e5
KH
173472003-01-21 Kazu Hirata <kazu@cs.umass.edu>
17348
17349 * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
17350 \t.
17351 (*negsf2_h8300hs): Likewise.
17352 (*addsi3_lshiftrt_16_zexthi): Likewise.
17353 (*iorhi3_lshiftrt_8): Likewise.
17354
044b4de3
UW
173552003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
17356
17357 * dwarf2out.c (fde_table_in_use): Mark GTY.
17358 (dwarf2out_cfi_label_num): New variable, marked GTY.
17359 (dwarf2out_cfi_label): Use it instead of static label_num.
17360 * emit-rtl.c (label_num): Mark GTY.
17361
cfedf91b
KH
173622003-01-21 Kazu Hirata <kazu@cs.umass.edu>
17363
17364 * config/h8300/h8300.c (output_plussi): Support H8/300.
17365 (compute_plussi_length): Likewise.
17366 (compute_plussi_cc): Likewise.
17367 * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
17368 output assembly instructions.
17369
dd859b8a
KG
173702003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17371
1f5b3282
KG
17372 * calls.c (fix_unsafe_tree): Prototype.
17373
dd859b8a
KG
17374 * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
17375 (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
17376 insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
17377 c-parse.o-warn): Add -Wno-error.
17378 (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
17379
17380 * configure.in (--enable-werror): Add new flag.
17381 * doc/install.texi (--enable-werror): Document.
17382 * configure: Regenerate.
17383
17384 * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
17385
4f9365e2
AS
173862003-01-21 Andreas Schwab <schwab@suse.de>
17387
17388 * genautomata.c (output_internal_insn_latency_func): Fix missing
17389 close paren in output.
17390
a543eb5e
ZW
173912003-01-21 Zack Weinberg <zack@codesourcery.com>
17392
17393 * genautomata.c: Space savings in generated code:
17394 (output_dfa_insn_code_func): Split out the table-enlargement
17395 path to an out-of-line static function, dfa_insn_code_enlarge.
17396 (output_internal_insn_latency_func): Use a lookup table for the
17397 default latencies.
17398 (output_print_reservation_func): Use a lookup table for the
17399 strings.
17400
292e35a3
CE
174012003-01-21 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
17402
17403 PR opt/7507
17404 * calls.c (fix_unsafe_tree): Split out from ...
17405 (expand_call): ... here. Use it on the function address too.
17406
d8d0f5af
RH
174072003-01-20 Richard Henderson <rth@redhat.com>
17408
17409 * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
17410
5b50aa9d
RH
174112003-01-20 Richard Henderson <rth@redhat.com>
17412
515e1c9f 17413 PR opt/7154
5b50aa9d
RH
17414 * stmt.c (expand_asm_operands): Validize memory operands.
17415
7a174a15
RH
174162003-01-20 Richard Henderson <rth@redhat.com>
17417
17418 PR opt/8848
17419 * ifcvt.c (noce_process_if_block): Correct arguments to
17420 modified_between_p for no-else-block case.
17421
9ac7ebba
KH
174222003-01-20 Kazu Hirata <kazu@cs.umass.edu>
17423
17424 * config/h8300/h8300.c (const_costs): Remove a warning.
17425 (output_plussi): Likewise.
17426 (compute_plussi_length): Likewise.
17427 (compute_plussi_cc): Likewise.
17428
309c52b5
KH
174292003-01-20 Kazu Hirata <kazu@cs.umass.edu>
17430
17431 * config/h8300/h8300.md (addsi_h8300): Remove the last
17432 alternative.
17433
b30686ec
KH
174342003-01-20 Kazu Hirata <kazu@cs.umass.edu>
17435
17436 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
17437
87608693
KG
174382003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17439
17440 * system.h (__NO_STRING_INLINES): Define.
17441
475c8250
JDA
174422003-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17443
17444 * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
17445 is not a scalar int mode.
17446
dbaff908
RS
174472003-01-20 Roger Sayle <roger@eyesopen.com>
17448
17449 * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
17450 insn's notes following a substitution inside a libcall.
17451
da8a6064
ZW
174522003-01-20 Zack Weinberg <zack@codesourcery.com>
17453
17454 * configure.in: Check for system-provided 'uchar' type.
a12b5bd9 17455 * configure, config.in: Regenerate.
da8a6064
ZW
17456 * cpphash.h: Only typedef 'uchar' if the system doesn't.
17457
a4b1b92a
RH
174582003-01-20 Richard Henderson <rth@redhat.com>
17459
17460 * expr.h (MUST_PASS_IN_STACK): Move implementation...
17461 * calls.c (default_must_pass_in_stack): ... here.
17462
d530b07f
VM
174632003-01-20 Vladimir Makarov <vmakarov@redhat.com>
17464
da8a6064
ZW
17465 * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
17466
d530b07f
VM
17467 * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
17468
17469 * genattr.c (main): Output default definition of AUTOMATON_ALTS.
17470 Wrap up definition of `insn_alts'.
17471
17472 * genattrtab.c (main): Wrap up `insn_alts'.
17473
351df804
KG
174742003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17475
17476 * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
17477 prototyping.
17478 * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
da8a6064 17479
351df804
KG
17480 * config.in, configure: Regenerate.
17481
e3289412
NC
174822003-01-20 Nick Clifton <nickc@redhat.com>
17483
17484 * config/arm/arm.md (sibcall_epilogue): Add an
17485 UNSPEC_PROLOGUE_USE to prevent the link register from being
17486 considered dead.
17487
62c9aa5f 174882003-01-20 Jan Hubicka <jh@suse.cz>
5794139a
JH
17489
17490 * i386.md (SSE cmov splitter): Handle memory operand in operand 5.
17491
0a18ddf9
AS
174922003-01-20 Andreas Schwab <schwab@suse.de>
17493
17494 * system.h: Don't declare strsignal if the decl test hasn't been
17495 run yet.
17496
d99c740f
KH
174972003-01-20 Kazu Hirata <kazu@cs.umass.edu>
17498
17499 * config/h8300/h8300.c (notice_update_cc): Don't assume that
17500 recog_data.operands[0] is always associated with cc0.
17501
825c5408
DE
175022003-01-19 David Edelsohn <edelsohn@gnu.org>
17503
17504 * collect2.c (ldgetname): Expand declaration to prototype.
17505 * read-rtl.c (atoll): Add prototype.
da3e0142 17506 * system.h (strsignal): Also declare if no declaration found.
825c5408 17507
3bd6d4c4
AO
175082003-01-19 Alexandre Oliva <aoliva@redhat.com>
17509
17510 * config.gcc (mips64*-*-linux*): Added.
17511 * config/mips/linux64.h, config/mips/t-linux64: New file.
17512 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
17513 * config/mips/mips.c (override_options): Use it.
17514 * config/mips/mips.h (TARGET_SWITCHES): Added...
17515 (SUBTARGET_TARGET_SWITCHES): New, empty by default.
17516 * Makefile.in (SPECS): New.
17517 (STAGESTUFF, specs, mostlyclean, install-common): Use it.
17518 * gcc.c (process_command): Move self-spec processing past spec
17519 file loading.
17520 * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
17521 * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
17522 CRTSTUFF_T_CFLAGS.
17523 (SPECS): Document.
17524 * doc/invoke.texi (-mabi-fake-default): Document.
17525
e9f13564
SC
175262003-01-19 Stephane Carrez <stcarrez@nerim.fr>
17527
17528 * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
17529 z_reg, z_reg_qi): Declare static and GTY().
17530 (da_reg): Remove.
17531 (create_regs_rtx): Don't create da_reg.
17532 ("gt-m68hc11.h"): Include for GTY roots.
17533 * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
17534 and GTY() here.
17535 (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
17536 (m68hc11_soft_tmp_reg): Likewise.
17537 * config/m68hc11/m68hc11-protos.h: Remove above declarations.
17538
32dd366d
KH
175392003-01-18 Kazu Hirata <kazu@cs.umass.edu>
17540
17541 * basic-block.h: Fix comment formatting.
17542 * calls.c: Likewise.
17543 * combine.c: Likewise.
17544 * convert.c: Likewise.
17545 * gcov.c: Likewise.
17546 * haifa-sched.c: Likewise.
17547 * libgcc2.c: Likewise.
17548 * loop.c: Likewise.
17549 * profile.c: Likewise.
17550 * system.h: Likewise.
17551
bc3cb712
RS
175522003-01-18 Roger Sayle <roger@eyesopen.com>
17553
17554 * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
17555
25e42e9d
KG
175562003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17557
17558 * ra-build.c (undef_to_size_word): Avoid `switch' warning.
17559
6f9c81f5
DJ
175602003-01-17 Dale Johannesen <dalej@apple.com>
17561
da8a6064 17562 * config/rs6000/rs6000.md (*floatsidf2_internal): Add earlyclobbers.
6f9c81f5
DJ
17563 (*floatunssidf2_internal): Ditto.
17564
95bd1dd7
KH
175652003-01-17 Kazu Hirata <kazu@cs.umass.edu>
17566
17567 * alias.c: Fix comment typos.
17568 * basic-block.h: Likewise.
17569 * c-common.c: Likewise.
17570 * c-common.h: Likewise.
17571 * c-decl.c: Likewise.
17572 * c-opts.c: Likewise.
17573 * c-pragma.c: Likewise.
17574 * c-pretty-print.h: Likewise.
17575 * cfg.c: Likewise.
17576 * cfganal.c: Likewise.
17577 * cfgbuild.c: Likewise.
17578 * cfgcleanup.c: Likewise.
17579 * cfglayout.c: Likewise.
17580 * cfgrtl.c: Likewise.
17581 * convert.c: Likewise.
17582 * cpphash.h: Likewise.
17583 * cpplex.c: Likewise.
17584 * cpplib.h: Likewise.
17585 * df.h: Likewise.
17586 * diagnostic.c: Likewise.
17587 * diagnostic.h: Likewise.
17588 * dwarf2.h: Likewise.
17589
d5840e09
SS
175902003-01-17 Stan Shebs <shebs@apple.com>
17591
17592 * config/darwin-protos.h: Forward-declare struct cpp_reader.
17593
e607534b
DR
175942003-01-17 Douglas B Rupp <rupp@gnat.com>
17595
17596 * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
17597 mistake in last checkin.
17598
fbe5a4a6
KH
175992003-01-17 Kazu Hirata <kazu@cs.umass.edu>
17600
17601 * et-forest.c: Fix comment typos.
17602 * et-forest.h: Likewise.
17603 * except.c: Likewise.
17604 * expr.c: Likewise.
17605 * flags.h: Likewise.
17606 * flow.c: Likewise.
17607 * gcc.c: Likewise.
17608 * gcse.c: Likewise.
17609 * genattrtab.c: Likewise.
17610 * genautomata.c: Likewise.
17611 * gengtype.c: Likewise.
17612 * genrecog.c: Likewise.
17613 * global.c: Likewise.
17614 * gthr-rtems.h: Likewise.
17615
095f9093
KG
176162003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17617
17618 * i386.c (x86_function_profiler): Fix format specifier.
17619
084087e1
RH
176202003-01-17 Richard Henderson <rth@redhat.com>
17621
17622 * gengtype.c (walk_type): Allow paramN_is.
17623
4a13592e
NC
176242003-01-17 Nick Clifton <nickc@redhat.com>
17625
17626 * config/i960/t-960bare (i960-c.o): Add missing newline escape.
17627
01193617
RH
176282003-01-16 Richard Henderson <rth@redhat.com>
17629
17630 * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
17631
f030826a
RH
176322003-01-16 Richard Henderson <rth@redhat.com>
17633
17634 * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
17635 (alpha_next_sequence_number): Likewise.
17636 (alpha_this_literal_sequence_number): Likewise.
17637 (alpha_this_gpdisp_sequence_number): Likewise.
17638 (struct alpha_funcs, alpha_funcs_num): Likewise.
17639 (struct alpha_links): Fix branch merge error.
17640 (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
17641
e1551d47
AO
176422003-01-17 Alexandre Oliva <aoliva@redhat.com>
17643
17644 * config/mips/mips.h: Don't use #elif. Reported by Kaveh
17645 R. Ghazi.
17646
3d042e77
KH
176472003-01-16 Kazu Hirata <kazu@cs.umass.edu>
17648
17649 * ifcvt.c: Fix comment typos.
17650 * lcm.c: Likewise.
17651 * libgcc2.c: Likewise.
17652 * local-alloc.c: Likewise.
17653 * loop.c: Likewise.
17654 * predict.c: Likewise.
17655 * ra-build.c: Likewise.
17656 * ra.c: Likewise.
17657 * ra-colorize.c: Likewise.
17658 * ra.h: Likewise.
17659 * ra-rewrite.c: Likewise.
17660 * regmove.c: Likewise.
17661 * reload.h: Likewise.
17662 * rtlanal.c: Likewise.
17663 * toplev.c: Likewise.
17664 * tree.h: Likewise.
17665 * unwind-dw2-fde-glibc.c: Likewise.
17666 * vmsdbgout.c: Likewise.
17667
c4274b22
RH
176682003-01-16 Richard Henderson <rth@redhat.com>
17669
17670 * dwarf2out.c (struct file_table): Remove.
17671 (FILE_TABLE_INCREMENT): Remove.
17672 (file_table): Make a varray; mark for GC. Update all users.
17673 (file_table_last_lookup_index): Extract from struct file_table.
17674 (output_file_names): Fix unsigned compare warnings.
17675 (add_name_attribute): Remove inline marker.
17676 (add_comp_dir_attribute): Split out from gen_compile_unit_die.
17677 (lookup_filename): Don't manage size of file_table.
17678 (init_file_table): Allocate file_table with GC.
17679 (dwarf2out_init): Don't record main_input_filename here.
17680 (dwarf2out_finish): Do it here instead.
17681
19162d0e
BK
176822003-01-16 Bruce Korb <bkorb@gnu.org>
17683
17684 * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
17685
f1e2239f
KK
176862003-01-16 Kaz Kojima <kkojima@gcc.gnu.org>
17687
da8a6064
ZW
17688 * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
17689 instead of rotldi3_mextr.
f1e2239f 17690
cda1f765
VM
176912003-01-16 Vladimir Makarov <vmakarov@redhat.com>
17692
17693 * haifa-sched.c (move_insn): Restore moving all schedule group.
17694 (set_priorities): Restore taking SCHED_GROUP_P into account.
17695
17696 * sched-deps.c (add_dependence): Restore processing the last group
17697 insn.
17698 (remove_dependence, group_leader): Restore the functions.
17699 (set_sched_group_p): Restore adding dependencies from previous insn
17700 in the group.
17701 (compute_forward_dependences): Restore usage of group_leader.
17702
17703 * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
17704 account.
17705
17706 * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
17707 account.
17708 (can_schedule_ready_p): Ditto.
17709 (add_branch_dependences): Restore skipping over the group insns.
da8a6064 17710
200097cc
SC
177112003-01-16 Stephane Carrez <stcarrez@nerim.fr>
17712
17713 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
17714 68HC12 pre/post inc/dec side effects.
17715
f411c739
SC
177162003-01-16 Stephane Carrez <stcarrez@nerim.fr>
17717
17718 * config/m68hc11/m68hc11.h (MASK_M6812): Define.
17719
62c9aa5f 177202003-01-16 J"orn Rennecke <amylaar@onetel.net.uk>
08c43ea7
R
17721
17722 * sh.md (mshflo_w_x): Fix description of operation.
17723
07488f32
ZW
177242003-01-16 Zack Weinberg <zack@codesourcery.com>
17725
17726 * config/rs6000/rs6000.h: Mention Altivec registers in
17727 commentary. Fix typo.
17728
27dc0551
DE
177292003-01-16 David Edelsohn <edelsohn@gnu.org>
17730
17731 * config/rs6000/rs6000.md (movti_string): Remove clobber.
17732 * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
17733 generate PARALLEL with clobber for TARGET_POWER.
17734
0334ef47
KG
177352003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17736
17737 * ra-colorize.c (colorize_one_web): Initialize variable.
17738 * regmove.c (fixup_match_1): Likewise.
17739 * reload1.c (reload_as_needed): Likewise.
17740 * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
17741
16f2b86a
ZD
177422003-01-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
17743
17744 * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
17745
fc555370
KG
177462003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17747
93d8c755
KG
17748 * dbxout.c (lastfile, cwd): Fix `unused' warning.
17749 * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
17750 dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
17751 is_main_source, file_table, decl_die_table_in_use,
17752 abbrev_die_table_in_use, line_info_table_in_use,
17753 separate_line_info_table_in_use, pubname_table_in_use,
17754 arange_table_in_use, ranges_table_in_use,
17755 current_function_has_inlines): Likewise.
17756 * flow.c (life_analysis): Likewise.
17757 * genemit.c (gen_insn): Likewise.
17758 * protoize.c (cplus_suffix): Likewise.
17759
0c2ca901
KG
17760 * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
17761 * arm.h (ROUND_UP_WORD): Likewise.
17762
fc555370
KG
17763 * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
17764 warning.
17765 * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
17766 init_emit_once): Likewise.
17767 * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
17768 Likewise.
17769 * function.c (assign_stack_temp_for_type): Likewise.
17770 * loop.c (loop_invariant_p): Likewise.
17771 * recog.c (push_operand): Likewise.
17772 * regclass.c (init_reg_sets_1): Likewise.
17773 * reload.c (update_auto_inc_notes): Likewise.
17774 * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
17775 * stmt.c (expand_asm_operands): Likewise.
17776 * stor-layout.c (start_record_layout): Likewise.
17777
64510a4f
HB
177782003-01-16 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
17779
07488f32 17780 * config/c4x/c4x.md (epilogue): Correct last patch.
64510a4f 17781
77480b0b
RH
177822003-01-15 Richard Henderson <rth@redhat.com>
17783
17784 * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
17785 also check that GP is being used.
17786 (alpha_find_lo_sum_using_gp): New.
17787 (alpha_does_function_need_gp): Use get_attr_usegp.
17788 * config/alpha/alpha-protos.h: Update.
17789 * config/alpha/alpha.md (attr usegp): New. Annotate patterns
17790 as needed.
17791
a0134312
RS
177922003-01-15 Roger Sayle <roger@eyesopen.com>
17793
17794 * gcse.c (one_cprop_pass): Change function arguments to take both
17795 cprop_jumps and bypass_jumps flags instead of just alter_jumps.
17796 (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
17797 (bypass_jumps): New function to perform separate jump bypassing pass.
17798 * rtl.h (bypass_jumps): Add function prototype.
17799 * timevar.def (TV_BYPASS): New timing variable.
17800 * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
17801 (dump_file): New entry for the bypass RTL dump file.
17802 (rest_of_compilation): Insert new jump bypassing optimization
17803 pass after loop.
17804 * doc/passes.texi: Document new pass.
17805
4af6a063
JDA
178062003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
17807
17808 * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
17809 ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
17810 * pa.h (TARGET_SOM_SDEF): Define.
17811 * pa-hpux11.h (TARGET_SOM_SDEF): Define.
17812
51e13b71
SC
178132003-01-16 Stephane Carrez <stcarrez@nerim.fr>
17814
07488f32 17815 * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
51e13b71
SC
17816 allocate 4-bytes of locals on 68HC11.
17817 (expand_epilogue): Likewise.
17818 (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
17819
f077f169
SC
178202003-01-15 Stephane Carrez <stcarrez@nerim.fr>
17821
17822 * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
17823 and -mshort-double to the assembler to specify the ABI.
17824 (LINK_SPEC): Likewise.
17825 (CPP_SPEC): Pass HCS12 specific define.
17826 (MASK_M68S12): New define.
17827 (TARGET_M68S12): Likewise.
17828 (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
17829 (TARGET_VERSION): Update.
17830 * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
17831 (LINK_SPEC): Update.
17832 (ASM_SPEC): Update.
17833 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
17834 * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
17835
c0f684dc
SC
178362003-01-15 Stephane Carrez <stcarrez@nerim.fr>
17837
17838 * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
17839 the return code.
17840
6982ae15
JZ
178412003-01-15 Josef Zlomek <zlomekj@suse.cz>
17842
17843 * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
17844 flag before setting it.
17845
8cadeff1
RS
178462003-01-15 Roger Sayle <roger@eyesopen.com>
17847
17848 * c-semantics.c (genrtl_while_stmt): Improve initial RTL generation
17849 when loop condition is known true, i.e. "while (1) { ... }".
17850 (genrtl_for_stmt): Similarly for "for" statements.
17851
03cd8aba
RS
178522003-01-15 Roger Sayle <roger@eyesopen.com>
17853
17854 * real.c (real_sqrt): Return a bool result indicating whether
17855 a floating point exception or trap should be raised.
17856 * real.h (real_sqrt): Update function prototype.
17857 * builtins.c (fold_builtin): Only fold non-trapping square
17858 roots unless we're ignoring errno and trapping math.
17859
4da78214
JDA
178602003-01-15 John David Anglin <dave.anglin@nrc.gc.ca>
17861
17862 * expr.h (emit_conditional_add): Add PARAMS to declaration.
17863 * gengtype-lex.l (malloc, realloc): Move defines after include of
17864 system.h. Remove duplicate include of system.h.
17865
9ee0a442
RS
178662003-01-15 Roger Sayle <roger@eyesopen.com>
17867
17868 PR middle-end/9009
17869 * optabs.c (expand_unop): When manipulating the FP sign bit
17870 using integer operations, account for targets with different
17871 integer and FP word orders.
17872 (expand_abs): Likewise.
17873
e3981aab
DE
178742003-01-15 David Edelsohn <edelsohn@gnu.org>
17875
17876 * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
17877 file extension in section name.
17878
89c4b810
RE
178792003-01-15 Richard Earnshaw <rearnsha@arm.com>
17880
17881 * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
17882 constant offset.
17883
3cd45774
RE
178842003-01-15 Richard Earnshaw <rearnsha@arm.com>
17885
17886 * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
17887 (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
17888 (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
17889 (ARM_PRINT_OPERAND_ADDRESS): Likewise.
17890
62c9aa5f 178912003-01-15 Jan Hubicka <jh@suse.cz>
b1a6f8db
JH
17892
17893 PR f/9258
07488f32 17894 * global.c (struct allocno): Add no_stack_reg.
b1a6f8db
JH
17895 (global_conflicts): Set no_stack_reg.
17896 (find_reg): Use it.
17897
17898 * convert.c (convert_to_real): Fold - and abs only when profitable.
17899 * fold-const.c (fold): Fold truncates in - and abs.
17900
d18c7e59
JZ
179012003-01-15 Josef Zlomek <zlomekj@suse.cz>
17902
17903 Segher Boessenkool <segher@koffie.nl>
fbe3b30b
SB
17904
17905 * predict.c (real_inv_br_prob_base): New variable.
17906 (propagate_freq): Use multiply by reciprocal instead of
17907 division. Don't divide by 1.0 at all.
17908 (estimate_bb_frequencies): Similar.
17909
027faee7
AO
179102003-01-15 Alexandre Oliva <aoliva@redhat.com>
17911
17912 * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
17913 * configure: Rebuilt.
17914
077dab3b 179152003-01-15 Hartmut Penner <hpenner@de.ibm.com>
3c0121e4 17916
077dab3b
HP
17917 * config/s390/s390.c (s390_safe_attr_type): New function.
17918 (s390_use_dfa_pipeline_interface): New function, return true for z900.
17919 (s390_issue_rate): New function.
17920 (s390_agen_dep_p): New function.
17921 (addr_generation_dependency_p): Use 's390_safe_attr_type'.
17922 (s390_adjust_cost): Return 'cost' if new DFA is used.
17923 (s390_adjust_priority): Delete function.
17924 * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
17925 * config/s390/s390.md (atype attribute): Attribute 'atype' default
17926 determined by 'op_type'.
17927 (type attribute): Added more type attributes.
17928 * config/s390/2064.md: New DFA description for z900 pipeline.
07488f32 17929
077dab3b 179302003-01-15 Alexandre Oliva <aoliva@redhat.com>
2b28d405 17931
acfa9d9f
AO
17932 * config/i386/i386.c (ix86_expand_vector_move): Validize constant
17933 forced to memory. Fixes PR bootstrap/9036.
17934
3c0121e4
AO
17935 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
17936 to set $gp before the call.
17937
553eb139
RH
179382003-01-14 Richard Henderson <rth@redhat.com>
17939
17940 * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
17941 for force_const_mem.
17942
dd1b7476
KG
179432003-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17944
17945 * genattr.c (main): Rearrange output to avoid prototype warning.
17946 * genautomata.c (transform_3): Fix ambiguous-else warning.
17947 * local-alloc.c (requires_inout): Add parentheses around
17948 assignment used as truth-value.
17949 * timevar.c: Move system includes above local includes. Include
17950 toplev.h
17951 * Makefile.in (timevar.o): Depend on toplev.h.
17952
6028880a
DC
179532003-01-14 Denis Chertykov <denisc@overta.ru>
17954
17955 * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
17956 (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
17957
17958 * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
07488f32 17959 attributes.
6028880a
DC
17960 (TARGET_ATTRIBUTE_TABLE): New macro.
17961 (valid_machine_type_attribute): Remove.
17962 (valid_machine_decl_attribute): Remove.
17963 (ip2k_handle_progmem_attribute): New function.
17964 (ip2k_handle_fndecl_attribute): New function.
17965
4a2953e4 179662003-01-10 Andrew Haley <aph@redhat.com>
a686ea5b
AH
17967
17968 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
17969 registers to be in correct order. Add rip.
17970
4d77fda2
KH
179712003-01-14 Kazu Hirata <kazu@cs.umass.edu>
17972
17973 * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
17974 (*iorsi3_and_lshiftrt_9_sb): Likewise.
17975
62c9aa5f 179762003-01-14 Jan Hubicka <jh@suse.cz>
77f9af81
JH
17977
17978 * convert.c (strip_float_extensions): Look for narrowest type handling
17979 FP constants.
17980
17981 * fold-const.c (fold): Fold (double)float1 CMP (double)float2 into
17982 float1 CMP float2.
17983 * convert.c (strip_float_extensions): Make global.
17984 * tree.h (strip_float_extensions): Declare.
17985
fd371a93
GDR
179862003-01-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
17987
17988 * timevar.def: define TV_NAME_LOOKUP.
17989 * timevar.c (timevar_pop): Be verbose when aborting.
17990
dcd1c2b8
AS
179912003-01-13 Andreas Schwab <schwab@suse.de>
17992
17993 * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
17994 $(parsedir), just move the temporary file at the end.
17995 ($(parsedir)/gengtype-yacc.c): Likewise.
17996
eb4b5f93
AO
179972003-01-13 Alexandre Oliva <aoliva@redhat.com>
17998
17999 * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
18000 ${ac_tool_prefix} to ADAC or CC. Protect them from word
18001 splitting.
18002 * configure: Rebuilt.
18003
f7835768
KG
180042003-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18005
18006 * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
18007 internal_mcount): Don't use PARAMS.
18008 (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
18009 ISO C style.
18010 (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
18011
38a3dbbb
AS
180122003-01-13 Andreas Schwab <schwab@suse.de>
18013
18014 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
18015 directive.
18016
98dc53e3
KH
180172003-01-13 Kazu Hirata <kazu@cs.umass.edu>
18018
18019 * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
18020 (*iorsi3_and_lshiftrt_n_sb): Likewise.
18021
e8f2b18d
MM
180222003-01-12 Mark Mitchell <mark@codesourcery.com>
18023
18024 PR c++/9264
18025 * c-lex.c (c_lex): Set the token value to error_mark_node for
18026 invalid numeric constants.
18027
70f8b89f
KG
180282003-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18029
18030 * c-pch.c (asm_file_startpos): Change to `long'.
18031 (pch_init): Use ftell, not ftello.
18032 (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
18033 Use `long' instead of `off_t'.
18034 (c_common_read_pch): Likewise.
18035 * ggc-common.c (gt_pch_save): Use long/ftell instead of
18036 off_t/ftello.
18037
8e37cba8
AM
180382003-01-12 Alan Modra <amodra@bigpond.net.au>
18039
18040 * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
18041
04f08c8e
RE
180422003-01-11 Richard Earnshaw (rearnsha@arm.com)
18043
18044 * arm-protos.h (struct cpp_reader): Add declaration.
18045
62c9aa5f 180462003-01-11 Jan Hubicka <jh@suse.cz>
a5cf80f0
JH
18047
18048 PR target/9068
18049 * i386.c (output_fp_compare): Fix typo.
18050
bbfb86aa
DE
180512003-01-10 David Edelsohn <edelsohn@gnu.org>
18052
18053 * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
18054
223b87b6
GK
180552003-01-10 Geoffrey Keating <geoffk@apple.com>
18056
3859c32a
GK
18057 * Makefile.in (parsedir): New variable.
18058 (docobjdir): New variable.
07488f32 18059 (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
3859c32a
GK
18060 gengtype-lex.c, gengtype-yacc.c): Use parsedir.
18061 (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
18062 cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
07488f32 18063 gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
3859c32a
GK
18064 Use docobjdir.
18065 * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
18066 objc.maintainer-clean): Use parsedir.
18067
63af3bd1
GK
18068 * varasm.c (struct constant_descriptor_rtx): Remove unused
18069 `label' field.
18070
223b87b6
GK
18071 * toplev.c (documented_lang_options): Document -Winvalid-pch.
18072
fbadafbc
RH
180732003-01-10 Richard Henderson <rth@redhat.com>
18074
18075 * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
18076 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
18077
ab5ecb01
RH
180782003-01-10 Richard Henderson <rth@redhat.com>
18079
18080 * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
18081 not INTEGRAL_MODE_P when widening extensions.
18082
7f24e7c5
RH
180832003-01-10 Richard Henderson <rth@redhat.com>
18084
18085 * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
18086
6dd05d08
GK
180872003-01-10 Geoffrey Keating <geoffk@apple.com>
18088
19cc0dd4
GK
18089 * ggc-page.c (ggc_collect): Avoid overflow computing
18090 min_expand.
18091
6dd05d08
GK
18092 * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
18093 (RANLIB_TEST_FOR_TARGET): Delete. Don't pass down to sub-makes.
18094 Remove calls.
18095 * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
18096
62c9aa5f 180972003-01-10 Jan Hubicka <jh@suse.cz>
5f1355ef
JH
18098
18099 * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
18100 with weird operands.
18101
0cdca92b 181022003-01-10 Dale Johannesen <dalej@apple.com>
6dd05d08
GK
18103
18104 * calls.c (load_register_parameters): Add is_sibcall, sibcall_failure
18105 parameters. Call check_sibcall_argument_overlap if indicated.
18106 (check_sibcall_argument_overlap): Add mark_stored_args_map
18107 parameter. Don't mark parameter area as clobbered if not set.
18108 (expand_call): Adjust calls to above.
18109
181102003-01-10 Kelley Cook <kelleycook@comcast.net>
6cd656d0
KC
18111
18112 * configure.in (linker read-only and read-write section mixing):
18113 Squelch some assembler warnings.
18114 * configure: Likewise.
18115
be2c2a4b
HP
181162003-01-10 Hartmut Penner <hpenner@de.ibm.com>
18117
21ff35fb 18118 * doc/invoke.texi: Document -mtune, delete -mcpu
be2c2a4b
HP
18119 option for S/390 and zSeries.
18120 * config/s390/s390.c (s390_tune_string) New variable.
18121 (s390_cpu_string) Delete variable.
18122 (override_options): Use s390_tune_string instead of
18123 s390_cpu_string.
18124 * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
18125
1f450138
KH
181262003-01-10 Kazu Hirata <kazu@cs.umass.edu>
18127
18128 * config/h8300/h8300.md (*iorsi3_ashift_31): New.
18129
d330ce15
JZ
181302003-01-10 Josef Zlomek <zlomekj@suse.cz>
18131
18132 * jump.c (next_nonnote_insn_in_loop): New function.
18133 (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
18134 next_nonnote_insn.
18135 (duplicate_loop_exit_test). Likewise.
18136
17211ab5
GK
181372003-01-09 Geoffrey Keating <geoffk@apple.com>
18138
18139 Merge from pch-branch:
18140
18141 2003-01-06 Geoffrey Keating <geoffk@apple.com>
18142
18143 * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
18144 load.
18145
18146 2002-12-24 Geoffrey Keating <geoffk@apple.com>
18147
18148 * cpplib.c (count_registered_pragmas): New function.
18149 (save_registered_pragmas): New function.
18150 (_cpp_save_pragma_names): New function.
18151 (restore_registered_pragmas): New function.
18152 (_cpp_restore_pragma_names): New function.
18153 * cpphash.h (_cpp_save_pragma_names): Prototype.
18154 (_cpp_restore_pragma_names): Likewise.
18155 * cpppch.c (struct save_macro_item): Split from save_macro_data.
18156 (struct save_macro_data): New field 'saved_pragmas'.
18157 (save_macros): Update for changes to struct save_macro_data.
18158 (cpp_prepare_state): Call _cpp_save_pragma_names, update
18159 for changes to struct save_macro_data.
18160 (cpp_read_state): Call _cpp_restore_pragma_names, update
18161 for changes to struct save_macro_data.
18162
18163 * cpppch.c (cpp_read_state): Restore the hashtable references
18164 in the cpp_reader.
07488f32 18165
17211ab5
GK
18166 * tree.h (built_in_decls): Mark for PCH.
18167
18168 * dbxout.c (lastfile): Don't mark for PCH.
18169
18170 * ggc.h: Document PCH calls into memory managers.
18171
18172 2002-12-18 Geoffrey Keating <geoffk@apple.com>
18173
18174 * doc/invoke.texi (Precompiled Headers): Document the
18175 directory form of PCH.
18176 * cppfiles.c (validate_pch): New function.
18177 (open_file_pch): Search suitably-named directories for PCH files.
18178
18179 2002-12-14 Geoffrey Keating <geoffk@apple.com>
18180
18181 * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
18182 reorder options.
18183 (Type Information): Mention that the information is also
18184 used to implement PCH.
18185 * doc/passes.texi (Passes): Improve documentation of
18186 language-specific files.
18187
18188 2002-12-11 Geoffrey Keating <geoffk@apple.com>
18189
18190 * gengtype.c (struct write_types_data): Add reorder_note_routine field.
18191 (struct walk_type_data): Add reorder_fn field.
18192 (walk_type): Process 'reorder' option.
18193 (write_types_process_field): Reorder parameters to gt_pch_note_object,
18194 call reorder_note_routine.
18195 (write_func_for_structure): Reorder parameters to gt_pch_note_object.
18196 (ggc_wtd): Update for change to struct write_types_data.
18197 (pch_wtd): Likewise.
18198 * ggc.h (gt_pch_note_object): Reorder parameters.
18199 (gt_handle_reorder): New definition.
18200 (gt_pch_note_reorder): New prototype.
18201 * ggc-common.c (struct ptr_data): Add reorder_fn.
18202 (gt_pch_note_object): Reorder parameters.
18203 (gt_pch_note_reorder): New.
18204 (gt_pch_save): Call reorder_fn.
18205 * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
18206
18207 * dbxout.c (cwd): Don't mark for PCH.
18208
18209 2002-12-09 Geoffrey Keating <geoffk@apple.com>
18210
18211 * gengtype.c (finish_root_table): Fix some warnings.
18212 (write_root): Handle TYPE_STRING.
18213 * ggc.h (gt_ggc_m_S): Add prototype.
18214 * stringpool.c (gt_ggc_m_S): New function.
18215
18216 2002-11-30 Geoffrey Keating <geoffk@apple.com>
18217
18218 * dwarf2out.c (dw2_string_counter): New.
18219 (AT_string_form): Use it.
18220 (same_dw_val_p): Update for removal of hashtable.h hash tables.
18221
18222 2002-11-22 Geoffrey Keating <geoffk@apple.com>
18223
18224 * dbxout.c: Include gt-dbxout.h.
18225 (lastfile): Mark for PCH/GGC.
18226 (cwd): Likewise.
18227 (struct typeinfo): Likewise.
18228 (typevec): Likewise.
18229 (typevec_len): Likewise.
18230 (next_type_number): Likewise.
18231 (struct dbx_file): Likewise.
18232 (current_file): Likewise.
18233 (next_file_number): Likewise.
18234 (dbxout_init): Allocate typevec, struct dbx_file with GGC.
18235 (dbxout_start_source_file): Allocate struct dbx_file with GGC.
18236 (dbxout_end_source_file): Don't free struct dbx_file.
18237 (dbxout_type): Use GGC to allocate typevec.
18238 * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
18239 (GTFILES): Add dbxout.c.
18240 (gt-dbxout.h): New rule.
07488f32 18241
17211ab5
GK
18242 * Makefile.in (c-pch.o): Add debug.h as dependency.
18243 * c-pch.c: Include debug.h.
18244 (pch_init): Call start_source_file to keep nesting right.
18245 (c_common_read_pch): Add orig_name parameter. Call
18246 start_source_file debug hook. Call end_source_file debug hook.
18247 * c-common.h (c_common_read_pch): Update prototype.
18248 * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
18249 callback.
18250 * cppfiles.c (struct include_file): Add new field `header_name'.
18251 (find_or_create_entry): Default it to `name'.
18252 (open_file_pch): Set it to the original header file searched for.
18253 (stack_include_file): Don't stack an empty buffer, just handle
18254 PCH files immediately. Pass header_name field to read_pch callback.
18255
18256 2002-11-19 Geoffrey Keating <geoffk@apple.com>
18257
18258 * function.c (funcdef_no): Mark to be saved in a PCH.
18259
18260 2002-11-15 Geoffrey Keating <geoffk@apple.com>
18261
18262 * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
18263
18264 * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
18265
18266 2002-11-14 Geoffrey Keating <geoffk@apple.com>
18267
18268 * optabs.h (code_to_optab): Add GTY marker.
18269
18270 2002-11-13 Geoffrey Keating <geoffk@apple.com>
18271
18272 * Makefile.in (GTFILES): Add cpplib.h.
18273 * c-common.h (struct c_common_identifier): Don't skip 'node' field.
18274 * c-decl.c (build_compound_literal): Don't use var_labelno.
18275 * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
18276 * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
18277 * varasm.c (const_labelno): Use gengtype to mark.
18278 (var_labelno): Likewise.
18279 (in_section): Likewise.
18280 (in_named_name): Likewise.
18281 (struct in_named_entry): Likewise.
18282 (in_named_htab): Likewise.
18283 (set_named_section_flags): Use GGC to allocate struct in_named_entry.
18284 (init_varasm_once): Use GGC to allocate in_named_htab.
18285 * config/darwin.c (current_pic_label_num): Mark for PCH.
18286
18287 2002-11-11 Geoffrey Keating <geoffk@apple.com>
18288
18289 * ggc-simple.c (init_ggc_pch): New stub procedure.
18290 (ggc_pch_count_object): Likewise.
18291 (ggc_pch_total_size): Likewise.
18292 (ggc_pch_this_base): Likewise.
18293 (ggc_pch_alloc_object): Likewise.
18294 (ggc_pch_prepare_write): Likewise.
18295 (ggc_pch_write_object): Likewise
18296 (ggc_pch_finish): Likewise.
18297 (ggc_pch_read): Likewise.
18298
18299 2002-11-08 Geoffrey Keating <geoffk@apple.com>
18300
18301 * c-pch.c (c_common_write_pch): Write the macro definitions after
18302 the GCed data.
18303 (c_common_read_pch): Call cpp_prepare_state. Restore the macro
18304 definitions after the GCed data.
18305 * cpplib.c (save_macros): New.
18306 (reset_ht): New.
18307 (cpp_write_pch_deps): Split out of cpp_write_pch.
18308 (cpp_write_pch_state): Split out of cpp_write_pch.
18309 (cpp_write_pch): Delete.
18310 (struct save_macro_data): Delete.
18311 (cpp_prepare_state): New.
18312 (cpp_read_state): Erase and restore initial macro definitions.
18313 * cpplib.h (struct save_macro_data): Forward-declare.
18314 (cpp_write_pch_deps): Prototype.
18315 (cpp_write_pch_state): Prototype.
18316 (cpp_write_pch): Delete prototype.
18317 (cpp_prepare_state): Prototype.
18318 (cpp_read_state): Add fourth argument.
18319
18320 2002-11-04 Geoffrey Keating <geoffk@apple.com>
18321
18322 * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
18323 (write_array): Remove warning.
18324
18325 * gengtype.c (contains_scalar_p): New.
18326 (finish_root_table): Add the table to all languages, even if it's
18327 empty.
18328 (write_roots): Output gt_pch_scalar_rtab.
18329 * ggc-common.c (gt_pch_save): Write out scalars.
18330 (gt_pch_restore): Read scalars back.
18331
18332 * ggc-page.c (OBJECTS_IN_PAGE): New macro.
18333 (struct page_entry): Delete pch_page field.
18334 (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
18335 (clear_marks): Likewise.
18336 (sweep_pages): Likewise.
18337 (poison_pages): Likewise.
18338 (ggc_print_statistics): Likewise.
18339 (ggc_pch_read): Don't free objects read from a PCH.
18340 Properly set up in_use_p and page_tails.
18341
18342 2002-10-25 Geoffrey Keating <geoffk@apple.com>
18343
18344 * gengtype.c (struct write_types_data): New.
18345 (struct walk_type_data): Make `cookie' const; add extra
18346 prev_val item; add `orig_s' field.
18347 (walk_type): Update prev_val[3].
18348 (write_types_process_field): New.
18349 (write_func_for_structure): Take write_types_data structure.
18350 (write_types): New.
18351 (ggc_wtd): New.
18352 (pch_wtd): New.
18353 (write_types_local_process_field): New.
18354 (gc_mark_process_field): Delete.
18355 (write_local_func_for_structure): New.
18356 (gc_mark_func_name): Delete.
18357 (write_gc_types): Delete.
18358 (write_local): New.
18359 (finish_root_table): Don't include 'ggc_' in PFX.
18360 (write_root): Rename from write_root. Fill pchw field of structures.
18361 (write_array): New.
18362 (write_roots): Rename from write_gc_roots. Split out to write_array.
18363 Update to changes to other routines. Write gt_pch_cache_rtab table.
18364 (main): Write PCH walking routines.
18365 * ggc-common.c: Include toplev.h, sys/mman.h.
18366 (ggc_mark_roots): For cache hashtables, also mark the hash table
18367 and the array of entries.
18368 (saving_htab): New.
18369 (struct ptr_data): New.
18370 (POINTER_HASH): New.
18371 (gt_pch_note_object): New.
18372 (saving_htab_hash): New.
18373 (saving_htab_eq): New.
18374 (struct traversal_state): New.
18375 (call_count): New.
18376 (call_alloc): New.
18377 (compare_ptr_data): New.
18378 (relocate_ptrs): New.
18379 (write_pch_globals): New.
18380 (struct mmap_info): New.
18381 (gt_pch_save): New.
18382 (gt_pch_restore): New.
18383 * ggc-page.c (ROUND_UP_VALUE): New.
18384 (ROUND_UP): New.
18385 (struct page_entry): Add field `pch_page'.
18386 (init_ggc): Use ROUND_UP.
18387 (struct ggc_pch_data): Declare.
18388 (init_ggc_pch): New.
18389 (ggc_pch_count_object): New.
18390 (ggc_pch_total_size): New.
18391 (ggc_pch_this_base): New.
18392 (ggc_pch_alloc_object): New.
18393 (ggc_pch_prepare_write): New.
18394 (ggc_pch_write_object): New.
18395 (ggc_pch_finish): New.
18396 (ggc_pch_read): New.
18397 * ggc.h (gt_pointer_operator): New.
18398 (gt_note_pointers): New.
18399 (gt_pch_note_object): New prototype.
18400 (gt_pointer_walker): New.
18401 (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
18402 (LAST_GGC_ROOT_TAB): Update.
18403 (gt_pch_cache_rtab): Declare.
18404 (gt_pch_scalar_rtab): Declare.
18405 (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
18406 (LAST_GGC_CACHE_TAB): Update.
18407 (gt_pch_save_stringpool): Declare.
18408 (gt_pch_restore_stringpool): Declare.
18409 (gt_pch_p_S): Declare.
18410 (gt_pch_n_S): Declare.
18411 (struct ggc_pch_data): Forward-declare.
18412 (init_ggc_pch): Declare.
18413 (ggc_pch_count_object): Declare.
18414 (ggc_pch_total_size): Declare.
18415 (ggc_pch_this_base): Declare.
18416 (ggc_pch_alloc_object): Declare.
18417 (ggc_pch_prepare_write): Declare.
18418 (ggc_pch_write_object): Declare.
18419 (ggc_pch_finish): Declare.
18420 (ggc_pch_read): Declare.
18421 (gt_pch_save): Declare.
18422 (gt_pch_restore): Declare.
18423 * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
18424 * emit-rtl.c (init_emit_once): Allocate const_int_htab,
18425 const_double_htab, mem_attrs_htab using GGC.
18426 * c-pch.c: Include ggc.h.
18427 (pch_init): Allow reading PCH file back.
18428 (c_common_write_pch): Call gt_pch_save.
18429 (c_common_read_pch): Call gt_pch_restore.
18430 * c-parse.in (init_reswords): Delete now-untrue comment.
18431 Allocate ridpointers using GGC.
18432 * c-objc-common.c (c_objc_common_finish_file): Write PCH before
18433 calling expand_deferred_fns.
18434 * c-common.h (ridpointers): Mark for GTY machinery.
18435 * Makefile.in (stringpool.o): Update dependencies.
18436 (c-pch.o): Update dependencies.
18437 (ggc-common.o): Update dependencies.
18438 * stringpool.c: Include gt-stringpool.h.
18439 (gt_pch_p_S): New.
18440 (gt_pch_n_S): New.
18441 (struct string_pool_data): New.
18442 (spd): New.
18443 (gt_pch_save_stringpool): New.
18444 (gt_pch_restore_stringpool): New.
18445 * tree.c (init_ttree): Make type_hash_table allocated using GC.
07488f32 18446
17211ab5
GK
18447 2002-10-04 Geoffrey Keating <geoffk@apple.com>
18448
18449 * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
18450 (output_mangled_typename): Don't pass size_t to printf.
18451
18452 * tree.h (union tree_type_symtab): Add tag to `address' field.
18453 (union tree_decl_u2): Add tag to 'i' field.
18454 * varasm.c (union rtx_const_un): Add tags to all fields.
18455 * gengtype.c (struct walk_type_data): New.
18456 (output_escaped_param): Take struct walk_type_data parameter.
18457 (write_gc_structure_fields): Delete.
18458 (walk_type): New.
18459 (write_gc_marker_routine_for_structure): Delete.
18460 (write_func_for_structure): New.
18461 (gc_mark_process_field): New.
18462 (gc_mark_func_name): New.
18463 (gc_counter): Delete.
18464 (write_gc_types): Use write_func_for_structure.
18465 (write_gc_roots): Use walk_type.
18466
18467 2002-10-02 Geoffrey Keating <geoffk@apple.com>
18468
18469 * ggc-common.c (ggc_mark_roots): Delete 'x'.
18470 (ggc_splay_dont_free): Fix warning about unused 'x'.
18471 (ggc_print_common_statistics): Remove warnings.
18472
18473 2002-10-01 Mike Stump <mrs@apple.com>
18474
07488f32
ZW
18475 * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
18476 * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
17211ab5
GK
18477
18478 2002-09-01 Geoffrey Keating <geoffk@redhat.com>
18479 Catherine Moore <clm@redhat.com>
18480
18481 * Makefile (c-pch.o): Update dependencies.
18482 (LIBCPP_OBJS): Add cpppch.o.
18483 (cpppch.o): New.
18484 * c-common.c (c_common_init): Don't call pch_init here.
18485 * c-common.h (c_common_read_pch): Update prototype.
18486 * c-lex.c (c_common_parse_file): Call pch_init here.
18487 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
18488 (c_common_decode_option): Handle them.
18489 * c-pch.c: Include c-pragma.h.
18490 (save_asm_offset): Delete.
18491 (pch_init): Move contents of save_asm_offset into here, call
18492 cpp_save_state.
18493 (c_common_write_pch): Call cpp_write_pch.
18494 (c_common_valid_pch): Warn only when -Winvalid-pch. Call
18495 cpp_valid_state.
18496 (c_common_read_pch): Add NAME parameter. Call cpp_read_state.
07488f32 18497 * cppfiles.c (stack_include_file): Update for change to
17211ab5
GK
18498 parameters of cb.read_pch.
18499 * cpphash.h (struct cpp_reader): Add `savedstate' field.
18500 * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
18501 `restore_pch_deps' fields.
18502 (struct cpp_callbacks): Add NAME parameter to `read_pch'.
18503 (cpp_save_state): Prototype.
18504 (cpp_write_pch): Prototype.
18505 (cpp_valid_state): Prototype.
18506 (cpp_read_state): Prototype.
18507 * cpppch.c: New file.
18508 * flags.h (version_flag): Remove prototype.
18509 * mkdeps.c (deps_save): New.
18510 (deps_restore): New.
18511 * mkdeps.h (deps_save): Prototype.
18512 (deps_restore): Prototype.
18513 * toplev.c (late_init_hook): Delete.
18514 (version_flag): Make static again.
18515 (compile_file): Don't call late_init_hook.
18516 * toplev.h (late_init_hook): Delete.
18517 * doc/cppopts.texi: Document -fpch-deps.
18518 * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
18519
18520 2002-08-27 Geoffrey Keating <geoffk@redhat.com>
18521
18522 * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
18523 callers.
18524 (c_common_valid_pch): Rename from c_valid_pch, change callers.
18525 (c_common_read_pch): Rename from c_read_pch, change callers.
18526
18527 * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
18528 a space between it and its argument.
18529
18530 2002-08-24 Geoffrey Keating <geoffk@redhat.com>
18531
18532 * c-pch.c: New file.
18533 * toplev.h (late_init_hook): Declare.
18534 * toplev.c (late_init_hook): Define.
18535 (version_flag): Make globally visible.
18536 (compile_file): Call late_init_hook.
18537 (init_asm_output): Make output file seekable.
18538 * gcc.c (default_compilers): Update c-header rule.
18539 * flags.h (version_flag): Declare.
18540 * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
18541 fields.
18542 * cppfiles.c (struct include_file): Add 'pch' field.
18543 (INCLUDE_PCH_P): New.
18544 (open_file_pch): New.
18545 (stack_include_file): Handle PCH files specially.
18546 (find_include_file): Call open_file_pch instead of open_file.
18547 (_cpp_read_file): Explain why open_file is used instead of
18548 open_file_pch.
18549 * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
18550 * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
18551 * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
18552 in cpplib callbacks.
18553 * c-common.c (pch_file): Correct comment.
18554 (allow_pch): Define.
18555 (c_common_init): Call pch_init.
18556 * c-common.h (allow_pch): Declare.
18557 (pch_init): Declare.
18558 (c_valid_pch): Declare.
18559 (c_read_pch): Declare.
18560 (c_write_pch): Declare.
18561 * Makefile.in (c-pch.o): New.
18562 (C_AND_OBJC_OBJS): Add c-pch.o.
18563 * doc/invoke.texi (Precompiled Headers): Add index entries,
18564 complete truncated paragraph.
18565
18566 2002-08-17 Geoffrey Keating <geoffk@redhat.com>
18567
18568 * c-common.c: (pch_file): Define.
18569 * c-common.h (pch_file): Declare.
18570 * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
18571 (missing_arg): Require --output-pch= to have an argument.
18572 (c_common_decode_option): Handle --output-pch=.
18573 * gcc.c: Document new %V.
18574 (default_compilers): Handle compiling C header files.
18575 (do_spec_1): Implement %V.
18576 (main): Handle "gcc foo.h" without trying to run linker.
18577 * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
18578 (Overall Options): Document what the driver does with header files,
18579 document new -x option possibilities.
18580 (Invoking G++): More documentation for PCH.
18581 (Precompiled Headers): New.
18582
18583 2002-08-09 Geoffrey Keating <geoffk@redhat.com>
18584
18585 * ggc.h: Don't include varray.h. Rearrange functions to be more
18586 organized.
18587 (ggc_add_root): Delete.
18588 (ggc_mark_rtx): Delete.
18589 (ggc_mark_tree): Delete.
18590 (struct ggc_statistics): Remove contents.
18591 * ggc-common.c: Remove unneeded includes.
18592 (struct ggc_root): Delete.
18593 (roots): Delete.
18594 (ggc_add_root): Delete.
18595 (ggc_mark_roots): Don't mark `roots'. Call ggc_mark_stringpool.
18596 (ggc_print_common_statistics): Remove most of the contents.
18597 * Makefile.in (GGC_H): No longer uses varray.h.
18598 (ggc-common.o): Update dependencies.
18599 (c-parse.o): Add varray.h to dependencies.
18600 (c-common.o): Add varray.h.
18601 * stringpool.c (mark_ident): Use mangled name for tree marker routine.
18602 (mark_ident_hash): Rename to ggc_mark_stringpool.
18603 (init_stringpool): Don't use ggc_add_root.
18604 * c-parse.in: Include varray.h.
18605 * c-common.c: Include varray.h.
18606 * objc/Make-lang.in (objc-act.o): Add varray.h.
18607 * objc/objc-act.c: Include varray.h.
18608
18609 2002-07-25 Geoffrey Keating <geoffk@redhat.com>
18610
18611 * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
18612 (dw_cfi_oprnd1_desc): Likewise.
18613
18614 2002-07-17 Geoffrey Keating <geoffk@redhat.com>
18615
18616 * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
18617 move out of ifdef.
18618 (alpha_links): Use gengtype to mark; move out of ifdef.
18619 (mark_alpha_links_node): Delete.
18620 (mark_alpha_links): Delete.
18621 (alpha_need_linkage): Use GGC to allocate splay tree, struct
18622 alpha_links, strings. Don't use ggc_add_root.
18623 * ggc-common.c (ggc_splay_alloc): New.
18624 (ggc_splay_dont_free): New.
18625 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
18626 (ggc_mark_tree): Likewise.
18627 (splay_tree_new_ggc): New.
18628 (ggc_splay_alloc): Declare.
18629 (ggc_splay_dont_free): Declare.
18630 * dwarf2asm.c: Include gt-dwarf2asm.h.
18631 (mark_indirect_pool_entry): Delete.
18632 (mark_indirect_pool): Delete.
18633 (indirect_pool): Use gengtype to mark.
18634 (dw2_force_const_mem): Don't use ggc_add_root.
18635 * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
18636 (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
18637 (gt-dwarf2asm.h): Depend on s-gtype.
18638
18639 2002-07-08 Geoffrey Keating <geoffk@redhat.com>
18640
18641 * tree.h (union tree_type_symtab): Mark `die' field.
18642 * Makefile.in (dwarf2out.o): Update dependencies.
18643 * dwarf2out.c: Use GGC to allocate all structures. Convert to htab_t
18644 hash tables.
18645 (dw_cfi_oprnd1_desc): New function.
18646 (dw_cfi_oprnd2_desc): New function.
18647 (indirect_string_alloc): Delete.
18648 (debug_str_do_hash): New function.
18649 (debug_str_eq): New function.
18650 (mark_limbo_die_list): Delete.
18651 (dwarf2out_init): Don't call ggc_add_root.
18652
30028c85
VM
186532003-01-09 Vladimir Makarov <vmakarov@redhat.com>
18654
18655 The following changes are merged from itanium-sched-branch:
18656
18657 2003-01-08 David Edelsohn <edelsohn@gnu.org>
18658
18659 * doc/md.texi: Clarify assignment of units to automata description.
18660
18661 2003-01-08 Vladimir Makarov <vmakarov@redhat.com>
18662
18663 * genautomata.c (unit_decl): Remove members
18664 `the_same_automaton_unit' and
18665 `the_same_automaton_message_reported_p'.
18666 (process_unit_to_form_the_same_automaton_unit_lists,
18667 form_the_same_automaton_unit_lists_from_regexp,
18668 form_the_same_automaton_unit_lists, the_same_automaton_lists):
18669 Remove them.
18670 (annotation_message_reported_p): New global variable.
18671 (check_unit_distribution_in_reserv,
18672 check_regexp_units_distribution): New functions.
18673 (check_unit_distributions_to_automata): Rewrite it.
18674
18675 2003-01-04 Vladimir Makarov <vmakarov@redhat.com>
18676
18677 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
18678 Use continue instead of break if cycle is too big.
18679
18680 2002-12-20 Vladimir Makarov <vmakarov@redhat.com>
18681
18682 * genautomata.c (check_unit_distributions_to_automata): Output at
18683 most one message for a unit.
18684 (process_unit_to_form_the_same_automaton_unit_lists): Check
18685 automaton of units instead of units themself.
18686
18687 * doc/md.texi: Describe the constraint about assigning unit to
18688 automata.
18689
18690 2002-12-20 Jan Hubicka <jH@suse.cz>
18691 Vladimir Makarov <vmakarov@redhat.com>
18692
18693 * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
18694 and `in_set_p'.
18695 (gen_cpu_unit): Initialize the new members.
18696 (process_regexp_cycles): Calculate minimal finish cycle too. Set
18697 up `min_occ_cycle_num'.
18698 (evaluate_max_reserv_cycles): Change the function call.
18699 (CLEAR_BIT): New macro.
18700 (states_union, state_shift): Use the mask.
18701 (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
18702 (form_reservs_matter): New function.
18703 (make_automaton): Call the function and use the mask.
18704 (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
18705 account.
07488f32 18706
30028c85
VM
18707 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
18708
18709 * config/ia64/itanium2.md (lfetch): Change the insn reservation.
18710
18711 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
18712
18713 * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
18714 for Itanium.
18715
18716 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
18717
18718 * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
18719 default cpu.
18720
18721 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
18722 2002-10-31 Dale Johannesen <dalej@apple.com>
18723
18724 * haifa-sched.c (find_set_reg_weight): New function.
18725 (find_insn_reg_weight): Use the new function.
18726 (schedule_block): Do sorting ready queue always
18727 after insn issue.
18728
18729 2002-11-27 Vladimir Makarov <vmakarov@redhat.com>
18730
18731 * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
18732
18733 2002-11-19 Vladimir Makarov <vmakarov@redhat.com>
18734
18735 * haifa-sched.c (choice_entry): New structure.
18736 (choice_stack, cycle_issued_insns): New variables.
18737 (max_issue): Rewrite it.
18738 (choose_ready): Set up ready_try for unknown insns too.
18739 (schedule_block): Allocate and free choice_stack. Set up
18740 and modify cycle_issued_insns.
18741
18742 * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
18743 with and without filling the bundle.
18744 (bundling): Combine calls of issue_nops_and_insn.
07488f32 18745
30028c85
VM
18746 2002-10-17 Vladimir Makarov <vmakarov@redhat.com>
18747
18748 * config/ia64/itanium1.md: New file.
18749
18750 * config/ia64/itanium2.md: New file.
18751
18752 * config/ia64/ia64.md: Move DFA descriptions into the new files.
18753 Remove the old pipeline description.
07488f32 18754
30028c85
VM
18755 * config/ia64/ia64.c (ia64_override_options): Add aliases of
18756 itanium processor names.
07488f32 18757
30028c85
VM
18758 2002-10-16 Vladimir Makarov <vmakarov@redhat.com>
18759
18760 * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
18761 (ia64_reorg): Set up queried unit codes for Itanium2 too.
18762
18763 * config/ia64/ia64.md: Add descriptions for Itanium2.
18764
18765 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
18766
18767 * config/ia64/ia64.h (processor_type): New enumeration.
18768 (ia64_tune, ia64_tune_string): New external declarations.
18769 (TARGET_OPTIONS): Add option `tune='.
18770
18771 * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
18772 variables.
18773 (ia64_override_options): Set up `ia64_tune'.
18774 (ia64_sched_reorder2): Set up `clocks' only for Itanium.
18775 (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
18776 (bundling): Add nops for MM-insns only for Itanium.
18777 (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
18778 Itanium.
18779
18780 * config/ia64/ia64.md (cpu): New attribute.
18781 (DFA description): Enable it only for Itanium.
07488f32 18782
30028c85
VM
18783 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
18784 Richard Henderson <rth@redhat.com>
18785
18786 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
18787 MASK_EARLY_STOP_BITS.
18788 (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
18789 (TARGET_SWITCHES): Rename option `tune-stop-bits' to
18790 `early-stop-bits'.
07488f32 18791
30028c85
VM
18792 * config/ia64/ia64.c (ia64_dfa_new_cycle,
18793 final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
18794 instead of TARGET_TUNE_STOP_BITS.
07488f32 18795
30028c85
VM
18796 * doc/invoke.texi: Rename option `-mtune-stop-bits' to
18797 `-mearly-stop-bits'.
18798
18799 * config/ia64/ia64.c (automata_option "v"): Comment it.
07488f32 18800
30028c85
VM
18801 2002-10-07 Vladimir Makarov <vmakarov@redhat.com>
18802
07488f32 18803 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
30028c85
VM
18804 New macros.
18805 (TARGET_SWITCHES): Add entries for the new option.
07488f32 18806
30028c85
VM
18807 * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
18808 dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
18809 (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
18810 global variables.
18811 (ia64_sched_reorder2): Set up `clocks'.
18812 (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
18813 (ia64_dfa_new_cycle): Set up add_cycle. Permit sorting ready
18814 queue when TARGET_TUNE_STOP_BITS.
18815 (bundling): Insert additional nops for MM-insns.
18816 (final_emit_insn_group_barriers): Add insertion of stop bits
18817 according `stops_p'.
18818 (ia64_reorg): Initiate the new varibales.
18819
18820 * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
07488f32 18821
30028c85
VM
18822 2002-10-02 Vladimir Makarov <vmakarov@redhat.com>
18823
18824 * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
18825 insns at the end of block insn scheduling.
18826
18827 2002-09-30 Vladimir Makarov <vmakarov@redhat.com>
18828
18829 * sched-deps.c (remove_dependence, group_leader): Remove it.
18830 (add_dependence): Add dependence to group leader to.
18831 (set_sched_group_p): Add dependence to the first insn of the
18832 schedule group too.
18833 (sched_analyze_insn): Make dependence to jump as anti-dependence.
18834 Change true dependence by anti-dependence when
18835 `reg_pending_barrier'.
18836
18837 * sched-rgn.c (init_ready_list, can_schedule_ready_p,
18838 add_branch_dependences): Ignore schedule groups.
18839
18840 * sched-ebb.c (init_ready_list): Ditto.
18841
18842 * (move_insn, set_priorities): Ditto.
18843
18844 * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
18845 flag is clear after reload.
18846 (adjust_cost): Change cost only for output dependencies.
07488f32 18847
30028c85 18848 * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
07488f32 18849
30028c85
VM
18850 2002-09-26 Vladimir Makarov <vmakarov@redhat.com>
18851
18852 * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
18853
18854 * target.h (gcc_target): Add member
18855 `dependencies_evaluation_hook'.
18856
18857 * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
18858 macro.
18859 (TARGET_SCHED): Add initiatialization of the new member.
18860
18861 * sched-ebb.c: Include `target.h'.
18862 (schedule_ebb): Call `dependencies_evaluation_hook'.
18863
18864 * sched-rgn.c (schedule_region): Call
18865 `dependencies_evaluation_hook'.
18866
18867 * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
18868 New macro.
18869 (ia64_dependencies_evaluation_hook): New function.
18870
18871 * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
18872 Describe the new hook.
07488f32 18873
30028c85
VM
18874 2002-09-25 Vladimir Makarov <vmakarov@redhat.com>
18875
18876 * target.h (gcc_target): Add members
18877 `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
18878
18879 * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
18880 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
18881 macros.
18882 (TARGET_SCHED): Add initiatialization of the new members.
18883
18884 * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
18885 insn scheduling too.
18886 (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
18887 initialize `ready_try'.
18888 (schedule_block): Use `dfa_new_cycle'. Sort `ready' only unless
18889 `dfa_new_cycle' says not to do it.
07488f32 18890
30028c85
VM
18891 * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
18892 bundling.
18893
18894 * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
18895
18896 * config/ia64/ia64.c: Include `hashtab.h'.
18897 (ia64_first_cycle_multipass_dfa_lookahead_guard,
18898 ia64_dfa_new_cycle, final_emit_insn_group_barriers,
18899 ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
18900 initiate_bundle_states, finish_bundle_states, bundle_state_hash,
18901 bundle_state_eq_p, insert_bundle_state,
18902 initiate_bundle_state_table, finish_bundle_state_table,
18903 try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
18904 get_template, get_next_important_insn, bundling): New functions.
18905 (ia64_internal_sched_reorder): Remove it.
18906 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
18907 TARGET_SCHED_DFA_NEW_CYCLE): New macros.
18908 (ia64_safe_itanium_requires_unit0): Remove it.
18909 (group_barrier_needed_p): Place group barrier right before a real
18910 insn.
18911 (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
18912 Remove them.
18913 (bundle_name): New variable.
18914 (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
18915 _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
18916 _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
18917 pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
18918 temp_dfa_state, prev_cycle_state): New global variables.
18919 (insn_matches_slot, maybe_rotate, finish_last_head,
18920 rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
18921 cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
18922 find_best_packet, itanium_reorder, dump_current_packet,
18923 schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
18924 (sched_data, sched_ready, sched_types): Remove them.
18925 (ia64_sched_init): Initiate only `last_scheduled_insn' and call
18926 `init_insn_group_barriers'.
18927 (ia64_sched_reorder, ia64_sched_reorder2): Call
18928 ia64_dfa_sched_reorder.
18929 (ia64_variable_issue): Rewrite it.
18930 (bundle_state): New structure.
18931 (index_to_bundle_states, bundle_states_num,
18932 allocated_bundle_states_chain, free_bundle_state_chain): New
18933 global variables.
18934 (ia64_sched_finish): Add stop bits and call `bundling' after the
18935 2nd insn scheduling.
18936 (ia64_use_dfa_pipeline_interface): Return zero always.
18937 (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
18938 insn scheduling.
18939 (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
18940 `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
18941 (ia64_reorg): Add bundling insns.
18942
18943 * doc/tm.texi
18944 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
18945 TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
07488f32 18946
30028c85
VM
18947 2002-09-23 Vladimir Makarov <vmakarov@redhat.com>
18948
18949 * config/ia64/ia64.md: Add Itanium1 DFA description.
18950 (itanium_class): Add `nop' and `pre_cycle'. Add
18951 define_function_unit for `nop'.
18952 (nop): Change attribute `itanium_class'.
18953 (pre_cycle): New define_insn.
18954
18955 * config/ia64/ia64-protos.h (bundling_p): New external variable.
18956 (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
18957 ia64_produce_address_p): New function prototypes.
18958
18959 * config/ia64/ia64.c (bundling_p): New global variable.
18960 (ia64_use_dfa_pipeline_interface,
18961 ia64_first_cycle_multipass_dfa_lookahead,
18962 ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
18963 functions.
18964 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
18965 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
18966 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
18967 TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
18968 (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
18969 ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
18970 (dfa_pre_cycle_insn): New variable.
07488f32 18971
30028c85
VM
18972 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
18973
18974 * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
18975 constructions.
18976
18977 * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
18978 New function prototypes.
18979
18980 * genattrtab.c (main): Process the new constructions.
18981
18982 * genautomata.c (gen_presence_absence_set,
18983 process_presence_absence_names, process_presence_absence_patterns,
18984 add_presence_absence, check_absence_pattern_sets): Add parameter
18985 `final_p'.
18986 (unit_decl): Add new members `final_presence_list' and
18987 `final_absence_list'.
18988 (unit_pattern_rel_decl): Add new member `final_p'.
18989 (gen_final_presence_set, gen_final_absence_set): New functions.
18990 (process_decls): Use member `final_p'.
18991 (temp_reserv): New global variable.
18992 (reserv_sets_are_intersected): Add processing `final_presence_set'
18993 and `final_absence_set'.
18994 (initiate_states): Allocate `temp_reserv'.
18995 (unit_final_presence_set_table, unit_final_absence_set_table): New
18996 gloabal variables.
18997 (initiate_presence_absence_pattern_sets): Initiate them.
18998 (NDFA_to_DFA): Fix typo.
18999 (output_description): Output `final_presence_set' and
19000 `final_absence_set'.
19001
19002 * doc/md.texi (final_presence_set, final_absence_set): Describe
19003 them.
07488f32 19004
30028c85
VM
19005 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
19006
19007 * genautomata.c (transform_3): Process a missing case (nothing on
19008 unit place).
19009
19010 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
19011
19012 * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
19013 comments about queried units and the minimization.
07488f32 19014
30028c85 19015 * doc/md.texi: Ditto.
07488f32 19016
30028c85
VM
19017 * genautomata.c (create_composed_state): Return nonzero if the new
19018 state has been created.
19019 (first_cycle_unit_presence): New function.
19020 (state_is_differed): Add new parameter. Use the new function.
19021 Take queried units into account.
19022 (partition_equiv_class): Pass additional parameter to
19023 `state_is_differed'.
19024 (merge_states): Process composed states too.
19025 (build_automaton, create_automata, output_min_issue_delay_table,
19026 output_tables, output_statistics): Output more information.
19027 (output_reserved_units_table): Use function
19028 `first_cycle_unit_presence'.
19029 (output_tables): Output table of queried units even if the
19030 minimization is switched on.
19031 (write_automata): Output code for querying units even if the
19032 minimization is switched on.
07488f32 19033
30028c85
VM
19034 2002-09-19 Vladimir Makarov <vmakarov@redhat.com>
19035
19036 * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
19037 syntax of the constructions.
07488f32 19038
30028c85
VM
19039 * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
19040 extended syntax of the constructions.
07488f32 19041
30028c85
VM
19042 * genautomata.c (unit_rel_decl): Rename it to
19043 `unit_pattern_rel_decl'.
19044 (pattern_set_el, pattern_reserv): New structures.
19045 (pattern_set_el_t, pattern_reserv_t): New types.
19046 (gen_presence_absence_set): New function.
19047 (process_presence_absence): Remove it.
19048 (process_presence_absence_names,
19049 process_presence_absence_patterns): New functions.
19050 (get_presence_absence_set): Remove it.
19051 (initiate_presence_absence_sets): Rename it on
19052 `initiate_presence_absence_pattern_sets'. Use new function
19053 `form_reserv_sets_list'.
19054 (form_reserv_sets_list, check_presence_pattern_sets,
19055 check_absence_pattern_sets, output_pattern_set_el_list): New
19056 functions.
19057 (unit_decl): Change types of members `presence_list' and
19058 `absence_list'.
19059 (unit_rel_decl): Rename member `names_num' to `all_names_num'.
19060 (decl): Change types of members `excl', `presence', and `absence'.
19061 (get_str_vect): Rename `par_flag' to `paren_p'. Add null element
19062 at the end of the vector.
19063 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
19064 gen_automaton, gen_regexp_repeat, gen_regexp_allof,
19065 gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
19066 (gen_presence_set, gen_absence_set): Use new function
19067 `gen_presence_absence_set'.
19068 (add_presence_absence): Process `pattern_list' instead of
19069 `source_list'.
19070 (process_decls): USe new functions
19071 `process_presence_absence_names' and
19072 `process_presence_absence_patterns'.
19073 (reserv_sets_are_intersected): Use new function
19074 `check_presence_pattern_sets'.
19075 (presence_set, absence_set): Remove them.
19076 (unit_presence_set_table, unit_absence_set_table): New global
19077 variables.
19078 (output_description): Use new function
19079 `output_pattern_set_el_list'.
19080 (generate): Use `initiate_presence_absence_pattern_sets'.
07488f32 19081
30028c85
VM
19082 2002-09-18 Vladimir Makarov <vmakarov@redhat.com>
19083
19084 * genattr.c (main): Add output of prototype of new interface
19085 function `dfa_clean_insn_cache'.
19086
19087 * genautomata.c (output_dfa_clean_insn_cache_func): New function.
19088 (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
19089 (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
19090 the generated code.
19091 (write_automata): Call the new function.
07488f32 19092
62c9aa5f 190932003-01-09 Jan Hubicka <jh@suse.cz>
cb297538 19094
17211ab5
GK
19095 * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
19096 correctly.
cb297538 19097
3a6e2189
PC
190982003-01-09 Paolo Carlini <pcarlini@unitus.it>
19099
19100 * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
19101
62c9aa5f 191022003-01-09 J"orn Rennecke <joern.rennecke@superh.com>
97488870
R
19103
19104 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
19105 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
19106 (CONSTRAINT_LEN): Provide default definition.
19107 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
19108 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
19109 (EXTRA_CONSTRAINT_STR): Likewise.
19110 (REG_CLASS_FROM_CONSTRAINT): Define.
19111 * genoutput.c (check_constraint_len, constraint_len): New functions.
19112 (validate_insn_alternatives): Check CONSTRAINT_LEN for each
19113 constraint / modifier.
19114 (gen_insn): Call check_constraint_len.
19115 * local-alloc.c (block_alloc): Update to use new macros / pass
19116 second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
19117 * ra-build.c (handle_asm_insn): Likewise.
19118 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
19119 (constrain_operands, peep2_find_free_register): Likewise.
19120 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
19121 * regmove.c (find_matches): Likewise.
19122 * reload.c (push_secondary_reload, find_reloads): Likewise.
19123 (alternative_allows_memconst): Likewise.
19124 * reload1.c (maybe_fix_stack_asms): Likewise.
19125 (reload_cse_simplify_operands): Likewise.
19126 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
19127 * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
19128 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
19129 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
19130 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
19131 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
e2c734c1
R
19132
19133 * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
19134
fc182093
KH
191352003-01-09 Kazu Hirata <kazu@cs.umass.edu>
19136
19137 * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
19138 length.
19139 (*extzv_1_r_h8300hs): Likewise.
19140 (*extzv_1_r_inv_h8300): Likewise.
19141 (*extzv_1_r_inv_h8300hs): Likewise.
19142
3b1c9927
KH
191432003-01-09 Kazu Hirata <kazu@cs.umass.edu>
19144
19145 * config/h8300/h8300.h (PREDICATE_CODES): New.
19146
867504e6
KH
191472003-01-09 Kazu Hirata <kazu@cs.umass.edu>
19148
19149 * config/h8300/h8300.md (*addsi3_upper): New.
19150 (*iorsi3_shift): Likewise.
19151 (two splitters): Likewise.
19152 (*addsi3_shift): Likewise.
19153 (two splitters): Likewise.
19154
4a69cf79
JZ
191552003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
19156
19157 * Makefile.in (optabs.o): Add dependency on basic-block.h.
19158 * basic-block.h (control_flow_insn_p): Fuction was exported.
19159 * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
19160 * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
19161 notes only when the region is contained in a single basic block.
19162
4c46ea23
EB
191632003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
19164
19165 PR inline-asm/8832
19166 * tree.h (expand_asm): New prototype.
19167 * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
19168 to do so.
19169 * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
19170 down to expand_asm.
19171 * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
19172 * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
19173 (volatile_refs_p) [ASM_INPUT]: Likewise.
19174 (side_effects_p) [ASM_INPUT]: Likewise.
19175
62c9aa5f 191762003-01-09 Jan Hubicka <jh@suse.cz>
f56e86bd
JH
19177
19178 * i386.md (*mul*): FIx constraints; remove confused comment; fix
19179 athlon_decode attributes
19180 (imul/k8 optimization peep2s): New.
19181
19182 * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
19183 * i386.md (type attribute): Add ssecomi.
19184 (unit, memory, prefix attributes): Handle ssecomi.
19185 (cvt?2? patterns): Fix athlon_decode attribute
19186 (comi patterns): Set attribute to ssecomi.
19187
19188 PR target/8343
19189 * m68k.md (umulsidi, mulsidi expanders): Use register operand.
19190
98c29f71
RS
191912003-01-09 Richard Sandiford <rsandifo@redhat.com>
19192
19193 * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
19194 that match register_operands.
19195 * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
19196 register_operand the default case.
19197
bbb818c6
EB
191982003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
19199
19200 PR c/8032
19201 * c-typeck.c (process_init_element) [RECORD_TYPE]: For
19202 an empty element, do not advance the pointer to unfilled
19203 fields if there are pending initializers.
19204
90961eff
AJ
192052003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
19206
19207 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
19208 (install-gcc-tooldir, install-cpp, installdirs,
19209 install-common, install-driver, install-info, install-man,
19210 install-headers, install-include-dir, install-headers-tar,
19211 install-headers-cpio, install-headers-cp, install-mkheaders,
19212 install-collect2, uninstall): Prepend $(DESTDIR) to
19213 destination paths in all (un)installation commands.
19214 (install-driver): Rewrite $(LN) commands to support DESTDIR
19215 with "ln" as well as with "ln -s".
19216 (installdirs): Simply use mkinstalldirs.
19217 (install-libgcc, install-multilib): Also pass DESTDIR.
19218 * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
19219 installation destination variable ldir.
19220 * config/alpha/t-osf4, config/arm/t-netbsd,
19221 config/ia64/t-hpux, config/mips/t-iris5-6,
19222 config/pa/t-hpux-shlib, config/rs6000/t-aix43,
19223 config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
19224 config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
19225 in the definition of SHLIB_INSTALL.
19226 * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
19227 $(libsubdir) in the installation commands.
19228
8b26829f
KK
192292003-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
19230
19231 * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
19232 non-optimizing compile.
19233 (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
19234 compile.
19235
fe77449a
DR
192362003-01-08 Douglas B Rupp <rupp@gnat.com>
19237
19238 * config/i386/i386.c (ix86_attribute_table): Add new attributes
19239 ms_struct and gcc_struct.
19240 (ix86_handle_struct_attribute): New function.
19241 (ix86_ms_bitfield_layout_p): Update to take new attributes
19242 into account.
19243 * doc/extend.texi: Document new attributes.
19244 * testsuite/gcc.dg/bf-ms-attrib.c: New test.
19245
98417968
DS
192462003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
19247
07488f32
ZW
19248 PR optimization/8750
19249 * config/i386/i386.c (ix86_expand_prologue): Don't allow
19250 scheduling pass to move insns across __alloca call.
98417968 19251
e46e3130
DJ
192522003-01-08 Dale Johannesen <dalej@apple.com>
19253
07488f32
ZW
19254 * config/rs6000/rs6000.md: Replace *store_multiple_string
19255 with *stmsi[3-8].
e46e3130 19256
c40e5172
JS
192572003-01-08 Jeff Sturm <jsturm@one-point.com>
19258
19259 PR target/9210
19260 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
19261 Set SYMBOL_REF_FLAG on local data sym_ref.
19262
de62b72c 192632003-01-08 Dale Johannesen <dalej@apple.com>
07488f32
ZW
19264
19265 * function.c (assign_parms): Don't set pretend_args_size if
de62b72c 19266 REG_PARM_STACK_SPACE.
07488f32 19267 config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
de62b72c
DJ
19268 pretend_args_size.
19269
25839c41
NN
192702003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
19271
19272 * gcc.hlp: Delete.
19273
62c9aa5f 192742003-01-09 Jan Hubicka <jh@suse.cz>
4bdc8610
JH
19275
19276 * i386.c (ix86_expand_int_addcc): Fix thinko.
19277
5b71a4e7
DE
192782003-01-08 David Edelsohn <edelsohn@gnu.org>
19279
19280 * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
19281 * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
19282 as hook_bool_tree_hwi_hwi_tree_true.
19283 (rs6000_emit_allocate_stack): Use TARGET_32BIT.
19284 (rs6000_emit_epilogue): Same.
19285 (rs6000_output_mi_thunk): Re-implement as RTL.
19286 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
19287 xcoffout_declare_function if any debugging enabled.
19288
2d2a50c3
CD
192892003-01-08 Chris Demetriou <cgd@broadcom.com>
19290
19291 * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
19292 targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
19293 * config/mips/mips.h (enum processor_type): Rename
19294 PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
19295 PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
19296 Add PROCESSOR_M4K.
19297 (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
19298 (ISA_MIPS32R2): New define.
19299 (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
19300 (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
19301 (ISA_HAS_PREFETCH): Add support for MIPS32R2.
19302 (MIPS_ISA_DEFAULT): Likewise. Also, fix indentation.
19303 (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2. Add new
19304 predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
19305 (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
19306 compiling MIPS16 code.
19307 (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
19308 comment.
19309 (ISA_HAS_SEB_SEH): New define.
19310 (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
19311 * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
19312 processor_type value renaming. Add support for MIPS32R2.
19313 Clean up comments, and move "sb1" entry with other MIPS64 CPU
19314 entries.
19315 (override_options): Reimplement -mipsN option handling so that
19316 it will work correctly for -mips32r2. Avoid branch-likely
19317 instructions on MIPS32R2.
19318 * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
19319 (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
19320 (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
19321 (extendhisi2_hw, extendqisi2_hw): New.
19322 * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
19323 for MIPS32R2. Add new predefine __mips_isa_rev for MIPS32,
19324 MIPS32R2, and MIPS64.
19325 (LINK_SPEC): Pass -mips32r2 to linker.
19326 * config/mips/t-isa3264: Built -mips32r2 multilibs.
19327 * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
19328 for mips32r2 in the -march description. Alphabetically sort
19329 CPU names in the -march description. Add long-missed -mips32
19330 and -mips64 to MIPS option summary.
19331
19332 * config.gcc: Update copyright years to include 2003.
19333 * config/mips/mips.c: Likewise.
19334 * config/mips/mips.h: Likewise.
19335 * config/mips/mips.md: Likewise.
19336 * config/mips/netbsd.h: Likewise.
19337 * doc/invoke.texi: Likewise.
19338
918c4fe4
AS
193392003-01-08 Andreas Schwab <schwab@suse.de>
19340
19341 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
19342 variable.
19343 * configure: Regenerated.
19344
c5e7ce43
KH
193452003-01-08 Kazu Hirata <kazu@cs.umass.edu>
19346
19347 * config/h8300/h8300.c (output_logical_op): Replace byte/word
19348 extraction of det with b0, b1, w0, w2, etc.
19349 (compute_logical_op_length): Likewise.
19350 (compute_logical_op_cc): Likewise.
19351
eb8a8ec4
KH
193522003-01-08 Kazu Hirata <kazu@cs.umass.edu>
19353
19354 * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
19355 HIGH on all variants.
19356
62c9aa5f 193572003-01-08 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
07488f32 19358
56f15830
JZ
19359 * Makefile.in (PARTITION_H): New.
19360 (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
19361 * basic-block.h: Include hard-reg-set.h.
19362
ab57893b
RE
193632003-01-08 Richard Earnshaw <rearnsha@arm.com>
19364
19365 * arm.h (ENABLE_XF_PATTERNS): Delete.
19366 * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
19367 (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
19368 (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
19369 (cmpxf_trap): Delete.
19370 (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
19371
62c9aa5f 193722003-01-08 Jan Hubicka <jh@suse.cz>
7b52eede
JH
19373
19374 * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
19375 (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
19376 (add??cc): New expanders.
19377 * i386.c (expand_int_addcc): New function.
19378 * i386-protos.h (expand_int_addcc): Declare.
19379
19380 * alias.c (memory_modified_1): New static function.
19381 (memory_modified): New static varaible.
19382 (memory_modified_in_insn_p): New global function.
19383 * rtl.h (memory_modified_in_insn_p): Declare.
19384 * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
19385 references.
19386
19387 * expr.h (emit_conditional_add): Declare.
19388
74049755
JJ
193892003-01-07 Janis Johnson <janis187@us.ibm.com>
19390
19391 PR other/8947
19392 * doc/invoke.texi (-malign-double): Explain that the option breaks
19393 binary compatibility.
19394
e7edc5a0
AS
193952003-01-08 Andreas Schwab <schwab@suse.de>
19396
19397 * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
19398 should come from the generic *-*-linux* entry.
19399
62c9aa5f 194002003-01-07 Jan Hubicka <jh@suse.cz>
9635cfad
JH
19401
19402 * cselib.c (cselib_current_insn_in_libcall): New static variable.
19403 (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
19404 we are inside libcall.
19405 * cselib.h (elt_loc_list): Add in_libcall.
19406 * gcse.c (do_local_cprop): Do not copy propagate using insns
19407 in libcalls.
19408
3ee04299
DE
194092003-01-07 David Edelsohn <edelsohn@gnu.org>
19410
19411 * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
19412 not normally affect to issue rate.
19413
62c9aa5f 194142003-01-07 Jan Hubicka <jh@suse.cz>
068f5dea
JH
19415
19416 * genopinit.c (optabs): Add addc_optab.
19417 * ifcvt.c (noce_try_store_flag): Rename to ...
19418 (noce_try_addcc): ... this one; handle generic conditional increment.
19419 (noce_process_if_block): Update noce_try_addcc call.
19420 * optabs.c (emit_conditional_add): New.
19421 (init_obtabs): Initialize addc_optab.
19422 * optabs.h (optab_index): Add OTI_addcc.
19423 (addcc_optab): New macro.
19424 * md.texi: Document addMcc
19425
19426 PR target/8322
19427 * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
19428 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
19429 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
19430
19431 * reload1.c (delete_output_reload): Avoid repeated attempts
19432 to delete insn.
19433
eb70d86d
AS
194342003-01-07 Andreas Schwab <schwab@suse.de>
19435
e7edc5a0
AS
19436 * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
19437 Move --enable-initfini-array check ...
19438 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here. Define
19439 HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
19440 Don't AC_SUBST gcc_cv_initfinit_array. Use AC_TRY_RUN.
19441 * configure: Rebuild.
eb70d86d 19442
1afdf91c
RH
194432003-01-07 Richard Henderson <rth@redhat.com>
19444
e7edc5a0
AS
19445 * alias.c (find_base_value): Only use new_reg_base_value shortcut
19446 if the register is set once.
1afdf91c 19447
36210500 194482003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
07488f32 19449
36210500
SP
19450 * config/i386/i386.c (ix86_init_mmx_sse_builtins):
19451 __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
19452 * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
19453
cb25b0ce
BK
194542003-01-07 Benjamin Kosnik <bkoz@redhat.com>
19455 Sunil Davasam <sunil.k.davasam@intel.com>
19456
07488f32 19457 PR libstdc++/9076
cb25b0ce
BK
19458 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
19459 DW_CFA_same_value, read next and ignore.
19460
94c040bd
RH
194612003-01-07 Richard Henderson <rth@redhat.com>
19462
19463 * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
19464
f6cb56fa
DB
194652003-01-07 Daniel Berlin <dberlin@dberlin.org>
19466
19467 * cfg.c: Include alloc-pool.h
19468 (edge_pool): New pool.
19469 (bb_pool): New pool.
19470 (first_deleted_edge): Remove.
19471 (first_deleted_block): Remove.
19472 (init_flow): Alloc/free the pools.
19473 (free_edge): Use pools.
19474 (alloc_block): Ditto.
19475 (expunge_block): Ditto.
19476 (cached_make_edge): Ditto.
19477
19478 * Makefile.in (cfg.o): Add alloc-pool.h dependency.
19479
194802003-01-07 Daniel Berlin <dberlin@dberlin.org>
19481
19482 * et-forest.c: Include alloc-pool.h.
19483 (struct et_forest): Add node_pool and occur_pool.
19484 (et_forest_create): Create the new pools.
19485 (et_forest_delete): Delete them.
19486 (et_forest_add_node): Allocate and free using pools.
19487 (et_forest_add_edge): Ditto.
19488 (et_forest_remove_node): Ditto.
19489 (et_forest_remove_edge): Ditto.
19490
19491 * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
19492
f9ac2f95
KH
194932003-01-07 Kazu Hirata <kazu@cs.umass.edu>
19494
19495 * config/h8300/h8300.c (output_logical_op): Simplify and
19496 optimize the handling of SImode.
19497 * config/h8300/h8300.c (compute_logical_op_length): Update
19498 accordingly.
19499 * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
19500
83282119
RS
195012003-01-07 Richard Sandiford <rsandifo@redhat.com>
19502
19503 * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
19504 big-endian correction to indirect arguments too.
19505
59a4c851
AH
195062003-01-06 Aldy Hernandez <aldyh@redhat.com>
19507
19508 Segher Boessenkool <segher@koffie.nl>
19509
36210500
SP
19510 * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
19511 (alt_reg_names): Ditto, fix formatting.
19512 * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
59a4c851 19513
7798db98
KH
195142003-01-06 Kazu Hirata <kazu@cs.umass.edu>
19515
19516 * config/h8300/h8300.c (final_prescan_insn): Constify uid.
19517 (output_logical_op): Constify intval and det.
19518 (compute_logical_length): Likewise.
19519 (compute_logical_cc): Likewise.
19520 (output_a_shift): Constify mask.
19521 (h8300_encode_label): Constify len.
19522
4705d102
KH
195232003-01-06 Kazu Hirata <kazu@cs.umass.edu>
19524
19525 * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
19526 (h8300_expand_epilogue): Likewise.
19527
98c9a8e8
AH
195282003-01-06 Aldy Hernandez <aldyh@redhat.com>
19529
19530 Segher Boessenkool <segher@koffie.nl>
19531
36210500
SP
19532 * config/rs6000/altivec.md: Remove spaces from assembler
19533 instruction argument lists.
07488f32 19534
86143814
MH
195352003-01-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
19536
19537 * config/c4x/c4x.c (c4x_naked_function_p): Rename from
19538 c4x_assembler_function_p.
19539 (c4x_null_epilogue_p): Complement return value, all uses updated.
19540 (c4x_insert_attributes): Add naked.
19541 * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
19542 * doc/extend.texi: Update C4x function attributes.
19543
52fd80fb
RH
195442003-01-06 Richard Henderson <rth@redhat.com>
19545
19546 * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
19547 properly when changing "local-ness".
19548 * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
19549
a16b43c5
DJ
195502003-01-06 Dale Johannesen <dalej@apple.com>
19551
19552 * config/darwin-protos.h: Add prototypes for new section functions.
19553
ef8dfae6
CD
195542003-01-06 Chris Demetriou <cgd@broadcom.com>
19555
19556 * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
19557 to EABI.
19558
44f9a8e4
ZW
195592003-01-06 Zack Weinberg <zack@codesourcery.com>
19560
19561 * hwint.h: If the current compiler has no 64-bit type at all,
19562 make HOST_WIDEST_INT 32 bits.
19563
2610198a
EC
195642003-01-06 Eric Christopher <echristo@redhat.com>
19565
19566 * config/mips/mips.md (movdf_internal2): Fix constraints.
19567
efbd757f
KH
195682003-01-06 Kazu Hirata <kazu@cs.umass.edu>
19569
19570 * config/h8300/h8300.md (*twoshifts_l16_r1): New.
19571
727b9b8c
RS
195722003-01-06 Richard Sandiford <rsandifo@redhat.com>
19573
19574 * config/mips/mips.md (leadi): Use dla rather than la.
19575
4705d102 195762003-01-06 Svein E. Seldal <Svein.Seldal@solidas.com>
cebdac46
SS
19577
19578 * config/c4x/c4x.h: Updated specs for new gas format. Fixed bug
19579 in C33_FLAG. Added proper C33 support in ASM_FILE_START macro.
19580
4705d102 195812003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
fe1e789f 19582
44f9a8e4 19583 * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
fe1e789f
HB
19584 redefinition.
19585
dff0ea43
KH
195862003-01-05 Kazu Hirata <kazu@cs.umass.edu>
19587
19588 * config/h8300/h8300.md (*extzv_8_23): New.
19589
94e6fd3e
JDA
195902003-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
19591
19592 * pa64-hpux.h (JCR_SECTION_NAME): Define.
19593 (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
19594 USE_EH_FRAME_REGISTRY when defining.
19595
cd9b5ca8
KH
195962003-01-05 Kazu Hirata <kazu@cs.umass.edu>
19597
19598 * config/h8300/h8300.c (output_a_shift): Do not output a
19599 variable shift.
19600 * config/h8300/h8300.md (two splitters): New.
19601
1ba8a9c4
RS
196022003-01-05 Richard Sandiford <rsandifo@redhat.com>
19603
19604 * config/mips/mips.md: Disable the movstrsi define_split.
19605
c7c50494
KG
196062003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19607
19608 * alloc-pool.c: Don't include "libiberty.h".
19609 * config/sparc/gmon-sol2.c: Include <fcntl.h>.
19610 * convert.c (convert_to_real): Hide unused variable.
19611
83fa8d7a
KG
196122003-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19613
19614 * Makefile.in (gtyp-gen.h): Const-ify.
19615 * gcov-dump.c (tag_table): Likewise.
19616
871dab3e
BK
196172003-01-04 Bruce Korb <bkorb@gnu.org>
19618
19619 * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
19620 of *both* the file name and the fix name.
19621
90961eff 196222003-01-04 John David Anglin <dave.anglin@nrc.ca>
35d434ed
JDA
19623
19624 * config.gcc (hppa*64*-*-hpux11*): Define extra_parts. Don't use
19625 collect2.
19626 * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
19627 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
19628 * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
19629 GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
19630 GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
19631 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
19632 elfos.h.
19633 (EH_FRAME_IN_DATA_SECTION): Delete define.
19634 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
19635 (STARTFILE_SPEC): Use crtbegin.o.
19636 (ENDFILE_SPEC): Use crtend.o.
19637 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
19638 SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
19639 PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
19640 DTOR_LIST_BEGIN): Define.
19641 * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
19642 (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
19643 * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
19644
b0588013
BK
196452002-12-31 Larin Hennessy <larin@science.oregonstate.edu>
19646
19647 * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
19648 * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
19649 m88k-*-sysv3*, Sony NewsOS. Remove references to i860.
19650 Cleanup handling of replacement text.
19651 * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
19652
196532003-01-04 Bruce Korb <bkorb@gnu.org>
19654
19655 * fixinc/tests/base/math.h: removed obsolete results
19656 * fixinc/tests/base/stdlib.h: ditto
19657 * fixinc/tests/base/sys/param.h: ditto
19658 * fixinc/tests/base/sys/stat.h: ditto
19659 * fixinc/tests/base/time.h: ditto
19660 * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
19661 * fixinc/tests/base/sys/byteorder.h: ditto
19662 * fixinc/inclhack.def: Remove superfluous backslashes
19663
68ee6df6
KH
196642003-01-04 Kazu Hirata <kazu@cs.umass.edu>
19665
19666 * config/h8300/h8300-protos.h: Add prototypes for
19667 the new functions defined below.
19668 * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
19669 define.
19670 (dosize): Emit RTL instead of assembly code.
19671 (push): Likewise.
19672 (pop): Likewise.
19673 (h8300_output_function_prologue): Remove.
19674 (h8300_expand_prologue): New.
19675 (h8300_expand_epilogue): New.
19676 (h8300_output_function_epilogue): Do only the reset of
19677 pragma_saveall.
19678 * config/h8300/h8300.md (push_h8300): New.
19679 (push_h8300hs): Likewise.
19680 (pop_h8300): Likewise.
19681 (pop_h8300hs): Likewise.
19682 (*stm_h8300s_2): Change the name to stm_h8300s_2.
19683 (*stm_h8300s_3): Change the name to stm_h8300s_3.
19684 (*stm_h8300s_4): Change the name to stm_h8300s_4.
19685 (*ldm_h8300s_2): New.
19686 (*ldm_h8300s_3): Likewise.
19687 (*ldm_h8300s_4): Likewise.
19688 (return): Likewise.
19689 (*return_1): Likewise.
19690 (prologue): Likewise.
19691 (epilogue): Likewise.
19692 (monitor_prologue): Likewise.
19693
d3c300d2
DJ
196942003-01-03 Dale Johannesen <dalej@apple.com>
19695
19696 * config/darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1,
19697 machopic_picsymbol_stub1.
19698 (EXTRA_SECTION_FUNCTIONS): Ditto.
19699 * rs6000/rs6000.c: Update copyright.
19700 (machopic_output_stub): Use them. Remove an insn from stub code.
19701
6cce57b0
JM
197022003-01-02 Jason Merrill <jason@redhat.com>
19703
4e8dca1c
JM
19704 * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
19705
19706 * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
19707 static/external decls.
2610198a 19708
6cce57b0
JM
19709 * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
19710 outermost scope.
19711 * c-decl.c (c_make_fname_decl): Push the decls there, too.
19712
e392d367
KH
197132003-01-03 Kazu Hirata <kazu@cs.umass.edu>
19714
19715 * config/h8300/h8300-protos.h: Add a prototype for
19716 h8300_current_function_interrupt_function_p.
19717 * config/h8300/h8300.c (interrupt_handler): Remove.
19718 (os_task): Likewise.
19719 (monitor): Likewise.
19720 (pragma_interrupt): New.
19721 (WORD_REG_USED): Use
19722 h8300_current_function_interrupt_function_p.
19723 (dosize): Likewise.
19724 (h8300_output_function_prologue): Likewise.
19725 Do not set interrupt_handler, os_task, monitor.
19726 (h8300_output_function_prologue): Use
19727 h8300_current_function_interrupt_function_p.
19728 Do not set interrupt_handler, os_task, monitor.
19729 (h8300_current_function_interrupt_function_p): New.
19730 (h8300_pr_interrupt): Set pragma_interrupt.
19731 (h8300_insert_attributes): Reset pragma_interrupt.
19732
b15da5b7
GP
197332003-01-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
19734
19735 * doc/install.texi (Configuration): Fix markup for reference to
19736 gcc/config.gcc.
19737
bf16e745
KH
197382003-01-02 Kazu Hirata <kazu@cs.umass.edu>
19739
19740 * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
19741 (*iorhi3_two_qi): Likewise.
19742 (*iorsi3_zexthi): Likewise.
19743 (*xorhi3_zextqi): Likewise.
19744 (*xorsi3_zexthi): Likewise.
19745 (*xorsi3_zextqi): Likewise.
19746
8ccf5d5f
KH
197472003-01-02 Kazu Hirata <kazu@cs.umass.edu>
19748
19749 * config/h8300/h8300.c (stack_pointer_operand): New.
19750 (const_int_gt_2_operand): Likewise.
19751 (const_int_ge_8_operand): Likewise.
19752 * config/h8300/h8300.md (a splitter): Likewise.
19753 (a peephole2): Likewise.
19754 * config/h8300/h8300-protos.h: Add prototypes for the new
19755 functions above.
19756
43c6a96a
SB
197572003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
19758
19759 * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
19760 objc/objc-act.h: Fix copyright years.
19761
96c4e780
SB
197622003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
19763
19764 * doc/passes.texi: Fix documentation for -fssa-ccp
19765
8ed0a104
NB
197662003-01-02 Neil Booth <neil@daikokuya.co.uk>
19767
19768 * gccbug.in: Update for new categories.
19769
1b9f0361
KH
197702003-01-01 Kazu Hirata <kazu@cs.umass.edu>
19771
19772 * config/h8300/h8300.md: Reorder some patterns.
19773
dc5f17ec
KH
197742003-01-01 Kazu Hirata <kazu@cs.umass.edu>
19775
19776 * config/h8300/h8300.c (output_logical_op): Fix a warning.
19777
cd2801fb
NB
197782003-01-01 Neil Booth <neil@daikokuya.co.uk>
19779
19780 * config/darwin-protos.h, config/c4x/c4x-protos.h,
19781 config/cris/cris-protos.h, config/i370/i370-protos.h,
19782 config/i960/i960-protos.h, config/ia64/ia64-protos.h,
19783 config/v850/v850-protos.h: Use struct, and don't conditionally
19784 compile on GCC_C_PRAGMA_H.
19785
378b1b8e
KH
197862003-01-01 Kazu Hirata <kazu@cs.umass.edu>
19787
19788 * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
19789 * config/h8300/h8300-protos.h: Likewise.
19790 * config/sh/sh-protos.h: Likewise.
19791
7106a5bc
KH
197922003-01-01 Kazu Hirata <kazu@cs.umass.edu>
19793
19794 * config/arm/arm-protos.h: Use struct cpp_reader instead of
19795 cpp_reader.
19796 * config/h8300/h8300-protos.h: Likewise.
19797 * config/sh/sh-protos.h: Likewise.
19798
231b51a1
NB
197992003-01-01 Neil Booth <neil@daikokuya.co.uk>
19800
19801 * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
19802 arm_pr_long_calls_off): Use struct.
19803 * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
19804 : Similarly.
19805 Don't include cpplib.h.
19806 * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
19807 sh_pr_nosave_low_regs): Similarly.
19808
0f18b2b0
KH
198092003-01-01 Kazu Hirata <kazu@cs.umass.edu>
19810
19811 * config/h8300/h8300.c: Include cpplib.h.
19812
b9593599
SB
198132003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
19814
19815 * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
19816 objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
19817 objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
19818 "GCC" in the copyright header.
19819
c58b209a
NB
198202003-01-01 Neil Booth <neil@daikokuya.co.uk>
19821
19822 * c-pragma.c (c_register_pragma): New.
19823 (init_pragma): Use it.
19824 * c-pragma.h (cpp_register_pragma): Don't declare.
19825 (c_register_pragma): New.
19826 * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
19827 * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
19828 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
19829 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
19830 * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
19831 * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
19832 * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
19833 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
19834 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
19835 * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
19836 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
19837 * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
19838
7210d5ae 19839See ChangeLog.8 for earlier changes.
This page took 2.712508 seconds and 5 git commands to generate.