]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
altivec.h [...] (vec_subsubs): Rename to vec_sububs.
[gcc.git] / gcc / ChangeLog
CommitLineData
0bf87ea5
PB
12004-04-30 Paolo Bonzini <bonzini@gnu.org>
2
3 * config/altivec/altivec.h [__cplusplus] (vec_subsubs): Rename to
4 vec_sububs.
5 [__cplusplus] (vec_subsuhs): Rename to vec_subuhs, without
6 duplicates.
7
a6bf61c7
UB
82004-04-30 Uros Bizjak <uros@kss-loka.si>
9
10 * config/i386/i386.md (atansf2, atandf2, atanxf2): Move near
11 atan2?f3 expanders.
12
150e407a
NC
132004-04-29 Nick Clifton <nickc@redhat.com>
14
15 Bug 14093
16 * config/sh/sh-protos.h (sh_promote_prototypes): Declare.
17 * config/sh/sh.c (sh_promote_prototypes): Remove declaration.
18 Delete static from definition.
19 * config/sh/sh.h (FUNCTION_VALUE): Add sh_promote_prototypes call.
20
6862f97f
UB
212004-04-30 Uros Bizjak <uros@kss-loka.si>
22
23 * reg-stack.c (subst_stack_regs_pat): <UNSPEC_SIN, UNSPEC_COS,
24 UNSPEC_FRNDINT, UNSPEC_F2XM1>: abort() if src1 dies.
25 <UNSPEC_SINCOS_COS, UNSPEC_TAN_ONE, UNSPEC_XTRACT_FRACT>: Same.
26 <UNSPEC_SINCOS_SIN, UNSPEC_TAN_TAN, UNSPEC_XTRACT_EXP>: Same.
27
c65a01af
RG
282004-04-29 Richard Guenther <richard.guenther@uni-tuebingen.de>
29
30 * commom.opt (Wfatal-errors): Add it.
31 * diagnostic.c (flag_fatal_errors): Define it.
32 (diagnostic_action_after_output): Check for flag_fatal_errors.
33 * flags.h (flag_fatal_errors): Declare it.
34 * opts.c (common_handle_option): Add OPT_Wfatal_errors.
35 * doc/invoke.texi (Warning Options): Document -Wfatal-errors.
36
d1c6a401
JZ
372004-04-30 Josef Zlomek <zlomekj@suse.cz>
38
39 * gcse.c (remove_reachable_equiv_notes): Delete notes also in
40 blocks which have kill flag set.
41
99c012a8
BE
422004-04-29 Ben Elliston <bje@au.ibm.com>
43
44 * configure.ac (--with-as): Abort if user-supplied assembler
45 cannot be executed.
46 (--with-ld): Likewise for the linker.
47 * configure: Regenerate.
48
d2be4368
KG
492004-04-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
50
51 * convert.c (convert_to_integer): Ensure `long_integer_type_node'
52 isn't NULL before using it.
53
15a6f2c3
RS
542004-04-29 Richard Sandiford <rsandifo@redhat.com>
55
56 PR target/15189
57 * config/mips/mips.md (load_df_low): Use default length.
58 (load_df_high, store_df_high): Likewise.
59
effa5d5d
KH
602004-04-29 Kazu Hirata <kazu@cs.umass.edu>
61
62 * config/mips/mips.md, config/mips/sb1.md,
63 config/rs6000/rs6000.c: Fix comment typos.
64
2b8a92de
KH
652004-04-29 Kazu Hirata <kazu@cs.umass.edu>
66
67 * builtins.c, cgraph.c, cgraphunit.c, final.c, fold-const.c:
68 Fix comment typos.
69
8fd58397
DR
702004-04-29 Douglas B Rupp <rupp@gnat.com>
71
72 * gcc.c (DELETE_IF_ORDINARY): New macro default definition.
73 (delete_if_ordinary): Use above macro.
74 * config/alpha/xm-vms.h (DELETE_IF_ORDINARY): New macro VMS definition.
75 Update copyright.
76 * doc/hostconfig.texi (DELETE_IF_ORDINARY): Document new macro.
77
56141a6a
RE
782004-04-29 Richard Earnshaw <rearnsha@arm.com>
79
80 * c-decl.c (get_parm_info): Use the correct tag keywords when
81 warning about type declarations in prototypes.
82
2682e19f
PB
832004-04-29 Paul Brook <paul@codesourcery.com>
84
85 * config.gcc: Pull list of cores from arm-cores.def.
86
c6fb08ad
PB
872004-04-29 Paolo Bonzini <bonzini@gnu.org>
88
89 * combine.c (combine_simplify_rtx): Adjust call to use
90 simplify_relational_operation. Do not use SELECT_CC_MODE
91 when a comparison already has a MODE_CC mode.
0bf87ea5
PB
92
932004-04-29 Paolo Bonzini <bonzini@gnu.org>
94
c6fb08ad
PB
95 (simplify_set): simplify_relational_operation may now
96 return another relational expression.
97 * cse.c (fold_rtx): simplify_relational_operation now
98 takes of computing the comparison mode.
99 * dojump.c (compare_from_rtx): Use simplify_relational_operation,
100 remove dead code.
101 (do_compare_rtx_and_jump): Likewise.
102 * integrate.c (subst_constants): simplify_relational_operation
103 may now return another relational expression.
104 * simplify-rtx.c (simplify_gen_relational): Move most code to
105 the new simplify_relational_operation and
106 simplify_relational_operation_1 functions.
107 (simplify_relational_operation): Rewritten.
108 (simplify_relational_operation_1): New function.
109 (simplify_ternary_operation): simplify_relational_operation
110 may now return another relational expression.
111 (simplify_rtx): Remove unnecessary temp variable.
112
f964bd29
UB
1132004-04-29 Uros Bizjak <uros@kss-loka.si>
114
2682e19f
PB
115 * reg-stack.c (swap_to_top): New function.
116 (subst_stack_regs_pat): UNSPEC_FPATAN, UNSPEC_FYL2X: Use
117 swap_to_top().
118 (subst_stack_regs_pat): UNSPEC_FSCALE: Remove.
119 (subst_stack_regs_pat): Handle UNSPEC_FSCALE_FRACT and
120 UNSPEC_FSCALE_EXP.
f964bd29 121
2682e19f
PB
122 * config/i386/i386.md (UNSPEC_FSCALE): Remove.
123 (*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): Remove insn pattern.
124 (UNSPEC_FSCALE_FRACT, UNSPEC_FSCALE_EXP): New unspecs to represent
125 x87's fscale insn.
126 (*fscalexf4: Define new insn pattern to implement x87 fscale insn.
127 (exp?f2, exp10?f2, exp2?f2): Use *fscalexf4 and float_truncate
128 patterns.
f964bd29 129
cb83302c
SB
1302004-04-28 Serge Belyshev <1319@bot.ru>
131
132 PR 14944
133 * coverage.c (read_counts_file): Fix usage of warning () call.
134 * pretty-print.c (pp_base_format_text): Fix typo in the comment.
135
5ad7ae7f
BE
1362004-04-28 Ben Elliston <bje@au.ibm.com>
137
138 * doc/invoke.texi (Objective-C Dialect Options): Don't prefix
139 options with "-" in the option index.
140 (SPARC Options): Likewise.
141 (M32R/D Options): Likewise.
142
332d782c
KG
1432004-04-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
144
145 * convert.c (convert_to_integer): Convert (long)round -> lround,
146 etc.
147
90f81f99
AP
1482004-04-28 Andrew Pinski <pinskia@physics.uc.edu>
149
150 * config/rs6000/rs6000.c (registers_ok_for_quad_peep):
151 Return false if we do not have fp register.
152 (addrs_ok_for_quad_peep): Rename to ...
153 (mems_ok_for_quad_peep): this.
154 Add check for volatile memory.
155 * config/rs6000/rs6000-protos.h (addrs_ok_for_quad_peep):
156 Rename to ...
157 (mems_ok_for_quad_peep): this.
158 * config/rs6000/rs6000.md: Change peephole's for lfq/stq
159 to peephole2's.
160 (lfq_power2): New instruction.
161 (stfq_power2): Likewise.
162
902edd36
JH
1632004-04-28 Jan Hubicka <jh@suse.cz>
164
165 PR c/15004
166 * function.c (do_warn_unused_parameter): Break out form ...
167 (expand_function_end): ... here; warn only when not using cgraphunit.
168 * function.h (do_warn_unused_parameter): Declare.
169 * cgraphunit.c: Include function.h.
170 (cgraph_finalize_function): Do unused parameter warning.
171 * Makefile.in (cgraphunit.o): Depend on function.h
172
a89f5df3
JM
1732004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
174
175 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Don't condition
176 calling install-info on $(DESTDIR)$(infodir)/dir already being
177 present.
178
40f0b3ee
PB
1792004-04-28 Paul Brook <paul@codesourcery.com>
180
181 * dwarf2out.c (mem_loc_descriptor): Handle shifts.
182
c2e2375e
UW
1832004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
184
185 * gcse.c (find_moveable_store): Do not accept store insns with
186 REG_EH_REGION note.
187
9e1622ed
PB
1882004-04-28 Paul Brook <paul@codesourcery.com>
189
190 * calls.c (precompute_arguments): Remove PROMOTE_FOR_CALL_ONLY.
191 * function.c (assign_temp): Ditto.
192 * system.h (PROMOTE_FOR_CALL_ONLY): Poison.
193
e0d4a859
PB
1942004-04-28 Paul Brook <paul@codesourcery.com>
195
196 * config/arm/lib1funcs.asm: Recognize armv5tej and armv6.
197
83532fb7
JZ
1982004-04-28 Josef Zlomek <zlomekj@suse.cz>
199
200 * var-tracking.c (variable_different_p): Add a parameter
201 compare_current_location, compare current location of variable parts
202 if it is true.
203 (dataflow_set_different_1): Pass compare_current_location == false.
204 (dataflow_set_different_2): Pass compare_current_location == false.
205 (emit_notes_for_differences_1): Pass compare_current_location == true.
206
cfa29496
UW
2072004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
208
209 * config/s390/s390.md ("casesi"): Mark jump table access as
210 non-trapping and unchanging.
211
23959f19
JDA
2122004-04-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
213
214 PR debug/14829
215 * dwarf2out.c (reg_number): Rename to dbx_reg_number. Adjust all
216 callers.
217 (multiple_reg_loc_descriptor, reg_loc_descriptor): Use gcc register
218 number for indexing hard_regno_nregs array.
219
2f70eed1
GK
2202004-04-27 Geoffrey Keating <geoffk@apple.com>
221
222 * config/darwin.h (STARTFILE_SPEC): Use %s to find crt2.o.
223 * config/darwin-crt2.c: Only have contents on __ppc__.
224
f1dfe704
BW
2252004-04-27 Bob Wilson <bob.wilson@acm.org>
226
227 * config/xtensa/xtensa.c (call_insn_operand): Check
228 SYMBOL_REF_EXTERNAL_P in addition to SYMBOL_REF_LOCAL_P.
229 * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND): Likewise.
230 * config/xtensa/xtensa.md (call, call_value): Likewise.
231
80408cac
WY
2322004-04-27 Wu Yongwei <adah@sh163.net>
233
234 * gthr-win32.h (__gthread_mutex_t): Change typedef to new structure.
235 (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
236 (__gthread_mutex_init_function): Replace CreateMutex with
237 initialization of custom mutex using CreateSemaphore.
238 (__gthread_mutex_lock): Use InterlockedIncrement.
239 (__gthread_mutex_trylock): Use InterlockedCompareExchange.
240 (__gthread_mutex_unlock): Use InterlockedDecrement and
241 ReleaseSemaphore to unlock
242 * config/i386/gthr-win32.c (__gthread_mutex_init_function,
243 __gthread_mutex_lock, __gthread_mutex_trylock,
244 __gthread_mutex_unlock): Adjust to match inline versions in
245 gthr-win32.h.
246
70301b45
PB
2472004-04-27 Paul Brook <paul@codesourcery.com>
248
249 * config/arm/arm.c (arm_promote_prototypes): New function.
250 (TARGET_PROMOTE_PROTOTYPES): Use it.
251
4b763d77
PB
2522004-04-27 Paul Brook <paul@codesourcery.com>
253
254 * config/arm/arm.c (arm_expand_epilogue): Count blocks of 4 regs.
255
7053a0e2
BG
2562004-04-26 Bernard Giroud <bgiroud@free.fr>
257
258 * config/alpha.c (alpha_end_function): For OpenVMS gas,
259 correctly output .pdesc directive before .end.
260
6d7870d1
JW
2612004-04-26 James E Wilson <wilson@specifixinc.com>
262
263 Bug 14927
264 * config/ia64/ia64.md (movxf): New local op0. Handle case where
265 operands[0] is a SUBREG. Handle case where operands[1] is a GR reg.
266
7dd7fb88
ZW
2672004-04-26 Zack Weinberg <zack@codesourcery.com>
268
269 * config/ia64/hpux.h: Predefine __STDCPP__ when compiling C++.
270 * config/pa/pa-hpux10.h: Likewise.
271 * config/pa/pa-hpux11.h: Likewise.
272
488061c8
GK
2732004-04-26 Geoffrey Keating <geoffk@apple.com>
274
275 * doc/invoke.texi (Overall Options): Document default for -o
276 for PCH files.
277
2b92e7f5
RK
2782004-04-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
279
280 * builtins.c (expand_builtin_update_setjmp_buf): New function.
281 (expand_builtin, case BUILT_IN_UPDATE_SETJMP_BUF): New case.
282 * builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): New code.
283
3657dc3e
PB
2842004-04-26 Paul Brook <paul@codesourcery.com>
285
286 * config/arm/arm.c (arm_legitimate_index_p): Correct iwmmxt offsets.
287
778ebdd9
PB
2882004-04-26 Paul Brook <paul@codesourcery.com>
289
290 * config/arm/arm.c (arm_legitimate_index_p): Correct maverick offsets.
291
7c95f621
RS
2922004-04-25 Roger Sayle <roger@eyesopen.com>
293
294 * fold-const.c (fold): Prefer fold_convert (negate_expr (...)) to
295 fold (build1 (NEGATE_EXPR, ...)). Optimize X / -1 as -X and
296 X % -1 as 0.
297
29c246a7
HPN
2982004-04-26 Hans-Peter Nilsson <hp@bitrange.com>
299
300 PR bootstrap/15141
301 * except.c (connect_post_landing_pads): Delete insns after the
302 barrier when generating a unwind_resume_libfunc call.
303
95df09f0
RK
3042004-04-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
305
306 PR/c++ 15119
307 * tree.c (substitute_placeholder_in_expr, case 4): New case,
308 for TARGET_EXPR.
309
3102004-04-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
060c5f00
ZD
311
312 * gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
313 __gcov_execv, __gcov_execvp, __gcov_execve): Do not declare when
314 inhibit_libc is defined.
315
39ba1719
RS
3162004-04-25 Richard Sandiford <rsandifo@redhat.com>
317
318 * config/mips/mips-protos.h (mips_linked_macc_p): Declare.
319 * config/mips/mips.h (TUNE_MACC_CHAINS): New macro.
320 * config/mips/mips.c (TARGET_SCHED_REORDER): Define.
321 (TARGET_SCHED_VARIABLE_ISSUE): Define.
322 (mips_adjust_cost): Move later in file, next to other sched hooks.
323 (mips_macc_chains_last_hilo): New variable.
324 (mips_linked_madd_p, mips_macc_chains_record, mips_macc_chains_reorder)
325 (mips_promote_ready, mips_sched_reorder, mips_variable_issue): New.
326 * config/mips/mips.md (may_clobber_hilo): New attribute.
327
d3535e80
RS
3282004-04-24 Roger Sayle <roger@eyesopen.com>
329 Bruce Korb <bkorb@gnu.org>
330
331 * fixinc/inclhack.def (aix_syswait_2): New fix.
332 * fixinc/fixincl.x: Regenerate.
333 * fixinc/tests/base/sys/wait.h: Update for new test.
334
44688022
AM
3352004-04-24 Alan Modra <amodra@bigpond.net.au>
336
337 PR target/14960
338 * config/rs6000/rs6000.c (rs6000_stack_info): Rename total_raw_size
339 to non_fixed_size, and leave out fixed_size from the sum.
340 (generate_set_vrsave): Correct clobbers.
341 (rs6000_emit_epilogue): Test TARGET_ALTIVEC with TARGET_ALTIVEC_SAVE.
342 (rs6000_function_value): Test TARGET_ALTIVEC and TARGET_ALTIVEC_ABI.
343 (rs6000_libcall_value): Likewise.
344 * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Likewise.
345 (FUNCTION_ARG_REGNO_P): Likewise.
346
77278891
UW
3472004-04-24 Ulrich Weigand <uweigand@de.ibm.com>
348
349 * expmed.c (expand_mult_highpart_adjust): Do not assume OP1
350 is a CONST_INT.
351 (expand_mult_highpart_optab): Call expand_mult_highpart_adjust
352 with NARROW_OP1 instead of OP1.
353
170f9e63
UW
3542004-04-24 Ulrich Weigand <uweigand@de.ibm.com>
355
356 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __s390__
357 and __s390x__ hosts.
358
d1c38823
ZD
3592004-03-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
360
361 * Makefile.in (LIBGCOV): Add _gcov_fork, _gcov_execl, _gcov_execlp,
362 _gcov_execle, _gcov_execv, _gcov_execvp, _gcov_execve.
363 * builtin-types.def (BT_PID, BT_PTR_CONST_STRING, BT_FN_PID,
364 BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
365 BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING): New.
366 * builtins.c (expand_builtin_fork_or_exec): New.
367 (expand_builtin): Call it.
368 * builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP,BUILT_IN_EXECLE,
369 BUILT_IN_EXECV, BUILT_IN_EXECVP, BUILT_IN_EXECVE, BUILT_IN_FORK): New.
370 * c-common.c (PID_TYPE): New macro.
371 (c_common_nodes_and_builtins): Initialize pid_type_node.
372 * calls.c (special_function_p): Do not handle fork and exec.
373 (expand_call): Do not handle ECF_FORK_OR_EXEC.
374 * gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
375 __gcov_execv, __gcov_execvp, __gcov_execve): Declare.
376 * libgcov.c (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
377 __gcov_execv, __gcov_execvp, __gcov_execve): New.
378 * tree.h (enum tree_index): Add TI_PID_TYPE.
379 (pid_type_node): New macro.
380 (ECF_FORK_OR_EXEC): Removed.
381
1548580c
EB
3822004-04-23 Eric Botcazou <ebotcazou@libertysurf.fr>
383
384 PR optimization/13985
385 * cfgloopmanip.c (fix_loop_placements): New prototype.
386 Call fix_bb_placements on the preheader of loops that have
387 been reparented.
388 (remove_path): Adjust call to fix_loop_placements.
389
9b2d02a0
AP
3902004-04-23 Andrew Pinski <pinskia@physics.uc.edu>
391
392 * config/darwin7.h: New file.
393 * config.gcc (*-*-darwin*): Add darwin7.h if the
394 version is greater than 6.
395 * config/darwin.h (TARGET_C99_FUNCTIONS): Define.
396 (MATH_LIBRARY): Wrap in ifdefs.
397
01d4c813
DJ
3982004-04-23 Daniel Jacobowitz <drow@mvista.com>
399
400 * config/arm/arm.c (arm_output_epilogue): Reverse the order of
401 loading iWMMXt registers with a frame pointer. Use post-increment
402 without a frame pointer.
403 (arm_expand_prologue): Reverse the order of saving iWMMXt registers.
404
7797ff53
PB
4052004-04-23 Paolo Bonzini <bonzini@gnu.org>
406
407 * doc/invoke.texi (Optimize Options): Refer to "unit-at-a-time
408 mode" rather than "-funit-at-a-time" since -O2 enables it
409 without requiring -f* options. Refer to -fprofile-generate and
410 -fprofile-use correctly. Move -funit-at-a-time among options
411 enabled by -O. Add information about unit-at-a-time caveats.
412
500bee0a
PB
4132004-04-22 Per Bothner <per@bothner.com>
414
415 * line-map.h (struct line_maps): New field highest_line.
416 (linemap_position_for_column): Make non-inline function.
417 (LINEMAP_POSITION_FOR_COLUMN): New macro.
418 * line-map.c (linemap_init): Clear highest_line field.
419 (linemap_add): Set highest_line field.
420 (linemap_line_start): Minor optimization - use highest_line field.
421 Reduce maximum column hint to 10000. Update highest_line field.
422 (linemap_position_for_column): Moved from line-map.h. Optimize a bit.
423 * cpphash.h (struct cpp_reader): Remove line field - instead use
424 line_table->highest_line.
425 (saved_line): Remove unused field.
426 (CPP_INCREMENT_FILE): Don't do linemap_lookup - just use newest map.
427 Use line_table's highest_line field instead of cpp_reader's line.
428 * cpplib.c (start_directive): Likewise use highest_line field.
429 (do_line, do_linemarker): Likewise just use newest map.
430 (_cpp_do_file_change): Don't need to set cpp_reader's line field.
431 * cpperror.c (cpp_error): Likewise use highest_line field.
432 * cppfiles.c (open_file_failed: Likewise.
433 (cpp_make_system_header): Likewise use newest map and highest_line.
434 * cppinit.c (cpp_create_reader): Don't initialize removed field.
435 * cpplex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
436 skip_line_comment, skip_whitespace, _cpp_get_fresh_line,
437 _cpp_lex_direct): Likewise use highest_line.
438 (_cpp_lex_direct): Use new LINEMAP_POSITION_FOR_COLUMN macro.
439 * cppmacro.c (_cpp_builtin_macro_text): Likewise use highest_line,
440 and use newest map.
441 * cpppch.c (cpp_read_state): Don't save+restore cpp_reader's line.
442 * cpptrad.c (_cpp_overlay_buffer): Don't save cpp_reader's line.
443 (copy_comment, _cpp_scan_out_logical_line): Likewise use highest_line.
444
8efcd34f
AM
4452004-04-23 Alan Modra <amodra@bigpond.net.au>
446
9344fdb9 447 PR bootstrap/14992
8efcd34f
AM
448 * gcc.c (init_gcc_specs): Test USE_LD_AS_NEEDED, not HAVE_LD_AS_NEEDED.
449 * config/linux.h (USE_LD_AS_NEEDED): Define.
450 * gcc/config/alpha/linux.h (USE_LD_AS_NEEDED): Define.
451 * gcc/config/arm/linux-elf.h (USE_LD_AS_NEEDED): Define.
452 * gcc/config/rs6000/linux.h (USE_LD_AS_NEEDED): Define.
453 * gcc/config/rs6000/linux64.h (USE_LD_AS_NEEDED): Define.
454 * gcc/config/sh/linux.h (USE_LD_AS_NEEDED): Define.
455 * gcc/config/sparc/linux.h (USE_LD_AS_NEEDED): Define.
456 * gcc/config/sparc/linux64.h (USE_LD_AS_NEEDED): Define.
457
3092d0fc
PB
4582004-04-22 Per Bothner <per@bothner.com>
459
460 * cppinit.c (cpp_read_main_file): Return NULL rather than false.
461 Fixes PR preprocessor/15067.
462
e203404e
AS
4632004-04-23 Andreas Schwab <schwab@suse.de>
464
465 * config/ia64/ia64intrin.h: Add intermediate cast to void * to
466 avoid aliasing warning.
467
bade3a00 4682004-04-22 Jan Hubicka <jh@suse.cz>
bdabb153 469 Mostafa Hagog <mustafa@il.ibm.com>
bade3a00
JH
470
471 * cfgloopmanip.c (scale_bbs_frequencies): Use RDIV macro
472 * cfgloopanal.c (expected_loop_iterations): Change the return value
473
fb5d4a68
JJ
4742004-04-22 Jakub Jelinek <jakub@redhat.com>
475
476 * cselib.h (struct elt_loc_list): Remove canon_loc field.
477 * cselib.c (new_elt_loc_list): Remove canon_loc initialization.
478 (cselib_invalidate_mem): Remove all canon_loc and canon_x
479 traces.
480
b10e5b3a
JZ
4812004-04-22 Josef Zlomek <zlomekj@suse.cz>
482
483 Revert
484 2004-04-20 Josef Zlomek <zlomekj@suse.cz>
485
486 * var-tracking.c (variable_part_different_p): Variable parts
487 differ when the most recent locations differ.
488
827555ea
RS
4892004-04-22 Richard Sandiford <rsandifo@redhat.com>
490
491 * doc/invoke.texi: Remove the MIPS -membedded-pic option.
492 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): Delete.
493 (embedded_pic_offset): Delete.
494 * config/mips/mips.h (MASK_EMBEDDED_PIC): Delete. Shuffle other
495 MASK_* constants.
496 (TARGET_EMBEDDED_PIC): Delete.
497 (TARGET_SWITCHES): Remove -m{no-,}embedded-pic.
498 (ASM_SPEC): Remove -membedded-pic.
499 (ASM_OUTPUT_ADDR_DIFF_ELT): Remove embedded-pic handling.
500 (ASM_OUTPUT_CASE_LABEL): Likewise.
501 * config/mips/vxworks.h (ASM_SPEC): Remove -membedded-pic.
502 * config/mips/windiss.h (ASM_SPEC): Likewise.
503 * config/mips/mips.c (struct machine_function): Remove
504 embedded_pic_fnaddr_rtx.
505 (TARGET_ENCODE_SECTION_INFO): Remove override.
506 (embedded_pic_fnaddr_reg, embedded_pic_offset): Delete.
507 (override_options): Remove -membedded-pic handling.
508 (print_operand): Remove handling of '%S'.
509 (mips_select_section: Remove -membedded-pic handling.
510 (mips_encode_section_info): Delete.
511 (mips_output_conditional_branch): Remove mention of -membedded-pic.
512 * config/mips/mips.md (define_attr length, movsi, movdi, jump): Remove
513 -membedded-pic handling.
514 (casesi, casesi_internal, casesi_internal_di, get_fnaddr): Delete.
515
00ca716b
AM
5162004-04-22 Alan Modra <amodra@bigpond.net.au>
517
518 * var-tracking.c (frame_base_decl): Remove useless GTY.
519
e4463bf1
AH
5202004-04-21 Aldy Hernandez <aldyh@redhat.com>
521
522 * config/rs6000/rs6000.c (rs6000_override_options): Error when
523 user wants altivec and e500 instructions.
524
e24e0aa7
L
5252004-04-21 H.J. Lu <hongjiu.lu@intel.com>
526
527 PR target/14813
528 * config/ia64/crtend.asm: Move pointer to __do_global_ctors_aux
529 in .init_array section to ...
530 * config/ia64/crtbegin.asm: Here.
531
532 * config/ia64/crtend.asm: Mark __do_global_ctors_aux global
533 and hidden if HAVE_INITFINI_ARRAY is defined.
534
cb7761f5
JW
5352004-04-21 James E Wilson <wilson@specifixinc.com>
536
50d32cf6
JW
537 * config/mips/mips-protos.h (fp_register_operand, lo_operand): Declare.
538 * config/mips/mips.c (mips_multipass_dfa_lookahead): Declare.
539 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): New.
540 (fp_register_operand, lo_operand): New.
541 (mips_rtx_costs): Add TUNE_SB1 support.
542 (mips_issue_rate): Add comment. Add PROCESSOR_SB1 support.
543 (mips_use_dfa_pipeline_interface): Add PROCESSOR_SB1 support.
544 (mips_multipass_dfa_lookahead): New.
545 * config/mips/mips.h (MASK_FP_EXCEPTIONS, TARGET_FP_EXCEPTIONS,
546 TUNE_SB1): New.
547 (TARGET_SWITCHES): Add -mfp-exceptions support.
548 (TARGET_FP_EXCEPTIONS_DEFAULT): New.
549 (BRANCH_COST): Fix whitespace.
550 * config/mips/mips.md: Include sb1.md.
551 * config/mips/sb1.md: New file.
552 * doc/invoke.texi: Document -mfp-exceptions.
553
cb7761f5
JW
554 * Makefile.in (fixinc.sh): Don't set or export WARN_CFLAGS. Fix
555 comment.
556 * fixinc/Makefile.in (FL_LIST): Don't mention WARN_CFLAGS.
557 (fixincl.o-warn): Delete.
558
a031e781
AP
5592004-04-21 Andrew Pinski <pinskia@physics.uc.edu>
560
561 * config/rs6000/rs6000 (print_operand) ['z']:
562 Change ifdef of TARGET_MACHO to if TARGET_MACHO.
563
06a6469a
DJ
5642004-04-21 Daniel Jacobowitz <drow@mvista.com>
565
566 * config.gcc: Support --with-arch=iwmmxt for ARM.
567
665acd1e
RK
5682004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
569
570 * expmed.c (expand_mult_highpart_optab): Use narrower version of OP1
571 in two more places; remove unneeded force_reg
572
f9da97f0
AP
5732004-04-21 Andrew Pinski <pinskia@physics.uc.edu>
574
575 * config/rs6000/rs6000.c (symbol_ref_operand): Remove hack
576 for TARGET_MACHO.
577 (print_operand): For TARGET_MACHO check to see if we need a stub
578 and output one if we need it.
de3c6d93
AP
579
580 PR debug/15033
581 * dwarf2out.c (rtl_for_decl_location): Check for NULL
582 rtl.
583
75293ad6
JW
5842004-04-20 James E Wilson <wilson@specifixinc.com>
585
586 * config/ia64/ia64.md (call_value_nogp): Add constraints for op0.
587 (vall_value_gp): Likewise.
588
8b495402 5892004-04-20 DJ Delorie <dj@redhat.com>
7dd7fb88 590
8b495402
DD
591 * dwarf2out.c (rtl_for_decl_location): Adjust rtl for byte
592 variables stored in word registers, then in memory.
593
77a705e4
EC
5942004-04-20 Eric Christopher <echristo@redhat.com>
595
596 * cp/parser.c (cp_parser_declaration): Move translate
597 up before tokens are lexed.
598
c56122d8
UB
5992004-04-20 Uros Bizjak <uros@kss-loka.si>
600
601 * optabs.h (enum optab_index): Add new OTI_asin and OTI_acos.
602 (asin_optab, acos_optab): Define corresponding macros.
603 * optabs.c (init_optabs): Initialize asin_optab and acos_optab.
604 * genopinit.c (optabs): Implement asin_optab and acos_optab
605 using asin?f2 and acos?f2 patterns.
606 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_ASIN{,F,L}
607 using asin_optab, and BUILT_IN_ACOS{,F,L} using acos_optab.
608 (expand_builtin): Expand BUILT_IN_ASIN{,F,L} and BUILT_IN_ACOS{,F,L}
609 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
610
611 * config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2,
612 acossf2, acosxf2): New expanders to implement asin, asinf, asinl,
613 acos, acosf and acosl built-ins as inline x87 intrinsics.
614
386d3a16
PB
6152004-04-20 Paul Brook <paul@codesourcery.com>
616
617 * config/arm/arm.c (arm_legitimate_address_p): Use rtx_equal_p.
618
7aebacee
PB
6192004-04-20 Paul Brook <paul@codesourcery.com>
620
621 * config/arm/arm.c (arm_expand_prologue): Fix size calculation.
622
a7b1dc36
PB
6232004-04-20 Paolo Bonzini <bonzini@gnu.org>
624
625 Revert part of 2004-04-17 change that moved -frename-registers
626 to -O1. -frename-registers is buggy.
627
628 * toplev.c (flag_rename_registers): Initialize to 0.
629 * doc/invoke.texi (Optimize options): Move -frename-registers
630 to "Not triggered by any -O level" section. Adjust commentary
631 accordingly.
77a705e4 632
1548580c 6332004-04-20 Anil Paranjpe <anilp1@kpitcummins.com>
57bef48e
AP
634
635 * toplev.c (compile_file): Move targetm.asm_out.file_end call to end.
636
169304de
RS
6372004-04-20 Richard Sandiford <rsandifo@redhat.com>
638
639 * config/mips/mips.c (mips_legitimize_move): Generate special patterns
640 for mflo and mfhi instructions.
641 (mips_output_move): Remove mflo and mfhi handling.
642 * config/mips/mips.md (UNSPEC_MFHILO): New unspec.
643 (*mulsidi3_64bit): Update for new mfhi/mflo representation.
644 Likewise various define_peephole2s.
645 (*movdi_32bit, *movdi_64bit, *movsi_internal): Merge x<-J and x<-d
646 alternatives.
647 (*movdi_64bit, *movdi_64bit_mips16, *mov[shq]i_internal)
648 (*mov[shq]i_mips16): Remove mflo and mfhi alternatives.
649 (mfhilo_di, mfhilo_si): New patterns.
650
c6ca23fb
JZ
6512004-04-20 Josef Zlomek <zlomekj@suse.cz>
652
653 * function.c (assign_parms): Force
654 MEM_EXPR (DECL_INCOMING_RTL (parm)) == parm.
655
6f615a28
JZ
6562004-04-20 Josef Zlomek <zlomekj@suse.cz>
657
658 * var-tracking.c (variable_part_different_p): Variable parts differ
659 when the most recent locations differ.
660
a1bac22c
JW
6612004-04-19 James E Wilson <wilson@specifixinc.com>
662
663 * rtl.h (reg_set_last): Delete declaration.
664 * rtlanal.c (reg_set_last): Delete.
665
e419fe91
RS
6662004-04-19 Roger Sayle <roger@eyesopen.com>
667
668 * fold-const.c (fold_convert): Make function extern/public.
669 * tree.h (fold_convert): Prototype here.
670 * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
671 expand_builtin_strrchr, expand_builtin_strpbrk,
672 expand_builtin_mempcpy, expand_builtin_bcopy,
673 expand_builtin_bzero, expand_builtin_memcmp,
674 expand_builtin_strcmp, expand_builtin_strncmp,
675 stabilize_va_list, expand_builtin_sprintf,
676 fold_trunc_transparent_mathfn, fold_builtin_logarithm,
677 fold_builtin_exponent, fold_builtin_mempcpy,
678 fold_builtin_strcpy, fold_builtin_strcmp, fold_builtin_strncmp,
679 fold_builtin_signbit, fold_builtin_isdigit, fold_builtin): Prefer
680 fold_convert to "convert" or "fold (build1 (NOP_EXPR, ...))".
681
423c1189
AH
6822004-04-19 Aldy Hernandez <aldyh@redhat.com>
683
7dd7fb88
ZW
684 * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): New constant.
685 (move_from_CR_gt_bit): New.
686 (cceq_ior_compare): Name previously unnamed pattern. Disable for
687 E500.
688 (cceq_rev_compare): Name previously unnamed pattern. Allow for
689 E500.
690
691 * config/rs6000/spe.md (cmpsfeq_gpr): Rewrite as unspec.
692 (tstsfeq_gpr): Same.
693 (cmpsfgt_gpr): Same.
694 (tstsfgt_gpr): Same.
695 (cmpsflt_gpr): Same.
696 (tstsflt_gpr): Same.
697 (e500_cceq_ior_compare): New.
698 (e500_flip_gt_bit): New.
699
700 * config/rs6000/rs6000.c (ccr_bit): Remove E500 specific code.
701 (print_operand): Add 'c' and 'D'.
702 (rs6000_generate_compare): Rewrite to generate correct rtl.
703 (rs6000_emit_sCOND): Handle E500.
704 (output_cbranch): Adjust for changes in rs6000_generate_compare.
705 (output_e500_flip_gt_bit): New.
706
707 * config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit):
708 Protoize.
423c1189 709
d2beeae7
EC
7102004-04-19 Eric Christopher <echristo@redhat.com>
711
712 * config/mips/mips.h (DWARF2_ADDR_SIZE): New.
713
06e7f299
DE
7142004-04-19 David Edelsohn <edelsohn@gnu.org>
715
716 * doc/install.texi (*-ibm-aix*): Add AIX 5.1 assembler and archiver
717 fix information.
d2beeae7 718
8df5a2b4
RO
7192004-04-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
720
721 * doc/install.texi (Specific, mips-sgi-irix5): Fix IRIX 5.3 IDO
722 download URL.
723
9ca75f15
DJ
7242004-04-19 Daniel Jacobowitz <drow@mvista.com>
725
726 * stor-layout.c (layout_decl): Check DECL_PACKED before calling
727 ADJUST_FIELD_ALIGN. Check maximum_field_alignment after.
728
4b493aa5
AP
7292004-04-19 Andrew PInski <pinskia@physics.uc.edu>
730
66a5d24b
AP
731 * builtins.c (fold_builtin_cabs): Remove fndecl parameter.
732 (fold_builtin): Update caller to match.
733
4b493aa5
AP
734 PR bootstrap/15009
735 * bb-reorder.c (fix_up_fall_thru_edges): Init cond_jump.
736
737 PR bootstrap/14999
738 * builtins.c (fold_builtin_cabs): Mark fndecl as unused.
739
3d8f2528
RK
7402004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
741
a3d71605
RK
742 * varasm.c (compare_constant, case VIEW_CONVERT_EXPR): Add case.
743
3d8f2528
RK
744 * expmed.c (expand_mult_highpart_adjust): Make OP1 valid for MODE.
745 (expand_mult_highpart_optab): Likewise.
746 (expand_mult_highpart): Make OP1 valid for WIDER_MODE, not MODE.
747
6f6c1f6d
PB
7482004-04-19 Paul Brook <paul@codesourcery.com>
749
750 * config/arm/arm.md (fixuns_truncsfsi2, fixuns_truncdfsi2,
751 floatunssisf2, floatunssidf2): New patterns.
752
fea77ed9
MM
7532004-04-18 Mark Mitchell <mark@codesourcery.com>
754
33adcb6c
MM
755 PR other/14918
756 * doc/invoke.texi (-fprofile-generate): Document requirement to
757 use -fprofile-generate when linking.
758
fea77ed9
MM
759 * doc/extend.texi (Strong Using): Warn users against using this
760 feature.
761
76cbf5bf
RS
7622004-04-18 Richard Sandiford <rsandifo@redhat.com>
763
764 * config/mips/mips-protos.h (m16_usym8_4, m16_usym5_4): Delete.
765 * config/mips/mips.h (mips_entry, mips_string_length): Delete.
766 (CONSTANT_POOL_BEFORE_FUNCTION, ASM_OUTPUT_POOL_EPILOGUE): Undefine.
767 * config/mips/mips.c (struct mips16_constant): Renamed from struct
768 constant. Propogate change throughout file.
769 (struct machine_function): Remove insns_len.
770 (mips_string_length, mips16_strings, string_constants): Delete.
771 (mips_classify_symbol): Return SYMBOL_CONSTANT_POOL for LABEL_REFs
772 when generating mips16 code. Remove special mips16 treatment of
773 string constants.
774 (mips_symbolic_constant_p): Allow mips16 constant pool accesses
775 to have the form LABEL+CONSTANT.
776 (mips_symbolic_address_p): Fix comment.
777 (m16_usym8_4, m16_usym5_4): Delete.
778 (mips_output_function_epilogue): Remove mips16 string handling.
779 (mips_output_mi_thunk): Call mips16_lay_out_constants.
780 (mips_select_section, mips_encode_section_info): Remove mips16
781 string handling.
782 (struct mips16_constant_pool): New.
783 (add_constant): Take a mips16_constant_pool structure. Keep pool
784 sorted into order of ascending mode size. Keep track of the highest
785 possible start address, taking padding and the masking of the base PC
786 value into account.
787 (dump_constants_1): New function, split out from dump_constants.
788 Handle vector constants. Use gen_consttable_{int,float} rather than
789 separate functions for each mode.
790 (dump_constants): Simplify. Use GET_MODE_ALIGNMENT. Use gen_align
791 rather than separate functions for each alignment.
792 (mips_find_symbol): Delete.
793 (mips16_insn_length): New function, split out from
794 mips16_lay_out_constants.
795 (mips16_rewrite_pool_refs): New function.
796 (mips16_lay_out_constants): Rework. Remove string handling.
797 Always create an inline constant pool.
798 * config/mips/mips.md (UNSPEC_CONSTTABLE_INT, UNSPEC_CONSTTABLE_FLOAT)
799 (UNSPEC_ALIGN): New constants.
800 (UNSPEC_CONSTTABLE_[QHSD]I, UNSPEC_CONSTTABLE_[SD]F): Delete.
801 (UNSPEC_ALIGN_[248]): Delete.
802 (consttable_int, consttable_float, align): New patterns.
803 (consttable_[qhsd]i, consttable_[sd]f, align_[248]): Delete.
804
8d33585c
AH
8052004-04-17 Aldy Hernandez <aldyh@redhat.com>
806
807 * config/rs6000/altivec.h (vec_any_numeric): Correct typo in
808 __unn_args_eq.
809
03e007d7
AM
8102004-04-17 Alan Modra <amodra@bigpond.net.au>
811
812 PR target/14715
813 * config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree
814 with STARTING_FRAME_OFFSET.
815
3bd06df7
RS
8162004-04-17 Richard Sandiford <rsandifo@redhat.com>
817
818 * config/mips/mips.h (PREDICATE_CODES): Add macc_msac_operand.
819 * config/mips/mips.c (macc_msac_operand): New function.
820 * config/mips/mips.md (*msac): Move after *macc.
821 (*msac2): New. Generalize macc-related peepholes so that they apply
822 to msac too.
823
38d396e5
PB
8242004-04-17 Paolo Bonzini <bonzini@gnu.org>
825
826 * opts.c (decode_options): Do not enable flag_rename_registers
827 and flag_web at -O3.
828 * toplev.c (flag_rename_registers): Initialize
829 flag_rename_registers and flag_web to
830 AUTODETECT_FLAG_VAR_TRACKING.
831 (default_debug_hooks): New global.
832 (process_options): Initialize default_debug_hooks. Warn if
833 -fvar-tracking specified but not supported by the current
834 debug format. Do not run var tracking at -O0 or if not
835 supported by the current debug format, even if
836 -fvar-tracking was given. If -fno-rename-registers
837 is not specified, always run register renaming if var
838 tracking is supported by the default debugging information
839 format for the target, and we are at -O1 or higher; similarly
840 for -fweb, but only at -O2 or higher.
841 * doc/invoke.texi (Optimize Options): Document this.
842
82e923f6
RS
8432004-04-17 Richard Sandiford <rsandifo@redhat.com>
844
845 * configure.ac (gcc_cv_ld_as_needed): Use AC_CACHE_CHECK.
846 * configure: Regenerate.
847
f645e2bd
RS
8482004-04-17 Richard Sandiford <rsandifo@redhat.com>
849
850 * gcc.c (used_arg): Check whether an option has been removed.
851
04db08db
RO
8522004-04-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
853
854 * config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2
855 debugging on Solaris 7 and up.
856
7e270317
RO
8572004-04-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
858
859 * doc/install.texi (Specific, mips-sgi-irix5): Reflect working
860 IRIX 5 port.
861 Remove -save-temps workaround, handled automatically.
862 Require GNU binutils 2.15 for debugging.
863 Remove SGI make warnings since GNU make is now required.
864 (Specific, mips-sgi-irix6): Some markup fixes.
865 Describe MIPSpro C problems and workarounds.
866 Mention working O32 ABI support.
867 Recommend GNU as 2.15 for O32 with debugging.
868 Remove description of fixed structure pass/return bug.
869
2d49ce67
DD
8702004-04-16 DJ Delorie <dj@redhat.com>
871
872 * sdbout.c (sdbout_one_type): Use TYPE_VALUES for enums, not
873 TYPE_FIELDS.
874 (sdbout_finish): Don't free deferred_global_decls; it's GC'd.
875
41067a2f
JDA
8762004-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
877
e6b75edc
JDA
878 * pa.md: Remove unnecessary declarations for asm_out_file.
879
7945b276
JDA
880 * pa64-regs.h (DBX_REGISTER_NUMBER): Simplify and correct mapping of
881 SAR register. Fix comment.
882 (ADDITIONAL_REGISTER_NAMES): Correct register number of SAR register
883 (%cr11).
884
41067a2f
JDA
885 * pa64-hpux.h (LIB_SPEC): Fix library specification used with GNU ld.
886
c805f22e
NC
8872004-04-16 Nick Clifton <nickc@redhat.com>
888
889 * config/arm/arm.c (arm_override_options): Revert previous patch.
890 * config/arm/t-xscale-elf: Disable iwmmxt multilibs until they can
891 be safely built.
892
8a897efe
KI
8932004-04-16 Kazuhiro Inaoka <inaoka dot kazuhiro at renesas dot com>
894
895 * config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian
896 bug.
897 (TARGET_LITTLE_ENDIAN, TARGET_BIG_ENDIAN,
898 TARGET_DEFAULT): Changed. Ditto.
899 (LITTLE_ENDIAN_BIT, TARGET_CPU_DEFAULT,
900 TARGET_ENDIAN_DEFAULT): Added. Ditto.
901 * config/m32r/little.h (TARGET_LITTLE_ENDIAN): Deleted.
902 (TARGET_ENDIAN_DEFAULT): Added.
903
b069dd3f
KG
9042004-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
905
906 * builtins.def (BUILT_IN_ISDIGIT, BUILT_IN_ISXDIGIT): Mark with
907 ATTR_CONST_NOTHROW_LIST.
908
df28deda
KG
9092004-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
910
911 PR/middle-end 14915
912 * builtins.c (expand_builtin_signbit): Test BYTES_BIG_ENDIAN, not
913 BITS_BIG_ENDIAN.
914
c87fbb0a
PH
9152004-04-15 Pat Haugen <pthaugen@us.ibm.com>
916
917 * ra-debug.c (ra_print_rtx): Add break's to case legs.
918
ea7b98d0
JW
9192004-04-14 James E Wilson <wilson@specifixinc.com>
920
921 * Makefile.in (fixinc.sh): Set WARN_CFLAGS to empty string.
922
69f9a345
NN
9232004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
924
925 * libada-mk.in: New file.
926 * configure.ac: Create libada-mk from libada-mk.in.
927 * configure: Regenerate.
928
88b28a31
UB
9292004-04-14 Uros Bizjak <uros@kss-loka.si>
930
931 * optabs.h (enum optab_index): Add new OTI_logb and OTI_ilogb.
932 (logb_optab, ilogb_optab): Define corresponding macros.
933 * optabs.c (init_optabs): Initialize logb_optab and ilogb_optab.
934 * genopinit.c (optabs): Implement logb_optab and ilogb_optab
935 using logb?f2 and ilogb?i2 patterns.
936 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOGB{,F,L}
937 using logb_optab, and BUILT_IN_ILOGB{,F,L} using ilogb_optab.
938 (expand_builtin): Expand BUILT_IN_LOGB{,F,L} and BUILT_IN_ILOGB{,F,L}
939 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
940
941 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_XTRACT_FRACT
942 and UNSPEC_XTRACT_EXP.
943
944 * config/i386/i386.md (*fxtractdf3, *fxtractsf3, *fxtractxf3): New
945 patterns to implement fxtract x87 instruction.
946 (logbdf2, logbsf2, logbxf2, ilogbsi2): New expanders to implement
947 logb, logbf, logbl, ilogb, ilogbf and ilogbl built-ins as inline x87
948 intrinsics.
949 (UNSPEC_XTRACT_FRACT, UNSPEC_XTRACT_EXP): New unspecs to represent
950 x87's fxtract insn.
951
ec6e4092
EC
9522004-04-14 Eric Christopher <echristo@redhat.com>
953
954 * config/mips/t-elf: Enable multilibs by default.
955
ef482a86
AT
9562004-04-14 Andreas Tobler <a.tobler@schweiz.ch>
957
958 * bb-reorder.c (fix_crossing_conditional_branches): Adjust the
959 previous fix to check HAVE_return at runtime too.
960
cd2b7af0
NC
9612004-04-14 Nick Clifton <nickc@redhat.com>
962
963 * config/arm/arm.c (arm_override_options): If the user has not
964 specified an ABI, then default to AAPCS for the iWMMXt processor.
965 * config/arm/t-xscale-elf: Remove redundant multilib specifications.
966 * config/arm/t-xscale-coff: Likewise.
967
61218d19
KG
9682004-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
969
970 * builtins.c (fold_builtin_isdigit): New.
971 (fold_builtin): Handle BUILT_IN_ISDIGIT.
972 * defaults.h: Add TARGET_DIGIT0 and sort.
973 * doc/tm.texi: Add TARGET_BS and TARGET_DIGIT0.
974
a69934e0
KG
9752004-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
976
977 * builtins.c (fold_builtin_cabs, fold_builtin): Use
978 `mathfn_built_in' to determine the new builtin.
979 * fold-const.c (fold): Likewise.
980
74b9f2d5
RS
9812004-04-14 Richard Sandiford <rsandifo@redhat.com>
982
983 * doc/invoke.texi: Rename MIPS's -mfix-vr4122-bugs to -mfix-vr4120.
984 * config/mips/mips.h (MASK_FIX_VR4120): Renamed from MASK_FIX_VR4122.
985 (TARGET_FIX_VR4120): Likewise TARGET_FIX_VR4122.
986 (TARGET_SWITCHES): Replace -mfix-vr4122-bugs with -mfix-vr4120.
987 (ASM_SPEC): Update accordingly.
988 * config/mips/mips.c: Update after above renaming.
989 * config/mips/mips.md, config/mips/t-vr, config/mips/vr.h: Likewise.
990 * config/mips/vr4120-div.S: Renamed from vr4122-div.S.
991
540554f4
JW
9922004-04-13 James E Wilson <wilson@specifixinc.com>
993
994 * c-opt.c (c_common_post_options): If this_input_filename is NULL,
995 increment errorcount and return false instead of true.
996
a072d43b
UB
9972004-04-13 Uros Bizjak <uros@kss-loka.si>:
998
999 * optabs.c (expand_twoval_unop): Reorder function arguments.
1000 * builtins.c (expand_builtin_mathfn_3): Update calls to
1001 expand_twoval_unop.
1002
1003 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_TAN_ONE
1004 and UNSPEC_TAN_TAN. Add missing comment.
1005
1006 * config/i386/i386.md (*tandf3_1, *tansf3_1, *tanxf3_1): New
1007 patterns to implement fptan x87 instruction.
1008 (tandf2, tansf2, tanxf2): New expanders to implement tan, tanf
1009 and tanl built-ins as inline x87 intrinsics. Define corresponding
1010 peephole2 optimizers for 'fptan; fstp %st(0); fld1' sequence.
1011 (UNSPEC_TAN_ONE, UNSPEC_TAN_TAN): New unspecs to represent
1012 x87's fptan insn.
1013
b50b729d
RH
10142004-03-13 Richard Henderson <rth@redhat.com>
1015
1016 * bb-reorder.c (fix_crossing_unconditional_branches): Use Pmode
1017 for LABEL_REFs.
1018
3a4bdd05
RH
1019 * defaults.h (HOT_TEXT_SECTION_NAME): Add leading dot.
1020 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Likewise.
1021 * doc/invoke.texi: Update to match.
1022
73ad3de5
RH
1023 * varasm.c (unlikely_text_section): Use assemble_align instead of
1024 ASM_OUTPUT_ALIGN. Use it in the correct place with an approximately
1025 correct alignment argument.
1026
9532c14f
UW
10272004-04-13 Ulrich Weigand <uweigand@de.ibm.com>
1028
1029 * reload1.c (emit_reload_insns): Set reg_has_output_reload to one
1030 after setting reg_last_reload_reg for optional output reloads.
1031
3d3947a9
FJ
10322004-04-12 Fariborz Jahanian <fjahanian@apple.com>
1033
1034 * config/rs6000/altivec.h (vec_mergeh, vec_mergel):
1035 Definition of these two macros are corrected by adding
1036 matchine right paren.
1037
f778cbf0
JL
10382004-04-12 Jonathan Larmour <jifl@eCosCentric.com>
1039
1040 * fix-header.c: kill(), putenv() and tzset() are POSIX not ANSI.
1041
5ea9cb6e
RS
10422004-04-12 Roger Sayle <roger@eyesopen.com>
1043
1044 * config/i386/i386.c (output_387_reg_move): New function.
1045 * config/i386/i386-protos.h (output_387_reg_move): Prototype here.
1046 * config/i386/i386.md (*movsf_1, *movsf1_nointerunit,
1047 *movdf_nointeger, *movdf_integer, *movxf_nointeger, *movxf_integer,
1048 *extendsfdf2_1, *extendsfxf2_1, *extenddfxf2_1, truncdfsf2_noop,
1049 truncxfsf2_noop, truncxfdf2_noop): Call output_387_reg_move.
1050
1c9766da
RK
10512004-04-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1052
1053 * c-decl.c (finish_decl): Make a decl_stmt for a variable-sized
1054 TYPE_DECL.
1055 * c-semantics.c (genrtl_decl_stmt): Handle TYPE_DECL.
1056 * stmt.c (expand_decl): Remove redundant expansion of TYPE_DOMAIN.
1057 * stor-layout.c (variable_size): Don't check for MINUS_EXPR.
1058 Use skip_simple_arithmetic to find SAVE_EXPR.
1059 (force_type_save_exprs, force_type_save_exprs_1): New functions.
1060 * tree-inline.c (remap_type, case POINTER_TYPE, case REFERENCE_TYPE):
1061 Properly chain multiple pointers.
1062 (copy_tree_r): Copy a TYPE_DECL.
1063 * tree.c (variably_modified_type_p): Add some missing tests and
1064 make some other minor changes.
1065 * tree.h (force_type_save_exprs): New declaration.
1066
1e9b78b0
RS
10672004-04-12 Roger Sayle <roger@eyesopen.com>
1068
1069 * simplify-rtx.c (simplify_binary_operation) <UDIV, DIV, UMOD, MOD>:
1070 Remove fall throughs. Convert 0/x and 0%x into x&0 when x has
1071 side-effects. Don't convert x/1.0 into x if we honor signaling NaNs.
1072 Convert x/-1.0 into -x if we don't honor signaling NaNs. Convert
1073 x/-1 into -x. Optimize x%1 into x&0 if x has side-effects. Optimize
1074 x%-1 into 0 (or x&0 if x has side-effects).
1075
fef98bf2
AH
10762004-04-11 Aldy Hernandez <aldyh@redhat.com>
1077
1078 * config/rs6000/rs6000.md: Document why a pattern is not
1079 available.
1080
1081 * config/rs6000/rs6000.c (rs6000_emit_cmove): Disable comparisons
1082 of floats on the E500.
1083 (branch_positive_comparison_operator): Do not allow NE even on the
1084 E500.
1085
642af3be
AH
10862004-04-11 Aldy Hernandez <aldyh@redhat.com>
1087
1088 * config/rs6000/rs6000.c (rs6000_assemble_integer): Change
1089 in_text_unlikely_section to in_unlikely_text_section.
1090
b3e65ebb
RS
10912004-04-11 Roger Sayle <roger@eyesopen.com>
1092
1093 * fold-const.c (fold_binary_op_with_conditional_arg): Tweak
1094 calling convention to allow a NULL_TREE to be returned. Factor
1095 sanity checks from callers, return NULL_TREE when appropriate.
1096 (fold): Handle COMPOUND_EXPR operands of binary expressions
1097 before COND_EXPR operands. Use reorder_operands_p(a,b) to check
1098 whether a op (b,c) can be rewritten as (b, a op c). Simplify
1099 calls to fold_binary_op_with_conditional_arg.
1100
19d33948
KG
11012004-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1102
1103 * config/mips/iris5.h (current_section_flags): Add
1104 in_unlikely_executed_text and default case.
1105
cf22ce3c
AT
11062004-04-11 Andreas Tobler <a.tobler@schweiz.ch>
1107
1108 * bb-reorder.c (fix_crossing_conditional_branches): Fix bootstrap
1109 failure on solaris. Place ifdef HAVE_return around gen_ret call.
1110 * cfgrtl.c (force_nonfallthru_and_redirect): Remove ifdef
1111 HAVE_return and place it around the place where it is needed.
1112
34982294
AP
11132004-04-11 Andrew Pinski <pinskia@physics.uc.edu>
1114
1115 * varasm.c (text_section): Use TEXT_SECTION_ASM_OP and
1116 ASM_OUTPUT_ALIGN instead of SECTION_FORMAT_STRING
1117 and NORMAL_TEXT_SECTION_NAME.
1118 (unlikely_text_section): Check targetm.have_named_sections
1119 instead of TARGET_ASM_NAMED_SECTION and use TEXT_SECTION_ASM_OP
1120 instead of SECTION_FORMAT_STRING.
1121 * config/mips/iris5.h (current_section_name): Add
1122 in_unlikely_executed_text case and move the abort into the switch.
1123 * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME): Remove.
1124 (NORMAL_TEXT_SECTION_NAME): Remove.
1125 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
1126 (SECTION_FORMAT_STRING): Remove.
1127 * defaults.h (SECTION_FORMAT_STRING): Remove.
1128 * tm.texi (NORMAL_TEXT_SECTION_NAME): Remove.
1129 (SECTION_FORMAT_STRING): Remove.
1130
c7e1876b
JM
11312004-04-10 Joseph S. Myers <jsm@polyomino.org.uk>
1132
1133 * c-typeck.c (common_type): Prefer long long to long when same
1134 precision.
1135
7c3ac422
ZW
11362004-04-09 Zack Weinberg <zack@codesourcery.com>
1137
1138 PR 14887
1139 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Look only at
1140 mode argument.
1141 * config/ia64/ia64.c (ia64_hpux_file_end): Check
1142 TREE_SYMBOL_REFERENCED on DECL_ASSEMBLER_NAME, not DECL_NAME.
1143
0b24db88
RS
11442004-04-09 Roger Sayle <roger@eyesopen.com>
1145
1146 * simplify-rtx.c (mode_signbit_p): New function to check whether
1147 an RTX is an immediate constant that represents the most significant
1148 bit of a given machine mode.
1149 (simplify_unary_operation) <NOT>: Optimize ~(X+C) as X ^ ~C, where
1150 C is the sign bit.
1151 (simplify_binary_operation) <PLUS>: Optimize (X^C1) + C2 as X^(C1^C2)
1152 when C2 is the sign bit.
1153 (simplify_binary_operation) <XOR>: Canonicalize X^C as X+C when C
1154 is the sign bit. Optimize (X+C1) ^ C2 as X^(C1^C2) when C1 is the
1155 sign bit.
1156
ce58118c
KG
11572004-04-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1158
1159 * builtins.c (mathfn_built_in): Check TYPE_MAIN_VARIANT, not
1160 TYPE_MODE.
1161
c29726e2
AP
11622004-04-09 Andrew Pinski <pinskia@physics.uc.edu>
1163
1164 * c-common.c (handle_noreturn_attribute): Use TYPE_READONLY instead
1165 of TREE_READONLY for types.
1166
750054a2
CT
11672004-04-09 Caroline Tice <ctice@apple.com>
1168
7c3ac422 1169 * basic-block.h (struct edge_def): Add new field, crossing_edge.
750054a2
CT
1170 (struct basic_block_def): Add new field, partition.
1171 (UNPARTITIONED, HOT_PARTITION, COLD_PARTITION): New constant macro
1172 definitions.
7c3ac422 1173 (partition_hot_cold_basic_blocks): Add extern function
750054a2 1174 declaration.
7c3ac422 1175 * bb-reorder.c (function.h, obstack.h, expr.h, regs.h): Add four new
750054a2
CT
1176 include statements.
1177 (N_ROUNDS): Increase the maximum number of rounds by 1.
1178 (branch_threshold): Add array value for new round.
1179 (exec_threshold): Add array value for new round.
1180 (push_to_next_round_p): New function.
1181 (add_unlikely_executed_notes): New function.
1182 (find_rarely_executed_basic_blocks_and_crossing_edges): New function.
1183 (mark_bb_for_unlikely_executed_section): New function.
1184 (add_labels_and_missing_jumps): New function.
1185 (add_reg_crossing_jump_notes): New function.
1186 (fix_up_fall_thru_edges): New function.
1187 (find_jump_block): New function.
1188 (fix_crossing_conditional_branches): New function.
1189 (fix_crossing_unconditional_branches): New function.
1190 (fix_edges_for_rarely_executed_code): New function.
1191 (partition_hot_cold_basic_blocks): New function.
1192 (find_traces): Add an extra round for partitioning hot/cold
1193 basic blocks.
1194 (find_traces_1_round): Add a parameter. Modify to push all cold blocks,
1195 and only cold blocks, into the last (extra) round of collecting traces.
7c3ac422 1196 (better_edge_p): Add a parameter. Modify to favor non-crossing edges
750054a2 1197 over crossing edges.
7c3ac422 1198 (bb_to_key): Add code to correctly identify cold blocks when
750054a2
CT
1199 doing partitioning.
1200 (connect_traces): Modify to connect all the non-cold traces first, then
1201 go back and connect up all the cold traces.
1202 (reorder_basic_blocks): Add call to add_unlikely_executed_notes.
1203 * cfg.c (entry_exit_blocks): Add initialization for partition field in
1204 entry and exit blocks.
7c3ac422 1205 * cfgbuild.c (make_edges): Update current_function_has_computed_jump
750054a2
CT
1206 if we are doing hot/cold partitioning.
1207 * cfgcleanup.c (cfglayout.h): Add new include statement.
7c3ac422 1208 (try_simplify_condjump): Modify to not attempt on blocks with jumps
750054a2
CT
1209 that cross section boundaries.
1210 (try_forward_edges): Likewise.
1211 (merge_blocks_move_predecessor_nojumps): Likewise.
1212 (merge_blocks_move_successor_nojumps): Likewise.
1213 (merge_blocks_move): Likewise.
1214 (try_crossjump_to_edge): Modify to not attempt after we have done
1215 the block partitioning.
1216 (try_crossjump_bb): Modify to not attempt on blocks with jumps that
1217 cross section boundaries.
1218 (try_optimize_cfg): Likewise.
1219 * cfghooks.c (tidy_fallthru_edges): Modify to not remove indirect
1220 jumps that cross section boundaries.
7c3ac422 1221 * cfglayout.c (flags.h): Add new include statement.
750054a2 1222 (update_unlikely_executed_notes): New function.
7c3ac422
ZW
1223 (fixup_reorder_chain): Add code so when a new jumping basic block is
1224 added, it's UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes are
750054a2
CT
1225 updated appropriately.
1226 (duplicate_insn_chain): Add code to duplicate the new NOTE insn
1227 introduced by this optimization.
7c3ac422
ZW
1228 * cfglayout.h (scan_ahead_for_unlikely_executed_note): Add new
1229 extern function declaration.
750054a2
CT
1230 * cfgrtl.c (can_delete_note_p): Add NOTE_INSN_UNLIKELY_EXECUTED_CODE to
1231 list of notes that can be deleted.
1232 (create_basic_block_structure): Add initialization for partition field.
1233 (rtl_can_merge_blocks): Modify to test blocks for jumps that cross
1234 section boundaries.
1235 (try_redirect_by_replacing_jump): Modify to not attempt on jumps that
1236 cross section boundaries.
1237 (commit_one_edge_insertion): Add code so newly created basic block
7c3ac422 1238 ends up in correct (hot or cold) section. Modify to disallow
750054a2
CT
1239 insertions before NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
1240 (rtl_verify_flow_info_1): Add code to verify that no fall_thru edge
1241 crosses section boundaries.
1242 (cfg_layout_can_merge_blocks_p): Modify to test blocks for jumps that
1243 cross section boundaries.
1244 (force_nonfallthru_and_redirect): Modify to make sure new basic block
1245 ends up in correct section, with correct notes attached.
7c3ac422
ZW
1246 * common.opt (freorder-blocks-and-partition): Add new flag for this
1247 optimization.
1248 * dbxout.c (dbx_function_end): Add code to make sure scope labels at
1249 the end of functions are written into the correct (hot or cold)
1250 section.
750054a2
CT
1251 (dbx_source_file): Add code so writing debug file information
1252 doesn't incorrectly change sections.
7c3ac422 1253 * defaults.h (NORMAL_TEXT_SECTION_NAME): New constant macro, for use
750054a2 1254 in partitioning hot/cold basic blocks into separate sections.
7c3ac422 1255 (SECTION_FORMAT_STRING): New constant macro, for linux/i386 hot/cold
750054a2
CT
1256 section partitioning.
1257 (HAS_LONG_COND_BRANCH): New constant macro, indicating whether or not
1258 conditional branches can span all of memory.
1259 (HAS_LONG_UNCOND_BRANCH): New constant macro, indicationg whether or not
1260 unconditional branches can span all of memory.
7c3ac422
ZW
1261 * final.c (scan_ahead_for_unlikely_executed_note): New function.
1262 (final_scan_insn): Add code to check for NOTE instruction indicating
1263 whether basic block belongs in hot or cold section, and to make sure
1264 the current basic block is being written to the appropriate section.
1265 Also added code to ensure that jump table basic blocks end up in the
1266 correct section.
1267 * flags.h (flag_reorder_blocks_and_partition): New flag.
750054a2
CT
1268 * ifcvt.c (find_if_case_1): Modify to not attempt if conversion if
1269 one of the branches has a jump that crosses between sections.
1270 (find_if_case_2): Likewise.
7c3ac422 1271 (ifcvt): Modify to not attempt to mark loop exit edges after
750054a2 1272 hot/cold partitioning has occurred.
7c3ac422
ZW
1273 * opts.c (decode_options): Code to handle new flag,
1274 flag_reorder_blocks_and_partition; also to turn it off if
750054a2 1275 flag_exceptions is on.
7c3ac422
ZW
1276 (common_handle_option): Code to handle new flag,
1277 flag_reorder_blocks_and_partition.
1278 * output.h (unlikely_text_section): New extern function declaration.
750054a2 1279 (in_unlikely_text_section): New extern function declaration.
7c3ac422
ZW
1280 * passes.c (rest_of_handle_stack_regs): Add
1281 flag_reorder_blocks_and_partition as an 'or' condition for calling
750054a2 1282 reorder_basic_blocks.
7c3ac422 1283 (rest_of_handle_reorder_blocks): Add flag_reorder_blocks_and_partition
750054a2
CT
1284 as an 'or' condition for calling reorder_basic_blocks.
1285 (rest_of_compilation): Add call to partition_hot_cold_basic_blocks.
7c3ac422
ZW
1286 * print-rtl.c (print_rtx): Add code for handling new note,
1287 NOTE_INSN_UNLIKELY_EXECUTED_CODE
1288 * rtl.c (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note insn (see below).
750054a2
CT
1289 (REG_CROSSING_JUMP): New kind of reg_note, to mark jumps that
1290 cross between section boundaries.
7c3ac422
ZW
1291 * rtl.h (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note instruction,
1292 indicating the basic block containing it belongs in the cold section.
750054a2
CT
1293 (REG_CROSSING_JUMP): New type of reg_note, to mark jumps that cross
1294 between hot and cold sections.
7c3ac422
ZW
1295 * toplev.c (flag_reorder_blocks_and_partition): Add code to
1296 initialize this flag, and to tie it to the command-line option
1297 freorder-blocks-and-partition.
1298 * varasm.c (cfglayout.h): Add new include statement.
1299 (unlikely_section_label_printed): New global variable, used for
1300 determining when to output section name labels for cold sections.
750054a2
CT
1301 (in_section): Add in_unlikely_executed_text to enum data structure.
1302 (text_section): Modify code to use SECTION_FORMAT_STRING and
1303 NORMAL_TEXT_SECTION_NAME macros.
1304 (unlikely_text_section): New function.
1305 (in_unlikely_text_section): New function.
7c3ac422
ZW
1306 (function_section): Add code to make sure beginning of function is
1307 written into correct section (hot or cold).
1308 (assemble_start_function): Add code to make sure stuff is written to
1309 the correct section.
1310 (assemble_zeros): Add in_unlikely_text_section as an 'or' condition
1311 to an if statement that was checking 'in_text_section'.
1312 (assemble_variable): Add 'in_unlikely_text_section' as an 'or'
1313 condition to an if statement that was checking 'in_text_section'.
1314 (default_section_type_flags_1): Add check: if in cold section
1315 flags = SECTION_CODE.
750054a2
CT
1316 * config/darwin.c (darwin_asm_named_section): Modify to use
1317 SECTION_FORMAT_STRING if we are partitioning hot/cold blocks.
7c3ac422 1318 * config/i386/i386.h (HAS_LONG_COND_BRANCH): Defined this macro
750054a2
CT
1319 specifically for the i386.
1320 (HAS_LONG_UNCOND_BRANCH): Defined this macro specifically for the i386.
7c3ac422 1321 * config/rs6000/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Change
750054a2
CT
1322 text string to something more informative.
1323 (NORMAL_TEXT_SECTION_NAME): Add new definition.
1324 (SECTION_FORMAT_STRING): Add new definition.
7c3ac422
ZW
1325 * config/rs6000/rs6000.c (rs6000_assemble_integer): Add
1326 '!in_unlikely_text_section' as an 'and' condition to an if statement
1327 that was already checking '!in_text_section'.
1328 * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME,NORMAL_TEXT_SECTION_NAME,
1329 UNLIKELY_EXECUTED_TEXT_SECTION_NAME,SECTION_FORMAT_STRING): Make
1330 sure these are properly defined for linux on ppc.
1331 * doc/invoke.texi (freorder-blocks-and-partition): Add documentation
1332 for this new flag.
750054a2
CT
1333 * doc/rtl.texi (REG_CROSSING_JUMP): Add documentation for new
1334 reg_note.
7c3ac422
ZW
1335 * doc/tm.texi (NORMAL_TEXT_SECTION_NAME, SECTION_FORMAT_STRING,
1336 HAS_LONG_COND_BRANCH, HAS_LONG_UNCOND_BRANCH): Add documentation for
750054a2
CT
1337 these new macros.
1338
88673361
RS
13392004-04-08 Roger Sayle <roger@eyesopen.com>
1340
1341 * function.c (gen_mem_addressof): When changing the RTX from a REG
1342 to a MEM, clear MEM_VOLATILE_P which was formerly REG_USERVAR_P.
1343
82a6a758
RS
13442004-04-08 Roger Sayle <roger@eyesopen.com>
1345
1346 PR target/14888
1347 * config/i386/i386.md (truncdfsf2_noop, truncxfsf2_noop,
1348 truncxfdf2_noop): Provide dummy "fmov" implementations.
1349
febc5365
ILT
13502004-04-08 Ian Lance Taylor <ian@wasabisystems.com>
1351
2a782c52
ILT
1352 * gcc.c (default_compilers): Add missing initializers.
1353
febc5365
ILT
1354 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
1355 Return 1 if file was successfully mapped.
1356
f07e9f0f
GK
13572004-04-08 Geoffrey Keating <geoffk@apple.com>
1358
54e109ed
GK
1359 PR pch/13419
1360 PR pch/14137
1361 Radar #: 3315288
1362 * doc/invoke.texi (Precompiled Headers): Suggest -o
1363 to put an output file in a particular place. Be more detailed
1364 about which options affect PCH validity and which options
1365 might not work.
1366 * c-pch.c (pch_matching): New.
1367 (MATCH_SIZE): New.
1368 (struct c_pch_validity): New field 'match'.
1369 (pch_init): Handle pch_matching.
1370 (c_common_valid_pch): Check pch_matching.
1371
f07e9f0f
GK
1372 * explow.c: Fix typo defining default of PROMOTE_FUNCTION_MODE.
1373
f7b6f250
MM
13742004-04-08 Mark Mitchell <mark@codesourcery.com>
1375
1376 * doc/invoke.texi (Precompiled Headers): Warn about known
1377 problems.
1378
4a77e08c
DS
13792004-04-08 Danny Smith <dannysmith@users.sourceforge.net>
1380
1381 PR c++/14808
1382 * defaults.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): New macro. Default
1383 to 1 if ASM_OUTPUT_DEF is defined.
1384 * doc/tm.texi (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document.
1385 * config/i386/cygming.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): Define.
1386 Set to non-zero iff not a one_only decl.
1387
cc81dde8
PB
13882004-04-08 Paul Brook <paul@codesourcery.com>
1389
1390 * arm.h (CLASS_LIKELY_SPILLED_P): Define.
1391
d4453b7a
PB
13922004-04-08 Paul Brook <paul@codesourcery.com>
1393
1394 * explow.c (promote_mode): Use PROMOTE_FUNCTION_MODE instead of
1395 PROMOTE_FOR_CALL_ONLY.
1396 * config/arm/arm-protos.h (arm_function_value): Declare.
1397 * config/arm/arm.h (TARGET_PROMOTE_FUNCTION_ARGS): Define.
1398 (TARGET_PROMOTE_PROTOTYPES): Return false.
1399 (arm_function_value): New function.
1400 * config/arm/arm.h (PROMOTE_FUNCTION_MODE): Define.
1401 (FUNCTION_VALUE): Call arm_function_value.
1402 * config/cris/cris.h (PROMOTE_MODE): Rename ...
1403 (PROMOTE_FUNCTION_MODE): ... to this.
1404 (PROMOTE_FOR_CALL_ONLY): Remove.
1405 * config/mmix/mmix.h: Likewise.
1406 * config/s390/s390.h: Likewise.
1407 * config/sparc/sparc.h: Likewise.
1408 * config/sparc/sparc.c: Update comments about PROMOTE_MODE.
1409 * doc/tm.texi (PROMOTE_FUNCTION_MODE): Document.
1410 (TARGET_PROMOTE_FUNCTION_MODE, TARGET_PROMOTE_FUNCTION_RETURN): Update.
1411 (PROMOTE_FOR_CALL_ONLY): Remove.
1412
c00e272e
JS
14132004-04-08 Joel Sherrill <joel@oarcorp.com>
1414
1415 PR ada/14538
1416 * ada/5rosinte.adb: Remove fake mprotect() body.
1417 * ada/5rosinte.ads: Add SA_SIGINFO.
1418 * ada/5rtpopsp.adb: Rewrite to use new interface.
1419 * ada/init.c: Reorder so the simple single OS conditional __rtems__
1420 is tested before more complex ones which mix UNIX and embedded
1421 systems in the conditional.
1422
4afae4b9
JS
14232004-04-08 Joel Sherrill <joel@oarcorp.com>
1424
1425 PR ada/14665
1426 * ada/osint.adb (Find_Program_Name): Rework to properly handle
1427 filenames which end in .exe or have versioning suffixes like VMS.
1428
bfbdca0b
AP
14292004-04-08 Andrew Pinski <pinskia@physics.uc.edu>
1430
467f3af0 1431 PR target/10129
bfbdca0b
AP
1432 * config/darwin.c (darwin_encode_section_info): When the decl has
1433 a DECL_INITIAL, it is only defined also when it is not a common.
1434
df0785d6
KG
14352004-04-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1436
1437 * builtins.c (fold_builtin_isascii, fold_builtin_toascii): New.
1438 (fold_builtin): Handle BUILT_IN_ISASCII and BUILT_IN_TOASCII.
1439
2897f1d4
L
14402004-04-07 H.J. Lu <hongjiu.lu@intel.com>
1441
1442 * config/ia64/ia64.c (ia64_encode_section_info): Don't prod
1443 global register variables.
1444
6ed6a1b9
JM
14452004-04-07 Joseph S. Myers <jsm@polyomino.org.uk>
1446
1447 * fixinc/inclhack.def (rpc_xdr_lvalue_cast_a,
1448 rpc_xdr_lvalue_cast_b): New fixes.
1449 * fixinc/fixincl.x: Regenerate.
1450 * fixinc/tests/base/rpc/xdr.h: Add new tests.
1451
fc091c8e
DE
14522004-04-07 David Edelsohn <edelsohn@gnu.org>
1453
1454 * config/rs6000/rs6000.c (processor_target_table): Add MASK_MFCRF
1455 to power4 and power5 entries.
1456
7876228d
GK
14572004-04-06 Geoffrey Keating <geoffk@apple.com>
1458
1459 * c-common.h (pending_lang_change): Mark for PCH.
1460
b21292d0
CT
14612004-04-07 Caroline Tice <ctice@apple.com>
1462
1463 * gcc.c (main): Move 'break' in main loops (on an error)
1464 to wait until error processing has occurred.
7c3ac422 1465
615be2cf
NN
14662004-04-06 Nathanael Nerode <neroden@gcc.gnu.org>
1467
1468 * config.gcc: Stop changing enable_threads midstream.
1469 Replace uses of enable_threads_flag with enable_threads.
1470 * configure.ac: Replace uses of enable_threads_flag with
1471 enable_threads. Improve autoconf quotation in one place.
1472 * configure: Regenerate.
1473
6c7cf1f0
UB
14742004-04-06 Uros Bizjak <uros@kss-loka.si>
1475
1476 * builtins.c: Implement support for sincos function.
1477 (expand_builtin_mathfn): Remove BUILT_IN_SIN{,F,L} and
1478 BUILT_IN_COS{,F,L}.
1479 (expand_builtin_mathfn_3): New function.
1480 (expand_builtin): Expand BUILT_IN_SIN{,F,L} and
1481 BUILT_IN_COS{,F,L} using expand_builtin_mathfn_3 if
1482 flag_unsafe_math_optimization is set.
1483
1484 * optabs.h (enum optab_index): Add new OTI_sincos.
1485 (sincos_optab): Define corresponding macro.
1486
1487 * optabs.c (init_optabs): Initialize sincos_optab.
1488 (expand_twoval_unop): New function.
1489
1490 * genopinit.c (optabs): Implement sincos_optab using sincos?f3
1491 patterns.
1492
1493 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_SINCOS_COS
1494 and UNSPEC_SINCOS_SIN.
1495
1496 * config/i386/i386.md (sincosdf3, sincossf3, *sincosextendsfdf3,
1497 sincosxf3): New patterns to implement sincos, sincosf and sincosl
1498 built-ins as inline x87 intrinsics. Define splits for
1499 sindf2, sinsf2, *sinextendsfdf2, sinxf2, cosdf2,
1500 cossf2, *cosextendsfdf2 and cosxf2 patterns from corresponding
1501 sincos patterns.
1502 (sindf2, sinsf2, sinxf2): Rename to *sindf2, *sinsf2, *sinxf2.
1503 (cosdf2, cossf2, cosxf2): Rename to *cosdf2, *cossf2, *cosxf2.
1504
a072d43b
UB
1505 (UNSPEC_SINCOS_SIN, UNSPEC_SINCOS_COS): New unspecs to represent
1506 x87's fsincos insn.
6c7cf1f0 1507
23bd1514
DP
15082004-04-06 Devang Patel <dpatel@apple.com>
1509
1510 PR 14467
1511 * config/darwin.h (LINK_COMMAND_SPEC): Use c++filt instead of c++filt3.
7c3ac422 1512
c5124497
JDA
15132004-04-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1514
1515 * doc/install.texi: Update HP-UX 11 installation procedure.
1516
485d61a7
PB
15172004-04-06 Paul Brook <paul@codesourcery.com>
1518
1519 * doc/sourcebuild.texi: Remove obsolete contraint on testcases.
1520
13ecc9e0
KK
15212004-04-05 Kaz Kojima <kkojima@gcc.gnu.org>
1522
1523 * config/sh/sh.c (prepare_move_operands): Use emit_call_insn
1524 when the TLS address is generated by a function call.
1525 * config/sh/sh.md (tls_global_dynamic): Use a call expression.
1526 (tls_local_dynamic): Likewise.
1527
e0e4ac7f
AP
15282004-04-05 Andrew Pinski <pinskia@physics.uc.edu>
1529
1530 * tree.c (reconstruct_complex_type): Use TYPE_READONLY
1531 and TYPE_VOLATILE.
1532
0855eab7
CT
15332004-04-05 Caroline Tice <ctice@apple.com>
1534
485d61a7 1535 * gcc.c (combine_flag): New global variable, for new driver option.
0855eab7
CT
1536 (struct compiler): Add two new fields, to be used when
1537 combining multiple input files in a single pass (IMA).
7c3ac422
ZW
1538 (default_compilers): Add values for the new fields to all
1539 compiler entries. Modify the "@c" compiler entry for doing IMA
0855eab7
CT
1540 properly with "-save-temps" and the "combine" flag.
1541 (option_map): Add new driver option, "--combine", to tell driver
1542 to pass multiple input files to compiler at one time.
1543 (have_o_argbuf_index): New global variable.
1544 (store_arg): Modify to assign value to have_o_argbuf_index.
1545 (struct infile): Add three new fields, to help with IMA.
1546 (display_help): Add help for new "combine" option.
1547 (process_command): Remove local variable have_o; add code to check
1548 for new "combine" option; remove assignment to combine_inputs.
1549 (do_spec_1): Modify to deal with IMA better.
1550 (main): Make variable 'lang_n_infiles' local to entire function
7c3ac422
ZW
1551 rather than to a single block. Use flag combine_flag to
1552 determine whether to do IMA or not; Modify loop initializing
0855eab7
CT
1553 infiles to deal properly with linker files.
1554 Add code for doing preprocessing in presence of
1555 IMA with "-save-temps" flag. Modify "main" loop to handle
1556 multiple input files, in multiple languages, with or without
1557 preprocessing, gracefully.
1558 * toplev.c (set_src_pwd): Modify to not complain if attempting to
1559 re-set it to same directory it's previously been set to (avoid
7c3ac422 1560 irritating, meaningless warning messages when doing IMA with
0855eab7
CT
1561 save-temps).
1562 * doc/invoke.texi: Add "-combine" to list of Overall Options;
1563 remove documentation about IMA that is no longer accurate; Add
1564 documentation explaining what "-combine" does.
1565 * ada/lang-specs.h: Add initialization values for new fields in
1566 "struct compiler".
1567 * cp/lang-specs.h: Likewise.
1568 * f/lang-specs.h: Likewise.
1569 * java/lang-specs.h: Likewise.
1570 * objc/lang-specs.h: Likewise.
1571 * treelang/lang-specs.h: Likewise.
1572
26be75db
DE
15732004-04-05 David Edelsohn
1574
1575 * config/rs6000/rs6000.c (VTABLE_NAME_P): Add _ZTI to special
1576 symbol handling.
1577
fda935a2 15782004-04-05 Jakub Jelinek <jakub@redhat.com>
26be75db 1579 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
fda935a2
JJ
1580
1581 PR optimization/13424 (hppa), bootstrap/14462, c/14828
1582 * pa.md: Use replace_equiv_address to retain the attributes of the
1583 memory operands used in the split and peephole2 patterns for optimizing
1584 the pre-reload movstrsi, movstrdi, clrstrsi and clrstrdi patterns.
1585
4f976745
RK
15862004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1587
1588 * c-decl.c (build_compound_literal): Use TYPE_READONLY.
1589 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
1590 * objc/objc-act.c (adorn_decl, gen_declspecs): Likewise.
1591 * c-typeck.c (decl_constant_value): Don't access DECL_INITIAL of a
1592 PARM_DECL.
1593 * calls.c (flags_from_decl_or_type): Use TYPE_READONLY and do so only
1594 for a type.
1595 * print-tree.c (print_node): Properly handle side-effects, readonly,
1596 and constant flags.
1597 * tree.c (build1_stat, build_expr_wfl): Only look at TREE_SIDE_EFFECTS
1598 and TREE_CONSTANT if not a type.
1599 * tree.h (IS_NON_TYPE_CODE_CLASS): New macro.
1600 (IS_EXPR_CODE_CLASS): Write 'E', not 'e'.
1601 (NON_TYPE_CHECK): New macro.
1602 (TREE_SIDE_EFFECT, TREE_READONLY, TREE_CONSTANT: Add check.
1603
5ffc4730
EB
16042004-04-05 Eric Botcazou <ebotcazou@libertysurf.fr>
1605
1606 * config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Set
1607 to DWARF2_DEBUG unconditionally.
1608 (ASM_DEBUG_SPEC): Set the default to --gdwarf2 unconditionally.
1609
c38f02df
ILT
16102004-04-04 Ian Lance Taylor <ian@wasabisystems.com>
1611 Nathanael Nerode <neroden@gcc.gnu.org>
1612
1613 PR target/14548
1614 * config.host: Set the shell variable host_can_use_collect2.
1615 Set it to yes by default, and to no for alpha*-dec-*vms*,
1616 i[34567]86-*-mingw32*, and powerpc-*-beos*.
1617 * configure.ac: Set and substitute the shell variable collect2.
1618 Give an error if use_collect2 is yes and host_can_use_collect2 is
1619 no.
1620 * Makefile.in (COLLECT2): Rename from USE_COLLECT2. Change all
1621 uses. Initialize to @collect2@.
1622 (STAGESTUFF): Remove $(USE_COLLECT2).
1623 * config/alpha/x-vms (USE_COLLECT2): Don't set.
1624 * config/i386/t-mingw32 (USE_COLLECT2): Likewise.
1625 * config/rs6000/t-beos (USE_COLLECT2): Likewise.
1626 * config/pa/t-pa64: Remove commented out USE_COLLECT2.
1627 * configure: Regenerate.
1628
9d317251
RS
16292004-04-04 Roger Sayle <roger@eyesopen.com>
1630
1631 * simplify-rtx.c (simplify_binary_operation): Constant fold
1632 DIV, MOD, UDIV and UMOD using div_and_round_double.
1633
64480988
MM
16342004-04-04 Mark Mitchell <mark@codesourcery.com>
1635
1636 PR c++/14804
1637 * varasm.c (initializer_constant_valid_p): Allow NOP_EXPRs to
1638 RECORD_TYPEs.
1639
aaf3c6d9
MM
16402004-04-04 Mark Mitchell <mark@codesourcery.com>
1641
1642 * doc/invoke.texi (-mabi=o64): Create link to O64 ABI
1643 documentation.
cd3f11a6 1644
d8b7ec41
RS
16452004-04-04 Roger Sayle <roger@eyesopen.com>
1646
1647 * cse.c (cse_insn): Correct usage of simplify_replace_rtx when
1648 updating the REG_EQUAL note on an insn's libcall_insn.
1649
4012b7db
RS
16502004-04-04 Roger Sayle <roger@eyesopen.com>
1651
1652 * df.h: Tidy up whitespace in the definitions of the DF_ flags.
1653
2f63a457
RS
16542004-04-03 Roger Sayle <roger@eyesopen.com>
1655
1656 * fold-const.c (fold) <PLUS_EXPR>: Guard (-A)+B -> B-A transformation
1657 with reorder_operands_p.
1658
ef1140a9
JH
16592004-04-03 Jan Hubicka <jh@suse.cz>
1660
1661 * md.texi (vec_set, vec_extract, vec_init): Document.
1662
f736cb3e
GL
16632004-04-02 Gabor Loki <loki@inf.u-szeged.hu>
1664
1665 * opts.c (decode_options): Do function inlining with very small
1666 max-inline-insns-* parameters when optimizing for size.
1667
89c43c0a
VM
16682004-04-02 Vladimir Makarov <vmakarov@redhat.com>
1669
1670 * config/i386/i386.h (TARGET_NOCONA): New macro.
1671 (TARGET_CPU_CPP_BUILTINS): Add code for Nocona.
1672 (processor_type): Add PROCESSOR_NOCONA.
7c3ac422 1673
89c43c0a
VM
1674 * config/i386/i386.md (cpu): Add nocona to the attribute values.
1675
1676 * config/i386/i386.c (nocona_cost): New variable.
1677 (m_NOCONA): New macro.
1678 (x86_push_memory, x86_movx, x86_cmove, x86_deep_branch,
1679 x86_branch_hints, x86_use_sahf, x86_single_stringop,
1680 x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8,
1681 x86_integer_DFmode_moves, x86_partial_reg_dependency,
1682 x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
1683 x86_decompose_lea, x86_arch_always_fancy_math_387,
1684 x86_sse_partial_reg_dependency, x86_sse_load0_by_pxor,
1685 x86_ext_80387_constants, x86_four_jump_limit):
1686 (override_options): Add nocona_cost to processor_target_table.
1687 Set up PROCESSOR_NOCONA for Nocona entry in processor_alias_table.
1688 (incdec_operand): Prevent inc/dec generation for Nocona too.
1689 (ix86_issue_rate): Add PROCESSOR_NOCONA.
7c3ac422 1690
cd798543
AP
16912004-04-01 Andrew Pinski <pinskia@physics.uc.edu>
1692
1693 * rtlanal.c (find_reg_note): Manually
1694 unswitch the loop.
1695
a406f566
MM
16962004-04-01 Mark Mitchell <mark@codesourcery.com>
1697
1698 * genemit.c (gen_split): Change prototype of generated code.
1699 * genrecog.c (write_action): Adjust prototype for and calls to
1700 gen_split_*.
1701 * gensupport.c (struct queue_elem): Add split field.
1702 (queue_pattern): Return a value. Clear the split field.
1703 (process_rtx): Maintain an association between an insn and the
1704 split generated from it for a define_insn_and_split.
1705 (process_one_cond_exec): Generate a new split for a
1706 define_insn_and_split.
1707 * config/arm/arm-protos.h (arm_split_constant): Add insn
1708 parameter.
1709 (emit_constant_insn): New function.
1710 (arm_gen_constant): Use it.
1711 * config/arm/arm.md: Adjust calls to arm_split_constant.
1712
18c6ada9
JH
17132004-04-02 Jan Hubicka <jh@suse.cz>
1714
1715 * cgraph.c: Add overall comment.
1716 (cgraph_inline_hash): New global variable.
1717 (cgraph_create_node): Break out from ...
1718 (cgraph_node): ... here.
1719 (cgraph_edge): New function.
1720 (cgraph_create_edge): New CALL_EXPR argument; some sanity checking.
1721 (cgraph_remove_edge): Accept edge, intead of source and destination.
1722 (cgraph_redirect_edge_callee): New.
1723 (cgraph_remove_node): Update all new datastructures.
1724 (cgraph_record_call, cgraph_remove_call): Kill.
1725 (dump_cgraph_node): Break out from ... ; dump new datastructures.
1726 (dump_cgraph): ... here.
1727 (cgraph_function_possibly_inlined_p): Use new hashtable.
1728 (cgraph_clone_edge, cgraph_clone_node): New.
1729 * cgraph.h: Include hashtab.h
1730 (struct cgraph_global_info): Kill cloned_times, inline_once, will_be_output
1731 fields, add inlined_to pointer.
1732 (cgraph_node): Add pointer to next_clone.
1733 (cgraph_remove_edge, cgraph_create_edge): Update prototype.
1734 (cgraph_remove_call, cgraph_record_call): Kill.
1735 (cgraph_inline_hash): Declare.
1736 (dump_cgraph_node, cgraph_edge, cg4raph_clone_edge, cgraph_clone_node,
1737 cgraph_redirect_edge_callee): Declare.
1738 (cgraph_create_edges, cgraph_inline_p): Update prorotype.
1739 (cgraph_preserve_function_body_p, verify_cgraph, verify_cgraph_node,
1740 cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Declare.
1741 * cgraphunit.c: Add overall comment.
1742 (cgraph_optimize_function): Kill.
1743 (cgraph_assemble_pending_functions): Do not assemble inline clones.
1744 (cgraph_finalize_function): Update call of cgraph_remove_node
1745 (record_call_1): Record call sites.
1746 (cgraph_create_edges): Accept node instead of decl argument.
1747 (error_found): New static variable.
1748 (verify_cgraph_node_1, verify_cgraph_node, verify_cgraph): New functions.
1749 (cgraph_analyze_function): Update for new datastructures.
1750 (cgraph_finalize_compilation_unit): Plug memory leak.
1751 (cgraph_optimize_function): Kill.
1752 (cgraph_expand_function): Do not use cgraph_optimize_function.
1753 (INLINED_TIMES, SET_INLINED_TIMES, cgraph_inlined_into,
1754 cgraph_inlined_callees): Kill.
1755 (cgraph_remove_unreachable_nodes): Verify cgraph; update handling of
1756 clones.
1757 (estimate_growth): Simplify.
1758 (cgraph_clone_inlined_nodes): New function.
1759 (cgraph_mark_inline_edge): Re-implement.
1760 (cgraph_mark_inline): Likewise.
1761 (cgraph_check_inline_limits): Simplify.
1762 (cgraph_recursive_inlining_p): New.
1763 (update_callee_keys): Break out from ...
1764 (cgraph_decide_inlining_of_small_functions): ... here; simplify.
1765 (cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
1766 Likewise.
1767 (cgraph_expand_all_functions): Remove inline clones from the ordered
1768 list.
1769 (cgraph_preserve_function_body_p): New predicate.
1770 (cgraph_optimize): Verify cgraph.
1771 * function.h (struct function): Add fields saved_tree/saved_args.
1772 * timevar.def (TV_CGRAPH_VERIFY): Use verifier.
1773 * toplev.c (rest_of_compilation): Do not free cfun.
1774 * tree-inline.c: Include function.h
1775 (struct inline_data): Add saving_p field; replace decl/current_decl by
1776 node/current_node.
1777 (insert_decl_map): New function.
1778 (copy_body_r): Handle saving; update cgraph datastructure.
1779 (copy_body): Handle recursive inlining.
1780 (initialize_inlined_parameters): Likewise.
1781 (expand_call_inline): Propagate node attributes; update cgraph.
1782 (optimize_inline_calls): Verify that datastructure still match.
1783 (save_body): New function.
1784 * tree-inline.h (save_body): New.
1785 * tree-optimize.c (tree_rest_of_compilation): preserve function body; do inlining.
1786 * langhooks-def.c (LANG_HOOKS_UPDATE_DECL_AFTER_SAVING): New.
1787 * langhooks.c (lang_hooks): Add update_decl_after_saving.
1788
717415ad
SB
17892004-04-01 Serge Belyshev <1319@bot.ru>
1790
7c3ac422
ZW
1791 PR target/14702
1792 * config/i386/i386.md: fix source operand constraints in
1793 mmx_pshufw, sse2_pshufd, sse2_pshuflw, sse2_pshufhw
717415ad 1794
af5bdf6a
WH
17952004-04-01 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1796
1797 * fold-const.c (folda): Preserve types of comparisons.
1798
54fdc910
RH
17992004-04-01 Richard Henderson <rth@redhat.com>
1800
1801 * toplev.c (backend_init): Move init_optimization_passes call ...
1802 (lang_dependent_init): ... here.
1803
765f1bf9
AM
18042004-04-01 Alan Modra <amodra@bigpond.net.au>
1805 Jakub Jelinek <jakub@redhat.com>
1806
1807 * gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with
1808 -lgcc --as-needed -lgcc_s --no-as-needed by default.
1809 * configure.ac (HAVE_LD_AS_NEEDED): Check for ld --as-needed.
1810 * configure: Rebuilt.
1811 * config.in: Rebuilt.
1812 * Makefile.in (stage1-start): Copy also libgcc_s*$(SHLIB_EXT).
1813 (stage2-start, stage3-start, stage4-start): Likewise.
1814 (stageprofile-start, stagefeedback-start): Likewise.
1815
45dcc026
JJ
18162004-04-01 Jakub Jelinek <jakub@redhat.com>
1817
1818 * config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0.
1819 * config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
1820 * config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
1821 * config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
1822 (SOLARIS_CONVERSION_LIBFUNCS): Rename to SUN_CONVERSION_LIBFUNCS.
1823 * config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs
1824 with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS.
1825 * config.gcc (sparc-*-linux*): Revert 2004-03-23 change.
1826 * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
1827 * config/sparc/t-linux: Removed.
1828
0b612185
JJ
18292004-04-01 Jakub Jelinek <jakub@redhat.com>
1830
1831 PR c++/14755
1832 * fold-const.c (fold) <EQ_EXPR>: Properly compute newconst in
1833 "bitfld++ == const" to "++bitfld == const + incr" transformations.
1834
a150de29
RK
18352004-04-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1836
1837 * expr.c (get_inner_reference): Use DECL_UNSIGNED, not TREE_UNSIGNED.
1838 * stor-layout.c (layout_decl): Likewise.
1839 * tree.c (get_narrower): Likewise and also use BIT_FIELD_REF_UNSIGNED.
1840 * fold-const.c (make_bit_field_ref): Use BIT_FIELD_REF_UNSIGNED.
1841 * print-tree.c (print_node): Handle various used of unsigned_flag.
1842 * tree.def (BIT_FIELD_REF): Update comment.
1843 * tree.h (TREE_UNSIGNED): Deleted.
1844 (DECL_UNSIGNED, BIT_FIELD_REF_UNSIGNED): New macros.
1845
8df83eae
RK
18462004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1847
1848 * builtins.c, c-aux-info.c, c-common.c, c-cppbuiltin.c, c-decl.c:
1849 Change most occurrences of TREE_UNSIGNED to TYPE_UNSIGNED.
1850 * c-format.c, c-opts.c, c-pretty-print.c, c-typeck.c: Likewise.
1851 * calls.c, convert.c, dbxout.c, dojump.c, dwarf2out.c: Likewise.
1852 * expmed.c, expr.c, fold-const.c, function.c, integrate.c: Likewise.
1853 * optabs.c, sdbout.c, stmt.c, stor-layout.c, tree-dump.c: Likewise.
1854 * tree.c, config/iq2000/iq2000.c, config/m32r/m32r.c: Likewise.
1855 * config/mips/mips.c, config/rs6000/rs6000.c: Likewise.
1856 * config/s390/s390.c, config/sparc/sparc.c, objc/objc-act.c: Likewise.
1857 * stor-layout.c (layout_type, case COMPLEX_TYPE): Test for
1858 REAL_TYPE, not INTEGER_TYPE.
1859 (layout_type, case VECTOR_TYPE): Simplify code.
1860 * tree.c (build_vector_type_for_mode): Remove dup unsigned setting.
1861 * tree.h: Update comments.
1862 (STRIP_NOPS): Use TYPE_UNSIGNED.
1863 (TYPE_UNSIGNED): New macro.
1864 (TYPE_TRAP_SIGNED): Remove now redundant check.
1865 (SAVE_EXPR_NOPLACEHOLDER): Don't use TREE_UNSIGNED.
1866
8465edcc
RK
18672004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1868
1869 * function.c (put_var_into_stack): Properly set orig_reg for indirect.
1870
18712004-03-31 Andrew Pinski <pinskia@physics.uc.edu>
efdc5d91
AP
1872
1873 * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA):
1874 Add darwin-fpsave.asm, darwin-vecsave.asm,
1875 and darwin-world.asm.
1876 (TARGET_LIBGCC2_CFLAGS): Add -Wa,-force_cpusubtype_ALL
1877 as the asm files contain altivec instructions.
1878 * config/rs6000/darwin-fpsave.asm: New file.
1879 * config/rs6000/darwin-vecsave.asm: New file.
1880 * config/rs6000/darwin-world.asm: New file.
1881
5fece182
ZW
18822004-03-31 Zack Weinberg <zack@codesourcery.com>
1883
1884 * gengtype-yacc.y (option, stringseq): Add missing
1885 terminating semicolon.
1886
b150f4f3
DE
18872004-03-30 David Edelsohn <edelsohn@gnu.org>
1888
1889 * config/rs6000/rs6000.md (tls_gd_32, tls_gd_64,
1890 tls_ld_32, tls_ld_64, tls_dtprel_32, tls_dtprel_64,
1891 tls_dtprel_ha_32, tls_dtprel_ha_64,
1892 tls_dtprel_lo_32, tls_dtprel_lo_64,
1893 tls_got_dtprel_64, tls_tprel_32, tls_tprel_64,
1894 tls_tprel_ha_32, tls_tprel_ha_64,
1895 tls_tprel_lo_32, tls_tprel_lo_64,
1896 tls_got_tprel_32, tls_got_tprel_64,
1897 tls_tls_32, tls_tls_64): Replace register_operand with
1898 gpc_reg_operand.
1899
19002004-03-30 Mostafa Hagog <mustafa@il.ibm.com>
1901
1902 * config/rs6000/rs6000.md (*ctrsi_internal1, *ctrsi_internal2,
1903 *ctrdi_internal1, *ctrdi_internal2, *ctrsi_internal3,
1904 *ctrsi_internal4, *ctrdi_internal3, *ctrdi_internal4,
1905 *ctrsi_internal5, *ctrsi_internal6, *ctrdi_internal5,
1906 *ctrdi_internal6): Replace register_operand with
1907 nonimmediate_operand.
1908
0af5da7f
FJ
19092004-03-29 Fariborz Jahanian <fjahanian@apple.com>
1910
5fece182
ZW
1911 * fold-const.c (fold): Reassociate multiply expression
1912 with an adjacent non-multiply expression to use
1913 architecture's multiply-add instruction.
0af5da7f 1914
1431042e
ZW
19152004-03-30 Zack Weinberg <zack@codesourcery.com>
1916
1917 * gengtype.c (create_option): New function.
1918 * gengtype.h: Prototype it.
1919 * gengtype-yacc.y (stringseq): New rule.
1920 (option): Use create_option. Add new bare ID production. Use
1921 stringseq, not STRING directly.
1922
1923 * alias.c, bitmap.c, c-decl.c, cgraph.h, cpplib.h, cselib.h
1924 * dwarf2out.c, emit-rtl.c, function.h, lists.c, tree.h
1925 * varray.h, config/alpha/alpha.c:
1926 Use new shorter form of GTY markers.
1927
1928 * doc/gty.texi: Rewrite.
1929
9ffab06b
AP
19302004-03-30 Andrew Pinski <pinskia@physics.uc.edu>
1931
1932 * config/darwin.c (machopic_function_base_name):
1933 Remove current_name and getting the name of the
1934 current function.
1935
a2246edc
NC
19362004-03-30 Nick Clifton <nickc@redhat.com>
1937
1938 * config/arm/arm.md (thumb_jump): Reduce the backward branch
1939 range, and increase the forward branch range, to allow for
1940 the fact that the PC will be off by 4.
1941
547799a7
AM
19422004-03-30 Alan Modra <amodra@bigpond.net.au>
1943
1944 * .cvsignore: Add GPATH, GRTAGS, GSYMS and GTAGS (GNU GLOBAL)
1945
452a7d36
HP
19462004-03-30 Hartmut Penner <hpenner@de.ibm.com>
1947
1431042e
ZW
1948 * config/rs6000/rs6000.c (output_vec_const_move):
1949 Find all cases of EASY_VECTOR_15_ADD_SELF.
1950 (easy_vector_constant_add_self): Accept
1951 all vector constant loadable by vsplt* and vadd*.
452a7d36
HP
1952 (easy_vector_same): Use easy_vector_splat_const.
1953 (easy_vector_const): Use easy_vector_splat_const.
1431042e 1954 (easy_vector_splat_const): New function.
452a7d36 1955 (gen_easy_vector_constant_add_self): New function.
1431042e 1956
452a7d36
HP
1957 * config/rs6000/rs6000-protos.c (gen_easy_vector_constant_add_self):
1958 New prototype.
1959
1431042e 1960 * config/rs6000/altivec.md (movv4si splitter): Change to
452a7d36
HP
1961 emit move insn with halfed vector constant.
1962 (*movv8hi splitter): Likewise.
1963 (*movv16qi splitter): Likewise.
1431042e 1964
708d2456
HP
19652004-03-30 Hartmut Penner <hpenner@de.ibm.com>
1966
1431042e
ZW
1967 PR 11591
1968 * config/rs6000/rs6000.c (rs6000_legitimate_address):
708d2456
HP
1969 Allow any offset to argument pointer in no-strict case.
1970
6868bb1c
JH
19712004-03-30 Jan Hubicka <jh@suse.cz>
1972
1973 * toplev.c (backend_init): Add missing call to inint_optimization_passes.
1974 * passes.c (init_optimization_passes, finish_optimization_passes): Output cgraph
1975 dump file in non-unit-at-a-time mode.
1976
43537bf6
HPN
19772004-03-29 Hans-Peter Nilsson <hp@axis.com>
1978
1979 * config/cris/cris.h: Correct #ifdef to test for
1980 HAVE_AS_NO_MUL_BUG_ABORT_OPTION, not
1981 HAVE_AS_MUL_BUG_ABORT_OPTION.
1982
97955d55
RK
19832004-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1984
1985 * function.c (put_var_into_stack): If old RTL was ADDRESSOF, update
1986 the address inside the old RTL.
1987
18d5f982
ZW
19882004-03-28 Zack Weinberg <zack@codesourcery.com>
1989
1990 * c-decl.c: Verify that C_SIZEOF_STRUCT_LANG_IDENTIFIER is correct.
1991 (struct c_binding, struct c_scope): Add chain_next
1992 attributes to GTY markers.
1993 (struct lang_identifier, struct lang_tree_node): Define
1994 here...
1995 * c-tree.h: ... not here. No longer need to declare struct
1996 c_binding either. Do define C_SIZEOF_STRUCT_LANG_IDENTIFIER.
1997 * c-lang.c, objc/objc-lang.c: Set LANG_HOOKS_IDENTIFIER_SIZE
1998 to C_SIZEOF_STRUCT_LANG_IDENTIFIER.
1999
2000 PR 14734, 11944
2001 * c-decl.c (get_parm_info): If error_mark_node is encountered
2002 in the bindings chain, unbind and discard it; don't abort.
2003
e20f3dd1 20042004-03-28 Olga Golovonevsky <olga@il.ibm.com>
18d5f982 2005 Dorit Naishlos <dorit@il.ibm.com>
e20f3dd1 2006
18d5f982
ZW
2007 * config/rs6000/altivec.md: (andvv16qi3, andv8hi3, one_cmplv16qi2,
2008 one_cmplv8hi2, one_cmplv4si2, iorv16qi3, iorv8hi3,): New modelling.
e20f3dd1 2009
d5ebbf58
SC
20102004-03-28 Stephane Carrez <stcarrez@nerim.fr>
2011
2012 * config/m68hc11/m68hc11-protos.h (m68hc11_page0_symbol_p): Declare.
2013
2014 * config/m68hc11/m68hc11.c (m68hc11_handle_page0_attribute): New.
2015 (m68hc11_attribute_table): New attribute "page0" to mark a global
2016 variable as being allocated from within page0 section.
2017 (m68hc11_encode_label): New function.
2018 (m68hc11_strip_name_encoding): New function.
2019 (m68hc11_page0_symbol_p): New function.
2020 (m68hc11_indirect_p): Accept global variables marked in page0.
2021 (m68hc11_encode_section_info): Lookup "page0" attribute.
2022
2023 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): 'R' constraint also
2024 represents access to page0 variables.
2025
2026 * config/m68hc11/m68hc11.md ("*logicalsi3_zexthi"): Use gen_rtx_REG.
2027 ("*logicalsi3_silshl16_zext"): Likewise.
2028 ("*ashldi3_const32"): Likewise.
2029 (peephole2 ashift): Likewise.
2030
5baeaac0
JM
20312004-03-28 Joseph S. Myers <jsm@polyomino.org.uk>
2032
2033 * c-tree.h (C_DECL_REGISTER): New.
2034 * c-aux-info.c (gen_decl), c-decl.c (objc_mark_locals_volatile,
2035 finish_decl, grokdeclarator, get_parm_info), c-typeck.c
2036 (build_array_ref, c_mark_addressable): Set and use it.
2037 * c-decl.c (grokdeclarator), c-typeck.c (c_mark_addressable):
2038 Allow structures with volatile fields to be declared register.
2039 Don't check TREE_ADDRESSABLE before warning about taking address
2040 of register.
2041 * c-decl.c (finish_decl): Don't allow structures with volatile
2042 fields to be placed in named register.
2043 * doc/trouble.texi: Remove reference to structures with volatile
2044 fields in registers.
2045
84c1fa24
UW
20462004-03-27 Ulrich Weigand <uweigand@de.ibm.com>
2047
2048 * function.c (thread_prologue_and_epilogue): Move
2049 NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes
2050 before the epilogue.
2051
053ee101
UW
20522004-03-27 Ulrich Weigand <uweigand@de.ibm.com>
2053
2054 * expr.c (store_constructor): Use gen_int_mode to correctly
2055 sign-extend CONST_INT value.
2056
ca4944e1
KG
20572004-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2058
2059 * builtin-types.def (BT_WINT, BT_FN_INT_WINT, BT_FN_WINT_WINT): New.
2060 * builtins.def (DEF_C94_BUILTIN): New. Add wctype builtins.
2061 * doc/extend.texi: Likewise.
2062
eb1a2c88
DN
20632004-03-26 Diego Novillo <dnovillo@redhat.com>
2064
2065 * c-typeck.c (comptypes): Replace calls to TYPE_DOMAIN
2066 with TYPE_ORIG_SIZE_TYPE.
2067
eabe2b29 20682004-03-25 Aldy Hernandez <aldyh@redhat.com>
18d5f982
ZW
2069
2070 PR 14219
2071 * c-typeck.c (build_binary_op): Do not allow comparisons of
2072 vectors.
eabe2b29 2073
9e1395f1
JM
20742004-03-26 James A. Morrison <ja2morri@uwaterloo.ca>
2075
2076 * config.gcc: Remove sparc-tti-*.
2077 * config/sparc/pbd.h: Delete.
2078
2079 * config/sparc/sol2.h: Remove note about Sun OS 4.x.
2080 * config/sparc/aout.h: Likewise.
2081
2082 * config/sparc/sparc.h: Remove if 0'd code.
2083 * config/sparc/sparc.md (call): Remove if 0'd code.
2084 (call_value): Likewise.
2085 (nonlocal_goto): Likewise.
2086 (unimp_insn): Delete.
2087
22e63bd3
RS
20882004-03-25 Roger Sayle <roger@eyesopen.com>
2089
2090 * fold-const.c (tree_expr_nonnegative_p): Handle BIT_XOR_EXPR like
2091 BIT_IOR_EXPR; A^B is nonnegative when A and B are nonnegative.
2092
0066ef9c
RH
20932004-03-25 Richard Henderson <rth@redhat.com>
2094
2095 PR 11527
18d5f982
ZW
2096 * c-typeck.c (pop_init_level): Emit pending init elements earlier
2097 rather than later.
0066ef9c 2098
3a048383
KG
20992004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2100
2101 * builtins.c (fold_builtin): Fix error in last change.
2102
0d63bf21
RS
21032004-03-25 Richard Sandiford <rsandifo@redhat.com>
2104
2105 * config/mips/mips.h: Formatting fix.
2106
740e5b6f
KG
21072004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2108
2109 * builtins.def: Add ctype builtins.
2110 * doc/extend.texi: Likewise.
2111
e19f6bde
KG
21122004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2113
2114 * builtins.c (fold_builtin): Add new builtin optimizations for
2115 sqrt and/or cbrt.
2116 * fold-const.c (fold): Likewise.
2117
ec507f2d
DE
21182004-03-25 David Edelsohn <edelsohn@gnu.org>
2119
2120 * config/rs6000/rs6000.c (rs6000_always_hint): New variable.
2121 (rs6000_sched_groups): New variable.
2122 (processor_target_table): Add power5.
2123 (rs6000_override_options): Set rs6000_sched_insert_nops,
2124 rs6000_sched_costly_dep and rs6000_sched_restricted_insns_priority
2125 from rs6000_sched_groups.
2126 (output_cbranch): Use rs6000_always_hint.
2127 (rs6000_variable_issue): Use rs6000_sched_groups.
2128 (rs6000_adjust_cost): Add CPU_POWER5.
2129 (is_microcoded_insn): Use rs6000_sched_groups.
2130 (is_dispatch_slot_restricted): Use rs6000_sched_groups.
2131 Return 2 for POWER5 cracked instructions.
2132 (is_cracked_insn): Use rs6000_sched_groups.
2133 (is_branch_slot_insn): Use rs6000_sched_groups.
2134 (rs6000_issue_rate): Add CPU_POWER5.
2135 (rs6000_sched_finish): Use rs6000_sched_groups.
2136 (rs6000_rtx_costs): Add PROCESSOR_POWER5.
2137 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER5.
2138 (DEFAULT_SCHED_COSTLY_DEP): Delete.
2139 (DEFAULT_RESTRICTED_INSNS_PRIORITY): Delete.
2140 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Delete.
2141 * config/rs6000/rs6000.md (define_attr "cpu"): Add power5.
2142 * config/rs6000/power5.md: New file.
2143 * doc/invoke.texi: Add power5 option.
2144
666c27b9
KH
21452004-03-25 Kazu Hirata <kazu@cs.umass.edu>
2146
2147 * cfgrtl.c, dbxout.c, tree.def, config/darwin.h,
2148 config/arm/arm.c, objc/objc-act.c: Fix comment typos.
2149 * doc/invoke.texi: Fix a typo.
2150
43a21dfc
KH
21512004-03-25 Kazu Hirata <kazu@cs.umass.edu>
2152
2153 PR optimization/9707.
2154 * stmt.c (emit_case_nodes): Emit equality comparisons instead
2155 of recursing if both children are single-valued cases with no
2156 children.
2157
9728c9d1
PB
21582004-03-25 Paul Brook <paul@codesourcery.com>
2159
2160 * config/arm/arm.c (vfp_print_multi): Remove.
2161 (arm_output_fldmx): New function.
2162 (vfp_emit_fstmx): Return block size, not insn. Add ARM10 VFPr1 bugfix.
2163 (arm_expand_prologue): Update to match.
2164 (arm_get_vfp_saved_size): New Function.
2165 (arm_get_frame_offsets): Use it.
2166 (arm_output_epilogue): Use new functions.
2167
bb1acb3e
RH
21682004-03-24 Richard Henderson <rth@redhat.com>
2169
2170 * alias.c (alias_invariant, alias_invariant_size): Mark GTY.
2171 (reg_known_value, reg_known_value_size): Likewise; make static.
2172 (reg_known_equiv_p): Make static.
2173 (clear_reg_alias_info): Update for new indexing.
2174 (get_reg_known_value, set_reg_known_value): New.
2175 (get_reg_known_equiv_p, set_reg_known_equiv_p): New.
2176 (canon_rtx): Use them.
2177 (init_alias_analysis): Likewise. Allocate reg_known_value with gc.
2178 Don't play queer offsetting games with reg_known_value and
2179 reg_known_equiv_p.
2180 (end_alias_analysis): Free reg_known_value with gc.
2181 * rtl.h (get_reg_known_value, get_reg_known_equiv_p): Declare.
2182 * sched-deps.c (reg_known_equiv_p, reg_known_value): Remove.
2183 (deps_may_trap_p, sched_analyze_1, sched_analyze_2): Use the new
2184 functions instead.
2185
ef335eb8
KH
21862004-03-24 Kazu Hirata <kazu@cs.umass.edu>
2187
2188 * dwarf2asm.c, loop.h, pretty-print.c, pretty-print.h,
2189 config/i386/mmintrin.h: Update copyright.
2190
09a9c095
NN
21912004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
2192
2193 * configure.ac: Add --enable-werror-always (for top level bootstrap
2194 support).
2195 * configure: Regenerate.
2196
f75963f5
ZL
21972004-03-24 Ziemowit Laski <zlaski@apple.com>
2198
2199 * objc/objc-act.c (objc_comptypes): Treat comparisons
2200 between 'Class' and '<class> *' as explicitly invalid.
2201
8d3b3fb7
DE
22022004-03-24 David Edelsohn <edelsohn@gnu.org>
2203
2204 * doc/invoke.texi (-frename-registers: Add enabled at -O3.
2205 (-fprofile-values): Add enabled with profile-{generate,use}.
2206 (-fvpt): Same.
2207 (-ftracer): Add enabled with profile-use.
2208 (-funit-at-a-time): Add enabled at -O2,-O3.
2209 (-funroll-loops): Add enabled with profile-use.
2210 (-funswitch-loops): Add enabled with profile-use. Remove duplicates.
2211 (max-gcse-passes): Mention default.
2212 (max-cse-path-length): Mention default.
2213
643d3bd2
NN
22142004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
2215
2216 * Makefile.in (STRICT2_WARN): Reorder.
2217 * configure.ac: Check for -Wold-style-definition, and use it
2218 in strict1_warn if it's available.
2219 * configure: Regnerate.
2220
5848830f
PB
22212004-03-24 Paul Brook <paul@nowt.org>
2222
2223 * config.gcc <arm>: Add --with-abi=
2224 * config/arm/arm-protos.h (arm_get_frame_size, thumb_get_frame_size,
2225 thumb_far_jump_used): Remove prototypes.
2226 (arm_needs_doubleword_align): Add prototype.
2227 (thumb_compute_initial_elimination_offset): Ditto.
2228 * config/arm/arm.c (arm_get_frame_offsets): New function.
2229 (use_return_insn, output_return_instruction, arm_output_epilogue,
2230 arm_output_function_epilogue, arm_compute_initial_elimination_offset,
2231 arm_expand_prologue, thumb_expand_epilogue): Use it.
2232 (arm_abi, target_abi_name, all_arm_abis): New variables.
2233 (arm_override_options): Set them. Set structure padding for AAPCS.
2234 (arm_return_in_memory): Update ABI check.
2235 (arm_init_cumulative_args): Initialize can_split.
2236 (arm_needs_doubleword_align): New function.
2237 (arm_function_arg): Don't split args after pushing to stack. Handle
2238 doubleword/even reg alignment.
2239 (arm_va_arg): Handle all doubleword aligned args.
2240 (add_minpoolforward ref, dump_minpool, push_minpool_fix): Align based
2241 on ABI, not CPU.
2242 (arm_compute_save_reg0_reg12_mask): Fix comment.
2243 (thumb_get_frame_size, thumb_get_frame_size): Remove.
2244 (thumb_jump_far_used_p): Remove superfluous argument. Return save
2245 value for alignment.
2246 (thumb_unexpanded_epilogue, thumb_output_function_prologue): Change
2247 to match.
2248 (thumb_compute_initial_elimination_offset): New function.
2249 (thumb_expand_prologue): Use arm_get_frame_offsets. Remove
2250 unneccessary rounding.
2251 * config/arm/arm.h (target_abi_name): Declare.
2252 (ARM_DOUBLEWORD_ALIGN, DOUBLEWORD_ALIGNMENT, TARGET_IWMMXT_ABI,
2253 arm_abi_type, ARM_DEFAULT_ABI): Define.
2254 (ARM_FLAG_ATPCS): Remove.
2255 (TARGET_OPTIONS, OPTION_DEFAULT_SPECS): Add -mabi=.
2256 (BIGGEST_ALIGNMENT, PREFERRED_STACK_BOUNDARY, STACK_BOUNDARY): Use it.
2257 (ADJUST_FIELD_ALIGN, DATA_ALIGNMENT, LOCAL_ALIGNMENT,
2258 TYPE_NEEDS_IWMMXT_ALIGNMENT): Remove.
2259 (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P):
2260 Contitionalize on ABI, not CPU.
2261 (struct arm_stack_offsets): Define.
2262 (struct machine_function): Add stack_offsets. Remove frame_size.
2263 (FUNCTION_ARG_PARTIAL_NREGS): Don't split if previous args have been
2264 pushed.
2265 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY): Handle general
2266 doubleword alignment.
2267 (THUMB_INITIAL_ELIMINATION_OFFSET,
2268 ARM_INITIAL_ELIMINATION_OFFSET): Remove.
2269 (INITIAL_ELIMINATION_OFFSET): Call functions directly.
2270 * config/arm/arm.md (align_8): Enable for all targets.
2271 * config/arm/netbsd-elf.h (TARGET_DEFAULT): Remove TARGET_ATPCS.
2272 (ARM_DEFAULT_ABI): Define.
2273 * doc/invoke.texi <ARM>: Document -mabi=. Update documentation for
2274 -mstructure-size-boundary.
2275
b5472e1d
NN
22762004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
2277
2278 * configure.ac: Check for -Wno-variadic-macros; don't use
2279 -pedantic (in stage 1 or a simple 'make all') unless it's available,
2280 and if it's available, use it. Also, clean up check for
2281 -Wno-long-long.
2282 * configure: Regenerate.
2283
c1077e1e
RS
22842004-03-24 Richard Sandiford <rsandifo@redhat.com>
2285
2286 * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines.
2287 * config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130.
2288 (MULTILIB_DEFAULTS): Use it.
2289 (MIPS_CPU_STRING_DEFAULT): Remove.
2290 (MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define.
2291 (DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120. Make
2292 EABI64 -mlong32 the default ABI. Enforce the default architecture.
2293 * config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs,
398a9492 2294 march=vr4130, march=vr4300, march=vr5000 and march=vr5500.
c1077e1e
RS
2295 (MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120.
2296 (MULTILIB_EXCEPTIONS): Change choice of multilibs. Update comments
2297 accordingly.
2298
c235ddf2
DD
22992004-03-24 DJ Delorie <dj@redhat.com>
2300 Richard Sandiford <rsandifo@redhat.com>
2301
2302 * config/mips/mips.h (MASK_FIX_VR4122, TARGET_FIX_VR4122): New macros.
2303 (TARGET_SWITCHES): Add -mfix-vr4122-bugs and -mno-fix-vr4122-bugs.
2304 (ASM_SPEC): Pass down -mfix-vr4122-bugs.
2305 * config/mips/mips.c (mips_avoid_hazards): Don't emit whole functions
2306 in .set noreorder and .set nomacro if TARGET_FIX_VR4122.
2307 (mips_init_libfuncs): Use special functions for divsi3 and modsi3
2308 if TARGET_FIX_VR4122.
2309 * config/mips/mips.md (define_attr length): Account for nops inserted
2310 after macc and dmult when using -mfix-vr4122-bugs.
2311 (umuldi3_highpart, divmodsi4, divmoddi4): Disable if TARGET_FIX_VR4122.
2312 * config/mips/t-vr (LIB2FUNCS_STATIC_EXTRA): Define instead of
2313 LIB2FUNCS_EXTRA. Add config/mips/vr4122-div.S.
2314 * config/mips/vr4122-div.S: New file.
2315 * doc/invoke.texi: Document -mfix-vr4122-bugs.
2316
cf768d70
RS
23172004-03-24 Richard Sandiford <rsandifo@redhat.com>
2318
2319 * config/mips/mips.h (PROCESSOR_R4130): New processor_type.
2320 (TARGET_MIPS4130): New macro.
2321 (ISA_HAS_MACC): Return true if TARGET_MIPS4130 && !TARGET_MIPS16.
2322 * config/mips/mips.c (mips_cpu_info_table): Add a vr4130 entry.
2323 (override_options): Extend MIPS_MARCH_CONTROLS_SOFT_FLOAT to deal
2324 with PROCESSOR_R4130.
2325 * config/mips/mips.md (define_attr cpu): Add r4130.
2326 * doc/invoke.texi: Document vr4130 as a supported MIPS architecture.
2327
5ef1a99d
MR
23282004-03-24 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
2329 Richard Sandiford <rsandifo@redhat.com>
2330
2331 * doc/invoke.texi: Apply missed hunk from 2004-03-03 change.
2332
ae87624f
AO
23332004-03-24 Alexandre Oliva <aoliva@redhat.com>
2334
2335 PR preprocessor/14438
2336 * cpplib.c (do_pragma): Remove line_change call after pragma
2337 handler.
2338
d63851eb
ILT
23392004-03-23 Ian Lance Taylor <ian@wasabisystems.com>
2340
2341 * doc/extend.texi (ARM Built-in Functions): Replace with correct
2342 declarations.
2343
0c5faf29
RS
23442004-03-23 Roger Sayle <roger@eyesopen.com>
2345
2346 * reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND
2347 if flag_unsafe_math_optimizations.
2348 * config/i386/i386.md (truncdfsf2): If flag_unsafe_math_optimizations
2349 and TARGET_80387 expand using truncdfsf2_noop pattern.
2350 (truncxfsf2): Likewise using truncxfsf2_noop.
2351 (truncxfdf2): Likewise using truncxfdf2_noop.
2352 (truncdfsf2_noop, truncxfsf2_noop, truncxfdf2_noop): New patterns.
2353
f18eca82
ZL
23542004-03-23 Ziemowit Laski <zlaski@apple.com>
2355
2356 * hooks.c (hook_constcharptr_tree_null): New hook.
2357 * hooks.h (hook_constcharptr_tree_null): New prototype.
2358 * target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook.
2359 * target.h (mangle_fundamental_type): New target hook.
2360 * config/rs6000/rs6000.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Point
2361 target hook at rs6000_mangle_fundamental_type.
2362 (rs6000_mangle_fundamental_type): New function.
2363 * doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document.
2364
f75fbaf7
ZW
23652004-03-23 Zack Weinberg <zack@codesourcery.com>
2366
1b1d85bd 2367 PR 12267, 12391, 12560, 13129, 14114, 14133
f75fbaf7
ZW
2368 * c-tree.h: Forward declare struct c_binding. Declare
2369 c_override_bindings_to_false. Update prototypes.
2370 (struct lang_identifier): Update comments. Change fields to be
2371 struct c_binding *.
2372 (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE)
2373 (IDENTIFIER_LABEL_VALUE, C_DECL_INVISIBLE)
2374 (KEEP_NO, KEEP_YES, KEEP_MAYBE): Delete.
2375 (C_DECL_IN_EXTERNAL_SCOPE, C_DECL_DECLARED_BUILTIN): New.
2376 * c-common.h: Update prototypes.
2377 * c-decl.c (struct c_scope): Update commentary. Remove names,
2378 names_last, parms, parms_last, tags, and shadowed fields. Add
2379 bindings and depth fields.
2380 (scope_freelist): Move to more appropriate location.
2381 (c_print_identifier): Update for changes to struct lang_identifier.
2382 (objc_mark_locals_volatile): Update for new bindings structures.
2383 (global_bindings_p): Honor c_override_global_bindings_to_false.
2384 (pushlevel): Rename to push_scope; take no arguments; use the
2385 scope_freelist; initialize scope->depth and check for overflow.
2386 (poplevel): Rename to pop_scope; totally rewritten for new bindings
2387 structures.
2388 (diagnose_mismatched_decls): Use C_DECL_DECLARED_BUILTIN, not
2389 C_DECL_INVISIBLE, for certain decisions. Adjust some diagnostics.
2390 Improve some commentary. Adjust handling of forward parm decls.
2391 (merge_decls): Set C_DECL_DECLARED_BUILTIN when appropriate.
2392 Preserve C_DECL_IN_EXTERNAL_SCOPE.
2393 (warn_if_shadowing): Correct indentation. Improve diagnostics.
2394 (pushdecl): Remove unnecessary assertion. Short-circuit anonymous
2395 decls. Rewrite for new bindings structures. Improve commentary.
2396 Eliminate the copy_node call.
2397 (implicit_decl_warning): Use the "diag" idiom (as seen in
2398 locate_old_decl) to reduce code duplication; call locate_old_decl
2399 if appropriate. Relocate to remove need for forward declaration.
2400 (implicitly_declare): Adjust for new bindings structures. Kludge
2401 around Objective-C not-really-builtin functions.
2402 (undeclared_variable): Improve diagnostics. If current_function_decl
2403 is nonnull but current_function_scope is null, use current_scope.
2404 Use bind.
2405 (lookup_tag): Adjust for new bindings structures. Kludge around
2406 Objective-C's tag declarations that wind up in the external scope.
2407 (lookup_name): Adjust for new bindings structures. Kludge around
2408 c-common.c's pseudo-typedefs that wind up in the external scope.
2409 (lookup_name_current_level): Rename lookup_name_in_scope; take a
2410 second argument indicating the scope to examine; rewrite for
2411 new bindings structures.
2412 (c_init_decl_processing): Adjust for renamed functions. Do not
2413 initialize current_file_decl, first_builtin_decl, last_builtin_decl.
2414 First scope pushed is the external scope, not the global scope.
2415 (builtin_function): Use bind, not pushdecl. Adjust other bits
2416 for new data structures. Keep track of builtins that should be
2417 made visible automatically.
2418 (start_decl): Adjust diagnostics. Remove unnecessary call to
2419 expand_decl.
2420 (grokparms): Return 0 if arg_types is error_mark_node.
2421 (get_parm_info): Rename "void_at_end" argument to "ellipsis", with
2422 reversed sense. Rewrite for new bindings structures. Do not
2423 leave any decls in the scope, to prevent pop_scope from doing
2424 contradictory things with them.
2425 (finish_struct, finish_enum): Remove redundant diagnostics.
2426 (build_enumerator): Don't cascade diagnostics for error_mark_node.
2427 Mark location where -pedantic changes the meaning of the program.
2428 (store_parm_decls_newstyle, store_parm_decls_oldstyle): Load the
2429 parameter decls into the function's scope structure using bind.
2430 Warn here about function definitions in the wrong style.
2431 Adjust diagnostics.
2432 (store_parm_decls): Correct the determination of whether a
2433 function was defined with a prototype.
2434 (c_write_global_declarations): Operate on all file decls and on
2435 the external scope. Split body of the loop to...
2436 (c_write_global_declarations_1): ... this new function, to avoid
2437 code duplication.
2438 (truly_local_externals, first_builtin_decl, last_builtin_decl)
2439 (make_scope, pop_scope, in_parm_level_p, set_block)
2440 (any_external_decl, record_external_decl, bind_label, getdecls)
2441 (link_hash_hash, link_hash_eq, merge_translation_unit_decls)
2442 (c_reset_state): Delete.
2443 (visible_builtins, c_override_global_bindings_to_false)
2444 (c_binding, I_SYMBOL_BINDING, I_SYMBOL_DECL, I_TAG_BINDING)
2445 (I_TAG_DECL, I_LABEL_BINDING, I_LABEL_DECL, file_scope)
2446 (external_scope, binding_freelist, bind, free_binding_and_advance)
2447 (push_file_scope, pop_file_scope): New.
2448 (pushtag, pushdecl_top_level, lookup_label, declare_label)
2449 (define_label, c_make_fname_decl, finish_decl)
2450 (mark_forward_parm_decls, build_compound_literal)
2451 (grokdeclarator, start_function, check_for_loop_decls)
2452 (identifier_global_value, record_builtin_type): Minor adjustments
2453 for new bindings structures. Improve diagnostics and commentary.
2454 * c-objc-common.c (start_cdtor, finish_cdtor): Adjust calls to
2455 pushlevel/poplevel respectively.
2456 (c_objc_common_finish_file): Don't call merge_translation_unit_decls.
2457 * c-opts.c (c_common_parse_file): Remove spurious ATTRIBUTE_UNUSED.
2458 Warn about YYDEBUG not being defined only if -dy. Remove no-longer-
2459 correct loop over multiple translation units; call fatal_error if
2460 requested to compile more than one file at once. (This disables
2461 IMA temporarily - an up-front error being preferable to a crash.)
2462 * c-parse.in (pushlevel, poplevel rules): Rename push_scope, pop_scope.
2463 (all actions): Adjust calls to pushlevel/poplevel.
2464 (parsing_iso_function_signature): Delete.
2465 (extdef_1): Fold into extdef.
2466 (old_style_parm_decls_1): Fold into old_style_parm_decls. Don't
2467 warn here about function definitions in the wrong style.
2468 (after_tyle_declarator, parm_declarator_starttypename)
2469 (parm_declarator_nostarttypename, notype_declarator): Remove
2470 commented-out productions.
2471 (parmlist_1, parmlist_2): Use make_node, not tree_cons, to create
2472 an empty TREE_LIST node. Adjust calls to get_parm_info.
2473 (parmlist_2 : ELLIPSIS): Tag the arg-info block with error_mark_node
2474 to suppress -Wold-style-definition after this error.
2475 (c_parse_file): Don't clear the binding stack or call
2476 finish_fname_decls here. Correct comment.
2477 * c-typeck.c (same_translation_unit_p): Export.
2478 (common_type): Use c_override_global_bindings_to_false, not
2479 pushlevel/poplevel/declare_parm_level.
2480 * c-lang.c: Override LANG_HOOKS_CLEAR_BINDING_STACK,
2481 LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK,
2482 and LANG_HOOKS_GETDECLS with do-nothing stubs.
2483 * objc/objc-lang.c: Likewise.
2484 * objc/objc-act.c: Adjust all calls to pushlevel, poplevel,
2485 get_parm_info.
2486 (OBJC_VOID_AT_END): Delete; replace all uses
2487 with void_list_node.
2488 (generate_forward_declaration_to_string_table): Delete.
2489 * objc/objc-act.h (OCTI_STRG_DECL, UOBJC_STRINGS_decl): Delete.
2490
2491 * coverage.c (create_coverage): Don't pushdecl anything.
2492 * langhooks.c (lhd_clear_binding_stack): Call
2493 lang_hooks.decls.poplevel, not poplevel.
2494 * tree.c (list_length): If ENABLE_TREE_CHECKING, abort on a
2495 circular list rather than going into an infinite loop.
2496
0c0ab0f1
OH
24972004-03-23 Olivier Hainque <hainque@act-europe.fr>
2498
f75fbaf7
ZW
2499 * optabs.c (expand_binop): When synthesizing double word rotates
2500 from single word shifts, use a new register target if the provided
2501 target is not a REG already.
0c0ab0f1 2502
22421b79
RK
25032004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2504
2505 * alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL.
2506 * c-common.c (handle_mode_attribute): Add extra arg to
2507 build_pointer_type_for_mode and build_reference_type_for_mode.
2508 * c-typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW
2509 for INTEGER_CST.
2510 * tree.c (build_pointer_type_for_mode): Add arg CAN_ALIAS_ALL.
2511 Chain pointers via TYPE_NEXT_PTR_TO.
2512 (build_reference_type_for_mode): Similarly.
2513 (build_type_no_quals): Add extra arg to build_pointer_type_for_mode
2514 and build_reference_type_for_mode.
2515 (tree_check4_failed): New function.
2516 * tree.h (TREE_CHECK4, PTR_OR_REF_CHECK): New macros.
2517 (TYPE_REF_CAN_ALIAS_ALL, TYPE_NEXT_PTR_TO, TYPE_NEXT_REF_TO): Likewise.
2518 (TREE_NO_UNSUED_WARNING, TREE_VIA_VIRTUAL, TREE_CONSTANT_OVERFLOW):
2519 Add check.
2520
b1500d00
RS
25212004-03-23 Roger Sayle <roger@eyesopen.com>
2522
2523 * fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when
2524 A is nonnegative or B is nonnegative. Similarly A|B is nonnegative
2525 when both A and B are nonnegative.
2526 (tree_expr_nonzero_p): A|B is nonzero when A is nonzero or B is
2527 nonzero.
2528
73b91357
KH
25292004-03-23 Kazu Hirata <kazu@cs.umass.edu>
2530
2531 * fold-const.c (fold): Remove cases for INTEGER_CST, REAL_CST,
2532 VECTOR_CST, STRING_CST, COMPLEX_CST, and CONSTRUCTOR.
2533
bb3a37ac
RS
25342004-03-23 Kazu Hirata <kazu@cs.umass.edu>
2535
2536 PR optimization/14669
2537 * fold-const.c (fold): Only unwiden integer comparisons for equality
2538 and inequality operators, or when the signedness doesn't change.
2539
f2c79f80
JJ
25402004-03-23 Jakub Jelinek <jakub@redhat.com>
2541
2542 * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
2543 * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set.
2544 * config/sparc/t-linux: New file.
2545
1707bafa
RS
25462004-03-23 Richard Sandiford <rsandifo@redhat.com>
2547
2548 * gcse.c (can_assign_to_reg_p): New function, split out from...
2549 (want_to_gcse_p): ...here.
2550 (compute_ld_motion_mems): Use can_assign_to_reg_p to validate
2551 the rhs of a store.
2552
63185fab
DN
25532004-03-22 Diego Novillo <dnovillo@redhat.com>
2554
2555 * c-typeck.c (same_translation_unit_p): Fix pasto.
2556
f72c6b56
DE
25572004-03-22 David Edelsohn <edelsohn@gnu.org>
2558
2559 * params.def (PARAM_MAX_SCHED_REGION_BLOCKS): New.
2560 (PARAM_MAX_SCHED_REGION_INSNS): New.
2561 * sched-rgn.c: Include params.h
2562 (MAX_RGN_BLOCKS): Delete.
2563 (MAX_RGN_INSNS): Delete.
2564 (too_large): Return bool. Convert to PARAM_VALUE.
0483ab6e 2565 * Makefile.in (sched-rgn.o): Depend on $(PARAMS_H).
f72c6b56
DE
2566 * doc/invoke.texi (param): Document max-sched-region-blocks and
2567 max-sched-region-insns.
2568
d6672e91
JB
25692004-03-22 Joel Brobecker <brobecker@gnat.com>
2570
2571 * dwarf2out.c (is_subrange_type): Do not emit a subrange_type DIE
2572 for base types.
2573
886de2d4
JB
25742004-03-22 Joel Brobecker <brobecker@gnat.com>
2575
2576 * dwarf2out.c (is_subrange_type): Minor code rework. No behavior
2577 change.
2578
d915eec0
JJ
25792004-03-22 Jakub Jelinek <jakub@redhat.com>
2580
2581 PR c/14069
2582 * c-decl.c (finish_struct): Change type of incorrect flexible array
2583 field into error_mark_node.
2584
aa6d25c9
AP
25852004-03-22 Andrew Pinski <pinskia@physics.uc.edu>
2586
19a03303 2587 PR target/14580
aa6d25c9
AP
2588 * config/rs6000/rs6000.c (symbol_ref_operand): Reject symbols
2589 who are not local for Darwin PIC.
2590
ead61c1d
UW
25912004-03-22 Ulrich Weigand <uweigand@de.ibm.com>
2592
2593 * regrename.c (regrename_optimize): Set regs_ever_live for all
2594 registers introduced as replacement.
2595
1bbd65cd
EB
25962004-03-22 Eric Botcazou <ebotcazou@libertysurf.fr>
2597
2598 PR middle-end/14470
2599 * expr.c (mark_queue): New function.
2600 (emit_insns_enqueued_after_mark): New function replacing
2601 emit_queue. Clear the body of emitted queued insns.
2602 (emit_queue): Call emit_insns_enqueued_after_mark.
2603 (store_expr): Mark the increment queue on entry. Emit
2604 only the incrementations queued when expanding the source.
2605
6dd297da
NN
26062004-03-22 Nathanael Nerode <neroden@gcc.gnu.org>
2607
2608 * configure.ac: Allow --disable-coverage-flags (for the future benefit
2609 of top level bootstrap, and consistency). Reindent.
2610 * configure: Regenerate.
2611
400e39e3
KH
26122004-03-21 Kazu Hirata <kazu@cs.umass.edu>
2613
2614 * bt-load.c, builtins.c, cfghooks.c, cfgrtl.c, gcse.c,
2615 ggc-page.c, integrate.c, var-tracking.c, web.c: Remove
2616 unnecessary casts.
2617
bd8ec6a7
DS
26182004-03-22 Danny Smith <dannysmith@users.sourceforge.net>
2619
2620 PR target/14291
2621 * gcov-io.h (gcov_truncate): Define ftruncate as _chsize for
2622 __MINGW32__.
2623
bd446804
UW
26242004-03-21 Ulrich Weigand <uweigand@de.ibm.com>
2625
2626 * config/s390/s390.md ("*doloop_si"): Change predicate for operand 2
2627 to nonimmediate_operand.
2628 ("*doloop_di"): Likewise.
2629
1e92bbb9
AO
26302004-03-21 Alexandre Oliva <aoliva@redhat.com>
2631
2632 * real.h (struct real_value): Use the same type for all
2633 bitfields. Rename exp to uexp.
2634 (REAL_EXP, SET_REAL_EXP): New accessor macros for uexp.
2635 Adjust all uses of exp...
2636 * builtins.c: ... here, ...
2637 * emit-rtl.c: ... here, and ...
2638 * real.c: ... and here.
2639
b9b44fb9
GDR
26402004-03-21 Gabriel Dos Reis <gdr@integrable-solutions.net>
2641
2642 * pretty-print.c (pp_base_maybe_space): New function.
2643 * pretty-print.h (pp_base_maybe_space): Declare.
2644 (pp_maybe_space): New macro.
2645
1c7b1b7e
UW
26462004-03-21 Ulrich Weigand <uweigand@de.ibm.com>
2647
2648 * config/s390/s390.md ("addti3", "subti3"): New insns and splitters.
2649
f258e38b
UW
26502004-03-21 Ulrich Weigand <uweigand@de.ibm.com>
2651
2652 * expmed.c (choose_mult_variant): Pass MULT_COST as argument instead
2653 of using register multiplication cost.
2654 (expand_mult): Adapt choose_mult_variant call.
2655 (expand_mult_highpart): Call choose_mult_variant with WIDER_MODE
2656 of MODE; pass appropriate cost bound. Adjust result when
2657 performing signed multiplication by a negative constant.
2658 Don't use intermediate modes larger than word_mode.
2659
6fce44af
RK
26602004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2661
2662 * alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR.
2663 * emit-rtl.c (component_ref_for_mem_expr): Likewise.
2664 (set_mem_attributes_minus_bitpos): Call SUBSTITUTE_PLACEHOLDER_IN_EXPR.
2665 * explow.c (expr_size): Likewise.
2666 * expr.h (placeholder_list, find_placeholder): Deleted.
2667 * expr.c (store_constructor): Likewise.
2668 (get_inner_reference): Likewise. Also don't call find_placeholder.
2669 (placeholder_list, find_placeholder): Deleted.
2670 (is_aligning_offset): Don't handle WITH_RECORD_EXPR, PLACEHOLDER_EXPR.
2671 (expand_expr_real, cases PLACEHOLDER_EXPR, WITH_RECORD_EXPR): Likewise.
2672 (highest_pow2_factor, case WITH_RECORD_EXPR): Remove.
2673 * dojump.c (do_jump, case WITH_RECORD_EXPR): Likewise.
2674 * dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR):
2675 Likewise.
2676 * fold-const.c (invert_truthvalue, case WITH_RECORD_EXPR): Likewise.
2677 (extract_muldiv, case WITH_RECORD_EXPR): Likewise.
2678 * tree.c (expr_align, case WITH_RECORD_EXPR): Likewise.
2679 (contains_placeholder_p): Don't handle WITH_RECORD_EXPR.
2680 Clean up by using first_rtl_op.
2681 (substitute_in_expr): Use SUBSTITUTE_IN_EXPR for recursive call.
2682 (substitute_placeholder_in_expr): New function.
2683 * tree.def (WITH_RECORD_EXPR): Deleted.
2684 * tree.h (SUBSTITUTE_IN_EXPR, SUBSTITUTE_PLACEHOLDER_IN_EXPR): New.
2685 (substitute_placeholder_in_expr): New.
2686
0f005f33
AP
26872004-03-21 Andrew Pinski <pinskia@gcc.gnu.org>
2688
2689 * dojump.c (prefer_and_bit_test): Fix which part of
2690 the and_test is replaced.
2691
f80352b8
JM
26922004-03-21 Joseph S. Myers <jsm@polyomino.org.uk>
2693
2694 * frontends.texi: Add missing line.
2695
6ad79f18 26962004-03-21 Zack Weinberg <zack@codesourcery.com>
f75fbaf7
ZW
2697 Chris Devers <cdevers@pobox.com>
2698 Joseph S. Myers <jsm@polyomino.org.uk>
6ad79f18
JM
2699
2700 * doc/frontends.texi: Rewrite.
2701 * doc/gcc.texi: Update last modification date.
2702
eabd7d31
JZ
27032004-03-21 Josef Zlomek <zlomekj@suse.cz>
2704
2705 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Print the debug
2706 message before redirecting the edge.
2707
f8ad8d7c
ZD
27082004-03-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2709
2710 * emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_POINTER
2711 flag.
2712 * explow.c (force_not_mem): Set REG_POINTER flag according to
2713 MEM_POINTER one.
2714 * rtl.h (MEM_POINTER): New macro.
2715 (struct rtx_def): Use integrated for MEM_SCALAR_P and frame_related
2716 for MEM_POINTER.
2717
8cce3d04
RS
27182004-03-20 Roger Sayle <roger@eyesopen.com>
2719
2720 PR target/13889
2721 * cse.c (fold_rtx): Avoid substituting constants into unary
687c3ea5 2722 conversion operations.
8cce3d04 2723
05fe5c67
KH
27242004-03-20 Kazu Hirata <kazu@cs.umass.edu>
2725
2726 * fold-const.c (fold): Replace "expr" with "t".
2727
dea984dc
ILT
27282004-03-20 Ian Lance Taylor <ian@wasabisystems.com>
2729
2730 PR c/12373
2731 * c-typeck.c (tagged_types_tu_compatible_p): Don't use
2732 DECL_ORIGINAL_TYPE if there isn't one.
2733
079f946d
KH
27342004-03-20 Kazu Hirata <kazu@cs.umass.edu>
2735
2736 * fold-const.c (fold): Replace "final_type" with "type".
2737 Remove variable "final_type".
2738
8d3784af
KH
27392004-03-20 Kazu Hirata <kazu@cs.umass.edu>
2740
2741 * fold-const.c (fold): Constify "type".
2742 Replace "TREE_TYPE (t)" with "type".
2743
245f1bfa
KH
27442004-03-20 Kazu Hirata <kazu@cs.umass.edu>
2745
2746 * bb-reorder.c, bt-load.c, c-decl.c, cfgcleanup.c, coverage.c,
2747 dwarf2asm.c, ifcvt.c, stor-layout.c, varasm.c: Replace calls
2748 via (*targetm.foo) () with targetm.foo ().
2749
802f6d4b
JM
27502004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
2751
2752 PR other/14630
2753 * doc/install.texi: Add info directory category and entry.
2754
ea993805
KH
27552004-03-20 Kazu Hirata <kazu@cs.umass.edu>
2756
2757 * fold-const.c (fold): Replace "t" with "tem" where it is used
2758 as a temporary variable. Remove "orig_t" and all of its uses.
2759
8e7b3a43
KH
27602004-03-20 Kazu Hirata <kazu@cs.umass.edu>
2761
2762 * fold-const.c (fold): Remove variable "invert".
2763 Move the handling of relational expressions that can be folded
2764 to a constant ...
2765 (fold_relational_const): ... here.
2766 (tree_expr_nonzero_p): New.
2767
b1c2d04a
JM
27682004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
2769
2770 PR c/14635
2771 * builtins.def (nan, nanf, nanl, nans, nansf, nansl): Change to
2772 DEF_GCC_BUILTIN.
2773
dbf833ee
RS
27742004-03-20 Richard Sandiford <rsandifo@redhat.com>
2775
2776 * Makefile.in (dojump.o): Depend on $(GGC_H) and dojump.h.
2777 (GTFILES): Add $(srcdir)/dojump.h.
2778 (gt-dojump.h): New dependency.
2779 * dojump.c (and_reg, and_test, shift_test): New static variables.
2780 (prefer_and_bit_test): New function.
2781 (do_jump): Use it to choose between (X & (1 << C)) and (X >> C) & 1.
2782
d1a6adeb
KH
27832004-03-20 Kazu Hirata <kazu@cs.umass.edu>
2784
2785 * c-common.c, cfgcleanup.c, cgraphunit.c, c-pretty-print.c,
2786 expmed.c, ggc-common.c, jump.c, passes.c, recog.c, regmove.c,
2787 reorg.c, tree.h: Fix comment typos.
2788
5fd9b178
KH
27892004-03-19 Kazu Hirata <kazu@cs.umass.edu>
2790
2791 * alias.c, attribs.c, bt-load.c, builtins.c, c-common.c,
2792 c-decl.c, c-objc-common.c, c-typeck.c, calls.c, cfglayout.c,
2793 cse.c, dbxout.c, dwarf2out.c, except.c, final.c,
2794 haifa-sched.c, integrate.c, passes.c, rtlanal.c, sched-rgn.c,
2795 sched-vis.c, simplify-rtx.c, stor-layout.c, tree.c, varasm.c,
2796 vmsdbgout.c: Replace calls via (*targetm.foo) () with
2797 targetm.foo ().
2798
86e7df90
ZL
27992004-03-19 Ziemowit Laski <zlaski@apple.com>
2800
2801 * config/rs6000/altivec.h (vec_dst, vec_dstst, vec_dststt,
2802 vec_dstt, vec_sld, vec_splat): Add prototypes, marked with
2803 always_inline attribute.
2804 * config/rs6000/rs6000.c (altivec_expand_dst_builtin):
2805 Treat expansion as completed even if literal argument is
2806 invalid (so that other expansions are not tried in vain).
2807
147d77b6
KH
28082004-03-19 Kazu Hirata <kazu@cs.umass.edu>
2809
2810 * loop-doloop.c (add_test): Replace GEN_INT (0) with
2811 const0_rtx.
2812
73c4ab99
KH
28132004-03-19 Kazu Hirata <kazu@cs.umass.edu>
2814
2815 * fold-const.c (fold) <ABS_EXPR>: Move the handling of constants
2816 ...
2817 (fold_abs_const): ... here.
2818
a6002f8d
RK
28192004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2820
2821 * tree.h (TYPE_ARRAY_MAX_SIZE): Use type.maxval directly.
2822
829bde68
DC
28232004-03-19 Denis Chertykov <denisc@overta.ru>
2824
d0aa5f10 2825 PR target/11520
829bde68
DC
2826 * config/avr/avr.md ("call_insn"): Handle explicit integer
2827 specially.
2828 (call_value_insn): Likewise.
2829
9d2a492d
RK
28302004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2831
2832 * tree.c (substitute_in_expr): Rewrite to simplify and be more generic.
2833
33d13fac
KH
28342004-03-19 Kazu Hirata <kazu@cs.umass.edu>
2835
2836 * fold-const.c (negate_expr): Move the handling of constants
2837 ...
2838 (fold_negate_const): ... here.
2839
7548281d
RK
28402004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2841
2842 * langhooks-def.h (LANG_HOOKS_HASH_TYPES): New macro and hook.
2843 * langhooks.h (struct lang_hooks_for_types): New field hash_types.
2844 * tree.c (debug_no_type_hash): Deleted.
2845 (type_hash_canon): Abort if passed a variant.
2846 Check lang_hooks.types.hash_types.
2847 (build_type_no_quals): Copy mode of POINTER_TYPE and REFERENCE_TYPE.
2848 (build_array_type): Remove unnecessary allocation of pointer type.
2849 (build_complex_type): Properly qualify resulting type.
2850
7e463bda
PB
28512004-03-19 Paolo Bonzini <bonzini@gnu.org>
2852
2853 * config/rs6000/rs6000.c (rs6000_init_builtins): Fix typo.
2854
8efc8980
RS
28552004-03-19 Richard Sandiford <rsandifo@redhat.com>
2856
2857 * expmed.c (choose_mult_variant, expand_mult_const): New, split from...
2858 (expand_mult): ...here.
2859 (extract_high_half): New, split out from expand_mult_highpart.
2860 (expand_highpart_optab): Likewise. Don't clobber target prematurely.
2861 (expand_highpart): Evaluate the cost of a shift/add sequence,
2862 then see if any of the specialized optabs are cheaper.
2863
ff3fcb8a
ILT
28642004-03-18 Ian Lance Taylor <ian@wasabisystems.com>
2865
2866 * mklibgcc.in: Remove obsolete MAYBE_USE_COLLECT2.
2867
1fb7e3af
KG
28682004-03-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2869
2870 * convert.c (convert_to_real): Add more math builtins.
2871
b3810360
KG
28722004-03-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2873
2874 * convert.c (convert_to_real): Reformat using switch stmt.
2875
9d363a56
MM
28762004-03-18 Mark Mitchell <mark@codesourcery.com>
2877
2878 * c-common.c (pointer_int_sum): Do not complain about using
2879 pointers to pointers-to-members.
2880
c3690d79
KH
28812004-03-18 Kazu Hirata <kazu@cs.umass.edu>
2882
2883 * system.h (MD_ASM_CLOBBERS): Move to "Old target macros that
2884 have moved to the target hooks structure".
2885
c3840092
JW
28862004-03-18 James E Wilson <wilson@specifixinc.com>
2887
2888 * config/mips/mips.md (type): Split move into arith and fmove. Split
2889 hilo into mthilo and mfhilo. Add trap. Delete icmp. Fix all uses.
2890 * config/mips/5400.md (ir_vr54_hilo, ir_vr54_arith, ir_vr54_fabs):
2891 Likewise.
2892 * config/mips/5500.md (ir_vr55_hilo, ir_vr55_arith, ir_vr55_fabs):
2893 Likewise.
2894 * config/mips/7000.md (rm7_int_other, rm7_mthilo, rm7_mfhilo,
2895 rm7_fp_quick): Likewise.
2896 * config/mips/9000.md (rm9k_int, rm9k_mfhilo, rm9k_mthilo,
2897 rm9k_fquick): Likewise.
2898 * config/mips/sr71k.md (ir_sr70_hilo, ir_sr70_arith, ir_sr70_fabs):
2899 Likewise.
2900 (ir_sr70_icmp): Delete.
2901
eb34af89 29022004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
f75fbaf7 2903
eb34af89
RK
2904 * tree.h (TREE_CHECK2, TREE_CHECK3, TREE_CHECK5): New macros.
2905 (tree_check2_failed, tree_check3_failed, tree_check5_failed): New decl.
2906 (FUNC_OR_METHOD_CHECK, SET_ARRAY_OR_VECTOR_CHECK): New macros.
2907 (REC_OR_UNION_CHECK, NUMERICAL_TYPE_CHECK): Likewise.
2908 (TYPE_VALUES, TYPE_DOMAIN, TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD):
2909 Protect with proper check.
2910 (TYPE_ARG_TYPES, TYPE_METHOD_BASETYPE, TYPE_OFFSET_BASETYPE): Likewise.
2911 (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Likewise.
2912 * tree.c (type_hash_eq): Rewrite to access proper fields for each type.
2913 (tree_check2_failed, tree_check3_failed, tree_check5_failed): New.
2914 * c-typeck.c (build_array_ref): Use TYPE_DOMAIN, not TYPE_VALUES.
2915 * dwarf2out.c (gen_enumeration_type_die): Use TYPE_VALUES,
2916 not TYPE_FIELDS.
d3b6a5fb 2917 * stor-layout.c (set_sizetype): Use TYPE_ORIG_SIZE_TYPE.
eb34af89 2918
2171cb85
MH
29192004-03-18 Mostafa Hagog <mustafa@il.ibm.com>
2920
2921 * gcse.c (eliminate_partially_redundant_loads): Reject change if
2922 dest is set between beginning and current insn.
2923
4ada538b
MM
29242004-03-18 Mark Mitchell <mark@codesourcery.com>
2925
2926 * c-decl.c (grokdeclarator): Do not complain about redeclaring
2927 visible "static" identifiers "extern" in a local scope.
2928 * dwarf2out.c (loc_descriptor_from_tree): Handle pre- and
2929 post-increments/decrements.
2930
79e9ebdc
BW
29312004-03-18 Bob Wilson <bob.wilson@acm.org>
2932
2933 * config/xtensa/xtensa.c (current_function_arg_words): Delete.
2934 (xtensa_builtin_saveregs): Use current_function_args_info.arg_words.
2935 (xtensa_va_start): Remove assignment to current_function_arg_words.
2936
5da6f168
RS
29372004-03-18 Richard Sandiford <rsandifo@redhat.com>
2938
2939 * alias.c (record_set): Detect the case where a register is assigned
2940 a new value that has the same base term as the old one.
2941
689ba89d
ZD
29422004-03-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2943
2944 * doloop.c: Removed.
2945 * loop-doloop.c: New file.
2946 * Makefile.in (doloop.o): Remove.
2947 (loop-doloop.o): New.
2948 * cfgloop.h (get_loop_level, doloop_optimize_loops): Declare.
2949 * cfgloopanal.c (get_loop_level): New function.
2950 * loop-iv.c (iv_number_of_iterations): Handle case when loop
2951 is leaved immediatelly.
2952 * loop.c (strength_reduce): Do not call doloop optimization.
2953 * loop.h (LOOP_BCT): Removed.
2954 * passes.c (rest_of_handle_loop_optimize): Do not use LOOP_BCT.
2955 (rest_of_handle_loop2): Call doloop_optimize_loops.
2956 (rest_of_compilation): Test for optimizations moved to
2957 rest_of_handle_loop2.
2958
327e5343
FJ
29592004-03-17 Fariborz Jahanian <fjahanian@apple.com>
2960
f75fbaf7
ZW
2961 * config/rs6000/rs6000.c (rs6000_stack_info): correct reg_size
2962 for mixed mode.
2963 (rs6000_emit_prologue): Ditto.
2964 (rs6000_emit_epilogue): Ditto.
2965 * config/rs6000/rs6000.h: Definition of DWARF_CIE_DATA_ALIGNMENT
2966 macro for mixed mode.
327e5343 2967
214ee4a2
JH
29682004-03-18 Jan Hubicka <jh@suse.cz>
2969
2970 * predict.c (propagate_freq): Compute correctly frequency of
2971 EXIT_BLOCK.
2972
33521f7d
EC
29732004-03-17 Eric Christopher <echristo@redhat.com>
2974
2975 * builtins.c (apply_args_size): Use reg_raw_mode.
2976 (apply_result_size): Ditto.
2977
d3daf7bb
RC
29782004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
2979
2980 PR target/14620
2981 * config/rtems.h: Add STD_LIB_SPEC and LIB_SPEC.
2982
bb6df272
JJ
29832004-03-17 Jakub Jelinek <jakub@redhat.com>
2984
2985 * config/rs6000/t-linux64 (bispecs): Don't add -mlong-double-128 for
2986 32-bit builds when defaulting to 32-bit.
2987
7eca0767
JH
29882004-03-17 Jan Hubicka <jh@suse.cz>
2989
2990 * cfgrtl.c (rtl_create_basic_block): Pre-allocate basic_block_info
2991 array.
2992
3a3ae5e5
JW
29932004-03-17 James E Wilson <wilson@specifixinc.com>
2994
2995 * config/mips/mips.md (zero_extendsidi2): Add length attribute.
2996 (hazard_nop): Change type to nop.
2997 (type): Split arith into arith, shift, slt, clz. Delete darith.
2998 Fix all uses. Change arith to multi if more than one insn emitted.
2999 * config/mips/5400.md (ir_vr54_arith): Likewise.
3000 * config/mips/5500.md (ir_vr55_arith): Likewise.
3001 * config/mips/7000.md (rm7_int_other): Likewise.
3002 * config/mips/9000.md (rm9k_int): Likewise.
3003 * config/mips/sr71k.md (ir_sr70_arith): Likewise.
3004
6582c808
JB
30052004-03-17 Joel Brobecker <brobecker@gnat.com>
3006
3007 * dwarf2out.c (subrange_type_die): Define new variable "subtype"
3008 to hold the subtype tree instead of recomputing it several times.
3009
7ae4afcb
KH
30102004-03-17 Kazu Hirata <kazu@cs.umass.edu>
3011
3012 * config/mn10300/mn10300.c (notice_update_cc): Don't handle
3013 CC_INVERT.
3014 * config/mn10300/mn10300.md (cc): Remove "invert".
3015
b57051b2
KG
30162004-03-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3017
d093738d
KG
3018 * builtins.c (integer_valued_real_p): Add builtin rint.
3019 (fold_builtin): Likewise.
3020 * convert.c (convert_to_real): Likewise.
3021
b57051b2
KG
3022 * convert.c (convert_to_real): Fix typos in `long double'
3023 builtins.
3024
88020bd8
MM
30252004-03-16 Mark Mitchell <mark@codesourcery.com>
3026
3027 PR c++/14481
3028 * fold-const.c (fold): Set TREE_NO_UNUSED_WARNING on implicitly
3029 generated COMPOUND_EXPRs.
3030
bf3864fe
RC
30312004-03-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
3032
3033 * config/h8300/t-rtems (h8300-*-rtems*): New.
3034
bc4c01b7
EC
30352004-03-16 Eric Christopher <echristo@redhat.com>
3036
3037 * doc/cppopts.texi(fwide-exec-charset): Fix typo.
3038
3c5cb3e4
KH
30392004-03-16 Kazu Hirata <kazu@cs.umass.edu>
3040
3041 * config/i386/i386-protos.h: Add a prototype for
3042 ix86_reverse_condition.
3043 * config/i386/i386.c (ix86_reverse_condition): New.
3044 * config/i386/i386.h (REVERSE_CONDITION): Use
3045 ix86_reverse_condition.
3046 * config/i386/i386.md: Use ix86_reverse_condition instead of
3047 REVERSE_CONDITION.
3048
fd5580cb
B
30492004-03-16 J. Brobecker <brobecker@gnat.com>
3050
3051 * dwarf2out.c (loc_descriptor_from_tree): Add handling for MIN_EXPR.
3052
78fab00f
NN
30532004-03-16 Nathanael Nerode <neroden@gcc.gnu.org>
3054
3055 PR bootstrap/12974
3056 * Makefile.in: Pass $(INCLUDES) down to libgcc.mk explicitly.
3057
4a5eab38
PB
30582004-03-16 Paolo Bonzini <bonzini@gnu.org>
3059
3060 * c-common.c (c_common_type_for_mode): Build vector types on
3061 demand.
3062 (handle_mode_attribute): Deprecate using the mode attribute
3063 to create vector types. Fix indentation.
3064 (vector_type_node_list): Remove.
3065 (handle_vector_size_attribute): Create vector types on demand.
3066 Strip a NON_LVALUE_EXPR from the attribute if there is one.
3067 * c-typeck.c (comptypes): Make vector types compatible if they
3068 have the same underlying mode.
3069 (convert_for_assignment): Use comptypes to convert between
3070 vector types.
3071 * tree.c (build_common_tree_nodes_2): Do not create vector types.
3072 * config/arm/arm.c (arm_init_iwmmxt_builtins): Create necessary
3073 vector types.
3074 * tree.h: Remove vector types.
3075 * config/i386/i386.c (i386_init_mmx_sse_builtins): Likewise.
3076 * config/rs6000/rs6000.c (rs6000_init_builtins): Likewise.
3077 (V16QI_type_node, V2SI_type_node, V2SF_type_node, V4HI_type_node,
3078 V4SI_type_node, V4SF_type_node, V8HI_type_node): New globals.
3079 * doc/extend.texi (Vector Types): Document how to use the
3080 vector_size attribute to create vectors, rather than mode.
3081
3082 * config/arm/mmintrin.h: Use vector_size attribute, not mode.
3083 * config/i386/emmintrin.h: Likewise.
3084 * config/i386/mmintrin.h: Likewise.
3085 * config/i386/xmmintrin.h: Likewise.
3086 * config/sh/ushmedia.h: Likewise.
3087
b862b3b3
KH
30882004-03-16 Kazu Hirata <kazu@cs.umass.edu>
3089
3090 * config/freebsd-spec.h, config/arc/arc-protos.h,
3091 config/arm/aout.h, config/arm/elf.h, config/arm/freebsd.h,
3092 config/arm/linux-gas.h, config/arm/semi.h,
3093 config/cris/cris-protos.h, config/i386/xm-djgpp.h,
3094 config/ia64/freebsd.h, config/mips/7000.md,
3095 config/mips/9000.md, config/ns32k/ns32k-protos.h,
3096 config/sparc/pbd.h: Update copyright.
3097
314733e2
RC
30982004-03-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
3099
3100 PR target/14577
3101 * config.gcc: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff.
3102
6621d78e
PB
31032004-03-16 Paolo Bonzini <bonzini@gnu.org>
3104
3105 * combine.c (combine_simplify_rtx): Remove the "last"
3106 parameter and its documentation. Adjust recursive calls.
3107 (simplify_logical): Always perform the only simplification
3108 controlled by "last", if the simplified expression is
3109 actually different.
3110 (try_combine): Do not pass the "last" parameter to
3111 combine_simplify_rtx.
3112
4e7edcca
RS
31132004-03-16 Richard Sandiford <rsandifo@redhat.com>
3114
3115 PR target/14599
3116 * config/mips/mips.md (UNSPEC_GP): New constant.
3117 * config/mips/mips.c (CONST_GP_P): Expect the CONST to contain
3118 an UNSPEC instead of (reg $gp).
3119 (mips16_gp_pseudo_reg): Change accordingly.
3120 (print_operand): Print $gp directly when handling CONST_GP_P.
3121
31222004-03-16 Richard Zidlicky <rz@linux-m68k.org>
3704aae9
RZ
3123
3124 * config.gcc, config/m68k/linux.h: Implement with-cpu for m68k-linux.
3125 * longlong.h: Make code 68060 clean when compiling for m68060.
3126
4e7edcca 31272004-03-16 Richard Zidlicky <rz@linux-m68k.org>
8ac658b6
RZ
3128
3129 * config/m68k/m68k.md: Fix constraints for bitfield instructions.
3130 * doc/md.texi: Clarify description of "i" constraint.
3131
1a478672
JW
31322004-03-15 James E Wilson <wilson@specifixinc.com>
3133
3134 * config/mips/mips.md (type): Split load into load, fpload, fpidxload.
3135 Split store into store, fpstore, fpidxstore. Fix all uses.
3136 * config/mips/5400.md (ir_vr54_load, ir_vr54_store, ir_vr54_fstore):
3137 Likewise.
3138 * config/mips/5500.md (ir_vr55_load, i5_vr55_store): Likewise.
3139 * config/mips/7000.md (rm7_ld, rm7_st): Likewise.
3140 * config/mips/9000.md (rm9k_load, rm9k_store): Likewise.
3141 * config/mips/sr71k.md (ir_sr70_load, ir_sr70_store, ir_sr70_fload,
3142 ir_sr70_fstore): Likewise.
3143
0977ab3a
RH
31442004-03-15 Richard Henderson <rth@redhat.com>
3145
3146 PR middle-end/14535
3147 * except.c (collect_one_action_chain): Record action for cleanup
3148 outer of exception spec.
3149
4e4083ad
ILT
31502004-03-15 Ian Lance Taylor <ian@wasabisystems.com>
3151
3152 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
3153 Fix the check for abort and only do the mmap if we can.
3154
ed38d6fe
EB
31552004-03-15 Eric Botcazou <ebotcazou@act-europe.fr>
3156
3157 * config/sparc/sparc.h: Rework comments about the code model
3158 in 64-bit environment and the mode 'Pmode'.
3159 * doc/invoke.texi (SPARC options): Rework description of the
3160 different code models supported in 64-bit environment.
3161
1f8551b2
KH
31622004-03-15 Kazu Hirata <kazu@cs.umass.edu>
3163
3164 * defaults.h (REVERSIBLE_CC_MODE): Define.
3165 * jump.c (reversed_comparison_code_parts): Don't check if
3166 REVERSIBLE_CC_MODE is defined.
3167
ca2b05ba
KH
31682004-03-15 Kazu Hirata <kazu@cs.umass.edu>
3169
3170 * c-incpath.c, c-incpath.h, c-pch.c, c.opt, cppexp.c,
3171 et-forest.h, genattr.c, ggc-none.c, hosthooks-def.h,
3172 hosthooks.h, params.h, ra-colorize.c, web.c,
3173 config/darwin-c.c, config/alpha/freebsd.h, config/arm/pe.c,
3174 config/avr/avr-protos.h, config/avr/avr.md,
3175 config/fr30/fr30-protos.h, config/fr30/fr30.md,
3176 config/h8300/fixunssfsi.c, config/i386/darwin.h,
3177 config/i386/freebsd.h, config/i386/freebsd64.h,
3178 config/ia64/hpux.h, config/ia64/unwind-ia64.c,
3179 config/ip2k/libgcc.S, config/m32r/xm-m32r.h,
3180 config/mmix/mmix-modes.def, config/ns32k/netbsd.h,
3181 config/ns32k/ns32k.md, config/pa/pa64-hpux.h,
3182 config/pa/pa64-regs.h, config/rs6000/aix41.h,
3183 config/rs6000/aix43.h, config/rs6000/host-darwin.c,
3184 config/sparc/aout.h, config/sparc/freebsd.h,
3185 config/sparc/litecoff.h, config/vax/vax-protos.h,
3186 doc/hostconfig.texi, doc/include/gcc-common.texi: Update
3187 copyright.
3188
983e6484
PB
31892004-03-15 Paul Brook <paul@codesourcery.com>
3190
3191 * config/arm/arm.c (thumb_expand_prologue): Tie prologue insns to fp.
3192
5c3c69f4
GDR
31932004-03-15 Gabriel Dos Reis <gdr@integrable-solutions.net>
3194
3195 * c-pretty-print.c (pp_c_semicolon): Fix formatting.
3196 (pp_c_cv_qualifier): Document.
3197 (pp_c_space_for_pointer_operator): Likewise.
3198 (pp_c_integer_constant): Likewise.
3199 (pp_c_identifier): Likewise.
3200 (pp_c_init_declarator): Don't print function body.
3201
2dd76960
JM
32022004-03-14 Joseph S. Myers <jsm@polyomino.org.uk>
3203
3204 * doc/contrib.texi, doc/extend.texi, doc/gcov.texi,
3205 doc/install.texi, doc/invoke.texi, doc/makefile.texi,
3206 doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Capitalize
3207 "gcc", "g++" and "g77" or mark up with appropriate markup. Adjust
3208 wording and grammar.
3209
ae2bcd98
RS
32102004-03-14 Roger Sayle <roger@eyesopen.com>
3211
3212 * alias.c (get_alias_set): Replace calls via (*lang_hooks.foo) ()
3213 with lang_hooks.foo ().
3214 * builtins.c (expand_builtin_va_arg): Likewise.
3215 * c-common.c (fname_as_string, c_common_truthvalue_conversion,
3216 c_common_type_for_mode, c_common_nodes_and_builtins,
3217 handle_mode_attribute, handle_vector_size_attribute): Likewise.
3218 * c-convert.c (convert): Likewise.
3219 * c-format.c (check_format_types): Likewise.
3220 * c-objc-common.c (c_tree_printer): Likewise.
3221 * c-typeck.c (build_unary_op, build_conditional_expr,
3222 build_binary_op): Likewise.
3223 * calls.c (try_to_integrate, expand_call,
3224 emit_library_call_value_1): Likewise.
3225 * cgraph.c (cgraph_node_name, cgraph_function_possibly_inlined_p):
3226 Likewise.
3227 * cgraphunit.c (record_call_1, cgraph_analyze_function,
3228 cgraph_expand_function): Likewise.
3229 * convert.c (convert_to_pointer, convert_to_integer): Likewise.
3230 * coverage.c (build_fn_info_type, build_ctr_info_type,
3231 build_gcov_info, create_coverage): Likewise.
3232 * dbxout.c (dbxout_init): Likewise.
3233 * diagnostic.c (diagnostic_report_current_function): Likewise.
3234 * dojump.c (do_jump): Likewise.
3235 * dwarf2out.c (dwarf2_name): Likewise.
3236 * except.c (init_eh): Likewise.
3237 * explow.c (expr_size, int_expr_size): Likewise.
3238 * expmed.c (make_tree, const_mult_add_overflow_p, expand_mult_add):
3239 Likewise.
3240 * expr.c (store_expr, store_constructor, safe_from_p,
3241 expand_expr_real, do_store_flag, try_casesi): Likewise.
3242 * function.c (push_function_context_to, pop_function_context_from,
3243 free_after_parsing, assign_stack_local_1, assign_stack_temp_for_type,
3244 put_var_into_stack, allocate_struct_function, current_function_name):
3245 Likewise.
3246 * integrate.c (copy_decl_for_inlining, expand_inline_function):
3247 Likewise.
3248 * langhooks.c (lhd_clear_binding_stack, write_global_declarations,
3249 lhd_print_error_function): Likewise.
3250 * opts.c (handle_option, decode_options): Likewise.
3251 * passes.c (open_dump_file): Likewise.
3252 * print-tree.c (print_node): Likewise.
3253 * stmt.c (expand_fixup, fixup_gotos, expand_asm_operands,
3254 expand_decl_cleanup, emit_case_nodes): Likewise.
3255 * stor-layout.c (variable_size): Likewise.
3256 * toplev.c (announce_function, wrapup_global_declarations,
3257 check_global_declarations, compile_file, default_tree_printer,
3258 process_options, lang_dependent_init, finalize): Likewise.
3259 * tree-dump.c (dequeue_and_dump): Likewise.
3260 * tree-inline.c (remap_decl, remap_block, copy_body_r,
3261 initialize_inlined_parameters, declare_return_variable,
3262 inlinable_function_p, expand_call_inline, optimize_inline_calls,
3263 walk_tree, copy_tree_r): Likewise.
3264 * tree-optimize.c (tree_rest_of_compilation): Likewise.
3265 * tree.c (decl_assembler_name, tree_size, size_in_bytes, staticp,
3266 unsafe_for_reeval, get_unwidened, get_narrower, get_callee_fndecl,
3267 variably_modified_type_p, dump_tree_statistics): Likewise.
3268 * varasm.c (assemble_variable, compare_constant, copy_constant,
3269 force_const_mem, compute_reloc_for_constant, output_constant,
3270 output_addressed_constants, initializer_constant_valid_p): Likewise.
3271
89acbae0
KC
32722004-03-14 Kelley Cook <kcook@gcc.gnu.org>
3273
3274 * doc/install.texi: Make autoconf 2.13 the exception, not the rule.
3275
d01b30dc
AT
32762004-03-14 Andreas Tobler <a.tobler@schweiz.ch>
3277
3278 * doc/install.texi: Reflect autoconf and automake version for
3279 libffi. Update autoconf version to 2.59.
3280
5785c7de
RS
32812004-03-13 Roger Sayle <roger@eyesopen.com>
3282
3283 * fold-const.c (negate_expr, operand_equal_for_comparison_p,
3284 optimize_bit_field_compare, decode_field_reference, all_ones_mask_p,
3285 make_range, build_range_check, fold_range_test, unextend,
3286 constant_boolean_node, fold_binary_op_with_conditional_arg,
3287 fold_truthop, fold_mathfn_compare, fold_inf_compare,
3288 fold_single_bit_test, fold): Replace calls via (*lang_hooks.foo) ()
3289 with lang_hooks.foo ().
3290
edc62122
RE
32912004-03-14 Richard Earnshaw <rearnsha@arm.com>
3292
3293 * arm.h (EXTRA_CONSTRAINT_STR_ARM): Update comment.
3294
7db956db
DH
32952004-03-13 Dara Hazeghi <dhazeghi@yahoo.com>
3296
3297 * doc/install.texi: Note status of -fnew-ra.
3298
e6d55fd7
EB
32992004-03-13 Eric Botcazou <ebotcazou@libertysurf.fr>
3300
3301 PR middle-end/14470
3302 * expr.c (store_expr): Call emit_queue before generating the move
3303 from the temporary to the original target. Protect the temporary
3304 from emit_queue.
3305
cfbab41c
JJ
33062004-03-13 Jakub Jelinek <jakub@redhat.com>
3307
3308 PR target/14533
3309 * config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC
3310 other than UNSPEC_GOTOFF.
3311
1e1ab407
RE
33122004-03-13 Richard Earnshaw <rearnsha@arm.com>
3313
3314 * arm.c (arm_legitimate_address_p): New argument, OUTER. Pass through
3315 to arm_legitimate_index_p. Update all callers with SET as default
3316 value.
3317 (arm_legitimate_index_p): New argument, OUTER. Restrict the index
3318 range if OUTER is a sign-extend operation on QImode. Correctly
3319 reject shift operations on sign-extended QImode addresses.
3320 (bad_signed_byte_operand): Delete.
3321 (arm_extendqisi_mem_op): New function.
3322 * arm.h (EXTRA_CONSTRAINT_ARM): Delete. Replace with...
3323 (EXTRA_CONSTRAINT_STR_ARM): ... this. Handle extended address
3324 constraints.
3325 (CONSTRAINT_LEN): New.
3326 (EXTRA_CONSTRAINT): Delete. Replace with...
3327 (EXTRA_CONSTRAINT_STR): ... this.
3328 (PREDICATE_CODES): Remove bad_signed_byte_operand.
3329 * arm.md (extendqihi_insn): Use new constraint Uq. Rework. Length
3330 is now always default.
3331 (define_splits for bad sign-extend loads): Delete.
3332 (arm_extendqisi, arm_extendqisi_v5): Likewise.
3333 * arm/vfp.md (arm_movsi_vfp, arm_movdi_vfp, movsf_vfp, movdf_vfp):
3334 Rework 'U' constraint to 'Uv'.
3335 * arm-protos.h: Remove bad_signed_byte_operand. Add
3336 arm_extendqisi_mem_op.
3337 * doc/md.texi (ARM constraints): Rename VFP constraint (now Uv).
3338 Add Uq constraint.
3339
c53bdcf5
AM
33402004-03-13 Alan Modra <amodra@bigpond.net.au>
3341
fa78dbea
AM
3342 * config/rs6000/rs6000.c (rs6000_va_arg): Replace SPLIT_COMPLEX_ARGS
3343 with targetm version.
3344
c53bdcf5
AM
3345 PR target/14567
3346 * config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete.
3347 (HARD_REGNO_MODE_OK): Disallow TFmode for fp31.
3348 * config/rs6000/rs6000.c (rs6000_arg_size): New function.
3349 Update all users of RS6000_ARG_SIZE.
3350 (function_arg_advance): Count fregno using mode size.
3351 (function_arg): Handle long double split over regs and memory.
3352 (function_arg_partial_nregs): Likewise.
3353 (rs6000_va_arg): Repackage complex args.
3354
992ab122
DF
33552004-03-13 Dean Ferreyra <dferreyra@igc.org>
3356
3357 PR target/14047
3358 * config/avr/avr.c (avr_progmem_p): Add "attributes" parameter.
3359 (avr_insert_attributes): Pass "attributes" to avr_progmem_p.
3360 * config/avr/avr-protos.h (avr_progmem_p): Change prototype.
3361
c973d557
JJ
33622004-03-12 Jakub Jelinek <jakub@redhat.com>
3363
3364 * config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Add
3365 prototype.
3366 * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): New.
3367 * config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Define.
3368
4319ac92
AP
33692003-03-12 Andrew Pinski <apinski@apple.com>
3370
3371 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
3372 Use ret instead of result. Use addr instead of base.
3373
bb674cef
DE
33742004-03-12 David Edelsohn <edelsohn@gnu.org>
3375
3376 * doc/install.texi (*-ibm-aix*): Document assembler and achiver
3377 fixes required by libstdc++ and update installation instructions
3378 for libstdc++.a.
3379
b1f123c7
DS
33802004-03-12 Danny Smith <dannysmith@users.sourceforge.net>
3381
3382 * config/i386/winnt.c (i386_pe_strip_name_encoding_full): Strip
3383 leading '@' on fastcall symbols before stripping suffix.
3384
67962db5
RS
33852004-03-12 Roger Sayle <roger@eyesopen.com>
3386
3387 * combine.c (unmentioned_reg_p): New function to check whether an
3388 expression is a "specialization" of another, i.e. that there are
3389 no registers or memory references mentioned in the first that don't
3390 appear in the second.
3391 (unmentioned_reg_p_1): New helper subroutine of unmentioned_reg_p.
3392 (combine_instructions): Also try combining instructions using the
3393 REG_EQUAL note from a preceding log-linked instruction.
3394
8937b6a2
RS
33952004-03-12 Roger Sayle <roger@eyesopen.com>
3396
3397 * config/i386/i386.c (ix86_split_ashrdi): Optimize shift by 63.
3398
4746cf84
MA
33992004-03-12 Matt Austern <austern@apple.com>
3400
3401 * target.h (struct gcc_target): New target hook, unwind_label.
3402 * target-def.h (TARGET_ASM_EMIT_UNWIND_LABEL): New hook.
3403 * output.h (default_emit_unwind_label): New function.
3404 * default.h (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): New macro.
3405 (TARGET_USES_WEAK_UNWIND_INFO): New target macro.
3406 (TARGET_SUPPORTS_HIDDEN): New target macro.
3407 * dwarf2out.c (struct dw_fde_struct): Add field for function decl
3408 that corresponds to this FDE.
3409 (FRAME_BEGIN_LABEL): Allow target to override default label.
3410 (output_call_frame_info): If FDEs are linknonce, then use extra
c53bdcf5 3411 indirection for FDE encoding, output a label for each FDE, and
4746cf84
MA
3412 output an empty label for each function without an FDE.
3413 (dwarf2out_begin_prologue): Set up decl field when creating an FDE.
3414 * varasm.c (globalize_decl): Call ASM_MAKE_LABEL_LINKONCE for
3415 decls with DECL_ONE_ONLY set, if that macro is defined.
3416 (make_decl_one_only): Don't use DECL_COMMON if we're compiling
3417 for a SUPPORTS_ONE_ONLY target.
3418 * config/darwin-protos.h (darwin_unique_section): Declare.
3419 (darwin_asm_named_section): Likewise.
3420 (darwin_section_type_flags): Likewise.
3421 (darwin_non_lazy_pcrel): Likewise.
3422 (darwin_emit_unwind_label): Likewise.
3423 (darwin_make_decl_one_only): Likewise.
3424 * config/darwin.c (machopic_finish): Get rid of tweak that
3425 eliminate stubs for symbols that are defined.
3426 (darwin_encode_section_info): Don't treat weak functions as defined.
3427 (darwin_make_decl_one_only): Define.
3428 (darwin_asm_named_section): Likewise.
3429 (darwin_section_type_flags): Likewise.
3430 (darwin_unique_section): Likewise.
3431 (darwin_emit_unwind_label): Likewise.
3432 (darwin_non_lazy_pcrel): Likewise.
3433 (darwin_asm_output_dwarf_delta): Difference between two labels is
3434 local only if both labels are local.
3435 * config/darwin.h (MAKE_DECL_ONE_ONLY): Define.
3436 (ASM_MAKE_LABEL_LINKONCE): Likewise.
3437 (TARGET_SUPPORTS_HIDDEN): Likewise.
3438 (TARGET_USES_WEAK_UNWIND_INFO): Likewise.
3439 (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): Likewise.
3440 (FRAME_BEGIN_LABEL): Likewise.
3441 (ASM_DECLARE_OBJECT_NAME): Make references to weak symbols indirect.
3442 (ASM_DECLARE_FUNCTION_NAME): Likewise.
3443 (darwin_eh_frame_section): Give __eh_frame section the coalesced flag.
3444 (TARGET_ASM_UNIQUE_SECTION): Define.
3445 (EH_FRAME_SECTION_NAME): Define.
3446 (EH_FRAME_SECTION_ATTR): Likewise.
3447 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
3448 (TARGET_ASM_NAMED_SECTION): Likewise.
3449 (TARGET_SECTION_TYPE_FLAGS): Likewise.
3450 * doc/tm.texi: Document TARGET_USES_WEAK_UNWIND_INFO,
3451 TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, TARGET_SUPPORTS_HIDDEN,
3452 TARGET_ASM_EMIT_UNWIND_LABEL.
bc4c01b7 3453
fd0c8c8d
KG
34542004-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3455
3456 * builtins.c (expand_builtin_mathfn): Add pow10* to the
3457 existing exp10* case.
3458 (expand_builtin): Likewise.
3459
ca0b6e3b
EB
34602004-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
3461
3462 * doc/tm.texi (registers) <Values in Registers>: Add
3463 entry for REGMODE_NATURAL_SIZE.
3464
42ba5130
RH
34652004-03-12 Richard Henderson <rth@redhat.com>
3466
3467 PR target/14547
3468 * target.h (struct gcc_target): Move calls substructure before
3469 booleans. Add split_complex_arg.
3470 * function.c (assign_parms, split_complex_args): Use it.
c53bdcf5
AM
3471 * calls.c (expand_call): Likewise.
3472 (split_complex_values): Likewise. Check for splittable types
3473 before allocating memory.
3474 (split_complex_types): Likewise.
42ba5130
RH
3475 * system.h (SPLIT_COMPLEX_ARGS): Poison.
3476 * expr.h (SPLIT_COMPLEX_ARGS): Remove.
3477 * target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
3478 * config/alpha/alpha.c (alpha_split_complex_arg): New.
3479 (TARGET_SPLIT_COMPLEX_ARG): New.
3480 * config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove.
3481 * config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New.
3482 (rs6000_override_options): Zap it for non-AIX.
3483 (rs6000_function_value): Use targetm.calls.split_complex_arg.
3484 * config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove.
3485 * config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New.
3486 * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove.
3487 * doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old
3488 SPLIT_COMPLEX_ARGS entry.
3489
75959f0a
RH
34902004-03-11 Richard Henderson <rth@redhat.com>
3491
3492 * config/alpha/alpha.c (xfloating_ops, vax_cvt_ops): New.
3493 (alpha_lookup_xfloating_lib_func): Use them, return rtx.
3494 (alpha_emit_xfloating_arith): Update to match.
3495 (alpha_emit_xfloating_compare): Likewise.
3496 (alpha_emit_xfloating_cvt): Likewise.
3497 (alpha_emit_xfloating_libcall): Take already built symbol,
3498 mark call const.
3499 * config/alpha/alpha.md (extendsftf2, extenddftf2): Take
3500 op1 in a register.
3501
e5e10fb4
RH
35022004-03-11 Richard Henderson <rth@redhat.com>
3503
3504 PR target/14539
3505 * config/alpha/alpha.h (STACK_BOUNDARY): Set to 128.
3506
55cf9d62
RH
3507 * simplify-rtx.c (simplify_relational_operation): Fix typo.
3508
9caad63a
RH
35092004-03-11 Richard Henderson <rth@redhat.com>
3510
3511 PR middle-end/14477
3512 * except.c (remove_unreachable_regions): Look thru CALL_PLACEHOLDER.
3513
03ca1672
UW
35142004-03-11 Ulrich Weigand <uweigand@de.ibm.com>
3515
3516 PR target/14262
3517 * calls.c (load_register_parameters): If BLOCK_REG_PADDING is not
3518 defined, pass small BLKmode values in registers in the low-order part.
3519
bbe708a3
UW
35202004-03-11 Ulrich Weigand <uweigand@de.ibm.com>
3521
3522 * combine.c (if_then_else_cond): Check for NULL return value of
3523 simplify_gen_subreg.
3524
0e808055
RS
35252004-03-11 Richard Sandiford <rsandifo@redhat.com>
3526
3527 PR target/14496
3528 * config/mips/mips.h (UNITS_PER_FPVALUE): Fix value for
3529 TARGET_SINGLE_FLOAT.
3530
1f7aa7cd
SE
35312004-03-11 Steve Ellcey <sje@cup.hp.com>
3532
3533 * config/ia64/hpux.h (TARGET_INIT_LIBFUNCS): Add undef.
3534 * config/ia64/ia64.h (TARGET_INIT_LIBFUNCS): Add define.
3535 * config/ia64/ia64.c (ia64_init_libfuncs): New.
3536 (ia64_hpux_init_libfuncs): Add call to ia64_init_libfuncs.
3537
239a625e
RS
35382004-03-11 Roger Sayle <roger@eyesopen.com>
3539
3540 * fold-const.c (negate_expr_p) <RSHIFT_EXPR>: We can optimize
3541 -((int)X>>C) where C is an integer constant one bit less than the
3542 size of X into (unsigned)X>>C. Similarly for unsigned->signed.
3543 (negate_expr) <RSHIFT_EXPR>: Implement the above transformations.
3544
3545 * simplify-rtx.c (simplify_unary_operation): Also implement the
3546 above transformations at the RTL level.
3547
40131a38
AM
35482004-03-11 Alan Modra <amodra@bigpond.net.au>
3549
3550 * real.c (encode_ibm_extended): Do round low word.
3551
df8e2ad0
BE
35522004-03-11 Ben Elliston <bje@wasabisystems.com>
3553
3554 * config/arm/arm.md (is_xscale): Comment this attribute and move
3555 it a bit further up in the file, closer to related attributes.
3556
d1704a35
EB
35572004-03-11 Eric Botcazou <ebotcazou@libertysurf.fr>
3558
3559 * config/host-solaris.c (sol_gt_pch_use_address): Add
3560 missing terminating marker to comment.
3561
fc31c7ca
RS
35622004-03-11 Richard Sandiford <rsandifo@redhat.com>
3563
3564 * config/mips/mips.md: Use move_operand in splitters for 64-bit moves.
3565 (movdi, movsi, movhi, movqi, movsf, movdf): Remove predicates.
3566 (*movdi_32bit_mips16, *movsi_mips16, *movhi_mips16, *movqi_mips16)
3567 (*movsf_mips16, *movdf_mips16): Name unnamed patterns. Use
3568 move_operand as source predicate in all cases.
3569 (*movdi_32bit): Renamed from movdi_internal. Remove 'F' constraint.
3570 Test reg_or_0_operand. Use move_operand as source predicate.
3571 (*movdi_64bit): Renamed from movdi_internal2. Test reg_or_0_operand.
3572 (*movdi_64bit_mips16): Renamed from movdi_internal2_mips16.
3573 (*movsi_internal): Renamed from movsi_internal. Test reg_or_0_operand.
3574 (movhi, movqi, movsf, movdf): Use mips_legitimize_move.
3575 (*movhi_internal): Renamed from movhi_internal. Test reg_or_0_operand.
3576 Use move_operand as source predicate. Remove 'K' constraint.
3577 (*movqi_internal): Likewise movqi_internal.
3578 (*movsf_hardfloat): Renamed from movsf_internal1. Test
3579 reg_or_0_operand. Use move_operand as source predicate.
3580 (*movsf_softfloat): Likewise movsf_internal2.
3581 (*movdf_hardfloat_64bit): Likewise movsf_internal1a.
3582 (*movdf_hardfloat_32bit): Likewise movsf_internal1b.
3583 (*movdf_softfloat): Likewise movdf_internal2.
3584 * config/mips/mips.c (move_operand): Match arbitrary CONST_INTs
3585 for DImode if !TARGET_64BIT.
3586 (mips_legitimize_move): Simplify accordingly.
3587
81f2eadb
JZ
35882004-03-11 Josef Zlomek <zlomekj@suse.cz>
3589
3590 PR/14362
3591 * var-tracking.c (struct variable_def): Added field refcount.
3592 (variable_htab_free): Decrease the refcount and delete variable
3593 only if there are no more references.
3594 (unshare_variable): New function.
3595 (vars_copy_1): Increase refcount instead of copying the variable.
3596 (variable_union): Share the variables where possible, unshare
3597 the variables if needed.
3598 (variable_different_p): Return false if var1 and var2 are
3599 the same structure.
3600 (variable_was_changed): Init the refcount of new variable.
3601 (set_frame_base_location): Unshare variable if needed.
3602 (set_variable_part): Init the refcount of new variable.
3603 Unshare the variables if needed.
c53bdcf5 3604 (delete_variable_part): Unshare the variables if needed.
81f2eadb
JZ
3605 (emit_notes_for_differences_1): Init the refcount of new variable.
3606 (vt_add_function_parameters): Do not add function parameters to
3607 IN set of ENTRY_BLOCK_PTR because it is unused anyway.
3608 (vt_initialize): Do not add frame_base_decl to IN set of
3609 ENTRY_BLOCK_PTR because it is unused anyway.
3610
11599d14
JZ
36112004-03-11 Josef Zlomek <zlomekj@suse.cz>
3612
3613 * var-tracking.c (vars_copy_1): Cleanup and speedup chain operations.
3614 (vars_copy): Likewise.
3615 (variable_union): Likewise.
3616 (set_variable_part): Likewise.
3617 (delete_variable_part): Likewise.
3618
71cc389b
KH
36192004-03-11 Kazu Hirata <kazu@cs.umass.edu>
3620
3621 * c-typeck.c, combine.c, cse.c, dominance.c, et-forest.h,
3622 ggc-page.c, var-tracking.c, config/fp-bit.c, config/c4x/c4x.c,
3623 config/cris/cris.c, config/i386/ppro.md, config/i860/i860.c,
3624 config/i860/i860.h, config/m32r/m32r.h, config/m32r/xm-m32r.h,
3625 config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
3626 config/mips/mips.c, config/mmix/mmix.c, config/ns32k/ns32k.h,
3627 config/pa/pa.c, config/pa/pa32-regs.h, config/pa/pa64-regs.h,
3628 config/pdp11/pdp11.h, config/rs6000/rs6000.c,
3629 config/stormy16/stormy16.c: Fix comment typos and formatting.
3630
f3c9f174
NN
36312004-03-11 Nathanael Nerode <neroden@gcc.gnu.org>
3632
3633 * configure: Regenerate, since I forgot to while committing Paolo's
3634 changes.
3635
e4c9c075
PB
36362004-03-08 Paolo Bonzini <bonzini@gnu.org>
3637
3638 PR ada/14131
3639 Move language detection to the top level.
3640 * configure.ac: Remove code to detect languages,
3641 it now lives exclusively in the top level.
3642 * aclocal.m4 (gcc_AC_PROG_GNAT): Moved to the
3643 top level, renamed to ACX_PROG_GNAT.
3644
4d0c31e6
RH
36452004-03-10 Richard Henderson <rth@redhat.com>
3646
3647 * c-pch.c (c_common_no_more_pch): Update for gt_pch_use_address
3648 extra arguments.
3649 * config.host (*-*-solaris2*, *-*-linux*): Add out_host_hook_obj
3650 and host_xmake_file fragments.
3651 * ggc-common.c (gt_pch_save): Update for gt_pch_get_address change.
3652 (gt_pch_restore): Similarly for gt_pch_use_address.
3653 (default_gt_pch_get_address): New.
3654 (mmap_gt_pch_get_address): Split out of gt_pch_save.
3655 (default_gt_pch_use_address): Split out of gt_pch_restore.
3656 (mmap_gt_pch_use_address): Likewise.
3657 * hooks.c (hook_voidp_size_t_null): Remove.
3658 (hook_bool_voidp_size_t_false): Remove.
3659 * hooks.h: Likewise.
3660 * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): Use one of the
3661 default_ or mmap_ definitions.
3662 (HOST_HOOKS_GT_PCH_USE_ADDRESS): Likewise.
3663 * hosthooks.h (struct host_hooks): Update gt_pch_get_address
3664 and gt_pch_use_address.
3665 * config/host-linux.c, config/host-solaris.c: New files.
3666 * config/x-linux, config/x-solaris: New files.
bc4c01b7 3667 * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_get_address):
4d0c31e6
RH
3668 Update for changed definition.
3669 (darwin_rs6000_gt_pch_use_address): Likewise.
3670 * doc/hostconfig.texi: Update docs.
3671
28fca7e4
RH
36722004-03-10 Richard Henderson <rth@redhat.com>
3673
3674 PR c/14517
3675 * c-decl.c (grokdeclarator): Don't warn for duplicate qualifiers
3676 except for pedantic c90 mode.
3677
8ab705be
KC
36782004-03-10 Kelley Cook <kcook@gcc.gnu.org>
3679
3680 * configure.ac: Bump AC_PREREQ to 2.59.
3681 * configure: Regenerate.
3682
a251102e
UB
36832004-03-10 Uros Bizjak <uros@kss-loka.si>
3684
3685 * optabs.h (enum optab_index): Add new OTI_exp10 and OTI_exp2.
3686 (exp10_optab, exp2_optab): Define corresponding macros.
3687 * optabs.c (init_optabs): Initialize exp10_optab and exp2_optab.
3688 * genopinit.c (optabs): Implement exp10_optab and exp2_optab
3689 using exp10?f2 and exp2?f2 patterns.
3690 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP10{,F,L}
3691 using exp10_optab, and BUILT_IN_EXP2{,F,L} using exp2_optab.
3692 (expand_builtin): Expand BUILT_IN_EXP10{,F,L} and BUILT_IN_EXP2{,F,L}
3693 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
3694
3695 * config/i386/i386.md (exp10sf2, exp10df2, exp10xf2, exp2sf2,
3696 exp2df2, exp2xf2): New patterns to implement exp10, exp10f, exp10l,
3697 exp2, exp2f and exp2l built-ins as inline x87 intrinsics.
3698
11f01d37
AG
36992004-03-10 Anthony Green <green@redhat.com>
3700
3701 * doc/invoke.texi (ARM Options): Fix -mpfu typo.
3702
bb904c1a
DE
37032004-03-10 David Edelsohn <edelsohn@gnu.org>
3704
3705 * config/rs6000/aix.h (TARGET_OS_CPP_BUILTINS): Rename to ...
3706 (TARGET_OS_AIX_CPP_BUILTINS): this. Conditionally define
3707 __LONGDOUBLE128.
3708 * config/rs6000/aix41.h (TARGET_OS_CPP_BUILTINS): Use
3709 TARGET_OS_AIX_CPP_BUILTINS.
3710 * config/rs6000/aix43.h (TARGET_OS_CPP_BUILTINS): Same.
3711 * config/rs6000/aix51.h (TARGET_OS_CPP_BUILTINS): Same.
3712 * config/rs6000/aix52.h (TARGET_OS_CPP_BUILTINS): Same.
3713 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Revert
3714 previous change.
3715
b45d3a36
KG
37162004-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3717
3718 * fold-const.c (tree_expr_nonnegative_p): Add more builtin cases.
3719
35ae04ba
DE
37202004-03-10 David Edelsohn <edelsohn@gnu.org>
3721
3722 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
3723 __LONGDOUBLE128 on AIX.
3724
ffad84cd
AH
37252004-03-10 Andrew Haley <aph@redhat.com>
3726
f7b48371 3727 PR optimization/14381
ffad84cd
AH
3728 * function.c (expand_function_end): Emit a blockage insn before
3729 the epilogue when -fnon-call-exceptions is used.
3730
3731 * except.c (expand_start_all_catch): Make comment more accurate.
3732
65cd26a6
JS
37332004-03-08 Joel Sherrill <joel@oarcorp.com>
3734
3735 PR target/14480
3736 * config/rs6000/t-rtems: Add missing file on branch.
3737
452c159e
UW
37382004-03-10 Ulrich Weigand <uweigand@de.ibm.com>
3739
3740 * dbxout.c (dbxout_symbol_location): Do not output references
3741 to optimized-out constant pool symbols.
3742
5f1b2068
AS
37432004-03-10 Andreas Schwab <schwab@suse.de>
3744
3745 * config/ia64/ia64.md (divsi3, udivsi3): Remove unused variable
3746 twon34_r.
3747
5399d643
JW
37482004-03-09 James E Wilson <wilson@specifixinc.com>
3749
3750 * alias.c (alias_sets_might_conflict_p): New.
3751 * c-typeck.c (build_c_cast): Call it if warn_strict_aliasing > 1.
3752 * common.opt (Wstrict-aliasing=): New.
3753 * flags.h (warn_strict_aliasing): Change type to int.
3754 * opts.c (warn_strict_aliasing): Change type to int.
3755 (common_handle_option): Handle OPT_Wstrict_aliasing_.
3756 * tree.h (alias_sets_might_conflict_p): Declare it.
3757 * doc/invoke.tex (-Wstrict-aliasing=2): Document it.
3758
a4e9467d
RZ
37592004-03-10 Roman Zippel <zippel@linux-m68k.org>
3760
3761 PR bootstrap/12371
3762 * config/m68k/m68k.h (FIXED_REGISTERS): Add arg pointer.
3763 (CALL_USED_REGISTERS): Likewise.
c53bdcf5 3764 (REG_CLASS_CONTENTS): Likewise.
a4e9467d
RZ
3765 (REG_ALLOC_ORDER): New.
3766 (REGNO_REG_CLASS): Use regno_reg_class.
3767 * config/m68k/m68k.c: Add regno_reg_class array.
3768
9aec7fb4
SE
37692004-03-09 Steve Ellcey <sje@cup.hp.com>
3770
3771 * config/ia64/ia64.md (divsi3): Fix algorithm.
3772 (udivsi3): Ditto.
3773 (setf_exp_xf): Remove '*' from name.
3774 * testsuite/gcc.dg/20040309-1.c: New test.
3775
9acd4a03
ILT
37762004-03-09 Ian Lance Taylor <ian@wasabisystems.com>
3777
3778 * system.h (SUNOS4_SHARED_LIBRARIES): Poison.
3779 * collect2.c: Remove SUNOS4_SHARED_LIBRARIES code.
3780 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): Don't define.
3781 * config/sparc/sparc.c (sparc_aout_select_section): Remove.
3782 (sparc_aout_select_rtx_section): Don't check
3783 SUNOS4_SHARED_LIBRARIES.
3784 * config/sparc/sparc.h (SUNOS4_SHARED_LIBRARIES): Don't define.
3785
a5249a21
HPN
37862004-03-10 Hans-Peter Nilsson <hp@axis.com>
3787
3788 PR other/14474
3789 * doc/md.texi (Pattern Ordering, Dependent Patterns)
3790 (Jump Patterns, Looping Patterns): Wrap in separate "@ifset
3791 INTERNALS".
3792
e373cdb4
ZW
37932004-03-09 Zack Weinberg <zack@codesourcery.com>
3794
3795 * config/ia64/hpux.h (MULTILIB_DEFAULTS): Define.
3796 (LIBGCC_SPEC): Update to match.
3797
77dbdb57
ZW
37982004-03-09 Zack Weinberg <zack@codesourcery.com>
3799
3800 * c-decl.c (last_function_parms, last_function_parm_tags)
3801 (last_function_parm_others, current_function_parms)
3802 (current_function_parm_tags, current_function_parm_others):
3803 Delete.
3804 (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES, ARG_INFO_OTHERS):
3805 New macros.
3806 (grokdeclarator): For function definitions, save the arg-info
3807 block from the declarator in DECL_ARGUMENTS.
3808 (grokparms): Do not write to last_function_parm*. Use ARG_INFO_*
3809 macros to operate on arg-info block. Can assume ARG_INFO_PARMS
3810 contains only PARM_DECLs. Improve diagnostics.
3811 (get_parm_info): Use ARG_INFO_* macros. Improve comments and
3812 diagnostics. Disable some expensive checks if not ENABLE_CHECKING.
3813 (store_parm_decls_newstyle): Take the function to operate on,
3814 and an arg-info block, as arguments; don't get anything from
3815 current_function_* globals.
3816 (store_parm_decls_oldstyle): Likewise.
3817 (store_parm_decls): Pass fndecl and its arg-info block down to
3818 store_parm_decls_newstyle/oldstyle. Send functions with empty
3819 argument lists through store_parm_decls_newstyle to reduce
3820 overhead.
3821 (pushdecl): Comment on the problems with the call to copy_node.
3822 Clear DECL_ARGUMENTS of the old node after copying it, if it
3823 is an arg-info block instead of a chain of decls.
3824 (start_function): Do not manipulate current_function_parm* or
3825 last_function_parm*.
3826
305eeaeb
RS
38272004-03-09 Roger Sayle <roger@eyesopen.com>
3828 Andrew Pinski <pinskia@physics.uc.edu>
3829
3830 * ifcvt.c (noce_try_sign_mask): New function to transform
3831 "x = (y < 0) ? z : 0" into the equivalent "x = (y >> C) & z".
3832 (noce_process_if_block): Call noce_try_sign_mask.
3833
f38f747d
AP
38342004-03-09 Andrew Pinski <apinski@apple.com>
3835
3836 * c-typeck.c (tagged_types_tu_compatible_p):
3837 Fix typo.
3838
7ce3e360
RS
38392004-03-09 Roger Sayle <roger@eyesopen.com>
3840
3841 * simplify-rtx.c (simplify_const_relational_operation): New function
3842 renamed from simplify_relational_operation.
3843 (simplify_relational_operation): Change prototype to accept an
3844 additional mode argument. Call simplify_const_relational_operation.
3845 (simplify_gen_relational): Update simplify_relational_operation call.
3846 (simplify_ternary_operation): Update simplify_relational_operation
3847 subroutine call to use simplify_const_relational_operation instead.
3848
3849 * rtl.h (simplify_const_relational_operation): Prototype here.
3850 (simplify_relational_operation): Add addtional mode argument.
3851
3852 * combine.c (combine_simplify_rtx): Update calls to
3853 simplify_relational_operation.
3854 (simplify_set): Likewise.
3855 (gen_binary): Likewise.
3856 * cse.c (fold_rtx): Likewise.
3857 * dojump.c (compare_from_rtx): Likewise.
3858 (do_compare_rtx_and_jump): Likewise.
3859 * integrate.c (subst_constants): Likewise.
3860 * unroll.c (simplify_cmp_and_jump_insns): Likewise.
3861
c0e63064
KH
38622004-03-09 Kazu Hirata <kazu@cs.umass.edu>
3863
3864 * config/m32r/m32r.md: Remove all define_peephole's.
3865
6ae08853
AM
38662004-03-09 Alan Modra <amodra@bigpond.net.au>
3867
3868 * config/rs6000/rs6000.md: Remove trailing whitespace.
3869
5340bbea
EC
38702004-03-08 Eric Christopher <echristo@redhat.com>
3871
3872 * Makefile.in (site.exp): Add libiconv variable definition.
3873
3beb1315
HPN
38742004-03-09 Hans-Peter Nilsson <hp@axis.com>
3875
3876 * configure: Regenerate for config/accross.m4 correction.
3877
c589970a
JS
38782004-03-08 Joel Sherrill <joel@oarcorp.com>
3879
3880 PR target/14480
3881 * config/rs6000/t-rtems: Add missing file on branch.
3882
e697b20f
RS
38832004-03-08 Roger Sayle <roger@eyesopen.com>
3884
3885 PR middle-end/14289
3886 * c-typeck.c (c_mark_addressable): A register variable should
3887 be considered global if its not automatic, i.e. TREE_PUBLIC,
3888 TREE_STATIC or DECL_EXTERNAL.
3889 * function.c (put_var_into_stack): Call abort when placing a
3890 hard register into the stack, if x_parm_reg_stack_loc is NULL.
3891
59f8a8be
UW
38922004-03-08 Ulrich Weigand <uweigand@de.ibm.com>
3893
3894 * config/s390/s390.md ("*extendqidi2_short_displ"): Add CC clobber.
3895 ("*extendqisi2_short_displ"): Likewise.
3896
23bd99da
KH
38972004-03-08 Kazu Hirata <kazu@cs.umass.edu>
3898
3899 * config/pdp11/pdp11.c (comparison_operator_index): Remove.
3900 (comp_operator): Likewise.
3901 * config/pdp11/pdp11-protos.h: Remove corresponding
3902 prototypes.
3903
d50a16c4
EB
39042004-03-08 Eric Botcazou <ebotcazou@act-europe.fr>
3905
3906 * expr.c (highest_pow2_factor_for_type): Rename into
3907 highest_pow2_factor_for_target. Use DECL_ALIGN instead of
3908 TYPE_ALIGN when the target is a COMPONENT_REF.
3909 (expand_assignment): Ajust call to highest_pow2_factor_for_type.
3910
957211c3
AM
39112004-03-08 Alan Modra <amodra@bigpond.net.au>
3912
b1917422
AM
3913 * config/rs6000/rs6000.c: Formatting fix.
3914 (legitimate_offset_address_p): Correct offset range check.
3915
957211c3
AM
3916 * config/rs6000/rs6000.c (rs6000_override_options): Don't override
3917 -msoft-float by -mcpu. Consolidate similar code for MASK_MULTIPLE
3918 and MASK_STRING.
3919
97727e85 39202004-03-07 Aldy Hernandez <aldyh@redhat.com>
5340bbea 3921
77dbdb57
ZW
3922 * config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power
3923 for little endian.
3924 ("ashrdi3_no_power"): Disable for little endian.
97727e85
AH
3925 (ashrdi3): Same.
3926
280e63ec
KG
39272004-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3928
3929 * fold-const.c (tree_expr_nonnegative_p): Reformat checks for
3930 builtins.
3931
86da66b5
HPN
39322004-03-08 Hans-Peter Nilsson <hp@axis.com>
3933
3934 PR target/14471
3935 * configure.ac (Target-specific assembler checks) <cris-*-*>: New
3936 case, checking for -no-mul-bug-abort option.
3937 * configure, config.in: Regenerate.
3938 * doc/invoke.texi (CRIS Options): Document -mmul-bug-workaround
3939 and -mno-mul-bug-workaround.
3940 * config/cris/cris.md ("smulsi3_highpart", "umulsi3_highpart")
3941 ("mulsidi3", "umulsidi3"): Prefix output template with "%!".
3942 ("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3"):
3943 Ditto. Make attribute "slottable" dependent on TARGET_MUL_BUG.
3944 * config/cris/mulsi3.asm (__Mul) [__CRIS_arch_version >= 10]: Make
3945 sure mulu.d is not last on cache-line.
3946 * config/cris/cris.h (ASM_SPEC): Translate -mno-mul-bug-workaround
3947 into -no-mul-bug-abort depending on HAVE_AS_MUL_BUG_ABORT_OPTION.
3948 (TARGET_MASK_MUL_BUG, TARGET_MUL_BUG): New macros.
3949 (TARGET_SWITCHES): New options -mmul-bug-workaround and
3950 -mno-mul-bug-workaround.
3951 (TARGET_DEFAULT): Include TARGET_MASK_MUL_BUG.
3952 (PRINT_OPERAND_PUNCT_VALID_P): Include '!'.
3953 * config/cris/cris.c (cris_operand_extend_operator): Clarify
3954 relation to MULT in head comment.
3955 (cris_op_str): Abort for MULT.
3956 (cris_print_operand) <case '!'>: New case.
3957
e7ee3914
AM
39582004-03-08 Alan Modra <amodra@bigpond.net.au>
3959
3960 PR debug/11983
3961 * dwarf2out.c (enum dw_val_class): Rename dw_val_class_float to
3962 dw_val_class_vec. Replace use throughout file.
3963 (dw_float_const): Delete.
3964 (dw_vec_const): New.
3965 (dw_val_struct_union): Rename val_float to val_vec. Replace use
3966 throughout file.
3967 (add_AT_vec): Rename from add_AT_float. Add elt_size param.
3968 (same_dw_val_p): Adjust vec comparison. Use memcmp.
3969 (size_of_die): Adjust dw_val_class_vec sizing.
3970 (output_die): Output dw_val_class_vec.
3971 (insert_int, extract_int, insert_float): New functions.
3972 (add_const_value_attribute): Use insert_float for CONST_DOUBLE.
3973 Handle CONST_VECTOR.
3974 (add_location_or_const_value_attribute): Handle CONST_VECTOR.
5cc73f91
AH
3975
39762004-03-07 Aldy Hernandez <aldyh@redhat.com>
3977
3978 * config/rs6000/rs6000.c (rs6000_parse_abi_options): SPE and
3979 AltiVec abi cannot co-exist.
3980
3981 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Same.
3982
a61bf177
JH
39832004-03-07 Jan Hubicka <jh@suse.cz>
3984
3985 * except.c (emit_to_new_bb_before): Break fallthru edges.
3986
17c60946
SC
39872004-03-07 Stephane Carrez <stcarrez@nerim.fr>
3988
3989 * config/m68hc11/m68hc11.md ("*lshrsi3_const"): Disable for 68HC12.
3990 ("*lshrsi3"): Also accept an immediate for 68HC12.
3991 ("*ashrsi3_const"): Likewise.
3992 ("*ashrsi3"): Likewise.
3993 ("*ashlsi3_const"): Likewise.
3994 ("*ashlsi3"): Likewise.
3995 ("cmphi_1_hc12"): Compare two hard register by pushing them and
3996 comparing with a pop; don't use a split for that.
3997 ("cmphi split"): Disable compare split for 68HC12.
3998
3999 * config/m68hc11/m68hc11.c (m68hc11_notice_update_cc): Invalidate
4000 the status operands if they have side effects.
4001
3e759eda
KH
40022004-03-07 Kazu Hirata <kazu@cs.umass.edu>
4003
4004 * defaults.h (LEGITIMIZE_ADDRESS): Provide a default
4005 definition.
4006 * config/arc/arc.h, config/fr30/fr30.h, config/frv/frv.h,
4007 config/h8300/h8300.h, config/ia64/ia64.h,
4008 config/mcore/mcore.h, config/mmix/mmix.h,
4009 config/ns32k/ns32k.h, config/pdp11/pdp11.h,
4010 config/stormy16/stormy16.h, config/v850/v850.h,
4011 config/vax/vax.h (LEGITIMIZE_ADDRESS): Remove.
4012 * doc/tm.texi (LEGITIMIZE_ADDRESS): Mention the default
4013 definition.
4014
cd2f1c7a
RS
40152004-03-07 Roger Sayle <roger@eyesopen.com>
4016
4017 * fold-const.c (fold) <IOR_EXPR>: Fold x | x as x.
4018 <XOR_EXPR>: Fold x ^ x as zero.
4019 <AND_EXPR>: Fold x & x as x.
4020
350f4ea8
RS
40212004-03-07 Roger Sayle <roger@eyesopen.com>
4022
4023 * fold-const.c (fold) <EQ_EXPR>: Rewrite optimization to transform
4024 "foo++ == const" into "++foo == const+incr".
4025
91455597
RS
40262004-03-07 Richard Sandiford <rsandifo@redhat.com>
4027
4028 * config/mips/mips.c (mips_in_small_data_p): Return false if
4029 TARGET_ABICALLS.
4030
a75ea627
SC
40312004-03-06 Stephane Carrez <stcarrez@nerim.fr>
4032
4033 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Use 2,-sp to push
4034 the stack register.
4035 (expand_prologue): Don't make an interrupt or a trap handler a far
4036 symbol.
4037 (m68hc11_initial_elimination_offset): Likewise.
4038
7179b6db
RH
40392004-03-06 Richard Henderson <rth@redhat.com>
4040
4041 * config/alpha/alpha.c (alpha_in_small_data_p): False for functions.
4042
eff3c926
KH
40432004-03-06 Kazu Hirata <kazu@cs.umass.edu>
4044
4045 * config/ns32k/ns32k-protos.h: Add a prototype for
4046 ns32k_notice_update_cc.
4047 * config/ns32k/ns32k.c (ns32k_notice_update_cc): New.
4048 * config/ns32k/ns32k.h (NOTICE_UPDATE_CC): Call
4049 ns32k_notice_update_cc.
4050
22ea6b4f
UW
40512004-03-06 Ulrich Weigand <uweigand@de.ibm.com>
4052
4053 * config/s390/s390.md ("load_multiple", "*load_multiple_di",
4054 "*load_multiple_si"): Allow only if reload_completed.
4055 ("store_multiple", "*store_multiple_di", "*store_multiple_si"):
4056 Likewise.
4057
af0ec113
KH
40582004-03-06 Kazu Hirata <kazu@cs.umass.edu>
4059
4060 * config/vax/vax-protos.h: Add a prototype for
4061 vax_notice_update_cc.
4062 * config/vax/vax.c (vax_notice_update_cc): New.
4063 * config/vax/vax.h (NOTICE_UPDATE_CC): Call
4064 vax_notice_update_cc.
4065
aaef9b06
DE
40662004-03-06 David Edelsohn <edelsohn@gnu.org>
4067
4068 * collect2.c (main): Only export initfunc and finifunc if
4069 LD_INIT_SWITCH not defined.
4070 (scan_prog_file): Only export constructors and destructors if
4071 LD_INIT_SWITCH not defined. Only export symbols not found in
4072 shared objects.
4073
7a9a5a44
JDA
40742004-03-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4075
4076 * pa.md (icacheflush): Reorder operands to make match_scratch operand
4077 last.
4078 * pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument
4079 from calls to gen_icacheflush.
4080
0f15adbd
RH
40812004-03-06 Richard Henderson <rth@redhat.com>
4082
4083 * config/alpha/alpha.h (MASK_LONG_DOUBLE_128): New.
4084 (TARGET_LONG_DOUBLE_128): New.
4085 (TARGET_SWITCHES): Add long-double-{128,64}.
4086 (TARGET_HAS_XFLOATING_LIBS): Default to TARGET_LONG_DOUBLE_128.
4087 (LONG_DOUBLE_TYPE_SIZE): Honor TARGET_LONG_DOUBLE_128.
4088 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New.
4089 (WIDEST_HARDWARE_FP_SIZE): New.
4090 (TARGET_CPU_CPP_BUILTINS): Define __LONG_DOUBLE_128__.
4091 * config/alpha/alpha.c (override_options): Clear MASK_LONG_DOUBLE_128
4092 if TARGET_VAX_FLOAT.
4093 * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): Remove.
4094 (TARGET_DEFAULT): Set MASK_LONG_DOUBLE_128.
4095
b9c685ae
RH
40962004-03-06 Richard Henderson <rth@redhat.com>
4097
4098 * config/alpha/alpha.c (alpha_swapped_comparison_operator): Fix
4099 botched rtx class conversion.
4100
82b4201f
KG
41012004-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4102
4103 * tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P,
4104 BUILTIN_CBRT_P, BUILTIN_ROOT_P): New macros.
4105
4106 * builtins.c (fold_builtin_logarithm, fold_builtin): Use new
4107 macros.
4108 * fold-const.c (fold_mathfn_compare, fold): Likewise.
4109
84289c76
EB
41102004-03-06 Eric Botcazou <ebotcazou@libertysurf.fr>
4111
4112 PR target/14343
4113 * config/i386/i386.md (movv2di_internal): Conditionalize on
4114 TARGET_SSE, not TARGET_SSE2.
4115
3fdf09a1
CD
41162004-03-05 Chris Demetriou <cgd@broadcom.com>
4117
4118 * config.gcc (mips64orion-*-elf*, mips64orionel-*-elf*): Delete
4119 duplicated line.
4120
f2f4e976
KG
41212004-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4122
4123 * builtins.c: Consistently use logN not log* in comments.
4124
2b3493c8
AK
41252004-03-05 Andreas Krebbel <krebbel1@de.ibm.com>
4126
4127 * rtl.h (mem_expr_equal_p): Function prototype added.
4128 * cfgcleanup.c (merge_memattrs): New function.
4129 (flow_find_cross_jump): Call merge_memattrs for matching insns.
4130 * emit-rtl.c (mem_expr_equal_p): New function.
4131
1a4a7065
ZL
41322004-03-05 Ziemowit Laski <zlaski@apple.com>
4133
4134 * objc/objc-act.c (synth_module_prologue): Const-qualify
4135 objc_selector type if using the GNU runtime; fix generated
4136 signatures for objc_msg_lookup and objc_msg_lookup_super
4137 to match what GNU ObjC headers provide; reformat and clean up.
4138 (synth_self_and_ucmd_args): Use previously constructed (and
4139 hence possibly const-qualified) objc_selector type.
4140
150c9fe8
KH
41412004-03-05 Kazu Hirata <kazu@cs.umass.edu>
4142
4143 * doc/tm.texi (HARD_REGNO_RENAME_OK): Document.
4144
fd917e0d
JM
41452004-03-05 Jason Merrill <jason@redhat.com>
4146
4147 * tree.h (TYPE_HASH): Use TYPE_UID.
4148 (TREE_HASH): New macro with old definition of TYPE_HASH.
4149 * tree.c (build_type_attribute_variant): Use iterative_hash_object.
4150 (build_array_type, build_function_type): Likewise.
4151 (build_method_type_directly): Likewise.
4152 (build_offset_type, build_complex_type): Likewise.
4153 (type_hash_list, attribute_hash_list): Likewise. Now static.
4154 * except.c: s/TYPE_HASH/TREE_HASH/.
4155
822e895c
BW
41562004-03-05 Bob Wilson <bob.wilson@acm.org>
4157
4158 * config/xtensa/xtensa.c (function_arg): Handle 16-byte aligned args.
4159 (xtensa_va_start): Initialize __va_stk to ($arg_ptr - 32). Adjust
4160 __va_ndx by 2 words when referencing an argument on the stack.
4161 (xtensa_va_arg): Handle 16-byte aligned args. Adjust __va_ndx by 2
4162 words when an arg on the stack is first seen.
4163
2eb83715
PB
41642004-03-05 Paul Brook <paul@codesourcery.com>
4165
4166 * arm.h (ARM_FLAG_VFP): Remove.
4167 (ARM_FLAG_ATPCS, CIRRUS_FIX_INVALID_INSNS): Renumber.
4168 * netbsd-elf.h (ARM_FLAG_VFP): Remove.
4169
ce407aa9
PB
41702004-03-05 Paul Brook <paul@codesourcery.com>
4171
4172 * function.c (assign_parms): Include pretend alignment offset.
4173
019dd4ec
RK
41742004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4175
4176 * stor-layout.c (layout_type, case FUNCTION_TYPE): Make size
4177 FUNCTION_BOUNDARY, not POINTER_SIZE * 2.
4178
33e70558
ILT
41792004-03-05 Ian Lance Taylor <ian@wasabisystems.com>
4180
4181 * configure.ac: When passing --enable-languages to subdir
4182 configure when host != build, make sure we don't pass an empty
4183 value.
4184 * configure: Regenerate.
4185
ab786753
NS
41862004-03-05 Nathan Sidwell <nathan@codesourcery.com>
4187
4188 PR 13577
4189 * gcc.c (cc1_options): Robustify -auxbase-strip from multiple -o
4190 options.
4191
d2782048
PB
41922004-03-05 Paolo Bonzini <bonzini@gnu.org>
4193
4194 * simplify-rtx.c (simplify_relational_operation): If
4195 flag_wrapv is set, do not move terms between the two
4196 side of a relational operator.
4197
f894b69b
PB
41982004-03-05 Paolo Bonzini <bonzini@gnu.org>
4199
4200 * rtlanal.c: Include target.h and output.h
4201 (rtx_cost, address_cost, default_address_cost): Move from...
4202 * cse.c (rtx_cost, address_cost, default_address_cost):
4203 ... this file.
4204 * rtl.h (rtx_cost, address_cost): Move under rtlanal.c.
4205 * Makefile.in: Adjust dependencies.
4206
86caf04d
PB
42072004-03-05 Paolo Bonzini <bonzini@gnu.org>
4208
4209 * cse.c (cse_end_of_basic_block): Make static.
4210 * local-alloc.c (function_invariant_p): Move to
4211 reload1.c.
4212 * loop.c (libcall_other_reg, record_excess_regs):
4213 Make static.
4214 * reload1.c (function_invariant_p): Moved here
4215 from local-alloc.c, made static.
4216 * rtl.h (cse_end_of_basic_block, function_invariant_p,
4217 libcall_other_reg, record_excess_regs): Remove
4218 declarations.
4219
d0fe265e
KH
42202004-03-05 Kazu Hirata <kazu@cs.umass.edu>
4221
4222 * config/m32r/m32r.c (signed_comparison_operator): Add a
4223 missing parenthesis.
4224
ee0d75ef
ILT
42252004-03-04 Ian Lance Taylor <ian@wasabisystems.com>
4226
4227 * ggc-common.c (gt_pch_restore): Don't unmap addr unless we are
4228 going to call mmap again. Read the file into the right place.
4229 Give a fatal error if we have to relocate.
4230
6e5ff6e7
BW
42312004-03-04 Bob Wilson <bob.wilson@acm.org>
4232
4233 * config/xtensa/xtensa.c (xtensa_return_in_msb): New function.
4234 (TARGET_RETURN_IN_MSB): Define to xtensa_return_in_msb.
4235
fc7b80e4
HPN
42362004-03-05 Hans-Peter Nilsson <hp@axis.com>
4237
fd9361f7 4238 PR other/14354
fc7b80e4
HPN
4239 * config/fp-bit.c (_fpdiv_parts): Do not round when pack_d would
4240 round the same. When rounding, clear bits that would cause a
4241 second rounding in pack_d.
4242 (_fpmul_parts): Ditto. Remove #if 0:d code.
4243
b9e4e5d1
ZL
42442004-03-04 Ziemowit Laski <zlaski@apple.com>
4245
4246 PR c++/14425, c++/14426
4247 * config/rs6000/altivec.h (vec_splat_s8, vec_splat_s16,
4248 vec_splat_s32, vec_splat_u8, vec_splat_u16, vec_splat_u32):
4249 Change C++ definitions to accept a 'const int' argument;
4250 the prototypes already do.
4251 * config/rs6000/rs6000.c (rs6000_common_init_builtins):
4252 Rename v4si_ftype_char, v8hi_ftype_char, v16qi_ftype_char,
4253 v4sf_ftype_v4si_char, v4si_ftype_v4sf_char, v4si_ftype_v4si_char,
4254 v8hi_ftype_v8hi_char, v16qi_ftype_v16qi_char,
4255 v16qi_ftype_v16qi_v16qi_char, v8hi_ftype_v8hi_v8hi_char,
4256 v4si_ftype_v4si_v4si_char and v4sf_ftype_v4sf_v4sf_char to
4257 end in ..._int; change them to accept an int instead of a char
4258 as the last parameter.
4259
8653fed7
PE
42602004-03-04 Phil Edwards <phil@codesourcery.com>
4261
4262 * genmultilib: Change '=' to '-' when translating option names
4263 to directory names.
4264
daae8185
RK
42652004-03-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4266
4267 * expr.c (expand_expr_real, case COMPONENT_REF): Get proper type of
4268 stack slot for temp used for result of BLKmode but in integral mode.
4269
f345f21a
JH
42702004-03-04 Jan Hubicka <jh@suse.cz>
4271
4272 * reload.c (find_reloads): Reorganize if seqeunce to switch.
4273
4274 * cfgrtl.c (rtl_redirect_edge_and_branch): Set the source BB as dirty.
4275 (cfglayout_redirect_edge_and_branch): Set the source BB as dirty.
4276
aa42f99d
SE
42772004-03-04 Steve Ellcey <sje@cup.hp.com>
4278
4279 * config/ia64/ia64.md (divdf3_internal_thr): Fix algorithm.
4280 * testsuite/gcc.dg/20040303-1.c: New test.
4281
56bab446
SB
42822004-03-04 Steven Bosscher <stevenb@suse.de>
4283
4284 * ppro.md: Rewrite as a DFA pipeline description.
4285 * i386.md: Remove all uses of the ppro_uops attribute.
4286 * i386.c: (ix86_safe_ppro_uops, ix86_dump_ppro_packet,
4287 ix86_reorder_insn, ix86_sched_reorder_ppro, ix86_sched_init,
4288 ix86_sched_reorder, ix86_variable_issue,
4289 struct ix86_sched_data, TARGET_SCHED_VARIABLE_ISSUE,
4290 TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Remove.
4291 (ia32_use_dfa_pipeline_interface): Add TARGET_PENTIUMPRO.
4292 (ia32_multipass_dfa_lookahead): Add TARGET_PENTIUMPRO.
4293 * athlon.md (athlon_ssecmp_load): Fix comment
4294
5a26b329 42952004-03-04 Stuart Hastings <stuart@apple.com>
56bab446 4296
5a26b329
SH
4297 * gcc/doc/invoke.texi: Document -mlongcall for Darwin/PPC.
4298
2e5d2af9 42992004-03-04 Stuart Hastings <stuart@apple.com>
56bab446 4300
2e5d2af9
SH
4301 * gcc/config/i386/darwin.h: Darwin/x86 doesn't support CPUs before
4302 686, tell Darwin assembler to allow prefetch insns, non-empty def
4303 of SUBTARGET_OPTION_TRANSLATE_TABLE.
4304
58f206d6
DD
43052004-03-04 DJ Delorie <dj@redhat.com>
4306
4307 PR optimization/14282
4308 * sched-deps.c (sched_analyze_insn): Allow a stack adjustment
4309 between a call and the assignment of its return value.
4310
e9eba255
KH
43112004-03-04 Kazu Hirata <kazu@cs.umass.edu>
4312
4313 * config/h8300/h8300.c: Put a comment for every function.
4314
d3c40837
KH
43152004-03-04 Kazu Hirata <kazu@cs.umass.edu>
4316
4317 * config/h8300/h8300.md: Add comments about peephole2's.
4318
eb3d7f9d
SB
43192004-03-04 Steven Bosscher <stevenb@suse.de>
4320
4321 * i386.h (TARGET_CPU_DEFAULT_nocona): Fix value.
4322
463301c3
JH
43232004-03-04 Jan Hubicka <jh@suse.cz>
4324
4325 * cfgcleanup.c (thread_jump): Update call of cselib_init.
4326 * cselib.c (cselib_record_memory): New static variable.
4327 (cselib_lookup_mem, cselib_record_set, cselib_record_sets):
4328 Give up on memories when asked for.
4329 (cselib_init): Accept new argument.
4330 * cselib.h (cselib_init): Update prototype.
4331 * gcse.c (local_cprop_pass): Update call of cselib_init.
4332 * loop.c (load_mems): Update call of cselib_init.
4333 * postreload.c (reload_cse_regs_1): Update call of cselib_init.
4334 * sched-deps.c (sched_analyze): Update call of cselib_init.
4335
3b6ce0af
DE
43362004-03-04 David Edelsohn <edelsohn@gnu.org>
4337 GP <gp@qnx.com>
4338
4339 * config/rs6000/rs6000.c (output_function_profiler): Append @plt
4340 when compiling PIC.
4341
af931390
JZ
43422004-03-04 Josef Zlomek <zlomekj@suse.cz>
4343
4344 PR/14362
4345 * var-tracking.c (track_expr_p): Do not track variables which
4346 should be ignored for debugging purposes.
4347
ddc68564
AM
43482004-03-04 Alan Modra <amodra@bigpond.net.au>
4349
4350 * real.c (encode_ibm_extended): Don't bother rounding low double.
4351 * c-cppbuiltin.c (builtin_define_float_constants): Tweak MAX
4352 when fmt->pnan < fmt->p.
4353
ca87076c
EC
43542004-03-04 Eric Christopher <echristo@redhat.com>
4355
4356 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Fix to check
4357 only range of valid arg registers and fixed_regs.
4358
1a402dc1
AM
43592004-03-04 Alan Modra <amodra@bigpond.net.au>
4360
4361 PR target/14406
4362 * config/rs6000/rs6000.md (abstf2, abstf2+1): Delete define_insn.
4363 (abstf2, abstf2_internal): New define_expand.
4364
6a2d136b
EB
43652004-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
4366
4367 PR optimization/14235
4368 * expr.c (convert_move): Copy the source to a new pseudo
4369 when converting from a sub-word source to a larger-than-word
4370 register which conflicts with the source.
4371
3205a71e
ZW
43722004-03-03 Zack Weinberg <zack@codesourcery.com>
4373
4374 PR 13728
4375 * c-decl.c (diagnose_mismatched_decls): Issue an error for two
4376 parameters with the same name, unless one is a forward decl.
4377 Do not issue a redundant-redeclaration warning for forward
4378 decls of parameters.
4379
e8d8a034
DE
43802004-03-04 David Edelsohn <edelsohn@gnu.org>
4381
4382 * doc/install.texi (*-ibm-aix*): Document use of Bash to speed up
4383 configuration.
4384
ebe29bbf
ILT
43852004-03-03 Ian Lance Taylor <ian@wasabisystems.com>
4386
4387 * ggc-zone.c (ggc_pch_write_object): Don't align file pointer.
4388
7cd60054
AM
43892004-03-04 Alan Modra <amodra@bigpond.net.au>
4390
4391 * target-def.h (TARGET_OPTF): Delete.
4392 * c-opts.c (TARGET_OPTF): Define.
4393
e654c19e
JH
43942004-03-04 Jan Hubicka <jh@suse.cz>
4395
4396 * cselib.c (cselib_finish): Fix another miss-application of my previous
4397 patch.
4398
94d1613b
MS
43992004-03-03 Mike Stump <mrs@apple.com>
4400
4401 Add framework support for darwin.
4402
4403 * c-incpath.c: Include target.h and machmode.h.
4404 (add_path): Use a consistent style for cpp_dir. Initialize
4405 p->construct to 0.
4406 (add_cpp_dir_path): New.
4407 (register_include_chains): Add use of extra_includes callback.
4408 (hook_void_int): Add.
4409 (target_c_incpath): Add.
4410 * c-incpath.h (add_cpp_dir_path): New.
4411 (target_c_incpath_s): Add.
4412 (target_c_incpath): Add.
4413 (C_INCPATH_INIT): Add.
4414 * c-opts.c (c_common_missing_argument,
4415 c_common_handle_option): Add -F argument processing.
4416 * c.opt: Add -F argument processing.
4417 * gcc.c (trad_capable_cpp): Add -F argument processing.
4418 * cppfiles.c (find_file_in_dir): Update to use construct
4419 callback.
4420 (search_path_exhausted, cpp_get_path, cpp_get_buffer,
4421 cpp_get_prev): New.
4422 (_cpp_find_file): Use search_path_exhausted.
4423 (make_cpp_dir): Initialize construct to 0.
4424 * cpplib.h (missing_header_cb
4425 cpp_get_path, cpp_get_buffer, cpp_get_file, cpp_get_prev): New.
4426 (cpp_callbacks): Add missing_header
4427 (cpp_dir): Add construct.
4428 * target-def.h: (TARGET_OPTF): New.
4429 * hooks.c (hook_void_int, hook_void_charptr): Add.
4430 * hooks.h (hook_void_int, hook_void_charptr): Add.
4431 * Makefile.in (c-incpath.o) : Add $(TARGET_H) and
4432 $(MACHMODE_H) dependencies.
4433 * doc/invoke.texi (Darwin Options): Document -F.
4434 * doc/tm.texi (TARGET_EXTRA_INCLUDES): Add.
4435 (TARGET_OPTF): Add.
4436 * fix-header.c (target_c_incpath): Add.
4437
4438 * config/darwin-c.c: Add c-incpath.h include.
4439 (using_frameworks, find_subframework_file,
4440 find_subframework_header, add_system_framework_path,
4441 frameworks_in_use, num_frameworks, max_frameworks,
4442 add_framework, find_framework, struct framework_header,
4443 framework_header_dirs, framework_construct_pathname,
4444 find_subframework_file, add_system_framework_path,
4445 add_framework_path, framework_defaults,
4446 darwin_register_frameworks, find_subframework_header): Add.
4447 * config/darwin.h (TARGET_EXTRA_INCLUDES, TARGET_OPTF): New.
4448 (TARGET_OPTION_TRANSLATE_TABLE): Add -framework support.
4449 (CPP_SPEC): Add __APPLE_CC__ support.
4450 * t-darwin (darwin-c.o): Add c-incpath.h dependency.
4451
0fc0c4c9
JH
44522004-03-04 Jan Hubicka <jh@suse.cz>
4453
4454 * cselib.c (cselib_finish): Fix miss-application of my previous
4455 patch.
4456
67dfe110
KH
44572004-03-03 Kazu Hirata <kazu@cs.umass.edu>
4458
4459 * hooks.c (hook_tree_tree_identity): New.
4460 * hooks.h: Add a prototype for hook_tree_tree_identity.
4461 * stmt.c (expand_asm_operands): Use targetm.md_asm_clobbers
4462 instead of MD_ASM_CLOBBERS.
4463 * system.h (MD_ASM_CLOBBERS): Poison.
4464 * target-def.h (TARGET_MD_ASM_CLOBBERS): New.
4465 (TARGET_INITIALIZER): Add TARGET_MD_ASM_CLOBBERS.
4466 * target.h (gcc_target): Add md_asm_clobbers.
4467 * config/i386/i386.c (TARGET_MD_ASM_CLOBBERS): New.
4468 (ix86_md_asm_clobbers): New.
4469 * config/i386/i386.h (MD_ASM_CLOBBERS): Remove.
4470 * doc/tm.texi (MD_ASM_CLOBBERS): Change to
4471 TARGET_MD_ASM_CLOBBERS.
4472
d79944f4 44732004-03-03 Stuart Hastings <stuart@apple.com>
67dfe110 4474
d79944f4 4475 * gcc/config.gcc: Arrange for Darwin/x86 to build libgcc_eh.a.
3205a71e 4476
fc9232c9
EB
44772004-03-03 Eric Botcazou <ebotcazou@libertysurf.fr>
4478
4479 * config/sparc/sparc.c (noov_compare64_op): Fix typo.
4480
4481 * config/sparc/sparc.h (ASM_FLOAT): Delete.
4482 (ASM_DOUBLE): Likewise.
4483 (ASM_LONGDOUBLE): Likewise.
4484 * config/sparc/pbd.h (ASM_INT_OP): Delete.
4485
b7048ab7
RH
44862003-03-03 Richard Henderson <rth@redhat.com>
4487
4488 PR opt/13862
4489 * cselib.c (cselib_record_sets): Don't record multiple sets in
4490 asm insns.
4491
f9957958
MH
44922004-03-03 Mostafa Hagog <mustafa@il.ibm.com>
4493
4494 * common.opt: Add description of the new -fgcse-after-reload flag.
4495
4496 * flags.h (flag_gcse_after_reload): Declaration of global variable.
4497
4498 * gcse.c (reg_used_on_edge ,reg_set_between_after_reload_p,
4499 reg_used_between_after_reload_p, rtx get_avail_load_store_reg,
4500 is_jump_table_basic_block, bb_has_well_behaved_predecessors,
4501 get_bb_avail_insn, hash_scan_set_after_reload,
4502 compute_hash_table_after_reload, eliminate_partially_redundant_loads,
4503 gcse_after_reload, get_bb_avail_insn): New functions to implement
4504 gcse-after-reload.
4505 (gcse_after_reload_main): New function, the main entry point to
4506 gcse-after-reload.
4507
4508 * rtl.h (gcse_after_reload_main): Declaration of the new function.
4509
4510 * opts.c (common_handle_option): Handle the -fgcse-after-reload flag.
4511
4512 * toplev.c (flag_gcse_after_reload): Initialization.
4513
4514 * passes.c (rest_of_handl_gcse2): Call gcse_after_reload_main.
4515
4516 * params.def (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
4517 PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION): New parameters for tuning
4518 the gcse after reload optimization.
4519
4520 * params.h (GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
4521 GCSE_AFTER_RELOAD_CRITICAL_FRACTION): Two macros to access the tuning
4522 parameters.
4523
4524 * doc/invoke.texi: Documentation for the new flag gcse-after-reload.
4525
6f6dedf5
NP
45262004-03-03 Nicolas Pitre <nico@cam.org>
4527
4528 * config/arm/ieee754-df.S (muldf3, divdf3): Fix denormalization of
4529 small negative values.
4530
6790d1ab
JH
45312004-03-03 Jan Hubicka <jh@suse.cz>
4532
4533 * cselib.c (hash_table): Remove GTY marker.
4534 (reg_values): Turn into array.
4535 (used_regs): Likewise.
4536 (n_used_regs): New static variable.
4537 (reg_values_old): Kill.
4538 (clear_table): Update uses of arrays.
4539 (cselib_lookup): Likewise.
4540 (cselib_record_set): Likewise.
4541 (cselib_init): Likewise.
4542 (cselib_finish): Likewise.
4543 (cselib_udpate_varray_sizes): Kill.
4544 * cselib.h (cselib_update_varray_sizes): Kill.
4545
33e6a97a
PB
45462004-03-03 Paul Brook <paul@codesourcery.com>
4547
4548 * flow.c (ior_reg_cond, and_reg_cond): Remove stray ")".
4549
b9dcdee4
JH
45502004-03-03 Jan Hubicka <jh@suse.cz>
4551
4552 * ggc-common.c (ggc_alloc_cleared_stat, ggc_realloc_stat):
4553 Rename from ...; make statistics transparent.
4554 (ggc_alloc_cleared, ggc_realloc_stat): ... these.
4555 (loc_descriptor): New structure.
4556 (hash_descriptor, eq_descriptor, loc_descriptor, cmp_statistics,
4557 add_statistics):
4558 New static function.
4559 (ggc_record_overhead, dump_statistics): New global function.
4560 * ggc-none.c (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
4561 ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Rename
4562 from ...; accept locations
4563 (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
4564 ggc_realloc, ggc_alloc_typed): ... this one.
4565 from ...; accept locations
4566 * ggc-page.c (ggc_alloc_typed_stat, ggc_alloc_zone_stat,
4567 ggc_alloc_stat): Rename from ... ; pass locations
4568 * ggc-page.c (ggc_alloc_typed, ggc_alloc_zone, ggc_alloc):
4569 ... this one.
4570 (ggc_alloc_stat): Record overehead.
4571 * ggc.h (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
4572 ggc_realloc, ggc_alloc_typed): Turn to macros
4573 (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
4574 ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Declare.
4575 (dump_ggc_loc_satistics, ggc_record_overehead): Declare.
4576 * langhooks.h (lhd_make_node): Declare.
4577 (LANG_HOOKS_MAKE_TYPE): Default to new function,
4578 * langhooks.c (lhd_make_node): New.
4579 * rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Rename from ... ; pass
4580 locations.
4581 (rtx_alloc, swallow_copy_rtx): ... this one.
4582 * rtl.h (rtx_alloc, swallow_copy_rtx): Turn to macros.
4583 * rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Declare.
4584 * toplpev.c (finalize): Dump stats.
4585 * tree.c (make_node_stat, copy_node_stat, make_tree_vec_stat,
4586 build_tree_list_stat, tree_cons_stat, build?_stat, build_decl_stat):
4587 Rename from ... ; pass locators.
4588 (make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
4589 build?, build_decl): Declare.
4590 * tree.h (make_node_stat, copy_node_stat, make_tree_vec_stat,
4591 build_tree_list_stat, tree_cons_stat, build?_stat, build_decl_stat):
4592 Declare.
4593 (make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
4594 build?, build_decl): New macros.
4595 * Makefile.in (RTL_H, TREE_H): Add statistics.h dependency.
4596 * statistics.h: New file.
4597
6ba7b547
MR
45982004-03-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
4599 Richard Sandiford <rsandifo@redhat.com>
4600
4601 * config/mips/mips.h (MASK_FIX_SB1): Bump.
4602 (MASK_FIX_R4400, TARGET_FIX_R4400): New macros.
4603 (TARGET_SWITCHES): Add -mfix-r4400 and -mno-fix-r4400.
4604 * config/mips/mips.c (mips_output_division): Fill the branch delay
4605 slot with a nop if TARGET_FIX_R4000. Extend R4000 workarounds to
4606 TARGET_FIX_R4400.
4607 (mips_output_division): Adjust accordingly.
4608 (override_options): Make -march=r4400 imply -mfix-r4400 by default.
4609 * doc/invoke.texi: Document -mfix-r4400 and new errata workarounds.
4610
ec8e098d
PB
46112004-03-03 Paolo Bonzini <bonzini@gnu.org>
4612
4613 * alias.c (rtx_equal_for_memref_p): Use predicates
4614 to test rtx classes and new rtx class codes, possibly
4615 splitting conditionals that tested against '<' and 'o'.
4616 * caller-save.c (save_call_clobbered_regs): Likewise.
4617 * combine.c (contains_muldiv, find_split_point, subst,
4618 combine_simplify_rtx, simplify_if_then_else,
4619 simplify_set, simplify_logical, expand_compound_operation,
4620 make_compound_operation, if_then_else_cond, known_cond,
4621 apply_distributive_law, cached_nonzero_bits,
4622 cached_num_sign_bit_copies, simplify_shift_const,
4623 gen_binary, simplify_comparison, update_table_tick,
4624 record_value_for_reg, get_lsat_value_validate): Likewise.
4625 * cse.c (mention_regs, find_best_addr, find_comparison_args,
4626 fold_rtx, cse_insn, invalidate_memory, cse_basic_block):
4627 Likewise.
4628 * emit-rtl.c (copy_insn_1): Likewise.
4629 * expr.c (force_operand): Likewise.
4630 * final.c (final_scan_insn, get_mem_expr_from_op): Likewise.
4631 * flow.c (notice_stack_pointer_modification_1,
4632 invalidate_mems_from_autoinc, ior_reg_cond, not_reg_cond,
4633 and_reg_cond, elim_reg_cond): Likewise.
4634 * function.c (update_epilogue_consts): Likewise.
4635 * genattrtab.c (attr_rtx_1): Likewise.
4636 * genopinit.c (gen_insn): Likewise.
4637 * integrate.c (subst_constants): Likewise.
4638 * jump.c (reversed_comparison_code_parts,
4639 reversed_comparison_code, delete_related_insns,
4640 rtx_renumbered_equal_p): Likewise.
4641 * local-alloc.c (block_alloc): Likewise.
4642 * loop.c (rtx_equal_for_prefetch_p, maybe_eliminate_biv,
4643 canonicalize_condition): Likewise.
4644 * loop-iv.c (simplify_using_conditions, iv_number_of_iterations):
4645 Likewise.
4646 * optabs.c (add_equal_node, expand_binop): Likewise.
4647 * predict.c (estimate_probability): Likewise.
4648 * ra-debug.c (ra_print_rtx_2op, ra_print_rtx): Likewise.
4649 * recog.c (validate_replace_rtx_1, comparison_operator,
4650 offsettable_address_p, constrain_operands): Likewise.
4651 * reg-stack.c (swap_rtx_condition_1, subst_stack_regs_pat):
4652 Likewise.
4653 * regclass.c (scan_one_insn): Likewise.
4654 * regmove.c (stable_and_no_regs_but_for_p): Likewise.
4655 * regrename.c (kill_autoinc_value): Likewise.
4656 * reload.c (find_reusable_reload, find_reloads,
4657 reg_overlap_mentioned_for_reload_p): Likewise.
4658 * reload1.c (gen_reload, delete_address_reloads_1): Likewise.
4659 * rtl.c (copy_rtx): Likewise.
4660 * rtl.h (CONSTANT_P, INSN_P): Likewise.
4661 * rtlanal.c (commutative_operand_precedence): Likewise.
4662 * sched-deps.c (conditions_mutex_p): Likewise.
4663 * sched-rgn.c (is_cfg_nonregular): Likewise.
4664 * simplify-rtx.c (simplify_gen_binary,
4665 simplify_gen_relational, simplify_replace_rtx,
4666 simplify_unary_operation, simplify_binary_operation,
4667 simplify_ternary_operation, simplify_rtx): Likewise.
4668 * unroll.c (reg_dead_after_loop): Likewise.
4669 * config/alpha/alpha.c (alpha_swapped_comparison_operator,
4670 print_operand): Likewise.
4671 * config/arc/arc.c (proper_comparison_operator): Likewise.
4672 * config/arm/arm.c (arm_arm_address_cost, arm_select_cc_mode):
4673 Likewise.
4674 * config/avr/avr.c (_reg_unused_after): Likewise.
4675 * config/frv/frv.c (frv_ifcvt_modify_tests,
4676 frv_ifcvt_modify_insn, frv_pack_insn): Likewise.
4677 * config/i386/i386.c (ix86_comparison_operator,
4678 ix86_carry_flag_operator, fcmov_comparison_operator,
4679 arith_or_logical_operator, print_operand,
4680 ix86_expand_binary_operator, ix86_binary_operator_ok):
4681 Likewise.
4682 * config/i386/i386.md: Likewise.
4683 * config/ia64/ia64.c (not_postinc_memory_operand,
4684 ia64_print_operand, update_set_flags, errata_emit_nops):
4685 Likewise.
4686 * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS,
4687 CONSTRAINT_OK_FOR_S): Likewise.
4688 * config/ip2k/ip2k.c (mdr_resequence_xy_yx,
4689 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
4690 ip2k_xexp_not_uses_reg_for_mem, ip2k_xexp_not_uses_reg_p,
4691 ip2k_composite_xexp_not_uses_reg_p, ip2k_unary_operator):
4692 Likewise.
4693 * config/iq2000/iq2000.c (cmp_op, symbolic_expression_p,
4694 eqne_comparison_operator, signed_comparison_operator):
4695 Likewise.
4696 * config/mips/mips.c (cmp_op, symbolic_expression_p):
4697 Likewise.
4698 * config/mmix/mmix (mmix_foldable_comparison_operator,
4699 mmix_comparison_operator): Likewise.
4700 * config/pa/pa.c (hppa_legitimize_address): Likewise.
4701 * config/rs6000/rs6000.c (stmw_operation,
4702 branch_comparison_operator, trap_comparison_operator,
4703 ccr_bit): Likewise.
4704 * config/rs6000/rs6000.h (SELECT_CC_MODE): Likewise.
4705 * config/s390/s390.c (s390_alc_comparison,
4706 s390_slb_comparison):L Likewise.
4707 * config/sh/sh.c (gen_block_redirect, reg_unused_after):
4708 Likewise.
4709 * config/sparc/sparc.c (eq_or_neq, normal_comp_operator,
4710 noov_compare_op, noov_compare64_op, v9_regcmp_op,
4711 emit_hard_tfmode_operation, reg_unused_after)
4712 * doc/md.texi, doc/rtl.texi: Likewise.
4713
4714 * ra-debug.c: Add 2004 to list of copyright years.
4715 * unroll.c: Likewise.
4716
4717 * combine.c (simplify_logical): Remove dummy test,
4718 (apply_distributive_law): Fix typo in comment.
4719 GET_CODE (x) == AND so x is a commutative binary op.
4720 * jump.c (delete_related_insns): simplify loop
4721 condition, move testing of RTX codes inside the loop.
4722 (rtx_renumbered_equal_p): do not use RTX_CODE.
4723 * rtl.c (rtx_class): Declare as enum rtx_class.
4724 * rtl.def (EQ, NE, UNEQ, LTGT, UNORDERED, ORDERED):
4725 Move to RTX_COMM_COMPARE class.
4726 (HIGH, SYMBOL_REF, LABEL_REF, CONST, CONST_INT, CONST_DOUBLE):
4727 Move to RTX_CONST_OBJ class.
4728 * rtl.h (enum rtx_class): New declaration,
4729 (RTX_OBJ_MASK, RTX_OBJ_RESULT, RTX_COMPARE_MASK,
4730 RTX_COMPARE_RESULT, RTX_ARITHMETIC_MASK, RTX_ARITHMETIC_RESULT,
4731 RTX_BINARY_MASK, RTX_BINARY_RESULT, RTX_COMMUTATIVE_MASK,
4732 RTX_COMMUTATIVE_RESULT, RTX_NON_COMMUTATIVE_RESULT,
4733 RTX_EXPR_FIRST, RTX_EXPR_LAST, UNARY_P, BINARY_P,
4734 ARITHMETIC_P, COMMUTATIVE_ARITHMETIC_P, COMPARISON_P,
4735 SWAPPABLE_OPERANDS_P, NON_COMMUTATIVE_P, COMMUTATIVE_P,
4736 OBJECT_P): New macros.
4737 * config/sparc/sparc.c (noov_compare_op): Remove register
4738 from parameter.
4739
a841ab8b
KH
47402004-03-03 Kazu Hirata <kazu@cs.umass.edu>
4741
4742 * target.h: Remove texi jargons in comments.
4743
cb36ddba
KH
47442004-03-02 Kazu Hirata <kazu@cs.umass.edu>
4745
4746 * config/h8300/lib1funcs.asm (___fixunssfsi): Change the
4747 threshold to 0x4f.
4748
4749 Revert:
4750 2004-02-27 Kazu Hirata <kazu@cs.umass.edu>
4751 * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
4752 as well.
4753 * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
4754 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
4755
66c87bae
KH
47562004-03-02 Kazu Hirata <kazu@cs.umass.edu>
4757
4758 * doc/md.texi (cbranchmode4): New.
4759
91e01231
EC
47602004-03-02 Eric Christopher <echristo@redhat.com>
4761
4762 * config/mips/mips16.S: Change fixsfsi and fixdfsi to
4763 fix_trunc.
4764 * config/mips/mips.c (mips_init_libfuncs): Change accordingly.
4765 * config/mips/t-elf (LIB1ASMFUNCS): Ditto.
4766 * config/mips/t-isa3264 (LIB1ASMFUNCS): Ditto.
4767 * config/mips/t-r3900 (LIB1ASMFUNCS): Ditto.
4768
27ab3e91
RH
47692004-03-02 Richard Henderson <rth@redhat.com>
4770
3205a71e
ZW
4771 PR middle-end/11767
4772 * coverage.c (coverage_counter_ref): Set MEM_NOTRAP_P.
4773 * optabs.c (prepare_cmp_insn): Force trapping memories to registers
4774 before the compare, if flag_non_call_exceptions.
27ab3e91 4775
0eadce52
RH
47762004-03-02 Richard Henderson <rth@redhat.com>
4777
4778 PR middle-end/14327
4779 * stmt.c (expand_computed_goto): Do do_pending_stack_adjust before
4780 emitting the label, not after.
4781
de70723b
SC
47822004-03-02 Stephane Carrez <stcarrez@nerim.fr>
4783
4784 * config/m68hc11/m68hc11.c (m68hc11_addr_mode): New variable.
4785 (m68hc11_mov_addr_mode): Likewise.
4786 (m68hc11_override_options): Initialize them based on target.
4787 (register_indirect_p): Allow a MEM for indirect addressing modes and
4788 use flags to control what is allowed.
4789 (m68hc11_small_indexed_indirect_p): Use m68hc11_mov_addr_mode for
4790 supported addressing modes.
4791 (m68hc11_register_indirect_p): Use m68hc11_addr_mode.
4792 (go_if_legitimate_address_internal): Likewise.
4793 (m68hc11_indirect_p): Likewise and check the mode.
4794 (print_operand): Allow a (MEM (MEM)) and generate indirect addressing.
4795
d6da68b9
KH
47962004-03-02 Kazu Hirata <kazu@cs.umass.edu>
4797
4798 * builtins.c (BUILTIN_SETJMP_FRAME_VALUE): Remove.
4799 (expand_builtin_setjmp_setup): Use
4800 targetm.builtin_setjmp_frame_value instead of
4801 BUILTIN_SETJMP_FRAME_VALUE.
4802 * system.h (BUILTIN_SETJMP_FRAME_VALUE): Poison.
4803 * target-def.h (TARGET_BUILTIN_SETJMP_FRAME_VALUE): New.
4804 (TARGET_INITIALIZER): Add TARGET_BUILTIN_SETJMP_FRAME_VALUE.
4805 * target.h (gcc_target): Add builtin_setjmp_frame_value.
4806 * targhooks.c (default_builtin_setjmp_frame_value): New.
4807 * targhooks.h: Add a prototype for
4808 default_builtin_setjmp_frame_value.
4809 * doc/tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Change to
4810 TARGET_BUILTIN_SETJMP_FRAME_VALUE.
4811
d87e83b9
SC
48122004-03-02 Stephane Carrez <stcarrez@nerim.fr>
4813
4814 * config/m68hc11/m68hc11.md (move peephole2): New peepholes to optimize
4815 sequences of moves.
4816 (add peepholes): New peepholes to optimize sequences adding small
4817 constants.
4818 (bset peepholes): New peepholes to transform an OR in a bset form
4819 (bclr peepholes): Likewise for bclr form.
4820 (cmp peepholes): New peepholes to avoid register copies when comparing.
4821
d5111c9c
SC
48222004-03-02 Stephane Carrez <stcarrez@nerim.fr>
4823
4824 * config/m68hc11/m68hc11.md ("*pushdi_internal"): New insn and split
4825 to separate push from moves.
4826 ("*pushdf_internal"): Likewise.
4827 ("*pushsf_internal"): Likewise.
4828 ("*pushsi_internal"): Likewise.
4829 ("movdi_internal"): Use define_insn_and_split; non push operand.
4830 ("movdf_internal"): Likewise.
4831 ("movsf_internal"): Likewise.
4832 ("movsi_internal"): Likewise.
4833 ("*movhi_68hc12", "*addhi3_68hc12"): Fix and tune constraints
4834 ("*addhi3", "*subhi3", "*andhi3_mem", "*iorhi3_mem"): Likewise.
4835 ("*ashlsi3_const1", "*lshrsi3_const1"): Likewise.
4836
9449502d
SC
48372004-03-02 Stephane Carrez <stcarrez@nerim.fr>
4838
4839 * config/m68hc11/m68hc11.md ("tstqi_z_used"): Use define_insn_and_split.
4840 ("cmphi_z_used", "cmpqi_z_used"): Likewise.
4841 ("movstrictsi", "movstricthi", "movstrictqi"): Likewise.
4842 ("anddi3", "andsi3", "iordi3", "iorsi3"): Likewise.
4843 ("xordi3", "xorsi3", "*logicalsi3_zexthi"): Likewise.
4844 ("*logicalsi3_zextqi", "*logicalhi3_zexthi_ashift8"): Likewise.
4845 ("logicalhi3_zexthi", "*logicalsi3_silshr16"): Likewise.
4846 ("*logicalsi3_silshl16", "*logicalsi3_silshl16_zext"): Likewise.
4847 ("*ashldi3_const32", "*ashldi3_const1", "addsi_silshr16"): Likewise.
4848 ("addsi_andshr16", "*ashlsi3_const16_zexthi"): Likewise.
4849 ("*lshrdi3_const32", "*lshrdi_const1"): Likewise.
4850
b90f3299
SC
48512004-03-02 Stephane Carrez <stcarrez@nerim.fr>
4852
4853 * config/m68hc11/m68hc11.md (SOFT_TMP_REGNUM): Define.
4854 (SOFT_XY_REGNUM): Define.
4855 (cmp split): Use the above instead of hard coded numbers.
4856 (8-bit op split): No need to check the mode; allow Q_REG.
4857 (ashift split): Adjust the first operand if it uses the SP and we
4858 are pushing the shifted value.
4859 (plus shift split): Fix when a source is in register D+X.
4860 ("doloop_end"): Pass dummy arguments to gen_rtx_NE.
4861
77d2a36d
SC
48622004-03-02 Stephane Carrez <stcarrez@nerim.fr>
4863
4864 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix when
4865 comparing with Z register.
4866
f2dca510
ZD
48672004-03-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4868
4869 * cfgloop.h (struct loop_desc): Removed.
4870 (struct loop): Fields simple, desc and has_desc removed.
4871 (simple_loop_p, count_loop_iterations): Declaration removed.
4872 * cfgloopanal.c (struct unmark_altered_insn_data): Removed.
4873 (unmark_altered, blocks_invariant_registers, unmark_altered_insn
4874 blocks_single_set_registers, invariant_rtx_wrto_regs_p_helper,
4875 invariant_rtx_wrto_regs_p, test_for_iteration, constant_iterations,
4876 simple_loop_exit_p, variable_initial_value, variable_initial_values,
4877 simple_condition_p, simple_increment, count_strange_loop_iterations,
4878 inverse, fits_in_mode_p, simple_loop_p, count_loop_iterations):
4879 Removed.
4880 * loop-iv.c (check_simple_exit, find_simple_exit): Update comments.
4881
87ca8b8c
KH
48822004-03-02 Kazu Hirata <kazu@cs.umass.edu>
4883
4884 * genattrtab.c: Don't handle MATCH_INSN.
4885 * genrecog.c: Likewise.
4886 * gensupport.c: Likewise.
4887 * rtl.def (match_insn): Remove.
4888 * doc/md.texi (match_insn, match_insn2): Remove.
4889
bdc2893c
MM
48902004-03-02 Mark Mitchell <mark@codesourcery.com>
4891
4892 * doc/c-tree.texi (DECL_ASSEMBLER_NAME): Mention that using this
4893 macro results in memory allocation.
4894
2de2f846
DB
48952004-03-02 David O'Brien <obrien@FreeBSD.org>
4896
4897 * config/freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add.
4898 * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Define
4899 %(fbsd_dynamic_linker),
4900 (LINK_SPEC): Use %(fbsd_dynamic_linker), and sync style with
4901 config/i386/freebsd.h
4902 * config/arm/freebsd.h: Ditto.
4903 * config/i386/freebsd.h: Ditto.
4904 * config/i386/freebsd64.h: Ditto.
4905 * config/ia64/freebsd.h: Ditto.
4906 * config/rs6000/sysv4.h: Ditto.
4907 * config/sparc/freebsd.h: Ditto.
4908
f08dc6c1
LR
49092004-03-02 Loren James Rittle <ljrittle@acm.org>
4910
4911 * gcc/doc/install.texi (*-*-freebsd*): Update target information.
4912
c24938d4
KH
49132004-03-02 Kazu Hirata <kazu@cs.umass.edu>
4914
4915 * rtl.def (define_combine): Remove.
4916
ba29f5de
KH
49172004-03-02 Kazu Hirata <kazu@cs.umass.edu>
4918
4919 * config/h8300/h8300.md: Tweak formatting.
4920
a5a0ab45
KH
49212004-03-02 Kazu Hirata <kazu@cs.umass.edu>
4922
4923 * config/h8300/h8300.md (*cmphi_h8300): Rename to
4924 *cmphi_h8300_znvc.
4925 (*cmphi_h8300hs): Rename to *cmphi_h8300hs_znvc.
4926
e451301f
MM
49272004-03-01 Mark Mitchell <mark@codesourcery.com>
4928
4929 PR bootstrap/14356
4930 * gcc.c (process_command): Remove const-qualification from argv.
4931 (main): Likewise.
4932
b698e58b
KH
49332004-03-02 Kazu Hirata <kazu@cs.umass.edu>
4934
4935 * config/h8300/h8300.md (pushqi1_h8300hs): Rename to
4936 pushqi1_h8300hs_advanced. Adjust its caller.
4937 (pushhi1_h8300hs): Rename to pushhi1_h8300hs_advanced.
4938 Adjust its caller.
4939
a5c40cfb 49402004-03-02 Nicolas Roche <roche@act-europe.fr>
3a41db81
NR
4941
4942 * Makefile.in (install-libgcc, install-multilib): Pass
4943 mkinstalldirs var to libgcc.mk.
4944
fdf89bf5
KH
49452004-03-01 Kazu Hirata <kazu@cs.umass.edu>
4946
4947 * system.h (DBX_OUTPUT_STANDARD_TYPES): Poison.
4948 * doc/tm.texi (DBX_OUTPUT_STANDARD_TYPES): Remove.
4949
0e26895c
KH
49502004-03-01 Kazu Hirata <kazu@cs.umass.edu>
4951
4952 * config/h8300/h8300.c (gtle_operator): Accept GT and LE.
4953 * config/h8300/h8300.md: Split several peephole2's, each into
4954 two.
4955
738ed977
ZD
49562004-03-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4957
4958 * dominance.c (recount_dominator): Handle postdominators.
4959
e245bd81
RS
49602004-03-01 Richard Sandiford <rsandifo@redhat.com>
4961
4962 * config/mips/mips-protos.h (enum mips_symbol_type): Move from mips.h.
4963 (NUM_SYMBOL_TYPES): Likewise.
4964 (SYMBOL_64_HIGH, SYMBOL_64_MID, SYMBOL_64_LOW): New symbol types.
4965 (mips_unspec_address): Declare.
4966 (mips_gotoff_page, mips_gotoff_global): Delete.
4967 * config/mips/mips.h (PREDICATE_CODES): Add general_symbolic_operand.
4968 * config/mips/mips.c (enum mips_symbol_type, NUM_SYMBOL_TYPES): Delete.
4969 (mips_symbolic_constant_p, mips_symbolic_address_p)
4970 (mips_symbol_insns): Handle new symbol types.
4971 (general_symbolic_operand): New predicate.
4972 (mips_unspec_address): Make extern.
4973 (mips_gotoff_page, mips_gotoff_global): Delete.
4974 (override_options): Allow -mabi=64 -mno-abicalls -mexplicit-relocs.
4975 Handle new symbol types.
4976 * config/mips/mips.md (*lea_high64, *lea64): New patterns.
4977 (*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_disp[sd]i): Call
4978 mips_unspec_address directly.
4979 * doc/invoke.texi: Remove the -mabi=64 -mno-abicalls exception from
4980 the documentation of -mexplicit-relocs.
4981
9bf793f9
JL
49822004-03-01 Jeff Law <law@redhat.com>
4983
4984 * fold-const.c (fold): An equality comparison of a non-weak object
4985 against zero has a known result. Similarly an equality comparison
4986 of the address of two non-weak, unaliased symbols has a known result.
91e01231 4987
9bf793f9
JL
4988 * ggc-page.c (struct page_entry): New field PREV.
4989 (ggc_alloc): Update PREV field appropriately.
4990 (sweep_pages): Likewise.
4991 (ggc_free): Likewise. Use PREV field rather than loop to
4992 improve ggc_free performance.
91e01231 4993
c9e0ce37
RS
49942004-03-01 Richard Sandiford <rsandifo@redhat.com>
4995
4996 * config/mips/mips.c (mips_output_division): Use the division
4997 instruction to fill the delay slot of a zero check.
4998 (mips_idiv_insns): Adjust accordingly.
4999
65d151a7
NN
50002004-03-01 Nathanael Nerode <neroden@gcc.gnu.org>
5001
5002 * config.gcc: Create a default tmake_file for linux, and use
5003 it in all but two linux clauses. Comment those two.
5004
9a5a17f3
PB
50052004-03-01 Paolo Bonzini <bonzini@gnu.org>
5006
5007 * combine.c (try_combine): Do not refer to is_replaced.
5008 (gen_lowpart_for_combine): Perverse subregs now have a
5009 more politically correct name.
5010 * cse.c (cse_insn): Likewise.
5011 * jump.c: Fix bogus reference to delete_insn.
5012
c5b6f18e
MM
50132004-02-29 Mark Mitchell <mark@codesourcery.com>
5014
5bb2ed2c
MM
5015 PR debug/14328
5016 * dwarf2out.c (gen_enumeration_type_die): Output all enumeration
5017 constants as signed values.
5018
c5b6f18e
MM
5019 PR middle-end/13448
5020 * c-tree.h (readonly_warning): Rename to ...
5021 (readonly_error): ... this.
5022 * c-typeck.c (build_unary_op): Adjust accordingly.
5023 (readonly_warning): Rename to ...
5024 (readonly_error): ... this and issue errors, not warnings.
5025 (build_modify_expr): Call readonly_error, not readonly_warning.
5026 (c_expand_asm_operands): Likewise.
5027 * tree-inline.c (optimize_inline_calls): Do not inline functions
5028 after errors have occurred.
5029
8bb915b6
NN
50302004-02-29 Nathanael Nerode <neroden@gcc.gnu.org>
5031
5032 * configure.ac: Rearrange some threading code for clarity;
5033 add section comment.
5034 * configure: Regenerate.
5035
4ee31f1e
KH
50362004-02-29 Kazu Hirata <kazu@cs.umass.edu>
5037
5038 * passes.c, config/frv/frv.c, config/sh/sh.c: Fix comment
5039 typos.
5040 * doc/cppopts.texi: Fix a typo.
5041
15ec19b9
KH
50422004-02-29 Kazu Hirata <kazu@cs.umass.edu>
5043
5044 * config/i386/i386.md: Fix formatting.
5045
cbff2c1c
NN
50462004-02-29 Nathanael Nerode <neroden@gcc.gnu.org>
5047
630327c3
NN
5048 * configure.ac: Add some comments delineating sections of code.
5049
38fe9090
NN
5050 * doc/install.texi: Note that libada uses autoconf 2.57 also.
5051
42fce956
NN
5052 * doc/install.texi: Fix idiot typo in previous commit.
5053
cbff2c1c
NN
5054 * doc/install.texi: Update for conversion of intl to autoconf 2.57.
5055
c8574b54
KH
50562004-02-29 Kazu Hirata <kazu@cs.umass.edu>
5057
5058 * config/h8300/h8300.md: Add comments about peephole2's.
5059
2f537af9
KH
50602004-02-29 Kazu Hirata <kazu@cs.umass.edu>
5061
5062 * config/h8300/h8300.md: Tweak operand numbers of some
5063 peephole2's.
5064
a207f649
KH
50652004-02-29 Kazu Hirata <kazu@cs.umass.edu>
5066
5067 * config/h8300/h8300.md: Tweak comments about peephole2's.
5068
bc41842b
RS
50692004-02-29 Waldek Hebisch <hebisch@math.uni.wroc.pl>
5070
5071 PR middle-end/14203
5072 * function.c (uninitialized_vars_warning): Use DECL_RTL_SET_P
5073 instead of testing whether DECL_RTL is not NULL.
5074
832a3292
KH
50752004-02-28 Kazu Hirata <kazu@cs.umass.edu>
5076
5077 * config/sh/sh.c: Fix formatting.
5078
508ea1c5
KH
50792004-02-28 Kazu Hirata <kazu@cs.umass.edu>
5080
5081 * config/sh/sh.c: Convert to ISO-C.
5082
dd833c7b 50832004-02-28 Andrew Pinski <pinskia@physics.uc.edu>
91e01231 5084
8cd6bdd1
AP
5085 * c-typeck.c (tagged_types_tu_compatible_p): Fix pasto in
5086 my previous patch.
dd833c7b
AP
5087
5088 * config/darwin.h (machopic_finish): Output stub even if the
5089 symbol is already defined.
5090
5f190838
JDA
50912004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5092
5093 * pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg.
5094
c1a41c2f
KH
50952004-02-28 Kazu Hirata <kazu@cs.umass.edu>
5096
5097 * genattr.c (main): Don't define
5098 TRADITIONAL_PIPELINE_INTERFACE or DFA_PIPELINE_INTERFACE.
5099 * system.h (TRADITIONAL_PIPELINE_INTERFACE): Poison.
5100 (DFA_PIPELINE_INTERFACE): Likewise.
5101 * doc/tm.texi (TRADITIONAL_PIPELINE_INTERFACE): Remove.
5102 (DFA_PIPELINE_INTERFACE): Likewise.
5103
757f9053
RS
51042004-02-28 Richard Sandiford <rsandifo@redhat.com>
5105
5106 * config/mips/mips.md (tstsi, tstdi): Delete.
5107
23cf6987
MR
51082004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
5109
91e01231 5110 * config/mips/mips.c (override_options): Remove an obsolete
23cf6987
MR
5111 duplicate definition of the "e" constraint.
5112 * config/mips/mips.h: Update a comment accordingly.
5113
bddbfe5f
MR
51142004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
5115
5116 * config/mips/mips.md: Complete the unfinished R4000
5117 multiply/shift errata workaround. Improve documentation.
5118 (hazard): Use TARGET_FIX_R4000 to decide whether an "imul" instruction
5119 has a hilo hazard.
5120 (mulsi3, mulsi3_internal, mulsi3_r4000): Use TARGET_FIX_R4000.
5121 (muldi3, muldi3_internal): Likewise.
5122 (muldi3_internal2): Remove, replacing with...
5123 (muldi3_mult3, muldi3_r4000): ...these new patterns.
5124 (mulsidi3): Take the errata into account.
5125 (mulsidi3_32bit): Remove, replacing with...
5126 (mulsidi3_32bit_internal, mulsidi3_32bit_r4000): ...these new patterns.
5127 (mulsidi3_64bit, mulsidi3_64bit_parts): Disable if TARGET_FIX_R4000.
5128 (umulsidi3): Take the errata into account.
5129 (umulsidi3_32bit): Remove, replacing with..
5130 (umulsidi3_32bit_internal, umulsidi3_32bit_r4000): ...these patterns.
5131 (umulsi3_highpart, umulsi3_highpart_internal): Disable if
5132 TARGET_FIX_R4000.
5133 (smulsi3_highpart, smulsi3_highpart_internal): Likewise.
5134 (smuldi3_highpart, umuldi3_highpart): Likewise.
5135 * doc/invoke.texi: Document the errata workaround.
5136
46490403
MR
51372004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
5138
5139 * config/mips/mips-protos.h (mips_idiv_insns): Declare.
5140 * config/mips/mips.h (MASK_FIX_SB1): Bump.
5141 (MASK_FIX_R4000, TARGET_FIX_R4000): New macros.
5142 (TARGET_SWITCHES): Add -mfix-r4000 and -mno-fix-r4000.
5143 * config/mips/mips.c (mips_idiv_insns): New function.
5144 (override_options): Make -march=r4000 imply -mfix-r4000 by default.
5145 (mips_output_division): Add a workaround for the R4000 divide/shift
5146 errata.
5147 * config/mips/mips.md (length): Use mips_idiv_insns() to calculate
5148 the length of an "idiv" instruction.
5149 * doc/invoke.texi: Document the new switches.
5150
1b2c3767
KH
51512004-02-28 Kazu Hirata <kazu@cs.umass.edu>
5152
5153 * doc/tm.texi (IS_COSTLY_DEPENDENCE): Change to
5154 TARGET_SCHED_IS_COSTLY_DEPENDENCE.
5155
79771cc4
ZD
51562004-02-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5157
5158 PR optimization/14229
5159 * cfgrtl.c (rtl_tidy_fallthru_edge): Do not fail for !onlyjump jump.
5160
68a1a5da
EB
51612004-02-28 Eric Botcazou <ebotcazou@act-europe.fr>
5162
5163 * fold-const.c (fold): Strip NOPs that change the signedness
5164 for RSHIFT too. Expand comment.
5165
a10016d3
ILT
51662004-02-27 Ian Lance Taylor <ian@wasabisystems.com>
5167
5168 PR optimization/7871
5169 * flow.c (mark_set_1): Don't add LOG_LINKS for global registers
68a1a5da 5170 from or to call insns.
a10016d3
ILT
5171
51722004-02-27 Eric Botcazou <ebotcazou@libertysurf.fr>
5173
5174 PR optimization/7871
5175 * flow.c (propagate_one_insn): Interpret calls as setting global
5176 registers, not merely clobbering them.
5177
b30e1617 51782004-02-27 Dale Johannesen <dalej@apple.com>
a10016d3 5179
b30e1617
DJ
5180 * config/darwin.c (machopic_output_possible_stub_label): Remove.
5181 config/darwin-protos.h: Ditto.
5182 config/darwin.h: Remove call to it.
5183 * combine.c (distribute_notes): Do not place a REG_DEAD note
5184 when value is both set and used.
5185
bbc51dc2
KH
51862004-02-27 Kazu Hirata <kazu@cs.umass.edu>
5187
5188 * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
5189 as well.
5190 * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
5191 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
5192
dedbabed
AP
51932004-02-27 Andrew Pinski <apinski@apple.com>
5194
5195 * c-typeck.c (tagged_types_tu_compatible_p) <ENUMERAL_TYPE>:
5196 Speedup common case of the type values being in the same order.
5197
b6b979d4
SE
51982004-02-27 Steve Ellcey <sje@cup.hp.com>
5199
5200 * config/ia64/ia64.h (no-inline-float-divide): New option.
5201 * config/ia64/ia64.h (no-inline-int-divide): New option.
5202 * config/ia64/ia64.h (no-inline-sqrt): New option.
5203 (TARGET_DEFAULT): Add MASK_INLINE_FLOAT_DIV_THR to define.
5204 * config/ia64/hpux.h (TARGET_DEFAULT): Ditto.
5205 * config/ia64/ia64.c (ia64_override_options): Modify error
5206 checking for inlined division/sqrt.
5207
88462c42
KH
52082004-02-27 Kazu Hirata <kazu@cs.umass.edu>
5209
5210 * bb-reorder.c, cfgbuild.c, diagnostic.c, explow.c, profile.c,
5211 ra-build.c, read-rtl.c, tracer.c, unwind-dw2-fde-glibc.c,
5212 value-prof.c, config/darwin-protos.h, config/frv/frv-abi.h,
5213 config/i386/pmmintrin.h, config/pa/pa-hpux.h: Update
5214 copyright.
5215
53c428d0
PB
52162004-02-27 Paul Brook <paul@codesourcery.com>
5217
5218 * function.c (assign_parms): Don't count pretend args for alignment.
5219
f6db1481
RH
52202004-02-27 Richard Henderson <rth@redhat.com>
5221
5222 * passes.c: New file.
5223 * Makefile.in (OBJS-common): Add it.
5224 * diagnostic.c (rtl_dump_and_exit): Move decl ...
5225 * flags.h (rtl_dump_and_exit): ... here.
91e01231 5226 * output.h (size_directive_output, last_assemble_variable_decl):
f6db1481
RH
5227 Move from toplev.c.
5228 * rtl.h (reg_alloc): Move from toplev.c.
5229 * toplev.c (HAVE_conditional_execution, DUMPFILE_FORMAT,
5230 struct dump_file_info, enum dump_file_index, dump_file_tbl,
5231 open_dump_file, close_dump_file, rest_of_decl_compilation,
5232 rest_of_type_compilation, rest_of_handle_final,
91e01231 5233 rest_of_handle_delay_slots, rest_of_handle_stack_regs,
f6db1481
RH
5234 rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
5235 rest_of_handle_new_regalloc, rest_of_handle_old_regalloc,
5236 rest_of_handle_regrename, rest_of_handle_reorder_blocks,
5237 rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_regmove,
91e01231 5238 rest_of_handle_tracer, rest_of_handle_if_conversion,
f6db1481
RH
5239 rest_of_handle_if_after_combine, rest_of_handle_web,
5240 rest_of_handle_branch_prob,
5241 rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
91e01231 5242 rest_of_handle_addressof, rest_of_handle_sibling_calls,
f6db1481
RH
5243 rest_of_handle_jump_bypass, rest_of_handle_inlining,
5244 rest_of_handle_null_pointer, rest_of_handle_combine,
5245 rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
91e01231 5246 rest_of_handle_gcse, rest_of_handle_loop_optimize,
f6db1481
RH
5247 rest_of_handle_loop2, rest_of_compilation): Move to passes.c.
5248 (decode_d_option): Use enable_rtl_dump_file.
5249 (compile_file, finalize, do_compile): Move profile+combine+graph
5250 cleanup to finish_optimization_passes.
5251 * toplev.h (init_optimization_passes, finish_optimization_passes,
5252 enable_rtl_dump_file): Declare.
5253
288dc1ea 52542004-02-27 Eric Botcazou <ebotcazou@act-europe.fr>
3205a71e 5255 Roger Sayle <roger@eyesopen.com>
288dc1ea
EB
5256
5257 * fold-const.c (fold): Revert 2004-02-25 change. Use the original
5258 operands to build a tree with swapped operands.
5259 * expr.c (expand_expr_real) <MAX_EXPR>: Consistently use the
5260 'unsignedp' predicate to specify the signedness.
5261
a1105617
KH
52622004-02-27 Kazu Hirata <kazu@cs.umass.edu>
5263
5264 * c-decl.c, c-ppoutput.c, combine.c, cppfiles.c, dwarf2out.c,
5265 expr.c, fold-const.c, gcc.c, haifa-sched.c, loop-iv.c,
5266 params.def, read-rtl.c, rtl.c, rtlanal.c, toplev.c: Fix
5267 comment typos and formatting. Follow spelling conventions.
5268
d095928f
AH
52692004-02-26 Aldy Hernandez <aldyh@redhat.com>
5270
5271 * config/rs6000/rs6000.md: Add fixuns_truncsfsi2 and
5272 fix_truncsfsi2.
5273
5274 * config/rs6000/spe.md: Delete spe_efsctuiz.
5275 Add spe_fixuns_truncsfsi2.
5276 Add spe_fix_truncsfsi2.
91e01231 5277
21526606
EC
52782004-02-26 Eric Christopher <echristo@redhat.com>
5279
5280 * c-lex.c (c_lex_string_translate): New variable.
5281 (lex_string): Use to determine string translation.
5282 * c-pragma.h: Prototype.
5283 * c-parse.in (start_string_translation): New. Set above.
5284 (stop_string_translation): Ditto.
5285 (attribute, attribute_list, asm_def, asm_stmt,
5286 asm_operand): Use above functions.
5287 * cp/parser.c (cp_parser_declaration): Translate strings
5288 unless token is RID_EXTERN. Set c_lex_string_translate
5289 for recursive use.
5290 (cp_parser_asm_definition): Only translate argument strings
5291 to asms.
5292 (cp_parser_asm_operand_list): Ditto.
5293 (cp_parser_attribute_list): Do not translate attribute strings.
5294
e8eebd31
KH
52952004-02-26 Kazu Hirata <kazu@cs.umass.edu>
5296
5297 * stmt.c (expand_start_case_dummy): Remove.
5298 * tree.h: Remove the corresponding prototype.
5299
8f2de5f1
KH
53002004-02-26 Kazu Hirata <kazu@cs.umass.edu>
5301
5302 * builtins.c (apply_args_register_offset): Remove.
5303 * tree.h: Remove the corresponding prototype.
5304
c7924937
KH
53052004-02-26 Kazu Hirata <kazu@cs.umass.edu>
5306
5307 * stor-layout.c (is_pending_size): Remove.
5308 * tree.h: Remove the corresponding prototype.
5309
ca0afc29
KH
53102004-02-26 Kazu Hirata <kazu@cs.umass.edu>
5311
5312 * recog.c (validate_replace_src): Remove.
5313 * recog.h: Remove the corresponding prototype.
5314
6c5caf00
KH
53152004-02-26 Kazu Hirata <kazu@cs.umass.edu>
5316
5317 * calls.c: Don't reference FINAL_REG_PARM_STACK_SPACE or
5318 MAYBE_REG_PARM_STACK_SPACE.
5319 * function.c: Likewise.
5320 * system.h (FINAL_REG_PARM_STACK_SPACE): Poison.
5321 (MAYBE_REG_PARM_STACK_SPACE): Likewise.
5322 * doc/tm.texi (FINAL_REG_PARM_STACK_SPACE): Remove.
5323 (MAYBE_REG_PARM_STACK_SPACE): Likewise.
5324
17fd9cb9
KH
53252004-02-26 Kazu Hirata <kazu@cs.umass.edu>
5326
5327 * c-decl.c (c_expand_deferred_function): Remove.
5328 * c-tree.h: Remove the corresponding prototype.
5329
ec5de8d8
KH
53302004-02-26 Kazu Hirata <kazu@cs.umass.edu>
5331
5332 * postreload.c (reload_cse_move2add): Generate just a PLUS
5333 instead of an entire SET.
5334
5bbeea44
JH
53352004-02-26 Jan Hubicka <jh@suse.cz>
5336
5337 * config.gcc: Add support for nocoma/prescott/pentium-m/pentium3m
5338 /pentium4m.
5339 * i386.c (override_options): Add support for new CPUs.
5340 * i386.h (TARGET_CPU_DEFAULT_NAMES): New names.
5341 (TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_pentium4e): New
5342 constants.
5343 * invoke.texi: Extend documentation of -mtune/-march for new CPUs.
5344
48c0150c
BW
53452004-02-26 Bob Wilson <bob.wilson@acm.org>
5346
5347 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define __xtensa__.
5348
b178305d
EB
53492004-02-26 Eric Botcazou <ebotcazou@act-europe.fr>
5350
5351 * config/sparc/sparc-protos.h (sparc_emit_floatunsdi): Add 'mode'.
5352 (sparc_emit_fixunsdi): New prototype.
5353 * config/sparc/sparc.c (sparc_emit_floatunsdi): Use 'mode' argument.
5354 (sparc_emit_fixunsdi): New function.
5355 * config/sparc/sparc.md (floatunsdisf2): Use 'general_operand' for
5356 operand 1. Pass SFmode to sparc_emit_floatunsdi.
5357 (floatunsdidf2): Use 'general_operand' for operand 1. Pass DFmode
5358 to sparc_emit_floatunsdi.
5359 (fixuns_truncsfdi2): New expander.
5360 (fixuns_truncdfdi2): Likewise.
5361
fb643f64
AM
53622004-02-26 Alan Modra <amodra@bigpond.net.au>
5363
5364 * gcse.c (delete_null_pointer_checks_1): Do not delete CC setter
5365 unless HAVE_cc0.
5366
4a4f95d9
RH
53672004-02-25 Richard Henderson <rth@redhat.com>
5368
5369 * explow.c (force_reg): Call mark_reg_pointer as appropriate.
5370 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't
5371 use (op0-op1) == 0 if op0 is a pointer.
5372 * config/alpha/alpha.md (cmpdi): Use some_operand.
5373 (three comparison combine splits): Remove.
5374
f6a76b9f
RH
53752004-02-25 Richard Henderson <rth@redhat.com>
5376
0d593f31 5377 PR c/12794
f6a76b9f
RH
5378 * c-common.c (handle_alias_attribute): Reject the attribute if
5379 current_function_decl is set.
5380
30500d84
KC
53812004-02-25 Kelley Cook <kcook@gcc.gnu.org>
5382
5383 * config.gcc: Add comment describing extra_gcc_objs.
5384 i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs.
5385 * configure.ac (extra_gcc_objs): New substitution variable.
5386 (host_extra_gcc_objs): Don't substitute.
5387 * configure: Regenerate.
5388 * Makefile.in: Use extra_gcc_objs.
5389
ed80fa2e
KC
53902004-02-25 Kelley Cook <kcook@gcc.gnu.org>
5391
5392 * doc/contrib.texi: Add an entry for myself.
5393
12c3874e
JH
53942004-02-25 Jan Hubicka <jh@suse.cz>
5395
5396 * basic-block.h (make_eh_edge, break_superblocks): Declare.
5397 * cfgbuild.c (make_eh_edge): Make global.
5398 * cfglayout.c (break_superblocks): Likewise; fix memory leak.
5399 * except.c (build_post_landing_pads, connect_post_landing_pads,
5400 dw2_build_landing_pads, sjlj_emit_function_enter,
21526606 5401 sjlj_emit_function_exit, sjlj_emit_dispatch_table,
12c3874e
JH
5402 sjlj_build_landing_pads): Update CFG.
5403 (emit_to_new_bb_before): New function.
5404 (finish_eh_generation): Do not rebuild the CFG.
5405
7b79fe71
JDA
54062004-02-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5407
5408 * config.gcc (hppa*-*-*, parisc*-*-*): Add MASK_BIG_SWITCH to all
5409 target_cpu_default defines.
5410 * pa-hpux.h (TARGET_DEFAULT): Add MASK_BIG_SWITCH to define.
5411 * pa.h (TARGET_DEFAULT): Likewise.
5412
81fbecac
EB
54132004-02-25 Eric Botcazou <ebotcazou@act-europe.fr>
5414
5415 * fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like
5416 comparisons with regard to signedness.
5417
6f5b4f3e
RE
54182004-02-25 Richard Earnshaw <rearnsha@arm.com>
5419
5420 * arm.c (thumb_legitimize_address): New function.
5421 * arm-protos.h: Prototype it.
5422 * arm.h (THUMB_LEGITIMIZE_ADDRESS): Define.
5423 (LEGITIMIZE_ADDRESS): Use it.
5424
4ab51fb5
R
54252004-02-25 J"orn Rennecke <joern.rennecke@superh.com>
5426
5427 * reload1.c (reload): Only spill eliminable register with multiple
5428 adjacent elimination alternatives if all alternatives fail.
5429
e1471c91
RE
54302004-02-25 Richard Earnshaw <rearnsha@arm.com>
5431
5432 * arm.c (arm_legitimate_index_p): For QImode the range of an offset
5433 is -4095...+4095 inclusive.
5434
94b18ec1
EB
54352004-02-25 Eric Botcazou <ebotcazou@libertysurf.fr>
5436
5437 * doc/install.texi (sparc-sun-solaris2* specific notes): Document
5438 the bootstrap failure with Sun CC 5.4 and 5.5.
5439
2e802a6f
KH
54402004-02-24 Kazu Hirata <kazu@cs.umass.edu>
5441
5442 * cse.c (cse_change_cc_mode_insns): Stop at any instruction
5443 which modifies NEWREG.
5444 (cse_condition_code_reg): Update the mode of CC_REG in
5445 CC_SRC_INSN on our own.
5446
89ab2b79
MM
54472004-02-24 Michael Matz <matz@suse.de>
5448
5449 * config/i386/i386.c (ix86_comp_type_attributes): Check for
5450 regparm attributes.
5451
c263766c
RH
54522004-02-24 Richard Henderson <rth@redhat.com>
5453
5454 * toplev.c (dump_file_tbl): Rename from dump_file.
5455 * bb-reorder.c, bt-load.c, cfgcleanup.c, cfglayout.c, cfgloopanal.c,
c53bdcf5 5456 cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c,
c263766c
RH
5457 config/i386/i386.c, config/ia64/ia64.c, config/mips/mips.c,
5458 config/sh/sh.c, cse.c, flow.c, ifcvt.c, loop-iv.c, loop-unroll.c,
5459 loop-unswitch.c, output.h, predict.c, profile.c, ra-build.c,
5460 ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, regrename.c, reload1.c,
5461 toplev.c, tracer.c, value-prof.c, var-tracking.c, web.c:
5462 s/rtl_dump_file/dump_file/g.
5463
dba2921d
AH
54642004-02-24 Aldy Hernandez <aldyh@redhat.com>
5465
3205a71e
ZW
5466 * config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
5467 (spe_fixuns_truncsfsi2): Delete.
dba2921d 5468
3205a71e
ZW
5469 * config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
5470 (fixuns_truncsfsi2): Delete.
dba2921d 5471
173cd571
JZ
54722004-02-24 Josef Zlomek <zlomekj@suse.cz>
5473
5474 PR/14240
5475 * rtlanal.c (replace_label): Fix replacing labels in constant pool.
5476
8db4d7a1
GK
54772004-02-24 Geoffrey Keating <geoffk@apple.com>
5478
5479 * config/darwin.h (TARGET_HAS_F_SETLKW): Define.
5480
896c3aa3
JM
54812004-02-24 Jason Merrill <jason@redhat.com>
5482
5483 * tree.c (check_qualified_type): New fn.
5484 (get_qualified_type): Use it. If type already has the desired
5485 quals, just return it.
5486 * tree.h: Declare it.
896c3aa3 5487
58565a33
SKG
54882003-02-24 Sanjiv Kumar Gupta <sanjivg@noida.hcltech.com>
5489
5490 * target-def.h (TARGET_SCHED_INIT_GLOBAL,
5491 TARGET_SCHED_FINISH_GLOBAL): New macros.
5492
5493 * target.h (md_init_global, md_finish_global): Function
5494 declarations corresponding to new target macros.
5495
5496 * haifa-sched.c (sched_init, sched_finish): Allow target to
5497 call the new schedular hooks.
5498
5499 * flow.c (recompute_reg_usage): Add PROP_DEATH_NOTES flag in
5500 call to update_life_info.
5501
5502 * config/sh/sh.h (OVERRIDE_OPTIONS): Re-enable
5503 flag_schedule_insns for SH4.
5504
5505 * config/sh/sh.c (sh_md_init_global, sh_md_finish_global,
5506 find_set_regmode_weight, find_insn_regmode_weight,
5507 find_regmode_weight), sh_md_init, sh_dfa_new_cycle,
5508 sh_variable_issue, high_pressure, ready_reorder,
5509 rank_for_reorder, swap_reorder, sh_reorder, sh_reorder2): New
5510 functions used to throttle the insn movement in first
5511 scheduling pass for SH.
5512
5513 * gcc/doc/tm.texi: Document TARGET_SCHED_INIT_GLOBAL and
5514 TARGET_SCHED_FINISH_GLOBAL.
5515
34208acf
AO
55162004-02-24 Alexandre Oliva <aoliva@redhat.com>
5517
5518 Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
5519 2004-02-05 Alexandre Oliva <aoliva@redhat.com>
5520 * config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
5521 symbols in sections named by the user.
5522 2004-01-30 Alexandre Oliva <aoliva@redhat.com>
5523 * config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
5524 2004-01-27 Alexandre Oliva <aoliva@redhat.com>
5525 * config.gcc (frv-*-*linux*): Handle like *-*-linux*.
5526 * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
5527 the above.
5528 2004-01-20 Alexandre Oliva <aoliva@redhat.com>
5529 * config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
5530 one more pseudo to further improve code generation.
5531 2004-01-19 Alexandre Oliva <aoliva@redhat.com>
5532 * config/frv/frv.md (movdi_ldd): Introduce explicit indirection
5533 inside UNSPEC.
5534 2004-01-16 Alexandre Oliva <aoliva@redhat.com>
5535 * config/frv/frv.c (frv_legitimate_address_p): Added
5536 allow_double_reg_p argument. Adjust all callers. Use it to
5537 decide whether to enable double-register indirect addressing.
5538 (frv_funcdesc_alias_set): Remove.
5539 (frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
5540 register. Emit movdi_ldd.
5541 (ldd_address_operand): New.
5542 * config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
5543 * config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
5544 (PREDICATE_CODES): Add ldd_address_operand.
5545 * config/frv/frv.md (movdi_ldd): New.
5546 (symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
5547 intermediate computations if possible.
5548 (symGOTOFF2reg_i): Fix harmless typo.
5549 2003-12-18 Alexandre Oliva <aoliva@redhat.com>
5550 * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
5551 relocated p_vaddr to vaddr type.
5552 * config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
5553 * config/frv/frv.c (frv_get_funcdesc_alias_set): New.
5554 (frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
5555 MEM, or use a funcdesc alias set. Use regular move instead of
5556 ldd.
5557 (dbl_memory_one_insn_operand): Recognize function descriptors by
5558 type or by alias set, and don't split them.
5559 * config/frv/frv.md (call, call_value): Never use call_internal
5560 for fdpic.
5561 (call_internal, call_value_internal): Never match for FDPIC.
5562 (call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
5563 call_value_fdpicsi): Require FDPIC.
5564 (ldd): Removed.
5565 2003-12-17 Alexandre Oliva <aoliva@redhat.com>
5566 * config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
5567 * unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
5568 (_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
5569 FDPIC. Compute data base address.
5570 * config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
5571 before the other self-specs are processed.
5572 * config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
5573 Build with -fPIC.
5574 2003-12-15 Alexandre Oliva <aoliva@redhat.com>
5575 * unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
5576 inhibit_libc is defined.
5577 2003-12-12 Alexandre Oliva <aoliva@redhat.com>
5578 * unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
5579 __FRV_FDPIC__.
5580 (__RELOC_POINTER): Define.
5581 (_Unwind_IteratePhdrCallback): Use it.
5582 * config/frv/frv.h (Twrite): Define.
5583 (TRANSFER_FROM_TRAMPOLINE): Use it.
5584 * config/frv/linux.h (INVOKE__main): Undefine.
5585 (Twrite): Override.
5586 2003-12-05 Richard Sandiford <rsandifo@redhat.com>
5587 * doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
5588 (-mlibrary-pic): Emphasize that this option generates EABI code.
5589 (-mcpu): Add fr550.
5590 (-mpack): Remove.
5591 2003-11-30 Alexandre Oliva <aoliva@redhat.com>
5592 * config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
5593 and CONSTs in FDPIC mode.
5594 * gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
5595 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
5596 * config/frv/frv.c (move_source_operand): Don't accept symbolic
5597 constants.
5598 * config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
5599 rather than 'i' constraint for the 2-instruction alternative.
5600 (*movsi_2word): New, incorporating existing int_2word_operand splitter.
5601 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
5602 * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
5603 EXTRA_CONSTRAINT_FOR_Y.
5604 (EXTRA_CONSTRAINT): Remove handling of 'Y'.
5605 * config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
5606 (addsi3): Change 'Y' constraint to 'Q'.
5607 2003-11-27 Richard Sandiford <rsandifo@redhat.com>
5608 * reload.c (CONST_POOL_OK_P): New macro.
5609 (find_reloads): Use it to decide whether a constant can be forced
5610 into memory.
5611 * config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
5612 constant satisfies got12_operand.
5613 (frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
5614 (frv_legitimate_address_p): Check for valid unspec offsets using
5615 got12_operand rather than frv_legitimate_fdpic_operand_p.
5616 (frv_legitimate_fdpic_operand_p): Delete.
5617 (frv_emit_movsi): Abort if we try to use the FDPIC register during
5618 or after reload.
5619 (frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
5620 TARGET_FDPIC.
5621 * config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
5622 2003-11-19 Richard Sandiford <rsandifo@redhat.com>
5623 * config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
5624 (frv_fdpic_fptr_operand): Don't declare here.
5625 * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
5626 rather than fdpic_got12_operand.
5627 (PREDICATE_CODES): Remove symbolic_operand entry. Add entries for
5628 got12_operand and const_unspec_operand.
5629 * config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
5630 (gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
5631 (symbolic_operand): Remove.
5632 (const_unspec_operand): New predicate.
5633 * config/frv/frv.md (*movsi_got): Use got12_operand.
5634 (*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
5635 2003-11-18 Richard Sandiford <rsandifo@redhat.com>
5636 * config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
5637 * config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
5638 * config/frv/frv.c (frv_unspec): New structure.
5639 (frv_small_data_reloc_p, frv_const_unspec_p): New functions.
5640 (frv_print_operand_memory_reference): Use frv_const_unspec_p to
5641 validate CONST indices. Use frv_output_const_unspec to print them.
5642 (frv_print_operand): Update call to unspec_got_name. Use
5643 frv_output_const_unspec to print constant unspecs.
5644 (frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
5645 Reject UNSPECs otherwise.
5646 (unspec_got_name): Take the relocation number as argument, not an
5647 rtx containing it.
5648 (frv_output_addr_const_extra): Remove, replacing with...
5649 (frv_output_const_unspec): ...this new function.
5650 (frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
5651 (gpr_or_int12_operand): Use fdpic_got12_operand.
5652 (dbl_memory_one_insn_operand): Likewise.
5653 (fdpic_got12_operand): Use frv_const_unspec_p.
5654 (frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
5655 are already legitimate. Use frv_small_data_reloc_p when deciding
5656 whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
5657 2003-11-18 Alexandre Oliva <aoliva@redhat.com>
5658 * config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
5659 * config/frv/libgcc-frv.ver: ... frv-specific symbols. New file.
5660 * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
5661 label, for real this time.
5662 * config/frv/frv.c (frv_local_funcdesc_p): Update to new
5663 representation of visibility.
5664 (fdpic_got12_operand, symbolic_operand): Mark unused arguments as
5665 such.
5666 2003-11-17 Richard Sandiford <rsandifo@redhat.com>
5667 * config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
5668 (TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
5669 * config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
5670 it was explicitly disabled.
5671 (frv_stack_info): There is no need to save the link register in every
5672 frame unless TARGET_LINKED_FP is true.
5673 (frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
5674 frame pointer if the stack pointer might change value.
5675 (frv_return_addr_rtx): Check and process "count" argument.
5676 2003-11-14 Richard Sandiford <rsandifo@redhat.com>
5677 * config/frv/frv-protos.h (frv_legitimize_address): Remove.
5678 (frv_find_base_term): Declare.
5679 * config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
5680 (FIND_BASE_TERM): Define.
5681 (PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
5682 small_data_register_operand, small_data_symbolic_operand. Add
5683 symbolic_operand.
5684 * config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
5685 (frv_print_operand_memory_reference, output_move_single): Remove
5686 special handling for unlegitimized sdata addresses.
5687 (frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
5688 and symbolic addresses.
5689 (frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
5690 (frv_find_base_term): New function.
5691 (int_2word_operand): Check specifically for symbolic address constants.
5692 (pic_register_operand, pic_symbolic_operand): Delete.
5693 (small_data_register_operand, small_data_symbolic_operand): Delete.
5694 (dbl_memory_one_insn_operand): Don't call plus_small_data_p.
5695 Allow UNSPEC_GOT constants if !TARGET_FDPIC.
5696 (move_source_operand): Only accept CONSTs if they're a two-insn
5697 symbolic constant.
5698 (fdpic_got12_operand): Don't require TARGET_FDPIC.
5699 (frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
5700 using gen_symGOTOFF2reg*.
5701 (frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
5702 (frv_rtx_costs): Give all MEM addresses a cost of 0. Give MEMs
5703 themselves a cost of 3 insns.
5704 * config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
5705 Change predicate to symbolic_operand.
5706 (*movsi_high_got, *movsi_lo_sum_got): Likewise.
5707 (*movsi_lda_sdata): Delete.
5708 (*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
5709 2003-11-05 Alexandre Oliva <aoliva@redhat.com>
5710 * config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
5711 frv-*-*linux*.
5712 * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
5713 label.
5714 * config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
5715 -multilib-library-pic.
5716 (LINK_SPEC): Add -z text for -mfdpic.
5717 * config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
5718 * config/frv/frvend.c (__ROFIXUP_END__): Likewise.
5719 * config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
5720 Override.
5721 (OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
5722 FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
5723 * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
5724 crtstuff-generated files.
5725 2003-10-31 Alexandre Oliva <aoliva@redhat.com>
5726 * config.gcc: Add frv-*-*linux*.
5727 * config/frv/linux.h, config/frv/t-linux: New.
5728 2003-10-06 Alexandre Oliva <aoliva@redhat.com>
5729 * config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
5730 when -mfdpic even if a linker script is explicitly listed.
5731 2003-10-02 Alexandre Oliva <aoliva@redhat.com>
5732 * config/frv/frv.c (frv_override_options): Clear asm_out
5733 unaligned_op for SImode on FDPIC.
5734 (frv_emit_movsi): Use compute_reloc_for_constant to compute the
5735 argument passed to decl_readonly_section.
5736 (frv_assemble_integer): Revert 2003-09-30's change, but make the
5737 whole block run with FDPIC even with -fno-PIC.
5738 2003-10-02 Alexandre Oliva <aoliva@redhat.com>
5739 * config/frv/frv.c (frv_cannot_force_const_mem): Don't force
5740 symbol or label plus offset to memory.
5741 (frv_emit_movsi): Emit GPREL only if -mgprel-ro. Emit 32-bit
5742 GOTOFF and GPREL for LABEL_REF.
5743 * config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
5744 -mfdpic unless -mno-gprel-ro, -fpic or -fpie.
5745 (MASK_GPREL_RO, TARGET_GPREL_RO): New.
5746 (TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
5747 * doc/invoke.texi: Document them.
5748 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
5749 * config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
5750 (frv_splittable_got_operand): Removed.
5751 * config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
5752 LO_SUM. Add comments.
5753 (frv_override_options): Moved enabling of FDPIC to
5754 DRIVER_SELF_SPECS. Don't enable MASK_DWORD.
5755 (frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
5756 (frv_legitimize_fdpic_address): Don't duplicate logic in
5757 frv_emit_movsi.
5758 (frv_gen_GPsym2reg): New.
5759 (unspec_got_name): Added gprel.
5760 (frv_expand_fdpic_call): Add support for inlining PLTs.
5761 (fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
5762 (gpr_or_int12_operand): Added GPREL12.
5763 (pic_symbolic_operand): Match even if !flag_pic for FDPIC.
5764 (small_data_symbolic_operand): Fail if FDPIC.
5765 (fdpic_splittable_got_operand): Removed.
5766 (fdpic_got12_operand): Added GPREL12.
5767 (frv_emit_movsi): Reorganize to avoid duplication. Emit GPREL
5768 when appropriate. Fix sdata GOTOFF.
5769 (frv_legitimate_constant_p): Require legitimate PIC operand for
5770 FDPIC with pic, but only a legitimate fdpic operand for non-pic.
5771 (frv_assemble_integer): Move FDPIC funcdesc handling out of
5772 flag_pic case.
5773 (frv_asm_out_constructor, frv_asm_out_destructor): Abort if
5774 frv_assemble_integer fails.
5775 * config/frv/frv.h (DRIVER_SELF_SPECS): New.
5776 (SUBTARGET_DRIVER_SELF_SPECS): New.
5777 (ASM_SPEC): Don't pass -mno-fdpic.
5778 (LINK_SPEC): Pass -melf32frvfd for FDPIC.
5779 (MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
5780 (TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
5781 -multilib-library-pic.
5782 (PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
5783 condexec_si_media_operator, condexec_sf_add_operator and
5784 condexec_sf_conv_operator. Removed condexec_sf_binary_operator
5785 and condexec_sf_unary_operator.
5786 * config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
5787 New.
5788 (movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
5789 movsi_internal. Give them internal names. movsi_got has type
5790 int.
5791 (fdpic got splitters): Remove.
5792 (symGPREL2reg, symGPREL2reg_hilo): New.
5793 * config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
5794 to -mlibrary-pic. Map -multilib-library-pic to it.
5795 * doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
5796 Document.
5797 2003-09-28 Alexandre Oliva <aoliva@redhat.com>
5798 * config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
5799 (TARGET_CANNOT_FORCE_CONST_MEM): Define to...
5800 (frv_cannot_force_const_mem): New function.
5801 (const_small_data_p, plus_small_data_p): Update comments on sdata
5802 on FDPIC.
5803 (frv_override_options): Set flag_pie for FDPIC too.
5804 (frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
5805 call-saved registers on FDPIC.
5806 (frv_stack_info): Don't preserve the PIC register on FDPIC, and
5807 don't force LR to be preserved.
5808 (frv_expand_prologue): Likewise.
5809 (frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
5810 (frv_frame_pointer_required): Don't force it just because the
5811 FDPIC register is used.
5812 (frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
5813 operand only if !condexec_p.
5814 (frv_legitimize_address): Return the FDPIC-legitimized address.
5815 Don't match small data here on FDPIC.
5816 (frv_legitimate_fdpic_operand_p): Don't accept unadorned function
5817 symbols. Use TRUE/FALSE instead of 1/0.
5818 (frv_local_funcdesc_p): New.
5819 (frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
5820 immediates when possible.
5821 (pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
5822 (dbl_memory_one_insn_operand): Accept addresses that add a REG and
5823 an UNSPEC_GOT.
5824 (frv_emit_movsi): Handle FDPIC before small data. Use GOTOFF and
5825 12-bit immediates when possible.
5826 (frv_legitimate_constant_p): In FDPIC, reject SImode operands that
5827 are not legitimate pic operands.
5828 (frv_in_small_data_p): Re-enable for FDPIC.
5829 * config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
5830 (FRV_GLOBAL_P): Removed.
5831 * config/frv/frv.md: Add modes to CONSTs.
5832 (movsi_got): New.
5833 (movsi_lo_sum_got): Use separate matches instead of match_dup.
5834 (movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
5835 (fdpic splittable operations): Match on flag_pic != 1.
5836 2003-09-22 Alexandre Oliva <aoliva@redhat.com>
5837 * config/frv/frv.c (frv_asm_out_constructor,
5838 frv_asm_out_destructor): Pass to frv_assemble_integer the size in
5839 bytes, not bits.
5840 2003-09-19 Alexandre Oliva <aoliva@redhat.com>
5841 * config/frv/frv.c (frv_assemble_integer): Reject complex
5842 expressions referencing function SYMBOL_REFs.
5843 * config/frv/frv.c (frv_function_symbol_referenced_p): New.
5844 (move_source_operand): Reject CONSTs that reference function
5845 SYMBOL_REFs on FDPIC.
5846 (frv_emit_movsi): If we get such a CONST, break it up.
5847 * config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
5848 (TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
5849 * config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
5850 MEM.
5851 (frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
5852 (frv_trampoline_size): Increase for FDPIC.
5853 * config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
5854 (TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
5855 * config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
5856 Disable use of GOTOFF for now.
5857 (const_small_data_p, plus_small_data_p, frv_in_small_data_p):
5858 Disable use of small data in FDPIC for now.
5859 (frv_asm_output_mi_thunk): Implement for FDPIC.
5860 * config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
5861 * config/frv/frv.c (frv_asm_out_constructor): Use
5862 frv_assemble_integer for FDPIC pointers.
5863 (frv_asm_out_destructor): Likewise.
5864 * config/frv/frv.md (ldd): Fix order of operands. Use
5865 address_operand for input.
5866 2003-09-18 DJ Delorie <dj@redhat.com>
5867 * config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
5868 (unspec_got_name): Correct typo.
5869 (frv_emit_movsi): Pre-expand splittable GOTs.
5870 (frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
5871 * config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
5872 (symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
5873 * config/frv/t-frv: Add -mfdpic multilibs.
5874 * config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
5875 (TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
5876 * config/frv/frv.c (frv_override_options): -mfdpic assumes
5877 flag_pic, default to 32-bit pics, require DWORD ops.
5878 (frv_override_options): Add W and Z constraints.
5879 (frv_expand_prologue): No pic prologue for -mfdpic.
5880 (frv_asm_output_mi_thunk): Support -mfdpic (soon).
5881 (frv_print_operand_memory_reference): Handle GOT constants.
5882 (frv_legitimate_address_p): Allow GOT constants.
5883 (frv_legitimize_address): Handle GOT addresses too.
5884 (frv_legitimate_fdpic_operand_p): New.
5885 (frv_legitimize_fdpic_address): New.
5886 (unspec_got_name): New.
5887 (frv_output_addr_const_extra): New.
5888 (frv_expand_fdpic_call): New.
5889 (frv_fdpic_fptr_operand): New.
5890 (gpr_or_int12_operand): Handle GOT operands.
5891 (int_2word_operand): Handle GOT operands.
5892 (fdpic_operand): New.
5893 (fdpic_splittable_got_operand): New.
5894 (fdpic_got12_operand): New.
5895 (frv_emit_movsi): Handle GOT operands.
5896 (frv_assemble_integer): -mfdpic doesn't use rofixups.
5897 (frv_print_operand): Support 'g' code for GOT operands.
5898 * config/frv/frv-protos.h: Add prototypes as needed.
5899 * config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
5900 R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
5901 R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
5902 R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
5903 R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
5904 R_FRV_GOTOFFLO): New.
5905 (movsi_high_got, movsi_lo_sum_got): New.
5906 (*movsi_pic): Don't use this splitter for -mfdpic.
5907 (addsi3): Allow GOT references also.
5908 (call, call_value): Handle -mfdpic separately.
5909 (call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
5910 call_value_fdpicsi): New.
5911 (symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
5912 symGOTOFF2reg_i): New.
5913 * config/frv/frv.h (MASK_FDPIC): New.
5914 (TARGET_FDPIC): New.
5915 (TARGET_SWITCHES): Add -mfdpic.
5916 (FDPIC_FPTR_REGNO): New.
5917 (FDPIC_REGNO): New.
5918 (OUR_FDPIC_REG): New.
5919 (enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
5920 FDPIC_CALL_REGS.
5921 (REG_CLASS_NAMES): Likewise.
5922 (REG_CLASS_CONTENTS): Likewise.
5923 (EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
5924 (EXTRA_CONSTRAINT): Add it here.
5925 (FRV_GLOBAL_P): New.
5926 (OUTPUT_ADDR_CONST_EXTRA): New.
5927
7e26b0e3
KH
59282004-02-24 Kazu Hirata <kazu@cs.umass.edu>
5929
5930 * config/sparc/sparc.h: Remove commented-out definitions of
5931 TARGET_EDOM and GEN_ERRNO_RTX.
5932
b57f2e10
KH
59332004-02-24 Kazu Hirata <kazu@cs.umass.edu>
5934
5935 * df.c, df.h, ra-build.c, ra-rewrite.c, ra.c, web.c: Replace
5936 df_analyse with df_analyze.
5937
cb7c3c3f
AM
59382004-02-24 Alan Modra <amodra@bigpond.net.au>
5939
5940 * gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not
5941 beginning of block.
5942
3638733b
JW
59432004-02-23 James E Wilson <wilson@specifixinc.com>
5944
238470bd 5945 * calls.c (precompute_arguments): Update comment.
3638733b 5946
fa0ac78a
KH
59472004-02-23 Kazu Hirata <kazu@cs.umass.edu>
5948
5949 * et-forest.c: Replace et_occurences with et_occurrences.
5950
6d4e0ecc
KH
59512004-02-23 Kazu Hirata <kazu@cs.umass.edu>
5952
5953 * cfgloop.h, loop-iv.c, loop-unswitch.c: Replace iv_analyse
5954 with iv_analyze.
5955
9e200aaf
KC
59562004-02-23 Kelley Cook <kcook@gcc.gnu.org>
5957
5958 * config/i386/i386.c: Rename pni to sse3.
5959 * config/i386/i386.h: Likewise.
3205a71e 5960 * config/i386/i386.md: Likewise.
9e200aaf
KC
5961 * config/i386/pmmintrin.h: Likewise.
5962 * doc/extend.texi: Likewise.
5963 * doc/invoke.texi: Likewise.
5964
3521b33c
ZW
59652004-02-23 Zack Weinberg <zack@codesourcery.com>
5966 Kazu Hirata <kazu@cs.umass.edu>
5967
5968 Remove -fwritable-strings.
5969 * c-common.c (fix_string_type): Don't check
5970 flag_writable_strings.
5971 (fix_string_type): Likewise.
5972 * c-opts.c (set_std_c89): Don't initialize
5973 flag_writable_strings.
5974 (set_std_c99): Likewise.
5975 * common.opt (fwritable-strings): Remove.
5976 * flags.h: Remove the external declaration of
5977 flag_writable_strings.
5978 * opts.c (common_handle_option) <OPT_fwritable_strings>:
5979 Remove.
5980 * toplev.c (flag_writable_strings): Remove.
5981 (f_options): Remove an entry for writable-strings.
5982 * varasm.c (const_hash_1) <STRING_CST>: Don't check
5983 flag_writable_strings.
5984 (compare_constant) <STRING_CST>: Likewise.
5985 (build_constant_desc): Likewise.
5986 * config/darwin.c (machopic_select_section): Likewise.
5987 * config/arm/arm.c (AOF_ASSEMBLER): Likewise.
5988 * config/arm/pe.c (arm_pe_encode_section_info): Likewise.
5989 * config/iq2000/iq2000.c (iq2000_select_section): Likewise.
5990 * config/mips/mips.c (mips_select_section): Likewise.
5991 (mips_encode_section_info): Likewise.
5992 * config/pa/pa.c (pa_select_section): Likewise.
5993 * config/pa/pa.h (TEXT_SPACE_P): Likewise.
5994 * config/v850/v850.c (v850_select_section): Likewise.
5995 * doc/invoke.texi (-fwritable-strings): Remove.
5996 (-fno-const-strings): Don't mention -fwritable-strings.
5997 * doc/trouble.texi: Don't mention -fwritable-strings.
5998
eb6bddf6
NN
59992003-02-23 Nathanael Nerode <neroden@gcc.gnu.org>
6000
6001 * doc/install.texi: Update for switch of boehm-gc to autoconf 2.57.
6002
e0740893
DJ
60032004-02-23 Dale Johannesen <dalej@apple.com>
6004
6005 * config/rs6000.md (movsf_hardfloat): Add POWER form of nop.
6006 (movdf_hardfloat64): Ditto.
6007 (movdf_softfloat64): Ditto.
6008
e91fa876 60092004-02-23 Fariborz Jahanian <fjahanian@apple.com>
3205a71e 6010 * config/rs6000/rs6000.c (function_arg): call to
e91fa876 6011 rs6000_mixed_function_arg for DFmode moved to allow
21526606 6012 normal DFmode incoming register assignment.
e91fa876 6013
ae6669e7
DJ
60142004-02-23 Dale Johannesen <dalej@apple.com>
6015
6016 * config/rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy.
6017 (movdf_hardfloat64): Ditto.
6018
2a9f2ad3
KH
60192004-02-23 Kazu Hirata <kazu@cs.umass.edu>
6020
6021 * convert.c, gcov-io.c, libgcov.c, sched-int.h, sibcall.c,
6022 config/rs6000/linux.h, config/rs6000/rs6000-c.c: Update
6023 copyright.
6024
aa5fa0fc
AP
60252004-02-23 Andrew Pinski <pinskia@physics.uc.edu>
6026
a2f1f4c3
AP
6027 PR c/14156
6028 * c-typeck.c (c_expand_return): Change check for VAR_DECL
6029 to use DECL_P instead.
6030
aa5fa0fc
AP
6031 * config/rs6000/linux.h (OS_MISSING_POWERPC64): Define.
6032 * config/rs6000/linux64.h (OS_MISSING_POWERPC64): Define.
6033
221ee7c9
KH
60342004-02-23 Kazu Hirata <kazu@cs.umass.edu>
6035
6036 * Makefile.in (opts.o): Depend on target.h.
6037 * opts.c (decode_options): Use targetm.default_short_enums
6038 instead of DEFAULT_SHORT_ENUMS.
6039 * system.h (DEFAULT_SHORT_ENUMS): Poison.
6040 * target-def.h (TARGET_DEFAULT_SHORT_ENUMS): New.
6041 (TARGET_INITIALIZER): Add TARGET_DEFAULT_SHORT_ENUMS.
6042 * target.h (gcc_target): Add default_short_enums.
6043 * config/cris/cris.h: Remove a comment about
6044 DEFAULT_SHORT_ENUMS.
6045 * config/ip2k/ip2k.h: Likewise.
6046 * doc/tm.texi (DEFAULT_SHORT_ENUMS): Change to
6047 TARGET_DEFAULT_SHORT_ENUMS. Update the description.
6048
bba745c1 60492004-02-23 Eric Botcazou <ebotcazou@libertysurf.fr>
3205a71e 6050 Falk Hueffner <falk@debian.org>
bba745c1
EB
6051
6052 PR c/14188
6053 * builtins.c (expand_builtin_va_arg): Emit an informative message
6054 if a trap is generated.
6055 * c-typeck.c (build_function_call): Likewise.
6056
c2cd64b5
JJ
60572004-02-22 Jakub Jelinek <jakub@redhat.com>
6058
6059 * gcov-io.c (gcov_open) [GCOV_LOCKED]: Use open + fdopen instead of
6060 fopen.
6061 * libgcov.c: Include sys/stat.h.
6062 * config/rs6000/linux.h (TARGET_HAS_F_SETLKW): Define.
6063 * config/rs6000/linux64.h (TARGET_HAS_F_SETLKW): Define.
6064 * config/sparc/linux.h (TARGET_HAS_F_SETLKW): Define.
6065 * config/sparc/linux64.h (TARGET_HAS_F_SETLKW): Define.
6066
fcfcb20e
KH
60672004-02-22 Kazu Hirata <kazu@cs.umass.edu>
6068
6069 * reorg.c: Remove comments about dead ports.
6070
56d03a40
CF
60712004-02-22 Christopher Faylor <cgf@redhat.com>
6072
6073 * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify
6074 extra host object file when targetting cygwin rather than generic
6075 object files.
6076
5e20bdd7
JZ
60772004-02-22 Josef Zlomek <zlomekj@suse.cz>
6078
6079 Merge from tree-ssa:
6080 2003-11-20 Richard Henderson <rth@redhat.com>
6081
6082 * tree-inline.c (insert_decl_map): New.
6083 (remap_decl, remap_type, remap_block, copy_body_r,
6084 initialize_inlined_parameters, declare_return_variable,
6085 remap_save_expr): Use it.
6086
6087 * function.c (copy_body_r): Add mapping from id->ret_label to
6088 id->ret_label. Revert test for ret_label.
6089
4112be4a
JJ
60902004-02-22 Jakub Jelinek <jakub@redhat.com>
6091
6092 * genoutput.c (process_template): Strip trailing whitespace in @
6093 templates and issue a warning if there was any.
6094
3a6efa98 60952004-02-21 Christopher Faylor <cgf@redhat.com>
dc4a2f32
CF
6096
6097 * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host
6098 object file when targetting cygwin.
6099 * config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is
6100 overridden by top-level Makefile.
6101
22cc69c4
RS
61022004-02-21 Roger Sayle <roger@eyesopen.com>
6103
6104 * config/i386/i386.c (standard_80387_constant_p): Also prefer
6105 the x87's load constant instructions when optimizing for size.
6106
bee07d3f
KH
61072004-02-21 Kazu Hirata <kazu@cs.umass.edu>
6108
6109 * combine.c (SHIFT_COUNT_TRUNCATED): Remove.
6110 * defaults.h (SHIFT_COUNT_TRUNCATED): Provide the default.
6111 * expmed.c: Assume SHIFT_COUNT_TRUNCATED is always defined.
6112 * fold-const.c: Likewise.
6113 * simplify-rtx.c: Likewise.
6114
da6fdad3
AM
61152004-02-21 Alan Modra <amodra@bigpond.net.au>
6116
6117 * combine.c (can_combine_p): Don't ignore SETs marked with
6118 REG_EH_REGION notes.
6119 (try_combine): When attemting to fix unrecognized insns, don't
6120 split a PARALLEL that contains the original i2.
6121
8bb418a3
ZL
61222004-02-21 Ziemowit Laski <zlaski@apple.com>
6123
6124 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to
6125 SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options.
6126 * config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Define it.
6127 * config/rs6000/altivec.h: #error out if '-maltivec' not specified.
6128 (vector, pixel, bool): #define to __vector, __pixel and __bool.
6129 (__un_args_eq, __bin_args_eq, __tern_args_eq): Move to C-specific
6130 portion of header.
6131 (__altivec_link_error_invalid_argument): Remove prototype; will use
6132 __builtin_altivec_compiletime_error("vec_*") instead.
6133 (vec_*): Fix/complete set of available operation overloads given the
6134 existence of distinct 'vector bool ...' and 'vector pixel' types; tighten
6135 cv-correctness of pointer arguments; in C, always check for correct
6136 argument types before macro expansion.
6137 * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): New macro
6138 defining Darwin/PowerPC-specific '-f[no-]altivec' and
6139 '-W[no-]altivec-long-deprecated' switches.
6140 * config/rs6000/rs6000-c (rs6000_cpu_cpp_builtins): Pre-define
6141 '__vector', '__pixel' and '__bool' macros using
6142 '__attribute__((altivec(...)))' types.
6143 * config/rs6000/rs6000.c (bool_char_type_node, bool_short_type_node,
6144 bool_int_type_node, pixel_type_node, bool_V16QI_type_node,
6145 bool_V8HI_type_node, bool_V4SI_type_node, pixel_V8HI_type_node):
6146 New type nodes.
6147 (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): New, for
6148 handling '-W[no-]altivec-long-deprecated'.
6149 (rs6000_override_options): Handle '-W[no-]altivec-long-deprecated'.
6150 (rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin,
6151 altivec_expand_dst_builtin): Remove casts from integer literals.
6152 (altivec_expand_builtin): Likewise; handle expansion of new
6153 '__builtin_altivec_compiletime_error' function.
6154 (rs6000_init_builtins): Initialize 'vector bool ...' and 'vector pixel'
6155 types, and make them distinct from other vector types; register
6156 '__builtin_altivec_compiletime_error' function.
6157 (print_operand): For 'P', print a full target register name instead of
6158 merely its number.
6159 (rs6000_attribute_table): Add "altivec" attribute.
6160 (rs6000_handle_altivec_attribute): New function.
21526606 6161 * config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
8bb418a3
ZL
6162 '-m[no-]-warn-altivec-long' (which '-W[no-]altivec-long-deprecated'
6163 maps to).
6164 (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): Forward
6165 declare.
6166 (ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration.
6167
06a419ff
JW
61682004-02-20 James E Wilson <wilson@specifixinc.com>
6169
6170 * config/ia64/ia64.md (shift_mix4left+1): Delete reload_completed
6171 check.
6172 (shift_mix4left+2): Delete redundant pattern.
6173
d220de0e
KH
61742004-02-20 Kazu Hirata <kazu@cs.umass.edu>
6175
6176 * alias.c (OUTGOING_REGNO): Don't define the default.
6177 * builtins.c (OUTGOING_REGNO): Likewise.
6178 (INCOMING_REGNO): Likewise.
6179 (apply_args_register_offset): Always use OUTGOING_REGNO.
6180 * combine.c (OUTGOING_REGNO): Likewise.
6181 * sibcall.c (OUTGOING_REGNO): Likewise.
6182 * defaults.h (INCOMING_REGNO): Provide the default.
6183 (OUTGOING_REGNO): Likewise.
6184
701ad47e
JH
61852004-02-21 Jan Hubicka <jh@suse.cz>
6186
6187 * params.def (max-peeled-insns, max-completely-peeled-insns,
6188 max-once-peeled-insns): Set to 400.
6189
7a3e01c4
JDA
61902004-02-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6191
3205a71e 6192 PR c++/12007
7a3e01c4
JDA
6193 * dbxout.c (dbxout_parms): Check that DECL_RTL and DECL_INCOMING_RTL
6194 are set for parameters before outputing debugging information.
6195
f4d9988b
FH
61962004-02-20 Falk Hueffner <falk@debian.org>
6197
6198 PR target/14201
6199 * config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand
6200 numbers.
6201
2ae5c785
PB
62022004-02-20 Per Bothner <per@bothner.com>
6203
6204 * input.h: Don't #include line-map.h. It may cause link problems
6205 with undefined linemap_line_start when line-map.h is included but
6206 line-map.o is not linked, as currently happens with gengtype on
6207 compilers that don't support inline.
6208 * toplev.c: So we do have to explicitly #include line-map.h here.
6209
7c4d376d
RH
62102004-02-20 Richard Henderson <rth@redhat.com>
6211
6212 * doc/invoke.texi: Add -Wvariadic-macros.
6213
2c598860
KH
62142004-02-20 Kazu Hirata <kazu@cs.umass.edu>
6215
6216 * haifa-sched.c (sched_emit_insn): Remove.
6217 * sched-int.h: Remove the corresponding prototype.
6218
35afa569
KH
62192004-02-20 Kazu Hirata <kazu@cs.umass.edu>
6220
6221 Revert:
6222 2004-02-19 Kazu Hirata <kazu@cs.umass.edu>
6223 * opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
6224 * system.h (DEFAULT_SHORT_ENUMS): Poison.
6225 * config/cris/cris.h: Remove a comment about
6226 DEFAULT_SHORT_ENUMS.
6227 * config/ip2k/ip2k.h: Likewise.
6228 * doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
6229
c1c3bb0c
ME
62302004-02-20 Mohan Embar <gnustuff@thisiscool.com>
6231 Tom Tromey <tromey@redhat.com>
6232
6233 * doc/install.texi: Moved --disable-libgcj and
6234 --with-system-zlib documentation to new section for
6235 Java-specific options.
6236 Added explicit Cross-Compiler-Specific Options subheading.
6237 Added section for Java-specific options.
6238
ee095310
MK
62392004-02-20 Matt Kraai <kraai@alumni.cmu.edu>
6240
6241 * doc/install.texi (Building the Ada compiler): Remove
3205a71e 6242 example.
ee095310 6243
15316a6f
JW
62442004-02-20 James E Wilson <wilson@specifixinc.com>
6245
6246 * toplev.c (dump_file_index, dump_file): Put ce3 before rnreg.
6247
9f76f909
KH
62482004-02-20 Kazu Hirata <kazu@cs.umass.edu>
6249
6250 * gcc.c (process_command): Allow translation of the copyright
6251 symbol but not the rest of the copyright message.
6252 * gcov.c (print_version): Likewise. Allow translation of the
6253 message about warranty.
6254
f38a62ff
HPN
62552004-02-20 Hans-Peter Nilsson <hp@axis.com>
6256
6257 * config/cris/cris.md ("*andsi_movu"): Correct parentheses in
6258 predicate.
6259 ("*andsi_clear"): Tweak constraints to not match postincrement.
6260 Adjust the predicate to exclude a volatile memory reference.
6261 ("*andhi_clear"): Ditto. Rename from "*andhi_clear_signed".
6262 ("*andhi_clear_unsigned"): Remove, non-matching pattern.
6263
88e3a2a3
MK
62642004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
6265
6266 * move-if-change: Remove.
6267 * Makefile.in (s-mlib, c-parse.y, s-check, s-gencheck)
6268 (s-specs, s-options, s-config, s-conditions, s-flags, s-codes)
6269 (s-constants, s-emit, s-recog, s-opinit, s-extract, s-peep)
6270 (s-attr, s-attrtab, s-output, s-genrtl, s-modes, s-preds)
6271 (s-gtyp-gen, s-iov): Use the top level move-if-change.
6272 * objc/Make-lang.in (objc/objc-parse.y): Likewise.
6273
e0c34369
JW
62742004-02-19 James E Wilson <wilson@specifixinc.com>
6275
6276 * config/i386/i386.md (doloop_end_internal): Use nonimmediate_operand
6277 for operand2. Add condition that requires register_operand operand2
6278 before reload.
6279
656f37ee 62802004-02-19 Richard Sandiford <rsandifo@redhat.com>
2b5f287b 6281 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
656f37ee
RS
6282
6283 * config/mips/mips.c (mips_address_insns): Treat BLKmode specially.
6284 * config/mips/mips.md: Expand comment above unaligned loads and stores.
6285
4221057e
RH
62862004-02-19 Richard Henderson <rth@redhat.com>
6287
6288 * Makefile.in (STRICT2_WARN): Add -Wno-variadic-macros.
6289 * tree.c (build0, build1, build2, build3, build4): Split out from...
6290 (build): ... here. Call them.
6291 * tree.h (build, _buildN1, _buildN2, _buildC1, _buildC2): New.
6292
6293 * convert.c (convert_to_integer): Remove extra build argument.
6294 * tree-inline.c (expand_call_inline): Likewise.
6295
e5b79219
RH
62962004-02-19 Richard Henderson <rth@redhat.com>
6297
6298 * c-opts.c (warn_variadic_macros): New.
6299 (c_common_handle_option): Set it.
6300 (sanitize_cpp_opts): Copy it to cpp_opts.
6301 * c.opt (Wvariadic-macros): New.
6302 * cpplib.h (struct cpp_options): Add warn_variadic_macros.
6303 * cppinit.c (cpp_create_reader): Initialize it.
6304 * cppmacro.c (parse_params): Check it.
6305
18586cb7
DD
63062004-02-19 David Daney <ddaney@avtrex.com>
6307
6308 PR preprocessor/14198
6309 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Add
6310 builtin_assert ("machine=mips")
6311
37a46828
KH
63122004-02-19 Kazu Hirata <kazu@cs.umass.edu>
6313
6314 * opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
6315 * system.h (DEFAULT_SHORT_ENUMS): Poison.
6316 * config/cris/cris.h: Remove a comment about
6317 DEFAULT_SHORT_ENUMS.
6318 * config/ip2k/ip2k.h: Likewise.
6319 * doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
6320
f9c887ac
ZW
63212004-02-19 Zack Weinberg <zack@codesourcery.com>
6322
6323 * config/ia64/ia64.c (ia64_function_arg): In big-endian mode,
6324 when passing single SFmode quantities in general registers,
6325 put them in the high half.
6326
0e1d7f32 63272004-02-19 Aldy Hernandez <aldyh@redhat.com>
f9c887ac
ZW
6328
6329 * doc/md.texi (Standard Names): Document additional dependency on
6330 fix pattern.
6331
6332 * optabs.c (ftruncify): Remove.
6333 (expand_fix): Manually inline ftruncify above.
6334 (can_fix_p): Add FIXME note.
0e1d7f32 6335
c6e9f0eb 63362004-02-19 Aldy Hernandez <aldyh@redhat.com>
f9c887ac
ZW
6337
6338 * config/rs6000/spe.md (spe_fixunssfsi2): Rename to
6339 spe_fixuns_truncsfsi2.
6340
6341 * config/rs6000/rs6000.md (fixunssfsi2): Rename to
6342 fixuns_truncsfsi2.
c6e9f0eb 6343
919b531d
SE
63442004-02-19 Steve Ellcey <sje@cup.hp.com>
6345
6346 * config/ia64/ia64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
6347 * testsuite/gcc.dg/20040219-1.c: New test.
6348
4dbb5970
UW
63492004-02-19 Ulrich Weigand <uweigand@de.ibm.com>
6350
6351 * config/s390/s390.md ("*subdf3_cc", "*subdf3_cconly", "*subsf3_cc",
6352 "*subsf3_cconly"): Subtraction is not commutative.
6353
16edbbf0
ZW
63542004-02-19 Zack Weinberg <zack@codesourcery.com>
6355
6356 * sdbout.c (preinit_symbols, sdbout_initialized): New statics.
6357 (sdbout_symbol): If called before sdbout_init, queue DECL for
6358 later and return.
6359 (sdbout_init): Set sdbout_initialized true, process decls
6360 queued earlier by sdbout_symbol.
6361 (sdbout_finish): Use size_t for index variable.
6362
f46e5baa 63632004-02-19 Jeff Law <law@redhat.com>
16edbbf0 6364
f46e5baa
JL
6365 * fold-const.c (invert_truthvalue): Do not call invert_tree_comparison
6366 for unordered comparison codes.
6367
d754127f
ILT
63682004-02-19 Ian Lance Taylor <ian@wasabisystems.com>
6369
6370 * reload1.c (reload): Correct comment.
6371 (scan_paradoxical_subregs): Remove #if 0 and old comment.
6372 * doc/extend.texi (Local Reg Vars): Remove obsolete comment that
6373 register variables are not used by reload.
6374
428eae94
HPN
63752004-02-19 Hans-Peter Nilsson <hp@axis.com>
6376
6377 PR target/14209
6378 * config/cris/cris.md ("*andsi_movu", "*andhi_movu"): Tweak
6379 constraints to not match postincrement. Adjust the predicate to
6380 exclude a volatile memory reference.
6381
a5ee8d80
KH
63822004-02-19 Kazu Hirata <kazu@cs.umass.edu>
6383
6384 * config/mcore/mcore.h (ASM_OUTPUT_EXTERNAL): Remove.
6385
45ea6431
KH
63862004-02-19 Kazu Hirata <kazu@cs.umass.edu>
6387
6388 * hooks.c (hook_void_tree_int): Remove.
6389 (hook_void_constcharptr): Likewise.
6390 (hook_int_void_0): Likewise.
6391 * hooks.h: Remove the prototypes for the above three
6392 functions.
6393 * targhooks.c (hook_bool_machine_mode_true): Remove.
6394 * targhooks.h: Remove the prototype for
6395 hook_bool_machine_mode_true.
6396
c59102b4
KH
63972004-02-19 Kazu Hirata <kazu@cs.umass.edu>
6398
6399 * emit-rtl.c (subreg_realpart_p): Remove.
6400 (reorder_insns_with_line_notes): Likewise.
6401 (end_full_sequence): Likewise.
6402 * rtl.h: Remove the prototype for the above functions.
6403
3ad17f7b
KH
64042004-02-19 Kazu Hirata <kazu@cs.umass.edu>
6405
6406 * config/arc/arc.h, config/arm/arm.h, config/frv/frv.h,
6407 config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
6408 config/iq2000/iq2000.h, config/m32r/m32r.h,
6409 config/pdp11/pdp11.h, config/sparc/sparc.h,
6410 config/xtensa/xtensa.h: Remove commented-out or useless
6411 definitions of CASE_VECTOR_PC_RELATIVE.
6412
a3b182a7
KH
64132004-02-19 Kazu Hirata <kazu@cs.umass.edu>
6414
6415 * loop.c (all_sets_invariant_p): Remove.
6416
1b5963f7
EB
64172004-02-19 Eric Botcazou <ebotcazou@libertysurf.fr>
6418
6419 PR target/12916
6420 * config/sparc/sparc.h (NPARM_REGS): Delete.
6421 (BASE_RETURN_VALUE_REG): Likewise.
6422 (BASE_OUTGOING_VALUE_REG): Likewise.
6423 (BASE_PASSING_ARG_REG): Likewise.
6424 (BASE_INCOMING_ARG_REG): Likewise.
6425 * config/sparc/sparc.c (sparc_strict_argument_naming): Test
6426 TARGET_ARCH64, not TARGET_V9.
6427 (function_arg_slotno): Dispatch based on the mode class.
6428 Handle vector modes like floating-point modes.
6429 (function_arg_record_value_1): Handle vector types like
6430 floating-point types.
6431 (function_arg_record_value_2): Likewise.
6432 Calculate regno after mode transformation.
6433 (function_arg): Handle vector modes like floating-point modes.
6434 (function_arg_partial_nregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX.
6435 If ARCH64, do not recheck alignment.
6436 (function_arg_pass_by_reference): Reorder the conditions.
6437 (sparc_return_in_memory): Move after function_arg_padding.
6438 Implement calling conventions for vector modes.
6439 (sparc_struct_value_rtx): Move after sparc_return_in_memory.
6440 (function_value): Move scope of 'regbase'.
6441 Implement calling conventions for vector modes.
6442 (sparc_builtin_saveregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX
6443 and BASE_INCOMING_ARG_REG by SPARC_INCOMING_INT_ARG_FIRST.
6444 (sparc_va_arg): Use function_arg_pass_by_reference to test whether
6445 the argument is passed by reference.
6446 (sparc_type_code): Handle vector types.
6447
196c42cd
AM
64482004-02-19 Alan Modra <amodra@bigpond.net.au>
6449
6450 * function.c (assign_parms): When building decl_rtl for
6451 SPLIT_COMPLEX_ARGS, ensure inner modes of concat match outer.
6452
c0cfc691
OH
64532004-02-19 Olivier Hainque <hainque@act-europe.fr>
6454
6455 * expr.c (is_aligning_offset): Check if we are aligning the
6456 expressions's address over BIGGEST_ALIGNMENT in bytes, not
6457 in bits.
6458
328163dc
MA
64592003-02-18 Matt Austern <austern@apple.com>
6460
6461 * gcc.c (LIBGCC_SPEC): If REAL_LIBGCC_SPEC is defined, and
6462 LIBGCC_SPEC isn't, set LIBGCC_SPEC to REAL_LIBGCC_SPEC.
6463 (init_gcc_spec): Don't define or call if REAL_LIBGCC_SPEC is
6464 defined. Instead use REAL_LIBGCC_SPEC, unmodifed, as the libgcc
6465 spec string.
6466 * doc/tm.texi (REAL_LIBGCC_SPEC): Document.
16edbbf0 6467
57d4f65c
ZW
64682004-02-18 Zack Weinberg <zack@codesourcery.com>
6469
6470 * dwarf2out.c (loclabel_num): Move outside #ifdef
6471 DWARF2_DEBUGGING_INFO and mark with GTY(()).
6472 * config/ia64/ia64.c (struct extern_func_list,extern_func_head):
6473 Mark with GTY(()).
6474 (ia64_hpux_add_extern_decl): Save the decl, not the name string.
6475 Allocate memory with ggc_alloc. No need to copy anything.
6476 (ia64_hpux_file_end): Update to match.
6477
3fec9fa9
JJ
64782004-02-18 Jakub Jelinek <jakub@redhat.com>
6479
6480 * config/i386/i386.c (override_options): Don't imply 3DNow! for -m64
6481 by default.
6482
5665e398
UW
64832004-02-18 Ulrich Weigand <uweigand@de.ibm.com>
6484
6485 * config/s390/s390.md ("divmodtidi3"): Use canonical RTL.
6486 ("divmodtisi3"): Likewise.
6487 ("udivmoddi4", "udivmodtidi3"): Likewise.
6488 ("divmodsi4", "divmoddisi3"): Likewise.
6489 ("udivmodsi4", "udivmoddisi3"): Likewise.
6490 ("udivsi3", "umodsi3"): Likewise.
6491
d76e8439
UW
64922004-02-18 Ulrich Weigand <uweigand@de.ibm.com>
6493
6494 * config/s390/s390.c (s390_mainpool_start): Delete the main pool
6495 placeholder insn when chunkifying the pool.
6496
3cf7104e
JDA
64972004-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6498
6499 * pa.h (PIC_OFFSET_TABLE_REGNUM): Define to INVALID_REGNUM when not
6500 generating PIC code.
6501
8981ecd3
KH
65022004-02-18 Kazu Hirata <kazu@cs.umass.edu>
6503
6504 * config/h8300/h8300-protos.h: Add a prototype for
6505 h8300_expand_branch.
6506 * config/h8300/h8300.c (h8300_expand_branch): New.
6507 * config/h8300/h8300.md (ble, bleu, bge, bgeu, blt, bltu, bgt,
6508 bgtu, beq, bne): Call h8300_expand_branch().
6509
07ee3b58
KH
65102004-02-18 Kazu Hirata <kazu@cs.umass.edu>
6511
6512 * config/h8300/h8300-protos.h: Add prototypes for
6513 h8300_hard_regno_nregs and h8300_hard_regno_mode_ok.
6514 * config/h8300/h8300.c (h8300_hard_regno_nregs): New.
6515 (h8300_hard_regno_mode_ok): Likewise.
6516 * config/h8300/h8300.h (HARD_REGNO_NREGS): Call
6517 h8300_hard_regno_nregs().
6518 (HARD_REGNO_MODE_OK): Call h8300_hard_regno_mode_ok().
6519
22234f56
PB
65202004-02-18 Per Bothner <per@bothner.com>
6521
6522 * cpphash.h (struct cpp_buffer): Restore return_at_eof field. This
6523 partly reverts my 2003-10-01 change, because we're back to logically
6524 including <command line> inside the main line.
6525 * cpplex.c (_cpp_get_fresh_line): Check return_at_eof field.
6526 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof of current buffer.
6527 Fixes PR preprocessor/14103.
6528
6529 * cppfiles.c (_cpp_stack_include): When appropriate decrement
6530 line_table's highest_location, fixing LAST_SOURCE_LINE_LOCATION.
6531 (cpp_push_include): Don't need to increment pfile's line field.
6532 * line-map.h (LAST_SOURCE_LINE_LOCATION): Only decrement by 1.
6533
6534 * c-ppoutput.c (print struct): New first_time field.
6535 (init_pp_output): Set print.first_time.
6536 (pp_file_change): Use print.first_time, rather than MAIN_FILE_P,
6537 which is set also for (say) <command line>. Clear print.first_time.
6538
6539 * cppfiles.c (struct _cpp_file): Comment and type for pch field
6540 does not match the code, so fix both.
6541 (should_stack_file): Inline include_pch_p function.
6542 (include_pch_p): Remove pointless function.
6543
6544 * cpphash.h (struct cpp_buffer): Remove unused search_cached field.
6545
5a6d9a81
KH
65462004-02-18 Kazu Hirata <kazu@cs.umass.edu>
6547
6548 * config/h8300/h8300.md (four define_peephole2's): Use
6549 h8300_regs_ok_for_stm().
6550
3d2e90d6
KH
65512004-02-18 Kazu Hirata <kazu@cs.umass.edu>
6552
6553 * config/h8300/h8300-protos.h: Update the prototype for
6554 expand_a_rotate().
6555 * config/h8300/h8300.c (expand_a_rotate): Remove the first
6556 argument.
6557 * config/h8300/h8300.md: Update all callers.
6558
79ae63b1
JH
65592004-02-18 Jan Hubicka <jh@suse.cz>
6560
6561 * simplify-rtx.c (simplify_unary_operation): Deal with logicals on
6562 floats.
6563 (simplify_binary_operation): Deal with logicals on floats.
6564
6565 * i386.md (SSE fabs splitters): Emit new patterns.
6566 (SSE cmov splitters): Likewise.
6567 (sse_andv4sf3, sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3
6568 (sse_andv2df3, sse_nandv2df3, sse_iorv2df3, sse_xorv2df3): Do not use
6569 subregs.
6570 (sse_andsf3, sse_nandsf3, sse_xorsf3): Kill.
6571 (sse_anddf3, sse_nanddf3, sse_xordf3): Kill.
6572
01ab5574
KH
65732004-02-18 Kazu Hirata <kazu@cs.umass.edu>
6574
6575 * config/h8300/h8300.c (expand_a_rotate): Don't generate insns
6576 by hand.
6577 (output_a_rotate): Tweak a comment.
6578 * config/h8300/h8300.md (*rotlqi3_1): Change to rotlqi3_1.
6579 (*rotlhi3_1): Change to rotlhi3_1.
6580 (*rotlsi3_1): Change to rotlsi3_1.
6581
d5f7d2d0
RE
65822004-02-18 Richard Earnshaw <rearnsha@arm.com>
6583
6584 PR target/13866
6585 * arm.c (load_multiple_operation): Don't insist that the source reg
6586 of a post-increment component is the same as the destination.
6587 (store_multiple_operation): Likewise.
6588
b0c8a821
KH
65892004-02-18 Kazu Hirata <kazu@cs.umass.edu>
6590
6591 * config/h8300/h8300.md: Move movsf patterns into one section
6592 of the file.
6593
aa335b76
KH
65942004-02-18 Kazu Hirata <kazu@cs.umass.edu>
6595
6596 * cfgloop.h, cfgloopanal.c, cpplex.c, except.h, loop-init.c,
6597 loop-unroll.c, scan-decls.c, scan.h, stor-layout.c,
6598 xcoffout.c, xcoffout.h, config/arm/mmintrin.h,
6599 config/mips/linux64.h, config/pa/pa-64.h,
6600 config/rs6000/aix51.h, config/rs6000/aix52.h,
6601 config/rs6000/spe.md, config/sparc/linux.h,
6602 config/sparc/linux64.h: Update copyright.
6603
5a64541a
KH
66042004-02-18 Kazu Hirata <kazu@cs.umass.edu>
6605
6606 * config/h8300/h8300.md: Move push patterns into one
6607 section of the file.
6608
8d04e6db
MM
66092004-02-18 Mark Mitchell <mark@codesourcery.com>
6610
6611 PR c++/11326
6612 * config/ia64/ia64.c (ia64_struct_value_rtx): Cope with NULL
6613 fntype.
6614
e978d62e
PB
66152004-02-18 Paul Brook <paul@codesourcery.com>
6616
6617 * rtlanal.c (rtx_varies_p): Return 0 for NULL_RTX
6618
cdbafce1
PB
66192004-02-18 Paul Brook <paul@codesourcery.com>
6620
c5fe5036 6621 PR debug/12934
cdbafce1
PB
6622 * dwarf2out.c (loc_descriptor_from_tree): Handle
6623 EXPR_WITH_FILE_LOCATION.
6624
5a0855a0
JJ
66252004-02-18 Jakub Jelinek <jakub@redhat.com>
6626
6627 * config/i386/i386.md (zero_extendqidi2, zero_extendqidi2,
6628 testdi_1_rex64, anddi_2, xordi_1_rex64, xordi_2_rex64): Remove
6629 trailing whitespace from instructions.
6630
9c56033f
GK
66312004-02-17 Geoffrey Keating <geoffk@apple.com>
6632
6633 * configure.ac: When generating auto-build.h, pass
6634 --enable-languages to the sub-configure.
6635 Put quotes around ${program_transform_name} when generating
6636 name of as, ld, nm, objdump.
6637 * configure: Regenerate.
6638
80bcb4d2
MK
66392004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
6640
6641 * Makefile.in (s-check, s-config, s-conditions, s-flags)
6642 (s-codes, s-constants, s-emit, s-recog, s-opinit, s-extract)
6643 (s-peep, s-attr, s-attrtab, s-output, s-genrtl, s-modes)
6644 (s-preds, s-iov): Do not depend on move-if-change.
6645
ce7b36a4
JW
66462004-02-17 James E Wilson <wilson@specifixinc.com>
6647
6648 * caller-save.c (insert_restore): Pass mem through copy_rtx.
6649 (insert_save): Likewise.
6650
f8b58e56
KH
66512004-02-17 Kazu Hirata <kazu@cs.umass.edu>
6652
6653 * config/h8300/h8300.c (h8300_emit_stack_adjustment): Fix a
6654 warning.
6655
8d82e1d8
KH
66562004-02-17 Kazu Hirata <kazu@cs.umass.edu>
6657
6658 * config/h8300/h8300.md (*one_complsi2_h8300): Change to
6659 *one_cmplsi2_h8300.
6660 (*one_complsi2_h8300hs): Change to *one_cmplsi2_h8300hs.
6661
4093985c
KH
66622004-02-17 Kazu Hirata <kazu@cs.umass.edu>
6663
6664 * config/h8300/h8300-protos.h: Update the prototype of
6665 fix_bit_operand().
6666 * config/h8300/h8300.c (fix_bit_operand): Remove the second
6667 argument "what".
6668 * config/h8300/h8300.md: Update all callers.
6669
fd57a6e4
KH
66702004-02-17 Kazu Hirata <kazu@cs.umass.edu>
6671
6672 * config/h8300/h8300.c (fix_bit_operand): Change the name of
6673 the last argument to "code" from "type".
6674
6a415867
KH
66752004-02-17 Kazu Hirata <kazu@cs.umass.edu>
6676
6677 * config/h8300/h8300.c: Remove an extern declaration of
6678 rtx_equal_function_value_matters.
6679
a3579575
KH
66802004-02-17 Kazu Hirata <kazu@cs.umass.edu>
6681
6682 * config/h8300/h8300.c (fix_bit_operand): Don't generate insns
6683 by hand.
6684 * config/h8300/h8300.md (*andqi3_1): Change to andqi3_1.
6685 (*iorqi3_1): Change to iorqi3_1.
6686 (*xorqi3_1): Change to xorqi3_1.
6687
321440fd
KH
66882004-02-17 Kazu Hirata <kazu@cs.umass.edu>
6689
6690 * c-common.c, cfghooks.c, rtlanal.c, varasm.c: Fix comment
6691 typos.
6692
7b50a809
JH
66932004-02-17 Jan Hubicka <jh@suse.cz>
6694
6695 * i386.c (x86_prologue_using_move, x86_epilogue_using_move): Disable for P4.
6696
8051c2eb
AM
66972004-02-18 Alan Modra <amodra@bigpond.net.au>
6698
6699 PR optimization/14119
6700 * combine.c (try_combine): When attemting to fix unrecognized insns,
6701 don't delete SETs marked with REG_EH_REGION notes.
6702
db33236e
UW
67032004-02-17 Ulrich Weigand <uweigand@de.ibm.com>
6704
57d4f65c 6705 * combine.c (simplify_if_then_else): Do not replace
db33236e
UW
6706 (if_then_else (ne reg 0) (0) (const_int)) by (reg) if the
6707 modes differ.
6708
1da326c3
SB
67092004-02017 Steven Bosscher <stevenb@suse.de>
6710
6711 * (c-decl.c, c-semantics.c, calls.c, cgraph.c, cgraphunit.c,
6712 function.c, integrate.c, print-tree.c, toplev.c, tree-optimize.c,
6713 tree.h): Replace DECL_SAVED_INSNS with DECL_STRUCT_FUNCTION.
6714 * ada/utils.c: Likewise.
6715 * cp/decl.c: Likewise.
6716 * f/com.c: Likewise.
6717 * java/class.c: Likewise.
6718
65c07641
KH
67192004-02-17 Kazu Hirata <kazu@cs.umass.edu>
6720
6721 * config/h8300/h8300.md: Fix comment typos.
6722
3e35cb0c
RO
67232004-02-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6724
6725 * config/mips/t-iris6gld: Renamed to ...
6726 * config/mips/t-irix-gld: ... this.
6727 * config.gcc (mips-sgi-irix6*): Reflect this
6728 (mips-sgi-irix5*): Use it with GNU ld.
57d4f65c 6729
3e35cb0c
RO
6730 * config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed
6731 to ...
6732 * config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this.
6733 * config/mips/t-irix-gld: Reflect this.
6734 * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
57d4f65c 6735
3e35cb0c
RO
6736 * config/mips/iris5gld.h: New file.
6737 * config.gcc (mips-sgi-irix5*): Use it with GNU ld.
6738 Only use collect2 without gas.
57d4f65c 6739
3e35cb0c
RO
6740 * config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC):
6741 Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
6742 (STARTFILE_SPEC, ENDFILE_SPEC, SUBTARGET_EXTRA_SPECS): Reflect this.
6743 * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
57d4f65c 6744
3e35cb0c
RO
6745 * config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ...
6746 * config/mips/iris5.h: ... here.
6747
6748 * config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to
57d4f65c 6749 IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
3e35cb0c 6750 (STARTFILE_SPEC, ENDFILE_SPEC): Define.
57d4f65c 6751
3e35cb0c
RO
6752 * config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify
6753 using irix_startfile_spec, irix_endfile_spec.
6754
1f0282cb
GN
67552004-02-16 Gunther Nikl <gni@gecko.de>
6756
6757 * config/m68k/m68k.c: Remove obsolete support for HPUX_ASM.
6758
6552458a
KH
67592004-02-17 Kazu Hirata <kazu@cs.umass.edu>
6760
6761 * config/h8300/h8300.c (h8300_expand_prologue): Don't generate
6762 insns by hand.
6763
017b3258
ZD
67642004-02-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6765
6766 * cfghooks.c (split_edge): Speed up updating of dominators.
6767
57782ad8
MM
67682004-02-17 Mark Mitchell <mark@codesourcery.com>
6769
6770 PR c++/11326
6771 * c-common.c (flag_abi_version): Remove.
6772 * c-common.h (flag_abi_version): Likewise.
6773 * c-opts.c (c_common_handle_option): Remove OPT_fabi_version case.
6774 * c.opt (fabi-version): Remove.
6775 * calls.c (expand_call): Always pass a function type to
6776 struct_value_rtx. Use convert_memory_address.
6777 * common.opt (fabi-version): Add it.
6778 * flags.h (flag_abi_version): Likewise.
6779 (abi_version_at_least): New macro.
6780 * opts.c (common_handle_option): Add OPT_fabi_version.
6781 * toplev.c (flag_abi_version): Define it.
6782 * config/ia64/ia64.c (ia64_struct_retval_addr_is_first_parm_p):
6783 New function.
6784 (ia64_output_mi_thunk): Use it.
6785 (ia64_struct_value_rtx): Likewise.
57d4f65c 6786
72b1de44
KH
67872004-02-17 Kazu Hirata <kazu@cs.umass.edu>
6788
6789 * config/h8300/h8300.c (h8300_emit_stack_adjustment):
6790 Don't generate insns by hand.
6791
d150ccef
AP
67922004-02-17 Andrew Pinski <pinskia@physics.uc.edu>
6793
6794 PR c++/14178
6795 * doc/invoke.texi (fabi-version): The default is 2 now.
6796
50654f6c
ZD
67972004-02-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6798
6799 * loop-iv.c: New file.
6800 * Makefile.in (loop-iv.o): New.
6801 * basic_block.h (FOR_BB_INSNS, FOR_BB_INSNS_REVERSE): New macros.
6802 * cfgloop.c (fill_sons_in_loop, get_loop_body_in_dom_order,
6803 num_loop_branches): New functions.
6804 * cfgloop.h (get_loop_body_in_dom_order, num_loop_branches,
6805 iv_analysis_loop_init, iv_get_reaching_def, iv_analyse, get_iv_value,
6806 find_simple_exit, iv_number_of_iterations, iv_analysis_done,
6807 get_simple_loop_desc, free_simple_loop_desc): Declare.
6808 (simple_loop_desc): New inline function.
6809 (struct rtx_iv, struct niter_desc): New.
6810 * cfgloopmanip.c (loopify): Specify semantics more precisely.
6811 * expr.c (force_operand): Handle subregs of expressions created by
6812 loop unroller.
6813 * loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Move
6814 parts of the initialization to toplev.c
6815 * loop-unroll.c (loop_exit_at_end_p): New.
6816 (unroll_and_peel_loops): Call iv_analysis_done.
6817 (decide_peel_once_rolling, decide_peel_completely,
6818 decide_unroll_stupid, decide_unroll_constant_iterations,
6819 decide_unroll_runtime_iterations, decide_peel_simple,
6820 peel_loop_simple, unroll_loop_stupid, unroll_loop_constant_iterations,
6821 unroll_loop_runtime_iterations): Use new simple loop analysis.
6822 * loop-unswitch.c (compare_and_jump_seq): New.
6823 (may_unswitch_on_p): Renamed to ...
6824 (may_unswitch_on): Use new iv analysis.
6825 (reversed_condition): Export.
6826 (unswitch_single_loop, unswitch_loop): Use new iv analysis.
6827 * predict.c (estimate_probability): Use new simple loop analysis.
6828 * rtl.h (get_mode_bounds, reversed_condition,compare_and_jump_seq,
6829 canon_condition, simplify_using_condition): Declare.
6830 * stor-layout.c (get_mode_bounds): New.
6831 * toplev.c (rest_of_handle_loop2): Some parts of
6832 initialization/finalization moved here from loop-init.c.
6833
ef3f573f
KH
68342004-02-17 Kazu Hirata <kazu@cs.umass.edu>
6835
6836 * config/h8300/h8300.h (FIXED_REGISTERS): Add the soft frame
6837 pointer.
6838 (CALL_USED_REGISTERS): Likewise.
6839 (REG_ALLOC_ORDER): Likewise.
6840 (REG_CLASS) <GENERAL_REGS>: Likewise.
6841
e3d6e740
GK
68422004-02-16 Geoffrey Keating <geoffk@apple.com>
6843
6844 * doc/md.texi (Insn Canonicalizations): Document left-chaining
6845 in associative operators.
6846 * rtlanal.c (commutative_operand_precedence): Create some new
6847 variables. Prefer a commutative operand on the left, then
6848 binary expressions, then NEG and NOT.
6849
8c958ed2
MK
68502004-02-16 Matthias Klose <doko@debian.org>
6851
57d4f65c
ZW
6852 * config/t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME
6853 in terms of SHLIB_SOVERSION.
6854 * config/m68k/t-slibgcc-elf-ver: New file.
6855 * config/pa/t-slibgcc-elf-ver: New file.
6856 * config.gcc (m68k-linux, parisc-linux): Use them when not
8c958ed2
MK
6857 sjlj exceptions are not configured.
6858
42a5f3c0
EB
68592004-02-16 Eric Botcazou <ebotcazou@libertysurf.fr>
6860
6861 * config/sparc/sparc.c (get_pc_symbol_name): Mark with GTY(()).
6862
1729e46c
ZW
68632004-02-16 Zack Weinberg <zack@codesourcery.com>
6864
6865 * sdbout.c (sdb_debug_hooks): Correct the type_decl entry.
6866
0acdc221
JM
68672004-02-16 Joseph S. Myers <jsm@polyomino.org.uk>
6868
6869 * doc/sourcebuild.texi: Mention backends.html.
6870
9ac97460
KH
68712004-02-16 Kazu Hirata <kazu@cs.umass.edu>
6872
6873 * c-decl.c, c-ppoutput.c, cpphash.h, cpplib.h, dbxout.c,
6874 line-map.c, line-map.h, var-tracking.c: Fix comment
6875 formatting.
6876
9dcb4381
RH
68772004-02-16 Richard Henderson <rth@redhat.com>
6878
6879 * cse.c (cse_insn): Don't lose REG_NON_LOCAL_GOTO note.
6880
1729e46c 6881 * fold-const.c (operand_equal_p): Fix VECTOR_CST comparison.
875427f0 6882
1472042a
KH
68832004-02-15 Kazu Hirata <kazu@cs.umass.edu>
6884
6885 * config/h8300/h8300.md: Remove unnecessary parallels from
6886 all define_insn and define_split patterns.
6887
24f29b06
KH
68882004-02-15 Kazu Hirata <kazu@cs.umass.edu>
6889
6890 * config/h8300/h8300.md: Remove explicit (set_attr "cc"
6891 "clobber").
6892
ac5f9961
BI
68932004-02-15 Bernardo Innocenti <bernie@develer.com>
6894
6895 * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Restore support for
6896 '%#'.
6897
68776c43
KH
68982004-02-15 Kazu Hirata <kazu@cs.umass.edu>
6899
6900 * config/ia64/ia64.c, config/mips/mips.c,
6901 config/mmix/mmix-modes.def: Fix comment typos.
6902
7501c4e4
RS
69032004-02-15 Roger Sayle <roger@eyesopen.com>
6904
6905 * c-common.h (GET_DIRECTIVE_LINE): Remove unused macro.
6906 (get_directive_line): Remove unused function prototype.
6907
5852680b
JZ
69082004-02-14 Josef Zlomek <zlomekj@suse.cz>
6909
6910 * tree-inline.c (copy_body_r): Do not replace ret_label.
6911
be04394b
JH
69122004-02-14 Jan Hubicka <jh@suse.cz>
6913
6914 * i386.c (x86_four_jump_limit): New variable.
6915 (k8_avoid_jump_misspredicts): Rename to ...
6916 (ix86_avoid_jump_misspredicts): .. this one.
6917 (ix86_pad_returns): Break out from ...
6918 (ix86_reorg): ... this one; do ix86_avoid_jump_misspredicts when asked
6919 to.
6920 * i386.h (TARGET_FOUR_JUMP_LIMIT): New macro.
6921
d4afac5b
JZ
69222004-02-14 Josef Zlomek <zlomekj@suse.cz>
6923
6924 * emit-rtl.c (set_decl_incoming_rtl): Check whether the 0th element of
6925 PARALLEL is NULL.
6926
c7762b44
PB
69272004-02-14 Per Bothner <per@bothner.com>
6928
6929 * fix-header.c (line_table): Move local variable in main to global.
6930 * scan.h (line_table): Use it.
6931 * scan-decls.c (scan_decls): Need to call linemap_lookup on token's
6932 line (recently renamed to src_loc) before calling recognized_function.
6933
cb7c0b5a
MK
69342004-02-14 Matt Kraai <kraai@alumni.cmu.edu>
6935
6936 * Makefile.in: Fix comment typos.
6937
45f9877a
EB
69382004-02-14 Olivier Hainque <hainque@act-europe.fr>
6939
6940 * loop.c (check_dbra_loop): Use gen_int_mode instead of GEN_INT
6941 for start_value when it is directly moved into reg, and factorize
6942 the retrieval of GET_MODE (reg).
6943
544142d8
RS
69442004-02-14 Richard Sandiford <rsandifo@redhat.com>
6945
6946 * config/mips/mips-protos.h (mips_load_got_page): Delete.
6947 (mips_load_got_global): Delete.
6948 (mips_gotoff_page): Declare.
6949 * config/mips/mips.md (UNSPEC_LOAD_GOT): New constant.
6950 (*xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i): Build an
6951 UNSPEC_LOAD_GOT pattern rather than a MEM.
6952 (*load_got[sd]i): New patterns.
6953 * config/mips/mips.c (mips_got_alias_set, mips_load_got): Delete.
6954 (mips_load_got_page, mips_load_got_global): Delete.
6955 (mips_gotoff_page): New function.
6956 (override_options): Don't initialize mips_got_alias_set.
6957
d2888f1d
RS
69582004-02-14 Richard Sandiford <rsandifo@redhat.com>
6959
6960 * config/mips/mips.h (MASK_DEBUG_[ABEFI], TARGET_DEBUG_[ABEFI]_MODE)
6961 (TARGET_MIPS4100, TARGET_MIPS4300, TARGET_MIPS4KC, TARGET_MIPS5KC)
6962 (TARGET_SB1, TUNE_SB1, TUNE_SR71K, BIGGEST_MAX_ARGS_IN_REGISTERS)
6963 (GO_PRINTF, GO_PRINTF2, GO_DEBUG_RTX, DFMODE_NAN, SFMODE_NAN): Delete.
6964 (TARGET_SWITCHES): Remove MASK_DEBUG_[ABEFI].
6965 * config/mips/mips.c: Fix some overly-long lines.
6966 (SINGLE_WORD_MODE_P, PIC_OFFSET_TABLE_MASK): Delete.
6967 (init_cumulative_args): Remove TARGET_DEBUG_E_MODE handling.
6968
19baba0b
RO
69692004-02-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6970
6971 * configure.ac: Search for as, ld below libexec/gcc.
6972 * configure: Regenerate.
6973
f07a6b21
BE
69742004-02-14 Ben Elliston <bje@wasabisystems.com>
6975
6976 * config/arm/mmintrin.h (_mm_setwcx): Reverse arguments in call to
6977 __builtin_arm_setwcx ().
6978 * config/arm/arm.c (arm_expand_builtin): Generate operands
6979 correctly and reverse their order in call to gen_iwmmxt_tmcr ().
6980
69812004-02-14 Ben Elliston <bje@wasabisystems.com>
6982
6983 * config/arm/arm.c (bdesc_2arg): Correct builtin names "wmulsh"
6984 and "wmuluh" to "wmulsm" and "wmulum", respectively.
6985 * config/arm/arm.h (enum arm_builtins): Rename enumerators to
6986 ARM_BUILTIN_WMULSM and ARM_BUILTIN_WMULUM.
6987 * config/arm/mmintrin.h (_mm_mulhi_pi16): Update intrinsic call.
6988 (_mm_mulhi_pu16): Likewise.
6989
f433554b
ZW
69902004-02-13 Zack Weinberg <zack@codesourcery.com>
6991
6992 * xcoffout.c (xcoff_assign_fundamental_type_number): Check
6993 DECL_NAME != 0 before dereferencing.
6994
faeb9bb6
UW
69952004-02-13 Ulrich Weigand <uweigand@de.ibm.com>
6996
6997 * config/s390/s390-protos.h (s390_output_symbolic_const): Remove.
6998 (s390_output_addr_const_extra): Declare.
6999 (s390_output_pool_entry): Remove FILE * argument.
7000 * config/s390/s390.c (s390_output_symbolic_const): Remove.
7001 (s390_output_addr_const_extra): New function.
7002 (print_operand_address): Call output_addr_const instead of
7003 s390_output_symbolic_const.
7004 (print_operand): Likewise.
7005 (s390_output_pool_entry): Use assemble_integer for symbolic constants.
7006 Remove FILE * argument.
7007 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Define.
7008 * config/s390/s390.md ("*pool_entry"): Adapt s390_output_pool_entry
7009 call.
7010
cfbe3efe
ZD
70112004-02-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7012
7013 * cfgloopanal.c (mark_irreducible_loops): Rewriten.
7014 (struct edge, struct vertex, struct graph): New.
7015 (dump_graph, new_graph, add_edge, dfs, check_irred, for_each_edge,
7016 free_graph): New functions.
7017
d349192c
CD
70182004-02-12 Chris Demetriou <cgd@broadcom.com>
7019
7020 * config/mips/mips.md (casesi_internal, casesi_internal_di):
7021 Use ".set macro" to avoid warnings about multi-instruction
7022 macros, since they're intentional.
7023
52ccb3d2
GK
70242004-02-12 Geoffrey Keating <geoffk@apple.com>
7025
213c4a8a
GK
7026 * config/darwin.h: Add include guards. Remove old, now incorrect,
7027 comment about STANDARD_EXEC_PREFIX.
7028
52ccb3d2
GK
7029 * Makefile.in (install-man): Use $(CPP_INSTALL_NAME) and
7030 $(GCOV_INSTALL_NAME) to install manpages. Remove generic rule
7031 for installing .1 manpages. Add rules for installing cpp
7032 and gcov manpages under their installed names.
7033
1a543d25
AO
70342004-02-12 Alexandre Oliva <aoliva@redhat.com>
7035
7036 * configure.ac (gcc_cv_ld): Don't set to LD if target is not
7037 host, but try LD_FOR_TARGET first.
7038 * configure: Rebuilt.
7039
8507c40a
ZW
70402004-02-12 Zack Weinberg <zack@codesourcery.com>
7041
7042 * dbxout.c: Move declaration of dbxout_type_decl outside
7043 #ifdef DBX_DEBUGGING_INFO.
7044 * c-parse.in: Don't give the asmdef production a type.
7045
21d13d83
ZW
70462004-02-12 Zack Weinberg <zack@codesourcery.com>
7047
7048 * debug.h (struct gcc_debug_hooks): Add type_decl field.
7049 (debug_nothing_tree_int): Prototype.
7050 (dwarf_debug_hooks): Delete, unused.
7051 * debug.c (do_nothing_debug_hooks): Update.
7052 (debug_nothing_tree_int): New function.
7053 * langhooks.h (struct lang_hooks_for_decls):
7054 Remove builtin_type_decls field.
7055 * langhooks-def.h (LANG_HOOKS_BUILTIN_TYPE_DECLS): Delete.
7056 (LANG_HOOKS_DECLS): Update.
7057 * toplev.c (rest_of_decl_compilation, rest_of_type_compilation):
7058 Use debug_hooks->type_decl.
7059 * dbxout.c (preinit_symbols): New static.
7060 (dbx_debug_hooks, xcoff_debug_hooks): Update.
7061 (dbxout_init): Don't call DBX_OUTPUT_STANDARD_TYPES or
7062 lang_hooks.decls.builtin_type_decls. Do scan preinit_symbols
7063 for symbols to output.
7064 (dbxout_type_decl): New function.
7065 (dbxout_symbol): If called before dbxout_init has run, queue
7066 the symbol for later. Apply DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER
7067 to TYPE_DECLs before emitting them.
7068 * xcoffout.c (assign_type_number): Delete.
7069 (xcoff_type_numbers): New static table.
7070 (xcoff_assign_fundamental_type_number): New function.
7071 * xcoffout.h: Define DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER, not
7072 DBX_OUTPUT_STANDARD_TYPES. Remove unnecessary #ifdefs.
7073 * sdbout.c: Include varray.h.
7074 (deferred_global_decls): New static.
7075 (sdb_debug_hooks): Update.
7076 (sdbout_global_decl): If we can't emit something right now,
7077 remember it in deferred_global_decls.
7078 (sdbout_finish): Just scan deferred_global_decls; don't call getdecls.
7079 (sdbout_init): Initialize deferred_global_decls.
7080 * Makefile.in: Update dependencies of sdbout.o.
7081 * dwarf2out.c (dwarf2out_type_decl): New function.
7082 (dwarf2_debug_hooks): Update.
7083 * vmsdbgout.c (vmsdbg_debug_hooks): Update.
7084 * c-decl.c (getdecls): Just return 0.
7085 (check_for_loop_decls): Don't use getdecls.
7086 (record_builtin_type): Call debug_hooks->type_decl on the TYPE_DECL.
7087 * c-objc-common.c (c_objc_common_finish_file): Don't use getdecls.
7088
a90a16f3
UW
70892004-02-12 Ulrich Weigand <uweigand@de.ibm.com>
7090
7091 * config/s390/s390.c (s390_sched_reorder2): Remove.
7092 (TARGET_SCHED_REORDER2): Do not redefine.
7093
9f0e2d86
ZW
70942004-02-12 Zack Weinberg <zack@codesourcery.com>
7095
7096 * c-parse.in (maybe_type_qual): Delete.
7097 (maybe_volatile, simple_asm_expr, asmdef, asm_stmt)
7098 (asm_argument): New grammar rules.
7099 (extdef_1): Use asmdef.
7100 (maybeasm): Move down with other asm rules; use simple_asm_expr.
7101 (xexpr): Move up with other expression rules.
7102 (stmt): Use asm_stmt.
7103
7104 * c-typeck.c (build_asm_expr): New function - body mostly
7105 pulled from build_asm_stmt.
7106 (build_asm_stmt): Just handle tacking on the volatile qualifier.
7107 * c-tree.h (build_asm_expr, build_asm_stmt): Update prototypes.
7108
35f5add9
RS
71092004-02-12 Richard Sandiford <rsandifo@redhat.com>
7110
7111 PR bootstrap/13617
7112 * config/mips/mips-protos.h (mips_output_aligned_decl_common): Declare.
7113 (mips_declare_object): Make variadic.
7114 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use
7115 mips_output_aligned_decl_common.
7116 * config/mips/mips.c (mips_output_aligned_decl_common): New function.
7117 (mips_declare_object): Make variadic.
7118
a5e9c810
RK
71192004-02-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7120
8fbc67c0
RK
7121 * function.c (update_epilogue_consts): Teach about binary operations.
7122
a5e9c810
RK
7123 * emit-rtl.c (set_mem_attributes_minus_bitpos): Don't kill
7124 previous MEM_VOLATILE in REF.
7125 * function.c (fixup_var_refs): Save volatile_ok and set to 1.
7126 * expr.c (emit_block_move_via_movstr): Save and restore volatile_ok.
7127
7ea98c5a
GN
71282004-02-12 Gunther Nikl <gni@gecko.de>
7129
7130 * config.gcc: Restore support for m68k-openbsd.
7131
8f6a8d03
JH
71322004-02-12 Jan Hubicka <jh@suse.cz>
7133
7134 * tree-optimize.c (tree_rest_of_compilation): Do not release
7135 DECL_ARGUMENTS.
7136
c2910edf
MK
71372004-02-11 Matt Kraai <kraai@alumni.cmu.edu>
7138
7139 * doc/install.texi: Fix the spelling of "explicitly".
7140
423e95e2
EC
71412004-02-11 Eric Christopher <echristo@redhat.com>
7142
7143 * cppcharset.c (_cpp_interpret_string_notranslate): Rename and
7144 duplicate argument structure of cpp_interpret_string.
7145 * cpphash.h: Move prototype...
7146 * cpplib.h: Here.
7147 * cpplib.c: Fix calls to match new function signature.
7148
32e8aa9a
JM
71492004-02-11 Joseph S. Myers <jsm@polyomino.org.uk>
7150
7151 PR c/456
7152 * cppexp.c (num_binary_op): Don't allow comma operators in #if
7153 constant expressions at all outside C99 mode if pedantic.
7154
3b8e0c91
UB
71552004-02-11 Uros Bizjak <uros@kss-loka.si>
7156
7157 * optabs.h (enum optab_index): Add new OTI_log10 and OTI_log2.
7158 (log10_optab, log2_optab): Define corresponding macros.
7159 * optabs.c (init_optabs): Initialize log10_optab and log2_optab.
7160 * genopinit.c (optabs): Implement log10_optab and log2_optab
7161 using log10?f2 and log2?f2 patterns.
7162 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG10{,F,L}
7163 using log10_optab, and BUILT_IN_LOG2{,F,L} using log2_optab.
7164 (expand_builtin): Expand BUILT_IN_LOG10{,F,L} and BUILT_IN_LOG2{,F,L}
7165 using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
7166
7167 * config/i386/i386.md (log10sf2, log10df2, log10xf2, log2sf2,
7168 log2df2, log2xf2): New patterns to implement log10, log10f, log10l,
7169 log2, log2f and log2l built-ins as inline x87 intrinsics.
7170
a6abdce3
RH
71712004-02-11 Richard Henderson <rth@redhat.com>
7172
888ff7a1 7173 PR target/1532
a6abdce3
RH
7174 * flow.c (insn_dead_p): A clobber of a dead hard register is a
7175 dead insn after reload.
7176
05ac140e
UW
71772004-02-11 Ulrich Weigand <uweigand@de.ibm.com>
7178
7179 * tree.h (frame_base_decl): Add GTY marker.
7180 * var-tracking.c (frame_base_decl): Likewise.
7181
e193b408
DB
71822004-02-11 Daniel Berlin <dberlin@dberlin.org>
7183
7184 * dwarf2out.c (output_loc_list): Remove no longer necessary, and now
7185 incorrect, hunk.
7186 (add_location_or_const_value_attribute): Use text_section_label,
7187 not TEXT_SECTION_NAME.
12f9df4e
PB
7188
71892004-02-11 Per Bothner <per@bothner.com>
7190
7191 Represent column numbers using line-map's source_location.
7192 The "next available source_location" is now managed internally by
7193 line-maps.c rather than by clients.
7194 * line-map.h (struct line_map): New field column_bits.
7195 <from_line>: Rename field to start_location.
7196 (struct line_maps): New fields highest_location and max_column_hint.
7197 (linemap_check_files_exited): New declaration.
7198 (linemap_line_start): New declaration.
7199 (linemap_add): Remove from_line parameter; use highest_location field.
7200 (SOURCE_LINE, LAST_SOURCE_LINE): Modify to use column_bits.
7201 (SOURCE_COLUMN, LAST_SOURCE_LINE_LOCATION): New macros.
7202 (CURRENT_LINE_MAP): Remove macro.
7203 (linemap_position_for_column): New inline function.
7204 * line-map.c (linemap_init): Clear new fields.
7205 (linemap_check_files_exited): New function, extracted from ...
7206 (linemap_free): Use linemap_check_files_exited.
7207 (linemap_add): Remove from_line parameter. Various updates.
7208 (linemap_line_start): New function.
7209 (linemap_lookeup): Update for new field names.
7210 * cpphash.h (struct cpp_reader) <map>: Field removed. Because
7211 linemap_position_for_column may unpredictably change the current map,
7212 it is cleaner and simpler for us to not cache it in cpp_reader.
7213 (struct cpp_buffer): New sysp field.
7214 Changed warned_cplusplus_comments and from_stage3 to bitfields.
7215 * cppinit.c (cpp_read_min_file): pfile->map no longer exists.
7216 * cpplib.c (do_line, do_linemarker, _cpp_do_file_change): Get
7217 current map using linemap_lookup.
7218 (do_linemarker): Also set buffer's sysp field.
7219 (destringize_and_run): No longer need to decrement current line.
7220 * cppfiles.c (_cpp_stack_file): Set sysp from and in buffer.
7221 (search_path_head, open_file_failed): Use buffer's sysp.
7222 (cpp_make_system_header): Get current map using linemap_lookup.
7223 Also set buffer's sysp flag.
7224 * cppmacro.c (_cpp_builtin_macro_text): Likewise use linemap_lookup.
7225 * cpphash.h (CPP_INCREMENT_LINE): New macro.
7226 (struct cpp_buffer): Moved fields saved_cur, saved_rlimit to ...
7227 (struct cpp_reader): ... and adding saved_line_base field.
7228 * cpptrad.c (_cpp_overlay_buffer, _cpp_remove_overlay):
7229 Update accordingly. Don't adjust line.
7230 (_cpp_scan_out_logical_line): Use CPP_INCREMENT_LINE.
7231 * cpphash.c (CPP_IN_SYSTEM_HEADER): Replaced macro by ...
7232 (cpp_in_system_header): ... new inline function, using buffer's sysp.
7233 * cpperror.c (_cpp_begin_message): Update to use cpp_in_system_header.
7234 * cpplex.c (_cpp_lex_direct): Likewise.
7235 * cppmacro.c (_cpp_builtin_macro_text): Likewise.
7236 * cppmacro.c (_cpp_create_definition): Use buffer's sysp field.
7237 * cpplib.h (struct cpp_token): Rename line field to src_loc.
7238 Remove col field as it is now subsumed by src_loc.
7239 * cpperror.c: Update various field, parameter, and macro names.
7240 (print_location): If col==0, try SOURCE_COLUMN of line.
7241 (cpp_error): Use cur_token's src_loc field, rather than line+col.
7242 * cpplib.c (do_diagnostic): Token's src_loc fields replaces line+col.
7243 * cpplex.c (_cpp_process_line_notes, _cpp_lex_direct,
7244 _cpp_skip_block_comment): Use CPP_INCREMENT_LINE.
7245 (_cpp_temp_token): Replace cpp_token's line+col fields by src_loc.
7246 (_cpp_get_fresh_line): Don't need to adjust line for missing newline.
7247 (_cpp_lex_direct): Use linemap_position_for_column.
7248 * c-ppoutput.c (maybe_print_line, print_line): Don't take map
7249 parameter. Instead get it from the line_table global. Adjust callers.
7250 (print): Remove map field. Replace line field to src_line.
7251 (init_pp_output, account_for_newlines, maybe_print_line): Adjust.
7252 (cb_line_change): Use SOURCE_COLUMN. Minor optimizations.
7253 (pp_file_change): Use MAIN_FILE_P since we cannot checked print.map.
7254 Use LAST_SOURCE_LINE_LOCATION to "catch up" after #include.
7255 * cpptrad.c (copy_comment): Rename variable.
7256 * c-lex.c (map): Remove static variable, for same reason we removed
7257 cpp_reader's map field.
7258 (cb_line_change, cb_def_pragma, cb_define, cb_undef): Hence we need
7259 to call linemap_lookup.
7260 (cb_line_change): Token's line field replaced by src_loc.
7261 (fe_file_change): Use MAINFILE_P and LAST_SOURCE_LINE macros.
7262 Don't save new_map.
7263
7264 * cpphash.h, cpperror.c, cpplib.h: Some renames of fileline to
7265 source_location.
7266
e086f51d 72672004-02-11 Hartmut Penner <hpenner@de.ibm.com>
423e95e2 7268
e086f51d
HP
7269 * config/rs6000/altivec.md (*movv4si_internal): At least one
7270 operand must be register_operand.
7271 (*movv8hi_internal1): Likewise.
7272 (*movv16qi_internal1): Likewise.
7273 (*movv4sf_internal1): Likewise.
7274
e66b2fcf 72752004-02-10 Aldy Hernandez <aldyh@redhat.com>
8914b65e
AH
7276
7277 * config/rs6000/spe.md ("*movv2si_internal"): Check for register
7278 operand.
7279 (movv4hi_internal): Same.
7280 (movv2sf_internal): Same.
7281 (movv1di_internal): Same.
e66b2fcf 7282
7f9be256
TS
72832004-02-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7284
7285 * config/mips/mips.h (TARGET_OLDABI): Define. Use TARGET_NEWABI and
c0689841 7286 TARGET_OLDABI consistently.
7f9be256
TS
7287 * config/mips/mips.c (function_arg,mips_setup_incoming_varargs,
7288 mips_va_arg,override_options,compute_frame_size,
7289 mips_initial_elimination_offset,mips16_fp_args,build_mips16_call_stub
7290 ,mips_return_in_memory,mips_strict_argument_naming): Use TARGET_NEWABI
c0689841 7291 and TARGET_OLDABI consistently.
7f9be256
TS
7292 * config/mips/mips.md (exception_receiver): Likewise.
7293 * config/mips/linux64.h: Likewise.
7294
6d0ef01e
HP
72952004-02-11 Hartmut Penner <hpenner@de.ibm.com>
7296
7297 * gcc/config/rs6000/rs6000.c (rs6000_override_options)
7298 Set AltiVec ABI and vrsave as default for ppc64 linux.
7299 (init_cumulative_args): Post error, if try to return
7300 value in AltiVec register without enable AltiVec.
423e95e2 7301 (function_arg_advance): Ditto for passing arguments.
6d0ef01e 7302
7537fc90
RS
73032004-02-11 Richard Sandiford <rsandifo@redhat.com>
7304
7305 * emit-rtl.c (mark_label_nuses): Check that a LABEL_REF refers to
7306 a label before updating its usage count.
7307
1e9f1674
MK
73082004-02-10 Matt Kraai <kraai@alumni.cmu.edu>
7309
9f0e2d86 7310 * doc/install.texi: Remove extra cd.
1e9f1674 7311
b34417a4
ZL
73122004-02-10 Ziemowit Laski <zlaski@apple.com>
7313
7314 * c-common.c (vector_size_helper): Remove; call
7315 reconstruct_complex_type() instead.
7316 * tree.c (reconstruct_complex_type): New function
7317 (formerly vector_size_helper() in c-common.c).
7318 (make_vector): Make externally visible.
7319 * tree.h (reconstruct_complex_type, make_vector): Add prototypes.
7320
a466bea3
KH
73212004-02-10 Kazu Hirata <kazu@cs.umass.edu>
7322
7323 * config/h8300/h8300-protos.h: Add a prototype for
7324 h8300_regs_ok_for_stm.
7325 * config/h8300/h8300.c (h8300_regs_ok_for_stm): New.
7326 * config/h8300/h8300.md (stm_h8300s_2_advanced,
7327 stm_h8300s_2_normal, stm_h8300s_2, stm_h8300s_3_advanced,
7328 stm_h8300s_3_normal, stm_h8300s_3, stm_h8300s_4_advanced,
7329 stm_h8300s_4_normal, stm_h8300s_4, ldm_h8300s_2_advanced,
7330 ldm_h8300s_2_normal, ldm_h8300s_2, ldm_h8300s_3_advanced,
7331 ldm_h8300s_3_normal, ldm_h8300s_3, ldm_h8300s_4_advanced,
7332 ldm_h8300s_4_normal, ldm_h8300s_4): Use
7333 h8300_regs_ok_for_stm().
7334
52bac949
DS
73352004-02-10 Danny Smith <dannysmith@users.sourceforge.net>
7336
7337 PR c/14088
896c3aa3 7338 * real.c (real_from_string): Look for 'X' as well as 'x' in
52bac949
DS
7339 hexfloat strings.
7340
2493deee
KH
73412004-02-10 Kazu Hirata <kazu@cs.umass.edu>
7342
7343 * config/h8300/h8300.md: Remove an incorrect comment about
7344 peephole2. Add comments.
7345
fbe6ec81
JZ
73462004-02-10 Josef Zlomek <zlomekj@suse.cz>
7347
7348 PR/14058
7349 * emit-rtl.c (set_decl_incoming_rtl): New.
7350 * tree.h (set_decl_incoming_rtl): New.
7351 * function.c (assign_parms): Use set_decl_incoming_rtl for setting
7352 DECL_INCOMING_RTL.
7353 * ada/misc.c (adjust_decl_rtl): Likewise.
7354
8a4baa83
PB
73552004-02-10 Per Bothner <per@bothner.com>
7356
7357 * c-opts.c (c_common_post_options): Don't emit working directory
7358 in cpp output if -P was specified.
7359
31cc6081
PB
73602004-02-10 Paolo Bonzini <bonzini@gnu.org>
7361
7362 PR c/14092
7363 * fold-const.c (fold) <NEGATE_EXPR>: Convert result of
7364 negate_expr back to the original type.
7365
d1d5c836
AM
73662004-02-10 Alan Modra <amodra@bigpond.net.au>
7367
7368 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't
7369 bump retaddr here.
7370
dad822d3
PB
73712004-02-10 Paolo Bonzini <bonzini@gnu.org>
7372
7373 * rtl.h (schedule_insns, schedule_ebbs, fix_sched_param,
7374 gen_lowpart_SUBREG): Move under the file in which they
7375 are actually declared.
7376
cd271054
AC
73772004-02-10 Arnaud Charlet <charlet@act-europe.fr>
7378
7379 * doc/sourcebuild.texi: Add libada documentation.
7380
7381 * doc/install.texi: Update documentation on Ada build, now
7382 that the GNAT lib and tools are built automatically.
7383
117c5858
RS
73842004-02-10 Richard Sandiford <rsandifo@redhat.com>
7385
7386 * config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI
7387 && TARGET_IRIX.
7388
42a1b62e
ZL
73892004-02-09 Ziemowit Laski <zlaski@apple.com>
7390
7391 * objc/objc-act.c (get_super_receiver): Move '#ifdef OBJCPLUS'
7392 boundaries outside build_component_ref() call (a macro in ObjC++).
7393
997b8b4d
BW
73942004-02-09 Bob Wilson <bob.wilson@acm.org>
7395
7396 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update.
7397 (init_cumulative_args): Likewise.
7398 (a7_overlap_mentioned_p): Delete prototype.
7399 * config/xtensa/xtensa.c (struct machine_function): Replace
7400 incoming_a7_copied field with need_a7_copy and vararg_a7 flags.
7401 Add set_frame_ptr_insn field.
7402 (xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7.
7403 (xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check
7404 if the operand is an argument in a7. If so, copy a7 to a new pseudo
7405 at the function entry and replace the operand with the pseudo.
7406 (init_cumulative_args): Remove unused arguments. Add new "incoming"
7407 argument and record this flag in CUMULATIVE_ARGS.
7408 (function_arg): Remove result_mode and special-case code to handle
7409 arguments in a7. Instead, set need_a7_copy flag when there is an
7410 incoming argument in a7.
7411 (xtensa_expand_prologue): Remove code to search for set_frame_ptr insn
7412 and use the value recorded in cfun->machine->set_frame_ptr_insn.
7413 (xtensa_builtin_saveregs): Check for negative gp_left value. Set
7414 need_a7_copy and vararg_a7 flags. Use move_block_from_reg instead of
7415 special-case code.
7416 (a7_overlap_mentioned_p): Delete.
7417 * config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag.
7418 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Remove useless
7419 arguments to init_cumulative_args and pass "incoming" flag instead.
7420 (BLOCK_REG_PADDING): Delete.
7421 * config/xtensa/xtensa.md (movdi, movsf, movdf): Remove unnecessary
7422 checks for reload_in_progress and reload_completed. Update calls to
7423 xtensa_copy_incoming_a7.
7424 (ashlsi3): Rename existing insn to ashlsi3_internal. Add expander
7425 to call xtensa_copy_incoming_a7.
7426
10709fbf
DD
74272004-02-09 DJ Delorie <dj@redhat.com>
7428
7429 * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): No
7430 longer modify standard_exec_prefix, standard_bindir_prefix, or
7431 standard_startfile_prefix.
7432
c76362b4
JW
74332004-02-09 James E Wilson <wilson@specifixinc.com>
7434
228ae085
JW
7435 PR c++/11295
7436 * c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call
7437 to expand_expr_real call, and pass in alt_rtl as last argument.
7438
c76362b4
JW
7439 PR libstdc++/5625
7440 * builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New.
7441 * builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER.
7442 * builtins.def (BUILT_IN_EXTEND_POINTER): New.
7443 * except.c (expand_builtin_extend_pointer): New.
7444 * except.h (expand_builtin_extend_pointer): Declare.
7445
d886a041
DE
74462004-02-09 David Edelsohn <edelsohn@gnu.org>
7447
7448 * config/rs6000/rs6000.c (rs6000_emit_move): Remove splitting slow
7449 unaligned loads and stores.
7450
756f76d0
RO
74512004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7452
7453 * config/mips/iris5.h (BSS_SECTION_ASM_OP): Define.
7454 * config/mips/iris6.h (BSS_SECTION_ASM_OP): Undef.
7455
7456 * config/mips/iris6.h (TARGET_ASM_NAMED_SECTION): Moved ...
7457 * config/mips/iris5.h: ... here.
7458 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Remove.
7459
7460 * config/mips/iris6.h (EXTRA_SECTION_FUNCTIONS): Move ...
7461 * config/mips/iris5.h: ... here.
7462
426ca3ca
RO
74632004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7464
7465 * configure.ac: Remove default executable files before AC_PROG_CC.
7466 * configure: Regenerate.
7467
500fc80f
KH
74682004-02-09 Kazu Hirata <kazu@cs.umass.edu>
7469
7470 PR target/13721
7471 * config/h8300/h8300.c (byte_reg): Call abort() if asked to
7472 print a operand other than a register.
7473
b83c4036
RS
74742004-02-09 Roger Sayle <roger@eyesopen.com>
7475
7476 * fold-const.c (fold) <NOP_EXPR>: Use the original type conversion
7477 tree code rather than call fold_convert, which doesn't specify a
7478 default floating point to integer conversion.
7479
3b4b85c9
BI
74802004-02-08 Bernardo Innocenti <bernie@develer.com>
7481
7482 * config/m68k/m68k.c, config/m68k/m68k.md (SGS, SGS_CMP_ORDER): Remove
7483 code to support SGS assembler. Reformat adjacent code where possible.
b83c4036
RS
7484 * config/m68k/m68k.c (switch_table_difference_label_flag): Remove
7485 definition.
7486 * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Remove support
7487 for '%#'.
3b4b85c9 7488 * config/m68k/linux.h, config/m68k/m68k.c,
b83c4036
RS
7489 * config/m68k/math-68881.h: Replace `%#' with `#' in inline asm
7490 macros and asm_printf() format strings.
3b4b85c9
BI
7491 * config/m68k/m68kelf.h (ASM_OUTPUT_CASE_END): Remove macro definition.
7492 * config/m68k/linux.h: Update copyright.
7493 * config/m68k/linux.h, config/m68k/m68k.c: Remove traling whitespace.
7494
01bbf777 74952004-02-08 Andreas Schwab <schwab@suse.de>
9f0e2d86 7496 Bernardo Innocenti <bernie@develer.com>
01bbf777
AS
7497
7498 * config/m68k/m68k.h (REGISTER_NAMES): Prefix each name with
7499 REGISTER_PREFIX.
7500 * (M68K_FP_REG_NAME): New macro to specify an alternate name for the
7501 frame pointer register, overridable by OS targets.
7502 * (M68K_REGNAME): Macro to obtain register name for asm output,
7503 eventually replacing %a6 with M68K_FP_REG_NAME.
7504 * config/m68k/coff.h (REGISTER_NAMES): Don't redefine.
7505 * config/m68k/linux.h (REGISTER_NAMES): Likewise.
7506 * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
7507 * config/m68k/netbsd-elf.h (REGISTER_NAMES): Likewise.
7508 * config/m68k/m68k.c: Use M68K_REGNAME(x) in place of reg_names[x].
7509
1f6acb82
KH
75102004-02-08 Kazu Hirata <kazu@cs.umass.edu>
7511
7512 * target-def.h (TARGET_STRUCT_VALUE_RTX): Define as
7513 hook_rtx_tree_int_null.
7514 * targhooks.c (default_struct_value_rtx): Remove.
7515 * targhooks.h: Remove the prototype for
7516 default_struct_value_rtx.
7517 * config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
7518 config/fr30/fr30.c, config/h8300/h8300.c, config/i386/i386.c,
7519 config/ip2k/ip2k.c, config/iq2000/iq2000.c,
7520 config/m32r/m32r.c, config/mcore/mcore.c, config/mips/mips.c,
7521 config/mn10300/mn10300.c, config/pdp11/pdp11.c,
7522 config/rs6000/rs6000.c, config/s390/s390.c,
7523 config/stormy16/stormy16.c, config/v850/v850.c,
7524 config/xtensa/xtensa.c (TARGET_STRUCT_VALUE_RTX): Remove.
7525 * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document the default.
7526
b46b8fb4
JM
75272004-02-08 Joseph S. Myers <jsm@polyomino.org.uk>
7528
7529 * README.Portability: Change "ISO C89" to "ISO C90".
7530 * c-parse.in (primary, initelt): Likewise.
7531
7c476bde
RS
75322004-02-08 Richard Sandiford <rsandifo@redhat.com>
7533
7534 * real.c (encode_ibm_extended): Normalize the input value before
7535 converting it to a double. Handle the case where a normal value
7536 rounds to infinity.
7537
56ae04af
KH
75382004-02-08 Kazu Hirata <kazu@cs.umass.edu>
7539
f934561e
KH
7540 * c-objc-common.c (c_cannot_inline_tree_fn): Fix a typo in a
7541 warning.
56ae04af
KH
7542 * cse.c (preferrable): Change to preferable. Update all of its
7543 callers.
7544 * genautomata.c (ainsn): Change
7545 first_ainsn_with_given_equialence_num to
7546 first_ainsn_with_given_equivalence_num. Update all of its
7547 references.
7548
ec1dbfca
JH
75492004-02-08 Jan Hubicka <jh@suse.cz>
7550
7551 * schedule-ebb.c (schedule_ebbs): Do not allocate reg life data.
7552
f276fb54
DE
75532004-02-07 David Edelsohn <edelsohn@gnu.org>
7554
7555 * function.c (assign_parms): Fix formatting.
7556
fefcb65c
KH
75572004-02-07 Kazu Hirata <kazu@cs.umass.edu>
7558
7559 * default.h (PROMOTE_PROTOTYPES): Remove.
7560 * system.h (PROMOTE_FUNCTION_RETURN, PROMOTE_PROTOTYPES,
7561 STRUCT_VALUE_REGNUM, SETUP_INCOMING_VARARGS,
7562 EXPAND_BUILTIN_SAVEREGS): Poison.
7563 * target-def.h (TARGET_PROMOTE_FUNCTION_RETURN): Define as
7564 hook_bool_tree_false.
7565 (TARGET_PROMOTE_PROTOTYPES): Likewise.
7566 * target.h: Replace SETUP_INCOMING_VARARGS with
7567 targetm.calls.setup_incoming_varargs().
7568 * targhooks.c (default_promote_function_return): Remove.
7569 (default_promote_prototypes): Likewise.
7570 (default_struct_value_rtx): Always abort().
7571 (default_expand_builtin_saveregs): Always print an error
7572 message.
7573 (default_setup_incoming_varargs): Do nothing.
7574 (default_pretend_outgoing_varargs_named): Don't depend on
7575 SETUP_INCOMING_VARARGS.
7576 * targhooks.h: Remove the prototype for
7577 default_promote_function_return and
7578 default_promote_prototypes.
7579
dc79b3b8
KH
75802004-02-07 Kazu Hirata <kazu@cs.umass.edu>
7581
7582 * system.h (SHARED_SECTION_ASM_OP): Poison.
7583 * varasm.c (data_section): Don't use SHARED_SECTION_ASM_OP.
7584 * doc/tm.texi (SHARED_SECTION_ASM_OP): Remove.
7585
a6f78652
ZW
75862004-02-07 Zack Weinberg <zack@codesourcery.com>
7587
7588 Bug 13856
7589 * c-decl.c (diagnose_mismatched_decls): Only give special
7590 treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE
7591 is also true.
7592 (merge_decls): Don't clear DECL_BUILT_IN_CLASS and
7593 DECL_FUNCTION_CODE when defining a built-in function.
7594 Don't update DECL_ESTIMATED_INSNS.
7595 * dwarf2out.c (dwarf2out_decl): Don't ignore built-in
7596 FUNCTION_DECLs.
7597 * tree.h: Delete DECL_ESTIMATED_INSNS.
7598 * tree-inline.c (struct inline_data): Delete inlined_insns field.
7599 (expand_call_inline, optimize_inline_calls): Don't update
7600 DECL_ESTIMATED_INSNS nor inlined_insns.
7601 * cgraphunit.c (cgraph_analyze_function): Don't update
7602 DECL_ESTIMATED_INSNS.
7603
76042004-02-07 Zack Weinberg <zack@codesourcery.com>
7605
7606 * c-common.c (shadow_warning): Delete.
7607 * c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete.
7608 * c-decl.c (warn_if_shadowing): Issue shadow warnings directly.
7609 * c-opts.c (c_common_parse_file): Don't call free_parser_stacks.
7610 * c-parse.in (free_parser_stacks): Delete.
7611
947c6b00
NN
76122004-02-07 Nathanael Nerode <neroden@gcc.gnu.org>
7613
7614 * Makefile.in, config/t-slibgcc-darwin, config/t-slibgcc-elf-ver,
7615 config/t-slibgcc-sld, config/mips/t-iris5-6, config/sh/t-linux:
7616 Use the top level mkinstalldirs, not the one in the gcc subdir.
7617 * mkinstalldirs: Remove (from the gcc subdir).
7618
088414c1
RS
76192004-02-07 Roger Sayle <roger@eyesopen.com>
7620
7621 PR middle-end/13696
7622 * fold-const.c (fold_convert): New function to provide type
7623 conversion to the middle-end without using convert.
7624 (negate_expr, associate_trees, size_diffop, omit_one_operand,
7625 operand_equal_for_comparison_p, pedantic_omit_one_operand,
7626 invert_truthvalue, optimize_bit_field_compare, range_binop,
7627 decode_field_reference, make_range, build_range_check, unextend,
7628 fold_truthop, extract_muldiv_1, fold_mathfn_compare,
7629 fold_binary_op_with_conditional_arg, fold_inf_compare,
7630 fold_single_bit_test, fold, multiple_of_p): Replace all calls to
7631 convert with calls to fold_convert.
7632
076963eb
JH
76332004-02-07 Jan Hubicka <jh@suse.cz>
7634
7635 * genrecog.c (find_operand): add extra argument stop.
7636 (validate_pattern): Verify that mach_dup is duplicating operand
7637 defined lexically earlier.
7638
1197924d
KH
76392004-02-07 Kazu Hirata <kazu@cs.umass.edu>
7640
7641 * config.gcc: Don't mention MAX_LONG_TYPE_SIZE.
7642 * system.h (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
7643 MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Poison.
7644 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
7645 config/ia64/ia64.h, config/ip2k/ip2k.h,
7646 config/iq2000/iq2000.h, config/mips/iris5.h,
7647 config/mips/mips.h, config/pa/pa-64.h, config/pa/pa.h,
7648 config/rs6000/aix51.h, config/rs6000/aix52.h,
7649 config/rs6000/darwin.h, config/rs6000/rs6000.h,
7650 config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h,
7651 config/sparc/linux.h, config/sparc/linux64.h,
7652 config/sparc/netbsd-elf.h, config/sparc/sparc.h,
7653 config/xtensa/xtensa.h: Remove the definitions of
7654 MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, and/or
7655 MAX_WCHAR_TYPE_SIZE.
7656 * doc/tm.texi (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
7657 MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Remove.
7658
883899ee
SC
76592004-02-07 Stephane Carrez <stcarrez@nerim.fr>
7660
7661 PR bootstrap/13990
7662 * config/m68hc11/m68hc11.md ("doloop_end"): Pass dummy arguments to
7663 gen_rtx_NE.
7664
f6e215cc
JZ
76652004-02-07 Josef Zlomek <zlomekj@suse.cz>
7666
7667 * var-tracking.c (vt_add_function_parameters): Surround checkings by
7668 #ifdef ENABLE_CHECKING and #endif.
7669
dfb36f9b
RS
76702004-02-07 Roger Sayle <roger@eyesopen.com>
7671
7672 * fold-const.c (negate_expr_p, negate_expr): Optimize -(A+B) into
7673 either (-A)-B or (-B)-A, if A or B is easily negated respectively.
7674 (fold) <MINUS_EXPR>: Optimize (A*C) - (B*C) -> (A-B)*C for both
7675 integer types and floating point with unsafe_math_optimizations.
7676 Add similar optimization for (A*C1) - (A*C2) -> A*(C1-C2).
7677 Optimize A - B as A + (-B), if B is easily negated.
7678
0ea5865c
KH
76792004-02-07 Kazu Hirata <kazu@cs.umass.edu>
7680
7681 * c-ppoutput.c, cfganal.c, diagnostic.h, print-rtl.c,
7682 config/darwin.c, config/darwin.h, config/ia64/ia64-c.c,
7683 config/m32r/linux.h, config/rs6000/ppc64-fp.c,
7684 config/sparc/openbsd.h, doc/makefile.texi, doc/passes.texi:
7685 Update copyright.
7686
fb0840fc
KH
76872004-02-07 Kazu Hirata <kazu@cs.umass.edu>
7688
7689 * c-ppoutput.c, var-tracking.c: Fix comment typos.
7690
468c45a3
JW
76912004-02-06 James E Wilson <wilson@specifixinc.com>
7692
7693 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for
7694 glibc 2.3 or better.
7695
9c917669
KH
76962004-02-06 Kazu Hirata <kazu@cs.umass.edu>
7697
7698 * doc/tm.texi (TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL): Change
7699 to FLOAT_LIB_COMPARE_RETURNS_BOOL.
7700
fb7e4164
AM
77012004-02-07 Alan Modra <amodra@bigpond.net.au>
7702
7703 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
7704 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
7705 (SHLIB_MKMAP_OPTS): Delete.
7706 (TARGET_LIBGCC2_CFLAGS): Add -specs.
7707 (bispecs): Add rule.
7708 * config/rs6000/libgcc-ppc64.ver: New file.
7709 * config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions.
7710 (__floatdidf, __floatdisf): Optimize multiply.
7711 (__fixunstfdi): New function.
7712 * config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for
7713 real and imag parts larger than one register.
7714 (function_arg): Correct type of reg used when fp arg split partially
7715 to stack.
7716 * config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT
7717 and __MACH__ or __powerpc64__.
7718
254878ea
RS
77192004-02-06 Roger Sayle <roger@eyesopen.com>
7720 Ulrich Weigand <uweigand@de.ibm.com>
7721
7722 * builtins.c (expand_builtin_signbit): Use extract_bit_field instead
7723 of gen_highpart or gen_lowpart when the floating point format is
7724 wider than the result mode.
7725
b1053160
AP
77262004-02-06 Andrew Pinski <pinskia@physics.uc.edu>
7727
a6f78652 7728 * dwarf2out.c (loclabel_num): Move into #ifdef
b1053160
AP
7729 DWARF2_DEBUGGING_INFO.
7730
25fe8680
ZL
77312004-02-06 Ziemowit Laski <zlaski@apple.com>
7732
7733 * objc/objc-act.c (build_super_template) the 'class' field of
7734 'struct _objc_super' shall be named 'super_class' #ifdef OBJCPLUS.
7735 (get_super_receiver): Likewise.
7736
761fa0f7
KH
77372004-02-06 Kazu Hirata <kazu@cs.umass.edu>
7738
7739 * reload1.c (check_eliminable_occurrences): Optimize the reset
7740 of can_eliminate.
7741 (eliminate_regs_in_insn): Likewise.
7742
0a2d3d69 77432004-02-06 Daniel Berlin <dberlin@dberlin.org>
a6f78652 7744 Josef Zlomek <zlomekj@suse.cz>
0a2d3d69
DB
7745
7746 * dwarf2out.c (struct gcc_debug_hooks): Call dwarf2out_begin_function
7747 at the beginning of function, call dwarf2out_var_location for
7748 NOTE_INSN_VAR_LOCATION note.
7749 (struct var_loc_node, struct var_loc_list_def, loclabel_num,
7750 decl_loc_table): New.
7751 (lookup_decl_loc): New function.
7752 (add_var_loc_to_decl): New function.
7753 (based_loc_descr): Added parameter can_use_fbreg, DW_OP_fbreg is used
7754 only if can_use_fbreg.
7755 (mem_loc_descriptor): Added parameter can_use_fbreg, pass it to other
7756 functions.
7757 (loc_descriptor): Likewise. Process VAR_LOCATION.
7758 (concat_loc_descriptor): Call loc_descriptor with can_use_fbreg == true.
7759 (loc_descriptor_from_tree): Call mem_loc_descriptor with
7760 can_use_fbreg == true.
7761 (add_location_or_const_value_attribute): Added parameter enum
7762 dwarf_attribute attr, generate attribute ATTR. Create the location list.
7763 (add_bound_info): Call loc_descriptor with can_use_fbreg == true.
7764 (gen_formal_parameter_die): Call add_location_or_const_value_attribute
7765 with attr == DW_AT_location.
7766 (gen_subprogram_die): Generate the location list for DW_AT_frame_base
7767 if frame_base_decl is defined and has a location list.
7768 (gen_variable_die): Call add_location_or_const_value_attribute with
7769 attr == DW_AT_location.
7770 (dwarf2out_var_location): New function.
7771 (dwarf2out_begin_function): New function.
7772 (dwarf2out_init): Create decl_loc_table.
7773
1f0db3df
UW
77742004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
7775
7776 * loop.c (force_movables): Transitively increase the priorities of
7777 all insns forces by an insn, not just the first one.
7778
014a1138 77792004-02-06 Josef Zlomek <zlomekj@suse.cz>
a6f78652 7780 Daniel Berlin <dberlin@dberlin.org>
014a1138
JZ
7781
7782 Josef Zlomek <zlomekj@suse.cz>
7783 * Makefile.in (var-tracking.o): New.
7784 * common.opt (fvar-tracking): New.
7785 * flags.h (flag_var_tracking): New.
7786 * gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added.
7787 * opts.c (common_handle_option): Add OPT_fvar_tracking.
7788 * print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added.
a6f78652
ZW
7789 * rtl.c (note_insn_name): Likewise.
7790 * rtl.def (VAR_LOCATION): New.
7791 * rtl.h (NOTE_VAR_LOCATION): New.
7792 (NOTE_VAR_LOCATION_DECL): New.
7793 (NOTE_VAR_LOCATION_LOC): New.
7794 (enum insn_note): NOTE_INSN_VAR_LOCATION was added.
7795 (variable_tracking_main): New exported function.
7796 * timevar.def (TV_VAR_TRACKING): New.
7797 * toplev.c (enum dump_file_index): Added DFI_vartrack.
7798 (dump_file): "vartrack" was added (-dV).
7799 (flag_var_tracking): New.
7800 (f_options): "var-tracking" was added.
014a1138 7801 (rest_of_handle_variable_tracking): New function.
a6f78652 7802 (rest_of_compilation): Run variable tracking.
014a1138
JZ
7803 (process_options): If user has not specified flag_var_tracking set it
7804 according to optimize, debug_info_level and debug_hooks.
7805 * tree.h (frame_base_decl): New.
a6f78652 7806 * var-tracking.c: New file.
014a1138
JZ
7807 * config/ia64/ia64.c (ia64_flag_var_tracking): New variable.
7808 (ia64_override_options): Set flags to run variable tracking in machine
7809 dependent reorg instead of toplev.c.
7810 (ia64_reorg): Run variable tracking if wanted.
a6f78652 7811 * doc/invoke.texi: Mention variable tracking in -dV,
014a1138 7812 add and -fvar-tracking.
a6f78652 7813 * doc/passes.texi: Added variable tracking pass.
014a1138
JZ
7814
7815 Daniel Berlin <dberlin@dberlin.org>
7816 * debug.h (struct gcc_debug_hooks): Added var_location debug hook.
7817 * dbxout.c (dbx_debug_hooks): Likewise.
7818 (xcoff_debug): Likewise.
7819 * debug.c (do_nothing_debug_hooks): Likewise.
7820 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
7821 * dwarfout.c (dwarf_debug_hooks): Likewise.
7822 * sdbout.c (sdb_debug_hooks): Likewise.
7823 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
a6f78652
ZW
7824 * final.c (final_scan_insn): Call var_location debug hook for each
7825 NOTE_INSN_VAR_LOCATION.
014a1138 7826
298c28a8
JH
78272004-02-06 Jan Hubicka <jh@suse.cz>
7828
7829 * flow.c (update_life_info): Allocate reg_deaths when called from
7830 scheudler.
7831 (attempt_auto_inc): Update life ranges accordingly.
7832
3199cb41
UW
78332004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
7834
7835 PR debug/11816
7836 * dwarf2out.c (gen_decl_die): Handle anonymous struct members.
7837
1a6dd8a2
UW
78382004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
7839
7840 * cfganal.c (flow_call_edges_add): Never split a libcall block.
7841
1711adc2
DB
78422004-02-06 Daniel Berlin <dberlin@dberlin.org>
7843
7844 * dwarf2out.c (output_loc_list): Don't use deltas if we have
7845 a separate line info table in use.
7846 Use the correct size for terminators.
7847 (output_die): Use offset, not delta.
7848
b1e5a971
L
78492004-02-06 H.J. Lu <hongjiu.lu@intel.com>
7850
7851 * doc/invoke.texi: Remove the pni option from -mfpmath=.
7852
736b64dd
JH
78532004-02-06 Jan Hubicka <jh@suse.cz>
7854
7855 * recog.c (split_all_insns): Do not update reg info.
7856 * regrename.c (regrename_optimize): Likewise.
7857 * toplev.c (rest_of_handle_reorder_blocks): Likewise.
7858 * flow.c (struct propagate_block_info): Add insn_num field.
7859 (reg_deaths): New array.
7860 (life_analysis): Free reg_deaths info.
7861 (allocate_reg_life_data): Allocate reg_deaths array.
7862 (propagate_one_insn): Use new array.
7863 (init_propagate_block): Initialize it.
7864 (free_propagate_block_info): Finish compuation of
7865 REG_LIVE_LENGTH
7866 (attempt_auto_inc): Sanity check that REG_INFO is not
7867 computed at same time.
7868 (mark_used_regs): Update new array.
7869
7870 * reg-stack.c (subst_stack_regs): Unshare clobbers before
7871 substitution.
7872
eb457a7a
KH
78732004-02-06 Kazu Hirata <kazu@cs.umass.edu>
7874
7875 * config/s390/s390.md (*extendsiqi2_short_displ): Change to
7876 *extendqisi2_short_displ.
7877
0f6937fe
AM
78782004-02-06 Alan Modra <amodra@bigpond.net.au>
7879
7880 * doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco.
7881 * calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS.
7882 (emit_library_call_value_1): Likewise pass nargs.
7883 * expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here.
7884 * function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS.
7885 * config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args
7886 parameter instead of scanning TYPE_ARGS_TYPES to count args.
7887 * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
7888 prototype.
7889 * config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg.
7890 (INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000.
7891 (INIT_CUMULATIVE_LIBCALL_ARGS): Set extra arg to 0.
7892 * config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to
7893 INIT_CUMULATIVE_ARGS.
7894 * config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update.
7895 * config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h,
7896 config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
7897 config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.h,
7898 config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
7899 config/ia64/ia64.h, config/ip2k/ip2k.h, config/iq2000/iq2000.h,
7900 config/iq2000/iq2000.c, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
7901 config/m68k/m68k.h, config/mcore/mcore.h, config/mips/mips.h,
7902 config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h,
07711f53 7903 config/pa/pa.h, config/pdp11/pdp11.h, config/s390/s390.h,
0f6937fe
AM
7904 config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
7905 config/v850/v850.h, config/vax/vax.h, config/xtensa/xtensa.h: Likewise.
7906
11b635fe
KH
79072004-02-06 Kazu Hirata <kazu@cs.umass.edu>
7908
7909 * genemit.c (gen_exp) [CONST_INT]: Use const_int_rtx whenever
7910 possible.
7911
ace3ffcd
KH
79122004-02-06 Kazu Hirata <kazu@cs.umass.edu>
7913
7914 * reload1.c (eliminate_regs_in_insn): If a set has a REG_EQUAL
7915 note containing (plus (reg) (const_int)), where reg is an
7916 eliminable reg, then perform the register elimination without
7917 depending on eliminate_regs().
7918
78bc94a2
KH
79192004-02-06 Kazu Hirata <kazu@cs.umass.edu>
7920
7921 * config/arc/arc.c (arc_return_in_memory): Check the return
7922 value of int_size_in_bytes against -1. Don't check
7923 TREE_ADDRESSABLE.
7924 * config/avr/avr.c (avr_return_in_memory): Check the return
7925 value of int_size_in_bytes against -1.
7926 * config/ip2k/ip2k.c (ip2k_return_in_memory): Likewise.
7927 * config/m68hc11/m68hc11.c (m68hc11_return_in_memory):
7928 Likewise.
7929 * config/mcore/mcore.c (mcore_return_in_memory): Likewise.
7930 * config/stormy16/stormy16.c (xstormy16_return_in_memory):
7931 Likewise.
7932
d8c2bed3
KH
79332004-02-06 Kazu Hirata <kazu@cs.umass.edu>
7934
7935 * config/frv/frv-protos.h: Remove the prototype for
7936 frv_setup_incoming_varargs.
7937 * config/frv/frv.c (TARGET_SETUP_INCOMING_VARARGS): New.
7938 (frv_setup_incoming_varargs): Make it static.
7939 * config/frv/frv.h (SETUP_INCOMING_VARARGS): Remove.
7940
3e29e2aa
KH
79412004-02-06 Kazu Hirata <kazu@cs.umass.edu>
7942
7943 * config/fr30/fr30-protos.h: Remove the prototype for
7944 fr30_setup_incoming_varargs.
7945 Update the prototypes for fr30_num_arg_regs and
7946 fr30_function_arg_partial_nregs.
7947 * config/fr30/fr30.c (TARGET_STRUCT_VALUE_RTX): New.
7948 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
7949 (fr30_setup_incoming_varargs): Make it static.
7950 Add argument second_time. Don't do anything when second_time
7951 is nonzero.
7952 (fr30_num_arg_regs): Change the type of the first argument to
7953 enum machine_mode.
7954 (fr30_function_arg_partial_nregs): Change the type of the
7955 second argument to enum machine_mode.
7956 * config/fr30/fr30.h (STRUCT_VALUE): Remove.
7957 (SETUP_INCOMING_VARARGS): Remove.
7958
07ba2efb
KH
79592004-02-06 Kazu Hirata <kazu@cs.umass.edu>
7960
7961 * config/arc/arc-protos.h: Remove the prototype for
7962 arc_setup_incoming_varargs.
7963 * config/arc/arc.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
7964 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
7965 (arc_setup_incoming_varargs): Make it static.
7966 (arc_external_libcall): Likewise.
7967 * config/arc/arc.h (SETUP_INCOMING_VARARGS): Remove.
7968 Remove the commented-out definition of
7969 ASM_OUTPUT_EXTERNAL_LIBCALL.
7970
f4954ff1
ST
79712004-02-05 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
7972
7973 * config/sh/t-linux (SHLIB_INSTALL): Prepend $$(DESTDIR)
7974 to $$(slibdir) in the installation commands.
7975
403c659c
DE
79762004-02-05 David Edelsohn <edelsohn@gnu.org>
7977
7978 * reload.c (refers_to_regno_for_reload_p): Index hard_regno_nregs
7979 with inner_regno, not regno.
7980 * rtlanal.c (refers_to_regno_p): Same.
7981
5b547172
KH
79822004-02-05 Kazu Hirata <kazu@cs.umass.edu>
7983
7984 * config.gcc: Remove i370 support.
7985
ce5c1cf3
KC
79862004-02-05 Kelley Cook <kcook@gcc.gnu.org>
7987
7988 * doc/install.texi: Update automake and autoconf version
7989 requirements. Note where to find gcj automake version.
7990
79912004-02-05 Kelley Cook <kcook@gcc.gnu.org>
7992
7993 * Makefile.in (generate-manpages): Move dependencies to ...
7994 (man): here.
7995 * doc/makefile.texi: Document new targets.
7996 * doc/sourcebuild.texi (Make-lang.in): Document new langhooks.
7997
02ba6b22
KC
79982004-02-05 Kelley Cook <kcook@gcc.gnu.org>
7999
8000 PR/13485
8001 Makefile.in (srcextra): Add a level of indirection to ...
8002 (gcc.srcextra): ... here.
8003 (po-generated): Delete.
8004 (po/$(PACKAGE).pot: Use srcextra instead of po-generated. Depend on
8005 options.c.
8006 (start.encap): Remove superfluous lang.srcextra dependency.
8007 objc/Make-lang.in (po-generated): Delete.
8008
66fcab25
KH
80092004-02-05 Kazu Hirata <kazu@cs.umass.edu>
8010
8011 * config/ia64/ia64.c (REG_GP): Remove.
8012
89a95129
RO
80132004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8014
8015 * config/mips/iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
8016
9733d507
DP
80172004-02-05 Devang Patel <dpatel@apple.com>
8018
8019 * dwarf2out.c (force_type_die): Look up input type itself
8020 instead of root_type() of type.
a6f78652 8021
19796784
AK
80222004-02-05 Andreas Krebbel <krebbel1@de.ibm.com>
8023
8024 * config/s390/s390.md ("*tmqidi_ext"): New insn.
8025 ("*extendqidi2_short_displ", "*extendsiqi2_short_displ"): Old
8026 pre-reload splitters are transformed to post-reload
8027 define_insn_and_split patterns.
8028 ("*tmqisi_ext"): Renamed old "*tmqi_ext".
8029
136e64db
KH
80302004-02-05 Kazu Hirata <kazu@cs.umass.edu>
8031
8032 * config/cris/cris.h: Replace PROMOTE_PROTOTYPES with
8033 TARGET_PROMOTE_PROTOTYPES.
8034
839ee4bc
RO
80352004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8036
8037 PR middle-end/13750
8038 Revert:
8039 2004-01-15 Geoffrey Keating <geoffk@apple.com>
8040 PR pch/13361
8041 * c-typeck.c (constructor_asmspec): Delete.
8042 (struct initializer_stack): Delete field 'asmspec'.
8043 (start_init): Delete saving of asmspec.
8044 (finish_init): Don't update constructor_asmspec.
8045 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
8046 * stmt.c (expand_asm): Duplicate strings from tree.
8047 (expand_asm_operands): Likewise.
8048 * tree.c (tree_size): Update computation of size of STRING_CST.
8049 (make_node): Don't make STRING_CST nodes.
8050 (build_string): Allocate string with tree node.
8051 * tree.def (STRING_CST): Update comment.
8052 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
8053 (tree_string): Place contents of string in tree node.
8054 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
8055 from tree.
8056
687d688e
JM
80572004-02-05 Joseph S. Myers <jsm@polyomino.org.uk>
8058
8059 * diagnostic.h (DEFINE_DIAGNOSTIC_KIND): Change parameter M to
8060 msgid.
8061
20a20bf0
DN
80622004-02-05 Dorit Naishlos <dorit@il.ibm.com>
8063
8064 * config/rs6000/altivec.md (*movv4si_internal): At least one
8065 operand must be altivec_register_operand.
8066 (*movv8hi_internal1): Likewise.
8067 (*movv16qi_internal1): Likewise.
8068 (*movv4sf_internal1): Likewise.
8069
6b37db3c
DE
80702004-02-05 David Edelsohn <edelsohn@gnu.org>
8071
8072 * configure.ac (gcc_cv_as_powerpc_mfcrf): Correct test for mfcr.
8073 * configure: Regenerate.
8074
e0b24bce
JW
80752004-02-05 Jonathan Wakely <redi@gcc.gnu.org>
8076
8077 * doc/install.texi: Update description of --gxx-include-dir to
8078 give correct default value.
8079
2dca8ddb
KH
80802004-02-05 Kazu Hirata <kazu@cs.umass.edu>
8081
8082 * config/h8300/h8300.h (REG_OK_FOR_BASE_NONSTRICT_P): Replace
8083 8 with MAC_REG.
8084
92fd5e41
KH
80852004-02-05 Kazu Hirata <kazu@cs.umass.edu>
8086
8087 * config/pa/pa.c (emit_hpdiv_const): Replace gen_rtx with
8088 gen_rtx_PARALLEL.
8089
f822fcf7
KH
80902004-02-05 Kazu Hirata <kazu@cs.umass.edu>
8091
8092 * emit-rtl.c: Update the comment about the file.
8093
4ef84575
JM
80942004-02-05 Joseph S. Myers <jsm@polyomino.org.uk>
8095
8096 * sourcebuild.texi (Test Idioms): Update testcase naming
8097 conventions.
8098
8e9ea4d7
PB
80992004-02-04 Per Bothner <per@bothner.com>
8100
8101 Partially revert/redo 2003-10-01 change; fix -fworking-directory.
8102 * c-ppoutput.c (pp_dir_change): New function.
8103 * c-common.h (pp_dir_change): New declaration.
8104 * cpplib.h (struct cpp_options): Remove working_directory field.
8105 * cppinit.c (cpp_find_main_file, cpp_push_main_file): Merge back to
8106 (cpp_read_main_file): as before 10-01. Call _cpp_stack_file.
8107 Don't handle -fworking_directory here, but in c_common_post_options.
8108 (read_original_directory): Don't back up when done.
8109 Don't clear no-longer used working_directory flag.
8110 * cpplib.h: Update declarations to match.
8111 * c-lex.c (cb_dir_change): Move to c-opts.c.
8112 (init_c_lex): Don't set dir_change callback here, since we want
8113 to set it even if flag_preprocess_only.
8114 * c-opts.c (cb_dir_change): Function moved from c-lex.c.
8115 (c_common_post_options): Set dir_change callback.
8116 Call pp_dir_change if approporiate.
8117 (finish_options): Don't call cpp_find_main_file here. Hence remove
8118 unneeded parameter and result. Do LC_RENAME for <built-in>.
8119 (c_common_post_options): Call cpp_read_main_file here instead.
8120 (c_common_init): Update accordingly.
8121 (push_command_line_include): Don't cpp_push_main_file.
8122 Do LC_RENAME rather than LC_LEASE to get back to main file.
8123 Compared to pre-10-01 version, inline cpp_rename_to_main_file.
8124 (c_common_parse_file): Call cpp_read_main_file for subsequent main
8125 files, but call finish_options for all files.
8126 * c-opts.c (sanitize_cpp_opts): Don't set cpp_opts->working_directory.
8127 * fix-header.c (read_scan_file): Call cpp_read_main_file instead of
8128 cpp_find_main_file + cpp_push_main_file.
8129 * c-lex.c (fe_file_change): Don't set main_input_filename here.
8130 * opts.c (handle_options): Only set main_input_filename first time.
8131
5384443a
ILT
81322004-02-05 Ian Lance Taylor <ian@wasabisystems.com>
8133
8134 * config/arm/arm.h (REG_CLASS_NAMES): Add missing comma.
8135
3c241c19
GK
81362004-02-04 Geoffrey Keating <geoffk@apple.com>
8137
8138 * reload.c (find_equiv_reg): When checking for register overlap,
8139 don't index hard_regno_nregs with a pseudo-reg.
8140
a322288b
UW
81412004-02-04 Ulrich Weigand <uweigand@de.ibm.com>
8142
8143 * config/s390/s390.c (s390_trampoline_template): Remove gen_rtx().
8144
859b9c1d
DE
81452004-02-04 David Edelsohn <edelsohn@gnu.org>
8146
8147 * reload.c (refers_to_regno_for_reload_p): Test regno, not inner_regno,
8148 against FIRST_PSEUDO_REGISTER.
8149
7e63a64e
RO
81502004-02-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8151
8152 * Makefile.in: Move target, host overrides after per-language
8153 fragments.
8154
8155 * config/mips/t-iris5-as (FORCE_DEBUG_ADAFLAGS): Clear.
8156 (GNATLIBCFLAGS): Remove -g.
8157
5efb1046
KH
81582004-02-04 Kazu Hirata <kazu@cs.umass.edu>
8159
8160 * config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
8161 config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
8162 config/ia64/ia64.c, config/ia64/unwind-ia64.c,
8163 config/m32r/m32r.c, config/ns32k/ns32k.c, config/pa/pa.c,
8164 config/pdp11/pdp11.c, config/rs6000/rs6000.c,
8165 config/sparc/sparc.c, config/vax/vax.c: Revert the
8166 replacements of "FALLTHRU" with "Fall through" done in the
8167 previous patch.
8168
ff482c8d
KH
81692004-02-04 Kazu Hirata <kazu@cs.umass.edu>
8170
8171 * config/darwin.c, config/darwin.h, config/freebsd-spec.h,
8172 config/arm/arm.c, config/arm/arm.md,
8173 config/cris/cris-protos.h, config/fr30/fr30.c,
8174 config/fr30/fr30.h, config/h8300/h8300.c, config/i386/i386.h,
8175 config/i860/i860.c, config/i860/i860.h, config/ia64/ia64-c.c,
8176 config/ia64/ia64.c, config/ia64/ia64.h, config/ip2k/ip2k.h,
8177 config/ip2k/ip2k.md, config/ip2k/libgcc.S,
8178 config/m32r/linux.h, config/m32r/m32r.c, config/m32r/m32r.h,
8179 config/m68k/m68k.c, config/m68k/netbsd-elf.h,
8180 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.md,
8181 config/ns32k/netbsd.h, config/ns32k/ns32k.c,
8182 config/ns32k/ns32k.h, config/pdp11/pdp11.h,
8183 config/rs6000/darwin-ldouble.c, config/s390/s390.h,
8184 config/s390/s390.md, config/sparc/netbsd-elf.h,
8185 config/sparc/openbsd.h, config/sparc/sparc.c,
8186 config/xtensa/lib2funcs.S: Fix comment formatting.
8187
59b9a953
KH
81882004-02-04 Kazu Hirata <kazu@cs.umass.edu>
8189
8190 * config/alpha/alpha.c, config/arc/arc.c,
8191 config/arm/arm-cores.def, config/arm/arm.c, config/arm/arm.h,
8192 config/arm/arm1026ejs.md, config/arm/arm1136jfs.md,
8193 config/arm/arm926ejs.md, config/arm/vfp.md, config/avr/avr.c,
8194 config/c4x/c4x.c, config/cris/cris.c, config/frv/frv.md,
8195 config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
8196 config/ia64/ia64.c, config/ia64/unwind-ia64.c,
8197 config/iq2000/iq2000.c, config/m32r/m32r.c,
8198 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
8199 config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
8200 config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c,
8201 config/rs6000/rs6000.h, config/sparc/sparc.c,
8202 config/vax/vax.c: Fix comment typos. Follow spelling
8203 conventions.
8204
e146f815
KH
82052004-02-04 Kazu Hirata <kazu@cs.umass.edu>
8206
8207 * alloc-pool.h, c-convert.c, c-lang.c, c-tree.h,
8208 caller-save.c, df.h, genconfig.c, global.c, lcm.c,
8209 ra-rewrite.c, ra.c, regclass.c, regs.h, resource.c,
8210 sched-rgn.c, config/arm/aof.h, config/arm/cirrus.md,
8211 config/arm/fpa.md, config/arm/iwmmxt.md,
8212 config/arm/netbsd-elf.h, config/arm/netbsd.h,
8213 config/m68hc11/m68hc11.md, config/mips/iris5.h,
8214 config/mn10300/mn10300.md, config/rs6000/altivec.md,
8215 config/sparc/netbsd-elf.h: Update copyright.
8216
e2a17f6e
EB
82172004-02-04 Eric Botcazou <ebotcazou@libertysurf.fr>
8218
8219 * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
8220 for all modes whose size is greater than 8 bytes if ARCH32.
8221 (sparc_va_arg): Handle all modes whose size is greater than 8 bytes
8222 by reference if ARCH32.
8223
e0cc7f73 82242004-02-04 Aldy Hernandez <aldyh@redhat.com>
a6f78652
ZW
8225
8226 * cgraphunit.c (cgraph_postorder): Fix typo in comment.
e0cc7f73 8227
7bdff56f
UW
82282004-02-04 Ulrich Weigand <uweigand@de.ibm.com>
8229
8230 * config/s390/s390.md ("*la_64" + peepholes, "reload_indi"): Move
8231 to before adddi3 insn patterns.
8232 ("*la_31" + peepholes, "*la_31_and", "*la_31_and_cc", "force_la_31",
8233 "reload_insi"): Move to before addsi3 insn patterns.
8234
dd292d0a
MM
82352004-02-04 Mark Mitchell <mark@codesourcery.com>
8236
8237 * calls.c (initialize_argument_information): Add CALL_FROM_THUNK_P
8238 parameter. Use it instead of current_function_is_thunk.
8239 * function.h (struct function): Update documentation for is_thunk.
8240 * tree.h (CALL_FROM_THUNK_P): New macro.
8241 * config/alpha/alpha.c (alpha_sa_mask): Do not check
8242 no_new_pseudos when testing current_function_is_thunk.
8243 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likeiwse.
8244
c2379679
KH
82452004-02-04 Kazu Hirata <kazu@cs.umass.edu>
8246
8247 * doc/tm.texi: Replace SETUP_INCOMING_VARARGS with
8248 TARGET_SETUP_INCOMING_VARARGS.
8249
a2a8cc44
KH
82502004-02-04 Kazu Hirata <kazu@cs.umass.edu>
8251
8252 * emit-rtl.c (gen_rtx): Remove.
8253 * genattrtab.c: Don't mention gen_rtx in a comment.
8254 * rtl.h: Remove the prototype for gen_rtx.
8255 * doc/md.texi: Replace gen_rtx with gen_rtx_REG.
8256
f61c92c3
KH
82572004-02-04 Kazu Hirata <kazu@cs.umass.edu>
8258
8259 * config/arc/arc.h, config/fr30/fr30.h
8260 (SETUP_INCOMING_VARARGS): Remove the target-independent
8261 comments.
8262 * doc/tm.texi: Don't mention deprecated target macros.
8263
c35c17c1
KH
82642004-02-04 Kazu Hirata <kazu@cs.umass.edu>
8265
8266 * config/fr30/fr30.h (FUNCTION_VALUE): Remove the
8267 target-independent comment.
8268
cea28603
KH
82692004-02-04 Kazu Hirata <kazu@cs.umass.edu>
8270
8271 * doc/interface.texi, doc/tm.texi, doc/trouble.texi: Don't
8272 mention deprecated target macros.
8273
a4a4b1d3
KH
82742004-02-04 Kazu Hirata <kazu@cs.umass.edu>
8275
8276 * config.gcc: Remove obsolete ports and configurations.
8277 * config/linux-aout.h, config/netware.h,
8278 config/t-linux-gnulibc1, config/d30v/abi,
8279 config/d30v/d30v-protos.h, config/d30v/d30v.c,
8280 config/d30v/d30v.h, config/d30v/d30v.md,
8281 config/d30v/libgcc1.asm, config/d30v/t-d30v,
8282 config/dsp16xx/dsp16xx-modes.def,
8283 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
8284 config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md,
8285 config/i370/README, config/i370/i370-c.c,
8286 config/i370/i370-protos.h, config/i370/i370.c,
8287 config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
8288 config/i370/mvs.h, config/i370/oe.h, config/i370/t-i370,
8289 config/i386/freebsd-aout.h, config/i386/linux-aout.h,
8290 config/i386/moss.h, config/i386/netware.h,
8291 config/i386/svr3.ifile, config/i386/svr3dbx.h,
8292 config/i386/svr3gas.h, config/i386/svr3z.ifile,
8293 config/i386/t-udk, config/i386/udk.h, config/i386/vsta.h,
8294 config/i960/i960-c.c, config/i960/i960-coff.h,
8295 config/i960/i960-modes.def, config/i960/i960-protos.h,
8296 config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
8297 config/i960/rtems.h, config/i960/t-960bare,
8298 config/m68k/hp310.h, config/m68k/hp320.h,
8299 config/m68k/hp320base.h, config/m68k/m68kv4.h,
8300 config/m68k/netbsd.h, config/m68k/sgs.h, config/m68k/t-hp320:
8301 Remove.
8302 * doc/extend.texi, doc/install.texi, doc/invoke.texi,
8303 doc/md.texi: Remove mentions of obsolete ports.
8304
40e02b4a
JH
83052004-02-04 Jan Hubicka <jh@suse.cz>
8306
8307 * alias.c (find_base_term, get_addr): Do not dereference NULL
8308 pointer when all VALUE's locations has been invalidated.
8309 (rtx_equal_for_memref_p): Simplify checking of VALUEs.
8310
a6f78652 83112004-02-03 Wolfgang Bangerth <bangerth@dealii.org>
1c02f6f2
WB
8312
8313 * doc/invoke.texi (x86 options): Fix spelling/wording.
8314
584e5527
RS
83152004-02-03 Richard Sandiford <rsandifo@redhat.com>
8316
8317 * config/mips/iris5.h (ASM_OUTPUT_ASCII): Use mips_output_ascii to
8318 put the original string in a comment.
8319 * config/mips/mips-protos.h (mips_output_ascii): Add prefix argument.
8320 * config/mips/mips.c (mips_output_ascii): Likewise.
8321 * config/mips/mips.h (ASM_OUTPUT_ASCII): Adjust accordingly.
8322
9b2b3375
KH
83232004-02-03 Kazu Hirata <kazu@cs.umass.edu>
8324
8325 * system.h (GIV_SORT_CRITERION): Poison.
8326 * config/avr/avr.h (GIV_SORT_CRITERION): Remove.
8327 * config/ip2k/ip2k.h (GIV_SORT_CRITERION): Likewise.
8328
888d65b5
RS
83292004-02-03 Roger Sayle <roger@eyesopen.com>
8330
8331 PR target/9348
8332 * expr.c (expand_expr_real) <MULT_EXPR>: When performing widening
8333 multiplies with a multiplication of the wrong signedness, its the
8334 signedness of the multiplication that we've performed that needs to
8335 be passed to expand_mult_highpart_adjust. Avoid emitting a nop-move
8336 if expand_mult_highpart_adjust places the result in target.
8337
a8c0bbc7
RH
83382004-02-03 Richard Henderson <rth@redhat.com>
8339
8340 * varasm.c (const_desc_rtx_sym_eq): Compare symbol strings.
8341
a8f0f22e
R
83422004-02-03 J"orn Rennecke <joern.rennecke@superh.com>
8343
8344 * config.gcc (sh[234]l): Use little endian fragments.
8345
e621b588
PK
83462004-02-03 Paul Koning <pkoning@equallogic.com>
8347
8348 * config/pdp11/pdp11-modes.def: Add RESET_FLOAT_FORMAT calls.
8349 * config/pdp11/pdp11-protos.h (legitimate_const_double_p): Add.
8350 * config/pdp11/pdp11.c (encode_pdp11_f, decode_pdp11_f,
8351 encode_pdp11_d, decode_pdp11_d): New functions to handle PDP11
8352 floating point format.
8353 (pdp11_f_format, pdp11_d_format): New real_format descriptors for
8354 the above functions.
8355 (output_move_quad): Output float values in correct target format.
8356 (legitimate_const_double_p): New function.
8357 * config/pdp11/pdp11.h: Fix typos.
8358 (FLOAT_WORDS_BIG_ENDIAN): Add definition.
8359 (TARGET_FLOAT_FORMAT): Ditto.
8360 (pdp11_f_format, pdp11_d_format): Add external declarations.
8361 (MAX_REGS_PER_ADDRESS): Corrected.
8362 (LEGITIMATE_CONSTANT_P): Use legitimate_const_double_p().
8363 (PRINT_OPERAND): Output float literals in target format.
8364
5a98fa7b
MM
83652004-02-03 Mark Mitchell <mark@codesourcery.com>
8366
8367 PR c++/13975
8368 * tree.h (enum tree_index): Add TI_PUBLIC, TI_PROTECTED, and
8369 TI_PRIVATE.
8370 (access_public_node): Redefine.
8371 (access_protected_node): Likewise.
8372 (access_private_node): Likewise.
8373 * tree.c (build_common_tree_nodes): Create access_public_node,
8374 access_protected_node, and access_private_node.
8375
0263e6bf
SE
83762004-02-03 Steve Ellcey <sje@cup.hp.com>
8377
8378 * config/ia64/ia64.h (MASK_INLINE_INT_DIV_LAT): Change value.
8379 (MASK_INLINE_INT_DIV_THR): Ditto.
8380 (MASK_INLINE_SQRT_LAT): Ditto.
8381 (MASK_INLINE_SQRT_THR): Ditto.
8382 (MASK_DWARF2_ASM): Ditto.
8383 (MASK_EARLY_STOP_BITS): Ditto.
8384
9b66ebb1
PB
83852004-02-02 Paul Brook <paul@codesourcery.com>
8386
8387 Merge from csl-arm-branch.
8388
8389 2004-01-30 Paul Brook <paul@codesourcery.com>
8390
8391 * aof.h (REGISTER_NAMES): Add vfp reg names
8392 (ADDITIONAL_REGISTER_NAMES): Ditto.
8393 * aout.h (REGISTER_NAMES): Ditto.
8394 (ADDITIONAL_REGISTER_NAMES): Ditto.
8395 * arm-protos.h: Update/Add Prototypes.
8396 * arm.c (init_fp_table): Rename from init_fpa_table. Update users.
8397 Only allow 0.0 for VFP.
8398 (fp_consts_inited): Rename from fpa_consts_inited. Update users.
8399 (values_fp): Rename from values_fpa. Update Users.
8400 (arm_const_double_rtx): Rename from const_double_rtx_ok_for_fpa.
8401 Update users. Only check valid constants for this hardware.
8402 (arm_float_rhs_operand): Rename from fpa_rhs_operand. Update Users.
8403 Only allow consts for FPA.
8404 (arm_float_add_operand): Rename from fpa_add_operand. Update users.
8405 Only allow consts for FPA.
8406 (use_return_insn): Check for saved VFP regs.
8407 (arm_legitimate_address_p): Handle VFP DFmode addressing.
8408 (arm_legitimize_address): Ditto.
8409 (arm_general_register_operand): New function.
8410 (vfp_mem_operand): New function.
8411 (vfp_compare_operand): New function.
8412 (vfp_secondary_reload_class): New function.
8413 (arm_float_compare_operand): New function.
8414 (vfp_print_multi): New function.
8415 (vfp_output_fstmx): New function.
8416 (vfp_emit_fstm): New function.
8417 (arm_output_epilogue): Output VPF reg restore code.
8418 (arm_expand_prologue): Output VFP reg save code.
8419 (arm_print_operand): Add 'P'.
8420 (arm_hard_regno_mode_ok): Return modes for VFP regs.
8421 (arm_regno_class): Return classes for VFP regs.
8422 (arm_compute_initial_elimination_offset): Include space for VFP regs.
8423 (arm_get_frame_size): Ditto.
8424 * arm.h (FIXED_REGISTERS): Add VFP regs.
8425 (CALL_USED_REGISTERS): Ditto.
8426 (CONDITIONAL_REGISTER_USAGE): Enable VFP regs.
8427 (FIRST_VFP_REGNUM): Define.
8428 (LAST_VFP_REGNUM): Define.
8429 (IS_VFP_REGNUM): Define.
8430 (FIRST_PSEUDO_REGISTER): Include VFP regs.
8431 (HARD_REGNO_NREGS): Handle VFP regs.
8432 (REG_ALLOC_ORDER): Add VFP regs.
8433 (enum reg_class): Add VFP_REGS.
8434 (REG_CLASS_NAMES): Ditto.
8435 (REG_CLASS_CONTENTS): Ditto.
8436 (CANNOT_CHANGE_MODE_CLASS) Handle VFP Regs.
8437 (REG_CLASS_FROM_LETTER): Add 'w'.
8438 (EXTRA_CONSTRAINT_ARM): Add 'U'.
8439 (EXTRA_MEMORY_CONSTRAINT): Define.
8440 (SECONDARY_OUTPUT_RELOAD_CLASS): Handle VFP regs.
8441 (SECONDARY_INPUT_RELOAD_CLASS): Ditto.
8442 (REGISTER_MOVE_COST): Ditto.
8443 (PREDICATE_CODES): Add arm_general_register_operand,
8444 arm_float_compare_operand and vfp_compare_operand.
8445 * arm.md (various): Rename as above.
8446 (divsf3): Enable when TARGET_VFP.
8447 (divdf3): Ditto.
8448 (movdfcc): Ditto.
8449 (sqrtsf2): Ditto.
8450 (sqrtdf2): Ditto.
8451 (arm_movdi): Disable when TARGET_VFP.
8452 (arm_movsi_insn): Ditto.
8453 (movsi): Only split with general regs.
8454 (cmpsf): Use arm_float_compare_operand.
8455 (push_fp_multi): Restrict to TARGET_FPA.
8456 (vfp.md): Include.
8457 * vfp.md: New file.
8458 * fpa.md (various): Rename as above.
8459 * doc/md.texi: Document ARM w and U constraints.
8460
8461 2004-01-15 Paul Brook <paul@codesourcery.com>
8462
8463 * config.gcc: Add with_fpu. Allow with-float=softfp.
8464 * config/arm/arm.c (arm_override_options): Rename *-s to *s.
8465 Break out of loop when we find a float-abi. Fix typo.
8466 * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "fpu".
8467 Set -mfloat-abi=.
8468 * doc/install.texi: Document --with-fpu.
8469
8470 2003-01-14 Paul Brook <paul@codesourcery.com>
8471
8472 * config.gcc (with_arch): Add armv6.
8473 * config/arm/arm.h: Rename TARGET_CPU_*_s to TARGET_CPU_*s.
8474 * config/arm/arm.c (arm_overrride_options): Ditto.
8475
8476 2004-01-08 Richard Earnshaw <rearnsha@arm.com>
8477
8478 * arm.c (FL_ARCH3M): Renamed from FL_FAST_MULT.
8479 (FL_ARCH6): Renamed from FL_ARCH6J.
8480 (arm_arch3m): Renamed from arm_fast_multiply.
8481 (arm_arch6): Renamed from arm_arch6j.
8482 * arm.h: Update all uses of above.
8483 * arm-cores.def: Likewise.
8484 * arm.md: Likewise.
8485
8486 * arm.h (CPP_CPU_ARCH_SPEC): Emit __ARM_ARCH_6J__ define for armV6j,
8487 not arm6j. Add entry for arch armv6.
8488
8489 2004-01-07 Richard Earnshaw <rearnsha@arm.com>
8490
8491 * arm.c (arm_emit_extendsi): Delete.
8492 * arm-protos.h (arm_emit_extendsi): Delete.
8493 * arm.md (zero_extendhisi2): Also handle zero-extension of
8494 non-subregs.
8495 (zero_extendqisi2, extendhisi2, extendqisi2): Likewise.
8496 (thumb_zero_extendhisi2): Only match if not v6.
8497 (arm_zero_extendhisi2, thumb_zero_extendqisi2, arm_zero_extendqisi2)
8498 (thumb_extendhisi2, arm_extendhisi2, arm_extendqisi)
8499 (thumb_extendqisi2): Likewise.
8500 (thumb_zero_extendhisi2_v6, arm_zero_extendhisi2_v6): New patterns.
8501 (thumb_zero_extendqisi2_v6, arm_zero_extendqisi2_v6): New patterns.
8502 (thumb_extendhisi2_insn_v6, arm_extendhisi2_v6): New patterns.
8503 (thumb_extendqisi2_v6, arm_extendqisi_v6): New patterns.
8504 (arm_zero_extendhisi2_reg, arm_zero_extendqisi2_reg): Delete.
8505 (arm_extendhisi2_reg, arm_extendqisi2_reg): Delete.
8506 (arm_zero_extendhisi2addsi): Remove subreg. Add attributes.
8507 (arm_zero_extendqisi2addsi, arm_extendhisi2addsi): Likewise.
8508 (arm_extendqisi2addsi): Likewise.
8509
8510 2003-12-31 Mark Mitchell <mark@codesourcery.com>
8511
8512 Revert this change:
8513 * config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
8514 + REG addressing modes.
8515
8516 * config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
8517 + REG addressing modes.
8518
8519 2003-12-30 Mark Mitchell <mark@codesourcery.com>
8520
8521 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept
8522 CONSTANT_P_RTX.
8523
8524 2003-30-12 Paul Brook <paul@codesourcery.com>
8525
8526 * longlong.h: protect arm inlines with !defined (__thumb__)
8527
8528 2003-30-12 Paul Brook <paul@codesourcery.com>
8529
8530 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Always define __arm__.
8531
8532 2003-12-30 Nathan Sidwell <nathan@codesourcery.com>
8533
8534 * builtins.c (expand_builtin_apply_args_1): Fix typo in previous
8535 change.
8536
8537 2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
8538
8539 * builtins.c (expand_builtin_apply_args_1): Add pretend args size
8540 to the virtual incoming args pointer for downward stacks.
8541
8542 2003-12-29 Paul Brook <paul@codesourcery.com>
8543
8544 * config/arm/arm-cores.def: Add cost function.
8545 * config/arm/arm.c (arm_*_rtx_costs): New functions.
8546 (arm_rtx_costs): Remove
8547 (struct processors): Add rtx_costs field.
8548 (all_cores, all_architectures): Ditto.
8549 (arm_override_options): Set targetm.rtx_costs.
8550 (thumb_rtx_costs): New function.
8551 (arm_rtx_costs_1): Remove cases handled elsewhere.
8552 * config/arm/arm.h (processor_type): Add COSTS parameter.
8553
8554 2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
8555
8556 * config/arm/arm.md (generic_sched): arm926 has its own scheduler.
8557 (arm926ejs.md): Include it.
8558 * config/arm/arm926ejs.md: New pipeline description.
8559
8560 2003-12-24 Paul Brook <paul@codesourcery.com>
8561
8562 * config/arm/arm.c (arm_arch6j): New variable.
8563 (arm_override_options): Set it.
8564 (arm_emit_extendsi): New function.
8565 * config/arm/arm-protos.h (arm_emit_extendsi): Add prototype.
8566 * config/arm/arm.h (arm_arch6j): Declare.
8567 * config/arm/arm.md: Add sign/zero extend insns.
8568
8569 2003-12-23 Paul Brook <paul@codesourcery.com>
8570
8571 * config/arm/arm.c (all_architectures): Add armv6.
8572 * doc/invoke.texi: Document it.
8573
8574 2003-12-19 Paul Brook <paul@codesourcery.com>
8575
8576 * config/arm/arm.md: Add load1 and load_byte "type" attrs. Modify
8577 insn patterns to match.
8578 * config/arm/arm-generic.md: Ditto.
8579 * config/arm/cirrus.md: Ditto.
8580 * config/arm/fpa.md: Ditto.
8581 * config/amm/iwmmxt.md: Ditto.
8582 * config/arm/arm1026ejs.md: Ditto.
8583 * config/arm/arm1135jfs.md: Ditto. Add insn_reservation and bypasses
8584 for 11_loadb.
8585
8586 2003-12-18 Nathan Sidwell <nathan@codesourcery.com>
8587
8588 * config/arm/arm-protos.h (arm_no_early_alu_shift_value_dep): Declare.
8589 * config/arm/arm.c (arm_adjust_cost): Check shift cost for
8590 TYPE_ALU_SHIFT and TYPE_ALU_SHIFT_REG.
8591 (arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep,
8592 arm_no_early_mul_dep): Correctly deal with conditional execution,
8593 parallels and single shift operations.
8594 (arm_no_early_alu_shift_value_dep): Define.
8595 * arm.md (attr type): Replace 'normal' with 'alu',
8596 'alu_shift' and 'alu_shift_reg'.
8597 (attr core_cycles): Adjust.
8598 (*addsi3_carryin_shift, andsi_not_shiftsi_si, *arm_shiftsi3,
8599 *shiftsi3_compare0, *notsi_shiftsi, *notsi_shiftsi_compare0,
8600 *not_shiftsi_compare0_scratch, *cmpsi_shiftsi, *cmpsi_shiftsi_swp,
8601 *cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0,
8602 *arith_shiftsi_compare0_scratch, *sub_shiftsi,
8603 *sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch,
8604 *if_shift_move, *if_move_shift, *if_shift_shift): Set type
8605 attribute appropriately.
8606 * config/arm/arm1026ejs.md (alu_op): Adjust.
8607 (alu_shift_op, alu_shift_reg_op): New.
8608 * config/arm/arm1136.md: Add better bypasses for early
8609 registers. Remove load[234] and store[234] bypasses.
8610 (11_alu_op): Adjust.
8611 (11_alu_shift_op, 11_alu_shift_reg_op): New.
8612
8613 2003-12-15 Nathan Sidwell <nathan@codesourcery.com>
8614
8615 * config/arm/arm-protos.h (arm_no_early_store_addr_dep,
8616 arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Declare.
8617 * config/arm/arm.c (arm_no_early_store_addr_dep,
8618 arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Define.
8619 * config/arm/arm1026ejs.md: Add load-store bypass.
8620 * config/arm/arm1136jfs.md (11_alu_op): Take 2 cycles.
8621 Add bypasses between instructions.
8622
8623 2003-12-10 Paul Brook <paul@codesourcery.com>
8624
8625 * config/arm/arm.c (arm_fpu_model): New variable.
8626 (arm_fload_abi): New variable.
8627 (target_fpe_name): Rename from target_fp_name.
8628 (target_fpu_name): New variable.
8629 (arm_is_cirrus): Remove.
8630 (fpu_desc): New struct.
8631 (all_fpus): Define.
8632 (pf_model_for_fpu): Define.
8633 (all_loat_abis): Define.
8634 (arm_override_options): Set fp arch flags based on -mfpu=
8635 and -float-abi=.
8636 (FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
8637 (LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
8638 (*): Use new TARGET_* flags.
8639 * config/arm/arm.h (TARGET_ANY_HARD_FLOAT): Remove.
8640 (TARGET_HARD_FLOAT): No longer implies TARGET_FPA.
8641 (TARGET_SOFT_FLOAT): Ditto.
8642 (TARGET_SOFT_FLOAT_ABI): New.
8643 (TARGET_MAVERICK): Rename from TARGET_CIRRUS. No longer implies
8644 TARGET_HARD_FLOAT.
8645 (TARGET_VFP): No longer implies TARGET_HARD_FLOAT.
8646 (TARGET_OPTIONS): Add -mfpu=.
8647 (FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
8648 (LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
8649 (arm_pf_model): Define.
8650 (arm_float_abi_type): Define.
8651 (fputype): Add FPUTYPE_VFP. Change SOFT_FPA->NONE
8652 * config/arm/arm.md: Use new TARGET_* flags.
8653 * config/arm/cirrus.md: Ditto.
8654 * config/arm/fpa.md: Ditto.
8655 * config/arm/elf.h (ASM_SPEC): Pass -mfloat-abi= and -mfpu=.
8656 * config/arm/semi.h (ASM_SPEC): Ditto.
8657 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Specify vfp.
8658 (FPUTYPE_DEFAULT): Set to VFP.
8659 * doc/invoke.texi: Document -mfpu= and -mfloat-abi=.
8660
8661 2003-11-22 Phil Edwards <phil@codesourcery.com>
8662
8663 PR target/12476
8664 * config/arm/arm.c (arm_output_mi_thunk): In Thumb mode, use
8665 'bx' instead of 'b' to avoid branch range restrictions. Output
8666 the thunk immediately before the thunked-to function.
8667 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Do not emit
8668 .thumb_func if a thunk is being generated. Emit .code 16 along
8669 with .thumb_func if a thunk is not being generated.
8670
8671 2003-11-15 Nicolas Pitre <nico@cam.org>
8672
8673 * config/arm/arm.md (ashldi3, arm_ashldi3_1bit, ashrdi3,
8674 arm_ashrdi3_1bit, lshrdi3, arm_lshrdi3_1bit): New patterns.
8675 * config/arm/iwmmxt.md (ashrdi3_iwmmxt): Renamed from ashrdi3.
8676 (lshrdi3_iwmmxt): Renamed from lshrdi3.
8677 * config/arm/arm.c (IWMMXT_BUILTIN2): Renamed argument accordingly.
8678
8679 2003-11-12 Steve Woodford <scw@wasabisystems.com>
8680 Ian Lance Taylor <ian@wasabisystems.com>
8681
8682 * config/arm/lib1funcs.asm (ARM_DIV_BODY, ARM_MOD_BODY): Add new
8683 code for __ARM_ARCH__ >= 5 && ! defined (__OPTIMIZE_SIZE__).
8684
8685 2003-11-05 Phil Edwards <phil@codesourcery.com>
8686
8687 * config/arm/arm.md (insn): Add new V6 instruction names.
8688 (generic_sched): New attr.
8689 * config/arm/arm-generic.md: Use generic_sched here.
8690 * config/arm/arm1026ejs.md: Do not model fetch/issue/decode
8691 stages of pipeline. Adjust latency counts accordingly.
8692 * config/arm/arm1136jfs.md: New file.
8693
8694 2003-10-28 Mark Mitchell <mark@codesourcery.com>
8695
8696 * config/arm/arm.h (processor_type): New enumeration type.
8697 (CPP_ARCH_DEFAULT_SPEC): Set appropriately for ARM 926EJ-S,
8698 ARM1026EJ-S, ARM1136J-S, and ARM1136JF-S processor cores.
8699 (CPP_CPU_ARCH_SPEC): Likewise.
8700 * config/arm/arm.c (arm_tune): New variable.
8701 (all_cores): Use cores.def.
8702 (all_architectures): Add representative processor.
8703 (arm_override_options): Restructure way in which tuning
8704 information is deduced.
8705 * arm.md: Update "insn" and "type" attributes throughout.
8706 (insn): New attribute.
8707 (type): Compute "mult" from "insn" attribute. Add load2,
8708 load3, load4 alternatives.
8709 (arm automaton): Move to arm-generic.md.
8710 * config/arm/arm-cores.def: New file.
8711 * config/arm/arm-generic.md: Likewise.
8712 * config/arm/arm1026ejs.md: Likewise.
8713
60b85c4c
EB
87142004-02-03 Eric Botcazou <ebotcazou@libertysurf.fr>
8715
8716 * doc/invoke.texi (SPARC options): Remove -mflat and
8717 all -mxxx (xxx:chip) options.
8718 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Delete.
8719 * config/sparc/litecoff.h (DBX_REGISTER_NUMBER): Likewise.
8720 * config/sparc/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
8721 * config/sparc/sol2.h (DBX_REGISTER_NUMBER): Likewise.
8722 * config/sparc/sparc-protos.h: Delete sparc_flat_* prototypes.
8723 * config/sparc/sparc.c: Likewise.
8724 (sparc_output_function_prologue): Remove TARGET_FLAT handling.
8725 (sparc_nonflat_function_prologue): Rename into sparc_function_prologue.
8726 (sparc_output_function_epilogue): Remove TARGET_FLAT handling.
8727 (sparc_nonflat_function_epilogue): Rename into sparc_function_epilogue.
8728 (struct sparc_frame_info, current_frame_info, zero_frame_info): Delete.
8729 (sparc_flat_must_save_register_p): Likewise.
8730 (sparc_flat_compute_frame_size): Likewise.
8731 (sparc_flat_save_restore): Likewise.
8732 (sparc_flat_function_prologue): Likewise.
8733 (sparc_flat_function_epilogue): Likewise.
8734 (sparc_flat_epilogue_delay_slots): Likewise.
8735 (sparc_flat_eligible_for_epilogue_delay): Likewise.
8736 (sparc_function_ok_for_sibcall): Remove TARGET_FLAT handling.
8737 * config/sparc/sparc.h (MASK_FLAT, TARGET_FLAT): Delete.
8738 (TARGET_SWITCHES): Remove -mflat and all -mxxx (xxx:chip) options.
8739 (SPARC_INCOMING_INT_ARG_FIRST): Remove TARGET_FLAT handling.
8740 (CONDITIONAL_REGISTER_USAGE): Likewise.
8741 (FRAME_POINTER_REQUIRED): Likewise.
8742 (INITIAL_ELIMINATION_OFFSET): Likewise.
8743 (BASE_RETURN_VALUE_REG): Likewise.
8744 (BASE_OUTGOING_VALUE_REG): Likewise.
8745 (BASE_PASSING_ARG_REG): Likewise.
8746 (BASE_INCOMING_ARG_REG): Likewise.
8747 (INCOMING_REGNO): Likewise.
8748 (OUTGOING_REGNO): Likewise.
8749 (LOCAL_REGNO): Likewise.
8750 (DELAY_SLOTS_FOR_EPILOGUE): Likewise.
8751 (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
8752 (EPILOGUE_USES): Likewise.
8753 * config/sparc/sparc.md ("isa" attribute): Change "v6" into "v7".
8754 ("flat" attribute): Delete.
8755 (do_builtin_setjmp_setup): Remove TARGET_FLAT and "flat" attribute
8756 handling.
8757 (call followed by jump define_peephole's): Delete.
8758 (exception_receiver): Likewise.
8759 (builtin_setjmp_receiver): Likewise.
8760 * config/sparc/t-sparclite (MULTILIB_OPTIONS): Remove -mflat.
8761
e57e265b
PB
87622004-02-03 Paolo Bonzini <bonzini@gnu.org>
8763
8764 PR c/11658
8765 PR c/13994
8766 * Makefile.in (c-parse.o, c-convert.o, c-typeck.o): Depend
8767 on langhooks.h.
8768 * objc/Make-lang.in (objc-parse.o): Depend on langhooks.h.
8769 * c-parse.in, c-convert.c, c-typeck.c, objc/objc-act.c:
8770 Include langhooks.h. Replace c_common_truthvalue_conversion
8771 with the truthvalue_conversion language hook throughout.
8772 (expr_no_commas): Call default_conversion before save_expr
8773 for the first term of the production 'x ? : y'.
8774 * c-common.c (c_common_truthvalue_conversion): Remove
8775 obsolete block. Invoke recursively the hook instead
8776 of this function.
8777 * c-convert.c (convert): handle ERROR_MARK_NODE.
8778 * c-typeck.c (build_binary_op): handle ERROR_MARK_NODE
8779 returned by the truthvalue_conversion language hook.
8780 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
8781 c_objc_common_truthvalue_conversion.
8782 * c-objc-common.c (c_objc_common_truthvalue_conversion):
8783 New function.
8784 * c-tree.h (c_objc_common_truthvalue_conversion): Declare it.
8785 * objc/objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
8786 c_objc_common_truthvalue_conversion.
8787
a7a2225a
KH
87882004-02-03 Kazu Hirata <kazu@cs.umass.edu>
8789
8790 * config/c4x/c4x.h (FUNCTION_VALUE): Use gen_rtx_REG instead
8791 of gen_rtx.
8792 (LIBCALL_VALUE): Likewise.
8793 * config/ip2k/ip2k.c (mdr_try_propagate_clr_sequence): Use
8794 gen_rtx_CC0 instead of gen_rtx.
8795 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use
8796 gen_rtx_fmt_e and gen_rtx_fmt_ee instead of gen_rtx.
8797 (m68hc11_expand_compare): Use gen_rtx_fmt_ee instead of
8798 gen_rtx.
8799 (m68hc11_emit_logical): Likewise.
8800
a556fd39
KH
88012004-02-03 Kazu Hirata <kazu@cs.umass.edu>
8802
8803 * config/alpha/alpha.c, config/arm/arm.c, config/c4x/c4x.c,
8804 config/fr30/fr30.md, config/frv/frv.c, config/frv/frv.md,
8805 config/h8300/h8300.c, config/ia64/ia64.c, config/ip2k/ip2k.md,
8806 config/m32r/m32r.md, config/m68hc11/m68hc11.c,
8807 config/mips/mips.md, config/mmix/mmix.c,
8808 config/mn10300/mn10300.c, config/mn10300/mn10300.md,
8809 config/ns32k/ns32k.c, config/pa/pa.md, config/pdp11/pdp11.c,
8810 config/rs6000/altivec.md, config/s390/s390.c,
8811 config/s390/s390.h, config/s390/s390.md, config/sh/sh.c,
8812 config/sh/sh.h, config/sh/sh.md, config/stormy16/stormy16.c:
8813 Use const0_rtx instead of GEN_INT (0). Do the same for other
8814 constants that are readily available.
8815
60c81c89
KH
88162004-02-03 Kazu Hirata <kazu@cs.umass.edu>
8817
8818 * doloop.c, optabs.c, regmove.c, sched-deps.c,
8819 config/i386/i386.c, config/i386/i386.md: Use const0_rtx
8820 instead of GEN_INT (0). Do the same for other constants that
8821 are readily available.
8822
2fb00d7f
KH
88232004-02-03 Kazu Hirata <kazu@cs.umass.edu>
8824
8825 * combine.c (simplify_set): Use gen_rtx_fmt_e instead of
8826 gen_rtx.
8827 * emit-rtl.c (init_emit_once): Use gen_rtx_PC and gen_rtx_CC0
8828 instead of gen_rtx.
8829 * reload1.c (init_elim_table): Use gen_rtx_fmt_e instead of
8830 gen_rtx.
8831 * config/ns32k/ns32k.md (udivmodhi4): Use gen_rtx_IOR and
8832 gen_rtx_ASHIFT instead of gen_rtx.
8833 (udivmodqi4): Likewise.
8834
b0dccb00
RH
88352004-02-02 Richard Henderson <rth@redhat.com>
8836
a6f78652
ZW
8837 PR target/13789
8838 * expr.c (store_expr): Use force_operand before emit_move_insn.
b0dccb00 8839
3168cb99
JL
88402004-02-02 Jeff Law <law@redhat.com>
8841 Roger Sayle <roger@eyesopen.com>
8842
8843 * tree.c (commutative_tree_code, associative_tree_code): New
8844 functions.
8845 (iterative_hash_expr): Use commutative_tree_code.
8846 * tree.h (commutative_tree_code, associative_tree_code): Declare.
8847 * fold-const.c (operand_equal_p): Use commutative_tree_code
8848 rather than inlining the commutativity check.
8849 (fold): Likewise.
8850
040333a7
KH
88512004-02-02 Kazu Hirata <kazu@cs.umass.edu>
8852
8853 * system.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Poison.
8854 * config/frv/frv-protos.h: Remove the prototype for
8855 frv_function_arg_keep_as_reference.
8856 * config/frv/frv.c (frv_function_arg_keep_as_reference):
8857 Remove.
8858 * config/frv/frv.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Likewise.
8859 * config/stormy16/stormy16.h: Remove the commented-out
8860 definition of FUNCTION_ARG_KEEP_AS_REFERENCE.
8861
79d69d75
AM
88622004-02-03 Alan Modra <amodra@bigpond.net.au>
8863
8864 PR target/13914
8865 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Use ap
8866 for retaddr_column.
8867
600555f5
KH
88682004-02-02 Kazu Hirata <kazu@cs.umass.edu>
8869
8870 * genemit.c (gen_exp): Generate gen_rtx_fmt_e* instead of
8871 gen_rtx.
8872
16dd5cfe 88732004-02-02 Eric Christopher <echristo@redhat.com>
a6f78652 8874 Zack Weinberg <zack@codesourcery.com>
16dd5cfe
EC
8875
8876 * c-opts.c (c_common_handle_option): Add -finput-charset.
a6f78652
ZW
8877 * c.opt: Ditto.
8878 * cppcharset.c (one_iso88591_to_utf8): Remove.
8879 (convert_iso88591_utf8): Ditto.
8880 (conversion_tab): Remove 8859-1 converter.
8881 (_cpp_input_to_utf8): Remove.
8882 (_cpp_init_iconv_buffer): Ditto.
8883 (_cpp_close_iconv_buffer): Ditto.
8884 (_cpp_convert_input): New function.
8885 (_cpp_default_encoding): Ditto.
8886 * cpphash.h: Add/remove prototypes for above.
8887 * cppfiles.c (read_file_guts): Use _cpp_convert_input.
8888 * cppinit.c (cpp_create_reader): Use _cpp_default_encoding
8889 for narrow execution and input character sets.
8890 * cpplib.c (cpp_push_buffer): Delete uses of removed functions.
8891 * doc/cppopts.texi: Document -finput-charset.
16dd5cfe 8892
8ad0d964
DE
88932004-02-02 David Edelsohn <edelsohn@gnu.org>
8894
8895 * rtlanal.c (refers_to_regno_p): Test regno, not inner_regno,
8896 against FIRST_PSEUDO_REGISTER.
8897
238b11b5
EB
88982004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
8899
8900 * doc/invoke.texi (SPARC options): Further improve.
8901
0f4c242b
KH
89022004-02-02 Kazu Hirata <kazu@cs.umass.edu>
8903
8904 * config/arm/arm.md, config/c4x/c4x.md, config/cris/cris.md,
8905 config/h8300/h8300.c, config/ip2k/ip2k.md,
8906 config/iq2000/iq2000.c, config/mips/mips.c,
8907 config/rs6000/rs6000.c, config/rs6000/rs6000.md,
8908 config/sh/sh.c, config/sh/sh.md, config/stormy16/stormy16.c,
8909 config/v850/v850.md: Fix indentation.
8910
d560b0aa
EB
89112004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
8912
8913 * config/sparc/sparc.c (function_arg_slotno): Align TImode
8914 arguments on a 16-byte boundary in the parameter array if ARCH64.
8915 Split handling of TFmode.
8916
6f626d1b
PB
89172004-02-02 Paolo Bonzini <bonzini@gnu.org>
8918
8919 * rtlanal.c (reg_overlap_mentioned_p) [!ENABLE_CHECKING]:
8920 Don't test CONSTANT_P (x).
8921 (reg_overlap_mentioned_p): Merge check for STRICT_LOWPART,
8922 ZERO_EXTRACT, SIGN_EXTRACT with the switch statement.
8923 Fix misindentation.
8924
e789e9c4
EB
89252004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
8926
8927 * doc/invoke.texi (SPARC options): Document that -mflat is deprecated.
8928
1c563bed
KH
89292004-02-02 Kazu Hirata <kazu@cs.umass.edu>
8930
8931 * config/arc/arc.md, config/arm/arm.c, config/arm/arm.md,
8932 config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.md,
8933 config/frv/frv.c, config/h8300/h8300.c, config/ip2k/ip2k.md,
8934 config/iq2000/iq2000.c, config/m32r/m32r.c,
8935 config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.md,
8936 config/mn10300/mn10300.c, config/rs6000/rs6000.c,
8937 config/rs6000/rs6000.md, config/sh/sh.c, config/sh/sh.md,
8938 config/stormy16/stormy16.c, config/v850/v850.md,
8939 config/xtensa/xtensa.c: Replace gen_rtx with gen_rtx_fmt_e*.
8940
67245ad3
KH
89412004-02-01 Kazu Hirata <kazu@cs.umass.edu>
8942
8943 * config/mcore/mcore.c (block_move_sequence): Replace
8944 gen_rtx_CONST_INT with GEN_INT.
8945
66fd46b6
JH
89462004-02-02 Jan Hubicka <jh@suse.cz>
8947
8948 * alias.c (record_set): Use hard_regno_nregs.
8949 * bt-load.c (find_btr_reference, note_btr_set): Likewise.
8950 * builtins.c (apply_args_size): Likewise.
8951 * caller-save.c (setup_save_areas, save_call_clobbered_regs,
8952 mark_set_regs, add_stored_regs, mark_referenced_regs,
8953 insert_restore, insert_save, insert_one_insn): Likewise.
8954 * cfgcleanup.c: Include regs.h
8955 (mark_effect, mentions_nonequal_regs): Likewise.
8956 * cfgrtl.c (mark_killed_regs): Likewise
8957 * combine.c (update_table_tick, record_value_for_reg,
8958 record_dead_and_set_regs, get_last_value_validate, use_crosses_set_p,
8959 reg_dead_at_p_1, reg_dead_at_p, mark_used_regs_combine, move_deaths,
8960 reg_bitfield_target_p, distribute_notes): Likewise.
8961 * cse.c (mention_regs, insert, invalidate, invalidate_for_call,
8962 exp_equiv_p, cse_insn): Likewise.
8963 * cselib.c (cselib_lookup): Likewise.
8964 (cselib_invalidate_regno, cselib_record_set): Likewise.
8965 * df.c (df_ref_record): Likewise.
8966 * dwarf2out.c (reg_loc_descriptor, multiple_reg_loc_descriptor):
8967 Likewise.
8968 * flow.c (mark_reg, insn_dead_p, mark_set_1, mark_used_reg,
8969 count_or_remove_death_notes_bb): Likewise.
8970 * function.c (aggregate_value_p, keep_stack_depressed): Likewise.
8971 * gloval.c (global_alloc, find_reg, mark_reg_store, mark_reg_conflicts,
8972 mark_reg_death, set_preference, reg_becomes_live, reg_dies): Likewise.
8973 * integrate.c (mark_stores): Likewise.
8974 * jump.c (delete_prior_computation): Likewise.
8975 * lcm.c (reg_dies, reg_becomes_live): Likewise.
8976 * local-alloc.c (combine_regs, find_free_reg, post_mark_life): Likewise.
8977 * loop.c (LOOP_REGNO_NREGS): Likewise.
8978 * postreload.c (reload_combine, reload_combine_note_store,
8979 reload_combine_note_use, reload_cse_move2add, move2add_note_store): Likewise.
8980 * ra-colorize.c (combine, color_usable_p, get_free_reg,
16dd5cfe 8981 calculate_dont_begin, calculate_dont_begin, colorize_one_web,
66fd46b6
JH
8982 try_recolor_web, insert_coalesced_conflicts, check_colors,
8983 break_precolored_alias): Likewise.
8984 * ra-debug.c: Include regs.h
8985 (ra_print_rtx_object): Likewise.
8986 * ra-rewrite (choose_spill_colors): Likewise.
8987 (spill_same_color_p, update_spill_colors, spill_is_free): Likewise.
8988 * ra.c (init_ra): Likewise.
8989 * recog.c (reg_fits_class_p, peep2_reg_dead_p,
8990 peep2_find_free_register): Likewise.
8991 * reg-stack.c (subst_stack_regs_pat, convert_regs_exit): Likewise.
8992 * regclass.c (hard_regno_nregs): New array.
8993 (init_reg_modes_once): Initialize it.
8994 (choose_hard_reg_mode): Use it.
8995 (record_reg_classes): Likewise.
8996 * regmove.c (mark_flags_life_zones): Likewise.
8997 * regrename.c (note_sets, clear_dead_regs, regrename_optimize,
8998 scan_rtx_reg, dump_def_use_chain, kill_value, set_value_regno,
8999 copy_value, maybe_mode_change, find_oldest_value_reg,
9000 copyprop_hardreg_forward_1):
9001 * regs.h (hard_regno_nregs): Declare.
9002 * realod.c (reload_inner_reg_of_subreg): Use it.
9003 (push_reload, combine_reloads, find_dummy_reload,
9004 hard_reg_set_here_p, operands_match_p, decompose, find_reloads,
9005 refers_to_regno_for_reload_p, find_equiv_reg, regno_clobbered_p,
9006 reload_adjust_reg_for_mode): Likewise.
9007 * reload1.c (compute_use_by_pseudos, count_pseudo,
9008 count_spilled_pseudo, find_reg, find_reload_regs, mark_home_live,
9009 spill_hard_reg, forget_old_reloads_1, mark_reload_reg_in_use,
9010 clear_reload_reg_in_use, reload_reg_free_for_value_p, free_for_value_p
9011 allocate_reload_reg, choose_reload_regs, emit_reload_insns,
9012 delete_output_reload): Likewise.
9013 * resource.c (update_live_status, mark_referenced_resources,
9014 mark_set_resources, mark_target_live_regs): Likewise.
9015 * rtlanal.c: Include regs.h
9016 (refers_to_regno_p, reg_overlap_mentioned_p, dead_or_set_p,
9017 dead_or_set_regno_p, find_regno_note, find_reg_fusage,
9018 subreg_regno_offset, subreg_offset_representable_p,
9019 hoist_test_store): Likewise.
9020 * sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
9021 * sched-rgn.c (check_live_1, update_live_1): Likewise.
9022 * stmt.c: Include regs.h
9023 (decl_conflicts_with_clobbers_p): Likewise.
9024 * varasm.c (make_decl_rtl): Likewise.
9025 * Makefile.in (cfgcleanup.o, rtlanal.o, ra-debug.o): Add regs.h dependnecy.
9026
f1c25d3b
KH
90272004-02-01 Kazu Hirata <kazu@cs.umass.edu>
9028
9029 * config/arm/arm.c, config/arm/arm.h, config/arm/arm.md,
9030 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
9031 config/arm/netbsd.h, config/arm/pe.c, config/avr/avr.c,
9032 config/avr/avr.h, config/avr/avr.md, config/c4x/c4x.h,
9033 config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c,
9034 config/frv/frv.h, config/ip2k/ip2k.c, config/iq2000/iq2000.c,
9035 config/iq2000/iq2000.h, config/m32r/m32r.c,
9036 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
9037 config/m68hc11/m68hc11.md, config/m68k/m68k.md,
9038 config/mcore/mcore.c, config/mcore/mcore.h,
9039 config/mcore/mcore.md, config/mips/mips.c,
9040 config/ns32k/ns32k.h, config/ns32k/ns32k.md,
9041 config/rs6000/rs6000.c, config/s390/s390.c,
9042 config/s390/s390.md, config/sparc/sparc.c, config/v850/v850.c,
9043 config/xtensa/xtensa.h, config/xtensa/xtensa.md: Replace
9044 "gen_rtx (FOO, " with "gen_rtx_FOO (".
9045
e0a24727
KH
90462004-02-01 Kazu Hirata <kazu@cs.umass.edu>
9047
9048 * config/h8300/h8300.md (two peephole2's): New.
9049
5202c5fe
EB
90502004-02-01 Eric Botcazou <ebotcazou@libertysurf.fr>
9051
9052 * config/sparc/sol2-bi.h: Handle TARGET_CPU_ultrasparc3.
9053 (CPP_CPU_SPEC): Handle -mcpu=ultrasparc3.
9054 (ASM_CPU_SPEC): Likewise
9055 * config/sparc/sol2.h: Handle TARGET_CPU_ultrasparc3.
9056 (ASM_CPU_SPEC): Remove -mcpu=v8plus. Handle -mcpu=ultrasparc3.
9057
13b59849
RS
90582004-02-01 Roger Sayle <roger@eyesopen.com>
9059
9060 * builtins.c (expand_builtin_pow): If flag_unsafe_math_optimizations
9061 isn't set, don't call expand_builtin_mathfn_2 to use the pow optab.
9062 (expand_builtin): Always call expand_builtin_pow.
9063
ef79730c
RS
90642004-02-01 Roger Sayle <roger@eyesopen.com>
9065
9066 * builtins.def (BUILT_IN_SIGNBIT, BUILT_IN_SIGNBITF,
9067 BUILT_IN_SIGNBITL): New GCC builtins.
9068 * builtins.c (expand_builtin_signbit): New function to RTL expand
9069 calls to signbit, signbitf and signbitl as inline intrinsics.
9070 (expand_builtin): Call expand_builtin_signbit for BUILT_IN_SIGNBIT*.
9071 (fold_builtin_signbit): New function to perform constant folding
9072 of signbit, signbitf and signbitl.
9073 (fold_builtin): Call fold_builtin_signbit for BUILT_IN_SIGNBIT*.
9074
9075 * doc/extend.texi: Document new signbit{,f,l} builtins.
9076
a80cdb0f
RS
90772004-02-01 Richard Sandiford <rsandifo@redhat.com>
9078
9079 * config/mips/mips.md (adddi3_internal_2): Remove superfluous %s.
9080
2efe2033
CD
90812004-02-01 Chris Demetriou <cgd@broadcom.com>
9082
9083 * config/mips/mips.h (PREDICATE_CODES): Remove entries for
9084 "mips_const_double_ok" and "simple_memory_operand", which were
9085 removed from the MIPS port with the mips-3_4-rewrite branch merge.
9086 * config/mips/mips.c (mips16_lay_out_constants): Update comment
9087 for removal of simple_memory_operand.
9088
d37eb705
KH
90892004-01-31 Kazu Hirata <kazu@cs.umass.edu>
9090
9091 * config/c4x/c4x.md: Use GEN_INT instead of
9092 gen_rtx (CONST_INT, ...).
9093
fadeed3b
RH
90942004-01-31 Richard Henderson <rth@redhat.com>
9095
9096 * varasm.c (output_constant_pool): Don't zap the pool.
9097
ccdc1703
KH
90982004-01-31 Kazu Hirata <kazu@cs.umass.edu>
9099
9100 * genrecog.c (decision_type): Add DT_const_int.
9101 (write_cond) [DT_const_int]: Print a comparison against small
9102 constant.
9103 (write_node): Simplify comparisons against small constants
9104 before printing tests.
16dd5cfe 9105
aeba8f80
KH
91062004-01-31 Kazu Hirata <kazu@cs.umass.edu>
9107
9108 * config/m32r/m32r.c (m32r_load_pic_register): Use GEN_INT
9109 instead of gen_rtx_CONST_INT.
9110
400ce94c
KH
91112004-01-31 Kazu Hirata <kazu@cs.umass.edu>
9112
9113 * config/xtensa/xtensa.h (DYNAMIC_CHAIN_ADDRESS): Use GEN_INT
9114 instead of gen_rtx_CONST_INT.
9115
8dfa8fcd
KH
91162004-01-31 Kazu Hirata <kazu@cs.umass.edu>
9117
9118 * target-def.h (TARGET_STRICT_ARGUMENT_NAMING): Define as
9119 hook_bool_CUMULATIVE_ARGS_false.
9120 * targhooks.c (default_strict_argument_naming): Rename to
9121 hook_bool_CUMULATIVE_ARGS_false.
9122 * targhooks.h: Update the prototype for
9123 default_strict_argument_naming.
9124
c0d4e710
KH
91252004-01-31 Kazu Hirata <kazu@cs.umass.edu>
9126
9127 * config/sh/sh.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".
9128 * config/sh/sh.h: Likewise.
9129 * config/sh/sh.md: Likewise.
9130
fdf064f2
EB
91312004-01-31 Eric Botcazou <ebotcazou@libertysurf.fr>
9132
9133 * doc/invoke.texi (SPARC options): Restructure and update.
9134
b602b7b6
KH
91352004-01-31 Kazu Hirata <kazu@cs.umass.edu>
9136
9137 * system.h (PROMOTE_FUNCTION_ARGS, STRUCT_VALUE_INCOMING, and
9138 STRICT_ARGUMENT_NAMING): Poison.
9139 * target-def.h (TARGET_PROMOTE_FUNCTION_ARGS): Define as
9140 hook_bool_tree_false.
9141 * targhooks.c (default_promote_function_args): Remove.
9142 (default_struct_value_rtx): Don't use STRUCT_VALUE_INCOMING.
9143 Don't check incoming.
9144 (default_strict_argument_naming): Don't use
9145 STRICT_ARGUMENT_NAMING.
9146 * targhooks.h: Remove the prototype for
9147 default_promote_function_args.
9148
a0524eb3
KH
91492004-01-31 Kazu Hirata <kazu@cs.umass.edu>
9150
9151 * config/i386/i386-protos.h: Remove the prototype for
9152 ix86_setup_incoming_varargs.
9153 * config/i386/i386.c (TARGET_SETUP_INCOMING_VARARGS): New.
9154 (ix86_setup_incoming_varargs): Make it static.
9155 * config/i386/i386.h (SETUP_INCOMING_VARARGS): Remove.
9156
a457ee07
KH
91572004-01-31 Kazu Hirata <kazu@cs.umass.edu>
9158
9159 * alloc-pool.c: Fix comment typos.
9160 * builtin-types.def: Likewise.
9161 * builtins.def: Likewise.
9162 * c-pretty-print.c: Likewise.
9163 * df.h: Likewise.
9164 * reload1.c: Likewise.
9165
a451b0bd
KH
91662004-01-31 Kazu Hirata <kazu@cs.umass.edu>
9167
9168 * doc/invoke.texi: Follow spelling conventions.
9169 * doc/tm.texi: Likewise.
9170
e53e0c56
KH
91712004-01-31 Kazu Hirata <kazu@cs.umass.edu>
9172
9173 * doc/install.texi: Fix typos.
9174 * doc/invoke.texi: Likewise.
9175
025b17a4
UW
91762004-01-31 Ulrich Weigand <uweigand@de.ibm.com>
9177
9178 * config/s390/s390.c (s390_decompose_address): Do not treat virtual
9179 registers as pointers.
9180 * config/s390/s390.md ("*la_31" second peephole2): Fix incorrect mode.
9181
4de249d9
PB
91822004-01-31 Paolo Bonzini <bonzini@gnu.org>
9183
c53bdcf5 9184 * combine.c (cse_main): Set gen_lowpart to gen_lowpart_for_combine
4de249d9
PB
9185 and restore it to gen_lowpart_general on exit.
9186 (gen_lowpart_for_combine): Adjust all callers to go through
9187 gen_lowpart.
9188 * cse.c (cse_main): Set gen_lowpart to gen_lowpart_if_possible
9189 and restore it to gen_lowpart_general on exit.
9190 (gen_lowpart_if_possible): Adjust all callers to go through
9191 gen_lowpart.
9192 * emit-rtl.c (gen_lowpart_general): New name of gen_lowpart.
9193 (gen_lowpart): Declare as pointer to function, initialized to
9194 gen_lowpart_general.
9195 * rtl.h (gen_lowpart): Declare as pointer to function.
9196
f84d109f
KH
91972004-01-31 Kazu Hirata <kazu@cs.umass.edu>
9198
9199 * bt-load.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".
9200 * calls.c: Likewise.
9201 * emit-rtl.c: Likewise.
9202 * function.c: Likewise.
9203 * reload1.c: Likewise.
9204 * config/i386/cygming.h: Likewise.
9205 * config/i386/i386.c: Likewise.
9206 * config/i386/winnt.c: Likewise.
9207
354b7da5
DH
92082004-01-30 Dara Hazeghi <dhazeghi@yahoo.com>
9209
9210 PR bootstrap/9249
9211 * doc/install.texi: document --enable-__cxa_atexit option.
9212 * configure.ac: Disable __cxa_atexit if not supported.
9213 * configure: Regenerate.
9214
9781b6da
DB
92152003-01-30 Daniel Berlin <dberlin@dberlin.org>
9216
9217 * ggc-zone.c (ggc_free): New function.
9218
283334f0
KH
92192004-01-30 Kazu Hirata <kazu@cs.umass.edu>
9220
9221 alloc-pool.c, c-lex.c, c-pragma.h, c-semantics.c, cfghooks.c,
9222 cfghooks.h, cfglayout.c, cfgloopmanip.c, debug.c, debug.h,
9223 flow.c, genextract.c, ggc-common.c, ggc-page.c, ggc.h,
9224 ifcvt.c, jump.c, loop-unswitch.c, timevar.c, timevar.def,
9225 tree-optimize.c, vmsdbgout.c, config/fp-bit.c,
9226 config/alpha/alpha.c, config/alpha/alpha.h,
9227 config/alpha/alpha.md, config/alpha/unicosmk.h,
9228 config/alpha/vms.h, config/arm/linux-elf.h, config/avr/avr.c,
9229 config/c4x/c4x-protos.h, config/c4x/c4x.md,
9230 config/d30v/d30v.h, config/frv/frv.md, config/frv/frvbegin.c,
9231 config/frv/frvend.c, config/i386/cygming.h,
9232 config/i386/djgpp.h, config/i386/emmintrin.h,
9233 config/i386/gthr-win32.c, config/i386/i386-interix.h,
9234 config/i386/i386-protos.h, config/i386/openbsd.h,
9235 config/i386/winnt.c, config/i386/xm-mingw32.h,
9236 config/i386/xmmintrin.h, config/ia64/ia64.md,
9237 config/iq2000/iq2000.md, config/m32r/m32r.md,
9238 config/m68k/m68k.md, config/mcore/mcore-elf.h,
9239 config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
9240 config/mips/iris5gas.h, config/mips/iris6.h,
9241 config/mips/iris6gas.h, config/mips/linux.h,
9242 config/mips/mips.md, config/mips/netbsd.h,
9243 config/mips/openbsd.h, config/mips/windiss.h,
9244 config/pa/fptr.c, config/rs6000/aix.h,
9245 config/rs6000/altivec.h, config/rs6000/darwin.h,
9246 config/rs6000/xcoff.h, config/s390/s390-protos.h,
9247 config/s390/s390.c, config/s390/s390.h, config/s390/s390.md,
9248 config/sh/netbsd-elf.h, config/sh/sh.h, config/sh/vxworks.h,
9249 config/sparc/sol2.h: Update copyright.
9250
71cbe2c1
KC
92512004-01-30 Kelley Cook <kcook@gcc.gnu.org>
9252
9253 * Makefile.in (abs_docdir, abs_srcdir): Define.
9254 (doc/%.dvi, doc/gccinstall.dvi): Use $(abs_docdir).
9255
bfb2d661
KH
92562004-01-30 Kazu Hirata <kazu@cs.umass.edu>
9257
9258 * genconfig.c (main): Have CC0_P check its operand even on a
9259 target without cc0.
9260
bd5bd7ac
KH
92612004-01-30 Kazu Hirata <kazu@cs.umass.edu>
9262
9263 * config/alpha/alpha.c: Remove mentions of deprecates macros
9264 in comments, remove some target-independent comments about target
9265 macros, and/or add minimal function comments for target hook
9266 implementations.
9267 * config/avr/avr.c: Likewise.
9268 * config/ia64/ia64.h: Likewise.
9269 * config/ip2k/ip2k.c: Likewise.
9270 * config/iq2000/iq2000.c: Likewise.
9271 * config/m32r/m32r.h: Likewise.
9272 * config/m68hc11/m68hc11.c: Likewise.
9273 * config/mcore/mcore.c: Likewise.
9274 * config/mmix/mmix.c: Likewise.
9275 * config/mn10300/mn10300.c: Likewise.
9276 * config/pa/pa.c: Likewise.
9277 * config/pdp11/pdp11.c: Likewise.
9278 * config/rs6000/rs6000.h: Likewise.
9279 * config/sh/sh.c: Likewise.
9280 * config/sh/sh.h: Likewise.
9281 * config/sparc/sparc.c: Likewise.
9282 * config/sparc/sparc.h: Likewise.
9283 * config/stormy16/stormy16.c: Likewise.
9284 * config/xtensa/xtensa.c: Likewise.
9285
808ededc
UW
92862004-01-30 Ulrich Weigand <uweigand@de.ibm.com>
9287
9288 PR optimization/12147
9289 * reload1.c (reload_reg_free_p): RELOAD_OTHER conflicts with
9290 RELOAD_FOR_OPADDR_ADDR.
9291 (reload_reg_reaches_end_p): RELOAD_FOR_OTHER_ADDRESS register
9292 might be reused as RELOAD_FOR_OPADDR_ADDR register.
9293
98e5e087
JH
92942004-01-30 Jan Hubicka <jh@suse.cz>
9295
bd5bd7ac 9296 * reload.c (get_secondary_mem): Fix updating of
98e5e087
JH
9297 secondary_memlocs_elim_used.
9298
3234b52d
RH
92992004-01-30 Richard Henderson <rth@redhat.com>
9300
9301 * varasm.c (struct rtx_const, struct pool_constant): Remove.
9302 (MAX_RTX_HASH_TABLE): Remove.
9303 (const_rtx_hash_table, const_rtx_sym_hash_table): Remove.
9304 (first_pool, last_pool, pool_offset): Remove.
9305 (struct rtx_constant_pool): Split out from ...
9306 (struct varasm_status): ... here. Reference one via pointer.
9307 (struct constant_descriptor_rtx): Merge struct pool_constant.
9308 (SYMHASH): Remove.
9309 (decode_rtx_const): Remove.
9310 (const_hash_rtx, compare_constant_rtx): Remove.
9311 (record_constant_rtx): Remove.
9312 (const_desc_rtx_hash, const_desc_rtx_eq): New.
9313 (const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): New.
9314 (const_rtx_hash_1, const_rtx_hash): New.
9315 (init_varasm_status): Allocate a rtx_constant_pool, and its hashes.
9316 (simplify_subtraction): Use simplify_rtx.
9317 (force_const_mem): Rewrite to use new data structures.
9318 (find_pool_constant): Likewise.
9319 (get_pool_constant, get_pool_constant_mark,
9320 get_pool_constant_for_function, get_pool_mode,
9321 get_pool_mode_for_function, get_pool_offset, get_pool_size): Likewise.
9322 (output_constant_pool_2): Split out from output_constant_pool.
9323 (output_constant_pool_1): Likewise. Use new pool datastructures.
9324 (output_constant_pool): Zap entire pool datastructure.
9325 (mark_constant): Use new pool datastructures.
9326 (mark_constants): Use for_each_rtx.
9327 (mark_constant_pool): Use new pool datastructures.
9328
be77d9e7 93292004-01-30 Fariborz Jahanian <fjahanian@apple.com>
16dd5cfe 9330
a6f78652 9331 * config/rs6000/rs6000.c (rs6000_emit_move): Remove #if 0.
be77d9e7
FJ
9332 Copy operands[1] to pseudo for simplify_gen_subreg.
9333
f0cad2d5
KH
93342004-01-30 Kazu Hirata <kazu@cs.umass.edu>
9335
9336 * gcse.c (bypass_block): Fix a typo in the previous check-in
9337 to the file.
9338
40ca90bf
AP
93392004-01-30 Andrew Pinski <pinskia@physics.uc.edu>
9340
9341 * toplev.c: Include alloc-pool.h.
16dd5cfe 9342 * Makefile.in (toplev.c): Update dependencies.
40ca90bf 9343
39a44a4e
RK
93442004-01-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9345
9346 * combine.c (simplify_shift_const, case XOR): Be careful when
9347 commuting XOR with ASHIFTRT.
9348
3e2cc1d1 93492004-01-30 Kazu Hirata <kazu@cs.umass.edu>
a6f78652 9350 Eric Botcazou <ebotcazou@libertysurf.fr>
3e2cc1d1
KH
9351
9352 * config/sparc/sparc-protos.h: Remove the prototype for
9353 sparc_builtin_saveregs.
9354 * config/sparc/sparc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
9355 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
9356 (TARGET_PROMOTE_PROTOTYPES): Likewise.
9357 (TARGET_STRUCT_VALUE_RTX): Likewise.
9358 (TARGET_RETURN_IN_MEMORY): Likewise.
9359 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
9360 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
9361 (sparc_builtin_saveregs): Make it static.
9362 (sparc_promote_prototypes): New.
9363 (sparc_struct_value_rtx): Likewise.
9364 (sparc_return_in_memory): Likewise.
9365 * config/sparc/sparc.h: (PROMOTE_FUNCTION_ARGS): Remove.
9366 (PROMOTE_FUNCTION_RETURN): Likewise.
9367 (RETURN_IN_MEMORY): Likewise.
9368 (STRUCT_VALUE): Likewise.
9369 (STRUCT_VALUE_INCOMING): Likewise.
9370 (EXPAND_BUILTIN_SAVEREGS): Likewise.
9371 (STRICT_ARGUMENT_NAMING): Likewise.
9372 (PROMOTE_PROTOTYPES): Likewise.
9373
9374 * config/sparc/sparc.h (PROMOTE_MODE): Use word_mode.
9375
5e9295fa
EB
93762004-01-30 Eric Botcazou <ebotcazou@libertysurf.fr>
9377
9378 PR c/12818
9379 * varasm.c (const_hash_1) <STRING_CST>: Use the
9380 address to compute the hash value if flag_writable_strings.
9381 (compare_constant) <STRING_CST>: Compare the addresses
9382 if flag_writable_strings.
9383 (build_constant_desc): Do not copy the expression for a
9384 STRING_CST if flag_writable_strings.
9385
1f2eae8d
JH
93862004-01-30 Jan Hubicka <jh@suse.cz>
9387
1e0f41c9
JH
9388 * alloc-pool.c: Include hashtab.h
9389 (alloc_pool_descriptor): New structure
9390 (alloc_pool_hash): New global variable.
9391 (hash_descriptor, eq_descriptor, alloc_pool_descriptor): New.
9392 (create_alloc_pool): Update statistics.
9393 (free_alloc_pool): Likewise.
9394 (pool_alloc): Likewise.
9395 (output_info): New structure
9396 (print_statistics, dump_alloc_pool_statistics): New function.
9397 * alloc-pool.h (alloc_pool_def): Turn name to be constant.
9398 (dump_alloc_pool_statistics): Declare.
9399 * toplev.c (finalize): Dump statistics.
9400
1f2eae8d
JH
9401 * reload.c (secondary_memlocs_elim_used): New static variable.
9402 (get_secondary_mem): Update it.
9403 (find_reloads): Use it.
9404
80a08664
SB
94052004-01-30 Steven Bosscher <s.bosscher@student.tudelft.nl>
9406
9407 * toplev.c: Fix broken checkin of 2003-12-30, again.
9408
57116d8d
UW
94092004-01-30 Ulrich Weigand <uweigand@de.ibm.com>
9410
9411 * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
9412 s390*-*-* targets by specifying a 'nop' insn.
9413 * configure: Regenerate.
9414
5fddd9fe
EB
94152004-01-30 Eric Botcazou <ebotcazou@libertysurf.fr>
9416
9417 PR target/11475
9418 * config/sparc/sparc.md (movhi_lo_sum): Tighten predicates.
9419
64fc7c00
JJ
94202004-01-29 Jakub Jelinek <jakub@redhat.com>
9421
9422 * emit-rtl.c (change_address): Use XEXP (memref, 0) instead
9423 of addr when creating MEM copy.
9424
ed672aa8
DP
94252004-01-29 Devang Patel <dpatel@apple.com>
9426
9427 * dwarf2out.c (gen_field_die): Do not equate decl number to die.
16dd5cfe 9428
7e3aa041
ILT
94292004-01-28 Ian Lance Taylor <ian@wasabisystems.com>
9430
9431 PR inline-asm/6162
9432 * reload.c (find_reloads): Only support one pair of commutative
9433 operands.
9434
06f12aa0
RS
94352004-01-29 Roger Sayle <roger@eyesopen.com>
9436
9437 PR java/13824
9438 * tree.c (unsafe_for_reeval): Handle EXIT_BLOCK_EXPR nodes specially
9439 as their EXIT_BLOCK_LABELED_BLOCK operands can lead to unbounded
9440 recursion.
9441
b88cf82e
KH
94422004-01-29 Kazu Hirata <kazu@cs.umass.edu>
9443
9444 * config/frv/frv.c: Don't mention deprecated macros in
9445 comments. Remove some target-independent comments about
9446 target macros.
9447 * config/frv/frv.h: Likewise.
9448
3ae4a5b1
ZD
94492004-01-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9450
9451 * cfghooks.c (split_block): Set probability and count of the
9452 new edge.
9453
636c7bc4
JZ
94542005-01-29 Josef Zlomek <zlomekj@suse.cz>
9455
9456 * dwarf2out.c (struct die_struct): Added field decl_id.
9457 (decl_die_table): Changed to hash table.
9458 (decl_die_table_allocated): Deleted.
9459 (decl_die_table_in_use): Deleted.
9460 (DECL_DIE_TABLE_INCREMENT): Deleted.
9461 (decl_die_table_hash): New function.
9462 (decl_die_table_eq): New function.
9463 (lookup_decl_die): Lookup in a hash table.
9464 (equate_decl_number_to_die): Insert into a hash table.
9465 (dwarf2out_init): Init hash table decl_die_table.
9466
4e44c1ef
JJ
94672004-01-29 Jakub Jelinek <jakub@redhat.com>
9468
9469 PR optimization/13424
9470 * expr.c (store_constructor): Revert 2003-12-03 change.
9471
9472 * emit-rtl.c (change_address): Check also if MEM_ATTRS is set as
9473 expected before returning early. Avoid sharing RTL if they
9474 need to be changed.
9475
9476 * config/i386/i386.c (ix86_expand_movstr): Rework rep_mov and strmov
9477 handling so that memory attributes are preserved. Don't call
9478 ix86_set_move_mem_attrs.
9479 (ix86_set_move_mem_attrs_1, ix86_set_move_mem_attrs): Removed.
9480 (ix86_expand_clrstr): Rename src argument to
9481 dst. Rework rep_stos and strset handling so that memory attributes
9482 are preserved.
9483 (ix86_expand_strlen): Pass src argument to
9484 ix86_expand_strlensi_unroll_1. Rework strlenqi_1 handling so that
9485 memory attributes are preserved.
9486 (ix86_expand_strlensi_unroll_1): Add src argument. Use
9487 change_address instead of gen_rtx_MEM.
9488 * config/i386/i386.md (strmov, strmov_singleop, rep_mov): New
9489 expanders.
9490 (strmovdi_rex64, strmovsi, strmovsi_rex64, strmovhi, strmovhi_rex64,
9491 strmovqi, strmovqi_rex64): Remove.
9492 (rep_mov*, strmov*): Prefix insn names with *.
9493 (strset, strset_singleop, rep_stos): New expanders.
9494 (strsetdi_rex64, strsetsi, strsetsi_rex64, strsethi, strsethi_rex64,
9495 strsetqi, strsetqi_rex64): Remove.
9496 (rep_stos*, strset*): Prefix insn names with *.
9497 (rep_stosqi_rex64): Likewise. Fix mode of dirflag reg from DImode
9498 to SImode.
9499 (cmpstrsi): Rework cmpstrqi_1 handling so that memory attributes
9500 are preserved.
9501 (cmpstrqi_nz_1, cmpstrqi_nz_rex_1, cmpstrqi_1, cmpstrqi_rex_1):
9502 Prefix insn names with *.
9503 (cmpstrqi_nz_1, cmpstrqi_1): New expanders.
9504 (strlenqi_1, strlenqi_rex_1): Prefix insn names with *.
9505 (strlenqi_1): New expander.
9506 * config/i386/i386.h (ix86_set_move_mem_attrs): Remove prototype.
9507
f470c378
ZD
95082004-01-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9509
9510 * Makefile.in (cfghooks.o): Add TIMEVAR_H and toplev.h dependency.
9511 * basic-block.h (tidy_fallthru_edge, tidy_fallthru_edges, dump_bb,
9512 verify_flow_info): Declaration removed.
9513 * cfg.c (verify_flow_info, dump_bb): Moved to cfghooks.c.
9514 (debug_bb, debug_bb_n): Add argument to dump_bb call.
9515 * cfgcleanup.c (try_simplify_condjump, try_crossjump_to_edge,
9516 try_optimize_cfg, delete_unreachable_blocks): Use delete_basic_block
9517 instead of delete_block.
9518 * cfghooks.c: Include timevar.h and toplev.h.
9519 (cfg_hooks): Define here.
9520 (verify_flow_info, dump_bb): Moved from cfg.c.
9521 (redirect_edge_and_branch, redirect_edge_and_branch_force,
9522 split_block, split_block_after_labels, move_block_after,
9523 delete_basic_block, split_edge, create_basic_block,
9524 create_empty_bb, can_merge_blocks_p, merge_blocks,
9525 make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
9526 New functions.
9527 * cfghooks.h (struct cfg_hooks): Added fields name,
9528 make_forwarder_block, tidy_fallthru_edge and
9529 move_block_after. Changed type of verify_flow_info, dump_bb,
9530 split_block fields. Renamed cfgh_split_edge and delete_block
9531 fields.
9532 (redirect_edge_and_branch, redirect_edge_and_branch_force,
9533 split_block, delete_block, split_edge, create_basic_block,
9534 can_merge_blocks_p, merge_blocks): Macros removed.
9535 (cfg_hooks): Do not export.
9536 (verify_flow_info, dump_bb, redirect_edge_and_branch,
9537 redirect_edge_and_branch_force, split_block, split_block_after_labels,
9538 move_block_after, delete_basic_block, split_edge, create_basic_block,
9539 create_empty_bb, can_merge_blocks_p, merge_blocks,
9540 make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
9541 Declare.
9542 (cfg_layout_rtl_cfg_hooks): Declare.
9543 * cfgloop.c (update_latch_info, mfb_keep_just, mfb_keep_nonlatch):
9544 New functions.
9545 (canonicalize_loop_headers): Use new semantics of make_forwarder_block.
9546 (redirect_edge_with_latch_update): Removed.
9547 (make_forwarder_block): Moved to cfghooks.c, semantics changed.
9548 * cfgloopmanip.c (remove_bbs): Do not update dominators here.
9549 * cfgrtl.c (cfg_layout_split_block, rtl_split_block, rtl_dump_bb,
9550 rtl_delete_block, rtl_split_block, rtl_merge_blocks,
9551 tidy_fallthru_edge, rtl_split_edge, cfg_layout_delete_block,
9552 cfg_layout_merge_blocks, cfg_layout_split_edge): Partly moved to
9553 cfghooks.c.
9554 (rtl_create_basic_block): Coding style fix.
9555 (rtl_tidy_fallthru_edge, rtl_move_block_after,
9556 rtl_make_forwarder_block): New functions.
9557 (update_cfg_after_block_merging): Removed.
9558 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Fill in new entries.
9559 * flow.c (verify_wide_reg, verify_local_live_at_start): Add argument
9560 to dump_bb.
9561 * ifcvt.c (merge_if_block, find_cond_trap, find_if_case_1,
9562 find_if_case_2): Don't update dominators.
9563 * timevar.def (TV_CFG_VERIFY): New.
9564 * loop-unswitch.c (unswitch_loop): Don't call add_to_dominance_info.
9565 * cfglayout.c (copy_bbs): Don't call add_to_dominance_info.
9566 * cfgloopmanip.c (split_loop_bb): Don't update dominators.
9567 (remove_bbs): Don't call remove_bbs.
9568 (create_preheader): Use make_forwarder_block.
9569 (mfb_keep_just, mfb_update_loops): New static functions.
9570
3cea4788
KH
95712004-01-29 Kazu Hirata <kazu@cs.umass.edu>
9572
9573 * config/avr/avr.h: Remove target-independent comments about
9574 target macros.
9575
75e853f2 95762004-01-28 Daniel Berlin <dberlin@dberlin.org>
16dd5cfe 9577
75e853f2
DB
9578 * timevar.c (timevar_print): Mention when checking is enabled.
9579
7625e73d
GB
95802004-01-28 Giovanni Bajo <giovannibajo@gcc.gnu.org>
9581
9582 * c-lex.c (c_lex): Rename to...
9583 (c_lex_with_flags): Add new parameter to get CPP flags.
9584 (c_lex): Thunk to c_lex_with_flags while keeping the old interface.
9585 * c-pragma.h (c_lex_with_flags): Declare.
9586
dc7efe6e
KH
95872004-01-28 Kazu Hirata <kazu@cs.umass.edu>
9588
9589 * config/mcore/mcore.c (mcore_external_libcall): Add a
9590 comment.
9591 (mcore_return_in_memory): Likewise.
9592
09a2b93a
KH
95932004-01-28 Kazu Hirata <kazu@cs.umass.edu>
9594
9595 * config/mcore/mcore-protos.h: Remove the prototype for
9596 mcore_setup_incoming_varargs.
9597 * config/mcore/mcore.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
9598 (TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
9599 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
9600 (TARGET_PROMOTE_PROTOTYPES): Likewise.
9601 (TARGET_STRUCT_VALUE_RTX): Likewise.
9602 (TARGET_RETURN_IN_MEMORY): Likewise.
9603 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
9604 (mcore_setup_incoming_varargs): Make it static. Receive the
9605 first argument by reference. Add argument second_time.
9606 (mcore_external_libcall): New.
9607 (mcore_return_in_memory): Likewise.
9608 * config/mcore/mcore.h (PROMOTE_FUNCTION_ARGS): New.
9609 (PROMOTE_FUNCTION_RETURN): Likewise.
9610 (STRUCT_VALUE): Likewise.
9611 (RETURN_IN_MEMORY): Likewise.
9612 (SETUP_INCOMING_VARARGS): Likewise.
9613 (PROMOTE_PROTOTYPES): Likewise.
9614 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
9615
a7ed00da
KH
96162004-01-28 Kazu Hirata <kazu@cs.umass.edu>
9617
9618 * config/m32r/m32r-protos.h: Remove the prototype for
9619 m32r_setup_incoming_varargs.
9620 * config/m32r/m32r.c (TARGET_PROMOTE_PROTOTYPES): New.
9621 (TARGET_STRUCT_VALUE_RTX): Likewise.
9622 (TARGET_RETURN_IN_MEMORY): Likewise.
9623 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
9624 (m32r_return_in_memory): New.
9625 (m32r_setup_incoming_varargs): Make it static.
9626 * config/m32r/m32r.h: Remove #undef of
9627 ASM_OUTPUT_EXTERNAL_LIBCALL. Remove the commented-out
9628 definitions of PROMOTE_FUNCTION_ARGS and
9629 PROMOTE_FUNCTION_RETURN.
9630 (PROMOTE_PROTOTYPES): Remove.
9631 (RETURN_IN_MEMORY): Likewise.
9632 (STRUCT_VALUE): Likewise.
9633
8636be86
KH
96342004-01-28 Kazu Hirata <kazu@cs.umass.edu>
9635
9636 * config/m68k/m68k.c (TARGET_PROMOTE_PROTOTYPES): New.
9637 (TARGET_STRUCT_VALUE_RTX): Likewise.
9638 (m68k_struct_value_rtx): Likewise.
9639 * config/m68k/m68k.h (STRUCT_VALUE_REGNUM): Rename to
9640 STRUCT_VALUE_REGNUM.
9641 (PROMOTE_PROTOTYPES): Remove.
9642 * config/m68k/m68kelf.h (STRUCT_VALUE_REGNUM): Rename to
9643 STRUCT_VALUE_REGNUM.
9644 * config/m68k/m68kv4.h (STRUCT_VALUE_REGNUM): Likewise.
9645 * config/m68k/netbsd-elf.h (STRUCT_VALUE_REGNUM): Likewise.
9646
f2f61ee7
KH
96472004-01-28 Kazu Hirata <kazu@cs.umass.edu>
9648
9649 * config/stormy16/stormy16.c
9650 (TARGET_BUILD_BUILTIN_VA_LIST_TYPE): Rename to
9651 TARGET_BUILD_BUILTIN_VA_LIST.
9652
fb7bc7fb
KH
96532004-01-28 Kazu Hirata <kazu@cs.umass.edu>
9654
9655 * config/v850/v850.c (TARGET_PROMOTE_PROTOTYPES): New.
9656 (TARGET_STRUCT_VALUE_RTX): Likewise.
9657 (TARGET_RETURN_IN_MEMORY): Likewise.
9658 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
9659 (v850_return_in_memory): Likewise.
9660 (v850_setup_incoming_varargs): Likewise.
9661 * config/v850/v850.h (PROMOTE_PROTOTYPES): Remove.
9662 (SETUP_INCOMING_VARARGS): Likewise.
9663 (RETURN_IN_MEMORY): Likewise.
9664 (STRUCT_VALUE): Likewise.
9665
0fd818e7
KH
96662004-01-28 Kazu Hirata <kazu@cs.umass.edu>
9667
9668 * config/fr30/fr30.c (TARGET_PROMOTE_PROTOTYPES): New.
9669 (fr30_setup_incoming_varargs): Don't use
9670 STRICT_ARGUMENT_NAMING.
9671 * config/fr30/fr30.h (PROMOTE_PROTOTYPES): Remove.
9672 (STRICT_ARGUMENT_NAMING): Likewise.
9673
8ac411c7
KH
96742004-01-28 Kazu Hirata <kazu@cs.umass.edu>
9675
9676 * config/frv/frv-protos.h: Remove the prototype for
9677 frv_expand_builtin_saveregs.
9678 * config/frv/frv.c (TARGET_STRUCT_VALUE_RTX): Likewise.
9679 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
9680 (frv_stack_info): Use FRV_STRUCT_VALUE_REGNUM instead of
9681 STRUCT_VALUE_REGNUM.
9682 (frv_expand_builtin_saveregs): Make it static.
9683 (frv_struct_value_rtx): New.
9684 * config/frv/frv.h (EXPAND_BUILTIN_SAVEREGS): Remove.
9685
d173e685
JH
96862004-01-29 Jan Hubicka <jh@suse.cz>
9687
9688 PR c++/12850
9689 * cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
9690 initial pointers.
9691 * cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
9692 for functions that will be only inlined.
9693 (cgraph_mark_function_to_output): Likewise.
9694 (cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
9695 do not clear function body.
9696 * tree-optimize.c (clear_decl_rtl): Use decl_function_context.
9697 (tree_rest_of_compilation): Reorganize the logic releasing function
9698 body to use callgraph datastructure.
9699
f7a1010e
JDA
97002004-01-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9701
9702 * pa.md: Change predicate of a peephole2 pattern from reg_or_0_operand
9703 to register_operand.
9704
e7f47f83
ZW
97052004-01-28 Zack Weinberg <zack@codesourcery.com>
9706
9707 * config/ia64/ia64.md (fetchadd_acq_si, fetchadd_acq_di)
9708 (cmpxchg_acq_si, cmpxchg_acq_di): Exchange match_dup and
9709 match_operand expressions so that all match_dups appear
9710 lexically after their corresponding match_operands.
9711
1807b726
KH
97122004-01-28 Kazu Hirata <kazu@cs.umass.edu>
9713
9714 * config/h8300/h8300.c (WORD_REG_USED): Use
9715 HARD_FRAME_POINTER_REGNUM instead of FRAME_POINTER_REGNUM.
9716 (compute_saved_regs): Likewise.
9717 (h8300_expand_prologue): Likewise. Allocate locals after
9718 saving registers.
9719 (h8300_expand_epilogue): Use HARD_FRAME_POINTER_REGNUM instead
9720 of FRAME_POINTER_REGNUM. Deallocate locals before saving
9721 registers.
9722 (h8300_initial_elimination_offset): Adjust for the new frame
9723 layout, which swaps flips the order of locals and saved
9724 registers.
9725 * config/h8300/h8300.h (FIRST_PSEUDO_REGISTER): Change to 12.
9726 (HARD_FRAME_POINTER_REGNUM): New.
9727 (ELIMINABLE_REGS): Add an elimination rule from
9728 FRAME_POINTER_REGNUM to HARD_FRAME_POINTER_REGNUM.
9729 (REGISTER_NAMES): Add fp.
9730 * config/h8300/h8300.md (FP_REG): Change to 11.
9731 (HFP_REG): New.
9732
be2c39f8
KH
97332004-01-28 Kazu Hirata <kazu@cs.umass.edu>
9734
9735 * genrecog.c (write_node): Remove a useless local variable.
9736
469ef4a3
ILT
97372004-01-28 Ian Lance Taylor <ian@wasabisystems.com>
9738
9739 * Makefile.in (options.c options.h): Use stamp file s-options to
9740 avoid unnecessary rebuilds.
9741 (options.o): New target listing dependencies.
9742 (gtyp-gen.h): Use stamp file s-gtyp-gen.
9743 (STAGESTUFF): Add s-gtyp-gen.
9744
685fe032
RH
97452004-01-28 Richard Henderson <rth@redhat.com>
9746
9747 * ggc.h (ggc_free): Declare.
9748 * ggc-common.c (ggc_realloc): Use it.
9749 * ggc-page.c: Remove lots of inline markers.
9750 (globals): Add free_object_list.
9751 (ggc_alloc): Tidy.
9752 (ggc_free, validate_free_objects): New.
9753 (poison_pages): Provide default.
9754 (ggc_collect): Call validate_free_objects; emit markers to
9755 the debug file.
9756
2ffe0e02
ZW
97572004-01-28 Zack Weinberg <zack@codesourcery.com>
9758 Jim Wilson <wilson@specifixinc.com>
9759
9760 * config/ia64/ia64.c (ia64_split_tmode, ia64_split_tmode_move):
9761 Rewrite to use POST_INC/POST_DEC/POST_MODIFY instead of a
9762 scratch pointer.
9763 (ia64_secondary_reload_class): Delete case GR_REGS.
9764 * config/ia64/ia64.md (movti, *movti_internal, movtf, *movtf_internal):
9765 Do not allocate a scratch register.
9766 (reload_inti, reload_outti, reload_intf, reload_outtf): Delete.
9767
a544524a
JH
97682004-01-28 Jan Hubicka <jh@suse.cz>
9769
9770 * gcse.c (bypass_block): Prevent edges to be unified when we are
9771 about to emit compenstation code.
9772
1b8f8174
NC
97732004-01-28 Nick Clifton <nickc@redhat.com>
9774
9775 * config/arm/arm.c (arm_expand_builtin): Force second argument of
9776 the setcwx insn into a register.
9777
faceece3
RS
97782004-01-28 Richard Sandiford <rsandifo@redhat.com>
9779
9780 * config/fp-bit.c (pack_d): When using paired doubles to implement
9781 a long double, round the high part separately.
9782 (unpack_d): Fix the case in which the high part is a power of two
9783 and the low part is a nonzero value of the opposite sign.
9784
28b24176
KH
97852004-01-28 Kazu Hirata <kazu@cs.umass.edu>
9786
9787 * config/c4x/c4x.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
9788 (TARGET_STRUCT_VALUE_RTX): Likewise.
9789 (c4x_external_libcall): Likewise.
9790 (c4x_struct_value_rtx): Likewise.
9791 * config/c4x/c4x.h: Remove.
9792 (STRUCT_VALUE_REGNUM): Likewise.
9793 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
9794
9184f892
KH
97952004-01-28 Kazu Hirata <kazu@cs.umass.edu>
9796
9797 * config/i386/i386.c (TARGET_PROMOTE_PROTOTYPES): New.
9798 (TARGET_STRUCT_VALUE_RTX): Likewise.
9799 * config/i386/i386.h (STRUCT_VALUE_INCOMING): Remove.
9800 (STRUCT_VALUE): Likewise.
9801 (PROMOTE_PROTOTYPES): Likewise.
9802
4cce9dd8
RS
98032004-01-27 Roger Sayle <roger@eyesopen.com>
9804
9805 * config/pa/pa.c (emit_move_sequence): Check that operand1 is a
9806 CONST_INT before using INTVAL.
9807
590fcf48
UW
98082004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
9809
9810 * config/s390/s390.h (TARGET_DEFAULT): Default to !TARGET_BACKCHAIN.
9811 * config/s390/s390.c (s390_return_addr_rtx): Fail for all but current
9812 frame if !TARGET_BACKCHAIN.
2ffe0e02 9813 * config/s390/s390.md ("allocate_stack"): Use pattern only if
590fcf48
UW
9814 TARGET_BACKCHAIN.
9815 * doc/invoke.texi (-mbackchain/-mno-backchain): Document new default.
9816
826b47cc
ZW
98172004-01-27 Zack Weinberg <zack@codesourcery.com>
9818
9819 * ia64.c (ia64_function_arg): When placing HFAs in integer
9820 registers, do not special case the mode used for complex
9821 types. Do not advance int_regs until the current register
9822 is full.
9823
83810fcb
RS
98242004-01-27 Richard Sandiford <rsandifo@redhat.com>
9825
9826 PR target/7297
9827 * except.c (init_eh): Use a 5-word __jbuf for __builtin_setjmp().
9828
2d9db8eb
DE
98292004-01-27 David Edelsohn <edelsohn@gnu.org>
9830
9831 * config/rs6000/rs6000.c (rs6000_emit_move): #if 0 splitting
9832 slow, unaligned loads and stores while debugging. Fix formatting.
9833
39e453d7
DE
98342004-01-27 David Edelsohn <edelsohn@gnu.org>
9835
9836 * config/rs6000/rs6000.md (save_stack_nonlocal): Use Pmode instead
9837 of computing wmode.
9838 (restore_stack_nonlocal): Same.
9839
6097b0c3 98402004-01-27 Devang Patel <dpatel@apple.com>
826b47cc 9841
6097b0c3 9842 * Makefile.in (dwarf2out.o): Depend on input.h
826b47cc 9843 * dbxout.c (dbx_debug_hooks): Add new empty hook for
6097b0c3
DP
9844 imported_module_or_decl.
9845 (xcoff_debug_hooks): Same.
9846 * sdbout.c (sdb_debug_hooks): Same.
9847 * vmsdbgout.c (vmsdbg_debug_hooks): Same.
9848 * debug.c (do_nothing_debug_hooks): Same.
9849 (debug_nothing_tree_tree): New function.
9850 * debug.h (gcc_debug_hooks): New hook, imported_module_or_decl.
9851 * dwarf2out.c: Include input.h.
9852 (dwarf2_debug_hooks): Add new hook for imported_module_or_decl.
9853 (remove_child_TAG): New function.
9854 (dwarf_tag_name): Handle DW_TAG_imported_module.
9855 (gen_subprogram_die): Equate decl number to declaration die. Do not
9856 remove all children dies while reusing declaration die for definition.
9857 Instead, selectively remove only formal parameters.
9858 (gen_variable_die): Equate variable decl to declaration die.
9859 (gen_field_die): Equate field decl to line number.
9860 (force_namespace_die): Replace it with ...
9861 (force_decl_die): ... this.
9862 (force_type_die): New function.
9863 (setup_namespace_context): Replace use of force_namespace_die() with
9864 force_decl_die().
9865 (gen_namespace_die): Same.
9866 (dwarf2out_imported_module_or_decl): New function.
9867
e6aecf8e 98682004-01-27 Bob Wilson <bob.wilson@acm.org>
826b47cc 9869
e6aecf8e
BW
9870 * config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Remove SUBREG
9871 on CQImode and CHImode incoming arguments in register a7.
9872 (function_arg): Wrap BLKmode argument in register a7 in a PARALLEL.
9873 * config/xtensa/xtensa.h (BLOCK_REG_PADDING): Define.
9874 * config/xtensa/xtensa.md (movdi, movdf): Only call force_reg or
9875 xtensa_copy_incoming_a7 before reload.
826b47cc 9876
02307675
R
98772004-01-27 J"orn Rennecke <joern.rennecke@superh.com>
9878
9879 * coverage.c (get_coverage_counts): Give a different message
9880 if flag_guess_branch_prob is set.
9881 * predict.c (counts_to_freqs): Return an int.
9882 (estimate_bb_frequencies): If counts_to_freqs returns zero,
9883 calculate estimates.
9884
69a45040
KH
98852004-01-27 Kazu Hirata <kazu@cs.umass.edu>
9886
9887 * config/iq2000/iq2000-protos.h: Remove the prototype for
9888 iq2000_setup_incoming_varargs.
9889 * config/iq2000/iq2000.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
9890 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
9891 (TARGET_PROMOTE_PROTOTYPES): Likewise.
9892 (TARGET_STRUCT_VALUE_RTX): Likewise.
9893 (TARGET_RETURN_IN_MEMORY): Likewise.
9894 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
9895 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
9896 (iq2000_return_in_memory): Likewise.
9897 (iq2000_setup_incoming_varargs): Make it static. Receive the
9898 first argument by reference.
9899 * config/iq2000/iq2000.h (PROMOTE_FUNCTION_ARGS): Remove.
9900 (PROMOTE_FUNCTION_RETURN): Likewise.
9901 (PROMOTE_PROTOTYPES): Likewise.
9902 (RETURN_IN_MEMORY): Likewise.
9903 (STRUCT_VALUE): Likewise.
9904 (SETUP_INCOMING_VARARGS): Likewise.
9905 (STRICT_ARGUMENT_NAMING): Likewise.
9906
9cdfc8e7
JM
99072004-01-24 James A. Morrison <ja2morri@uwaterloo.ca>
9908
826b47cc 9909 * fixinc/fixinc.c (test_test): Initialize res.
9cdfc8e7
JM
9910 (start_flexer): Initialize pz_cmd_save.
9911
60ffd2fe
ZW
99122004-01-27 Zack Weinberg <zack@codesourcery.com>
9913
9914 * doc/rtl.texi (Arithmetic): Rewrite entries for PLUS,
9915 SS_PLUS, US_PLUS, LO_SUM, MINUS, SS_MINUS, US_MINUS.
9916
52ad4d7b
ZW
99172004-01-27 Zack Weinberg <zack@codesourcery.com>
9918
9919 PR 7198
9920 * config/ia64/ia64.md (*nmaddsf4, *nmadddf4, *nmadddf4_alts)
9921 (*nmadddf4_trunc, *nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf)
9922 (*nmaddxf4_alts, *nmaddxf4_truncdf_alts):
9923 Rewrite pattern as (minus (op 3) (mult (op 1) (op 2))).
9924 Possibly rename pattern for consistency.
9925 Remove ??? comments suggesting that this be done.
9926 (*nmaddsf4_alts, *nmadddf4_truncsf_alts, *nmaddxf4_truncsf_alts):
9927 New patterns.
9928 (divsi3_internal, divdi3_internal_lat, divdi3_internal_thr)
9929 (divsf3_internal_lat, divsf3_internal_thr, sqrtsf2_internal_thr)
9930 (divdf3_internal_lat, divdf3_internal_thr, sqrtdf2_internal_thr)
9931 (divxf3_internal_lat, divxf3_internal_thr, sqrtxf2_internal_thr):
9932 Update to match.
9933
b034930f
ILT
99342004-01-27 Ian Lance Taylor <ian@wasabisystems.com>
9935
9936 * config/arm/arm.c (output_return_instruction): Only restore IP
9937 into SP if frame_pointer_needed.
9938
be446dfc
EB
99392004-01-27 Eric Botcazou <ebotcazou@libertysurf.fr>
9940
9941 * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
9942 for SCmode and DCmode if ARCH32.
9943 (sparc_va_arg): Handle SCmode and DCmode by reference if ARCH32.
9944 * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for TCmode
9945 if ARCH32.
9946 (BASE_RETURN_VALUE_REG): Return 32 for all FP modes except TFmode
9947 if ARCH32.
9948 (BASE_OUTGOING_VALUE_REG): Likewise.
9949
1b4bda70
EB
99502004-01-27 Eric Botcazou <ebotcazou@libertysurf.fr>
9951
9952 PR target/10904
9953 PR target/13058
9954 * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): New.
9955 Forbid mode changes from SImode for lower FP regs if ARCH64.
9956
1194fc79
R
99572004-01-27 J"orn Rennecke <joern.rennecke@superh.com>
9958
9959 * Makefile.in (bt-load.o): Depend on except.h.
9960 * bt-load.c (except.h): #include.
9961 (compute_defs_uses_and_gen): If insn at end of BB can throw
9962 within this function, consider registers used by it unavailable for
9963 btr migration.
9964 (move_btr_def): If insn at end of BB can throw, insert before rather
9965 than after.
9966
9967 * flags.h (flag_btr_bb_exclusive): Declare.
9968 * toplev.c (flag_btr_bb_exclusive): New variable.
9969 (f_options): Add btr-bb-exclusive.
9970 * bt-load.c (augment_live_range): Restore old behaviour if
9971 flag_btr_bb_exclusive is set.
9972 * common.opt: Add entry for -fbtr-bb-exclusive.
9973 * opts.c (common_handle_options): Same.
9974 * doc/invoke.texi: Document -fbtr-bb-exclusive.
52ad4d7b 9975
1194fc79
R
9976 * bt-load.c (btrs_live_at_end): New variable.
9977 (compute_defs_uses_and_gen): Compute its pointed-to array.
9978 (clear_btr_from_live_range, add_btr_to_live_range): Update it.
9979 (augment_live_range): When augmenting with a new dominator,
9980 use only its btrs_live_at_end set, but also add in the full set
9981 of the old dominator.
9982 (btr_def_live_range): Use btrs_live_at_end.
9983 (move_btr_def): Set other_btr_uses_before_def, and move new set
9984 to the end of the basic block, if appropriate.
9985 (migrate_btr_defs): Allocate and free btrs_live_at_end.
52ad4d7b 9986
1194fc79
R
9987 * bt-load.c (basic_block_freq): Remove outdated comment.
9988
895ea8f0
AM
99892004-01-27 Alan Modra <amodra@bigpond.net.au>
9990
9991 * config/rs6000/rs6000.h: Correct target_flags free bits comment.
9992 (PREDICATE_CODES): Remove duplicate.
9993 * config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define.
9994 (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL.
9995 (MASK_PROFILE_KERNEL): Adjust define.
9996
4137ba7a
JJ
99972004-01-27 Jakub Jelinek <jakub@redhat.com>
9998
9999 * config/i386/i386.c (ix86_constant_alignment): Decrease alignment
10000 of long string literals from 32 bytes to sizeof (void *) when !-Os
10001 and to 1 with -Os.
10002
a4bb41cc
KH
100032004-01-26 Kazu Hirata <kazu@cs.umass.edu>
10004
10005 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Accept
10006 constant addresses in the normal mode.
10007
1c62e7b2
KG
100082004-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10009
10010 * system.h (CHAR_BITFIELD): Delete.
10011 (BOOL_BITFIELD): New.
10012 * c-decl.c (c_scope): Use BOOL_BITFIELD.
10013 * gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD.
10014
96ab60fc
KH
100152004-01-26 Kazu Hirata <kazu@cs.umass.edu>
10016
10017 * config/arc/arc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
10018 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
10019 (TARGET_PROMOTE_PROTOTYPES): Likewise.
10020 (TARGET_STRUCT_VALUE_RTX): Likewise.
10021 (TARGET_RETURN_IN_MEMORY): Likewise.
10022 (arc_return_in_memory): Likewise.
10023 * config/arc/arc.h (PROMOTE_FUNCTION_ARGS): Remove.
10024 (PROMOTE_FUNCTION_RETURN): Likewise.
10025 (RETURN_IN_MEMORY): Likewise.
10026 (STRUCT_VALUE): Likewise.
10027
6d4b0a5d
RH
100282004-01-26 Richard Henderson <rth@redhat.com>
10029
10030 * c-parse.in (extension): Use itype.
10031 (SAVE_EXT_FLAGS): Don't allocate a tree.
10032 (RESTORE_EXT_FLAGS): Don't read a tree.
10033
18874af6
JH
100342004-01-26 Jan Hubicka <jh@suse.cz>
10035
10036 * cselib.c (discard_useless_values): Clear out value pointer pointing
10037 to datastructure to be recycled.
10038
501f88de
JH
100392004-01-25 Jan Hubicka <jh@suse.cz>
10040
10041 * genextract.c (main): Do not output the memset when not checking.
10042
d6456562
KH
100432004-01-26 Kazu Hirata <kazu@cs.umass.edu>
10044
10045 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a
10046 switch statement instead of a chain of if statements.
10047
5cea9d5d
JL
100482004-01-26 Jeff Law <law@redhat.com>
10049
10050 * doc/contrib.texi: Minor cleanup for Paolo Carlini's entry. Add
10051 acute accents for Petur Runolfsson's entry.
10052
04e9daaf
KH
100532004-01-26 Kazu Hirata <kazu@cs.umass.edu>
10054
10055 * config/pdp11/pdp11.c (TARGET_STRUCT_VALUE_RTX): New.
10056 (TARGET_RETURN_IN_MEMORY): Likewise.
10057 * config/pdp11/pdp11.h (STRUCT_VALUE): Remove.
10058 (RETURN_IN_MEMORY): Likewise.
10059
40ca90bf 100602004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9 10061
52ad4d7b
ZW
10062 * config/rs6000/rs6000.c (rs6000_emit_move): split slow
10063 unaligned load/store into smaller loads and stores.
6c8066b9 10064
40ca90bf 100652004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9 10066
52ad4d7b
ZW
10067 * function.c (assign_parms): Do not assign
10068 long long argument to memory in prologue if
10069 is it loaded into register.
6c8066b9 10070
40ca90bf 100712004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9
FJ
10072
10073 PR middle-end/13779
52ad4d7b
ZW
10074 * expr.c (emit_group_load): split constant
10075 correctly into register components of PARALLEL insn.
6c8066b9 10076
40ca90bf 100772004-01-26 Fariborz Jahanian <fjahanian@apple.com>
6c8066b9
FJ
10078
10079 * gcc/config/rs6000/rs6000.md (save_stack_nonlocal):
10080 Use adjust_address_nv directly with appropriate mode.
10081 (restore_stack_nonlocal): Ditto.
10082
4c45af42
KH
100832004-01-26 Kazu Hirata <kazu@cs.umass.edu>
10084
10085 * config/xtensa/xtensa-protos.h: Remove the prototype for
10086 xtensa_builtin_saveregs.
10087 * config/xtensa/xtensa.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
10088 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
10089 (TARGET_PROMOTE_PROTOTYPES): Likewise.
10090 (TARGET_STRUCT_VALUE_RTX): Likewise.
10091 (TARGET_RETURN_IN_MEMORY): Likewise.
10092 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
10093 (xtensa_builtin_saveregs): Make it static.
10094 (xtensa_return_in_memory): New.
10095 * config/xtensa/xtensa.h (PROMOTE_FUNCTION_ARGS: Remove.
10096 (PROMOTE_FUNCTION_RETURN): Likewise.
10097 (PROMOTE_PROTOTYPES): Likewise.
10098 (STRUCT_VALUE): Likewise.
10099 (RETURN_IN_MEMORY): Likewise.
10100 (EXPAND_BUILTIN_SAVEREGS): Likewise.
10101
1cc9f5f5
KH
101022004-01-26 Kazu Hirata <kazu@cs.umass.edu>
10103
10104 * config/arm/arm.c (TARGET_SETUP_INCOMING_VARARGS): New.
10105 (arm_setup_incoming_varargs): Likewise.
10106 * config/arm/arm.h (SETUP_INCOMING_VARARGS): Remove.
10107
558d352a
KH
101082004-01-26 Kazu Hirata <kazu@cs.umass.edu>
10109
10110 * config/cris/cris.c (TARGET_SETUP_INCOMING_VARARGS): New.
10111 (cris_setup_incoming_varargs): Likewise.
10112 * config/cris/cris.h (SETUP_INCOMING_VARARGS): Remove.
10113
2001a5cf
KH
101142004-01-26 Kazu Hirata <kazu@cs.umass.edu>
10115
10116 * config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New.
10117 (ns32k_struct_value_rtx): Likewise.
10118 * config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to
10119 NS32K_STRUCT_VALUE_REGNUM.
10120
f9ba5949
KH
101212004-01-26 Kazu Hirata <kazu@cs.umass.edu>
10122
10123 * config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
10124 (TARGET_PROMOTE_PROTOTYPES): Likewise.
10125 (TARGET_STRUCT_VALUE_RTX): Likewise.
10126 (arm_struct_value_rtx): Likewise.
10127 * config/arm/arm.h (PROMOTE_FUNCTION_ARGS): Remove.
10128 (STRUCT_VALUE): Likewise.
10129 (STRUCT_VALUE_REGNUM): Likewise.
10130 (PROMOTE_PROTOTYPES): Likewise.
10131
351a758b
KH
101322004-01-26 Kazu Hirata <kazu@cs.umass.edu>
10133
10134 * config/ia64/ia64-protos.h: Remove the prototype for
10135 ia64_setup_incoming_varargs and ia64_return_in_memory.
10136 * config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): New.
10137 (TARGET_RETURN_IN_MEMORY): Likewise.
10138 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
10139 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
10140 (ia64_setup_incoming_varargs): Adjust the arguments to meet
10141 the requirement of TARGET_SETUP_INCOMING_VARARGS.
10142 (ia64_return_in_memory): Make it static. Change the return
10143 type to bool from int. Add an argument.
10144 (ia64_struct_value_rtx): New.
10145 * config/ia64/ia64.h: Remove commented-out definitions of
10146 PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, and
10147 PROMOTE_PROTOTYPES.
10148 (RETURN_IN_MEMORY): Remove.
10149 (STRUCT_VALUE_REGNUM): Likewise.
10150 (STRICT_ARGUMENT_NAMING): Likewise.
10151
a7bba6ca
EB
101522004-01-26 Eric Botcazou <ebotcazou@libertysurf.fr>
10153
10154 PR target/13666
10155 * config/sparc/sparc.c (function_arg_union_value): New function.
10156 (function_arg): Use it to deal with unions.
10157 (function_value): Likewise. Define 'regbase' only for ARCH64.
10158 Replace a conditional statement by a simpler one.
10159
6865f4cd
RS
101602004-01-26 Richard Sandiford <rsandifo@redhat.com>
10161
10162 * config/mips/mips.c (mips16_optimize_gp): Delete.
10163 (mips_reorg): Don't call it.
10164
2d6d0eb5
MH
101652004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10166
10167 * config/c4x/c4x.md (addqi3_noclobber): Move up pecking order.
10168 (floatunsqihf2): Remove operand 6.
10169 (fixhfqi_set, fix_trunchfqi2, fixuns_trunchfqi2): Group with other
10170 fix patterns.
10171 (ldi_conditional, ldf_conditional): Validate operands.
10172
8f422192
MH
101732004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10174
10175 * config/c4x/c4x.h (BCT_CHECK_LOOP_ITERATIONS): Remove.
10176 (HAVE_GAS_HIDDEN): Undefine as interim measure.
52ad4d7b 10177
9c3602e4
MH
101782004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10179
10180 * config/c4x/c4x.c (c4x_legitimate_address_p): Invalidate direct
10181 memory references if TARGET_EXPOSE_LDP nonzero.
10182
a026b9d6
MH
101832004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10184
10185 * config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts.
52ad4d7b 10186
b7bbb574
MH
101872004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10188
10189 * config/c4x/c4x.c (c4x_valid_operands): More aggressively reject
10190 invalid operand combinations.
10191
1e903c61
MH
101922004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10193
10194 * config/c4x/c4x.c (c4x_check_legit_addr): Rename to
10195 c4x_legitimate_address_p. Fix post_modify check.
b7bbb574 10196
1e903c61
MH
10197 * config/c4x/c4x-protos.h (c4x_check_legit_addr): Adjust.
10198 * config/c4x/c4x.h (c4x_check_legit_addr): Adjust.
52ad4d7b 10199
3f12cd9b
KH
102002004-01-25 Kazu Hirata <kazu@cs.umass.edu>
10201
10202 * config/pa/pa-protos.h: Remove the prototype for
10203 hppa_builtin_saveregs. Add a prototype for
10204 pa_return_in_memory.
10205 * config/pa/pa.c (TARGET_PROMOTE_FUNCTION_RETURN): New.
10206 (TARGET_PROMOTE_PROTOTYPES): Likewise.
10207 (TARGET_STRUCT_VALUE_RTX): Likewise.
10208 (TARGET_RETURN_IN_MEMORY): Likewise.
10209 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
10210 (pa_struct_value_rtx): Likewise.
10211 (pa_return_in_memory): Likewise.
10212 * config/pa/pa.h (STRUCT_VALUE_REGNUM): Rename to
10213 PA_STRUCT_VALUE_REGNUM.
10214 (INIT_CUMULATIVE_ARGS): Use pa_return_in_memory.
10215 (EXPAND_BUILTIN_SAVEREGS): Remove.
10216 (PROMOTE_PROTOTYPES): Likewise.
10217 (PROMOTE_FUNCTION_RETURN): Likewise.
10218
f289e226
KH
102192004-01-25 Kazu Hirata <kazu@cs.umass.edu>
10220
10221 * config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): New.
10222 (TARGET_STRUCT_VALUE_RTX): Likewise.
10223 (vax_struct_value_rtx): Likewise.
10224 * config/vax/vax.h (STRUCT_VALUE_REGNUM): Rename to
10225 VAX_STRUCT_VALUE_REGNUM.
10226 (PROMOTE_PROTOTYPES): Remove.
10227
12fb52cf 102282004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
52ad4d7b
ZW
10229
10230 * config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Handle symref.
10231
fdcf1e1e
CD
102322003-04-25 Chris Demetriou <cgd@broadcom.com>
10233
10234 * config/mips/mips.h (ISA_HAS_HILO_INTERLOCKS): MIPS32, MIPS32r2,
10235 and MIPS64 have HI/LO interlocks. Update comment.
10236
7e43c821
KH
102372004-01-25 Kazu Hirata <kazu@cs.umass.edu>
10238
10239 * config/stormy16/stormy16-protos.h: Remove the prototype for
10240 xstormy16_setup_incoming_varargs.
10241 * config/stormy16/stormy16.c
10242 (xstormy16_setup_incoming_varargs): Remove.
10243 (xstormy16_return_in_memory): New.
10244 (TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
10245 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
10246 (TARGET_PROMOTE_PROTOTYPES): Likewise.
10247 (TARGET_STRUCT_VALUE_RTX): Likewise.
10248 (TARGET_RETURN_IN_MEMORY): Likewise.
10249 * config/stormy16/stormy16.h (PROMOTE_FUNCTION_ARGS): Remove.
10250 (PROMOTE_FUNCTION_RETURN): Likewise
10251 (PROMOTE_PROTOTYPES): Likewise
10252 (RETURN_IN_MEMORY): Likewise
10253 (STRUCT_VALUE): Likewise
10254 (SETUP_INCOMING_VARARGS): Likewise
10255
62973ffe
RS
102562004-01-25 Richard Sandiford <rsandifo@redhat.com>
10257
10258 * config/mips/mips.c (mips_offset_within_object_p): New function.
10259 (mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and
10260 SYMBOL_CONSTANT_POOL cases. Also use it for SYMBOL_GENERAL if the
10261 ABI has 64-bit pointers and the object file only allows 32-bit symbols.
10262
8e67da21
KH
102632004-01-25 Kazu Hirata <kazu@cs.umass.edu>
10264
10265 * config/sh/sh.h (PROMOTE_FUNCTION_ARGS): Remove.
10266 (PROMOTE_FUNCTION_RETURN): Likewise.
10267
9024ea92
KH
102682004-01-25 Kazu Hirata <kazu@cs.umass.edu>
10269
10270 * config/mn10300/mn10300-protos.h: Remove the prototype for
10271 mn10300_builtin_saveregs.
10272 * config/mn10300/mn10300.c (TARGET_PROMOTE_PROTOTYPES): New.
10273 (TARGET_STRUCT_VALUE_RTX): Likewise.
10274 (TARGET_RETURN_IN_MEMORY): Likewise.
10275 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
10276 (mn10300_return_in_memory): Likewise.
10277 (mn10300_builtin_saveregs): Make it static.
10278 * config/mn10300/mn10300.h (PROMOTE_PROTOTYPES): Remove.
10279 (RETURN_IN_MEMORY): Likewise.
10280 (STRUCT_VALUE): Likewise.
10281 (EXPAND_BUILTIN_SAVEREGS): Likewise.
10282
20b4e8ae
EB
102832004-01-25 Eric Botcazou <ebotcazou@act-europe.fr>
10284
10285 PR bootstrap/13853
10286 * cfgcleanup.c (try_optimize_cfg): Explicitly test against 0.
10287
cff555dc
KH
102882004-01-25 Kazu Hirata <kazu@cs.umass.edu>
10289
10290 * config/h8300/lib1funcs.asm (divnorm, modnorm): Optimize by
10291 using ccr.
10292
30f58b01
KH
102932004-01-25 Kazu Hirata <kazu@cs.umass.edu>
10294
10295 * config/i860/i860-protos.h: Remove the prototype for
10296 i860_saveregs.
10297 * config/i860/i860.c (i860_saveregs): Make it static.
10298 (i860_struct_value_rtx): New.
10299 (TARGET_STRUCT_VALUE_RTX): Likewise.
10300 (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
10301 * config/i860/i860.h (STRUCT_VALUE_REGNUM): Rename to
10302 I860_STRUCT_VALUE_REGNUM.
10303 (EXPAND_BUILTIN_SAVEREGS): Remove.
10304
341ec191
KH
103052004-01-25 Kazu Hirata <kazu@cs.umass.edu>
10306
10307 * config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New.
10308 (TARGET_RETURN_IN_MEMORY): Likewise.
10309 (m68hc11_struct_value_rtx): Likewise.
10310 (m68hc11_return_in_memory): Likewise.
10311 * config/m68hc11/m68hc11.h: Remove a commented-out definition
10312 of PROMOTE_PROTOTYPES.
10313 (RETURN_IN_MEMORY): Remove.
10314 (STRUCT_VALUE_REGNUM): Likewise.
10315
344caf1b
KH
103162004-01-25 Kazu Hirata <kazu@cs.umass.edu>
10317
10318 * config/mmix/mmix-protos.h: Remove the prototype for
10319 mmix_setup_incoming_varargs.
10320 * config/mmix/mmix.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
10321 (TARGET_STRUCT_VALUE_RTX): Likewise.
10322 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
10323 (mmix_setup_incoming_varargs): Make it static.
10324 (mmix_struct_value_rtx): New.
10325 * config/mmix/mmix.h (PROMOTE_FUNCTION_ARGS): Remove.
10326 Remove a commented-out definition of PROMOTE_FUNCTION_RETURN.
10327 (STRUCT_VALUE_REGNUM): Remove.
10328 (SETUP_INCOMING_VARARGS): Likewise.
10329
0c8da560
KH
103302004-01-25 Kazu Hirata <kazu@cs.umass.edu>
10331
10332 * config/mips/mips-protos.h: Remove the prototypes for
10333 mips_setup_incoming_varargs and mips_return_in_memory.
10334 * config/mips/mips.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
10335 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
10336 (TARGET_PROMOTE_PROTOTYPES): Likewise.
10337 (TARGET_STRUCT_VALUE_RTX): Likewise.
10338 (TARGET_RETURN_IN_MEMORY): Likewise.
10339 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
10340 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
10341 (mips_setup_incoming_varargs): Match the prototype for
10342 TARGET_SETUP_INCOMING_VARARGS.
10343 (mips_return_in_memory): Make it static. Add argument fntype.
10344 (mips_strict_argument_naming): New.
10345 * config/mips/mips.h (PROMOTE_PROTOTYPES): Remove.
10346 (PROMOTE_FUNCTION_ARGS): Likewise.
10347 (PROMOTE_FUNCTION_RETURN): Likewise.
10348 (STRUCT_VALUE): Likewise.
10349 (RETURN_IN_MEMORY): Likewise.
10350 (SETUP_INCOMING_VARARGS): Likewise.
10351 (STRICT_ARGUMENT_NAMING): Likewise.
10352
49ca372c
KH
103532004-01-25 Kazu Hirata <kazu@cs.umass.edu>
10354
10355 * config/ip2k/ip2k.c (TARGET_STRUCT_VALUE_RTX): New.
10356 (TARGET_RETURN_IN_MEMORY): Likewise.
10357 (TARGET_SETUP_INCOMING_VARARGS): Likewise.
10358 (ip2k_return_in_memory): Likewise.
10359 (ip2k_setup_incoming_varargs): Likewise.
10360 * config/ip2k/ip2k.h (RETURN_IN_MEMORY): Remove.
10361 (STRUCT_VALUE): Likewise.
10362 (STRUCT_VALUE_INCOMING): Likewise.
10363 (SETUP_INCOMING_VARARGS): Likewise.
10364
b069302c
KH
103652004-01-25 Kazu Hirata <kazu@cs.umass.edu>
10366
10367 * config/avr/avr.c (TARGET_STRUCT_VALUE_RTX): New.
10368 (TARGET_RETURN_IN_MEMORY): Likewise.
10369 (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
10370 (avr_return_in_memory): Remove.
10371 * config/avr/avr.h (RETURN_IN_MEMORY): Remove.
10372 (STRUCT_VALUE): Likewise.
10373 (STRUCT_VALUE_INCOMING): Likewise.
10374 (STRICT_ARGUMENT_NAMING): Likewise.
10375
e6d83128
JH
103762004-01-25 Jan Hubicka <jh@suse.cz>
10377
10378 * combine.c (recog_for_combine): Avoid allocating unnecesary RTX.
10379
bcbc6b7f
RS
103802004-01-25 Richard Sandiford <rsandifo@redhat.com>
10381
10382 * config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete.
10383 (mips_regno_mode_ok_for_base_p): Declare.
10384 * config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77.
10385 (FRAME_POINTER_REGNUM): Renumber to 78.
10386 (FIRST_PSEUDO_REGISTER): Update comment accordingly.
10387 (BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete.
10388 (GP_REG_OR_PSEUDO_NONSTRICT_P): Delete.
10389 (REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p.
10390 (REG_MODE_OK_FOR_BASE_P): Likewise.
10391 * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change
10392 entry for 77 to "$arg" and entry for 78 to "$frame".
10393 (mips_regno_to_class): Map 77 and 78 to ALL_REGS.
10394 (mips_reg_mode_ok_for_base_p): Remove.
10395 (mips_regno_mode_ok_for_base_p): New function, derived from old
10396 BASE_REG_P macro. Don't enforce the mips16 stack pointer
10397 restrictions unless we're being strict.
10398 (mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p.
10399
1f52178b
KH
104002004-01-24 Kazu Hirata <kazu@cs.umass.edu>
10401
10402 * c-common.h: Fix comment typos.
10403 * c-decl.c: Likewise.
10404 * cgraphunit.c: Likewise.
10405 * combine.c: Likewise.
10406 * et-forest.c: Likewise.
10407 * flow.c: Likewise.
10408 * function.c: Likewise.
10409 * ifcvt.c: Likewise.
10410 * integrate.c: Likewise.
10411 * jump.c: Likewise.
10412 * postreload.c: Likewise.
10413 * varray.c: Likewise.
10414
56ae1316
KH
104152004-01-24 Kazu Hirata <kazu@cs.umass.edu>
10416
10417 * doc/frontends.texi: Update copyright.
10418 * doc/gcov.texi: Likewise.
10419 * doc/gty.texi: Likewise.
10420 * doc/sourcebuild.texi: Likewise.
10421 * doc/standards.texi: Likewise.
10422
b1dccb28
HB
104232004-01-24 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
10424
10425 PR target/12978
10426 * c4x.md: (movstrqi*) Use match_scratch instead of match_dup.
10427 Remove movstrqi_small because it conflicts with movstrqi_large.
10428
a2fef3a4
KH
104292004-01-24 Kazu Hirata <kazu@cs.umass.edu>
10430
10431 * config/cris/cris.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
10432 (TARGET_STRUCT_VALUE_RTX): Likewise.
10433 (cris_struct_value_rtx): Likewise.
10434 * config/cris/cris.h (PROMOTE_FUNCTION_ARGS): Remove.
10435 (CRIS_STACKADJ_REG): Use CRIS_STRUCT_VALUE_REGNUM instead of
10436 STRUCT_VALUE_REGNUM.
10437 (STRUCT_VALUE_REGNUM): Rename to CRIS_STRUCT_VALUE_REGNUM.
10438
1f44254c
ILT
104392004-01-24 Ian Lance Taylor <ian@wasabisystems.com>
10440
10441 PR bootstrap/13848
10442 * cse.c (cse_cc_succs): Change the mode of the source expression
10443 as soon as decide we need a new mode. Don't permit changing modes
10444 if we found a match in a successor block.
10445 (cse_condition_code_reg): Save original mode of source expression
10446 so that we know whether we have to change the mode in other
10447 insns.
10448
fdb1c7b3
JH
104492004-01-24 Jan Hubicka <jh@suse.cz>
10450
10451 * emit-rtl.c (change_address, adjust_address_1, offset_address,
10452 widen_memory_access): Return early when there is nothing to change.
10453
5473cfa7
JJ
104542004-01-24 Jakub Jelinek <jakub@redhat.com>
10455
10456 * simplify-rtx.c (simplify_relational_operation): Don't
10457 simplify address == constant into address + -constant == 0.
10458
a5153056
KH
104592004-01-24 Kazu Hirata <kazu@cs.umass.edu>
10460
10461 * gcc.c (process_command): Don't internationalize the
10462 Copyright message.
10463 * mips-tfile.c (main): Likewise.
10464
174b84e5
AT
104652004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
10466
10467 * cse.c: (cse_cc_succs) Fix comparison warning.
10468
16537909
KH
104692004-01-24 Kazu Hirata <kazu@cs.umass.edu>
10470
10471 * config/h8300/h8300.md: Remove extraneous USE in expanders.
10472
d0022200
KH
104732004-01-24 Kazu Hirata <kazu@cs.umass.edu>
10474
10475 * config/h8300/h8300-protos.h: Provide prototypes for
10476 h8300_legitimate_constant_p and h8300_legitimate_address_p.
10477 * config/h8300/h8300.c (h8300_legitimate_constant_p): New.
10478 (h8300_rtx_ok_for_base_p): Likewise.
10479 (h8300_legitimate_address_p): Likewise.
10480 * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Use
10481 h8300_legitimate_constant_p.
10482 (RTX_OK_FOR_BASE_P): Remove.
10483 (GO_IF_LEGITIMATE_ADDRESS): Use h8300_legitimate_address_p.
10484
ca04c5a9
KH
104852004-01-24 Kazu Hirata <kazu@cs.umass.edu>
10486
10487 * config/h8300/h8300.h (REG_OK_FOR_INDEX_NONSTRICT_P): New.
10488 (REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
10489 (REG_OK_FOR_INDEX_STRICT_P): Likewise.
10490 (REG_OK_FOR_BASE_STRICT_P): Likewise.
10491 (REG_OK_FOR_INDEX_STRICT_P): Use REGNO_OK_FOR_INDEX_P.
10492 (REG_OK_FOR_BASE_STRICT_P): Use REGNO_OK_FOR_BASE_P.
10493 (REG_OK_FOR_INDEX_P): Use REG_OK_FOR_INDEX_STRICT_P.
10494 (REG_OK_FOR_BASE_P): Use REG_OK_FOR_BASE_STRICT_P.
10495
3e2a0bd2
JH
104962004-01-24 Jan Hubicka <jh@suse.cz>
10497
10498 * cselib.c (remove_useless_values): Do not access discarded values.
10499
b1adf557
JM
105002004-01-24 Joseph S. Myers <jsm@polyomino.org.uk>
10501
10502 * c-typeck.c (build_conditional_expr): Do not allow non-lvalue
10503 arrays.
10504
55cd4633
KH
105052004-01-23 Kazu Hirata <kazu@cs.umass.edu>
10506
10507 * recog.c: Fix a typo in copyright.
10508
bbf294a5
AP
105092004-01-23 Andrew Pinski <apinski@apple.com>
10510
10511 * config/rs6000/rs6000.md (call): Fix misappiled patch.
10512 (call_value): Likewise.
10513
a475bff7
RH
105142004-01-23 Richard Henderson <rth@redhat.com>
10515
52ad4d7b
ZW
10516 PR opt/12941
10517 * combine.c (SHIFT_COUNT_TRUNCATED): Provide default value.
10518 (simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0)
10519 if SHIFT_COUNT_TRUNCATED is set.
a475bff7 10520
3712281f
BW
105212004-01-23 Bob Wilson <bob.wilson@acm.org>
10522
10523 * config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as
10524 separate real and imaginary parts.
10525 * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define.
10526
99e5c00b
HP
105272004-01-23 Hartmut Penner <hpenner@de.ibm.com>
10528
10529 PR target/13674
10530 * config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage
10531 loading into GPR.
10532
8b07361e
JH
105332004-01-23 Jan Hubicka <jh@suse.cz>
10534
a74ff877
JH
10535 * emit-rtl.c (change_address_1): Do not re-generate the RTX if nothing
10536 change.
10537
8b07361e
JH
10538 * alloc-pool.c (align_four): Kill.
10539 (create_alloc_pool): Align size to eight.
10540 (free_alloc_pool, free_pool): Invalidate deallocated data.
10541
e129d93a
ILT
105422004-01-23 Ian Lance Taylor <ian@wasabisystems.com>
10543
10544 PR gcc/1532
10545 * cse.c (cse_change_cc_mode): New static function.
10546 (cse_change_cc_mode_insns, cse_cc_succs): Likewise.
10547 (cse_condition_code_reg): New function.
10548 * rtl.h (cse_condition_code_reg): Declare.
10549 * toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg.
10550 * target.h (struct gcc_target): Add fixed_condition_code_regs and
10551 cc_modes_compatible.
10552 * target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define.
10553 (TARGET_CC_MODES_COMPATIBLE): Define.
10554 (TARGET_INITIALIZER): Add new initializers.
10555 * targhooks.c (default_cc_modes_compatible): New function.
10556 * targhooks.c (default_cc_modes_compatible): Declare.
10557 * hooks.c (hook_bool_intp_intp_false): New function.
10558 * hooks.h (hook_bool_intp_intp_false): Declare.
10559 * config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
10560 (TARGET_CC_MODES_COMPATIBLE): Define.
10561 (ix86_fixed_condition_code_regs): New static function.
10562 (ix86_cc_modes_compatible): Likewise.
10563 * doc/tm.texi (Condition Code): Document new hooks.
10564
f6c930a3
RO
105652004-01-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10566
10567 * fixinc/inclhack.def (bad_lval): Renamed to ...
10568 (alpha_bad_lval): ... this.
10569 Removed file list.
10570 Restrict to alpha*-dec-osf*.
10571 * fixinc/fixincl.x: Regenerate.
10572 * fixinc/tests/base/dirent.h: Remove, moving test ...
10573 * fixinc/tests/base/testing.h: ... here, reflecting new name.
10574
04b8f97f
ZW
105752004-01-23 Zack Weinberg <zack@codesourcery.com>
10576
30cab869 10577 PR c/13814
04b8f97f
ZW
10578 * c-decl.c (diagnose_mismatched_decls): Also discard a
10579 built-in if we encounter an old-style definition with the
10580 same name.
10581
1ab1739c
JJ
105822004-01-23 Jakub Jelinek <jakub@redhat.com>
10583
10584 * config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was
10585 set to default{32,64}.
10586
02731d29
JJ
105872004-01-21 Jakub Jelinek <jakub@redhat.com>
10588
10589 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR)
10590 [!__powerpc64__]: Corrected to handle kernels with changed ucontext.
10591
0a944ef6 105922004-01-23 Eric Botcazou <ebotcazou@act-europe.fr>
04b8f97f 10593 Olivier Hainque <hainque@act-europe.fr>
0a944ef6
EB
10594
10595 * fold-const.c (fold_binary_op_with_conditional_arg): Only
10596 build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR.
10597
0bfb39ef
DJ
105982004-01-23 Daniel Jacobowitz <drow@mvista.com>
10599
10600 * config/arm/arm.c (arm_legitimate_address_p): Don't check the mode
10601 size for minipool references.
10602
25348c94
RS
106032004-01-23 Roger Sayle <roger@eyesopen.com>
10604
10605 * real.c (real_floor, real_ceil): Tweak to allow input and output
10606 arguments to overlap.
10607 (real_round): New function to implement round(3m) semantics.
10608 * real.h (real_round): Prototype here.
10609 * builtins.c (fold_builtin_round): New function to constant fold
10610 round, roundf and roundl.
10611 (fold_builtin): Call fold_builtin_round for BUILT_IN_ROUND{,F,L}.
10612
0f2b41b2
AO
106132004-01-23 Alexandre Oliva <aoliva@redhat.com>
10614
10615 PR optimization/13819
04b8f97f 10616 * config/sh/sh.c (sh_reorg): Compensate for sharing of CLOBBERs
0f2b41b2
AO
10617 introduced by 2004-01-20's Jan Hubicka's copy_insn change.
10618 (sh_handle_sp_switch_attribute): Remove warning.
10619
72613dfa
JH
106202003-11-30 Jan Hubicka <jh@suse.cz>
10621
10622 * i386.c (ix86_emit_restore_regs_using_mov): Deal with large offsets.
10623
7be4d808
R
106242004-01-23 J"orn Rennecke <joern.rennecke@superh.com>
10625
10626 * doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP
10627 may or may not return non-NIL.
10628 * postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code,
10629 check CANNOT_CHANGE_MODE_CLASS
10630
23bd7a93
JH
106312004-01-23 Jan Hubicka <jh@suse.cz>
10632
10633 * basic-block.h (PROP_POSTRELOAD): New macro.
10634 (CLEANUP_LOG_LINKS): New.
10635 * cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to.
10636 * toplev.c (rest_of_handle_life): Preserve LOG_LINKS trought cleanup_cfg.
10637
10638 * cselib.c (value_pool): New.
10639 (new_cselib_val): Use pool.
10640 (cselib_init): Initialize value_pool
10641 (cselib_finish): Free pool.
10642
5c4f4b18
EB
106432004-01-23 Eric Botcazou <ebotcazou@libertysurf.fr>
10644
10645 * config/sparc/sparc.c (scan_record_type): New function.
10646 (function_arg_slotno): Use it to determine which kinds of
10647 registers the record can be passed in.
10648
95f576c1
JM
106492004-01-22 James A. Mmorrison <ja2morri@uwaterloo.ca>
10650
10651 * config/pa/fptr.c: Fix old-style definition.
10652
4c442790
PB
106532004-01-22 Paolo Bonzini <bonzini@gnu.org>
10654
10655 PR optimization/13724
10656 * cse.c (fold_rtx) <SUBREG>: Fold a SUBREG to zero if it
10657 represents the zero bits produced by a ZERO_EXTEND operation.
10658
dc4bbaf7
RS
106592004-01-22 Roger Sayle <roger@eyesopen.com>
10660
10661 PR optimization/13821
10662 * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset to
10663 correctly calculate the lowpart offset of the contracted subreg.
10664
b00567b0
ILT
106652004-01-22 Ian Lance Taylor <ian@wasabisystems.com>
10666
10667 * doc/invoke.texi (Optimize Options): Note that --param arguments
10668 are subject to change without notice.
10669
d0d969f8
RO
106702004-01-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10671
10672 * config.gcc (mips-sgi-irix6*o32): Removed.
10673 * config/mips/iris6-o32-as.h: Likewise.
10674 * config/mips/iris6-o32-gas.h: Likewise.
10675 * config/mips/iris6-o32.h: Likewise.
10676
7cf240d5
JH
106772004-01-22 Jan Hubicka <jh@suse.cz>
10678
10679 * cfgcleanup.c (first_pass): New static variable.
10680 (try_forward_edges): Add work limiting check for threading.
10681 (try_crossjump_bb): Add work limiting check for crossjumping.
10682 (try_optimize_cfg): Maintain first pass variable.
10683
b16417d6
BW
106842004-01-22 Bob Wilson <bob.wilson@acm.org>
10685
10686 * config/xtensa/xtensa.c (function_arg): Generalize logic so that it
10687 handles complex and vector modes.
10688
c8796654
KH
106892004-01-22 Kazu Hirata <kazu@cs.umass.edu>
10690
10691 * config/h8300/h8300.h (REG_OK_FOR_INDEX_P_STRICT): Remove.
10692 (REG_OK_FOR_BASE_P_STRICT): Likewise.
10693 (STRICT): Likewise.
10694
10176e28
DJ
106952004-01-22 Daniel Jacobowitz <drow@mvista.com>
10696
10697 * c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1)
10698 (genrtl_for_stmt): Remove emit_nop calls.
10699
7bff636b
JDA
107002004-01-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10701
10702 PR target/13713
10703 PR target/13324
10704 * pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload,
10705 movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload,
10706 clrstrdi_prereload, clrstrdi_postreload): Fix constraints.
10707
980e61bb
DJ
107082004-01-22 Daniel Jacobowitz <drow@mvista.com>
10709
10710 * config/arm/arm.c: Include "debug.h".
04b8f97f 10711 (thumb_pushpop): Take two new arguments. Add some commentary.
980e61bb
DJ
10712 Output frame information when pushing.
10713 (thumb_exit, thumb_unexpanded_epilogue): Update calls to
10714 thumb_pushpop.
10715 (thumb_output_function_prologue): Likewise. Accumulate a CFA
10716 offset, and pass it to thumb_pushpop. Output CFI information.
10717 (thumb_expand_prologue): Add some frame-related markers and notes.
10718
0067d121
UW
107192004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
10720
10721 * config/s390/s390.c (s390_frame_info): Allow large frame sizes
10722 for TARGET_64BIT.
10723 (s390_arg_frame_offset): Change return type to HOST_WIDE_INT.
10724 * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise.
10725
bb51e270
RS
107262004-01-22 Roger Sayle <roger@eyesopen.com>
10727 Paolo Bonzini <bonzini@gnu.org>
10728
10729 * rtlanal.c (subreg_lsb_1): New function split out from subreg_lsb.
10730 (subreg_lsb): Change to call new subreg_lsb_1 helper function.
10731 * rtl.h (subreg_lsb_1): Prototype here.
10732 * simplify-rtx.c (simplify_subreg): Optimize subregs of zero and
10733 sign extensions.
10734
9c49953c
KH
107352004-01-22 Kazu Hirata <kazu@cs.umass.edu>
10736
10737 * doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the
10738 macro need not be defined if jump-tables should contain
10739 relative addresses only when -fPIC or -fPIC is in effect.
10740
c582d54a
JH
107412004-01-22 Jan Hubicka <jh@suse.cz>
10742
10743 * alias.c (reg_base_value): Turn into varray.
10744 (reg_base_value_size): Kill.
10745 (old_reg_base_value): New deletable varray.
10746 (alias_invariant_size): New variable.
10747 (REG_BASE_VALUE): Update to use varray.
10748 (find_base_value): Likewise.
10749 (record_set): Likewise.
10750 (record_base_value): Likewise.
10751 (memrefs_conflict_p): Likewise.
10752 (record_set): Likewise
10753 (record_base_value): Likewise.
10754 (memrefs_conflict_p): Use alias_invariant_size.
10755 (init_alias_analysis): Use varray; set alias_invariant_size;
10756 rescale other arrays to be sized by maxreg.
10757 (end_alias_analysis): Save reg_base_value; clear alias_invariant_size.
10758
8a98812c
EB
107592004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr>
10760
10761 * config/sparc/sparc.c (function_arg_slotno): Use
10762 FLOAT_TYPE_P to detect FP fields in structures.
10763 (function_arg_record_value_1): Likewise.
10764 (function_arg_record_value_2): Likewise.
10765
0de456a5
JH
107662004-01-22 Jan Hubicka <jh@suse.cz>
10767
10768 * function.c (allocate_struct_function): Do not initialize expr, emit
10769 and varasm.
10770 (prepare_function_start): Do it here.
10771 * c-parse.in (maybe_type_qual): Do not produce line number notes.
10772
1fd05073
EB
107732004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr>
10774
10775 PR target/13559
10776 * config/sparc/sparc.c (function_arg_record_value_3): Revert
10777 to 'word_mode' once the first slot has been filled.
10778
b2f24c85
EB
107792004-01-22 Olivier Hainque <hainque@act-europe.fr>
10780
10781 * config/sparc/sparc.c (function_arg_record_value_1): Fix
10782 computation of the number of integer registers required.
10783
b4e0dd8e
KH
107842004-01-21 Kazu Hirata <kazu@cs.umass.edu>
10785
10786 * config/i386/i386.md: Simplify certain comparisons of
10787 const_int.
10788
5cc5eddc
AP
107892004-01-21 Andrew Pinski <apinski@apple.com>
10790
10791 PR target/13785
04b8f97f 10792 * config/rs6000/rs6000.md (call_value): Force operand
5cc5eddc
AP
10793 1 not operand 0 into a register.
10794
711d8c91
KH
107952004-01-21 Kazu Hirata <kazu@cs.umass.edu>
10796
10797 * cpperror.c, cpptrad.c, longlong.h, params.def, rtl.def,
10798 unwind-dw2-fde.h: Update copyright.
10799
d1885651
JDA
108002004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10801
10802 * pa-protos.h: Update copyright.
10803 * pa.h: Likewise.
10804 * pa.md: Likewise.
10805
40ca90bf 108062004-01-21 Caroline Tice <ctice@apple.com>
ec13ba83 10807
6ed854f1 10808 PR target/12308
04b8f97f 10809 * config/i386/i386.md (fix_truncxfdi2): Add clause to clobber
ec13ba83
CT
10810 flags register.
10811 (fix_truncdfdi2): Likewise.
10812 (fix_truncsfdi2): Likewise.
10813 (*fix_truncdi_1): Likewise.
10814 (fix_truncxfsi2): Likewise.
10815 (fix_truncdfsi2): Likewise.
10816 (fix_truncsfsi2): Likewise.
10817 (*fix_truncsi_1): Likewise.
10818 (fix_truncxfhi2): Likewise.
10819 (fix_truncdfhi2): Likewise.
10820 (fix_truncsfhi2): Likewise.
10821 (*fix_trunchi_1): Likewise.
04b8f97f 10822
d9221e01
KH
108232004-01-21 Kazu Hirata <kazu@cs.umass.edu>
10824
10825 * alias.c, basic-block.h, c-common.c, c-common.h,
10826 c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c,
10827 calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c,
10828 combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c,
10829 cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h,
10830 defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c,
10831 expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c,
10832 genautomata.c, genconditions.c, genemit.c, genflags.c,
10833 gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c,
10834 ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c,
10835 langhooks-def.h, langhooks.c, langhooks.h, line-map.c,
10836 line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c,
10837 ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c,
10838 rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h,
10839 target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h,
10840 unwind.h, varray.c, varray.h: Update copyright.
10841
6d6b0a12
KH
108422004-01-21 Kazu Hirata <kazu@cs.umass.edu>
10843
10844 * config/h8300/coff.h: Update copyright.
10845 * config/h8300/elf.h: Likewise.
10846 * config/h8300/h8300-protos.h: Likewise.
10847 * config/h8300/h8300.c: Likewise.
10848 * config/h8300/h8300.h: Likewise.
10849 * config/h8300/h8300.md: Likewise.
10850
4b60eb3b
JDA
108512004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10852
10853 * fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3,
10854 ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time,
10855 ultrix_unistd): New hacks.
10856 * fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK,
10857 ULTRIX_CONST2_CHECK): Add checks.
10858 * fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise.
10859 * fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise.
10860 * fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise.
10861 * fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise.
10862 * fixinc/tests/base/locale.h: New file.
10863 * fixinc/fixincl.x: Rebuilt.
10864
bbf5a54d
AJ
108652004-01-21 Andreas Jaeger <aj@suse.de>
10866 Michael Matz <matz@suse.de>
10867
10868 * doc/extend.texi (Extended Asm): Clarify memory clobber.
10869
bfccaa6f
JJ
108702004-01-21 Jakub Jelinek <jakub@redhat.com>
10871
10872 * crtstuff.c (frame_dummy, __do_global_ctors_1): Call
10873 _Jv_RegisterClasses through a function pointer.
10874
c3cda381
FH
108752004-01-21 Falk Hueffner <falk@debian.org>
10876
10877 PR target/12898
10878 * config/alpha/alpha.c (alpha_emit_set_const_1): If
10879 no_new_pseudos, use gen_rtx_SET directly for SImode constants
10880 which need multiple instructions to emit.
10881
2a2001be
IK
108822004-01-21 Inaoka Kazuhiro <inaoka.kazuhiro@renesas.com>
10883
10884 * config/m32r/m32r.h (CPP_SPEC): Define.
10885
1ef82ef2
ZW
108862004-01-21 Zack Weinberg <zack@codesourcery.com>
10887
10888 * c-decl.c (merge_decls): Kill different_binding_level and
10889 different_tu arguments; simplify throughout.
10890 (duplicate_decls): Likewise.
10891 (pushdecl, merge_translation_unit_decls): Update calls to
10892 duplicate_decls.
10893
13544b81
KG
108942004-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10895
10896 * Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and
10897 $(SYSTEM_H).
10898 (print-rtl1.o): Depend on $(SYSTEM_H).
10899
a541f69d
KC
109002004-01-20 Kelley Cook <kcook@gcc.gnu.org>
10901
10902 PR bootstrap/12730
10903 * configure.ac: Delete definition and subsitution of docdir.
10904 Add info, man, srcman and srcinfo to target hooks. Create doc/
10905 directory.
10906 * configure: Regenerate.
10907 * Makefile.in: Don't substitute docdir and delete all references
10908 throughout.
10909 (MAKEINFOFLAGS): Define.
10910 (stmp-docobjdir): Delete.
10911 (INFOFILES, MANFILES): Define.
10912 (info): Call lang.info, srcinfo and lang.srcinfo.
10913 (generated-manpages): Call lang.man, srcman and lang.srcman.
10914 (srcinfo, srcman): New rules to copy back files to source directory.
10915 (doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule.
10916 (install-man): Revamp rule.
10917 (clean): Update dvi directory.
10918 (distclean): Delete TAGS from front end directorys.
10919 (maintainer-clean): Delete all document files in source directory.
10920
10921 objc/Make-lang.in (objc.man, objc.info): Dummy entries.
10922 (objc.srcman, objc.srcinfo): Likewise.
10923
793146e3
BK
109242004-01-20 Bruce Korb <bkorb@gnu.org>
10925
10926 * fixinc/inclhack.def(math_exception): bypass only for glibc.
10927 (matherr_decl): rename & relocate as exception_structure.
10928 This fix must precede the math_exception fix.
10929
fdb33708
RS
109302004-01-20 Roger Sayle <roger@eyesopen.com>
10931
10932 * fold-const.c (fold_convert): Rename to fold_convert_const.
10933 (fold_convert_const): Change arguments to take a tree_code,
10934 a type and the operand/expression to be converted. Return
10935 NULL_TREE if no simplification is possible. Add support for
10936 FIX_CEIL_EXPR and FIX_FLOOR_EXPR in addition to FIX_TRUNC_EXPR.
10937 (fold): Handle FIX_CEIL_EXPR and FIX_FLOOR_EXPR.
10938 Adjust call to fold_convert to match new fold_convert_const.
10939 Avoid modifying the tree passed to fold in-place.
10940
34c80057
AM
109412004-01-21 Alan Modra <amodra@bigpond.net.au>
10942
10943 * config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define.
10944 * dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT.
10945 * doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document.
10946
a4295210
JDA
109472004-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10948
10949 * pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes.
10950 * pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d):
10951 Likewise. Handle frames larger than 0x7fffffff on 64-bit ports.
10952 (emit_move_sequence): Check scratch_reg first in various if statements.
10953 Extend source simplification to handle all 64-bit CONST_INTs.
10954 (pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing
10955 frame size.
10956 (hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for
10957 frame offset calculations.
10958 * pa.h (NEW_HP_ASSEMBLER): Add comment.
10959 (MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT,
10960 LEGITIMATE_64BIT_CONST_INT_P): Define.
10961 (LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P. Treat
10962 any CONST_INT as legitimate during and after reload.
10963 (VAL_32_BITS_P, INT_32_BITS): Define.
10964 (LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets.
10965
3e89ed8d
JH
109662004-01-20 Jan Hubicka <jh@suse.cz>
10967
10968 * emit-rtl.c (verify_rtx_sharing, copy_insn_1,
10969 emit_copy_of_insn_after, emit_copy_of_insn_after): Clobbers
10970 containing hard regs are shared.
10971 (gen_hard_reg_clobber): New function.
10972 (hard_reg_clobbers): New array.
10973 * genemit.c (gen_exp): Use gen_hard_reg_clobber.
10974 (copy_rtx): Do not copy clobbers containing hard regs.
10975 * rtl.h (gen_hard_reg_clobber): Declare.
10976
9b57b627
JH
109772004-01-20 Jan Hubicka <jh@suse.cz>
10978
10979 * varray.c: Include hashtab.h
10980 (varray_descriptor): New structure.
10981 (hash_descriptor, eq_descriptor, varray_descriptor,
10982 print_statistics): New static functions
10983 (varray_init, varray_grow): Update statistics
10984 (dump_varray_statistics): New function.
10985 * varray.h (dump_varray_statistics): Declare.
10986 * toplev.c (finalize): Call it.
10987 * Makefile.in (varray.o): Add dependency.
10988
6a59927d
JH
109892004-01-20 Jan Hubicka <jh@suse.cz>
10990
10991 * cselib.c: Include alloc-pool.h
10992 (empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill.
10993 (elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare.
10994 (new_elt_list, new_elt_loc_list, unchain_one_elt_list,
10995 unchain_one_elt_loc_list_pool, unchain_one_value,
10996 new_cselib_val): Simplify using allocpool.
10997 (cselib_init): Initialize allocpools.
10998 (cselib_finish): Finish allocpools.
10999 * Makefile.in (cselib.o): Depend on alloc-pool.h
11000
3c53850d
RS
110012004-01-20 Richard Sandiford <rsandifo@redhat.com>
11002
11003 * config/mips/mips.c (mips_load_call_address): Make the call insn
11004 use $gp if it could be calling a lazy binding stub.
11005
101ad855
KH
110062004-01-20 Kazu Hirata <kazu@cs.umass.edu>
11007
11008 * config/s390/s390.c (TARGET_PROMOTE_FUNCTION_ARGS): Define.
11009 (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
11010 (TARGET_STRUCT_VALUE_RTX): Likewise.
11011 * config/s390/s390.h (PROMOTE_FUNCTION_ARGS): Remove.
11012 (PROMOTE_FUNCTION_RETURN): Remove.
11013 (STRUCT_VALUE): Remove.
11014
c099ba28
DC
110152004-01-20 Denis Chertykov <denisc@overta.ru>
11016
03b82c00 11017 PR bootstrap/13735
c099ba28
DC
11018 * config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X
11019 register as pointer after reload.
11020
c8b6fae3
ZD
110212004-01-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11022
11023 PR optimization/12440
11024 * loop.c: Include ggc.h.
11025 (loop_optimize): Run garbage collector between optimization of loops.
11026 * Makefile.in (loop.o): Add GGC_H dependency.
11027
c72d6c26
HP
110282004-01-20 Hartmut Penner <hpenner@de.ibm.com>
11029
1ef82ef2 11030 * gcc/config/rs6000/rs6000.c (function_arg) Handle
c72d6c26
HP
11031 vector register special in function without prototype.
11032 (function_arg_advance): Vector parameters get always
11033 GPRs allocated for the linux64 target.
11034
91e736f9
KI
110352004-01-20 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
11036
11037 * config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK
11038 not TARGET_M32RX_MASK.
11039
4043d6fb
EB
110402004-01-20 Eric Botcazou <ebotcazou@libertysurf.fr>
11041
11042 PR target/13557
11043 * config/sparc/sparc.c (function_arg): Reorder the cases.
11044
50f59cd7
PB
110452004-01-19 Per Bothner <per@bothner.com>
11046
11047 Move cpp_reader's line_maps field to a shared global.
11048 * cpphash.h (cpp_reader): Rename line_maps field to line_table
11049 and change the type to a pointer rather than a struct.
11050 * cppinit.c (cpp_push_main_field): Adjust accordingly.
11051 * cpplib.c (do_include_common, _cpp_do_file_change, cpp_get_callbacks):
11052 Likewise.
11053 * cppfiles.c (validate_pch): Likewise.
11054 * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_builtin_macro_text):
11055 Likewise.
11056 * cpperror.c (print_location): Likewise.
11057 * cpplib.h (cpp_create_reader): New line_maps pointer parameter.
11058 * cppinit.c (cpp_create_reader): Handle new parameter.
11059 (cpp_destroy): Don't free line_maps - that's no longer our job.
11060 * input.h (line_table): New variable.
11061 * toplev.c (line_table): Declare variable.
11062 (general_init): Initialize line_table.
11063 * c-opts.c (c_common_init_options): Pass line_table to
11064 cpp_create_reader.
11065 * fix-header.c (read_scan_file): New local variable line_table.
11066 Initialize, and pass it to cpp_create_reader.
11067 * Makefile.in (LIBS, LIBDEPS): Add libcpp.a.
11068 (C_AND_OBJC_OBJS, fix-header): Remove redundant libcpp.a.
11069
110702004-01-19 Per Bothner <per@bothner.com>
9132fbb7
PB
11071
11072 Implement a cache for linemap_lookup.
11073 * line-map.h (struct_line_maps): Add cache field.
11074 * line-map.c (linemap_init): Zero cache field.
11075 (linemap_add): Set cache field to offset of newly allocated map.
11076 (linemap_lookup): Use and set cache field.
11077
26d107db
KK
110782004-01-20 Kaz Kojima <kkojima@gcc.gnu.org>
11079
11080 PR optimization/13567
11081 * cse.c (cse_basic_block): Call cse_insn with a non-null
11082 libcall_insn for the last SET insn of a no-confilict block.
11083
e165d61b
KC
110842004-01-20 Kelley Cook <kcook@gcc.gnu.org>
11085
1ef82ef2 11086 * Makefile.in (target_noncanonical, program_transform_name): Use
e165d61b 11087 immediate define instead of deferred.
1ef82ef2 11088 (GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME,
e165d61b
KC
11089 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
11090 GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of
11091 deferred backquote.
11092
53cd18ec
JM
110932004-01-20 Joseph S. Myers <jsm@polyomino.org.uk>
11094
11095 * c-decl.c (c_init_decl_processing): Set pedantic_lvalues to
11096 true unconditionally.
11097 * c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning):
11098 Remove.
11099 (build_unary_op, build_modify_expr): Don't handle extended
11100 lvalues.
11101 (build_component_ref, build_conditional_expr): Call non_lvalue
11102 instead of pedantic_non_lvalue.
11103 (build_c_cast): Don't condition use of non_lvalue on pedantic.
11104 * fold-const.c (fold): Don't check pedantic directly for
11105 COMPOUND_EXPR. Ensure that results for COMPOUND_EXPR are
11106 passed to pedantic_non_lvalue.
11107 * doc/extend.texi: Remove documentation of extended lvalues.
11108
9ce79a7a
RS
111092004-01-19 Roger Sayle <roger@eyesopen.com>
11110
11111 PR optimization/5263
11112 * simplify-rtx.c (associative_constant_p): Delete.
11113 (simplify_associative_operation): Rewrite to linearize terms, and
11114 attempt to simplify new term against both left and right subterms.
11115 (simplify_binary_operation): Call swap_commutative_operands_p on
11116 op0 and op1, not trueop0 and trueop1. Move the initialization of
11117 trueop0 and trueop1 down to where first needed.
11118 (simplify_relational_operation): Likewise.
11119 * rtlanal.c (commutative_operand_precedence): Also order constant
11120 operands using avoid_constant_pool_reference.
11121
62e88293
RH
111222004-01-19 Richard Henderson <rth@redhat.com>
11123
1ef82ef2
ZW
11124 * config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN,
11125 don't check memory mode.
11126 (unaligned_memory_operand): Likewise.
11127 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't
11128 abort for op0 not MEM.
62e88293 11129
1ef82ef2
ZW
11130 * config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination
11131 is not a reg, copy to a scratch first.
11132 (aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi,
11133 unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le,
11134 unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG.
11135 (reload_inqi, reload_inhi): Fix mode of op0.
11136 (reload_inqi_help, reload_inhi_help, reload_outqi_help,
11137 reload_outhi_help): Likewise. Use define_insn_and_split.
62e88293 11138
1ef82ef2
ZW
11139 * config/alpha/alpha.md (call peepholes): Check for REG_NORETURN
11140 as well as $29 dead.
62e88293 11141
2f3321ca
EB
111422004-01-19 Eric Botcazou <ebotcazou@libertysurf.fr>
11143
11144 * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New. Emit
11145 "tls_object" for thread-local objects.
11146 * config/sparc/sparc.c (sparc_elf_asm_named_section): Emit
11147 "#tls" for thread-local sections.
11148 * configure.ac (thread-local checks): Specify --fatal-warnings in
11149 every binutils-specific checks. For sparc*-*-*, test whether the
11150 OS is Solaris and the tools are native and act accordingly.
11151 * configure: Rebuild.
11152
6fe37bc4
JL
111532004-01-19 Jeff Law <law@redhat.com>
11154
11155 * contrib.texi: Update Paolo Carlini's entry. New entries for
11156 Jerry Quinn and Petur Runolfsson.
1ef82ef2 11157
68f48f39
RS
111582004-01-19 Roger Sayle <roger@eyesopen.com>
11159
11160 * config/i386/i386.md (*movhi_1, *movqi_1): When optimizing for
11161 size, don't use the larger zero-extending loads.
11162
5c9948f4
RH
111632004-01-19 Richard Henderson <rth@redhat.com>
11164
11165 * alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs.
11166 * alpha.md (UNSPEC_NT_LDA): Remove.
11167 (UNSPEC_CVTLQ, cvtlq): New.
11168 (extendsidi2_1): Rename from extendsidi2_nofix; remove f/f.
11169 (extendsidi2_fix): Remove.
11170 (extendsidi2 splitter): Use cvtlq.
11171 (extendsidi2 fp peepholes): Remove.
11172 (cvtql): Use SFmode instead of SImode.
11173 (fix_trunc?fsi): Update to match.
11174 (floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New.
11175 (movsi): Rename from movsi_nofix, remove f alternatives.
11176 (movsi_nt_vms): Similarly.
11177 (movsi_fix, movsi_nt_vms_fix): Remove.
11178 (nt_lda): Remove.
11179 * alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda.
11180
9b0436b7
JH
111812004-01-19 Jan Hubicka <jh@suse.cz>
11182
11183 * cgraph.c (cgraph_remove_node): Fix removal from linked list.
11184 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed
11185 list.
11186 (cgraph_remove_unreachable_nodes): New function
11187 (cgraph_decide_inlining_of_small_function): Fix pasto.
11188 (cgraph_decide_inlining_incrementally): Fix pasto.
11189 (cgrpah_decide_inlining): Likewise; remove unreachable nodes.
11190
8c80adb7
SB
111912004-01-19 Steven Bosscher <stevenb@suse.de>
11192
11193 * gengtype.c (header_file): Make it static.
11194 (write_types_process_field, write_enum_defn): Minor whitespace fixes.
11195 * gengtype.h (header_file): No longer extern.
11196
0ede749d
KH
111972004-01-18 Kazu Hirata <kazu@cs.umass.edu>
11198
11199 * defaults.h (CASE_VECTOR_PC_RELATIVE): Provide the default.
11200 * expr.c (CASE_VECTOR_PC_RELATIVE): Remove.
11201 * stmt.c (CASE_VECTOR_PC_RELATIVE): Likewise.
11202
41cbdcd0
KH
112032004-01-18 Kazu Hirata <kazu@cs.umass.edu>
11204
11205 * stmt.c (HAVE_casesi): Define it not already defined.
11206 (HAVE_tablejump): Likewise.
11207 (expand_end_case_type): Resort to the binary tree method if
11208 neither casesi or tablejump is available.
11209
5cfc5f84
DJ
112102004-01-18 Daniel Jacobowitz <drow@mvista.com>
11211
11212 * final.c (final_scan_insn): Make non-static again.
11213 * output.h (final_scan_insn): Re-add prototype.
11214 * config/arc/arc.c (arc_output_function_epilogue): Add NULL
11215 to final_scan_insn call.
11216 * config/cris/cris.c (cris_target_asm_function_epilogue): Likewise.
11217 * config/mips/mips.c (mips_output_conditional_branch): Likewise.
11218 * config/pa/pa.c (output_lbranch, output_call): Likewise.
11219 * config/sh/sh.c (print_slot): Likewise.
11220 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise.
11221 (output_sibcall, sparc_flat_function_epilogue): Likewise.
11222
3348b696
JH
112232004-01-18 Jan Hubicka <jh@suse.cz>
11224
11225 * basic-block.h (try_redirect_by_replacing_jump): Declare.
11226 * cfgcleanup.c (try_optimize_cfg): Use it.
11227 * cfgrtl.c (try_redirect_by_replacing_jump): Export.
11228 (rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch):
11229 Kill hack.
11230 (cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump.
11231
11232 Revert:
11233 2004-01-16 Geoffrey Keating <geoffk@apple.com>
11234
11235 * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
11236 even after reload, just don't remove the actual jump tables.
11237
72d89d35
KH
112382004-01-18 Kazu Hirata <kazu@cs.umass.edu>
11239
11240 * config/rs6000/rs6000.h (STRICT_ARGUMENT_NAMING): Remove.
11241
07b50aad
KH
112422004-01-18 Kazu Hirata <kazu@cs.umass.edu>
11243
11244 * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Fix the computation of
11245 the size of a pointer in bytes.
11246
6e46ab25
RS
112472004-01-18 Roger Sayle <roger@eyesopen.com>
11248
11249 * builtins.c (expand_builtin_expect_jump): Fix thinko of reusing
11250 live "next" variable, which could lead to an infinite loop.
11251
3ce5437a
AP
112522004-01-18 Andrew Pinski <pinskia@physics.uc.edu>
11253
b4be9e8e
AP
11254 * config/rs6000/altivec.h: Wrap C++ functions in extern "C++"
11255 block.
11256
3ce5437a
AP
11257 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
11258 Check for NULL in the chain and remove repeated code.
11259
20c361f3
JH
112602004-01-18 Jan Hubicka <jh@suse.cz>
11261
11262 * coverage.c (checksum_string): Rename to ...
11263 (coverage_checksum_string): ... this one, Use crc32_string; recognize
11264 names containing random number and zero the number out in order to get
11265 match.
11266
cacb5bba
RS
112672004-01-18 Richard Sandiford <rsandifo@redhat.com>
11268
11269 * config/mips/mips.c (mips_got_alias_set): Mark for PCH.
11270
daf2f129
JM
112712004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
11272
11273 * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi,
11274 doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi,
11275 doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi,
11276 doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi,
11277 doc/trouble.texi: Remove trailing whitespace.
11278
b85aed9e
RS
112792004-01-18 Richard Sandiford <rsandifo@redhat.com>
11280
1c0f3fac 11281 PR target/7618
b85aed9e
RS
11282 * config/mips/mips.c: Include cfglayout.h.
11283 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
11284 (mips_unspec_offset_high): Add temporary register argument.
11285 (mips_load_call_address): New function, split out from...
11286 (mips_expand_call): ...here.
11287 (mips_output_cplocal): New function.
11288 (mips_output_function_prologue, mips_output_function_epilogue): Use it.
11289 (mips_emit_loadgp): New function, split out from...
11290 (mips_expand_prologue): ...here.
11291 (mips_output_mi_thunk): New function.
11292
e5d95b69
BI
112932004-01-17 Bernardo Innocenti <bernie@develer.com>
11294
11295 * longlong.h (mc68020, __mc68030__, mc68030, __mc68040__, mc68040,
11296 mcpu32): Remove redundant checks for implied target predefines.
11297
19d66194
AP
112982004-1-17 Andrew Pinski <pinskia@physics.uc.edu>
11299
11300 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
11301 Return type is unsigned int not int.
11302 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
11303 Likewise.
11304
95fef11f
JM
113052004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
11306
11307 * doc/contrib.texi, doc/cppenv.texi, doc/extend.texi,
11308 doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use
11309 "GNU/Linux" and "Microsoft Windows" terminology.
11310
3ab51846
JM
113112004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
11312
11313 * doc/c-tree.texi, doc/compat.texi, doc/cpp.texi,
11314 doc/cppopts.texi, doc/extend.texi, doc/install.texi,
11315 doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi,
11316 doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use
11317 @smallexample instead of @example.
11318
cfbed37c
ZL
113192004-01-17 Ziemowit Laski <zlaski@apple.com>
11320
11321 * objc/objc-act.c (build_objc_method_call): Use target
1ef82ef2 11322 hooks instead of macros to determine if ..._stret
cfbed37c
ZL
11323 dispatchers should be used (NeXT runtime only).
11324
bef5105b
RS
113252004-01-17 Roger Sayle <roger@eyesopen.com>
11326
11327 * builtins.c (expand_builtin_expect_jump): Fix mistake in my
11328 last patch. Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL.
11329
dd3adcf8
DJ
113302004-01-17 Daniel Jacobowitz <drow@mvista.com>
11331
11332 * rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc)
11333 (emit_call_insn_before_sameloc, emit_insn_after_sameloc)
11334 (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New
11335 macros.
11336 * reload1.c (emit_reload_insns): Use them.
11337 * emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc)
11338 (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check
11339 for NULL PATTERN.
11340
589fe865
DJ
113412004-01-17 Daniel Jacobowitz <drow@mvista.com>
11342
11343 * final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define.
11344 (final_scan_insn): Update to take an additional SEEN argument. Emit
11345 a line note after the prologue. Make static.
11346 (line_note_exists): Remove.
11347 (final): Don't initialize line_note_exists. Update call to
11348 final_scan_insn.
11349 * output.h (final_scan_insn): Remove prologue.
11350 * function.c (set_insn_locators): Update comment.
11351 (thread_prologue_and_epilogue_insns): Add a comment.
11352
95727fb8
AP
113532004-01-17 Andrew Pinski <pinskia@physics.uc.edu>
11354
11355 PR target/10781
11356 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
11357 Prototype.
11358 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
11359 New function.
11360 * config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it.
11361 * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise.
11362 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise.
11363
f2e16e97
JH
113642004-01-17 Jan Hubicka <jh@suse.cz>
11365
26c0473b
JH
11366 * toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous
11367 commit.
11368
f2e16e97
JH
11369 * toplev.c (HAVE_conditional_execution): Provide default.
11370 (rest_of_handle_reorder_blocks): For conditional_execution target
11371 update liveness once after all transformations
11372 (rest_of_compilation): Do crossjumping before ce3.
11373
f103e34d
GK
113742004-01-17 Geoffrey Keating <geoffk@apple.com>
11375
11376 * alias.c (new_alias_set): Mark last_alias_set for PCH.
11377 (get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it
11378 for PCH.
11379 (get_frame_alias_set): Likewise, except rename it to 'frame_set'.
11380 * config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH.
11381 (get_TOC_alias_set): Mark 'set' for PCH.
11382
ab530ea8
GK
113832004-01-16 Geoffrey Keating <geoffk@apple.com>
11384
11385 * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
11386 even after reload, just don't remove the actual jump tables.
11387
53dd3be3 113882004-01-17 J. Brobecker <brobecker@gnat.com>
e7d23ce3
B
11389
11390 * dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type().
11391 Remove checks for is_ada() and TREE_UNSIGNED.
11392 (subrange_type_die): Emit a byte_size attribute if the subrange
11393 type size is different from the base type size.
11394 (modified_type_die): Replace call to is_ada_subrange_type() by
11395 call to is_subrange_type().
11396
8582b18a
AP
113972004-01-16 Andrew Pinski <pinskia@physics.uc.edu>
11398
11399 * config/sh/sh.c: Include ggc.h.
11400
73e61092
GK
114012004-01-16 Geoffrey Keating <geoffk@apple.com>
11402
11403 * Makefile.in (MD5_H): New.
11404 (fold-const.o): Depend on md5.h.
11405 (dwarf2out.o): Likewise.
11406 (cppfiles.o): Likewise.
11407 * cppfiles.c: Include md5.h.
11408 (should_stack_file): Check against list read from PCH file.
11409 (struct pchf_data): New.
11410 (pchf): New variable.
11411 (struct pchf_adder_info): New.
11412 (pchf_adder): New.
11413 (pchf_save_compare): New.
11414 (_cpp_save_file_entries): New.
11415 (_cpp_read_file_entries): New.
11416 (struct pchf_compare_data): New.
11417 (pchf_compare): New.
11418 (check_file_against_entries): New.
11419 * cpphash.h (_cpp_save_file_entries): Prototype.
11420 (_cpp_read_file_entries): Prototype.
11421 * cpppch.c (cpp_write_pch_state): Write the list of headers.
11422 (cpp_read_state): Read the list of headers.
11423
3b75d796
JH
114242004-01-17 Jan Hubicka <jh@suse.cz>
11425
11426 * c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and
11427 builtin_expect specially.
11428 * params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100.
11429 (PARAM_LARGE_FUNCTION_INSNS): Set to 3000.
11430 * invoke.texi (max-inline-insns-single): Set to 100.
11431 (large-function-insns): Set to 3000.
11432
cf551fba
EC
114332004-01-16 Eric Christopher <echristo@redhat.com>
11434 Chandrakala Chavva <cchavva@redhat.com>
11435
11436 * cppcharset.c (one_iso88591_to_utf8): New function.
11437 (convert_iso88591_utf8): Ditto. Use.
11438 (conversion_tab): Use.
11439 (_cpp_input_to_utf8): New function.
11440 (_cpp_init_iconv_buffer): Ditto.
11441 (_cpp_close_iconv_buffer): Ditto.
11442 * cpphash.h: Prototype new functions.
11443 (cpp_buffer): Add input_cset_desc.
11444 * cppinit.c: Add input_charset default.
11445 * cpplib.c (cpp_push_buffer): Support init and
11446 close of iconv.
11447 * cpplib.h (cpp_options): Add input_charset.
11448
510d1e80
KH
114492004-01-16 Kazu Hirata <kazu@cs.umass.edu>
11450
11451 * system.h (ASM_OUTPUT_SECTION_NAME): Poison.
11452 * config/alpha/unicosmk.h: Remove a commented-out definition
11453 of ASM_OUTPUT_SECTION_NAME.
11454 * config/stormy16/stormy16.h: Likewise.
11455
fb2c2608
RO
114562004-01-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11457
11458 * fixinc/inclhack.def (alpha___extern_prefix): Renamed to ...
11459 (alpha___extern_prefix_sys_stat): ... this.
11460 Apply to <sys/mount.h>, too.
11461 Tweak to match more variations.
11462 * fixinc/tests/base/sys/stat.h: Adapt for new hackname.
11463
11464 * fixinc/inclhack.def (alpha___extern_prefix,
cf551fba 11465 alpha___extern_prefix_standards): New hacks to obey
c53bdcf5 11466 __PRAGMA_EXTERN_PREFIX.
fb2c2608
RO
11467 * fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New
11468 test.
11469 * fixinc/tests/base/standards.h: Likewise.
cf551fba 11470
fb2c2608
RO
11471 * fixincl/inclhack.def (alpha_pthread): Tweak to match more
11472 variations.
11473 New testcase.
11474 * fixinc/tests/base/pthread.h: Handle it.
cf551fba 11475
fb2c2608
RO
11476 * fixincl/inclhack.def (bad_lval): Sort file list.
11477 Add many missing files up to Tru64 UNIX V5.1B.
11478 * gcc/fixinc/tests/base/libgen.h: Renamed to ...
11479 * gcc/fixinc/tests/base/dirent.h: ... this to match new file list
11480 order.
cf551fba 11481
fb2c2608
RO
11482 * fixinc/fixincl.x: Regenerate.
11483
79a76d65
MM
114842004-01-16 Mark Mitchell <mark@codesourcery.com>
11485
11486 * version.c (version_string): Change to 3.5.0.
11487 * doc/include/gcc-common.texi (version-GCC): Likewise.
11488
965514bd
JH
114892004-01-16 Jan Hubicka <jh@suse.cz>
11490
11491 * i386.md (load_tp_di): Fix pasto.
11492
11493 PR opt/13608
11494 * i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function.
11495
11496 * c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator,
11497 pp_c_character_constant, pp_c_floating_constant,
11498 pp_c_additive_expression, pp_c_shift_expression,
11499 pp_c_equality_expression, pp_c_and_expression,
11500 pp_c_exclusive_or_expression, pp_c_inclusive_or_expression,
11501 pp_c_logical_and_expression): Remove inline modifier.
11502 * dwarf2out.c (get_AT): Likewise.
11503 * et-forest.c (et_splay): Likewise.
11504 * ra.h (ra_alloc, ra_calloc): Likewise
11505
87b483a1
KH
115062004-01-16 Kazu Hirata <kazu@cs.umass.edu>
11507
11508 * config/frv/frv-protos.h: Fix comment formatting.
11509 * config/frv/frv.c: Likewise.
11510 * config/frv/frv.h: Likewise.
11511 * config/frv/frv.md: Likewise.
11512 * config/frv/frvbegin.c: Likewise.
11513 * config/frv/frvend.c: Likewise.
11514
16201823
KH
115152004-01-16 Kazu Hirata <kazu@cs.umass.edu>
11516
11517 * system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison.
11518 * doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention
11519 LINKER_DOES_NOT_WORK_WITH_DWARF2.
11520 (LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove.
11521
115df136
R
115222004-01-16 J"orn Rennecke <joern.rennecke@superh.com>
11523
5ed5fd90 11524 PR 11864
115df136
R
11525 * postreload.c (reload_cse_simplify_operands): Don't remove
11526 implicit extension from LOAD_EXTEND_OP.
11527
e24e7211
JH
115282004-01-16 Jan Hubicka <jh@suse.cz>
11529
8c80adb7
SB
11530 PR opt/11350
11531 * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
e24e7211 11532 after reload.
8c80adb7
SB
11533 * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
11534 rtl_try_redirect_by_replacing_branch): Likewise.
e24e7211 11535
b0fadda7
GK
115362004-01-15 Geoffrey Keating <geoffk@apple.com>
11537
b604074c
GK
11538 PR pch/13689
11539 * alias.c (struct alias_set_entry): Mark for GC.
11540 (alias_sets): Make static, mark for GC.
11541 (record_alias_subset): Use GC to allocate alias structures.
11542 * varray.c (element): Make generic varrays GCed.
11543
a6dd4094
GK
11544 PR pch/13361
11545 * c-typeck.c (constructor_asmspec): Delete.
11546 (struct initializer_stack): Delete field 'asmspec'.
11547 (start_init): Delete saving of asmspec.
11548 (finish_init): Don't update constructor_asmspec.
11549 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
11550 * stmt.c (expand_asm): Duplicate strings from tree.
11551 (expand_asm_operands): Likewise.
11552 * tree.c (tree_size): Update computation of size of STRING_CST.
11553 (make_node): Don't make STRING_CST nodes.
11554 (build_string): Allocate string with tree node.
11555 * tree.def (STRING_CST): Update comment.
11556 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
11557 (tree_string): Place contents of string in tree node.
11558 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
11559 from tree.
11560
b0fadda7
GK
11561 * config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case
11562 altivec operands.
11563
e0a21ab9
KH
115642004-01-15 Kazu Hirata <kazu@cs.umass.edu>
11565
11566 * c-common.h: Fix comment formatting.
11567 * c-cppbuiltin.c: Likewise.
11568 * c-pragma.c: Likewise.
11569 * calls.c: Likewise.
11570 * collect2.c: Likewise.
11571 * cppcharset.c: Likewise.
11572 * cpptrad.c: Likewise.
11573 * dbxout.c: Likewise.
11574 * defaults.h: Likewise.
11575 * dwarf2out.c: Likewise.
11576 * fold-const.c: Likewise.
11577 * genautomata.c: Likewise.
11578 * genconditions.c: Likewise.
11579 * genflags.c: Likewise.
11580 * gengtype.c: Likewise.
11581 * integrate.c: Likewise.
11582 * loop.c: Likewise.
11583 * predict.c: Likewise.
11584 * sdbout.c: Likewise.
11585
f57fc998
ZW
115862004-01-15 Zack Weinberg <zack@codesourcery.com>
11587
11588 * config/ia64/ia64.md (*movti_internal): C output template
11589 extracted to ia64.c.
11590 (*movti_internal_reg): Delete.
11591 (reload_inti, reload_outti): Use the correct mode on operand 2
11592 in the first place, don't fix it up in the output template.
11593 (movtf, reload_ointf, reload_outtf): New expanders.
11594 (*movtf_internal): New define_insn_and_split.
11595 * config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode;
11596 make static; do not hand TFmode CONST_DOUBLEs to split_double.
11597 (ia64_split_tmode_move): New function, body mostly pulled
11598 from ia64.md:*movti_internal.
11599 (ia64_function_arg_words): New function, extracted common
11600 logic from ia64_function_arg et seq.
11601 (ia64_function_arg_offset): Likewise. Handle correctly the
11602 case of a scalar quantity 16 bytes wide with only 8-byte alignment.
11603 (ia64_function_arg, ia64_function_arg_partial_nregs)
11604 (ia64_function_arg_advance): Use ia64_function_arg_words and
11605 ia64_function_arg_offset.
11606 (ia64_function_value): TCmode does not go in float regs.
11607 (ia64_secondary_reload_class): Also handle TFmode.
11608 * config/ia64/ia64-protos.h: Remove prototype for
11609 ia64_split_timode; add prototype for ia64_split_tmode_move.
11610
e9c4897b
KC
116112004-01-15 Kelley Cook <kcook@gcc.gnu.org>
11612
11613 * Makefile.in (MAINT): Make it an immediate assignment.
11614
5a67e41f
KH
116152004-01-15 Kazu Hirata <kazu@cs.umass.edu>
11616
11617 * config/m32r/m32r.md: Remove useless calls to gen_lowpart.
11618
340f6494
KH
116192004-01-15 Kazu Hirata <kazu@cs.umass.edu>
11620
11621 * config/h8300/coff.h: Replace Hitachi with Renesas.
11622 * config/h8300/elf.h: Likewise.
11623 * config/h8300/h8300-protos.h: Likewise.
11624 * config/h8300/h8300.c: Likewise.
11625 * config/h8300/h8300.h: Likewise.
11626 * config/h8300/h8300.md: Likewise.
11627 * config/h8300/lib1funcs.asm: Likewise.
11628
c954844a
AP
116292004-01-15 Andrew Pinski <apinski@apple.com>
11630
11631 * config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF
11632 around it.
11633
34bf1fe3
KH
116342004-01-15 Kazu Hirata <kazu@cs.umass.edu>
11635
11636 * config/h8300/h8300.c (h8300_return_in_memory): New.
11637 (TARGET_STRUCT_VALUE_RTX): Likewise.
11638 (TARGET_RETURN_IN_MEMORY): Likewise.
11639 * config/h8300/h8300.h (STRUCT_VALUE): Remove.
11640 (RETURN_IN_MEMORY): Likewise.
11641
e5396f90
RE
116422004-01-15 Richard Earnshaw <rearnsha@arm.com>
11643
11644 PR optimization/13375
11645 * gcse.c (handle_avail_expr): Just return if the source is not a
11646 single set.
11647
46049cff
RE
116482004-01-15 Richard Earnshaw <rearnsha@arm.com>
11649 Daniel Jacobowitz <drow@mvista.com>
11650
11651 * arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case.
11652 (EQUIV): Define.
11653 (ARM_FUNC_ALIAS): New macro.
11654 * arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it.
11655 * arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it.
11656
2fabc3d6
JDA
116572004-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11658
11659 PR optimization/12372
11660 * calls.c (expand_call): Add call_fusage data for stack arguments in
11661 constant calls.
11662
3c9eb5f4
AM
116632004-01-15 Alan Modra <amodra@bigpond.net.au>
11664
11665 * config/rs6000/rs6000.c (uses_TOC): Correct comment. Make static.
11666 (rs6000_elf_declare_function_name): Formatting.
11667 * config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration.
11668
c7866154
JH
116692004-01-15 Jan Hubicka <jh@suse.cz>
11670
11671 PR bootstrap/13692
11672 * sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in
11673 previous patch.
11674
ad5d827d
RH
116752004-01-15 Richard Henderson <rth@redhat.com>
11676
11677 * config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after
11678 integer regs of the same call-savedness.
11679
66e07510
AS
116802004-01-15 Andreas Schwab <schwab@suse.de>
11681
11682 PR bootstrap/13562
11683 * config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc
11684 status for NOTB/NOTW/NEGW methods.
11685
7c12f388
KH
116862004-01-15 Kazu Hirata <kazu@cs.umass.edu>
11687
11688 * doc/invoke.texi: Update dump file names. Fix a typo.
11689
4a7bb550
KH
116902004-01-15 Kazu Hirata <kazu@cs.umass.edu>
11691
11692 * builtins.c (expand_builtin_va_end): Don't use
11693 EXPAND_BUILTIN_VA_END.
11694 * system.h (EXPAND_BUILTIN_VA_END): Poison.
11695 * config/d30v/d30v.h: Remove a commented-out definition of
11696 EXPAND_BUILTIN_VA_END.
11697 * config/stormy16/stormy16.h: Likewise.
11698
430fff02
KH
116992004-01-15 Kazu Hirata <kazu@cs.umass.edu>
11700
11701 * system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison.
11702 * targhooks.c (default_struct_value_rtx): Don't use
11703 STRUCT_VALUE_INCOMING_REGNUM.
11704
03787dfd
KC
117052004-01-15 Kelley Cook <kcook@gcc.gnu.org>
11706
11707 PR bootstrap/12744
11708 * configure.in: Revamp enable-generated-files-in-srcdir rule to define
11709 GENINSRC and not parsedir. Define srcextra as a langhook.
11710 * configure: Regenerate.
11711 * Makefile.in: Suppress default .l.c rule. Don't substitute
11712 parsedir and delete all references throughout. Conditionally define
11713 rule for srcextra dependent on GENINSRC.
11714 (stmp-docobjdir): Delete.
11715 (c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule.
11716 (srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c,
11717 and gengtype-yacc.h back to source directory.
11718 (maintainer-clean): Delete all parse files in source directory.
11719 (distclean): Delete generated files.
11720
11721 * objc/Make-lang.in (objc-parse.o): Use implicit build rule.
11722 (objc-parse.c, objc-parse.y): Don't use parsedir.
11723 (objc.srcextra): Copy objc-parse.y and objc-parse.c back to source
11724 directory if requested.
11725 (po-generated): Don't use parsedir.
11726 (objc.maintainer-clean): Delete above files from source directory.
11727
04ab46a4
KH
117282004-01-14 Kazu Hirata <kazu@cs.umass.edu>
11729
11730 * doc/tm.texi (FUNCTION_VALUE): Fix a typo.
11731
d624465f
KH
117322004-01-14 Kazu Hirata <kazu@cs.umass.edu>
11733
11734 * doc/tm.texi: Replace RETURN_IN_MEMORY with
11735 TARGET_RETURN_IN_MEMORY.
11736
e1be55d0
JH
117372004-01-15 Jan Hubicka <jh@suse.cz>
11738
11739 * builtins.c (std_expand_builtin_va_arg): Align operand when needed.
11740 * i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic
11741 functions accepting SSE arguments
11742 (function_arg): Warn only when asked to warn.
11743 * i386.h (ix86_args): Add warn_sse/warn_mmx fiels.
11744
f560bf91
JM
117452004-01-14 Joseph S. Myers <jsm@polyomino.org.uk>
11746
11747 * c-parse.in (stmts_and_decls): Make label at end of compound
11748 statement a hard error.
11749
95c755e9
JH
117502004-01-14 Jan Hubicka <jh@suse.cz>
11751
11752 * cgraph.c (create_edge): Use local.redefined_extern_inline.
11753 * cgraph.h (cgraph_local_info): Sort fields by size; add
11754 redefined_extern_inline
11755 (cgraph_global_info): Sort fields by size.
11756 (cgraph_node): Likewise.
11757 * cgraphunit.c (cgraph_finalize_function): Se
11758 local.redefined_extern_inline on redefinition.
11759 (cgraph_analyze_function): Use it; fix formating.
11760
84568e14
JH
117612004-01-14 Jan Hubicka <jh@suse.cz>
11762
11763 PR c++/10776
11764 * sched-deps.c (trye_dependency_cache, anti_dependency_cache,
11765 outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of
11766 bitmaps
11767 (cache_size): New variable
11768 (add_dependence): Update use; canonize early memory locations
11769 (sched_analyze_1): Likewise.
11770 (sched_analyze_2): Likewise.
11771 (init_dependency_caches): Initialize bitmaps.
11772 (free_dependency_caches): Free bitmaps
11773
3a179764
KH
117742004-01-14 Kazu Hirata <kazu@cs.umass.edu>
11775
11776 * calls.c: Replace STRICT_ARGUMENT_NAMING in comments with
11777 targetm.calls.strict_argument_naming().
11778 * target.h: Likewise.
11779
b298f00f
RH
117802004-01-14 Richard Henderson <rth@redhat.com>
11781
11782 PR debug/13231
11783 * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue
11784 instructions.
11785
1bddbeb4
RH
117862004-01-14 Richard Henderson <rth@redhat.com>
11787
11788 PR c++/12491
11789 * except.c (struct eh_region): Add u.fixup.resolved.
11790 (resolve_one_fixup_region): Split out from ...
11791 (resolve_fixup_regions): ... here.
11792
4eb31d4f
KH
117932004-01-14 Kazu Hirata <kazu@cs.umass.edu>
11794
11795 * config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0.
11796
16f425fc
KH
117972004-01-14 Kazu Hirata <kazu@cs.umass.edu>
11798
11799 * config/alpha/alpha.h (STRUCT_VALUE): Remove.
11800 * config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef.
11801 (STRUCT_VALUE): Remove.
11802
4850c982 118032004-01-14 Steven Bosscher <stevenb@suse.de>
616f6d84
SB
11804
11805 * system.h: Poison PROMOTED_MODE
11806 * integrate.c (expand_inline_function): Don't mention the
11807 PROMOTED_MODE.
11808 * loop.c (update_giv_derive): Same.
11809 * tree.h (DECL_RTL): Same.
11810
f9654065
R
118112004-01-14 J"orn Rennecke <joern.rennecke@superh.com>
11812
11813 PR target/9365
11814 * sh.c (gen_block_redirect): Add special handling of RETURN.
11815 (gen_far_branch) Don't call gen_stuff_delay_slot if there is no
11816 far branch target (i.e. it's a return).
11817
abbe8578
KH
118182004-01-14 Kazu Hirata <kazu@cs.umass.edu>
11819
11820 * regrename.c (find_oldest_value_reg): Fix a warning.
11821
192c8d78
RE
118222004-01-14 Richard Earnshaw <rearnsha@arm.com>
11823
11824 PR bootstrap/12527
11825 * config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
11826 Move linux-gas.h and linux-elf.h before aout.h.
11827 * arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
11828 * arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.
11829
e512ab39
KH
118302004-01-14 Kazu Hirata <kazu@cs.umass.edu>
11831
11832 * config/m32r/m32r.md: Use GEN_INT instead of gen_rtx
11833 (CONST_INT, VOIDmode, ...).
11834
684bcee5
RE
118352004-01-14 Richard Earnshaw <rearnsha@arm.com>
11836
f57fc998 11837 * regrename.c (find_oldest_value_reg): If the replacement uses
684bcee5
RE
11838 multiple hard registers, check that all of them are in CLASS.
11839
e7844ffb
JH
118402004-01-14 Jan Hubicka <jh@suse.cz>
11841
11842 * alias.c (get_alias_set): Initialize alias set to 0 when subset is
11843 impossible.
11844
73e232f0
KC
118452004-01-14 Kelley Cook <kcook@gcc.gnu.org>
11846
11847 * Makefile.in: Define MAINT from --enable-maintainer-mode.
11848
4d774ff8
HP
118492004-01-14 Hartmut Penner <hpenner@de.ibm.com>
11850
11851 * gcc/config/rs6000/rs6000.c (rs6000_stack_info)
11852 Calculate always vrsave_mask if TARGET_ALTIVEC.
11853 (rs6000_emit_prologue): Emit code for vrsave
11854 only if TARGET_ALTIVEC_VRSAVE.
11855 (rs6000_emit_epilogue): Likewise.
11856
fa1090f5
EB
118572004-01-14 Eric Botcazou <ebotcazou@libertysurf.fr>
11858
11859 * config/sparc/sparc.md (tie_add32): Fix pasto.
11860 (tie_add64): Likewise.
11861
79551a56
ZD
118622004-01-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11863
11864 * config/i386/i386.md (*addqi_1_slp): Do not access operands[2].
11865
5b8d96f1
KH
118662004-01-13 Kazu Hirata <kazu@cs.umass.edu>
11867
11868 * config/iq2000/iq2000-protos.h: Fix comment formatting.
11869 * config/iq2000/iq2000.c: Likewise.
11870 * config/iq2000/iq2000.md: Likewise.
11871
b98d154e
B
118722004-01-14 J. Brobecker <brobecker@gnat.com>
11873
11874 * dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME.
11875 (subrange_type_die): Add handle for nameless subrange types.
11876
1a793acf
KH
118772004-01-13 Kazu Hirata <kazu@cs.umass.edu>
11878
11879 * config/h8300/h8300-protos.h: Replace do_movsi with
11880 h8300_expand_movsi.
11881 * config/h8300/h8300.c (do_movsi): Change to
11882 h8300_expand_movsi.
11883 * config/h8300/h8300.md (movsi): Replace do_movsi with
11884 h8300_expand_movsi.
11885 (movsf): Likewise.
11886
81ad9ded
KH
118872004-01-13 Kazu Hirata <kazu@cs.umass.edu>
11888
11889 * config/h8300/h8300.c (dosize): Change to
11890 h8300_emit_stack_adjustment. Update callers.
11891
3f0063ab
KH
118922004-01-13 Kazu Hirata <kazu@cs.umass.edu>
11893
11894 * config/h8300/h8300.md (movstrictqi): Add an alternative with
11895 the source being post_inc. Tighten the predicate for the
11896 destination to register_operand.
11897 (movstricthi): Likewise.
11898
abf843c4
KH
118992004-01-13 Kazu Hirata <kazu@cs.umass.edu>
11900
11901 * system.h (SHARED_BSS_SECTION_ASM_OP): Poison.
11902 * varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP.
11903 * doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove.
11904
4b589eab
JH
119052004-01-14 Jan Hubicka <jh@suse.cz>
11906
d34cb6a1
JH
11907 Partial fix PR c++/12850
11908 * cgraphunit.c (cgraph_finalize_function): Always ggc_collect when
11909 at zero nest level.
4b589eab 11910
9ff2cabc
BI
119112004-01-13 Bernardo Innocenti <bernie@develer.com>
11912
11913 * config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr"
f57fc998 11914 pseudo-register.
9ff2cabc 11915
a4d8ec65
DP
119162004-01-13 Devang Patel <dpatel@apple.com
11917
11918 PR debug/7078
f57fc998 11919 * dbxout.c (dbxout_symbol_name): Emit mangled names for
a4d8ec65 11920 NAMESPACE_DECL memebers.
f57fc998 11921
bfaba7a9
AP
119222004-01-13 Andrew Pinski <pinskia@physics.uc.edu>
11923
11924 PR c++/12709
11925 * c-common.c (finish_fname_decls): Use the chain only if the
11926 tree is an expr_stmt.
11927
dfa849f3
VM
119282004-01-13 Vladimir Makarov <vmakarov@redhat.com>
11929
616f6d84 11930 * rtl.def: Add comment about new option in automata_option.
f57fc998 11931
dfa849f3
VM
11932 * genautomata.c (PROGRESS_OPTION): New macro.
11933 (progress_flag): New global variable.
11934 (gen_automata_option): Process `progress'.
11935 (transform_insn_regexps, check_unit_distributions_to_automata,
11936 make_automaton, NDFA_to_DFA, build_automaton, create_automata,
11937 expand_automata, write_automata): Print about the progress only if
11938 progress_flag. Remove fflush.
11939 (initiate_automaton_gen): Process command line flag `-progress'.
11940
11941 * doc/md.texi: Describe the new option.
f57fc998 11942
9405162e
ZD
119432004-01-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11944
11945 * cfg.c (dump_bb): Dump entry edges.
11946
f954388e
RE
119472004-01-13 Richard Earnshaw <rearnsha@arm.com>
11948
f57fc998 11949 * arm.c (thumb_legitimate_address_p): Only allow constant pool
f954388e
RE
11950 references from SImode.
11951 * arm.md (thumb_movhi_insn): Don't allow minipool references.
11952
0fe7abcc
KH
119532004-01-13 Kazu Hirata <kazu@cs.umass.edu>
11954
11955 * system.h (TEXT_SECTION): Poison.
11956 * varasm.c (text_section): Don't use TEXT_SECTION.
11957 * config/sh/sh.c (sh_file_start): Fix a comment typo.
11958 * doc/tm.texi (TEXT_SECTION): Remove.
11959
fdb07791
BE
119602004-01-13 Ben Elliston <bje@wasabisystems.com>
11961
11962 * doc/rtl.texi (Vector Operations): Remove defunct vec_const item.
11963
56067bbe
JW
119642004-01-12 James E Wilson <wilson@specifixinc.com>
11965
11966 * unwind-libunwind.c: Delete.
11967
bc298aa7
ZW
119682004-01-12 Zack Weinberg <zack@codesourcery.com>
11969
11970 PR 13656
11971 * c-decl.c (diagnose_mismatched_decls): Whenever newtype or
11972 oldtype is set, set *newtypep or *oldtypep too. Do not set
11973 them at the very end.
11974 (validate_proto_after_old_defn): Restructure for comprehensibility;
11975 make error messages clearer.
11976
12a08b40
ZW
119772004-01-12 Zack Weinberg <zack@codesourcery.com>
11978
11979 * varray.h (VARRAY_POP): Add checking variant, aborts on underflow.
11980 (VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked.
11981 * varray.c: No need to prototype error.
11982 (varray_check_failed): Wrap long string onto two lines.
11983 (varray_underflow): New function.
11984
faed5cc3
SB
119852004-01-13 Steven Bosscher <stevenb@suse.de>
11986
11987 PR c++/13376
11988 * function.h (struct function): Kill `name' field.
11989 (current_function_name): Make it an extern function.
11990 * function.c (current_function_name): New function.
11991 * graph.c: Update all uses of current_function_name.
11992 * gcse.c: Likewise.
11993 * config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c,
11994 config/mips/mips.c, config/pdp11/pdp11.c: Likewise.
11995 * config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P
11996 instead of a strcmp with "main".
11997
2d327012
JH
119982004-01-13 Jan Hubicka <jh@suse.cz>
11999
0bb03c11
JH
12000 * c-decl.c (diagnose_mismatched_decls): Fix warning calls.
12001
2d327012
JH
12002 * cgraphunit.c (cgraph_optimize_function): Always do
12003 optimize_inline_calls when there is always_inline callee.
12004 (cgraph_decide_inlining): Fix formating.
12005 * tree-inline.c (inlinable_function_p): Do sorry for alwaysinline
12006 functions.
12007 (expand_call_inline): Likewise.
12008 * toplev.h (sorry): Fix prototype.
12009
04cc79bb
RS
120102004-01-12 Roger Sayle <roger@eyesopen.com>
12011
12012 * builtins.c (expand_builtin_expect_jump): Simplify logic. Handle
12013 conditional jumps that drop through to unconditional jumps or the
12014 end of the sequence.
12015
3416f5c2
JH
120162004-01-13 Jan Hubicka <jh@suse.cz>
12017
12018 * alias.c (new_alias_set): Construct the alias_set varray.
12019 (init_alias_once): Don't do it here.
12020
f92ed976
ME
120212004-01-12 Marc Espie <espie@openbsd.org>
12022
12023 * system.h: handle YYBYACC like YYBISON.
12024
ff2aaa93
JM
120252004-01-12 Jonathan Merriman <jonm@dualitymedia.com>
12026
12027 PR target/10847
12028 * config.gcc: No longer includes conflicting header sparc/sol2.h when
12029 building on sparc64-*-openbsd*.
12030
c5ff9123
AP
120312004-01-12 Andrew Pinski <pinskia@physics.uc.edu>
12032
12033 PR debug/13539
12034 * dbxout.c (dbxout_type): Protected inheritance is not
12035 private but protected.
12036
3cd2a183
RS
120372004-01-12 Richard Sandiford <rsandifo@redhat.com>
12038
12039 * config/mips/mips.c (mips_symbolic_constant_p): Revert last patch.
12040
5c881655
KH
120412004-01-12 Kazu Hirata <kazu@cs.umass.edu>
12042
12043 PR optimization/12508.
12044 * combine.c (try_combine): Remove a dead set in a parallel
12045 even if its destination is a subreg.
12046
12047 Revert:
12048 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
12049 * combine.c (simplify_set): Don't move a subreg in SET_SRC to
12050 SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
12051
a42f8ae7 120522004-01-12 Geoffrey Keating <geoffk@apple.com>
affad9a4
GK
12053
12054 * real.c: Update copyright date.
12055 * emit-rtl.c: Likewise.
12056 * rtl.h: Likewise.
12057 * dwarf2out.c: Likewise.
12058 * config/rs6000/darwin-ldouble.c: Likewise.
12059 * config/rs6000/rs6000.md: Likewise.
12060
4274207b
DE
120612004-01-12 David Edelsohn <edelsohn@gnu.org>
12062
12063 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX
12064 TFmode to SImode libfuncs.
12065
06e4eab5
RS
120662004-01-12 Roger Sayle <roger@eyesopen.com>
12067
12068 PR middle-end/11397
12069 * varasm.c (assemble_alias): Remove weak aliases from weak_decls.
12070
432f982f
JH
120712004-01-12 Jan Hubicka <jh@suse.cz>
12072
12073 PR opt/12826
12074 * loop.c (insert_loop_mem): Preffer VOLATILE memory references to be
12075 stored.
12076
12077 PR opt/12863
12078 * cfgcleanup.c (label_is_jump_target_p): Move to...
12079 * rtlanal.c (label_is_jump_target_p): ... here.
12080 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Fix redirecting of fallthru
12081 edges unified with branch edges.
12082
8064d930
RE
120832004-01-12 Richard Earnshaw <rearnsha@arm.com>
12084
12085 * simplify-rtx.c (simplify_immed_subreg): Correctly extract the
12086 high word of an integral CONST_DOUBLE.
12087
1c48f4be 120882004-01-12 Paul Brook <paul@codesourcery.com>
0786ca87
PB
12089
12090 * simplify-rtx.c (simplify_plus_minus): Always generate canonical form.
12091
68d2b0bb 120922004-01-12 J"orn Rennecke <joern.rennecke@superh.com>
07d7d2f4
R
12093
12094 PR target/13585
12095 * sh-protos.h (check_use_sfunc_addr): Declare.
12096 * sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions.
12097 * sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate.
12098
c65ecebc
JH
120992004-01-12 Jan Hubicka <jh@suse.cz>
12100
9ddb66ca
JH
12101 * alias.c: Invlude varray.h
12102 (alias_sets): Turn into varray.
12103 (get_alias_set_entry): Use VARRAY; mark inline.
12104 (mems_in_disjoint_alias_sets_p): Mark inline.
12105 (record_alias_subset): Use varray.
12106 (init_alias_once): Initialize varray.
12107 (new_alias_set): Grow array.
12108 * varray.c: Make VARRAY_GENERIC_PTR non GTYized.
12109
121102004-01-12 Jan Hubicka <jh@suse.cz>
12111
12112 Partial fix for PR opt/10776 II
c65ecebc
JH
12113 * cselib.c: Include params.h
12114 (cselib_invalidate_mem): Limit amount of nonconflicting memory
12115 locations.
12116 * params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New.
12117 * Makefile.in (cselib.o): Depend on params.h
12118
c0657872
RS
121192004-01-12 Richard Sandiford <rsandifo@redhat.com>
12120
12121 * combine.c (combine_simplify_rtx): Don't pass VOIDmode to
12122 simplify_unary_operation if the operand has a known mode.
12123
d2288d5d
HP
121242004-01-12 Hartmut Penner <hpenner@de.ibm.com>
12125
b40ee5d6 12126 PR target/13534
d2288d5d
HP
12127 * gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New
12128 predicate to handle 'ld' conform addresses.
12129 * gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y'
12130 contraint.
12131 (EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint
12132 are memory contraints.
12a08b40 12133 * gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand):
d2288d5d 12134 New prototype.
12a08b40 12135 * gcc/config/rs6000/rs6000.md (*movdf_hardfloat64):
d2288d5d
HP
12136 Change 'o' to 'Y' constraint.
12137 (*movdf_softfloat64): Ditto.
12a08b40 12138
c223cf45
BI
121392004-01-12 Bernardo Innocenti <bernie@develer.com>
12140
12141 * gcc/config/m68k/m68k.md: Switch from the "*..." syntax to the
12142 brace-enclosed syntax in all C output statements.
12143
5fc921c1
DE
121442004-01-12 David Edelsohn <edelsohn@gnu.org>
12145
12146 PR target/13401
12147 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
12148 Objective-C language type value is 14.
12149
48568ec7
MO
121502004-01-12 Markus F.X.J. Oberhumer <markus@oberhumer.com>
12151
12152 PR c/12148
12153 * config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of
12154 `int' in a number of places to make sure we always have a SImode
12155 and not a HImode. Add a 'L' suffix to a number of constants.
12156
124c9423
JDA
121572004-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12158
12159 * pa.c: Don't include obstack.h.
12160
12161 * pa.md: Correct constraint in pattern for loading PIC label address.
12162
c924f70c
KK
121632004-01-11 Kaz Kojima <kkojima@gcc.gnu.org>
12164
12165 * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine
12166 before defining.
12167
53efeb8d
SB
121682004-01-11 Steven Bosscher <stevenb@suse.de>
12169
1eee14b9 12170 PR fortran/9972
53efeb8d
SB
12171 * toplev.c (rest_of_handle_inline): Also consider functions
12172 for deferral if the language is GNU F77.
12173
d4968a11
ZW
121742004-01-11 Zack Weinberg <zack@codesourcery.com>
12175
12176 * c-decl.c (diagnose_arglist_conflict): Add missing space to
12177 diagnostic messages.
12178
1759c760
JJ
121792004-01-11 Jakub Jelinek <jakub@redhat.com>
12180
12181 PR middle-end/13392
12182 * builtins.c (expand_builtin_expect_jump): Handle conditional jumps
12183 to drop through label. Don't fall back to SCC even when conditional
12184 jump has not been found.
12185
0bcf8261
JH
121862004-01-11 Jan Hubicka <jh@suse.cz>
12187
fb544601
JH
12188 * invoke.texi: Fix syntax error in previous patch.
12189
0bcf8261
JH
12190 Partial fix for PR opt/10776
12191 * Makefile.in (reload.o): Include param.h
12192 * params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter.
12193 * reload.c: Include params.h.
12194 (find_equiv_reg): Work limiting check.
12195 * invoke.texi: Document.
12196
bd9131c0
RS
121972004-01-11 Richard Sandiford <rsandifo@redhat.com>
12198
12199 * config/mips/mips.c (mips_symbolic_constant_p): Don't allow
12200 out-of-bounds accesses to string constants. Simplify mips16
12201 case accordingly.
12202
6732ee60
RS
122032004-01-11 Richard Sandiford <rsandifo@redhat.com>
12204
12205 PR optimization/13469
12206 * toplev.c (rest_of_compilation): Call purge_all_dead_edges after
12207 reload_cse_regs (-fnon-call-exceptions only).
12208
14bc6742
KH
122092004-01-11 Kazu Hirata <kazu@cs.umass.edu>
12210
12211 * config/mcore/lib1.asm: Fix comment formatting.
12212 * config/mcore/mcore-elf.h: Likewise.
12213 * config/mcore/mcore.c: Likewise.
12214 * config/mcore/mcore.h: Likewise.
12215 * config/mcore/mcore.md: Likewise.
12216
3c6e6fbf
ZW
122172004-01-10 Zack Weinberg <zack@codesourcery.com>
12218
12219 * c-decl.c (duplicate_decls): Break apart into...
12220 (diagnose_arglist_conflict, validate_proto_after_old_defn)
12221 (locate_old_defn, diagnose_mismatched_decls, merge_decls):
12222 ... these new functions. Restructure for comprehensibility.
12223 Remove various archaic special cases. Always report the
12224 location of the previous declaration when a diagnostic is issued.
12225 (redeclaration_error_message): Fold into diagnose_mismatched_decls.
12226 (match_builtin_function_types): Delete unnecessary forward declaration.
12227
1e8dcb41
ZW
122282004-01-10 Zack Weinberg <zack@codesourcery.com>
12229
12230 * genautomata.c (make_automaton, NDFA_to_DFA):
12231 Print progress bars with '.' characters instead of '*'.
12232 (build_automaton): Change notes to match.
12233
a2ab189d
KH
122342004-01-10 Kazu Hirata <kazu@cs.umass.edu>
12235
12236 * config/m32r/m32r.md: Use define_constants for unspec and
12237 unspec_volatile.
12238
cf7cb67e
JH
122392004-01-10 Jan Hubicka <jh@suse.cz>
12240
c8fdcfae 12241 PR opt/11635
cf7cb67e
JH
12242 * expr.c (expand_expr_real): More curefully expand union casts.
12243
0574200c
KH
122442004-01-10 Kazu Hirata <kazu@cs.umass.edu>
12245
12246 * config/m32r/m32r.md (flush_icache): Use 1 for
12247 unspec_volatile.
12248
a2a0019f
DE
122492004-01-10 David Edelsohn <edelsohn@gnu.org>
12250 James E Wilson <wilson@specifixinc.com>
12251
12252 PR debug/12860
12253 * dbxout.c (dbxout_symbol): Remove initialization of
12254 current_sym_code, current_sym_value, and current_sym_addr.
12255 (dbxout_symbol_location): Same.
12256 (dbxout_prepare_symbol): Zero current_sym_code,
12257 current_sym_value, and current_sym_addr.
12258
bb3f5384
RS
122592004-01-10 Richard Sandiford <rsandifo@redhat.com>
12260
12261 * tree.c (get_unwidened): Reorder conditions so that the null pointer
12262 check is done first.
12263
fbfb16e2
EC
122642004-01-09 Eric Christopher <echristo@redhat.com>
12265
12266 * toplev.c (rest_of_handle_cfg): Add reg_scan pass
12267 if we're running mark_constant_function.
12268
cc23f3c7
JB
122692004-01-09 Jeff Bailey <jbailey@nisa.net>
12270
12271 PR target/12561
12272 * config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR.
12273
975421be
AP
122742004-01-09 Andrew Pinski <pinskia@physics.uc.edu>
12275
12276 PR debug/11231
a2a0019f
DE
12277 * dbxout.c (dbxout_type_fields): Return if any item is
12278 error_mark_node or the type is error_mark_node.
975421be 12279
7e4bd541
GK
122802004-01-09 Geoffrey Keating <geoffk@apple.com>
12281
f01519dd
GK
12282 * config/rs6000/darwin-ldouble.c: Add big comment explaining
12283 exactly what is expected as a 'long double'.
12284 (_xlqadd): When a value to be returned is representable as a
12285 'double', just return it directly, do not construct it using a union.
12286 Also, correct final fixup.
12287 (_xlqmul): Likewise.
12288 (_xlqdiv): Likewise.
12289 * real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c.
12290
7e4bd541
GK
12291 * config/rs6000/rs6000.md (fix_trunctfdi2): Delete.
12292
47069ecb
RH
122932004-01-09 Richard Henderson <rth@redhat.com>
12294
12295 * recog.c (constrain_operands): Validate mem operands.
12296
9813058e
JW
122972004-01-09 James E Wilson <wilson@specifixinc.com>
12298
12299 * gcc.c (init_spec): Remove -lunwind from shared case.
12300 * conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind.
12301
b0fd7d27
SE
123022004-01-09 Steve Ellcey <sje@cup.hp.com>
12303
12304 * configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*.
12305 * configure: Regenerate
12306
3897f229
JM
123072004-01-09 Joseph S. Myers <jsm@polyomino.org.uk>
12308
12309 PR c/11234
12310 * c-typeck.c (build_c_cast): If pedantic, warn for conversions
12311 between function and object pointers.
12312 (digest_init): When comparing a pointer to function type to the
12313 target type, only apply TREE_TYPE once to the pointer to function
12314 type.
12315 * except.c (for_each_eh_label_1): Treat data as a pointer to a
12316 function pointer rather than casting it to a function pointer.
12317 (for_each_eh_label): Update caller.
12318 * recog.h (struct insn_data): Use a struct or union for output.
12319 * genoutput.c (output_insn_data): Update.
12320 * final.c (get_insn_template): Update.
12321
0fab64a3
MM
123222004-01-09 Mark Mitchell <mark@codesourcery.com>
12323
12324 * expr.h (expand_expr): Make it a macro, not a function.
12325 (expand_expr_real): New function.
12326 * expr.c (store_expr): Adjust logic for deciding whether or not to
12327 copy the value returned by expand_expr.
12328 (expand_expr): Rename to ...
12329 (expand_expr_real): ... this. Add alt_rtl parameter. Adjust
12330 calls to language hooks.
12331 * c-common.h (c_expand_expr): Adjust prototype.
12332 * c-common.c (c_expand_expr): Add alt_rtl parameter.
12333 * langhooks-def.h (lhd_expand_expr): Change prototype.
12334 * langhooks.c (lhd_expand_expr): Add all_rtl parameter.
12335 * langhooks.h (lang_hooks): Change type of expand_expr.
12336 * stmt.c (stmt_status): Add x_last_expr_alt_rtl.
12337 (last_expr_alt_rtl): Likewise.
12338 (expand_expr_stmt_value): Set last_expr_alt_rtl.
12339 (clear_last_expr): Clear it.
12340 (expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL.
12341 (expand_end_bindings): Save and restor last_expr_alt_rtl.
12342 * tree.def (RTL_EXPR): Give it an additional operand.
12343 * tree.h (RTL_EXPR_ALT_RTL): New macro.
9813058e 12344
df68f43b
KI
123452004-01-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
12346
12347 * config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__.
900a35c8 12348 * config/m32r/m32r.c (call26_operand): Allow in PIC mode.
df68f43b 12349
58ebda9c
KH
123502004-01-09 Kazu Hirata <kazu@cs.umass.edu>
12351
12352 PR target/13380.
12353 * config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17)
12354 or (ne:SI (reg:CC 17) (const_int 0)).
12355 Be specific about modes wherever possible.
12356
81ad38a6
KH
123572004-01-09 Kazu Hirata <kazu@cs.umass.edu>
12358
12359 * config/m32r/m32r.c (m32r_expand_block_move): Call
12360 gen_movestrsi_internal with two more arguments.
12361 (m32r_output_block_move): Adjust operand numbers.
12362 Properly update the source and destination pointers.
12363 * config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of
12364 'r+'. Change the set detinations to match_operand.
12365
b816f339
KH
123662004-01-09 Kazu Hirata <kazu@cs.umass.edu>
12367
12368 * final.c (FIRST_INSN_ADDRESS): Remove.
12369 (shorten_branches): Don't use FIRST_INSN_ADDRESS.
12370 * system.h (FIRST_INSN_ADDRESS): Poison.
12371 * config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS.
12372 * config/m32r/m32r-protos.h: Remove the prototype for
12373 m32r_first_insn_address.
12374 * config/m32r/m32r.c (m32r_first_insn_address): Remove.
12375 * config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise.
12376 * doc/md.texi (FIRST_INSN_ADDRESS): Likewise.
12377
de99511b
B
123782004-01-09 J. Brobecker <brobecker@gnat.com>
12379
12380 * dwarf2out.c (gen_enumeration_type_die): Return the DIE that
12381 we just created.
12382 (is_ada_subrange_type): DIEs for enumeration subtypes should be
12383 emitted as subrange types too.
12384 (subrange_type_die): Add handling of enumeration subtypes.
12385
90e4e4c5
RH
123862004-01-08 Richard Henderson <rth@redhat.com>
12387
12388 PR opt/12441
12389 Revert: Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
9813058e
JW
12390 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
12391 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
12392 (ix86_address_cost): Be prepared for SUBREGed registers.
12393 (legitimate_address_p): Accept SUBREGed registers.
90e4e4c5 12394
a6a5e4c9
KC
123952004-01-08 Kelley Cook <kcook@gcc.gnu.org>
12396
12397 * Makefile.in: Rename configure.in to configure.ac
12398 * doc/sourcebuild.texi: Likewise.
12399 * configure: Regenerate.
12400 * config.in: Regenerate.
12401
588f75d0
SH
124022004-01-08 Stuart Hastings <stuart@apple.com>
12403
12404 * config/i386/i386.md: Typos in MMX/SSE immediate shifts.
12405
6242fcd8
JH
124062004-01-08 Jan Hubicka <jh@suse.cz>
12407
12408 * cgraphunit.c (cgraph_decide_inlining): Fix typo.
12409
a29077da
GK
124102004-01-08 Geoffrey Keating <geoffk@apple.com>
12411
ecb62ae7
GK
12412 * config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset.
12413 (UNSPEC_FIX_TRUNC_TF): New constant.
12414 (movtf_internal): Make splitter active only when insn is active.
12415 (extenddftf2): Rewrite to properly load zero into low part.
12416 (extenddftf2_internal): New.
12417 (extendsftf2): Rewrite.
12418 (truncdftf2): Correct length.
12419 (floatditf2): Delete.
12420 (fix_trunc_helper): New.
12421 (fix_trunctfdi2): Use fix_trunc_helper.
12422 (fix_trunctfsi2): Likewise.fix_trunc
12423 (fix_trunctfsi2_internal): New.
12424
a29077da
GK
12425 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum
12426 addresses are legitimate on Darwin even when flag_pic.
12427 (rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create
12428 non-offsettable addresses for loads of TFmode constants.
12429
cb1f9d03
KI
124302004-01-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
12431
12432 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit
12433 variables in the appropriate bss section.
12434
7ddb6568
AM
124352004-01-09 Alan Modra <amodra@bigpond.net.au>
12436
12437 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure
12438 target_flags has MASK_POWERPC64 when -m64.
12439 * config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64
12440 to 620, 630, power3, power4 and rs64a entries.
12441 * config/rs6000/rs6000.h (MASK_64BIT): Expand comment.
12442
effdb493
RS
124432004-01-08 Richard Sandiford <rsandifo@redhat.com>
12444
12445 * simplify-rtx.c (simplify_immed_subreg): Fix construction of
12446 floating-point constants.
12447
fbfd77b8
JB
124482004-01-08 J. Brobecker <brobecker@gnat.com>
12449
12450 * dwarf2out.c (subrange_type_die): Add context_die parameter.
12451 Create the subrange_type DIE using the given context DIE.
12452 (modified_type_die): Update call to subrange_type_die.
12453
124542004-01-08 Zack Weinberg <zack@codesourcery.com>
7ce27103
ZW
12455
12456 * dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h:
12457 Add multiple-include guard.
12458
ce1f50b2
HP
124592004-01-08 Hartmut Penner <hpenner@de.ibm.com>
12460
7ce27103
ZW
12461 * gcc/config/rs6000/rs6000.c (easy_vector_constant): Accept
12462 all vector constant loadable by vsplt*.
ce1f50b2
HP
12463 (output_vec_const_move): Likewise.
12464
bca63328
JM
124652004-01-07 Joseph S. Myers <jsm@polyomino.org.uk>
12466
12467 PR c/6024
12468 * c-typeck.c (comptypes): Only treat enumerated types in the same
12469 translation unit as compatible with each other when they are the
12470 same type.
12471 * doc/extend.texi: Update.
12472
85b58ca5
JM
124732004-01-07 Joseph S. Myers <jsm@polyomino.org.uk>
12474
12475 PR c/12165
12476 * c-decl.c (grokdeclarator): Take type qualifiers of typedefed
12477 array type from the array element type.
12478
93c9d1ba
AM
124792004-01-07 Alan Modra <amodra@bigpond.net.au>
12480
12481 * config/rs6000/rs6000.c (rs6000_dbx_register_number): New function.
12482 * config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare.
12483 * config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define.
12484 (DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment.
12485 * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define.
12486
deae8de6
EC
124872004-01-06 Eric Christopher <echristo@redhat.com>
12488
12489 * config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default.
12490 (DWARF2_DEBUGGING_INFO): Define.
12491 (PREFERRED_DEBUGGING_TYPE): Set to dwarf2.
12492 * config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove.
12493 * config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0
12494 for irix as.
12495 (SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as.
12496 * config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove.
12497 * config/mips/iris5gas.h: Ditto.
12498 (DBX_DEBUGGING_INFO): Remove.
12499 (DWARF2_DEBUGGING_INFO): Ditto.
12500 (MIPS_DEBUGGING_INFO): Ditto.
12501 (PREFERRED_DEBUGGING_TYPE): Ditto.
12502 * config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove.
12503 (PREFERRED_DEBUGGING_TYPE): Ditto.
12504 (SUBTARGET_ASM_DEBUGGING_SPEC): Ditto.
12505 * config/mips/elf64.h: Ditto.
12506
fed2b316
JH
125072004-01-06 Jan Hubicka <jh@suse.cz>
12508
12509 * Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate.
12510 (STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use.
12511
64d961b8
GK
125122004-01-06 Geoffrey Keating <geoffk@apple.com>
12513
084f5a35
GK
12514 * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c.
12515 (TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128.
12516 * config/rs6000/darwin-ldouble.c: New.
deae8de6 12517
550d1387
GK
12518 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
12519 for constants.
12520 (constant_subword): Delete.
12521 * rtl.h (constant_subword): Delete prototype.
12522 (immed_double_const): Is not in varasm.c.
12523 * simplify-rtx.c (simplify_immed_subreg): New.
12524 (simplify_subreg): Use simplify_immed_subreg.
12525
0c90aa3c
GK
12526 * config/rs6000/rs6000.md (floatsitf2): Use expand_float rather
12527 than trying to generate RTL directly.
12528 (fix_trunctfsi2): Use expand_fix rather than trying to generate
12529 RTL directly.
12530
64d961b8
GK
12531 * dwarf2out.c (add_const_value_attribute): Remove incorrect comment.
12532
72b38561
DE
125332004-01-06 David Edelsohn <edelsohn@gnu.org>
12534
12535 * config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each
12536 function into a separate macro.
12537 (read_only_data_section): Add void argument.
12538 (private_data_section): Same.
12539 (read_only_private_data_section): Same.
12540 (toc_section): Same.
12541
9a609388
JH
125422004-01-06 Jan Hubicka <jh@suse.cz>
12543
0aaae060
JH
12544 * invoke.texi: Remove typo in last change.
12545
9a609388
JH
12546 PR target/10301
12547 * config.gcc: Accept opteron and athlon-64 as variants
12548 of k8.
12549 * i386.c (override_options): Likewise.
12550 * invoke.texi (i386 -mtune): Expand documentation.
12551
5d3cc252
KH
125522004-01-06 Kazu Hirata <kazu@cs.umass.edu>
12553
12554 * alias.c: Fix comment typos.
12555 * builtins.c: Likewise.
12556 * cfg.c: Likewise.
12557 * df.c: Likewise.
12558 * dominance.c: Likewise.
12559 * dwarf2out.c: Likewise.
12560 * emit-rtl.c: Likewise.
12561 * expr.c: Likewise.
12562 * final.c: Likewise.
12563 * fold-const.c: Likewise.
12564 * gcse.c: Likewise.
12565 * genattrtab.c: Likewise.
12566 * genrecog.c: Likewise.
12567 * gensupport.c: Likewise.
12568 * ggc-zone.c: Likewise.
12569 * integrate.c: Likewise.
12570 * local-alloc.c: Likewise.
12571 * loop.c: Likewise.
12572 * recog.c: Likewise.
12573 * regmove.c: Likewise.
12574 * reg-stack.c: Likewise.
12575 * reorg.c: Likewise.
12576 * rtlanal.c: Likewise.
12577 * rtl.h: Likewise.
12578 * sched-ebb.c: Likewise.
12579 * simplify-rtx.c: Likewise.
12580 * toplev.c: Likewise.
12581 * varasm.c: Likewise.
12582
95ea367d
KH
125832004-01-06 Kazu Hirata <kazu@cs.umass.edu>
12584
12585 * doc/install.texi: Fix typos.
12586 * doc/invoke.texi: Likewise.
12587 * doc/md.texi: Likewise.
12588
f26ef713
KI
125892004-01-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
12590
12591 * config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed
12592
bcf17554
JH
125932004-01-06 Jan Hubicka <jh@suse.cz>
12594
12595 * i386.c (init_cumulative_args): Add handling of MMX_REGPARM.
12596 (function_arg_advance): Do not pass aggregates in SSE; deal handling
12597 of MMX_REGPARM.
12598 (function_arg): Add new warnings about ABI changes; fix SSE_REGPARM;
12599 add MMX_REGPARM.
12600 * i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields.
12601 (SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI.
12602 (MMX_REGPARM_MAX): Similarly for -mmmx.
12603
24746a42
KH
126042004-01-05 Kazu Hirata <kazu@cs.umass.edu>
12605
12606 * config/sh/linux.h: Fix comment formatting.
12607 * config/sh/netbsd-elf.h: Likewise.
12608 * config/sh/sh.c: Likewise.
12609 * config/sh/sh.h: Likewise.
12610 * config/sh/vxworks.h: Likewise.
12611
f7e7e318
KH
126122004-01-05 Kazu Hirata <kazu@cs.umass.edu>
12613
12614 * system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison.
12615 * toplev.c (output_file_directive): Don't use
12616 ASM_OUTPUT_MAIN_SOURCE_FILENAME.
12617
80a08664
SB
126182004-01-05 Steven Bosscher <s.bosscher@student.tudelft.nl>
12619
12620 * toplev.c: Fix broken checkin of 2003-12-30.
12621
02fef853 126222004-01-05 Daniel Berlin <dberlin@dberlin.org>
deae8de6 12623
02fef853
DB
12624 * ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS
12625 (USING_MMAP): We don't support non-mmap.
12626 (struct alloc_chunk): Steal 1 bit from typecode, use it to mark
12627 large objects.
12628 (struct page_entry): Remove bytes_free.
12629 (struct page_table_chain): Remove.
12630 (struct globals): Remove page_table member.
12631 (loookup_page_table_entry): Function deleted.
12632 (set_page_table_entry): Ditto.
12633 (ggc_allocated_p): No longer need page table lookups.
12634 (ggc_marked_p): Ditto.
12635 (alloc_small_page): Don't care about bytes_free anymore.
12636 (alloc_large_page): Round up size.
12637 (ggc_alloc_zone_1): Mark large objects as such, and calculate
deae8de6 12638 their size the new way.
02fef853
DB
12639 Remove page table lookups and setting.
12640 (ggc_get_size): Calculate large object size the new way.
12641 (sweep_pages): Redo to account for fact that we no longer have
12642 bytes_free.
12643 (ggc_collect): No longer need to reincrement bytes_free.
12644 (ggc_pch_alloc_object): Handle new large objects properly.
12645 (ggc_pch_read): Put PCH stuff into it's own uncollected zone.
12646
60b799fd
KH
126472004-01-05 Kazu Hirata <kazu@cs.umass.edu>
12648
12649 * doc/invoke.texi: Remove a page break.
12650
908c8c7e
KH
126512004-01-05 Kazu Hirata <kazu@cs.umass.edu>
12652
12653 * config/avr/avr.c (avr_output_function_prologue): Remove an
12654 extra pair of curly braces.
12655
8596d0a1
KH
126562004-01-05 Kazu Hirata <kazu@cs.umass.edu>
12657
12658 * config/mn10300/mn10300.c: Fix comment formatting.
12659 * config/mn10300/mn10300.h: Likewise.
12660
1e2d4dc1
RK
126612004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12662
12663 * tree.h: Update documentation on nothrow_flag.
12664 * print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for
12665 types.
12666
b6e69d94
KH
126672004-01-05 Kazu Hirata <kazu@cs.umass.edu>
12668
12669 * doc/invoke.texi: Remove traces of dead ports.
12670
1cf959cb
RS
126712004-01-05 Richard Sandiford <rsandifo@redhat.com>
12672
12673 * doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs
12674 option.
12675
f6149877
RS
126762004-01-05 Richard Sandiford <rsandifo@redhat.com>
12677
12678 PR target/12945
12679 * coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for
b56c0023 12680 counter labels.
f6149877
RS
12681 * config/mips/mips.c (INTERNAL_SYMBOL_P): Delete.
12682 (mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating
12683 string constants if TARGET_MIPS16. Use SYMBOL_REF_DECL to check
12684 the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P.
12685 (mips_symbol_insns): Don't trust the local/global classification.
12686 (m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol.
12687 (override_options): Make -mabicalls -fno-unit-at-a-time imply
12688 -mno-explicit-relocs.
12689 (mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish
12690 between local and global symbols.
12691
a6008bd8
RS
126922004-01-05 Richard Sandiford <rsandifo@redhat.com>
12693
12694 * config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare.
12695 (mips_preferred_reload_class): Declare.
12696 * config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function.
12697 (EXTRA_CONSTRAINT): Update accordingly.
12698 (PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class.
12699 * config/mips/mips.c (mips_dangerous_for_la25_p): New function.
12700 (mips_preferred_reload_class): New function. Prefer LEA_REGS if
12701 mips_dangerous_for_la25_p.
12702 (mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS
12703 if mips_dangerous_for_la25_p.
12704
d7b3c085
BI
127052004-01-05 Bernardo Innocenti <bernie@develer.com>
12706
12707 * config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison
deae8de6 12708 warning.
d7b3c085 12709
ca9bc441
NN
127102004-01-04 Nathanael Nerode <neroden@gcc.gnu.org>
12711
12712 * configure.ac: Use AC_PROG_CPP_WERROR.
12713 * configure: Regenerate.
12714
016d7f3e
ZW
127152004-01-04 Zack Weinberg <zack@codesourcery.com>
12716
12717 * .cvsignore: Add autom4te.cache.
12718
5a4b3afd
RS
127192004-01-04 Richard Sandiford <rsandifo@redhat.com>
12720
12721 * doc/invoke.texi: Revamp documentation of MIPS options. Remove
12722 -mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile,
12723 -m4650, -mfix7000 and -(m)no-crt0. Put endianness options first,
12724 then architecture options, then ABI options. General rewording.
12725
928a5ba9
JM
127262004-01-04 Joseph S. Myers <jsm@polyomino.org.uk>
12727
12728 PR c/3414
12729 * doc/extend.texi: Clarify definition of malloc attribute.
12730
dc0bfe6a
JH
127312004-01-04 Jan Hubicka <jh@suse.cz>
12732
12733 * Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency.
12734 * cgraph.c (create_edge, dump_cgraph): Update to use inline_failed
12735 * cgraph.h (cgraph_edge): Replace inline_call by inline_failed
12736 (cgraph_inline_p): Add extra argument reason.
12737 * cgraphunit.c: Minor formating fixes.
12738 cgraph_first_inlined_callee): New functions.
12739 (record_call_1): Record builtins too.
12740 (cgraph_analyze_function): Update inline_failed messages.
12741 (cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into,
12742 cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed.
12743 (cgraph_check_inline_limits): Likewise; Add argument reason.
12744 (cgraph_set_inline_failed): New static function.
12745 (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set
12746 reasons.
12747 (cgraph_inline_p): Add new argument reason.
12748 * tree-inline.c (expand_call_inline): Update warning.
12749
ba479fd2
NN
127502004-01-03 Nathanael Nerode <neroden@gcc.gnu.org>
12751
914c5af7
NN
12752 * configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
12753 with modern equivalents.
12754 * configure: Regenerate.
12755
016d7f3e
ZW
12756 * configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
12757 * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
12758 * configure: Regenerate.
78c9cb99 12759
d44f1a00
NN
12760 * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
12761
ba479fd2
NN
12762 * configure.in: Rename to configure.ac.
12763 * configure.ac: Renamed from configure.in; make minimum necessary
12764 changes for autoconf 2.5x.
12765 * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
12766 * configure: Regenerate with autoconf 2.57.
12767
031a26c5
KH
127682004-01-03 Kazu Hirata <kazu@cs.umass.edu>
12769
12770 * config/mips/linux.h: Fix comment formatting.
12771 * config/mips/mips.c: Likewise.
12772 * config/mips/mips.h: Likewise.
12773 * config/mips/mips.md: Likewise.
12774 * config/mips/netbsd.h: Likewise.
12775 * config/mips/windiss.h: Likewise.
12776
b87cfcfb
RH
127772004-01-02 Richard Henderson <rth@redhat.com>
12778
12779 * config/i386/i386.md (fp constant pool splitter): Reorg suppression
12780 for sse and 387; add suppression for mmx.
12781
36579663
AP
127822004-01-02 Andrew Pinski <pinskia@physics.uc.edu>
12783
9d85830f
AP
12784 * loop.c (loop_optimize): Free all loops_info's mems.
12785
016d7f3e 12786 * c-typeck.c (finish_init): Free spelling_base before
36579663 12787 setting it again.
016d7f3e 12788
36579663
AP
12789 * cfgloop.c (flow_loops_find): Always free the sbitmap
12790 headers.
12791
12792 * predict.c (estimate_probability): Free bbs after being
12793 done with it.
12794
3864b6fe
KH
127952004-01-02 Kazu Hirata <kazu@cs.umass.edu>
12796
12797 * config/mn10300/mn10300.h (PREDICATE_CODES): Add
12798 const_8bit_operand and call_address_operand.
12799
8b6bd5d7
JH
128002004-01-02 Jan Hubicka <jh@suse.cz>
12801
12802 * cgraphunit.c (cgraph_optimize_function): Call optimize_inline_calls
12803 when there is nothing to inline but warnings are requested.
12804 (cgraph_decide_inlining): Fix memory leak.
12805
9b9bd3b2
JH
128062004-01-02 Jan Hubicka <jh@suse.cz>
12807
12808 * expr.c (store_constructor): Fix pasto in previous patch.
12809
43f3a59d
KH
128102004-01-02 Kazu Hirata <kazu@cs.umass.edu>
12811
12812 * config/i386/cygming.h: Fix comment formatting.
12813 * config/i386/djgpp.h: Likewise.
12814 * config/i386/gthr-win32.c: Likewise.
12815 * config/i386/i386-interix.h: Likewise.
12816 * config/i386/i386.c: Likewise.
12817 * config/i386/i386.h: Likewise.
12818 * config/i386/openbsd.h: Likewise.
12819 * config/i386/winnt.c: Likewise.
12820 * config/i386/xm-mingw32.h: Likewise.
12821
daef8bbd
JM
128222004-01-02 Joseph S. Myers <jsm@polyomino.org.uk>
12823
12824 * doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update
12825 copyright and last modification dates.
12826
7e081a0c
AJ
128272004-01-02 Andreas Jaeger <aj@suse.de>, Gerald Pfeifer <gp@suse.de>
12828
12829 * doc/install.texi (Specific): Mention x86_64.
12830
ac3f5df7
HPN
128312004-01-01 Hans-Peter Nilsson <hp@bitrange.com>
12832
12833 * builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]:
12834 Call force_operand on plus_constant result.
12835
997404de
JH
128362004-01-01 Jan Hubicka <jh@suse.cz>
12837
12838 * expmed.c (store_bit_field, extract_bit_field): Use new named patterns
12839 * expr.c (store_constructor): Use vec_init pattern.
12840 * genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init.
12841 * optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init
12842 (vec_set_optab, vec_extract_optab, vec_init_optab): New.
12843 * i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf):
12844 New patterns.
12845 (sse2_unpc?pd): Fix pattern.
12846 (sse2_movlpd): Kill.
12847 (sse2_movsd): Deal with movlpd too.
12848 * i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd.
12849 (ix86_expand_vector_init): New.
12850 * emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions.
12851 * md.texi (vec_set, vec_extract): Document
12852
b684a3df
JH
128532003-12-31 Jan Hubicka <jh@suse.cz>
12854
12855 PR opt/13473
12856 * recog.c (validate_replace_rtx_1): Take care for RTL sharing inside
12857 ASM input operands
12858
12859 PR opt/12617
12860 * toplev.c (dump_file_index): Reorder ce3 and bbro.
12861 (dump_file): Likewise.
12862 (rest_of_compilation): Likewise.
12863
12864 PR debug/13367
12865 * cgraph.c (cgraph_function_possibly_inlined): Even with
12866 flag_really_no_inline we inline always_inline functions.
12867 * cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
12868 for non-always_inline functions when there is flag_really_no_inline.
12869 (cgraph_decide_inlining): Limit work done when not inlining.
12870 (cgraph_decide_inlining_incrementally): Likewise.
12871 (cgraph_optimize_function): Check whether something got inlined.
12872 * c-objc-common.c (c_disregard_inline_limits): Do not always inline
12873 extern inline functions when not inlining.
12874
12875 * opts.c (decode_options): Disable crossjumping at -O1
12876 * invoke.texi (-O1): Document change.
a55f4481 12877
cd14f58c 12878See ChangeLog.10 for earlier changes.
This page took 1.581566 seconds and 5 git commands to generate.