]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
stor-layout.c (sizetype_set): Remove.
[gcc.git] / gcc / ChangeLog
CommitLineData
ce552f75
NS
12004-08-27 Nathan Sidwell <nathan@codesourcery.com>
2
e3861d2a
NS
3 * stor-layout.c (sizetype_set): Remove.
4 (set_sizetype): Don't test or set it.
5
ce552f75
NS
6 * tree.h (size_int_type): Remove.
7 * fold-const.c: Do not #include gt-fold-const.h.
8 (size_htab_hash, size_htab_eq): Remove.
9 (size_int_kind): Use build_int_cst.
10 (new_const, size_htab): Remove.
11 (size_int_type): Remove.
12 (round_up): Use build_int_cst.
13 (round_down): Likewise. Remove spurious constant build.
14
06c37c96
NS
152004-08-27 Nathan Sidwell <nathan@codesourcery.com>
16
17 * configure.ac: Add ENABLE_ASSERT_CHECKING control.
18 Add is_release variable, use it for --enable-werror and
19 --enable-checking defaults.
20 * system.h (gcc_assert, gcc_unreachable): New.
21 * doc/install.texi (--enable-checking): Update.
22 * configure, config.in: Rebuilt.
23
57406c63
RS
242004-08-26 Richard Sandiford <rsandifo@redhat.com>
25
26 * rtl.h (read_rtx): Change prototype.
27 * read-rtl.c (read_rtx): Provide the caller with both an rtx and a
28 line number. Return true on success.
29 * gensupport.c (process_include, init_md_reader_args_cb): Adjust
30 callers accordingly.
31
ee8a6a3e
RH
322004-08-26 Richard Henderson <rth@redhat.com>
33
34 * c-typeck.c (build_offsetof): Remove.
35 * c-tree.h (build_offsetof): Remove.
36 * c-common.c (fold_offsetof_1, fold_offsetof): New.
37 * c-common.h (fold_offsetof): Declare.
38 * c-parse.in (offsetof_base): New.
39 (offsetof_member_designator): Use it. Build references, not just
40 a tree list.
41 (primary): Use fold_offsetof, not build_offsetof.
42
525c6bf5
RH
432004-08-26 Richard Henderson <rth@redhat.com>
44
45 * tree.c (staticp): Return the static object.
46 * tree.h (staticp): Update decl.
47 * langhooks.h (struct lang_hooks): Change staticp return type to tree.
48 * langhooks.c (lhd_staticp): Return NULL_TREE.
49 * langhooks-def.h (lhd_staticp): Update decl.
50 * c-common.c (c_staticp): Return the static object.
51 * c-common.h (c_staticp): Update decl.
52
d416c0b3
RH
532004-08-26 Richard Henderson <rth@redhat.com>
54
55 * config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float
56 modes.
57
0b410f0b
JM
582004-08-26 Joseph S. Myers <jsm@polyomino.org.uk>
59
60 PR c/13801
61 * c-decl.c (struct c_binding): Add type and inner_comp fields.
62 (bind): Set type and inner_comp fields.
63 (pop_scope): Restore type of decl to the correct type from an
64 outer scope. Give error when popping file scope for incomplete
65 arrays completed incompatibly with default initialization in an
66 inner scope.
67 (diagnose_mismatched_decls): Handle externs with initializers at
68 block scope.
69 (pushdecl): Set type of external declaration at block scope based
70 only on the visible declarations. Save type when changing the
71 type of a declaration. Merge an external declaration at block
72 scope with a visible static declaration at file scope.
73 (implicitly_declare): Give recycled old declaration the new type
74 except for incompatible declarations of built-in functions, saving
75 the old type.
76
b77c7437
ZL
772004-08-26 Ziemowit Laski <zlaski@apple.com>
78
79 * c-parse.in (OBJC_TYPE_QUAL): New %token for ObjC use.
80
a228baff
DB
812004-08-26 Daniel Berlin <dberlin@dberlin.org>
82
83 * tree-alias-common.c (gate_pta): New function.
84 (pass_build_pta): Use it.
85 (pass_del_pta): Use it.
86 (delete_alias_vars): Don't check flag_tree_points_to.
87
2e6c9641
FJ
882004-08-26 Fariborz Jahanian <fjahanian@apple.com>
89
90 * config/rs6000/rs6000.h (HARD_REGNO_CALL_PART_CLOBBERED): Added
91 TFmode as additional register mode cloberred by call.
92
932004-08-26 Fariborz Jahanian <fjahanian@apple.com>
94
95 * config/rs6000/rs6000.c (rs6000_libcall_value): Generate
96 parallel pattern for library call returning DImode in
97 mixed mode.
98
992004-08-26 Fariborz Jahanian <fjahanian@apple.com>
100
101 * config/rs6000/rs6000.c (function_arg): Generate parallel
102 pattern for more split args.
103
1042004-08-26 Fariborz Jahanian <fjahanian@apple.com>
105
106 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Call
107 either gen_movdi_di_update or gen_movdi_si_update depending on
108 target mode.
109 * config/rs6000/rs6000.md (movdi_update): Changed to movdi_<mode>_update,
110 to generate two versions.
111
36d59cf7
DB
1122004-08-26 Daniel Berlin <dberlin@dberlin.org>
113
114 * Makefile.in (lambda-code.o): New.
115 (lambda-trans.o): Ditto.
116 (TREE_DATA_REF_H): Ditto.
117 (LAMBDA_H): Ditto.
118 (lambda-mat.o): Use LAMBDA_H.
119 (tree-data-ref.o): Ditto.
120 * lambda-code.c: New file. Lambda code generation algorithm.
121 * lambda-trans.c: Ditto. Lambda transformation matrix support.
122 * lambda.h: Add lambda loop structures.
123 Add lambda loopnest structures.
124 Add lambda body vector structure.
125 Add lambda linear expression structures.
126 Add prototypes for functions in new files.
127 * lambda-mat.c: Include tree.h
128
1292004-08-26 Daniel Berlin <dberlin@dberlin.org>
130 Sebastian Pop <pop@cri.ensmp.fr>
131
132 * tree-data-ref.h: Include lambda.h
133 (free_dependence_relation): Declared here.
134 (free_dependence_relations): Ditto.
135 (free_data_refs): Ditto.
136 * tree-data-ref.c (free_dependence_relation): New function.
137 (free_dependence_relations): Ditto.
138 (free_data_refs): Ditot.
139 (analyze_all_data_dependences): Free datarefs and dependence_relations.
140 (build_classic_dist_vector): Store in the dependence_relations the
141 information. Each arc in the dependence_relations graph is labelled
142 with the distance and direction vectors.
143 (build_classic_dir_vector): Ditto.
144 (compute_rw_wr_ww_dependences): Renamed again compute_all_dependences.
145 Now computes again the whole dependence graph including read-read
146 relations.
147 (compute_data_dependences_for_loop): Now dependence_relations contains
148 all the data, and thus it doesn't need to initialize the classic_dir
149 and classic_dist vectors.
150 (analyze_all_data_dependences): Adjusted for using the new interface of
151 compute_data_dependences_for_loop. Remove the statistics dump.
152
a46bbb5a
BW
1532004-08-26 Bob Wilson <bob.wilson@acm.org>
154
155 * config/xtensa/xtensa.c (xtensa_ld_opcodes, xtensa_st_opcodes): Delete.
156 (xtensa_expand_block_move): Update comment.
157 (override_options): Remove initialization of xtensa_{ld,st}_opcodes.
158
52351a5e
RE
1592004-08026 Richard Earnshaw <rearnsha@arm.com>
160
161 PR target/13506
162 * toplev.c (crash_signal): If we crashed while emitting
163 a user asm, then die more gracefully.
164
b72e46f0
NC
1652004-08-26 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
166
167 PR target/17119.
168 * config/m32r.c (gen_compare): Use reg_or_int16_operand when
169 checking for a valid constant, regardless of sign.
170
fd9363bf
RH
1712004-08-25 Richard Henderson <rth@redhat.com>
172
d416c0b3
RH
173 PR target/16974
174 * config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
175 if the constant satisfies add_operand.
fd9363bf 176
45f413e4
RH
1772004-08-25 Richard Henderson <rth@redhat.com>
178
d416c0b3
RH
179 PR debug/10695
180 * config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
181 (alpha_expand_prologue): Handle >32-bit frames. Generate proper
182 unwind info for >16-bit frames.
45f413e4 183
7e233208
RK
1842004-08-25 Richard B. Kreckel <richard.kreckel@framatome-anp.com>
185
186 PR target/17171
187 * config/i386/gas.h (ASM_COMMENT_START): Define to "#".
188
04886dc0
RH
1892004-08-25 Richard Henderson <rth@redhat.com>
190
d416c0b3
RH
191 * config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
192 (TARGET_CANNOT_FORCE_CONST_MEM): New.
04886dc0 193
aca2bd7c
AM
1942004-08-25 Andrew MacLeod <amacleod@redhat.com>
195
196 * doc/tree-ssa.texi: Document new operand iterator.
197
0423421f
AM
1982004-08-26 Alan Modra <amodra@bigpond.net.au>
199
200 PR target/16480
201 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Don't abort
202 on "(mem (symbol_ref ..))" rtl. Look at LO_SUM base regs as well
203 as PLUS base regs.
204
e4dc702c
PB
2052005-08-28 Paul Brook <paul@codesourcery.com>
206
207 * config/arm/symbian.h (SUBTARGET_ASM_FLOAT_SPEC): Default to
208 -mfpu=vfp -march=armv5t
37d5a9a5 209 * config/arm/t-symbian: Change multilib to mfloat-abi=softfp.
e4dc702c 210
6dd53648
RH
2112004-08-25 Richard Henderson <rth@redhat.com>
212
213 * target-def.h (TARGET_SCALAR_MODE_SUPPORTED_P): New.
214 * target.h (struct gcc_target): Add scalar_mode_supported_p.
215 * targhooks.c (default_scalar_mode_supported_p): New.
216 * targhooks.h (default_scalar_mode_supported_p): Declare.
217 * doc/tm.texi (TARGET_SCALAR_MODE_SUPPORTED_P): Document.
218
219 * c-common.c (handle_mode_attribute): Query scalar_mode_supported_p
220 before attempting to create types. Tidy.
221 * expr.c (vector_mode_valid_p): Use scalar_mode_supported_p.
222
223 * config/alpha/alpha.c (alpha_scalar_mode_supported_p): New.
224 (TARGET_SCALAR_MODE_SUPPORTED_P): New.
225
bab2b22b
RH
2262004-08-25 Richard Henderson <rth@redhat.com>
227
228 * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Don't
229 set REAL_MODE_FORMAT for TFmode.
230
c34be55e
ZL
2312004-08-25 Ziemowit Laski <zlaski@apple.com>
232
233 * c-decl.c (grokparm): New function.
234 * c-tree.h (grokparm): New prototype.
235
4c124b4c
AM
2362004-08-25 Andrew MacLeod <amacleod@redhat.com>
237
238 * tree-ssa-operands.h (struct ssa_operand_iterator_d): New. SSA operand
239 iterator controlling structure.
240 (SSA_OP_USE, SSA_OP_DEF, SSA_OP_VUSE, SSA_OP_VMAYUSE, SSA_OP_VMAYDEF,
241 SSA_OP_VMUSTDEF, SSA_OP_VIRTUAL_USES, SSA_OP_VIRTUAL_DEFS,
242 SSA_OP_ALL_USES, SSA_OP_ALL_DEFS, SSA_OP_ALL_OPERANDS): New. Operand
243 iterator flags.
244 (FOR_EACH_SSA_TREE_OPERAND): New. Iterate over operands as trees.
245 (FOR_EACH_SSA_USE_OPERAND): New. Iterate over operands as uses.
246 (FOR_EACH_SSA_DEF_OPERAND): New. Iterate over operands as defs.
247 (FOR_EACH_SSA_MAYDEF_OPERAND): New. Iterate over V_MAY_DEFs.
248 * tree-ssa-operands.c (NULL_DEF_OPERAND_P, NULL_USE_OPERAND_P): New.
249 Empty operand pointers.
250 * tree-flow-inline.h (op_iter_done): New. Return true if finished.
251 (op_iter_next_use): New. Return next use_operand_p.
252 (op_iter_next_def): New. Return next def_operand_p.
253 (op_iter_next_tree): New. Return next operands as a tree.
254 (op_iter_init): New. Initialize an iterator structure.
255 (op_iter_init_use): New. Initialize structure and get the first use.
256 (op_iter_init_def): New. Initialize structure and get the first def.
257 (op_iter_init_tree): New. Initialize structure and get the first tree.
258 (op_iter_next_maydef): New. Return next V_MAY_DEF operands.
259 (op_iter_init_maydef): New. Initialize structure and get the first
260 V_MAY_DEF operands.
261 * tree-cfg.c (tree_duplicate_bb): Use new operand iterator.
262 * tree-dfa.c (compute_immediate_uses_for_stmt,
263 redirect_immediate_uses): Use new operand iterator.
264 (v_may_defs_disappeared_p, v_must_defs_disappeared_p): Delete.
265 (mark_new_vars_to_rename): Use new operand iterator. Count virtual
266 operands instead of using *_disappeared_p routines.
267 * tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites, rewrite_stmt,
268 ssa_rewrite_stmt): Use new operand iterator.
269 * tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb,
270 rewrite_trees): Use new operand iterator.
271 * tree-pretty-print.c (dump_vops): Use new operand iterator.
272 * tree-sra.c (mark_all_v_defs): Use new operand iterator.
273 * tree-ssa-alias.c (compute_points_to_and_addr_escape,
274 dump_points_to_info): Use new operand iterator.
275 * tree-ssa-ccp.c (cp_lattice_meet, visit_stmt, initialize,
276 replace_uses_in, replace_vuse_in, likely_value, set_rhs): Use new
277 operand iterator.
278 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary,
279 propagate_necessity): Use new operand iterator.
280 * tree-ssa-dom.c (cprop_into_stmt, optimize_stmt): Use operand iterator.
281 (register_definitions_for_stmt): Use new operand iterator. Take stmt as
282 a parameter instead of a stmt_ann_t.
283 * tree-ssa-live.c (create_ssa_var_map, calculate_live_on_entry,
284 build_tree_conflict_graph): Use new operand iterator.
285 * tree-ssa-loop-im.c (determine_max_movement, single_reachable_address,
286 rewrite_mem_refs): Use new operand iterator.
287 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt,
288 check_loop_closed_ssa_use): Use new operand iterator.
289 * tree-ssa.c (verify_ssa, replace_immediate_uses): Use operand iterator.
290 * tree-ssanames.c (release_defs): Use new operand iterator.
291 * tree-vectorizer.c (vect_create_data_ref): Use new operand iterator.
292
4185f1ce
AN
2932004-08-25 Adam Nemet <anemet@lnxw.com>
294
295 * tlink.c (initial_cwd): New variable.
296 (tlink_init): Initialize it.
297 (recompile_files): Use tlink_execute() instead of system(). Don't
298 duplicate verbose output of collect_execute. Restore initial_cwd.
299 Update comment before the function.
300
700686fa
ZL
3012004-08-25 Ziemowit Laski <zlaski@apple.com>
302
303 * c-typeck.c (build_c_cast): In ObjC, always preserve (and silently
304 accept) a cast from one Objective-C pointer type to another.
305
7fb654ef
PC
3062004-08-25 Paolo Carlini <pcarlini@suse.de>
307
308 * doc/install.texi: Document that libstdc++-v3 requires
309 now automake 1.9.1.
310
8e8d5162
CT
3112004-08-25 Caroline Tice <ctice@apple.com>
312
313 * bb-reorder.c (partition_hot_cold_basic_blocks): Add more details
314 to comments at start of function.
315 * cfgbuild.c (make_edges): Add more details to hot/cold partitioning
316 comment.
317 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
318 merge_blocks_move_predecessor_nojumps,
319 merge_blocks_move_successor_nojumps, merge_blocks_move,
320 try_crossjump_to_edge, try_crossjump_bb): Likewise.
321 * cfglayout.c (fixup_reorder_chain): Likewise.
322 * cfgrtl.c (rtl_can_merge_blocks, try_redirect_by_replacing_jump,
323 cfg_layout_can_merge_blocks_p): Likewise.
324 * ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
325 * passes.c (rest_of_compilation): Update comments for calling
326 optimization that partitions hot/cold basic blocks.
327 * doc/invoke.texi: Update documentation of
328 freorder-blocks-and-partition flag.
329
41a21e1d
RS
3302004-08-25 Richard Sandiford <rsandifo@redhat.com>
331
332 * config/mips/mips.md (reg): Renamed mode attribute from ccreg.
333 (*mov*_on_*): Adjust accordingly. Add an explicit MOVECC: prefix.
334
e5f14571
RS
3352004-08-25 Richard Sandiford <rsandifo@redhat.com>
336
337 * config/mips/mips.md (any_shift): New code macro.
338 (optab, insn): New code attributes.
339 ({ashl,ashr,lshr}[sd]i3): Redefine using :GPR and any_shift.
340 Use the standard rather than internal patterns for the MIPS16
341 double-shift optimization.
342 (*{ashl,ashr,lshr}[sd]i3): New names for the non-mips16 shift patterns.
343 Redefine using :GPR and any_shift.
344 (*{ashl,ashr,lshr}si3_extend): Generalize ashlsi3_internal1_extend
345 to cover all three shifts.
346 (*{ashl,ashr,lshr}si3_mips16): New names for the mips16 SImode shifts.
347 Redefine using any_shift. Use :GPR and any_shift to combine splitters.
348 (*{ashl,ashr,lshr}di3_mips16): New names for the mips16 DImode shifts.
349
bbbb79d4
GK
3502004-08-24 Geoffrey Keating <geoffk@apple.com>
351
352 * gimplify.c (lookup_tmp_var): Separate temporaries when not
353 optimizing.
354
d711cf67
JDA
3552004-08-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
356
357 PR libstdc++/17005 (fix for HP-UX 11.11)
358 * config.gcc (hppa*-*-*): Move MASK_BIG_SWITCH to target_cpu_default2.
359 (hppa*-*-hpux*): Consolidate hppa1.0-*-* code. Rework handling of
360 tm_file including pa-hpux1010.h or pa-hpux1111.h when appropriate.
361 * config/pa/pa-hpux1010.h, config/pa/pa-hpux1111.h: New files.
362 * config/pa/pa-hpux.h (TARGET_HPUX): Define.
363 (LINK_SPEC): Handle march=1.0 option.
364 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
365 and _XOPEN_SOURCE_EXTENDED for UNIX 95.
366 (SUBTARGET_OPTIONS): New define.
367 (LINK_SPEC): Handle march=1.0 option.
368 (STARTFILE_SPEC): New define.
369 * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
370 and _XOPEN_SOURCE_EXTENDED for UNIX 95. Additionally, predefine
371 _INCLUDE__STDC_A1_SOURCE and _INCLUDE_XOPEN_SOURCE_500 for UNIX 98.
372 (SUBTARGET_OPTIONS): New define.
373 (LINK_SPEC): Handle march=1.0 option.
374 (STARTFILE_SPEC): New define.
375 * config/pa/pa.c (override_options): Add code to process -munix= option.
376 * config/pa/pa.h (pa_unix_string, flag_pa_unix): Declare.
377 (TARGET_HPUX, TARGET_HPUX_10_10, TARGET_HPUX_11_11): Provide default
378 defines.
379 (TARGET_OPTIONS): Add SUBTARGET_OPTIONS to option list.
380 (SUBTARGET_OPTIONS): Provide default define.
381 * config/pa/pa64-hpux.h (STANDARD_STARTFILE_PREFIX_1,
382 STANDARD_STARTFILE_PREFIX_2): New defines.
383 (STARTFILE_SPEC): Provide unix95.o or unix98.o startfiles as necessary.
384 (ENDFILE_SPEC): Use %O.
385 * doc/install.texi (hppa*-*-hpux*): Reword paragraph on -g and gas.
386 Mention issue caused by changing namespace and runtime to UNIX 95/98.
387 * doc/invoke.texi (HPPA options): Move misplaced text to FRV options.
388 Document -munix=std option.
389
5affca01
SB
3902004-08-25 Steven Bosscher <stevenb@suse.de>
391
392 * cse.c (cse_around_loop, cse_check_loop_start,
393 cse_set_around_loop): Remove.
394 (cse_basic_block): Remove the around_loop argument.
395 (cse_end_of_basic_block): Remove the after_loop argument.
396 (cse_main): Likewise.
397 * rtl.h (cse_main): Update prototype.
398 * passes.c (rest_of_handle_cse, rest_of_handle_cse2,
399 rest_of_handle_gcse): Update cse_main calls.
400
7d60be94
NS
4012004-08-25 Nathan Sidwell <nathan@codesourcery.com>
402
403 * tree.h (build_int_cst): New, sign extended constant.
404 (build_int_cstu): New, zero extended constant.
405 (build_int_cst_wide): Renamed from build_int_cst.
406 * tree.c (build_int_cst, build_int_cstu): New.
407 (build_int_cst_wide): Renamed from build_int_cst.
408 (make_vector_type, build_common_tree_nodes,
409 build_common_tree_nodes_2): Adjust build_int_cst calls.
410 * builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
411 expand_builtin_strpbrk, expand_builtin_fputs,
412 build_string_literal, expand_builtin_printf,
413 expand_builtin_sprintf, fold_builtin_classify_type,
414 fold_builtin_lround, fold_builtin_bitop, fold_builtin_isascii,
415 fold_builtin_toascii, fold_builtin_isdigit,
416 simplify_builtin_strstr, simplify_builtin_strpbrk,
417 fold_builtin_fputs, simplify_builtin_sprintf): Likewise.
418 * c-common.c (start_fname_decls, fix_string_type, shorten_compare,
419 DEF_ATTR_INT): Likewise.
420 * c-decl.c (complete_array_type, check_bitfield_type_and_width):
421 Likewise.
422 * c-lex.c (interpret_integer, lex_charconst): Likewise.
423 * c-parse.in (primary) <TYPES_COMPATIBLE_P> Likewise.
424 * c-pretty-print.c (pp_c_integer_constant): Likewise.
425 * c-typeck.c (really_start_incremental_init, push_init_level,
426 set_nonincremental_init_from_string): Likewise.
427 * calls.c (load_register_parameters): Likewise.
428 convert.c (convert_to_pointer): Likewise.
429 coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
430 build_fn_info_type, build_fn_info_value, build_ctr_info_value,
431 build_gcov_info): Likewise.
432 * except.c (init_eh, assign_filter_values): Likewise.
433 * expmed.c (store_fixed_bit_field, extract_bit_field,
434 extract_fixed_bit_field, extract_split_bit_field, expand_shift,
435 expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
436 expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
437 * expr.c (convert_move, emit_group_load, emit_group_store,
438 expand_assignment, store_constructor, store_field,
439 expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
440 fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
441 invert_truthvalue, optimize_bit_field_compare,
442 decode_field_reference, all_ones_mask_p, constant_boolean_node,
443 fold_div_compare, fold, fold_read_from_constant_string,
444 fold_negate_const, fold_abs_const, fold_not_const, round_up,
445 round_down): Likewise.
446 * function.c (assign_parm_setup_block): Likewise.
447 * stmt.c (shift_return_value, expand_case, estimate_case_costs):
448 Likewise.
449 * stor-layout.c (layout_type, initialize_sizetypes,
450 set_min_and_max_values_for_integral_type): Likewise.
451 * tree-chrec.c (chrec_fold_multiply_poly_poly,
452 reset_evolution_in_loop): Likewise.
453 * tree-chrec.h (build_polynomial_chrec): Likewise.
454 * tree-complex.c (build_replicated_const): Likewise.
455 * tree-eh.c (honor_protect_cleanup_actions,
456 lower_try_finally_onedest, lower_try_finally_copy,
457 lower_try_finally_switch): Likewise.
458 * tree-mudflap.c (mf_build_string, mx_register_decls,
459 mudflap_register_call, mudflap_enqueue_constant): Likewise.
460 * tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
461 * tree-pretty-print.c (dump_generic_node): Likewise.
462 * tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
463 Likewise.
464 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
465 * tree-ssa-loop-niter.c (number_of_iterations_cond,
466 loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
467 Likewise.
468 * tree-ssa-loop-ivcanon.c (create_canonical_iv,
469 canonicalize_loop_induction_variables): Likewise.
470 * tree-vectorizer.c (vect_create_index_for_array_ref,
471 vect_transform_loop_bound, vect_compute_data_ref_alignment):
472 Likewise.
473
474 * config/alpha/alpha.c (alpha_initialize_trampoline, alpha_va_start,
475 alpha_gimplify_va_arg_1): Likewise.
476 * config/arm/arm.c (arm_get_cookie_size): Likewise.
477 * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
478 * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
479 * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
480 * config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
481 mips_gimplify_va_arg_expr): Likewise.
482 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
483 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
484 add_compiler_branch_island): Likewise.
485 * config/s390/s390.c (s390_va_start): Likewise.
486 * config/sh/sh.c (sh_va_start): Likewise.
487 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
488 Likewise.
489 * config/xtensa/xtensa.c (xtensa_va_start,
490 xtensa_gimplify_va_arg_expr): Likewise.
491
492 * objc/objc-act.c (build_objc_string_object,
493 build_objc_symtab_template, init_def_list, init_objc_symtab,
494 init_module_descriptor, generate_static_references,
495 build_selector_translation_table, get_proto_encoding,
496 build_typed_selector_reference, build_selector_reference,
497 build_next_objc_exception_stuff,
498 build_method_prototype_list_template, generate_descriptor_table,
499 generate_protocols, build_protocol_initializer,
500 build_ivar_list_template, build_method_list_template,
501 build_ivar_list_initializer, generate_ivars_list,
502 generate_dispatch_table, generate_protocol_list,
503 build_category_initializer, build_shared_structure_initializer,
504 generate_shared_structures, handle_impent,
505 generate_objc_image_info): Likewise.
506
8b63d0e5
PB
5072004-04-25 Paolo Bonzini <bonzini@gnu.org>
508
509 * cfglayout.c (duplicate_insn_chain): Remove references to
510 NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT.
511 * cfgloop.h (struct loop): Remove fields vtop, cont and cont_dominator.
512 * cfgrtl.c (rtl_delete_block): Remove handling of NOTE_INSN_LOOP_CONT.
513 * final.c (final_scan_insn): Remove references to NOTE_INSN_LOOP_VTOP
514 and NOTE_INSN_LOOP_CONT.
515 * insn-notes.def (NOTE_INSN_LOOP_VTOP, NOTE_INSN_LOOP_CONT): Remove.
516 * jump.c (squeeze_notes): Remove references to NOTE_INSN_LOOP_VTOP
517 and NOTE_INSN_LOOP_CONT.
518 * loop.c (scan_loops, find_and_verify_loops, for_each_insn_in_loop,
519 check_dbra_loop, loop_dump_aux): Remove references to removed notes
520 and fields.
521 * reorg.c (mostly_true_jump): Do not rely on NOTE_INSN_LOOP_VTOPs.
522 * unroll.c (unroll_loop, copy_loop_body, loop_iterations): Remove
523 references to removed notes and fields.
524 (subtract_reg_term, ujump_to_loop_cont): Remove.
525
078e3ffe
PB
5262004-08-25 Paolo Bonzini <bonzini@gnu.org>
527
8b63d0e5 528 * doc/install.texi: Document that libcpp does not require
078e3ffe
PB
529 Automake any longer. Document that Automake 1.9.1 should
530 work everywhere.
531
f8ca7e49
ZW
5322004-08-25 Zack Weinberg <zack@codesourcery.com>
533
534 * flags.h (enum debug_info_type): Remove DWARF_DEBUG.
535 * defaults.h (PREFERRED_DEBUGGING_TYPE): Remove check for
536 DWARF_DEBUGGING_INFO from choice-of-definition chain;
537 restructure using C89 features (#elif, #error).
538 * c-lex.c, final.c, opts.c, config/cris/cris.c, config/frv/frv.c
539 * config/sh/sh.h: Remove references to DWARF_DEBUG.
540 * doc/invoke.texi: Remove references to DWARF version 1;
541 clarify why -gdwarf-2<n> doesn't work.
542
51a904c9
ZW
5432004-08-25 Zack Weinberg <zack@codesourcery.com>
544
545 * basic-block.h (BB_SET_PARTITION): Clear old value first.
546 * cfg.c (clear_bb_flags): Don't clear partition setting.
69b9b0d2 547 * ifcvt.c (find_if_case_1): Remove ??? comment.
51a904c9 548
e548ead9
AM
5492004-08-25 Alan Modra <amodra@bigpond.net.au>
550
551 PR target/17052
552 * config/rs6000/rs6000.h (machine_function): Remove sysv_varargs_p.
553 * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
554 current_function_stdarg in place of sysv_varargs_p.
555 * config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
556 sysv_varargs_p.
557
1e19ac74
RH
5582004-08-24 Richard Henderson <rth@redhat.com>
559
560 PR target/16298
561 * config/i386/i386.c (legitimate_constant_p): Rework to not accept
562 random codes within CONST.
563
c61225e7
JW
5642004-08-24 James E Wilson <wilson@specifixinc.com>
565
566 * Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS): Remove
567 -freorder-blocks-and-partition.
568
37840132
JDA
5692004-08-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
570
571 PR middle-end/17044
572 * tree-ssa-threadupdate.c (redirection_data): Make static.
573 (thread_block): Use ggc_alloc_cleared to allocate struct
574 redirection_data. Don't free elements in redirection_data.
575
cf1d880b
RS
5762004-08-24 Richard Sandiford <rsandifo@redhat.com>
577
578 * config/mips/predicates.md (small_data_pattern): Match prefetches.
579
b3393f1f
ZD
5802004-08-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
581
582 PR tree-optimization/17016
583 * tree-ssa-loop-niter.c (number_of_iterations_cond,
584 number_of_iterations_exit): Use POINTER_TYPE_P instead
585 of testing for POINTER_TYPE.
586
82b85a85
ZD
5872004-08-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
588
589 * tree-ssa-loop-ivcanon.c: New file.
590 * tree-ssa-loop-manip.c (create_iv): New function.
591 * Makefile.in (tree-ssa-loop-ivcanon.o): Add.
592 (tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency.
593 * cfgloop.c (mark_single_exit_loops): New function.
594 (verify_loop_structure): Verify single-exit loops.
595 * cfgloop.h (struct loop): Add single_exit field.
596 (LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant.
597 (mark_single_exit_loops): Declare.
598 (tree_num_loop_insns): Declare.
599 * cfgloopmanip.c (update_single_exits_after_duplication): New function.
600 (duplicate_loop_to_header_edge): Use it.
601 * common.opt (fivcanon): New flag.
602 * timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars.
603 * tree-cfg.c (tree_find_edge_insert_loc): Return newly created block.
604 (bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc.
605 (bsi_insert_on_edge_immediate): New function.
606 * tree-flow.h (bsi_insert_on_edge_immediate,
607 canonicalize_induction_variables, tree_unroll_loops_completely,
608 create_iv): Declare.
609 * tree-optimize.c (init_tree_optimization_passes): Add
610 pass_iv_canon and pass_complete_unroll.
611 * tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare.
612 * tree-scalar-evolution.c (get_loop_exit_condition,
613 get_exit_conditions_rec, number_of_iterations_in_loop,
614 scev_initialize): Use single_exit information.
615 * tree-ssa-loop-niter.c (number_of_iterations_cond): Record
616 missing assumptions.
617 (loop_niter_by_eval): Return number of iterations as unsigned
618 int.
619 * tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops.
620 (tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon,
621 tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll):
622 New passes.
623 (tree_ssa_loop_done): Call free_numbers_of_iterations_estimates.
624 * tree-ssanames.c (make_ssa_name): Allow creating ssa name before
625 the defining statement is ready.
626 * tree-vectorizer.c (vect_create_iv_simple): Removed.
627 (vect_create_index_for_array_ref, vect_transform_loop_bound):
628 Use create_iv.
629 (vect_transform_loop_bound): Use single_exit information.
630 (vect_analyze_loop_form): Cleanup bogus tests.
631 (vectorize_loops): Do not call flow_loop_scan.
632 * tree.h (may_negate_without_overflow_p): Declare.
633 * fold-const.c (may_negate_without_overflow_p): Split out from ...
634 (negate_expr_p): ... this function.
635 (tree_expr_nonzero_p): Handle overflowed constants correctly.
636 * doc/invoke.texi (-fivcanon): Document.
637 * doc/passes.texi: Document canonical induction variable creation.
638
b3c90666
RS
6392004-08-24 Richard Sandiford <rsandifo@redhat.com>
640
641 * config/mips/mips.h (ISA_HAS_INT_CONDMOVE): Delete.
642 * config/mips/mips.c (print_operand): Fold %B/%b handling into %T/%t,
643 using the mode of the operand to decide between them.
644 * config/mips/mips.md (MOVECC): New mode macro.
645 (ccreg): New mode attribute.
646 (*mov{si,di,sf,df}_on_{cc,si,di}): Name formerly unnamed patterns.
647 Redefine using :GPR and :MOVECC. Use %T and %t for the condition.
648 (mov[sd]icc): Redefine using :GPR.
649
4767c570
RS
6502004-08-24 Richard Sandiford <rsandifo@redhat.com>
651
04550232
RS
652 * config/mips/mips-protos.h (mips_emit_prefetch): Delete.
653 (mips_prefetch_cookie): New function.
654 * config/mips/mips.c (print_operand_address): Fix handling of
655 ADDRESS_CONST_INT.
656 (mips_emit_prefetch): Delete.
657 (mips_prefetch_cookie): New function.
658 * config/mips/mips.md (prefetch): Turn into a define_insn. Use a
659 mode of QImode for the address_operand. Use mips_prefetch_cookie
660 to calculate the first "pref" operand.
661 (prefetch_[sd]i, prefetch_[sd]i_address): Delete.
662 (prefetch_indexed_[sd]i): Redefine using :P. Use mips_prefetch_cookie.
4767c570 663
a657c98a
RE
6642004-08-24 Richard Earnshaw <rearnsha@arm.com>
665
666 * arm.md: Include predicates.md.
667 * predicates.md: New file.
668 * arm.c (s_register_operand, arm_hard_register_operand)
669 (arm_general_register_operand, f_register_operand, reg_or_int_operand)
670 (arm_immediate_operand, arm_neg_immediate_operand)
671 (arm_not_immediate_operand, arm_rhs_operand, arm_rhsm_operand)
672 (arm_add_operand, arm_addimm_operand, arm_not_operand)
673 (offsettable_memory_operand, alignable_memory_operand)
674 (arm_reload_memory_operand, arm_float_rhs_operand)
675 (arm_float_add_operand, vfp_compare_operand, arm_float_compare_operand)
676 (index_operand, shiftable_operator, logical_binary_operator)
677 (shift_operator, equality_operator, arm_comparison_operator)
678 (minmax_operator, cc_register, dominant_cc_register)
679 (arm_extendqisi_mem_op, power_of_two_operand, nonimmediate_di_operand)
680 (di_operand, nonimmediate_soft_df_operand, soft_df_operand)
681 (const_shift_operand, load_multiple_operation)
682 (store_multiple_operation, multi_register_push, thumb_cmp_operand)
683 (thumb_cmpneg_operand, thumb_cbrch_target_operand)
684 (cirrus_register_operand, cirrus_fp_register)
685 (cirrus_shift_const): Delete, replaced with equivalents in
686 predicates.md.
687 (shift_op): Handle ROTATE.
688 * arm-protos.h: Delete declarations for above.
689 * arm.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
690 * t-arm (MD_INCLUDES): Add predicates.md.
691 (s-preds): Depends on MD_INCLUDES.
692
886ce862
RS
6932004-08-24 Richard Sandiford <rsandifo@redhat.com>
694
695 * config/mips/mips.c (mips_gen_conditional_trap): Fix mode.
696 * config/mips/mips.md (*conditional_trap[sd]i): Name previously unnamed
697 patterns. Redefine using :GPR. Give the match_operator a mode.
698 Use '%2' rather than '%z2' for operand 2.
699
be659abd
RS
7002004-08-24 Richard Sandiford <rsandifo@redhat.com>
701
702 * config/mips/mips.md (load_call[sd]i): Redefine using :P. Add mode
703 attribute.
704
92dcb882
RS
7052004-08-24 Richard Sandiford <rsandifo@redhat.com>
706
707 * config/mips/mips.md (indirect_jump): Use force_reg. Adjust names
708 of internal patterns.
709 (indirect_jump[sd]i): Renamed from indirect_jump_internal[12].
710 Redefine using :P.
711 (tablejump): Use expand_binop to calculate address. Adjust names
712 of internal patterns.
713 (tablejump[sd]i): Renamed from tablejump_internal[12].
714 Redefine using :P.
715 (tablejump_mips16[12]): Delete.
716
a0160289
RS
7172004-08-24 Richard Sandiford <rsandifo@redhat.com>
718
719 * config/mips/mips.md (*seq_[sd]i, *seq_[sd]i_mips16, *sne_[sd]i)
720 (*sgt_[sd]i, *sgt_[sd]i_mips16, *sge_[sd]i, *slt_[sd]i)
721 (*slt_[sd]i_mips16, *sle_[sd]i, *sle_[sd]i_mips16, *sgtu_[sd]i)
722 (*sgtu_[sd]i_mips16, *sge_[sd]i, *sltu_[sd]i, *sltu_[sd]i_mips16)
723 (*sleu_[sd]i, *sleu_[sd]i_mips16): Redefine using :GPR.
724
2c4402f4
RS
7252004-08-24 Richard Sandiford <rsandifo@redhat.com>
726
727 * config/mips/mips.md (cmpsi, cmpdi): Redefine using :GPR.
728 (*branch_zero[sd]i): Renamed from branch_zero{,_di}. Redefine
729 using :GPR.
730 (*branch_zero[sd]i_inverted): Likewise branch_zero{,_di}_inverted.
731 (*branch_equality[sd]i): Likewise branch_equality{,_di}.
732 (*branch_equality[sd]i_inverted): Likewise
733 branch_equality{,_di}_inverted.
734 (*branch_equality[sd]i_mips16): Name formerly unnamed patterns.
735 Redefine using :GPR.
736
b5c2f1d1
ZW
7372004-08-24 Zack Weinberg <zack@codesourcery.com>
738
739 * rtl.def: Reorganize, placing all codes used only in machine
740 descriptions at the end.
741
9e995780
ZW
742 * rtl.def: Wrap MD-only codes in #ifdef GENERATOR_FILE.
743 * gengtype.c: Don't include rtl.h. Define enum rtx_code and
744 rtx_name, rtx_format arrays by direct reference to rtl.def,
745 first undefining GENERATOR_FILE. Define enum insn_note and
746 note_insn_name array by direct reference to insn-notes.def.
747 (adjust_field_rtx_def): Remove local definition of rtx_name.
748 Use symbolic names for insn notes.
749 * Makefile.in (gengtype.o): Update dependencies.
750
076c7ab8
ZW
7512004-08-24 Zack Weinberg <zack@codesourcery.com>
752
753 * basic-block.h (struct basic_block_def): Reorder fields to
754 eliminate interior padding. Remove 'partition' field.
755 (BB_DISABLE_SCHEDULE, BB_HOT_PARTITION, BB_COLD_PARTITION)
756 (BB_UNPARTITIONED, BB_PARTITION, BB_SET_PARTITION)
757 (BB_COPY_PARTITION): New macros.
758 * bb-reorder.c, cfgcleanup.c, cfglayout.c, cfgrtl.c, ifcvt.c
759 Replace all references to the 'partition' field of a basic
760 block with new macros.
761
762 * insn-notes.def: Delete NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
763 * final.c (final_scan_insn): Don't handle it.
764 * modulo-sched.c: Set BB_DISABLE_SCHEDULE flag on g->bb
765 instead of emitting a NOTE_INSN_DISABLE_SCHED_OF_BLOCK note.
766 * sched-rgn.c (sched_is_disabled_for_current_region_p):
767 Look for a BB_DISABLE_SCHEDULE flag on the block instead of a note.
768
8c1d6d62
NS
7692004-08-24 Nathan Sidwell <nathan@codesourcery.com>
770
771 * c-decl.c (c_init_decl_processing): Adjust
772 build_common_tree_nodes call.
773 * expmed.c (const_mult_add_overflow_p): Use
774 build_distinct_type_copy.
775 * stor-layout.c (early_type_list): Remove.
776 (layout_type): Don't append to early_type_list.
777 (initialize_sizetypes): Add signed_p argument.
778 (set_sizetype): Overwrite the stub type nodes directly.
779 * tree.c (copy_node_stat): Clear a type's value cache here ...
780 (build_distinct_type): ... not here.
781 (build_common_tree_nodes): Add signed_sizetype argument. Adjust.
782 * tree.h (initialize_sizetypes): Add signed_p argument.
783 (build_common_tree_nodes): Likewise.
784
785 * objc/objc-act.c (get_static_reference): Use
786 build_variant_type_copy.
787 (get_protocol_reference): Likewise.
788 * objc/objc-act.h (TREE_STATIC_TEMPLATE): Use TREE_PRIVATE.
789
97dc04b3 7902004-08-24 Richard Henderson <rth@redhat.com>
076c7ab8 791 Andrew Pinski <apinski@apple.com>
97dc04b3
RH
792
793 * gimplify.c (gimplify_array_ref_to_plus): Delete.
794 (gimplify_addr_expr): Do not call gimplify_array_ref_to_plus
795 for ARRAY_REF.
796
797 * config/rs6000/rs6000.c (altivec_expand_builtin): Go passed
798 ARRAY_REF also to get to the STRING_CST.
799
72cdc543
PB
8002004-08-24 Paul Brook <paul@codesourcery.com>
801
802 * config/arm/arm.c (arm_override_options): Update error message.
803 * config/arm/arm.h (TARGET_HARD_FLOAT): Rename to
804 TARGET_HARD_FLOAT_ABI.
805 (TARGET_SOFT_FLOAT_ABI): Rename to TARGET_HARD_FLOAT.
806 (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Use TARGET_HARD_FLOAT_ABI.
807
bd5ca07e
NC
8082004-08-24 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
809
810 PR target/17093
811 * config/m32r.md (movsi_sda): Add SI mode specification to
812 UNSPEC.
813
8142004-08-24 Nick Clifton <nickc@redhat.com>
815
816 * config/m32r/m32r.h (PREDICATE_CODES): Remove duplicate definition
817 of seth_add3_operand.
818
d46cd2be
NS
8192004-08-24 Nathan Sidwell <nathan@codesourcery.com>
820
821 * Makefile.in (PROTO_OBJS): Add errors.o.
822 * protoize.c (fancy_abort): Remove.
823 * mips-tfile.c (fancy_abort): Add parameters.
824
748fa294
JW
8252004-08-24 Jonathan Wakely <redi@gcc.gnu.org>
826
827 * doc/trouble.texi (C++ misunderstandings): Fix example code.
828
4505f099
AT
8292004-08-24 Andreas Tobler <a.tobler@schweiz.ch>
830
831 * Makefile.in (HOOKS_H): Add dependency on MACHMODE_H.
832 (host-default.o): Add dependency on HOOKS_H.
833 * config/x-linux: Likewise.
834 * config/x-solaris: Likewise.
835 * config/i386/x-mingw32: Likewise.
836 * config/rs6000/x-darwin: Likewise.
837
a2fe1975
JW
8382004-08-23 James E Wilson <wilson@specifixinc.com>
839
840 * reg-notes.def (REG_NOTE): In comment, change DEF_INSN_NOTE to
841 DEF_REG_NOTE.
842
c3f216e2
MM
8432004-08-23 Mark Mitchell <mark@codesourcery.com>
844
845 PR c/14492
846 * dwarf2out.c (loc_descriptor_from_tree): Robustify.
847
2e6ae27f
DN
8482004-08-23 Diego Novillo <dnovillo@redhat.com>
849
850 * cfg.c (check_bb_profile): Fix typos.
851 * function.c (assign_parm_is_stack_parm): Likewise.
852 * tree-nested.c: Likewise.
853
d685c974
DJ
8542004-08-23 Daniel Jacobowitz <dan@debian.org>
855
856 * ggc-zone.c (struc alloc_chunk): Rearrange flag bits and SIZE.
857 Remove TYPECODE.
858 (ggc_alloc_zone_1): Mark TYPE as unused. Don't save it in the chunk.
859
f676971a
EC
8602004-08-23 Eric Christopher <echristo@redhat.com>
861
862 * defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro.
863 * system.h (VECTOR_MODE_SUPPORTED_P): Poison.
864 * target-def.h (TARGET_VECTOR_MODE_SUPPORTED_P): Define.
865 * target.h: Ditto.
866 * hooks.h: Include machmode.h.
867 (hook_bool_mode_false): Declare.
868 * hooks.c (hook_bool_mode_false): Define.
869 * expr.c (vector_mode_valid_p): Use targetm.vector_mode_supported_p.
870 * stor-layout.c (layout_type): Ditto.
871 * config/alpha/alpha.c (alpha_vector_mode_supported_p): New function.
872 Define to target macro.
873 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): Delete.
874 * config/arm/arm.c: Ditto. Use.
875 * config/arm/arm.h: Ditto.
876 * config/arm/arm-protos.h: Ditto.
877 * config/i386/i386.c: Ditto.
878 * config/i386/i386.h: Ditto.
879 * config/rs6000/rs6000.c: Ditto.
880 * config/rs6000/rs6000.h: Ditto.
881 * config/sh/sh.c: Ditto.
882 * config/sh/sh.h: Ditto.
883 * config/sh/sh-protos.h: Ditto.
884 * config/sh/sh.md: Use.
885 * doc/tm.texi: Move documentation for VECTOR_MODE_SUPPORTED_P
886 to TARGET_VECTOR_MODE_SUPPORTED_P.
887
8dd16ecc
NS
8882004-08-23 Nathan Sidwell <nathan@codesourcery.com>
889
b3d1f5b4
NS
890 * Makefile.in (BUILD_ERRORS): Set to build-errors.
891 (errors.o): New target for host.
892 (build-errors.o): New target for build.
893 (genobjs): Replace errors.o with build-errors.
894 (gengenrtl$(buildexeext)): Add $(BUILD_ERRORS).
895 (GCOV_OBJS, GCOV_DUMP_OBJS): Add errors.o.
896 (fix-headers$(build_exeext)): Add $(BUILD_ERRORS).
897 (fix-header.o): Add errors.h
898 * collect2.c (fancy_abort): Add parameters.
899 * collect2.h (fancy_abort): Don't declare.
900 * errors.h (fancy_abort): Don't declare.
901 * errors.c: Include either bconfig.h or config.h.
902 (fancy_abort): Trim filename.
903 * fix-header.c (v_fatal, fatal): Remove.
904 (progname): Remove definition.
905 (main): Set progname here.
906 * gcc.c (fancy_abort): Add parameters.
907 * gcc.h (fancy_abort): Remove declaration.
908 * gcov.c (fancy_abort): Remove.
909 * rtl.h (fancy_abort): Don't declare.
910 (abort): Don't define.
911 * tree.h (fancy_abort): Don't declare.
912 (abort): Don't define.
913 * system.h (fancy_abort): Declare.
914 (abort): Define to fancy_abort.
915 * fixinc/Makefile.in (ALLOBJ): Add ../build-errors.o
916
be88a628
NS
917 * tree.h (enum size_type_kind): Remove USIZETYPE, UBITSIZETYPE.
918 (usize_type, ubitsizetype): Remove.
919 * stor-layout.c (set_sizetype): Don't initialize usizetype,
920 ubitsizetype.
921 * fold-const.c (size_diffop): TYPE can never be ubitsizetype.
922
8dd16ecc
NS
923 * tree.h (build_distinct_type_copy): New.
924 (build_type_copy): ... here. Rename to ...
925 (build_variant_type_copy): ... here.
926 * tree.c (build_qualified_type): Rename build_type_copy call.
927 (build_distinct_type_copy): New, broken out of ...
928 (build_type_copy): ... here. Rename to ...
929 (build_variant_type_copy): ... here. Use
930 build_distinct_type_copy.
931 (build_common_tree_nodes_2): Rename build_type_copy call.
932 * c-common.c (c_common_nodes_and_builtins): Rename build_type_copy
933 call.
934 (handle_packed_attribute, handle_unused_attribute,
935 handle_transparanet_union_attribute, handle_aligned_attribute,
936 handle_deprecated_attribute): Likewise.
937 * c-decl.c (clone_underlying_type, store_parm_decls_oldstyle):
938 Likewise.
939 * config/arm/arm.c (arm_handle_isr_attribyte): Likewise.
940 * config/rs6000/rs6000.c (rs6000_init_builtins): Use
941 build_distinct_type_copy.
942
e8bf0f3b
RS
9432004-08-23 Richard Sandiford <rsandifo@redhat.com>
944
945 * config/mips/mips.md (mfhilo_[sd]i): Redefine using :GPR. Add mode
946 attribute.
947
4d06ed0a
RS
9482004-08-23 Richard Sandiford <rsandifo@redhat.com>
949
950 * config/mips/mips.md (length): Don't use mips_fetch_insns for indexed
951 loads and stores.
952 (*lwxc1_<mode>, *ldxc1_<mode>, *swxc1_<mode>, *sdxc1_<mode>): Name
953 formerly unnamed patterns. Redefine using :P for the address. Remove
954 explicit length attributes.
955
a3631d97
ZD
9562004-08-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
957
958 * tree-ssa-loop-im.c (fem_single_reachable_address, for_each_memref):
959 New functions.
960 (single_reachable_address): Use them.
961 (schedule_sm): Add dump.
962 (is_call_clobbered_ref): New function.
963 (determine_lsm_reg): Check whether the reference is call clobbered.
964 Only work for gimple_reg_type values.
965
b1f58428
RS
9662004-08-23 Richard Sandiford <rsandifo@redhat.com>
967
968 * config/mips/mips.md (*mov<mode>_ra): Name previously unnamed MIPS16
969 $31 store insns. Redefine using :GPR.
970
237b301e
RS
9712004-08-23 Richard Sandiford <rsandifo@redhat.com>
972
973 * config/mips/mips.md (P): New mode macro.
974 (*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i)
975 (*load_got[sd]i, *low[sd]i, *low[sd]i_mips16): Redefine using :P.
976 Add mode attributes.
977
c9081a92
RS
9782004-08-23 Richard Sandiford <rsandifo@redhat.com>
979
980 * config/mips/mips.md (UNSPEC_[LS][WD][LR]): Delete in favor of...
981 (UNSPEC_{LOAD,STORE}_{LEFT,RIGHT}): ...these new constants. Shuffle
982 later constants to cover the gap.
983 (load, store): New mode attributes.
984 (mov_l[wd]l, mov_l[wd]r, mov_s[wd]l, mov_s[wd]r): Redefine using :GPR.
985 Use new unspec constants.
986
3d1f285d
RS
9872004-08-23 Richard Sandiford <rsandifo@redhat.com>
988
989 * config/mips/mips.md (one_cmpl[sd]i2): Redefine using :GPR.
990 (and[sd]3, ior[sd]i3, xor[sd]i3): Likewise. Change 32-bit patterns
991 to use register_operand rather than uns_arith_operand as the predicate
992 for operand 1. Remove redundant MIPS16 force_reg() for operand 1.
993 (*and[sd]i3, *ior[sd]i3, *xor[sd]i3): Name formerly unnamed patterns.
994 Redefine using :GPR. Make same predicate change here. Extend the
995 commutativity of operands 1 and 2 from the SImode version to the
996 DImode one.
997 (*and[sd]i3_mips16, *ior[sd]i3_mips16, *xor[sd]i3_mips16): Likewise,
998 but with no predicate changes.
999 (*nor[sd]i3): Redefine using :GPR.
1000
c0e1b12f
ZD
10012004-08-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1002
1003 * tree-ssa-operands.c (get_call_expr_operands): Add VUSE operands for
1004 noreturn functions.
1005
400a9325
RS
10062004-08-23 Richard Sandiford <rsandifo@redhat.com>
1007
1008 * config/mips/mips.h (ISA_HAS_DCLZ_DCLO): Delete.
1009 * config/mips/mips.md (abs[sd]i2): Redefine using :GPR. Only use
1010 branch-likely insns for absdi2 if GENERATE_BRANCHLIKELY. Use "%."
1011 rather than "%z2" (with a fake const0_rtx for operand 2).
1012 (ffs[sd]i2): Redefine using :GPR.
1013 (clz[sd]i2): Likewise. Use ISA_HAS_CLO_CLZ for the 64-bit case.
1014
2222da3a
RS
10152004-08-23 Richard Sandiford <rsandifo@redhat.com>
1016
1017 * config/mips/mips.md ({,u}divmod[sd]i4): Redefine using :GPR.
1018
15ac4ccf
RS
10192004-08-23 Richard Sandiford <rsandifo@redhat.com>
1020
1021 * config/mips/mips.md (any_extend): New code macro.
1022 (u, su): New code attributes.
1023 ({,u}mulsidi3, {,u}mulsidi3_32bit_internal, {,u}mulsidi3_32bit_r4000)
1024 ({u,s}mulsi3_highpart, {u,s}mulsi3_highpart_internal)
1025 ({u,s}mulsi3_highpart_mulhi_internal, {s,u}muldi3_highpart)
1026 (*{s,u}mul_acc_di): Redefine using any_extend.
1027 (*{,u}muls_di, *{s,u}msac_di): Likewise. Change names of patterns
1028 to reflect real insn names.
1029 (*mulsidi3_64bit, *mulsidi3_64bit_parts): Replace use of match_operator
1030 with an any_extend template.
1031 ({u,s}mulsi3_highpart_neg_mulhi_internal): Redefine using any_extend.
1032 Add '*' to name.
1033
d46c971d
RS
10342004-08-23 Richard Sandiford <rsandifo@redhat.com>
1035
1036 * config/mips/mips.h (GENERATE_MULT3_SI): Check TARGET_MAD.
1037 * config/mips/mips.md (mul[sd]i3, mul[sd]i3_internal)
1038 (mul[sd]i3_r4000): Redefine using :GPR.
1039 (mulsi3_mult3): Don't check TARGET_MAD separately.
1040 (muldi3_mult3): Moved after mulsi_mult3.
1041
5811cb27
RS
10422004-08-23 Richard Sandiford <rsandifo@redhat.com>
1043
1044 * config.gcc (mips-*-*): Remove definitions of MASK_GAS and
1045 OBJECT_FORMAT_ELF. Set MASK_SPLIT_ADDR by default if using GNU ld.
1046 * config/mips/mips.h (MASK_GAS): Delete. Shuffle later masks down.
1047 (TARGET_GAS, TARGET_MIPS_AS): Delete.
1048 (TARGET_GPWORD): Define to true for n32 on IRIX.
1049 (TARGET_SWITCHES): Remove -mmips-as. Turn -mgas into a no-op.
1050 (MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
1051 (GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
1052 (ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
1053 (MDEBUG_ASM_SPEC): Delete, folding into...
1054 (SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
1055 (ASM_SPEC): Inline old GAS_ASM_SPEC. Use GNU names for ABI switches.
1056 (EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
1057 subtarget_mips_as_asm_spec, mdebug_asm_spec. Use MULTILIB_ABI_DEFAULT
1058 to define asm_abi_default_spec.
1059 (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
1060 (TARGET_ASM_SELECT_SECTION): Delete.
1061 * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
1062 for non-mips16 code, removing previous workaround for SGI assemblers.
1063 (TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
1064 (TARGET_ASM_ALIGNED_DI_OP): Define this instead.
1065 (override_options): Remove !TARGET_GAS and !have_named_sections code.
1066 (print_operand): Fold TARGET_GAS conditionals into asm strings.
1067 (mips_output_filename): Remove !TARGET_GAS code. Replace use of
1068 ASM_STABS_OP and ASM_STABN_OP.
1069 (mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
1070 (mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
1071 (mips_output_function_prologue): Remove !TARGET_GAS code.
1072 (mips_select_rtx_section): Remove !have_named_sections code.
1073 (mips_select_section): Delete.
1074 * config/mips/mips.md (trap): Remove !TARGET_GAS check.
1075 * config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
1076 * config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
1077 (PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
1078 * config/mips/vxworks.h (ASM_SPEC): As for mips.h.
1079 * config/mips/windiss.h (ASM_SPEC): Likewise.
1080
032e8348
RS
10812004-08-23 Richard Sandiford <rsandifo@redhat.com>
1082
1083 * read-rtl.c (map_value, mapping, macro_group): New structures.
1084 (BELLWETHER_CODE): New macro.
1085 (modes, codes, bellwether_codes): New variables.
1086 (find_mode, uses_mode_macro_p, apply_mode_macro, find_code)
1087 (uses_code_macro_p, apply_code_macro, apply_macro_to_string)
1088 (apply_macro_to_rtx, uses_macro_p, add_condition_to_string)
1089 (add_condition_to_rtx, apply_macro_traverse, add_mapping)
1090 (add_map_value, initialize_macros): New functions.
1091 (def_hash, def_hash_eq_p): Generalize to anything that points to,
1092 or starts with, a char * field.
1093 (find_macro, read_mapping, check_code_macro): New functions.
1094 (read_rtx_1): New, split out from read_rtx. Handle the new
1095 define_{mode,code}_{macro,attr} constructs. Use find_macro
1096 to parse the name of a code or mode. Use BELLWETHER_CODE to
1097 extract the format and to choose a suitable code for rtx_alloc.
1098 Modify recursive invocations to use read_rtx_1.
1099 (read_rtx): Call initialize_macros. Apply code and mode macros
1100 to the rtx returned by read_rtx_1. Cache everything after the
1101 first macro expansion for subsequent read_rtx calls.
1102 * doc/md.texi: Document new .md constructs.
1103 * config/mips/mips.md (GPR): New mode macro.
1104 (d, si8_di5): New mode attributes.
1105 (any_cond): New code macro.
1106 (add[sd]i3): Redefine using :GPR.
1107 (*add[sd]i3): Likewise, renaming from add[sd]i3_internal.
1108 (*add[sd]i3_sp[12], *add<mode>3_mips16): Redefine using :GPR, naming
1109 previously unnamed MIPS16 patterns.
1110 (*addsi3_extended): Renamed from addsi3_internal_2. Fix overly long
1111 lines. Don't match (plus (const_int 0) ...).
1112 (*addsi3_extended_mips16): Name previously unnamed MIPS16 pattern.
1113 Use a define_split to generate the addition.
1114 (sub[sd]i3): Redefine using :GPR. Turn subsi3 into a define_insn.
1115 (subsi3_internal): Delete.
1116 (*subsi3_extended): Renamed from subsi3_internal_2.
1117 (bunordered, bordered, bunlt, bunge, buneq, bltgt, bunle, bungt)
1118 (beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Redefine
1119 using an any_cond template.
1120
ecce923e
RS
11212004-08-23 Richard Sandiford <rsandifo@redhat.com>
1122
1123 * read-rtl.c (read_rtx): Tidy use of format_ptr.
1124
a269d6c8
RS
11252004-08-23 Richard Sandiford <rsandifo@redhat.com>
1126
1127 * read-rtl.c (string_obstack): New file-scope variable.
1128 (read_string, read_quoted_string, read_braced_string)
1129 (read_escape): Remove obstack parameter and use string_obstack instead.
1130 (read_rtx): Remove function-local rtl_obstack and initialize
1131 string_obstack instead. Update call to read_string.
1132
9fc3b39a
AP
11332004-08-22 Andrew Pinski <apinski@apple.com>
1134
1135 PR c/15262
1136 * c-typeck.c (build_unary_op): Use &a.b if the foldded lowered
1137 expression is not constant.
1138 (c_finish_return): Do not go through INDIRECT_REF when looking
1139 for the inner expression of an ADDR_EXPR for warning about.
1140
cea49550
RH
11412004-08-22 Richard Henderson <rth@redhat.com>
1142
1143 PR 17075
1144 * cfgexpand.c (expand_gimple_tailcall): Detect when we can both
1145 create new blocks and fall through.
1146 (expand_gimple_basic_block): Update to match.
1147
0b540f12
UW
11482004-08-22 Ulrich Weigand <uweigand@de.ibm.com>
1149
1150 * reload.c (find_reloads_address): Make return value tri-state.
1151 Return -1 if LEGITIMIZE_RELOAD_ADDRESS succeeded.
1152 (find_reloads): Assume that reloaded addresses match 'o' or
1153 EXTRA_MEMORY_CONSTRAINT constraints only if find_reloads_address
1154 returned 1 (not -1). Omit optional reloads for address operands
1155 only if find_reloads_address returned 1 (not -1).
1156
1157 * config/s390/s390.c (legitimize_reload_address): New function.
1158 * config/s390/s390-protos.h (legitimize_reload_address): Declare.
1159 * config/s390/s390.h (LEGITIMIZE_RELOAD_ADDRESS): Define. Call
1160 legitimize_reload_address.
1161
7f5e6307
RH
11622004-08-22 Richard Hendersion <rth@redhat.com>
1163
1164 * tree.h (SAVE_EXPR_RESOLVED_P): New.
1165 * gimplify.c (gimplify_save_expr): Use it.
1166 * expr.c (expand_expr_real_1): Likewise. Also set DECL_IGNORED_P
1167 on the temporary variable.
1168
efd610a6
AP
11692004-08-22 Andrew Pinski <pinskia@physics.uc.edu>
1170
1171 * fold-const.c (rtl_expr_nonnegative_p): Delete.
1172 * tree.h (rtl_expr_nonnegative_p): Remove.
1173
324a6c95
SB
11742004-08-22 Steven Bosscher <stevenb@suse.de>
1175
1176 * config/i386/ppro.md (ppro_complex_insn): Add missing check
1177 for cpu==pentiumpro.
1178
1179 * combine.c (struct reg_stat): Fix comment typo.
1180
41db8425
JM
11812004-08-22 Joseph S. Myers <jsm@polyomino.org.uk>
1182
1183 * c-tree.h (c_sizeof_nowarn): Remove.
1184
00325bce
JM
11852004-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
1186
1187 * c-decl.c (set_array_declarator_type): Rename to
1188 set_array_declarator_inner.
1189 (build_c_parm, build_attrs_declarator, build_function_declarator):
1190 New functions.
1191 (make_pointer_declarator): Call build_attrs_declarator.
1192 * c-tree.h (set_array_declarator_type): Rename to
1193 set_array_declarator_inner.
1194 (build_c_parm, build_attrs_declarator, build_function_declarator):
1195 New prototypes.
1196 * c-parse.in (after_type_declarator,
1197 parm_declarator_starttypename, parm_declarator_nostarttypename,
1198 notype_declarator, absdcl_maybe_attribute, direct_absdcl1, parm,
1199 firstparm): Use these functions
1200
60919bce
JM
12012004-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
1202
1203 * c-decl.c (build_array_declarator, set_array_declarator_type,
1204 start_decl, grokdeclarator, grokparms): Change boolean parameters
1205 to type bool.
1206 * c-tree.h (build_array_declarator, set_array_declarator_type,
1207 start_decl): Update prototypes.
1208 * c-decl.c, c-parse.in: All callers changed.
1209
bdfd0ed4
MS
12102004-08-21 Mike Stump <mrs@apple.com>
1211
1212 * config/rs6000/darwin.h (SUBTARGET_OPTIONS): Move from here, to...
1213 (darwin_fix_and_continue): Likewise.
1214 (darwin_fix_and_continue_switch): Likewise.
1215 * config/darwin.h (SUBTARGET_OPTIONS): ...here, to fix -mone-byte-bool.
1216 (darwin_fix_and_continue): Likewise.
1217 (darwin_fix_and_continue_switch): Likewise.
1218
35da8b56 12192004-08-21 Danny Smith <dannysmith@users.sourceforge.net>
23d34220
DS
1220
1221 PR c++/16030
1222 * config/i386/winnt/c (gen_stdcall_suffix, gen_fastcall_suffix):
1223 Remove, merging into ...
1224 (gen_stdcall_or_fastcall_suffix): New function, returning tree
1225 rather than const char*, and accepting additional parameter.
1226 Don't add suffix to '*'-prefixed symbols or variadic functions.
1227 (i386_pe_encode_section_info): Adjust for call to new function.
1228 Call change_decl_assembler_name.
1229
828a4fe4
MS
12302004-08-20 Mike Stump <mrs@apple.com>
1231
1232 * config/darwin.c (machopic_indirect_data_reference): Mark
1233 stubs as defined.
1234 * config/386/386.c (darwin_local_data_pic): Add.
1235 (legitimate_constant_p): Reorder so that PLUS handling runs
1236 before darwin_local_data_pic to match the ordering in
1237 legitimate_pic_address_disp_p and so that MINUS runs after
1238 darwin_local_data_pic as otherwise the darwin_local_data_pic
1239 logic can be skipped, which would be very bad.
1240 (legitimate_pic_address_disp_p): Move from from here to
1241 darwin_local_data_pic so it can be reused.
1242
85b776df
AM
12432004-08-21 Alan Modra <amodra@bigpond.net.au>
1244
1245 * config/rs6000/linux64.h (DOT_SYMBOLS): Define.
1246 (CRT_CALL_STATIC_FUNCTION): Define !DOT_SYMBOLS version.
1247 (ASM_DECLARE_FUNCTION_SIZE): Modify for !DOT_SYMBOLS.
1248 (ASM_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Likewise.
1249 (RS6000_ABI_NAME): Define as "linux".
1250 (SUBSUBTARGET_OVERRIDE_OPTIONS): Set dot_symbols.
1251 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Select
1252 ABI_AIX when rs6000_abi_name is "linux" and TARGET_64BIT.
1253 * config/rs6000/rs6000-protos.h (rs6000_output_function_entry): Decl.
1254 * config/rs6000/rs6000.c (dot_symbols): New global var.
1255 (rs6000_output_function_entry): New function, modified for
1256 !DOT_SYMBOLS..
1257 (print_operand <case 'z'>): ..extracted from here.
1258 (rs6000_assemble_visibility): Modify for !DOT_SYMBOLS.
1259 (rs6000_output_function_epilogue): Likewise.
1260 (rs6000_elf_declare_function_name): Likewise.
1261 * config/rs6000/rs6000.h (DOT_SYMBOLS): Define.
1262 (ASM_WEAKEN_DECL, ASM_OUTPUT_DEF_FROM_DECLS): Modify for !DOT_SYMBOLS.
1263 * configure.ac (HAVE_LD_NO_DOT_SYMS): Add new AC_DEFINE.
1264 * configure: Regenerate.
1265 * config.in: Regenerate.
1266
14d3dc34
MM
12672004-08-20 Mark Mitchell <mark@codesourcery.com>
1268
0e544c37
MM
1269 * reload.c (find_reloads_address): Fix thinko in previous change.
1270
14d3dc34
MM
1271 * reload.c (find_reloads_address): Reload the sum of a LO_SUM and
1272 a CONST_INT.
1273
f3b2657c
JJ
12742004-08-20 Jakub Jelinek <jakub@redhat.com>
1275
1276 PR rtl-optimization/17099
1277 * combine.c (force_to_mode): Check if inner_mask has any bits set
1278 outside of GET_MODE (x) instead of op_mode.
1279
d2294baa
MM
12802004-08-20 Mark Mitchell <mark@codesourcery.com>
1281
1282 * config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile
1283 fragment.
1284 * config/arm/bpabi.h (RENAME_LIBRARY_SET): Fix typo.
1285 (SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=3 to the assembler.
1286 * config/arm/symbian.h (SUBTARGET_CPU_DEFAULT): Assume ARMV5
1287 architecture.
1288 (SUBTARGET_ASM_FLOAT_SPEC): Default to -mfpu=vfp for hard-float
1289 configurations.
1290 * config/arm/t-symbian: New file.
1291
753d0efa
AP
12922004-08-20 Andrew Pinski <apinski@apple.com>
1293
1294 * regrename.c (kill_value_regno): ANSIfy.
1295
627b6fe2
DJ
12962004-08-20 Dale Johannesen <dalej@apple.com>
1297
324a6c95 1298 * config/rs6000/rs6000.c (rs6000_rtx_costs): Improve DIV/MOD.
627b6fe2 1299
d64d5e80
DJ
13002004-08-20 Daniel Jacobowitz <dan@debian.org>
1301
1302 * regrename.c (kill_value_one_regno): Renamed from kill_value_regno.
1303 (kill_value_regno): New function, derived from kill_value.
1304 (kill_value): Update.
1305 (copyprop_hardreg_forward_1): Update call to kill_value_regno.
1306
af75a7ea 13072004-08-20 Daniel Berlin <dberlin@dberlin.org>
f676971a 1308
af75a7ea
DB
1309 Fix PR tree-optimization/17111
1310 * tree-ssa-pre.c (create_value_expr_from): Don't change the types
1311 of non-value_handles.
1312 (bitmap_set_contains): All constants are in every set.
1313
0a936b12
NS
13142004-08-20 Nathan Sidwell <nathan@codesourcery.com>
1315
1316 * fold-const.c (round_up, round_down): Use build_int_cst.
1317 Optimize common case.
1318
774acadf
ZW
13192004-08-20 Zack Weinberg <zack@codesourcery.com>
1320 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1321
324a6c95 1322 * config/pa/pa-protos.h (readonly_data, one_only_readonly_data_section,
774acadf
ZW
1323 one_only_data_section): Rename to som_readonly_data_section,
1324 som_one_only_readonly_data_section and som_one_only_data_section.
324a6c95 1325 * config/pa/pa.c (ONE_ONLY_TEXT_SECTION_ASM_OP,
0a936b12
NS
1326 NEW_TEXT_SECTION_ASM_OP, DEFAULT_TEXT_SECTION_ASM_OP): Delete
1327 conditional defines.
774acadf
ZW
1328 (som_text_section_asm_op): Replace ONE_ONLY_TEXT_SECTION_ASM_OP,
1329 NEW_TEXT_SECTION_ASM_OP and DEFAULT_TEXT_SECTION_ASM_OP with actual
1330 string values.
1331 (pa_select_section): Use renamed section functions.
1332 * config/pa/pa.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
324a6c95 1333 SOM_READONLY_DATA_SECTION_FUNCTION,
774acadf 1334 SOM_ONE_ONLY_READONLY_DATA_SECTION_FUNCTION,
324a6c95
SB
1335 SOM_ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION):
1336 Define here ...
1337 * config/pa/som.h: ... not here.
1338 (DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP,
774acadf
ZW
1339 ONE_ONLY_TEXT_SECTION_ASM_OP, READONLY_DATA_ASM_OP,
1340 ONE_ONLY_READONLY_DATA_SECTION_ASM_OP,
324a6c95
SB
1341 ONE_ONLY_DATA_SECTION_ASM_OP): Delete.
1342 (READONLY_DATA_SECTION): Use som_readonly_data_section.
774acadf 1343
3224bead
NS
13442004-08-20 Nathan Sidwell <nathan@codesourcery.com>
1345
fabead06
NS
1346 * fold-const.c (int_const_binop): Don't generate non-overflowing
1347 size-types specially.
1348 (fold_convert_const): Likewise.
1349
3224bead
NS
1350 * stor-layout.c (initialize_sizetypes): Set SIZETYPE earlier,
1351 clear cache on copied sizetype.
1352
fb38008e
BE
13532004-08-20 Ben Elliston <bje@au.ibm.com>
1354
1355 * configure.ac: Don't escape apostrophe in --enable-coverage help.
1356 * configure: Regenerate.
1357
a9024779
DS
13582004-08-20 Danny Smith <dannysmith@users.sourceforge.net>
1359
1360 PR 5620
1361 * gcc.c (struct stat input_stat): Don't define if
1362 HOST_LACKS_INODE_NUMBERS
1363 (do_spec_1): If HOST_LACKS_INODE_NUMBERS, use lrealpath rather
1364 than stat to determine if temp file is same as input file.
1365 * doc/hostconfig.texi: Document HOST_LACKS_INODE_NUMBERS.
1366 * config/i386/xm-mingw32.h: Define HOST_LACKS_INODE_NUMBERS
1367
82563d35
RS
13682004-08-20 Richard Sandiford <rsandifo@redhat.com>
1369
1370 * configure.ac (mips*-*-*): Print an error if not using GAS.
1371 * configure: Regenerated.
1372 * doc/install.texi: Remove irix5 bullet from --with-gnu-as. Remove
1373 comments about buggy MIPSpro assemblers.
1374 * config.gcc (mips-sgi-irix[56]*): Combine stanzas. Include elfos.h
1375 before mips.h and iris.h after it. Use t-iris and t-slibgcc-irix.
1376 Use iris5.h only for IRIX 5 configs. Use iris6.h and t-iris6 for
1377 IRIX 6 configs. Define IRIX_USING_GNU_LD if using GNU ld.
1378 * config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES)
1379 (DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC)
1380 (NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE)
1381 (TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h.
1382 (WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor
1383 of more general IRIX 6 definitions.
1384 (OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL)
1385 (HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions.
1386 (TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION)
1387 (LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC)
1388 (ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
1389 (PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER)
1390 (LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL)
1391 (TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS)
1392 (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS)
1393 (SUBTARGET_EXTRA_SPECS): Delete definitions or undefs.
1394 (LINK_SPEC): Move most of definition to iris.h.
1395 (SUBTARGET_LINK_SPEC): New macro.
1396 (IRIX_STARTFILE_SPEC): Fold into...
1397 (STARTFILE_SPEC): ...here.
1398 (IRIX_ENDFILE_SPEC): Fold into...
1399 (ENDFILE_SPEC): ...here.
1400 * config/mips/iris6.h (TARGET_IRIX5): Remove override.
1401 (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE)
1402 (DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP)
1403 (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME)
1404 (ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h.
1405 (TARGET_OS_CPP_BUILTINS): Likewise. Guard IRIX6-specific bits.
1406 (DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL)
1407 (SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
1408 (PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX)
1409 (ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE)
1410 (FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY)
1411 (POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC)
1412 (SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC)
1413 (BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*)
1414 (EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP)
1415 (DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME)
1416 (ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL)
1417 (ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs.
1418 (TARGET_IRIX6): Define to 1.
1419 (DRIVER_SELF_SPECS): Define.
1420 (DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS.
1421 (SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS.
1422 (SUBTARGET_LINK_SPEC): New macro.
1423 (IRIX_STARTFILE_SPEC): Fold into...
1424 (STARTFILE_SPEC): ...here. Remove !mabi=* case.
1425 (SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros.
1426 (LIB_SPEC, LIBGCC_SPEC): Use them.
1427 (LIB_SPEC): Remove !mabi=* case.
1428 (IRIX_ENDFILE_SPEC): Fold into...
1429 (ENDFILE_SPEC): ...here. Remove !mabi=* case.
1430 * config/mips/mips-protos.h (irix_output_external_libcall): Delete.
1431 * config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete.
1432 (TARGET_IRIX6): New macro.
1433 (ASM_ABI_DEFAULT_SPEC): Remove !ELF definition.
1434 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER)
1435 (LABEL_AFTER_LOC): Delete.
1436 * config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END)
1437 (TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions.
1438 (mips_build_builtin_va_list): Check TARGET_IRIX6.
1439 (override_options): Remove TARGET_SGI_O32_AS-related code.
1440 (irix_output_external_libcall): Make static.
1441 (mips_output_filename): Avoid use of SET_FILE_NUMBER and
1442 LABEL_AFTER_LOC.
1443 (mips_file_start): Tidy guard for ABI sections. Remove use of
1444 ABICALLS_ASM_OP; use .abicalls instead.
1445 (mips_output_aligned_decl_common, mips_declare_object_name)
1446 (mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS.
1447 (mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting
1448 .globl foo .text directives.
1449 (irix_asm_named_section_1, irix_asm_named_section)
1450 (irix_section_align_entry, irix_section_align_htab)
1451 (irix_orig_asm_out_file, irix_section_align_entry_eq)
1452 (irix_section_align_entry_hash, irix_asm_output_align)
1453 (irix_file_start, irix_section_align_1, copy_file_data)
1454 (irix_file_end, irix_section_type_flags): Delete.
1455 * config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section.
1456 Use standard section syntax. Remove protective "jr $31".
1457 (__gcc_fini): Likewise .gcc_fini.
1458 * config/mips/irix-crtn.asm: Adjust sections accordingly.
1459 * config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from
1460 iris5gas.h.
1461 * config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved
1462 from t-irix-gld.
1463 (EXTRA_MULTILIB_PARTS): Define.
1464 * config/mips/t-iris6: Remove bogus comment.
1465 (EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete.
1466 * config/mips/iris5gas.h, config/mips/iris5gld.h,
1467 config/mips/iris6gas.h, config/mips/iris6gld.h,
1468 config/mips/t-iris5-as, config/mips/t-iris5-gas
1469 config/mips/t-irix-gld: Delete.
1470 * config/mips/iris.h: New file.
1471 * config/mips/t-slibgcc-irix: Renamed from t-iris5-6.
1472
c4cdb8e1
RE
14732004-08-20 Richard Earnshaw <rearnsha@arm.com>
1474
1475 * postreload.c (reload_cse_move2add): Allow any condjump, but check
1476 that the implicit set isn't clobbered in the jump insn.
1477
d55ab31d
MM
14782004-08-19 Mark Mitchell <mark@codesourcery.com>
1479
1480 * defaults.h (TARGET_LIBGCC_LIBFUNCS): Remove.
1481 * optabs.c (init_optabs): Don't check it.
1482 * config/arm/bpabi.h (TARGET_LIBGCC_LIBFUNCS): Do not define.
1483 * doc/tm.texi (TARGET_LIBGCC_FUNCS): Remove.
1484
d75f90f1
AK
14852004-08-18 Andreas Krebbel <krebbel1@de.ibm.com>
1486
1487 * config/s390/s390.md (s390_warn_framesize_string)
1488 (s390_warn_dynamic_string, s390_stack_size_string)
1489 (s390_stack_guard_string): New global string variables.
1490 (s390_warn_framesize, s390_warn_dynamicstack_p, s390_stack_size)
1491 (s390_stack_guard): New global variables.
1492 (override_options): Added checks for the new options.
1493 (s390_emit_prologue): Emit stack check and trap code and perform
1494 compile time stack size checking.
f676971a
EC
1495
1496 * config/s390/s390.h (TARGET_OPTIONS): Added new options
d75f90f1
AK
1497 "warn-framesize", "warn-dynamicstack", "stack-size" and
1498 "stack-guard".
1499
1500 * doc/invoke.texi: Added documentation for the new options.
1501
ca29916b
UW
15022004-08-19 Ulrich Weigand <uweigand@de.ibm.com>
1503
1504 * unwind-dw2-fde.c (get_cie_encoding): Cast argument to strlen
1505 to eliminate warning.
1506 (linear_search_fdes): Declare p as unsigned.
1507 (binary_search_mixed_encoding_fdes): Likewise.
1508 * unwind-dw2.c (get_cie_encoding): Cast argument to strlen
1509 to eliminate warning.
1510 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Add missing
1511 type cast.
1512
e1d5ee28
UW
15132004-08-19 Ulrich Weigand <uweigand@de.ibm.com>
1514
1515 * config/s390/s390-protos.h (preferred_la_operand_p): Adapt prototype.
1516 * config/s390/s390.c (preferred_la_operand_p): Accept two operands
1517 instead of one. Check for strictly legitimate address.
1518 * config/s390/s390.md ("*la_31"/"*la_64" peepholes): Adapt call
1519 to preferred_la_operand_p, do not call gen_rtx_PLUS in predicate.
1520
19114537
EC
15212004-08-19 Eric Christopher <echristo@redhat.com>
1522
1523 * langhooks-def.h (LANG_HOOKS_UNSAVE_EXPR_NOW): Remove.
1524 * langhooks.h (unsave_expr_now): Ditto.
1525 * tree.h (unsave_expr_1): Remove prototype.
1526 (lhd_unsave_expr_now): Rename to unsave_expr_now.
1527 * tree-inline.c (unsave_expr_1): Move here
1528 from tree.c. Make static.
1529 (unsave_expr_now): Rename from lhd_unsave_expr_now.
1530 * tree-sra.c: Fix up for rename.
1531 * tree-ssa-copy.c: Ditto.
1532 * tree-eh.c: Ditto.
1533 * tree.c (unsave_expr_1): Move to tree-inline.c.
1534
d5bfecf2
CT
15352004-08-19 Caroline Tice <ctice@apple.com>
1536
324a6c95
SB
1537 * config/i386/cygming.h (switch_to_section): Fix typo (change
1538 in_unlikely_text_section to in_unlikely_executed_text).
19114537 1539
58152808
DB
15402004-08-19 Daniel Berlin <dberlin@dberlin.org>
1541
1542 * vec.h (VEC_lower_bound): New macro.
19114537 1543
ae043003
RS
15442004-08-19 Richard Sandiford <rsandifo@redhat.com>
1545
1546 PR target/16446
1547 * config/mips/mips.c (struct mips_arg_info): Delete num_bytes.
1548 (mips_arg_info): Update accordingly. Remove common treatment of fpr_p;
1549 treat each ABI separately. Deal with n32/n64 complex float arguments.
1550 (function_arg): Add associated complex handling here.
1551
50ed9cea
RH
15522004-08-19 Richard Henderson <rth@redhat.com>
1553
1554 * config/arm/arm.c (arm_gen_load_multiple): Use
1555 adjust_automodify_address. Take base memory and offset instead
1556 of unchanging/struct/scalar bits.
1557 (arm_gen_store_multiple): Likewise.
1558 (arm_gen_movmemqi): Use adjust_automodify_address.
1559 * config/arm/arm-protos.h: Update decls.
1560 * config/arm/arm.md (load_multiple): Update arm_gen_load_multiple call.
1561 (store_multiple): Similarly.
1562
74ae207d
R
15632004-08-19 J"orn Rennecke <joern.rennecke@superh.com>
1564
1565 * regclass.c (globalize_reg): Update call_really_used_regs.
1566
89b0433e
NS
15672004-08-19 Nathan Sidwell <nathan@codesourcery.com>
1568
31ebd7c8
NS
1569 * doc/invoke.texi (integer-share-limit): Document.
1570
89b0433e
NS
1571 * tree.h (TYPE_CACHED_VALUES_P): New.
1572 (TYPE_CACHED_VALUES): New.
1573 (TYPE_ORIG_SIZE_TYPE): Adjust.
1574 * tree.def (INTEGER_CST): Update documentation.
1575 * tree.c: Inlcude params.h.
1576 (build_int_cst): Cache small values.
1577 (build_type_copy): Do not copy the value cache.
1578 * c-common.c (c_common_nodes_and_builtins): Add comment, remove
1579 unneeded zeroing.
1580 * c-typeck.c (build_c_cast): Add comment about OVERFLOW setting.
1581 * expmed.c (const_mult_add_overflow_p): Clear type copy's value
1582 cache.
1583 * fold-const.c (force_fit_type): Copy value when setting
1584 overflows.
1585 (int_const_binop): Likewise.
1586 * stor-layout.c: Include params.h
1587 (set_sizetype): Create values cache.
1588 (fixup_unsigned_type): Set UNSIGNED_P before caching any values.
1589 * params.def (PARAM_INTEGER_SHARE_LIMIT): New.
1590 * params.h (INTEGER_SHARE_LIMIT): New.
1591 * Makefile.in (tree.o, stor-layout.o): Depend on PARAMS_H.
19114537 1592
c2504783
PB
15932004-08-19 Paolo Bonzini <bonzini@gnu.org>
1594
1595 * gimplify.c (gimplify_minimax_expr): Remove.
1596 (gimplify_expr) <MIN_EXPR, MAX_EXPR>: Remove special handling.
1597
7a8554ce
DN
15982004-08-19 Dorit Naishlos <dorit@il.ibm.com>
1599
19114537 1600 * tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace
7a8554ce
DN
1601 STACK_BOUDARY with PREFERRED_STACK_BOUNDARY.
1602
1905f33d
MM
16032004-08-19 Mark Mitchell <mark@codesourcery.com>
1604
1605 * bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP.
1606
f1732751
AP
16072004-08-18 Andrew Pinski <apinski@apple.com>
1608
1609 * varasm.c (ecode_reg_name): Do nothing if the asmspec is empty.
1610
8c78a388
MM
16112004-08-18 Mark Mitchell <mark@codesourcery.com>
1612
1613 * config/arm/bpabi.c (__aeabi_ul2d): Give it default visibility.
1614 (__aeabi_ul2f): Likewise.
1615
7eda7cda
RH
16162004-08-18 Richard Henderson <rth@redhat.com>
1617
1618 * config/xtensa/xtensa.c (xtensa_expand_block_move): Expand block
1619 move to rtl completely.
1620 (struct meminsnbuf, xtensa_emit_block_move): Remove.
1621 (xtensa_find_mode_for_size): Remove.
1622 * config/xtensa/xtensa-protos.h (xtensa_emit_block_move): Remove.
1623 * config/xtensa/xtensa.md (movmemsi_internal): Remove.
1624
88042663
RH
16252004-08-18 Richard Henderson <rth@redhat.com>
1626
1627 * config/mcore/mcore.c (mode_from_align): Remove DImode.
1628 (block_move_sequence): Rewrite to use adjust_address.
1629 (mcore_expand_block_move): Cleanup logic. Accept only operands.
1630 Return boolean indicating success/failure.
1631 * config/mcore/mcore-protos.h (mcore_expand_block_move): Update decl.
1632 * config/mcore/mcore.md (movmemsi): Update to match.
1633
699c914a
MS
16342004-08-18 Mike Stump <mrs@apple.com>
1635
1636 * doc/invoke.texi (-mfix-and-continue): Add support for
1637 fast turn around debugging.
1638 (-ffix-and-continue): Likewise.
1639 (-mindirect-data): Likewise.
1640 (-findirect-data): Likewise.
1641 * config/darwin.c (TARGET_FIX_AND_CONTINUE): Likewise.
1642 (indirect_data): Likewise.
1643 (machopic_data_defined_p): Likewise.
1644 (machopic_output_indirection): Likewise.
1645 (darwin_encode_section_info): Likewise.
1646 (darwin_fix_and_continue): Likewise.
1647 (darwin_fix_and_continue_switch): Likewise.
1648 * config/darwin.h (MACHO_SYMBOL_STATIC): Likewise.
1649 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
1650 (SUBTARGET_OPTION_TRANSLATE_TABLE): Likewise.
1651 (SUBTARGET_OPTIONS): Likewise.
1652 (darwin_fix_and_continue): Likewise.
1653 (darwin_fix_and_continue_switch): Likewise.
1654 (TARGET_FIX_AND_CONTINUE): Likewise.
1655 * config/rs6000.c (rs6000_emit_prologue): Likewise.
1656
16572004-08-19 Steven Bosscher <stevenb@suse.de>
bd454efd
SB
1658
1659 * basic-block.h (struct edge_def): Remove crossing_edge.
1660 (EDGE_CROSSING): New define.
1661 (EDGE_ALL_FLAGS): Update.
1662 * bb-reorder.c (find_traces_1_round, better_edge_p,
1663 find_rarely_executed_basic_blocks_and_cr, fix_up_fall_thru_edges,
1664 find_jump_block, fix_crossing_conditional_branches,
1665 fix_crossing_unconditional_branches, add_reg_crossing_jump_notes):
1666 Replace all occurences of crossing_edge with an edge flag check
1667 or set/reset.
1668 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
1669 try_crossjump_bb): Likewise.
1670 * cfglayout.c (fixup_reorder_chain): Likewise.
1671 * cfgrtl.c (force_nonfallthru_and_redirect,
1672 commit_one_edge_insertion): Likewise.
1673
1674 * Makefile.in (cfganal.o): Depend on TIMEVAR_H.
1675 * tree-flow.h (compute_dominance_frontiers): Move prototype...
1676 * basic-block.h: ...here.
1677 * tree-cfg.c (compute_dominance_frontiers_1,
1678 compute_dominance_frontiers): Move from here...
1679 * cfganal.c: ...to here. Include timevar.h.
1680
9ff6992e
JW
16812004-08-18 James E Wilson <wilson@specifixinc.com>
1682
c831f54b 1683 * config/mips/mips.h (ASM_SPEC): In comment, change -meabi= to -mabi=.
a1627d80
JW
1684 * config/mips/sb1.md (ir_sb1_divsf_1pipe): Renamed from ...1pipes.
1685
9ff6992e
JW
1686 * config/mips/mips.md (type): Add frdiv.
1687 (divsf3+1, divsf3+2): Change type to frdiv.
1688 * config/mips/sb1.md (ir_sb1_recipsf_2pipes, ir_sb1_recipsf_1pipe,
1689 ir_sb1_recipdf_2pipes, ir_sb1_recipdf_1pipe): New.
19114537 1690
9ff6992e
JW
1691 * config/mips/3000.md (r3k_fdiv_single, r3k_fdiv_double): Add frdiv.
1692 * config/mips/4300.md (r4300_fdiv_single, r4300_fdiv_double): Likewise.
1693 * config/mips/4600.md (r4600_fdiv_single, f4600_fdiv_double): Likewise.
1694 * config/mips/5000.md (r5k_fdiv_single): Likewise.
1695 * config/mips/5400.md (ir_vr54_fdiv_sf, ir_vr54_fdiv_df): Likewise.
1696 * config/mips/5500.md (ir_vr55_fdiv_sf, ir_vr55_fdiv_df): Likewise.
1697 * config/mips/6000.md (r6k_fdiv_single, r6k_fdiv_double): Likewise.
1698 * config/mips/7000.md (rm7_fp_divsqrt_df, rm7_fp_divsqrt_sf): Likewise.
1699 * config/mips/9000.md (rm8k_fdivs, rm9k_fdivd): Likewise.
1700 * config/mips/generic.md (generic_fdiv_single, generic_fdiv_double):
1701 Likewise.
1702 * config/mips/sr71k.md (ir_sr70_fdiv_sf, ir_sr70_fdiv_df): Likewise.
1703
c16eb900
RB
17042004-08-18 Robert Bowdidge <bowdidge@apple.com>
1705
1706 * config/rs6000/x-darwin: Remove XCFLAGS -mdynamic-no-pic to
324a6c95 1707 get regression tester working again.
c16eb900 1708
826c9564
ZW
17092004-08-18 Zack Weinberg <zack@codesourcery.com>
1710
1711 * insn-notes.def, reg-notes.def: New files.
1712 * rtl.h: Use them to define enum insn_note and enum reg_note.
1713 * rtl.c: Use them to define note_insn_name and reg_note_name.
4b179e92 1714 * Makefile.in (RTL_BASE_H): Update.
826c9564
ZW
1715
1716 * modulo-sched.c, sched-rgn.c, final.c: NOTE_DISABLE_SCHED_OF_BLOCK
1717 renamed to NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
1718
21b5653c
RE
17192004-08-18 Richard Earnshaw <rearnsha@arm.com>
1720
1721 * arm.c (arm_size_rtx_costs): New function.
1722 (arm_override_options): Use it if optimizing for space.
1723
542a8afa
RH
17242004-08-18 Richard Henderson <rth@redhat.com>
1725
1726 * emit-rtl.c (gen_const_mem): New.
1727 * rtl.h (gen_const_mem): Declare.
1728 * expr.c (do_tablejump): Use it.
1729 * varasm.c (force_const_mem): Likewise.
1730 * config/darwin.c (machopic_indirect_data_reference): Likewise.
1731 (machopic_legitimize_pic_address): Likewise.
1732 * config/arm/arm.c (legitimize_pic_address): Likewise.
1733 * config/i386/i386.c (legitimize_pic_address): Likewise.
1734 (legitimize_tls_address): Likewise.
1735 * config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
1736 * config/ia64/ia64.md (load_fptr): Likewise.
1737 * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
1738 * config/pa/pa.c (legitimize_pic_address): Likewise.
1739 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
1740 (rs6000_emit_move): Likewise.
1741 * config/s390/s390.c (legitimize_pic_address): Likewise.
1742 (legitimize_tls_address): Likewise.
1743 * config/s390/s390.md (casesi): Likewise.
1744 * config/sh/sh.c (sh_reorg): Likewise.
1745 * config/sparc/sparc.c (legitimize_pic_address): Likewise.
1746 * config/v850/v850.md (casesi): Likewise.
1747
1748 * config/darwin.c (machopic_indirect_call_target): Set MEM_NOTRAP_P.
1749 * config/sh/sh.c (prepare_move_operands): Remove incorrect
1750 use of MEM_READONLY_P.
1751
0516f6fe
SB
17522004-08-18 Steven Bosscher <stevenb@suse.de>
1753
1754 * Makefile.in (OBJS-common): Add postreload-gcse.c.
1755 Add new postreload-gcse.o.
1756 * cse.c (SAFE_HASH): Define as wrapper around safe_hash.
1757 (lookup_as_function, insert, rehash_using_reg, use_related_value,
1758 equiv_constant): Use SAFE_HASH instead of safe_hash.
1759 (exp_equiv_p): Export. Add for_gcse argument when comparing
1760 for GCSE.
1761 (lookup, lookup_for_remove, merge_equiv_classes, find_best_addr,
1762 find_comparison_args, fold_rtx, cse_insn): Update callers.
1763 (hash_rtx): New function derived from old canon_hash and bits
1764 from gcse.c hash_expr_1.
1765 (canon_hash_string): Rename to hash_rtx_string.
1766 (canon_hash, safe_hash): Make static inline. Call hash_rtx.
1767 * cselib.c (hash_rtx): Rename to cselib_hash_rtx.
1768 (cselib_lookup): Update this caller.
1769 * gcse.c (modify_mem_list_set, canon_modify_mem_list_set):
1770 Make static.
1771 (hash_expr): Call hash_rtx.
1772 (ldst_entry): Likewise.
1773 (expr_equiv_p): Call exp_equiv_p.
1774 (struct unoccr, hash_expr_1, hash_string_1, lookup_expr,
1775 reg_used_on_edge, reg_set_between_after_reload_p,
1776 reg_used_between_after_reload_p, get_avail_load_store_reg,
1777 is_jump_table_basic_block, bb_has_well_behaved_predecessors,
1778 get_bb_avail_insn, hash_scan_set_after_reload,
1779 compute_hash_table_after_reload,
1780 eliminate_partially_redundant_loads, gcse_after_reload,
1781 get_bb_avail_insn, gcse_after_reload_main): Remove.
1782 * postreload-gcse.c: New file, reincarnating most of the above.
1783 * rtl.h (exp_equiv_p, hash_rtx): New prototypes.
1784 (gcse_after_reload_main): Update prototype.
1785 * timevar.def (TV_GCSE_AFTER_RELOAD): New timevar.
1786 * passes.c (rest_of_handle_gcse2): Use it.
1787
95013377
DN
17882004-08-18 Diego Novillo <dnovillo@redhat.com>
1789
1790 * tree-ssa-loop.c (pass_loop_init): Add TODO_dump_func.
1791 (pass_loop_done): Likewise.
1792
ac9e2cff
AP
17932004-08-18 Andrew Pinski <apinski@apple.com>
1794
826c9564 1795 * config/rs6000/darwin.md: Delete the altivec patterns which are
ac9e2cff
AP
1796 handled differently now.
1797 (load_macho_picbase_di): Make sure that is only happens for TARGET_64BIT
1798 (macho_correct_pic_di): Likewise.
1799 (call_indirect_nonlocal_darwin64): Likewise.
1800 Delete the save world/saveFP/saveVec patterns.
826c9564 1801
ac9e2cff 1802 Revert the reversion of: 2004-08-16 Stan Shebs <shebs@apple.com>
826c9564
ZW
1803 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
1804 * config/rs6000/rs6000.md: Include darwin.md.
1805 (builtin_setjmp_receiver): Add DImode case.
1806 * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
1807 Darwin bits.
ac9e2cff 1808
92b9a671
MA
18092004-08-18 Matt Austern <austern@apple.com>
1810
1811 Dead code stripping
1812 * darwin.h (EH_FRAME_SECTION_ATTR): Mark so it doesn't get stripped.
1813 * darwin.c (darwin_file_end): Mark file as potentially strippable.
826c9564 1814
4766261d
RH
18152004-08-18 Richard Henderson <rth@redhat.com>
1816
1817 * alias.c (readonly_fields_p): Remove.
1818 (objects_must_conflict_p): Don't call it.
1819 * tree.h (readonly_fields_p): Remove.
1820 * langhooks.h (struct lang_hooks): Remove honor_readonly.
1821 * langhooks-def.h (LANG_HOOKS_HONOR_READONLY): Remove.
1822
50dc9a88
DN
18232004-08-18 Diego Novillo <dnovillo@redhat.com>
1824
1825 * tree-dfa.c (add_referenced_var): Only global variables are
1826 call-clobbered.
1827 * tree-flow.h (struct ptr_info_def): Add field pt_global_mem.
1828 * tree-ssa-alias.c (compute_points_to_and_addr_escape): Mark
1829 all pointers dereferenced if the statement dereferences them.
1830 (create_name_tags): Do not create memory tags for pointers
1831 that have PT_ANYTHING set.
1832 Also check if PT_VARS is not empty before creating a name tag.
1833 (compute_flow_sensitive_aliasing): Don't mark call-clobbered
1834 variables that share the same alias set with a pointer that
1835 may point anywhere.
1836 (add_may_alias): Add FIXME comment to remove clobbering
1837 aliased variables and tags.
1838 (replace_may_alias): Likewise.
1839 (set_pt_anything): Do not clear PT_VARS nor IS_DEREFERENCED.
1840 (merge_pointed_to_info): If the original variable has not
1841 points-to information, call set_pt_anything.
1842 (add_pointed_to_var): Do not prevent adding a pointed-to
1843 variable if the pointers is PT_ANYTHING.
1844 If the variable is a global, set PT_GLOBAL_MEM.
1845 (collect_points_to_info_r): Don't assume that PLUS_EXPRs of
1846 pointer type only come in PTR+OFFSET flavours.
1847 Always call merge_pointed_to_info on PHI arguments that are
1848 SSA_NAMEs.
1849 (get_nmt_for): Mark call-clobbered tags whose pointer points
1850 to global memory.
1851 * tree-ssa-operands.c (opf_kill_def, opf_no_vops): Switch
1852 values.
1853 (get_indirect_ref_operands): Always clear OPF_KILL_DEF from
1854 FLAGS.
1855 (add_stmt_operand): Abort if the caller tried to add a killing
1856 definition for a memory tag.
1857 * tree-ssa.c (verify_flow_sensitive_alias_info): Remove
1858 unnecessary checks.
1859
62164eb4
R
18602004-08-18 J"orn Rennecke <joern.rennecke@superh.com>
1861
1862 * sh.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers
1863 from call_used_regs. Update call_really_used_regs.
1864 (CALL_REALLY_USED_REGISTERS): Define.
1865 * sh.c (output_stack_adjust, shmedia_target_regs_stack_space):
1866 Replace call_used_regs with call_really_used_regs.
1867 (calc_live_regs, sh_media_register_for_return): Likewise.
1868 (sh5_schedule_saves, sh_expand_prologue, reg_unused_after): Likewise.
1869 * sh.md (return_media): Likewise.
1870
f9b0ac3b
AP
18712004-08-18 Andrew Pinski <apinski@apple.com>
1872
826c9564 1873 * config/darwin.c (machopic_legitimize_pic_address): Only set
ac9e2cff 1874 MEM_READONLY_P in the non TARGET_TOC case.
f9b0ac3b 1875
f822d252
ZW
18762004-08-18 Zack Weinberg <zack@codesourcery.com>
1877
1878 * rtl.def (NIL): Delete.
1879 * read-rtl.c (read_rtx): Handle (nil) like (define_constants).
1880 Tighten the syntax a little.
1881
1882 * cfgloop.h, combine.c, cse.c, loop-iv.c, postreload.c, reload.c
1883 * config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h
1884 * config/arm/arm.h, config/frv/frv.h, config/i386/i386.c
1885 * config/i386/predicates.md, config/m32r/m32r.h
1886 * config/m68hc11/m68hc11.c, config/mcore/mcore.h, config/mips/mips.c
1887 * config/mmix/mmix.c, config/pa/pa.h, config/sh/sh.h
1888 * config/sparc/sparc.h, doc/tm.texi:
1889 Replace all occurrences of NIL with UNKNOWN.
1890
6aaf3dde
ZW
18912004-08-18 Zack Weinberg <zack@codesourcery.com>
1892
1893 * dojump.c (do_jump <unordered_bcc>): Do not recursively call
1894 self with a TRUTH_ORIF_EXPR; generate the appropriate jump
1895 sequence inline. Move drop_through_label code into this
1896 block, being the only place it is used. Adjust comments.
1897
d62294f5
FJ
18982004-08-18 Fariborz Jahanian <fjahanian@apple.com>
1899
6aaf3dde
ZW
1900 * config/rs6000/altivec.md: Add new patterns for calls to
1901 save_world/rest_world functions.
1902
1903 * config/rs6000/rs6000-protos.h: (save_world_operation,
1904 restore_world_operation) new declarations.
1905
1906 * config/rs6000/rs6000.c: (struct rs6000_stack) new world_save_p
1907 field added.
1908 (rs6000_stack_info): Set world_save_p field.
1909 (save_world_operation): New function.
1910 (restore_world_operation): New function.
1911 (compute_save_world_info): New function.
1912 (rs6000_stack_info): Call compute_save_world_info.
1913 (rs6000_emit_prologue): Check for world_save_p and generate
1914 pattern to call save_world for saving all non-volatile and
1915 special registers.
1916 (rs6000_emit_epilogue): Check for world_save_p and generate
1917 pattern to call rest_world to restore saved registers.
1918
1919 config/rs6000/rs6000.h: macros FIRST_SAVED_ALTIVEC_REGNO,
1920 FIRST_SAVED_FP_REGNO, FIRST_SAVED_GP_REGNO defined.
1921 (rs6000_reg_names): New entries added for save_world_operation and
1922 restore_world_operation.
d62294f5 1923
790ac0e1
CT
19242004-08-18 Caroline Tice <ctice@apple.com>
1925
6aaf3dde 1926 * Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS) Add
790ac0e1
CT
1927 "-freorder-blocks-and-partition" to the flags used in second
1928 stage of profiledbootstrap.
1929 * bb-reorder.c (push_to_next_round_p): Add new variable,
1930 next_round_is_last; set and use variable to make sure, when
1931 partitioning, that the last trace construction round consists
1932 of all (and only) cold basic blocks.
1933 (rotate_loop): Don't copy blocks that end in a section
1934 crossing jump.
1935 (copy_bb): Correctly initialize "partition" of duplicated bb.
1936 (add_unlikely_executed_notes): Add a comment.
1937 (find_rarely_executed_basic_blocks_and_crossing_edges): Modify
1938 to make sure, if function contains hot blocks, that the
1939 successors of ENTRY_BLOCK_PTR are hot; also, only look for
1940 crossing edges if the architecture supports named sections.
1941 (mark_bb_for_unlikely_executed_section): Modify to always
1942 insert the NOTE_INSN_UNLIKELY_EXECUTED_CODE immediately after
1943 the basic block note insn.
1944 (fix_crossing_unconditional_branches): Remove extra space.
1945 (fix_edges_for_rarely_executed_code): Modify to only do
1946 partitioning work if the architecture supports named sections.
1947 (reorder_basic_blocks): Modify to only add
1948 NOTE_INSN_UNLIKELY_EXECUTED_CODE notes if the architecture
1949 supports named sections.
1950 * c-common.c (handle_section_attribute): Initialize new global
1951 variable, user_defined_section_attribute, to true if user has
1952 specified one.
1953 * cfgcleanup.c (try_forward_edges): Modify to not attempt to
1954 forward edges that cross section boundaries.
1955 * cfglayout.c (fixup_reorder_chain): Modify to only fix up
1956 partitioning information if the architecture supports named
1957 sections.
1958 * cfgrtl.c (target.h): Add statement to include this.
1959 (rtl_split_block): Make sure newly created bb gets correct
1960 partition.
1961 (try_redirect_by_replacing_jump): Make sure redirection isn't
1962 attempting to cross section boundaries.
1963 (force_nonfallthru_and_redirect): Only do partition fix up if
1964 architecture supports named sections.
1965 (rtl_split_edge): Make sure newly created bb ends up in
1966 correct partition.
1967 (commit_one_edge_insertion): Remove code that incorrectly
1968 updated basic block partition; Make sure partition fix up only
1969 happens if architecture supports named sections and it's not
1970 already done.
1971 (rtl_verify_flow_info_1): Fix if-condition on test/error
1972 condition that fallthru edges are not allowed to cross section
1973 boundaries.
1974 * defaults.h (NORMAL_TEXT_SECTION_NAME): Remove this.
1975 * final.c (final_scan_insn): Remove redundant test from if-statement;
1976 change calls to text_section into calls to function_section; add code
1977 to only to partitioning fix up if architecture supports named
1978 sections.
1979 * ifcvt.c (find_if_case_1): Make sure newly created bb has correct
1980 partition.
1981 (if_convert): Add targetm.have_named_sections to test.
1982 * output.h (unlikely_section_label): Extern declaration for new global
1983 variable.
1984 (unlikely_text_section_name): Likewise.
1985 * opts.c (decode_options): If both partitioning and DWARF debugging
1986 are turned on, issue a warning that this doesn't work, and change
1987 partitiong to basic block reordering (without hot/cold partitions).
6aaf3dde 1988 * passes.c (rest_of_handle_final): Re-set new global variable,
790ac0e1
CT
1989 user_defined_section_attribute, to false.
1990 (rest_of_compilation): Change options for calling partitioning
1991 function: Don't call if the user defined the section attribute, and
1992 don't call if DECL_ONE_ONLY is true for the current function.
1993 * predict.c (choose_function_section): Return immediately if we
1994 are doing hot/cold partitioning (i.e. let the basic block partitioning
1995 determine where the function belongs).
1996 * reg-stack.c (emit_swap_insn): Add condition to step over
1997 NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
1998 * toplev.c (user_defined_section_attribute): New global variable.
89b0433e
NS
1999 * toplev.h (user_defined_section_attribute): Extern declaration
2000 for new global variable.
790ac0e1
CT
2001 * varasm.c (unlikely_section_label): New global variable.
2002 (unlikely_text_section_name): New global variable.
89b0433e
NS
2003 (unlikely_text_section): Add code to initialize
2004 unlikely_text_section_name if necessary; modify to use
2005 unlikely_text_section_name and unlikely_section_label; also to use
2006 named_section properly.
2007 (in_unlikely_text_section): Modify to work correctly with
2008 named_section and to use unlikely_text_section_name.
790ac0e1
CT
2009 (named_section): Add code to work properly with cold section.
2010 (function_section): Clean up if-statement.
89b0433e
NS
2011 * config/darwin.c (darwin_asm_named_section): Return to original
2012 code, removing use of SECTION_FORMAT_STRING.
6aaf3dde 2013 * config/arm/pe.h (switch_to_section): Add case for
790ac0e1
CT
2014 in_unlikely_executed_text to switch statement.
2015 * config/i386/cygming.h (switch_to_section): Likewise.
2016 * config/i386/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
2017 (SECTION_FORMAT_STRING): Likewise.
2018 * config/mcore/mcore.h (switch_to_section): Likewise.
2019 * config/rs6000/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
2020 (SECTION_FORMAT_STRING): Remove.
2021
3a4416fb
RS
20222004-08-18 Roger Sayle <roger@eyesopen.com>
2023
2024 * config/i386/i386.h (FIXED_REGISTERS): Update encoding to be
2025 -ffixed-reg safe, by preserving the meanings of zero and one.
2026 (CALL_USED_REGISTERS): Likewise.
2027 (CONDITIONAL_REGISTER_USAGE): Update to process new encodings.
2028
03904fb3
KK
20292004-08-18 Kaz Kojima <kkojima@gcc.gnu.org>
2030
2031 * config/sh/sh.c (split_branches): Check the result of
2032 next_active_insn.
2033 (sh_output_mi_thunk): Call init_flow if basic_block_info is null.
2034 Call rtl_register_cfg_hooks.
2035
389fdba0
RH
20362004-08-18 Richard Henderson <rth@redhat.com>
2037
2038 * rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
2039 * alias.c (true_dependence): Update to match new semantics.
2040 (canon_true_dependence, write_dependence_p): Likewise.
2041 (anti_dependence, output_dependence): Update write_dependence_p args.
2042 (unchanging_anti_dependence): Remove.
2043 * calls.c (purge_mem_unchanging_flag): Remove.
2044 (fixup_tail_calls): Don't call it.
2045 (expand_call): Don't add unchanging memory to function usage.
2046 * expr.c (emit_block_move_via_libcall): Likewise.
2047 (clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems.
2048 (get_subtarget): Don't use RTX_UNCHANGING_P.
2049 (expand_assignment, store_constructor, expand_expr_real_1): Likewise.
2050 (do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P.
2051 * combine.c (get_last_value_validate): Use MEM_READONLY_P.
2052 * cse.c (insert): Don't use RTX_UNCHANGING_P.
2053 (cse_insn, canon_hash): Use MEM_READONLY_P.
2054 * emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P
2055 instead of RTX_UNCHANGING_P.
2056 * explow.c (maybe_set_unchanging): Remove.
2057 * expr.h (maybe_set_unchanging): Remove.
2058 * flow.c (insn_dead_p, mark_used_regs): Use anti_dependence.
2059 * function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P.
2060 (assign_parm_setup_reg, expand_function_start): Likewise.
2061 * integrate.c (copy_rtx_and_substitute): Likewise.
2062 * ra-rewrite.c (emit_colors): Likewise.
2063 * regmove.c (copy_src_to_dest, regmove_optimize): Likewise.
2064 (fixup_match_1): Likewise.
2065 * reload1.c (reload, alter_reg): Likewise.
2066 * local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P,
2067 not RTX_UNCHANGING_P.
2068 (equiv_init_varies_p): Likewise.
2069 * loop-invariant.c (check_maybe_invariant): Likewise.
2070 * resource.c (mark_referenced_resources, mark_set_resources): Likewise.
2071 * loop.c (note_addr_stored): Likewise.
2072 (prescan_loop): Likewise. Don't check function usage for clobbered
2073 unchanging memory.
2074 * rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P,
6aaf3dde 2075 not RTX_UNCHANGING_P.
389fdba0
RH
2076 (rtx_varies_p, modified_between_p, modified_in_p): Likewise.
2077 * varasm.c (force_const_mem): Likewise.
2078 * stmt.c (expand_decl): Don't set RTX_UNCHANGING_P.
2079 * web.c (entry_register): Likewise.
2080 * tree-gimple.h (get_base_address): Move decl ...
2081 * tree.h: ... here.
2082 * doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
2083
2084 * config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be
2085 called via for_each_rtx. Copy MEM_SCALAR_P, MEM_NOTRAP_P too.
2086 (alpha_set_memflags): Update to match.
2087
2088 * config/darwin.c (machopic_indirect_data_reference): Set
2089 MEM_READONLY_P instead of RTX_UNCHANGING_P.
2090 (machopic_indirect_call_target): Likewise.
2091 (machopic_legitimize_pic_address): Likewise.
6aaf3dde 2092 * config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple,
389fdba0
RH
2093 arm_gen_store_multiple, arm_gen_movmemqi): Likewise.
2094 * config/arm/arm.md (load_multiple, store_multiple): Likewise.
2095 * config/frv/frv.md (symGOT2reg): Likewise.
2096 * config/i386/i386.c (legitimize_pic_address,
2097 legitimize_tls_address, ix86_split_to_parts): Likewise.
2098 * config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
2099 * config/ia64/ia64.md (load_fptr): Likewise.
2100 * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
2101 * config/m68k/m68k.c (legitimize_pic_address): Likewise.
2102 * config/mcore/mcore.c (block_move_sequence): Likewise.
2103 * config/mn10300/mn10300.md (symGOT2reg): Likewise.
2104 * config/pa/pa.c (legitimize_pic_address): Likewise.
2105 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
2106 (rs6000_emit_move): Likewise.
2107 * config/s390/s390.c (legitimize_pic_address): Likewise.
2108 (legitimize_tls_address): Likewise.
2109 * config/s390/s390.md (casesi): Likewise.
2110 * config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise.
2111 * config/sh/sh.md (symGOT2reg): Likewise.
2112 * config/sparc/sparc.c (legitimize_pic_address): Likewise.
2113 * config/v850/v850.md (casesi): Likewise.
2114
2115 * config/ia64/ia64.c (gen_thread_pointer): Don't set RTX_UNCHANGING_P.
2116 * config/iq2000/iq2000.c (save_restore_insns): Likewise.
2117 * config/mips/mips.c (mips_restore_gp): Likewise.
2118 (mips_save_restore_reg, mips16_gp_pseudo_reg): Likewise.
2119 * config/sh/sh.c (sh_reorg): Likewise.
2120
17ad5b5e
RH
21212004-08-18 Richard Henderson <rth@redhat.com>
2122
2123 * tree.h (struct tree_decl): Add gimple_formal_temp.
2124 (DECL_GIMPLE_FORMAL_TEMP_P): New.
2125 * gimplify.c (pop_gimplify_context): Clear it.
2126 (lookup_tmp_var): Set it, if is_formal.
2127 (gimplify_init_constructor): Use rhs_predicate_for for COMPLEX.
2128 Use is_gimple_val for VECTOR. Simplify return value.
2129 (gimplify_save_expr): Use and set DECL_GIMPLE_FORMAL_TEMP_P.
2130 (gimplify_expr): Likewise.
2131 * tree-gimple.c (is_gimple_formal_tmp_rhs): Rename from
2132 is_gimple_tmp_rhs for clarity. Update all callers.
2133 (is_gimple_reg_rhs): Simplify logic.
2134 (is_gimple_formal_tmp_var): Rename from is_gimple_tmp_var for
2135 clarity; use DECL_GIMPLE_FORMAL_TEMP_P.
2136 (is_gimple_formal_tmp_reg): Similarly.
2137 * tree-gimple.h: Update decls.
2138 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Use
2139 DECL_IGNORED_P, not DECL_ARTIFICIAL. Tidy formatting.
2140 * tree-ssa-live.c (var_union, type_var_init): Likewise.
2141
5b0eba61
PB
21422004-08-18 Paolo Bonzini <bonzini@gnu.org>
2143
2144 * c4x.c (legitimize_operands): Remove calls to
2145 preserve_subexpressions_p.
2146
07e15286
DE
21472004-08-18 David Edelsohn <edelsohn@gnu.org>
2148
2149 * varasm.c (MAX_OFILE_ALIGNMENT): Move ...
2150 * defaults.h (MAX_OFILE_ALIGNMENT): ... here.
2151
ad8c162b
ZL
21522004-08-18 Ziemowit Laski <zlaski@apple.com>
2153
2154 * gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii"
2155 Objective-C++ extensions.
2156 * gengtype.c (get_file_basename): Match entire subdirectory name
2157 ('cp', 'objc', 'objcp') rather than just its suffix.
2158 (get_base_file_bitmap): Allow for files to belong to more than one
2159 language.
2160 (get_output_file_with_visibility): Treat objc/objc-act.h as a header
2161 used by more than one front-end.
2162
d56993f2
RE
21632004-08-18 Richard Earnshaw <rearnsha@arm.com>
2164
2165 * arm.md (addsi3, subsi3, andsi3, iorsi3, movsi, movhi): Rework to
2166 avoid use of preserve_subexpressions_p.
2167
504c0e4f
RH
21682004-08-17 Richard Henderson <rth@redhat.com>
2169
2170 PR 17051
2171 * tree-sra.c (scalarize_use): Mark all v_defs for !is_output too.
2172
54e9a19d
DD
21732004-08-17 DJ Delorie <dj@redhat.com>
2174
2175 * doc/extend.texi: Document new xstormy16 attribute.
2176
2177 * config/stormy16/stormy16.c (xstormy16_splittable_below100_operand): New.
2178 (xstormy16_splittable_below100_or_register): New.
2179 (combine_bnp): New.
2180 (xstormy16_reorg): New.
2181 (TARGET_MACHINE_DEPENDENT_REORG): Define.
2182
54e9a19d
DD
2183 * config/stormy16/stormy16.md (movqi_internal): Make name public.
2184 (movhi_internal): Likewise.
2185 (cbhranchhi): Likewise.
2186 (cbhranchhi_neg): Likewise.
2187 (andhi3): Only allow splittable below100 operands.
2188 (iorhi3): Likewise.
2189 (peephole2): New and/zero_extend->and peephole.
2190 (peephole2): New load/ior/save->set1 peephole.
2191 (peephole2): New load/and/save->clr1 peephole.
2192 (bclrx, bclrx2, bclr7, bclr15): New.
2193 (bsetx, bsetx2, bset7, bset15): New.
2194
2195 * config/stormy16/stormy16.c (xstormy16_print_operand): Be more
2196 liberal about acceptable 'B' masks.
2197
2198 * config/stormy16/stormy16-protos.h
2199 (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
2200 xstormy16_below100_operand, xstormy16_below100_or_register,
2201 xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
2202 (PREDICATE_CODES): Add new predicates.
6aaf3dde 2203
54e9a19d
DD
2204 * config/stormy16/stormy16.c
2205 (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
2206 xstormy16_below100_operand, xstormy16_below100_or_register,
2207 xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
2208 (xstormy16_expand_iorqi3, xstormy16_expand_andqi3): New.
2209 (xstormy16_legitimate_address_p): Allow below100 symbols.
2210 (xstormy16_extra_constraint_p): Add 'W' for below100 operands.
2211 (xstormy16_expand_move): Leave below100 operands as-is.
2212 (xstormy16_encode_section_info): Encode below100 symbols.
2213 (xstormy16_strip_name_encoding): New.
2214 (xstormy16_print_operand): Print 'b' as shift mask.
2215 (xstormy16_attribute_table): Add below100 attributes.
2216 (xstormy16_handle_below100_attribute): New.
2217
2218 * config/stormy16/stormy16.h (EXTRA_SECTIONS): add in_bss100.
2219 (XSTORMY16_SECTION_FUNCTION): New.
2220 (EXTRA_SECTION_FUNCTIONS): Define using the above.
2221 (ASM_OUTPUT_ALIGNED_DECL_COMMON, ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
2222 (ASM_OUTPUT_SYMBOL_REF): Handle encoded symbols.
2223 (ASM_OUTPUT_LABELREF): Define.
2224
2225 * config/stormy16/stormy16.md (movqi_internal): Add below100 support.
2226 (movhi_internal): Add below100 support.
2227 (andhi3): Add below100 support.
2228 (iorhi3): Add below100 support.
2229 (iorqi3, iorqi3_internal, andqi3, andqi3_internal): New.
2230
4ef47bd8
JW
22312004-08-17 James E Wilson <wilson@specifixinc.com>
2232
2233 * config/mips/mips.c (gen_conditional_move): Use GET_MODE (op0) instead
2234 of VOIDmode for comparison code mode.
2235 * config/mips/mips.md: For conditional move patterns, use mode of
2236 first compare operand for comparison mode, instead of VOIDmode.
e17c734b
JW
2237
2238 * config/mips/mips.md: Add canonical nmadd and nmsub patterns for both
2239 normal and -ffast-math code.
2240
1a10290c
MM
22412004-08-17 Mark Mitchell <mark@codesourcery.com>
2242
2243 PR c++/15871
2244 * doc/invoke.texi (-fkeep-inline-functions): Update documentation.
2245
f4e736dd 22462004-08-17 Robert Bowdidge <bowdidge@apple.com>
6aaf3dde
ZW
2247
2248 * config/rs6000/x-darwin: Add -mdynamic-no-pic to gcc build flags.
f4e736dd 2249
13a98f14
AT
22502004-08-17 Andreas Tobler <a.tobler@schweiz.ch>
2251
2252 * config/rs6000/darwin.md (*call_nonlocal_darwin64): Add #else clause
2253 for non Darwin targets.
2254 (*call_value_nonlocal_darwin64): Likewise.
2255
d0b2079e
FJ
22562004-08-17 Fariborz Jahanian <fjahanian@apple.com>
2257
2258 * config/rs6000/rs6000.c (rs6000_function_value): Check for
2259 altivec mode for altivec return register.
2260
feb3dc8b
DE
22612004-08-17 David Edelsohn <edelsohn@gnu.org>
2262
2263 Revert 2004-08-16 Stan Shebs <shebs@apple.com>
ef0e2729 2264 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
feb3dc8b
DE
2265 * config/rs6000/rs6000.md: Include darwin.md.
2266 (builtin_setjmp_receiver): Add DImode case.
2267 * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
2268 Darwin bits.
2269
79fe1b3b
DN
22702004-08-17 Dorit Naishlos <dorit@il.ibm.com>
2271
89b0433e
NS
2272 * tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE
2273 trees.
79fe1b3b
DN
2274 * tree-vectorizer.h: New File: Same.
2275 * Makefile.in (tree-vectorizer.c, tree-vectorizer.h): Add new files.
2276 * common.opt (ftree-vectorize): New flag to enable vectorization.
89b0433e
NS
2277 * timevar.def (TV_TREE_VECTORIZATION): New dump file for
2278 vectorization pass.
79fe1b3b
DN
2279 * tree-data-ref.h (init_data_ref): Additional argument.
2280 (array_base_name_differ_p): Moved to tree-data-ref.c.
2281 * tree-data-ref.c (array_base_name_differ_p): Revised.
2282 (initialize_data_dependence_relation): Call array_base_name_differ_p
2283 with an extra argument.
2284 (analyze_all_data_dependences): Same.
2285 (init_data_ref): Additional argument is_read to set DR_IS_READ.
89b0433e
NS
2286 * tree-ssa-phiopt.c (empty_block_p): Expose for usage out of this
2287 file.
79fe1b3b
DN
2288 * tree-flow.h (vectorize_loops, empty_block_p): Add declaration.
2289 * tree-optimize.c (pass_vectorize): Schedule the vectorization pass.
6aaf3dde 2290 * tree-pass.h (tree_opt_pass pass_vectorize): Declare the new
79fe1b3b
DN
2291 vectorization pass.
2292 * tree-ssa-loop.c (tree_ssa_loop_init): Call scev_initialize.
2293 (tree_ssa_loop_done): Call scev_finalize.
2294 (tree_vectorize): Define the new vectorization pass.
89b0433e
NS
2295 * defaults.h (UNITS_PER_SIMD_WORD): Allow targets to specify the
2296 size of the vector they support (until support for multiple vector
2297 sizes is added to the vectorizer).
79fe1b3b
DN
2298 * config/i386/i386.h (UNITS_PER_SIMD_WORD): Define.
2299 * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define.
2300 * invoke.texi (fdump-tree-vect, ftree-vectorize): Add
2301 documentation.
2302
e15987c1
NS
23032004-08-17 Nathan Sidwell <nathan@codesourcery.com>
2304
2305 * objc/objc-act.c (build_protocol_initializer): Fix build_int_cst
2306 usage.
2307 (generate_protocol_list, handle_impent): Likewise.
2308
e3cadb61
RS
23092004-08-17 Roger Sayle <roger@eyesopen.com>
2310
2311 * regclass.c (init_reg_sets_1): Add ENABLE_CHECKING sanity tests to
2312 ensure that call_used_regs is a superset of both fixed_regs and
2313 call_really_used_regs.
2314
108a579c
DB
23152004-08-17 Daniel Bornstein <danfuzz@milk.com>
2316
2317 PR target/17019
2318 * arm.md (addsi3_cbranch_scratch): Correct case labels.
2319
62fc1d7d
PB
23202004-08-17 Paolo Bonzini <bonzini@gnu.org>
2321
2322 PR middle-end/17036
2323 * fold-const.c (fold): Check for integer operand when
2324 folding (A >> N) & 1 ? (1 << N) : 0. Fix from Andrew
2325 Pinski <pinskia@physics.uc.edu>.
2326
7c27e184
PB
23272004-08-17 Paolo Bonzini <bonzini@gnu.org>
2328
2329 * configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
2330 No need to check if in a cross configuration.
2331 * configure: Regenerate.
2332
2333 * calls.c (precompute_register_parameters):
2334 Inline preserve_subexpressions_p ().
2335 * expmed.c (expand_mult_const, emit_store_flag): Likewise.
2336 * optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
2337 Likewise.
2338 * expr.c (get_subtarget): Likewise.
2339 * rtl.h (preserve_subexpressions_p): Remove.
2340 * stmt.c (preserve_subexpressions_p): Remove.
2341
2342 * dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
2343 TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
2344 Abort on gimplified cases.
2345
d97c6333
JW
23462004-08-16 James E Wilson <wilson@specifixinc.com>
2347
2348 * tree.h (VECTOR_FLOAT_TYPE_P): New.
2349 (FLOAT_TYPE_P): Use it.
2350 * c-typeck.c (build_binary_op): After convert calls, check for
2351 check for ERROR_MARK operands.
2352
45c8116d
ZW
23532004-08-16 Zack Weinberg <zack@codesourcery.com>
2354
2355 * Makefile.in (BUILD_PREFIX, BUILD_PREFIX_1): Delete.
2356 (BUILD_RTL, BUILD_PRINT, BUILD_ERRORS, BUILD_VARRAY): Update.
2357 (genobjs): Add build-rtl.o, build-print-rtl.o, build-varray.o.
2358 (genobjs static pattern rule): Remove %.c dependency.
2359 ($(BUILD_PREFIX_1)rtl.o, print-rtl.o, $(BUILD_PREFIX_1)varray.o):
2360 Rename rules; delete commands; fix dependencies.
2361 (mostlyclean): Do not delete temporary source copies.
2362 * configure.ac: Delete all references to BUILD_PREFIX and
2363 BUILD_PREFIX_1.
2364 * configure: Regenerate.
2365
2366 * print-rtl.c: Include bconfig.h #ifdef GENERATOR_FILE.
2367 Do not include tree.h, real.h, flags.h, hard-reg-set.h, or
2368 basic-block.h #ifdef GENERATOR_FILE. Surround some more code
2369 with #ifndef GENERATOR_FILE so that nothing from those headers
2370 is used.
2371
2372 * rtl.c, varray.c: Include bconfig.h #ifdef GENERATOR_FILE.
2373
4d73e20b
AN
23742004-08-16 Adam Nemet <anemet@lnxw.com>
2375
2376 * Makefile.in (LIBS): Move $(LIBIBERTY) after $(BANSHEELIB).
6aaf3dde 2377
62114438
AP
23782004-08-16 Andrew Pinski <apinski@apple.com>
2379
2380 * target-def.h (TARGET_EH_RETURN_FILTER_MODE): Remove
2381 extraneous semicolon.
2382
8e3e233b
DP
23832004-08-16 Devang Patel <dpatel@apple.com>
2384
2385 * c-common.c (handle_used_attribute): Set DECL_PRESERVE_P.
2386 * print-tree.c (print_node): Print DECL_PRESERVE_P.
2387 * target-def.h (TARGET_ASM_MARK_DECL_PRESERVED): New #define.
2388 (TARGET_ASM_OUT): New member, TARGET_ASM_MARK_DECL_PRESERVED
2389 * target.h (struct gcc_target): New member, mark_decl_preserved.
45c8116d
ZW
2390 * hooks.c (hook_void_charptr): Rename to ...
2391 (hook_void_constcharptr): ... new name.
2392 * hooks.h (hook_void_charptr): Rename to ..
2393 (hook_void_constcharptr): ... new name.
8e3e233b
DP
2394 * tree.h (DECL_PRESERVE_P): New #define.
2395 (struct tree_decl): New member, preserve_flag.
2396 * varasm.c (assemble_start_function): Mark decl preserved.
2397 (assemble_variable): Same.
2398 * darwin.c (darwin_mark_decl_preserved): New function.
2399 * darwin.h (TARGET_ASM_MARK_DECL_preserved): New #define.
2400 * darwin-protos.h (darwin_mark_decl_preserved): New decl.
2401 * doc/tm.texi (TARGET_ASM_MARK_DECL_PRESERVED): Document.
2402
580b3958
JM
24032004-08-16 Joseph S. Myers <jsm@polyomino.org.uk>
2404
2405 * c-decl.c (grokdeclarator): Allow for function definition where
2406 innermost declarator has attributes.
2407
93f90be6
FJ
24082004-08-16 Fariborz Jahanian <fjahanian@apple.com>
2409
2410 * except.c (get_exception_filter, build_post_landing_pads,
2411 dw2_build_landing_pads): Use target-specific mode for 'filter'.
2412 * target-def.h (TARGET_EH_RETURN_FILTER_MODE): macro defined and used.
2413 * target.h (eh_return_filter_mode): New field added.
2414 * targhooks.c (default_eh_return_filter_mode): Defined.
2415 * targhooks.h (default_eh_return_filter_mode): Declared.
2416 * config/rs6000/rs6000.c (rs6000_eh_return_filter_mode): Defined.
2417
392765bf
NN
24182004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
2419
2420 * configure.ac: Replace _GCC_TOPLEV_NONCANONICAL_TARGET with
2421 ACX_NONCANONICAL_TARGET; remove now-unneeded AC_SUBST.
2422 * configure: Regenerate.
2423
49bd1d27
SS
24242004-08-16 Stan Shebs <shebs@apple.com>
2425
2426 Basic support for 64-bit Darwin.
2427 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
2428 (machopic_legitimize_pic_address): Similarly, plus use Pmode
2429 instead of SImode.
2430 * config/rs6000/darwin.h (PTRDIFF_TYPE): Be "long int" if 64-bit.
2431 (TARGET_OS_CPP_BUILTINS): Add 64-bit preprocessor macro.
2432 (SUBTARGET_SWITCHES): Add -m32 and -m64 flags.
2433 (SUBTARGET_OVERRIDE_OPTIONS): Require 64-bit processor if -m64.
2434 (PROCESSOR_DEFAULT64): Define.
2435 * config/rs6000/darwin.md: New file, patterns specific to 64-bit
2436 Darwin.
2437 * config/rs6000/rs6000.md: Include darwin.md.
2438 (builtin_setjmp_receiver): Add DImode case.
2439 * config/rs6000/rs6000.c (TARGET_ASM_UNALIGNED_DI_OP): Define for
2440 Darwin.
2441 (TARGET_ASM_ALIGNED_DI_OP): Ditto.
2442 (rs6000_emit_move): Add DImode case to Darwin bits.
2443 (machopic_output_stub): Use .quad if 64-bit.
2444 * invoke.texi: Document -m32 and -m64.
2445
4e6e4e4c
JJ
24462004-08-16 Janis Johnson <janis187@us.ibm.com>
2447
2448 * doc/extend.texi (AltiVec builtins): Document additional differences
2449 from the Motorola AltiVec PIM.
2450
092313ae
NS
24512004-08-16 Nathan Sidwell <nathan@codesourcery.com>
2452
2453 * c-typeck.c (build_c_cast): Only copy overflow from expr nodes.
2454 * tree.h (IS_NON_TYPE_CODE_CLASS): Simplify.
2455 (struct tree_common): Update public_flag documentation.
2456
dffc9ae5
NN
24572004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
2458
2459 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
62fc1d7d 2460 Check for artificial variables, not is_gimple_tmp_var.
dffc9ae5
NN
2461 * tree-ssa-live.c (var_union): Likewise.
2462
16e9be4c
NS
24632004-08-16 Nathan Sidwell <nathan@codesourcery.com>
2464
2465 * calls.c (load_register_parameters): Remove spurious FIXME token.
2466
9a4d6480
ZL
24672004-08-15 Ziemowit Laski <zlaski@apple.com>
2468
2469 * Makefile.in (C_PRETTY_PRINT_H): Add c-pretty-print.h.
2470 (c-lang.o): Depend on c-objc-common.h.
45c8116d 2471 (c-objc-common.o): Depend on $(C_PRETTY_PRINT_H) and
9a4d6480
ZL
2472 c-objc-common.h; remove duplicate $(C_TREE_H) dependency.
2473 * c-lang.c: Include c-objc-common.h.
2474 (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
2475 LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
2476 LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
45c8116d
ZW
2477 LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
2478 LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
9a4d6480
ZL
2479 LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
2480 LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
45c8116d 2481 LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
9a4d6480
ZL
2482 LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
2483 LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
2484 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
2485 LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
2486 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
2487 LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
2488 LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
2489 LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
2490 LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
2491 LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
2492 LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
2493 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
2494 LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
2495 LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
2496 LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
2497 LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
2498 Move to c-objc-common.h.
2499 * c-objc-common.c: Include c-objc-common.h.
2500 * c-objc-common.h: New file.
2501
869464ba
AT
25022004-08-15 Andreas Tobler <a.tobler@schweiz.ch>
2503 Andrew Pinski <pinskia@physics.uc.edu>
2504
2505 PR target/14931
2506 * config/rs6000/darwin-tramp.asm (L_abort$stub): Change to new stub
2507 style.
2508
4a90aeeb
NS
25092004-08-15 Nathan Sidwell <nathan@codesourcery.com>
2510
2511 * tree.h (build_int_cst): New.
2512 (build_int_2): Remove.
2513 * tree.c (build_int_2): Remove.
2514 (build_int_cst): New.
2515 (make_vector_type, build_common_tree_nodes,
2516 build_common_tree_nodes_2): Use build_int_cst.
2517 * builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
2518 expand_builtin_strpbrk, expand_builtin_fputs,
2519 build_string_literal, expand_builtin_printf,
2520 expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop,
2521 fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii,
2522 fold_builtin_isdigit, simplify_builtin_strstr,
2523 simplify_builtin_strpbrk, fold_builtin_fputs,
2524 simplify_builtin_sprintf): Use build_int_cst.
2525 * c-common.c (start_fname_decls, fix_string_type,
2526 c_common_nodes_and_builtins, c_init_attributes,
2527 shorten_compare): Likewise.
2528 * c-decl.c (complete_array_type,
2529 check_bitfield_type_and_width): Likewise.
2530 * c-lex.c (interpret_integer, lex_charconst): Likewise.
2531 * c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise.
2532 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2533 * c-typeck.c (really_start_incremental_init, push_init_level,
2534 set_nonincremental_init_from_string): Likewise.
2535 * calls.c (load_register_parameters): Likewise.
2536 * convert.c (convert_to_pointer): Likewise.
2537 * coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
2538 build_fn_info_type, build_ctr_info_value, build_gcov_info):
2539 Likewise.
2540 * except.c (init_eh, assign_filter_values, assign_filter_values):
2541 Likewise.
2542 * expmed.c (store_fixed_bit_field, extract_bit_field,
2543 extract_fixed_bit_field, extract_split_bit_field, expand_shift,
2544 expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
2545 expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
2546 * expr.c (convert_move, emit_group_load, emit_group_store,
2547 expand_assignment, store_constructor, store_field,
2548 expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
2549 * fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
2550 invert_truthvalue, optimize_bit_field_compare,
2551 decode_field_reference, all_ones_mask_p, constant_boolean_node,
2552 fold_div_compare, fold, fold_read_from_constant_string,
2553 fold_negate_const, fold_abs_const, fold_not_const): Likewise.
2554 * function.c (assign_parm_setup_block): Likewise.
2555 * stmt.c (shift_return_value, expand_end_case_type,
2556 estimate_case_costs): Likewise.
2557 * stor-layout.c (layout_type, initialize_sizetypes,
2558 set_min_and_max_values_for_integral_type): Likewise.
2559 * tree-chrec.c (chrec_fold_multiply_poly_poly,
2560 reset_evolution_in_loop): Likewise.
2561 * tree-chrec.h (build_polynomial_chrec): Likewise.
2562 * tree-complex.c (build_replicated_const): Likewise.
2563 * tree-eh.c (honor_protect_cleanup_actions,
2564 lower_try_finally_onedest, lower_try_finally_copy,
2565 lower_try_finally_switch): Likewise.
2566 * tree-mudflap.c (mf_build_string, mx_register_decls,
2567 mudflap_register_call, mudflap_enqueue_constant): Likewise.
2568 * tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
2569 * tree-pretty-print.c (dump_generic_node): Likewise.
2570 * tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
2571 Likewise.
2572 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
2573 * tree-ssa-loop-niter.c (number_of_iterations_cond,
2574 loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
2575 Likewise.
45c8116d 2576
4a90aeeb
NS
2577 * config/alpha/alpha.c (alpha_initialize_trampoline,
2578 alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst.
2579 * config/arm/arm.c (arm_get_cookie_size): Likewise.
2580 * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
2581 * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
2582 * config/i860/i860.c (i860_va_start): Likewise.
2583 * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
2584 * config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
2585 mips_gimplify_va_arg_expr): Likewise.
2586 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
2587 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
2588 add_compiler_branch_island): Likewise.
2589 * config/s390/s390.c (s390_va_start): Likewise.
2590 * config/sh/sh.c (sh_va_start): Likewise.
2591 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
2592 Likewise.
2593 * config/xtensa/xtensa.c (xtensa_va_start,
2594 xtensa_gimplify_va_arg_expr): Likewise.
45c8116d 2595
4a90aeeb
NS
2596 * objc/objc-act.c (build_objc_string_object,
2597 build_objc_symtab_template, init_def_list, init_objc_symtab,
2598 init_module_descriptor, generate_static_references,
2599 build_selector_translation_table, get_proto_encoding,
2600 build_typed_selector_reference, build_selector_reference,
2601 build_next_objc_exception_stuff,
2602 build_method_prototype_list_template, generate_descriptor_table,
2603 generate_protocols, build_protocol_initializer,
2604 build_ivar_list_template, build_method_list_template,
2605 build_ivar_list_initializer, generate_ivars_list,
2606 generate_dispatch_table, generate_protocol_list,
2607 build_category_initializer, build_shared_structure_initializer,
2608 generate_shared_structures, handle_impent,
2609 generate_objc_image_info): Use build_int_cst.
2610
2a68a7de
BE
26112004-08-15 Ben Elliston <bje@au.ibm.com>
2612
2613 * vec.h: Comment improvements.
2614
53fb4de3
RS
26152004-08-14 Roger Sayle <roger@eyesopen.com>
2616
2617 * c-common.c (shorten_compare, pointer_int_sum,
2618 c_common_truthvalue_conversion, boolean_increment): Replace calls
2619 to build with calls to buildN.
2620 * c-decl.c (complete_array_type, grokdeclarator): Likewise.
2621 * c-gimplify.c (c_build_bind_expr, gimplify_c_loop,
2622 gimplify_switch_stmt): Likewise.
2623 * c-typeck.c (default_function_array_conversion,
2624 build_component_ref, build_array_ref, build_function_call,
2625 pointer_diff, build_unary_op, build_conditional_expr,
2626 build_compound_expr, build_modify_expr, c_finish_goto_label,
2627 c_finish_goto_ptr, c_finish_return, c_finish_loop,
2628 c_finish_bc_stmt, c_finish_stmt_expr, c_end_compound_stmt,
2629 build_binary_op): Likewise.
2630
254b17dd
SB
26312004-08-15 Steven Bosscher <stevenb@suse.de>
2632
2633 * rtl.c (note_insn_name): Add NOTE_DISABLE_SCHED_OF_BLOCK.
2634
a5252c84
JDA
26352004-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2636
2637 * fixinc/inclhack.def (stdio_va_list): Also fix com_err.h, cps.h,
2638 curses.h, krb5.h, lc_core.h, pfmt.h, wchar.h and curses_colr/curses.h.
2639 * fixinc/fixincl.x: Rebuilt.
2640
96a30b18
RS
26412004-08-14 Richard Sandiford <rsandifo@redhat.com>
2642
2643 * config/mips/mips-protos.h (mips_symbolic_constant_p)
2644 (mips_atomic_symbolic_constant_p, mips_stack_address_p)
2645 (mips_small_data_pattern_p): Declare.
2646 * config/mips/mips.h (CONST_GP_P): Moved from mips.c.
2647 (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
2648 * config/mips/mips.c (mips_symbolic_constant_p): Make global.
2649 (mips_atomic_symbolic_constant_p, mips_stack_address_p): New functions.
2650 (uns_arith_operand, const_arith_operand, arith_operand, sle_operand)
2651 (sleu_operand, small_int, reg_or_0_operand, const_float_1_operand)
2652 (reg_or_const_float_1_operand, hilo_operand, extend_operator)
2653 (macc_msac_operand, equality_op, cmp_op, trap_cmp_op)
2654 (pc_or_label_operand, call_insn_operand, move_operand)
2655 (consttable_operand, symbolic_operand, general_symbolic_operand)
2656 (global_got_operand, local_got_operand, stack_operand)
2657 (fp_register_operand, lo_operand, fcc_register_operand): Delete.
2658 (mips_small_data_pattern_1): Renamed from small_data_pattern_1.
2659 (mips_small_data_pattern_p): Replace previous small_data_pattern
2660 predicate. Turn into a bool () (rtx) function.
2661 * config/mips/predicates.md: New file.
2662 * config/mips/mips.md: Include it. Use the target-independent
2663 comparison_operator instead of cmp_op. Rename trap_cmp_op to
2664 trap_comparison_operator and equality_op to equality_operator.
2665 Replace uses of small_int with the equivalent const_arith_operand.
2666 Rename reg_or_const_float_1_operand to reg_or_1_operand. Rename
2667 const_float_1_operand to const_1_operand. Rename fcc_register_operand
2668 to fcc_reload_operand.
2669 * config/mips/sb1.md: Rename fp_register_operand to fpr_operand.
2670
e41c9fcb
JDA
26712004-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2672
2673 PR libstdc++/17005 partial fix.
2674 * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define _INCLUDE__STDC_A1_SOURCE
2675 except when generating ANSI/C89 code.
2676
af9c6659
NS
26772004-08-14 Nathan Sidwell <nathan@codesourcery.com>
2678
2679 * c-common.c (shorten_compare): Use force_fit_type directly.
2680
37de1373
GP
26812004-08-14 Gerald Pfeifer <gerald@pfeifer.com>
2682 Dimitri Papadopoulos-Orfanos <papadopo@shfj.cea.fr>
2683 Dave Korn <dk@artimi.com>
2684
2685 * doc/install.texi (Building): Avoid duplicate reference to GNU
2686 make requirement.
2687 (*-*-solaris2*): Do not recommend GNU make any longer. Simplify.
2688
06d69cd3
RH
26892004-08-14 Richard Henderson <rth@redhat.com>
2690
2691 * config/alpha/alpha.h (PROMOTE_MODE): Don't promote vector types.
2692 * config/alpha/alpha.c (function_value): Use PROMOTE_MODE.
2693
e427abbf
RH
26942004-08-13 Richard Henderson <rth@redhat.com>
2695
2696 * config/i386/i386.md (call_1, sibcall_1, call_1_rex64): Use Pmode
2697 for constant_call_address_operand.
2698 (call_value_pop_1, call_value_1): Likewise.
2699 (sibcall_value_1, call_value_1_rex64): Likewise.
2700
2b407936
JW
27012004-08-13 James E Wilson <wilson@specifixinc.com>
2702
2703 * config/mips/sb1.md (ir_sb1_divdf_2pipes, ir_sb1_divdf_1pipe):
2704 Correct mode from SFmode to DFmode.
2705
3e0d5ae2
ZL
27062004-08-13 Ziemowit Laski <zlaski@apple.com>
2707
2708 * config/darwin.h (EXTRA_SECTION_FUNCTIONS): Mark the __sel_fixup,
2709 __cstring_object and __image_info sections with the no_dead_strip
2710 attribute.
2711
e0704143
RS
27122004-08-13 Roger Sayle <roger@eyesopen.com>
2713 David Billinghurst <David.Billinghurst@riotinto.com>
2714
2715 PR libgfortran/15930
2716 * fixinc/inclhack.def (irix___generic1, irix___generic2): New.
2717 * fixinc/fixincl.x: Regenerate.
2718 * fixinc/tests/base/internal/math_core.h: New file.
2719
8768c655
RH
27202004-08-13 Richard Henderson <rth@redhat.com>
2721
2722 * dbxout.c (NO_DBX_FUNCTION_END): Default to zero.
2723 (dbxout_function_end): Remove ifdefs for it.
2724 (dbxout_begin_prologue): Protect N_BNSYM with it, and gdb extensions.
2725
201312c2
RH
27262004-08-13 Richard Henderson <rth@redhat.com>
2727
2728 * Makefile.in (insn-preds.o): Depend on TREE_H.
2729 * genpreds.c (write_insn_preds_c): Include tree.h.
2730 * config/alpha/alpha.c (reg_or_0_operand, reg_or_6bit_operand,
2731 reg_or_8bit_operand, cint8_operand, add_operand, sext_add_operand,
2732 const48_operand, and_operand, or_operand, mode_width_operand,
2733 mode_mask_operand, mul8_operand, const0_operand,
2734 hard_fp_register_operand, hard_int_register_operand,
2735 reg_or_cint_operand, some_operand, some_ni_operand, input_operand,
2736 samegp_function_operand, direct_call_operand, small_symbolic_operand,
45c8116d 2737 global_symbolic_operand, call_operand, symbolic_operand,
201312c2
RH
2738 dtp16_symbolic_operand, dtp32_symbolic_operand,
2739 gotdtp_symbolic_operand, tp16_symbolic_operand, tp32_symbolic_operand,
2740 gottp_symbolic_operand, alpha_comparison_operator,
2741 alpha_zero_comparison_operator, alpha_swapped_comparison_operator,
2742 signed_comparison_operator, alpha_fp_comparison_operator,
2743 divmod_operator, fix_operator, aligned_memory_operand,
2744 unaligned_memory_operand, reg_or_unaligned_mem_operand,
2745 any_memory_operand, reg_not_elim_operand, normal_memory_operand,
2746 reg_no_subreg_operand, addition_operation): Move to predicates.md.
2747 (reg_or_const_int_operand): Remove. Replace all users with
2748 reg_or_cint_operand.
2749 (tls_symbolic_operand_1): Export. Don't check mode or for CONST.
2750 (resolve_reload_operand): Split out of aligned_memory_operand.
2751 * config/alpha/alpha-protos.h: Update for exports.
2752 * config/alpha/alpha.h (PREDICATE_CODES): Remove.
2753 * config/alpha/alpha.md: Include predicates.md.
2754 * config/alpha/predicates.md: New file.
2755
1e9c8405
RS
27562004-08-13 Richard Sandiford <rsandifo@redhat.com>
2757
2758 * genattrtab.c (insn_ent): Replace insn_code, insn_index and lineno
2759 fields with a pointer to the instruction definition.
2760 (get_attr_value, fill_attr, make_length_attrs, remove_insn_ent)
2761 (insert_insn_ent, simplify_test_exp, optimize_attrs, write_attr_get)
2762 (write_attr_case, write_const_num_delay_slots): Update accordingly.
2763 (write_attr_case, write_const_num_delay_slots): Write the name of
2764 an insn next to its case statement.
2765 * genoutput.c (data): Add a filename field.
2766 (gen_insn, gen_peephole, gen_expand, gen_split): Set it.
2767 (output_insn_data): Print the location of each insn definition.
2768 * genrecog.c (write_action): Print the name of an insn above
2769 the statement that returns its code.
2770
1e5f1716
AP
27712004-08-12 Andrew Pinski <pinskia@physics.uc.edu>
2772
2773 * config/darwin-c.c (find_subframework_file): Fix spelling of cannot.
2774 * config/libgloss.h: Likewise.
2775 * config/arm/arm.c (arm_gen_load_multiple): Likewise.
2776 * c4x/c4x-modes.def: Likewise.
2777 * config/c4x/c4x.c (c4x_hard_regno_rename_ok): Likewise.
2778 (c4x_rptb_nop_p): Likewise.
2779 (c4x_rptb_valid_p): Likewise.
2780 (c4x_rptb_insert): Likewise.
2781 (c4x_address_conflict): Likewise.
2782 * config/c4x/c4x.md: Likewise.
2783 * config/frv/frv.md: Likewise.
2784 * config/i386/athlon.md: Likewise.
2785 * config/i386/i386.md: Likewise.
2786 * config/i386/predicates.md: Likewise.
2787 * config/ia64/ia64.c: Likewise.
2788 * config/ia64/itanium1.md: Likewise.
2789 * config/ia64/itanium2.md: Likewise.
2790 * config/iq2000/iq2000.md: Likewise.
2791 * config/mcore/mcore.c: Likewise.
2792 * config/mips/mips.c: Likewise.
2793 * config/mips/r3900.h: Likewise.
2794 * config/mips/sb1.md: Likewise.
2795 * config/pa/milli64.S: Likewise.
2796 * config/pa/pa.c: Likewise.
2797 * config/pa/pa.h: Likewise.
2798 * config/rs6000/8540.md: Likewise.
2799
9bcc9490
DB
28002004-08-13 Daniel Berlin <dberlin@dberlin.org>
2801
2802 * Makefile.in (BOOT_CFLAGS): Remove accidental addition of -dU.
2803
68fe56fc
R
28042004-08-13 J"orn Rennecke <joern.rennecke@superh.com>
2805
2806 * sh.md (cbranch define_delay) Use cond_delay_slot for
2807 non-anulled condition too.
2808
85d346f1
DE
28092004-08-12 David Edelsohn <edelsohn@gnu.org>
2810
2811 * config/rs6000/rs6000.c (any_parallel_operand): New predicate.
2812 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
2813 any_parallel_operand, lmw_operation, stmw_operation,
a688b3ac 2814 mfcr_operation, mtcrf_operation. Remove PARALLEL from any_operand.
85d346f1
DE
2815 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Use
2816 any_parallel_operand.
2817 (return_and_restore_fpregs_{si,di}): Same.
2818
47d2cee5
ZW
28192004-08-12 Zack Weinberg <zack@codesourcery.com>
2820
2821 * genrecog.c (add_to_sequence): When processing a MATCH_PARALLEL,
2822 if pred->singleton != PARALLEL, issue a warning and pretend it was.
2823 Also issue a warning for any predicate we don't know about.
2824
8fe75e43
RH
28252004-08-12 Richard Henderson <rth@redhat.com>
2826
2827 * config/i386/i386.c (internal_label_prefix): Export.
2828 (internal_label_prefix_len, struct ix86_address,
2829 ix86_decompose_address, maybe_get_pool_constant,
2830 ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes,
2831 memory_address_length): Export.
47d2cee5 2832 (any_fp_register_operand, fp_register_operand,
8fe75e43 2833 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand,
47d2cee5 2834 x86_64_general_operand, x86_64_szext_general_operand,
8fe75e43
RH
2835 x86_64_nonmemory_operand, x86_64_movabs_operand,
2836 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
2837 x86_64_zext_immediate_operand, const_int_1_31_operand,
2838 symbolic_operand, pic_symbolic_operand, local_symbolic_operand,
2839 tls_symbolic_operand, global_dynamic_symbolic_operand,
2840 local_dynamic_symbolic_operand, initial_exec_symbolic_operand,
2841 local_exec_symbolic_operand, call_insn_operand, sibcall_insn_operand,
2842 constant_call_address_operand, const0_operand, const1_operand,
2843 const248_operand, const_0_to_3_operand, const_0_to_7_operand,
2844 const_0_to_15_operand, const_0_to_255_operand, incdec_operand,
2845 shiftdi_operand, reg_no_sp_operand, mmx_reg_operand,
2846 general_no_elim_operand, nonmemory_no_elim_operand,
2847 index_register_operand, q_regs_operand, flags_reg_operand,
2848 non_q_regs_operand, zero_extended_scalar_load_operand,
2849 vector_move_operand, no_seg_address_operand, sse_comparison_operator,
47d2cee5 2850 ix86_comparison_operator, ix86_carry_flag_operator,
8fe75e43
RH
2851 fcmov_comparison_operator, promotable_binary_operator,
2852 cmp_fp_expander_operand, ext_register_operand, binary_fp_operator,
47d2cee5 2853 mult_operator, div_operator, arith_or_logical_operator,
8fe75e43
RH
2854 memory_displacement_operand, cmpsi_operand, long_memory_operand,
2855 aligned_operand): Move to predicates.md as define_predicates.
2856 (tls_symbolic_operand_1): Remove.
2857 (x86_64_sign_extended_value): Merge into x86_64_immediate_operand.
2858 (x86_64_zero_extended_value): Merge into x86_64_zext_immediate_operand.
2859 (legitimize_address): Merge tls_symbolic_operand contents.
2860 (ix86_expand_move): Likewise.
2861 * config/i386/i386-protos.h: Update for exports.
2862 * config/i386/i386.h (EXTRA_CONSTRAINT): Update for renames.
2863 (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Remove.
2864 * config/i386/i386.md: Include predicates.md.
2865 * config/i386/predicates.md: New file.
2866
ea3d83a7
MM
28672004-08-13 Mark Mitchell <mark@codesourcery.com>
2868
2869 PR c++/16924
2870 * config/i386/winnt.c (i386_pe_mark_dllexport): Set
2871 SYMBOL_REF_DECL.
2872 (i386_pe_mark_dllimport): Likewise.
2873 (i386_pe_encode_section_info): Likewise, when overriding
2874 dllimport attribute.
2875
414adbdd
GK
28762004-08-12 Geoffrey Keating <geoffk@apple.com>
2877
2878 * configure.ac: When testing for flex, nm, ar, and bison, check
2879 that they will actually be built.
2880 * configure: Regenerate.
2881
c5443745
UW
28822004-08-12 Ulrich Weigand <uweigand@de.ibm.com>
2883
2884 * config/s390/s390.h (MAX_FIXED_MODE_SIZE): Define.
2885 (MOVE_MAX_PIECES): Define.
2886
8fa5469d
DP
28872004-08-12 Devang patel <dpatel@apple.com>
2888
2889 * dbxout.c (dbxout_begin_prologue): New function.
2890 (dbx_debug_hooks): Use new begin prologue hook.
2891 (dbxout_function_end): Emit N_ENSYM.
2892 * stab.def (N_BNSYM, N_ENSYM): Define and document these two new stabs.
47d2cee5 2893
b0b343db
JJ
28942004-08-12 Janis Johnson <janis187@us.ibm.com>
2895
e390eb0a
JJ
2896 * config/rs6000/altivec.h (vec_dst): Fix C++ functions whose first
2897 argument is float*.
2898
e34b6648
JJ
2899 * config/rs6000/rs6000.c (altivec_init_builtins): Fix argument type
2900 for vec_dss.
2901
b0b343db
JJ
2902 * doc/extend.texi (AltiVec builtins): Fix description for recent
2903 changes. Update operation list to match current support.
2904
adf39f8f
AK
29052004-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
2906
2907 * config/s390/s390.c (struct s390_frame_layout): New struct as element
2908 of struct machine_function.
2909 (cfun->machine->frame_size): Moved into cfun->machine->frame_layout and
2910 changed all uses.
2911 (cfun->machine->save_fprs_p): Replaced by cfun_save_high_fprs and
2912 changed all uses.
2913 (cfun_frame_layout, cfun_save_high_fprs_p, cfun_gprs_save_area_size)
2914 (cfun_set_fpr_bit, cfun_fpr_bit_p): New macros.
2915 (s390_frame_area, s390_register_info): New functions.
2916 (s390_optimize_prolog): Renamed to s390_optimize_prologue. Added check
2917 for base register.
2918 (s390_return_addr_rtx, s390_return_address_offset)
2919 (s390_va_start, s390_gimplify_va_arg)
2920 (s390_emit_prologue, s390_emit_epilogue): Adjusted for new stack
2921 layouts.
2922 (s390_frame_info): Functionality partly moved to s390_register_info.
2923 Made adaptions for new stack layout.
2924 (save_gprs, restore_gprs): Changed meaning of second parameter and
2925 adapted all callers.
2926
2927 * config/s390/s390.h (s390_backchain_string): New global variable.
2928 (MASK_BACKCHAIN): Removed definition.
2929 (TARGET_BACKCHAIN): Changed check.
2930 (TARGET_KERNEL_BACKCHAIN): New macro.
2931 (TARGET_SWITCHES): Removed entries of "backchain" and "no-backchain".
2932 (TARGET_OPTIONS): Added "backchain", "no-backchain" and
2933 "kernel-backchain".
2934 (DYNAMIC_CHAIN_ADDRESS): Adjusted for new stack layouts.
2935
2936 * config/s390/s390.md ("allocate_stack"): Added TARGET_KERNEL_BACKCHAIN
2937 as condition. Adjusted for new stack layout.
2938
2939 * doc/invoke.texi: Added documentation for new option
2940 "-mkernel-backchain" and adjusted documentation of "-mbackchain" and
2941 "-mno-backchain".
2942
db151e9d
PB
29432004-08-12 Paul Brook <paul@codesourcery.com>
2944
2945 * config/arm/lib1funcs.asm (ARM_FUNC_ALIAS): Also alias _L__name.
2946 (aeabi_uidivmod, aeabi_idivmod): Provide thumb implementation.
2947
02b75262
DD
29482004-08-12 David Daney <ddaney@avtrex.com>
2949
db151e9d 2950 * java/gcj.texi: Add subsection on signal usage.
02b75262 2951
f64d6991
DE
29522004-08-12 David Edelsohn <edelsohn@gnu.org>
2953
2954 * expr.c (move_by_pieces): Set alignment for move to minimum of
2955 MOVE_MAX_PIECES mode alignment and the largest non-slow mode
2956 alignment, but not less than the original alignment.
2957 (move_by_pieces_ninsns): Same.
2958 (can_store_by_pieces): Similar for store with STORE_MAX_PIECES.
2959 (store_by_pieces_1): Same.
2960
c597ef4e
DN
29612004-08-12 Diego Novillo <dnovillo@redhat.com>
2962
2963 PR tree-optimization/16867
2964 * tree.c (is_global_var): New function.
2965 (needs_to_live_in_memory): Check for TREE_ADDRESSABLE.
2966 Call is_global_var.
2967 * tree.h (DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL): Remove.
2968 Update all users.
2969 (is_global_var): Declare.
2970 * tree-dfa.c (dump_variable): Display global and addressable
2971 attributes.
2972 (add_referenced_var): Clarify documentation when marking
2973 variables call-clobbered.
2974 * tree-flow-inline.h (is_call_clobbered): Call is_global_var
2975 instead of needs_to_live_in_memory.
2976 (mark_call_clobbered): If the variable is a tag, mark it
2977 DECL_EXTERNAL.
2978 * tree-gimple.c (is_gimple_reg): Don't check for
2979 TREE_ADDRESSABLE.
2980 (is_gimple_non_addressable): Likewise.
2981 * tree-ssa-alias.c (get_nmt_for): Always check whether the tag
2982 needs to be marked call-clobbered.
2983 (setup_pointers_and_addressables): Call is_global_var instead
2984 of needs_to_live_in_memory.
2985 * tree-ssa-dce.c (need_to_preserve_store): Remove.
2986 Update all users with is_global_var.
2987 (mark_stmt_if_obviously_necessary): Fix processing of aliased
2988 stores. Don't check the virtual definitions. Rather, check
2989 whether the store is going into global memory.
2990 (find_obviously_necessary_stmts): Get the symbol from the PHI
2991 result.
2992 * tree-ssa-operands.c (get_call_expr_operands): Do not add
2993 clobbering may-defs if the call does not have side effects.
2994
ab5c8549
JJ
29952004-08-12 Jakub Jelinek <jakub@redhat.com>
2996
2997 PR c++/16276
2998 * output.h (default_function_rodata_section,
2999 default_no_function_rodata_section): New prototypes.
3000 * target.h (struct gcc_target): Add asm_out.function_rodata_section.
3001 * target-def.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
3002 (TARGET_ASM_OUT): Add it.
3003 * varasm.c (default_function_rodata_section,
3004 default_no_function_rodata_section): New functions.
3005 * final.c (final_scan_insn): Call
3006 targetm.asm_out.function_rodata_section instead of
3007 readonly_data_section.
3008 * config/darwin.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
3009 * config/mcore/mcore.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
3010 * config/ip2k/ip2k.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
3011 * config/rs6000/xcoff.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
3012 Likewise.
3013 * config/alpha/alpha.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
3014 * config/i386/cygming.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
3015 Likewise.
3016 * config/i386/i386-interix.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
3017 Likewise.
3018 * config/arm/pe.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
3019 * config/avr/avr.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
3020 * doc/tm.texi (TARGET_ASM_FUNCTION_RODATA_SECTION): Document.
3021
5cf58f28
PB
30222004-08-12 Paul Brook <paul@codesourcery.com>
3023
3024 * dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh
3025 frame info.
3026 * doc/tm.texi: Document interaction between TARGET_UNWIND_INFO and
3027 DWARF2_UNWIND_INFO.
3028
87e184d1
BE
30292004-08-12 Ben Elliston <bje@au.ibm.com>
3030
3031 PR target/16286
3032 * config/rs6000/altivec.h: Change vector to __vector throughout.
3033 (Except for the `vector' macro itself).
3034
e543e219
ZW
30352004-08-12 Zack Weinberg <zack@codesourcery.com>
3036
3037 * genpreds.c: Add capability to generate predicate bodies as
3038 well as function prototypes. Write function prototypes for
3039 the generic predicates too.
3040 (process_define_predicate, write_tm_preds_h, write_insn_preds_c)
3041 (write_predicate_subfunction, mark_mode_tests, add_mode_tests)
3042 (write_match_code, write_predicate_expr, write_one_predicate_function)
3043 (parse_option): New functions.
3044 (output_predicate_decls): Delete.
3045 (main): Read the machine description, process DEFINE_PREDICATE or
3046 DEFINE_SPECIAL_PREDICATE patterns, write tm-preds.h or insn-preds.c
3047 as appropriate.
3048
3049 * genrecog.c (struct decision_test): Replace index with
3050 struct pred_data pointer.
3051 (next_index): Remove, unused.
3052 (pred_table, preds, special_mode_pred_table): Delete.
3053 (compute_predicate_codes, process_define_predicate): New functions.
3054 (validate_pattern, add_to_sequence, write_switch): Update for
3055 new data structures.
3056 (main): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
3057 Check both error_count and have_error.
3058
3059 * gensupport.c (in_fname, first_predicate): New globals.
3060 (define_pred_queue, define_pred_tail): New RTL-pattern queue.
3061 (predicate_table, last_predicate, old_pred_table)
3062 (old_special_pred_table): New statics.
3063 (hash_struct_pred_data, eq_struct_pred_data, lookup_predicate)
3064 (add_predicate, init_predicate_table): New functions.
3065 (process_rtx): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
3066 (init_md_reader_args_cb): Use the global in_fname. No need to zero
3067 it or max_include_len. Call init_predicate_table.
3068 (read_rtx): Run the predicate queue after the attribute queue
3069 but before all the others.
3070 * gensupport.h (in_fname, struct pred_data, first_predicate)
3071 (lookup_predicate, add_predicate, FOR_ALL_PREDICATES): Declare.
3072 * rtl.def (MATCH_CODE, MATCH_TEST, DEFINE_PREDICATE)
3073 (DEFINE_SPECIAL_PREDICATE): New RTL codes.
3074 * dummy-conditions.c: Don't include bconfig.h, system.h,
3075 coretypes.h, tm.h, or system.h. Do include stddef.h.
3076 Duplicate declaration of struct c_test from gensupport.h.
3077
3078 * Makefile.in (OBJS-common): Add insn-preds.o.
3079 (STAGESTUFF, .PRECIOUS): Add insn-preds.c.
3080 (insn-preds.c, insn-preds.o): New rules.
3081 (s-preds): Also generate insn-preds.c.
3082 (dummy-conditions.o, genpreds$(build_exeext), genpreds.o):
3083 Update dependencies.
3084 (print-rtl.o, print-rtl1.o): Correct dependencies.
3085
3086 * recog.h: Delete prototypes of predicate functions.
3087
3088 * doc/md.texi (Predicates): New section with complete
3089 documentation of operand/operator predicates. Remove some
3090 incomplete documentation of predicates from other places.
3091 * doc/tm.texi (Misc): Move SPECIAL_MODE_PREDICATES next to
3092 PREDICATE_CODES; indicate that both are deprecated in favor
3093 of define_predicate/define_special_predicate.
3094
3095 * config/ia64/ia64.c: All predicate function definitions moved
3096 to ia64.md, except
3097 (small_addr_symbolic_operand, tls_symbolic_operand): Delete.
3098 (ia64_expand_load_address, ia64_expand_move):
3099 Check SYMBOL_REF_TLS_MODEL directly, don't use tls_symbolic_operand.
3100
3101 * config/ia64/ia64.md: All predicates now defined here.
3102 (symbolic_operand): Is now a special predicate.
3103
3104 * config/ia64/ia64.h: Declare ia64_section_threshold.
3105 (PREDICATE_CODES): Delete.
3106
174283a3
RH
31072004-08-12 Richard Henderson <rth@redhat.com>
3108
3109 * c-common.h (STATEMENT_LIST_HAS_LABEL): New.
3110 * c-semantics.c (add_stmt): Set it.
3111 * c-decl.c (finish_decl): Use it to create a new BIND_EXPR
3112 before instantiating a variable sized type.
3113
15931954
RH
31142004-08-12 Richard Henderson <rth@redhat.com>
3115
3116 * stor-layout.c (round_up, round_down): Move ...
e543e219 3117 * fold-const.c (round_up, round_down): ... here. Use
15931954
RH
3118 multiple_of_p to avoid any arithmetic at all.
3119
57d1dd87
RH
31202004-08-12 Richard Henderson <rth@redhat.com>
3121
3122 * gimplify.c (struct gimplify_init_ctor_preeval_data): New.
3123 (gimplify_init_ctor_preeval_1): New.
3124 (gimplify_init_ctor_preeval): New.
3125 (gimplify_init_ctor_eval): New.
3126 (gimplify_init_constructor): Use them. Always gimplify the LHS
3127 object first.
3128
46e34f96
ZL
31292004-08-12 Ziemowit Laski <zlaski@apple.com>
3130
3131 (This patch is part of merge of objc-improvements-branch
3132 into mainline.)
3133
3134 * doc/frontends.texi: Mention Objective-C++ in addition to
3135 Objective-C.
3136 * doc/install.texi: Add 'obj-c++' to list of configurable
3137 languages.
3138 * doc/invoke.texi: Rename Objective-C option headings to
3139 indicate they also apply to Objective-C++. List file
3140 extensions for Objective-C++ sources. Mention that
3141 ObjC and ObjC++ compilations may also use C and C++ options,
3142 respectively. Point users to doc/standards.texi for
3143 further info on ObjC and ObjC++.
3144 * doc/sourcebuild.texi: Mention the objcp/ directory and
3145 the Objective-C++ sources it contains.
3146 * doc/standards.texi: Update link to Apple ObjC site;
3147 add link to gcc readings.html WWW doc.
3148
07f12d8b
AM
31492004-08-12 Alan Modra <amodra@bigpond.net.au>
3150
3151 * config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28
3152 and 2004-07-14 changes.
3153
89aa5a20
PB
31542004-08-12 Paul Brook <paul@codesourcery.com>
3155
3156 * doc/invoke.texi: Fix typo.
3157
5079843a
DP
31582004-08-11 Devang Patel <dpatel@apple.com>
3159
3160 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip
3161 and -no_dead_strip_inits_and_terms.
3162 (LINK_SPEC): Same.
3163 * doc/invoke.texi (Darwin Options): Document -dead_strip and
3164 -no_dead_strip_inits_and_terms.
e543e219 3165
876f13b0
PB
31662004-08-11 Paul Brook <paul@codesourcery.com>
3167
3168 * config/arm/arm-protos.h (arm_finalize_pic) Rename ...
3169 (arm_load_pic_register): ... to this.
3170 * config/arm/arm.c (arm_finalize_pic): Rename ...
3171 (arm_load_pic_register): ... to this. Always output insns at the
3172 current location. Load via low reg in thumb mode.
3173 (arm_expand_prologue): Call arm_load_pic_register.
3174 (thumb_expand_prologue): Ditto.
3175 * config/arm/arm.h (FINALIZE_PIC): Remove.
3176 * config/arm/arm.md (builtin_setjmp_receiver): Call
3177 arm_load_pic_register.
3178
57934c39
PB
31792004-08-11 Paul Brook <paul@codesourcery.com>
3180
3181 * arm.c (thumb_force_lr_save): Add prototype.
3182 (thumb_compute_save_reg_mask): New function.
3183 (thumb_find_work_register): New function.
3184 (arm_get_frame_offsets): Use thumb_compute_save_reg_mask.
3185 (thumb_unexpanded_epilogue): Ditto. Remove redundant code.
3186 Don't clobber r3 when removing pretend args.
3187 (thumb_expand_prologue): Use thumb_compute_save_reg_mask.
3188 (thumb_output_function_prologue): Use new functions.
3189 (thumb_set_return_address): Use thumb_compute_save_reg_mask.
3190 * arm.h (THUMB_REG_PUSHED_P): Remove.
3191
af874237
JW
31922004-08-11 James E Wilson <wilson@specifixinc.com>
3193
3194 PR rtl-optimization/16490
3195 * cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
3196 global_live_at_end for new basic block if already set for other blocks.
3197
c1618c0c
DE
31982004-08-11 David Edelsohn <edelsohn@gnu.org>
3199
3200 * config/rs6000/rs6000.h (MAX_FIXED_MODE_SIZE): Define.
3201
3202 * config/rs6000/rs6000.md (mfcr rlwinm patterns): Set length to 8.
3203 (mfcr rlwinm rlwinm patterns): Set length to 12.
3204
1a24f92f
AM
32052004-08-11 Andrew MacLeod <amacleod@redhat.com>
3206
3207 * tree-flow-inline.h (get_def_ops, get_use_ops, get_v_may_def_ops,
3208 get_vuse_ops,get_v_must_def_ops): Add operand structure reference.
3209 (get_v_may_def_result_ptr, get_v_may_def_op_ptr): New access struct.
3210 (start_ssa_stmt_operands): Delete.
e543e219 3211 * tree-flow.h (struct stmt_ann_d): Replace operand vectors with new
1a24f92f
AM
3212 struct stmt_operands_d.
3213 (build_ssa_operands): New extern entry point.
e543e219 3214 * tree-ssa-dom.c (record_equivalences_from_stmt): Remove operand
1a24f92f
AM
3215 building code, replace with create_ssa_artficial_load_stmt().
3216 * tree-ssa-operands.c (struct voperands_d): Delete.
3217 (allocate_v_may_def_optype): Allocate v_may_def_operand_type_t vector.
3218 (allocate_v_must_def_optype): Use sizeof (tree), not sizeof (tree *).
e543e219 3219 (free_uses, free_defs, free_vuses, free_v_may_defs,
1a24f92f
AM
3220 free_v_must_defs): Remove dealloc parameter.
3221 (remove_vuses, remove_v_may_def, remove_v_must_defs): Delete.
3222 (finalize_ssa_defs, finalize_ssa_uses, finalize_ssa_v_may_defs,
3223 finalize_ssa_vuses, finalize_ssa_v_must_defs): Perform all operand
3224 vector comparisons, ssa_name reuse, and allocations here.
3225 (verify_start_operands): Delete.
3226 (finalize_ssa_stmt_operands): Set new operands by calling finalize
3227 routines.
3228 (start_ssa_stmt_operands): Move from tree-flow-inline.h.
3229 (append_def, append_usei): Simplify to simple accumulation.
3230 (append_v_may_def, append_vuse, append_v_must_def): Simplify to avoiding
3231 duplicates and simple accumulation.
3232 (free_ssa_operands): Free vectors in a stmt_operand structure.
3233 (build_ssa_operands): New. Create a new stmt_operand structure from
e543e219 3234 a stmt and an old set of stmt_operands.
1a24f92f
AM
3235 (get_stmt_operands): Simplify and call build_ssa_operands.
3236 (get_expr_operands, get_asm_expr_operands, get_indirect_ref_operands,
3237 get_call_expr_operands, add_stmt_operand, add_call_clobber_ops,
3238 add_call_read_ops): Don't pass prev_vops around anymore.
3239 (note_addressable): Return if no stmt annotation.
3240 (copy_virtual_operands): Access v_may_def operands through a struct.
3241 (create_ssa_artficial_load_stmt): New. Create a load stmt for DOM's
3242 hash tables without treating the stmt as a real stmt.
3243 * tree-ssa-operands.h (struct v_may_def_operand_type): New. Access
3244 v_may_def def and use through a struct instead of 2 array elements.
3245 (struct v_may_def_optype_d): Use v_may_def_operand_type.
3246 (struct stmt_operands_d): New. Struct for storing all operand vectors.
3247
a77655b1
NC
32482004-08-11 Nick Clifton <nickc@redhat.com>
3249
3250 * config/arm/arm.c (arm_is_longcall_p): Update comment describing
3251 this funciton's behaviour. Return true when the current function
3252 has a section attribute and -mlong-calls is in effect.
3253 * config/arm/arm.h (ARM_DECLARE_FUNCTION_SIZE): Do not set the
3254 short-call marker when -mlong-calls is in effect and the function
3255 has a section attribute.
3256
6f4a43e0
ZW
32572004-08-10 Zack Weinberg <zack@codesourcery.com>
3258
3259 * stmt.c (expand_return): If asked to return the RESULT_DECL,
3260 just call expand_value_return on result_rtl.
3261
1a186ec5
RH
32622004-08-10 Richard Henderson <rth@redhat.com>
3263
3264 * builtins.def (BUILT_IN_STACK_ALLOC): Remove.
3265 * builtins.c (expand_builtin) <BUILT_IN_STACK_ALLOC>: Remove.
3266 * dwarf2out.c (loc_descriptor): Handle PARALLEL here ...
3267 (add_location_or_const_value_attribute): ... not here. Use
3268 loc_descriptor_from_tree if possible.
3269 (loc_descriptor_from_tree_1): Rename from loc_descriptor_from_tree.
3270 Simplify address handling. Handle DECL_VALUE_EXPR. Handle register
3271 values specially.
3272 (loc_descriptor_from_tree): New. Update callers.
3273 * expr.c (expand_var): Ignore DECL_VALUE_EXPR variables.
3274 * gimplify.c (gimplify_decl_expr): Lower variable sized types to
3275 pointer plus dereference. Set DECL_VALUE_EXPR. Set save_stack.
3276 (gimplify_call_expr): Do not recognize BUILT_IN_STACK_ALLOC
3277 and BUILT_IN_STACK_RESTORE.
3278 (gimplify_expr): Lower DECL_VALUE_EXPR decls.
3279 * stmt.c (expand_stack_alloc): Remove.
3280 * tree-mudflap.c (mx_register_decls): Don't look for
3281 BUILT_IN_STACK_ALLOC.
3282 * tree-nested.c (convert_local_reference): Likewise.
3283 * tree.h (DECL_VALUE_EXPR): New.
3284
7109c195
RH
32852004-08-10 Richard Henderson <rth@redhat.com>
3286
bf4ccdd6
RH
3287 * stor-layout.c (round_up): Check for 0/1 before dividing.
3288 (round_down): Likewise.
3289
7109c195
RH
3290 * tree-tailcall.c (suitable_for_tail_opt_p): Also check DECL_EXTERNAL.
3291
b3f8d95d
MM
32922004-08-09 Mark Mitchell <mark@codesourcery.com>
3293
3294 * config.gcc (arm*-*-eabi*): New target.
3295 * defaults.h (TARGET_LIBGCC_FUNCS): New macro.
3296 (TARGET_LIB_INT_CMP_BIASED): Likewise.
3297 * expmed.c (expand_divmod): Try a two-valued divmod function as a
3298 last resort.
3299 * gthr.h: Remove bogus tokens at end of #pragma.
3300 * optabs.c (expand_twoval_binop_libfunc): New function.
3301 (prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case.
3302 (prepare_float_lib_cmp): Try reversing the condition.
3303 (debug_optab_libfuncs): New function.
3304 * optabs.h (expand_twoval_binop_libfunc): Declare.
3305 * config/arm/arm.c (arm_init_libfuncs): New function.
3306 (arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT.
3307 (TARGET_INIT_LIBFUNCS): Define it.
3308 * config/arm/arm.h (TARGET_BPABI): New macro.
3309 * config/arm/arm-protos.h
3310 (arm_compute_initial_elimination_offset): Return HOST_WIDE_INT.
3311 * config/arm/bpabi.S: New file.
3312 * config/arm/bpabi.c: Likewise.
3313 * config/arm/bpabi.h: Likewise.
3314 * config/arm/ieee754-df.S (__aeabi_dneg): New function or alias.
3315 (__aeabi_drsub): Likewise.
3316 (__aeabi_dsub): Likewise.
3317 (__aeabi_dadd): Likewise.
3318 (__aeabi_ui2d): Likewise.
3319 (__aeabi_i2d): Likewise.
3320 (__aeabi_f2d): Likewise.
3321 (__aeabi_dmul): Likewise.
3322 (__aeabi_ddiv): Likewise.
3323 (__aeabi_cdrcmple): Likewise.
3324 (__aeabi_cdcmpeq): Likewise.
3325 (__aeabi_cdcmple): Likewise.
3326 (__aeabi_dcmpeq): Likewise.
3327 (__aeabi_dcmplt): Likewise.
3328 (__aeabi_dcmple): Likewise.
3329 (__aeabi_dcmpge): Likewise.
3330 (__aeabi_dcmpgt): Likewise.
3331 (__aeabi_dcmpun): Likewise.
3332 (__aeabi_d2iz): Likewise.
3333 (__aeabi_d2uiz): Likewise.
3334 (__aeabi_d2f): Likewise.
3335 * config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias.
3336 (__aeabi_frsub): Likewise.
3337 (__aeabi_fsub): Likewise.
3338 (__aeabi_fadd): Likewise.
3339 (__aeabi_ui2f): Likewise.
3340 (__aeabi_i2f): Likewise.
3341 (__aeabi_fmul): Likewise.
3342 (__aeabi_fdiv): Likewise.
3343 (__aeabi_cfrcmple): Likewise.
3344 (__aeabi_cfcmpeq): Likewise.
3345 (__aeabi_cfcmple): Likewise.
3346 (__aeabi_fcmpeq): Likewise.
3347 (__aeabi_fcmplt): Likewise.
3348 (__aeabi_fcmple): Likewise.
3349 (__aeabi_fcmpge): Likewise.
3350 (__aeabi_fcmpgt): Likewise.
3351 (__aeabi_fcmpun): Likewise.
3352 (__aeabi_f2iz): Likewise.
3353 (__aeabi_f2uiz): Likewise.
3354 * config/arm/lib1funcs.asm (ARM_CALL): New macro.
3355 (__aeabi_uidivmod): New function or alias.
3356 (__aeabi_idivmod): Likewise.
3357 (__aeabi_idiv0): Likewise.
3358 (__aeabi_ldiv0): Likewise.
3359 (__aeabi_llsr): Likewise.
3360 (__aeabi_lasr): Likewise.
3361 (__aeabi_llsl): Likewise.
3362 (bpabi.S): Include it.
3363 * config/arm/libgcc-bpabi.ver: New file.
3364 * config/arm/symbian.h (ARM_DEFAULT_ABI): Remove.
3365 (LINK_SPEC): Remove.
3366 * config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and
3367 __aeabi_ulcmp.
3368 * config/arm/t-bpabi: New file.
3369 * doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry.
3370 (TARGET_LIB_INT_CMP_BIASED): Likewise.
6f4a43e0 3371
fba73eb1
DE
33722004-08-10 David Edelsohn <edelsohn@gnu.org>
3373
3374 * config/rs6000/rs6000-protos.h (expand_block_clear): Declare.
3375 * config/rs6000/rs6000.md (clrmemsi): New pattern.
3376 * config/rs6000/rs6000.c (expand_block_clear): New function.
3377 (expand_block_move): Convert alignment to bits. Use SImode and
3378 HImode for unaligned addresses if not STRICT_ALIGNMENT.
3379
33802004-08-10 Caroline Tice <ctice@apple.com>
c295317d
CT
3381
3382 * varasm.c (unlikely_section_label): New global variable.
3383 (unlikely_text_section_name): New global variable.
3384 (text_section): Remove alignment statement.
6f4a43e0 3385 (unlikely_text_section): Remove alignment statement; use
c295317d
CT
3386 unlikely_section_label rather than hard-coded string.
3387 (assemble_start_function): Initialize unlikely_section_label and
3388 unlikely_text_section_name; make sure cold section is properly
3389 aligned at start of function; output unlikely_section_label if
3390 appropriate.
3391
68f9c5e2
UW
33922004-08-10 Ulrich Weigand <uweigand@de.ibm.com>
3393
3394 * config/s390/s390-protos.h (s390_canonicalize_comparison): Declare.
3395 * config/s390/s390.c (s390_canonicalize_comparison): New function.
3396 * config/s390/s390.h (CANONICALIZE_COMPARISON): Define.
3397 * config/s390/s390.md ("*tmdi_ext", "*tmsi_ext", "*tmqisi_ext",
3398 "*tmqidi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem"): Remove.
3399 ("*tmqi_mem"): Remove SUBREG from pattern.
3400 ("*anddi3_cconly"): Prevent accidentally matching TM pattern.
3401 ("*andsi3_cconly"): Likewise.
6f4a43e0 3402
22116d84
L
34032004-08-10 H.J. Lu <hongjiu.lu@intel.com>
3404
3405 PR target/16909
3406 * config/i386/i386.md (*strsetdi_rex_1): Use DI instead of SI.
3407
c75095b2
JJ
34082004-08-10 Janis Johnson <janis187@us.ibm.com>
3409
3410 * doc/sourcebuild.texi (compat testing): Document available test
3411 framework commands. Use the preferred spelling of DejaGnu.
3412
98975653
DB
34132004-08-10 Daniel Berlin <dberlin@dberlin.org>
3414
3415 * lambda.h: Add matrix type, and prototypes for remainder of
3416 matrix and vector functions.
3417 (lambda_vector_mult_const): New function.
3418 (lambda_vector_negate): Ditto.
3419 (lambda_vector_add): Ditto.
3420 (lambda_vector_add_mc): Ditto.
3421 (lambda_vector_copy): Ditto.
3422 (lambda_vector_zerop): Ditto.
3423 (lambda_vector_equal): Ditto.
3424 (lambda_vector_min_nz): Ditto.
3425 (lambda_vector_first_nz): Ditto.
3426 (lambda_vector_matrix_mult): Ditto.
3427 * lambda-mat.c: New file.
3428 * Makefile.in (lambda-mat.o): New.
3429
68b9f53b
AM
34302004-08-10 Andrew MacLeod <amacleod@redhat.com>
3431
3432 * tree-cfg.c (bsi_insert_before, bsi_insert_after): Call modify_stmt
3433 after linking stmt into the program.
3434 (bsi_remove): Don't call modify_stmt.
6f4a43e0 3435 * tree-complex.c (update_complex_assignment,
68b9f53b 3436 expand_complex_comparison): Call modify_stmt after changing the stmt.
6f4a43e0 3437 * tree-outof-ssa.c (rewrite_trees): Call modify_stmt only if not
68b9f53b
AM
3438 removing the stmt.
3439 * tree-ssa-ccp.c (substitute_and_fold): Call modify_stmt after changing
3440 the stmt, and only if needed.
3441 * tree-ssa-dom.c (thread_across_edge): Pass no annotation for a dummy
3442 expression.
3443 (simplify_rhs_and_lookup_avail_expr): Don't take an annotation param.
3444 (simplify_cond_and_lookup_avail_expr): Use modify_stmt.
3445 (simplify_switch_and_lookup_avail_expr): Don't take an annotation param.
6f4a43e0 3446 (eliminate_redundant_computations): Don't pass an annotation. Call
68b9f53b
AM
3447 modify_stmt rather than setting the annotation directly.
3448 (record_equivalences_from_stmt): Remove unused local 'j'.
3449 (cprop_operand): Take a stmt rather than an annotation as a parameter.
3450 Call modify_stmt.
3451 (cprop_into_stmt): Pass stmt rather than annotation.
3452 (update_rhs_and_lookup_avail_expr): Call modify_stmt.
6f4a43e0 3453 * tree-ssa-loop-im.c (schedule_sm): Call get_stmt_ann rather than
68b9f53b
AM
3454 modify_stmt.
3455 * tree-ssa.c (propagate_into_addr): Dont call modify_stmt.
3456
01c98570
JM
34572004-08-10 Jason Merrill <jason@redhat.com>
3458
6c9c4526 3459 PR middle-end/16948
01c98570
JM
3460 * function.c (expand_function_start): Handle DECL_BY_REFERENCE on
3461 the RESULT_DECL.
3462
b2ddaebb
GK
34632004-08-10 Geoffrey Keating <geoffk@apple.com>
3464
3465 * tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the
3466 hash function.
3467
23657388
RS
34682004-08-10 Roger Sayle <roger@eyesopen.com>
3469
3470 * config/mips/mips.md: New reciprocal square root patterns that
3471 match sqrt(1.0/x) in addition to the existing 1.0/sqrt(x) insns.
3472
c9ca9b88
PB
34732004-08-10 Paul Brook <paul@codesourcery.com>
3474
3475 * config/arm/arm-protos.h (arm_set_return_address,
3476 thumb_set_return_address): Add prototypes.
3477 * config/arm/arm.h (ARM_FT_EXCEPTION_HANDLER): Remove.
3478 * config/arm/arm.c (arm_compute_func_type,
3479 use_return_insn, arm_compute_save_reg0_reg12_mask,
3480 arm_compute_save_reg_mask, arm_output_function_prologue,
3481 arm_output_epilogue): Replace ARM_FT_EXCEPTION_HANDLER with
3482 current_function_calls_eh_return.
3483 (thumb_exit, thumb_pushpop, thumb_unexpanded_epilogue): Replace
3484 old eh code.
3485 (arm_set_return_address, thumb_set_return_address): New functions.
3486 * config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS, DWARF2_UNWIND_INFO,
3487 ARM_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX): Define.
3488 * config/arm/arm.md (VUNSPEC_EH_RETURN): Add.
3489 (epilogue): Use the stackadj register.
3490 (eh_return, arm_eh_return, thumb_eh_return): New pattern.
3491
45d78e7f
JJ
34922004-08-10 Jakub Jelinek <jakub@redhat.com>
3493
3494 PR target/3144
3495 * expr.c (move_by_pieces_ninsns): Add max_size argument.
3496 (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 to it.
3497 (CLEAR_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 to it.
3498 (STORE_BY_PIECES_P): Define similarly to CLEAR_BY_PIECES_P,
3499 but using MOVE_RATIO.
3500 (move_by_pieces): Pass max_size to move_by_pieces_ninsns.
3501 (can_store_by_pieces): Change max_size type to unsigned int.
3502 (store_by_pieces_1): Likewise. Pass max_size to
3503 move_by_pieces_ninsns.
3504 * config/s390/s390.h (STORE_BY_PIECES_P): Define.
3505 * config/sh/sh.c (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1
3506 to move_by_pieces_ninsns.
3507 (STORE_BY_PIECES_P): Define.
3508 * config/ns32k/ns32k.h (STORE_BY_PIECES_P): Pass STORE_MAX_PIECES + 1
3509 to move_by_pieces_ninsns.
3510 * doc/tm.texi (STORE_BY_PIECES_P): Document changed default.
3511
3512 * config/i386/i386.h (CLEAR_RATIO): Define.
3513
25f3e06c
PB
35142004-08-09 Paolo Bonzini <bonzini@gnu.org>
3515
3516 * expr.c (expand_expr_real_1): Add back code that was not dead.
3517
6a3203c8
AP
35182004-08-09 Andrew Pinski <apinski@apple.com>
3519
3520 * c-common.c (c_common_get_alias_set): Set the aliasing set of the type
3521 which is found to be compatible before returning the aliasing set.
3522
b9bfca81
DJ
35232004-08-09 Daniel Jacobowitz <dan@debian.org>
3524
3525 * ggc-zone.c (struct alloc_zone): Add statistics counters.
3526 (always_collect): New flag.
3527 (ggc_alloc_zone_1): Update statistics support. Don't include
3528 overhead in allocated counter.
3529 (sweep_pages): Update allocated counter for large pages. Don'y
3530 include overhead.
3531 (ggc_collect_1): Always collect.
3532 (ggc_collect): Honor always_collect flag. Sum all zones to decide
3533 whether to collect.
3534 (SCALE, LABEL): New macros.
3535 (ggc_print_statistics): Add statistics support.
3536
fdded401
RS
35372004-08-09 Roger Sayle <roger@eyesopen.com>
3538
3539 * expmed.c (sdiv_pow2_cheap, smod_pow2_cheap): Change type to bool.
3540 (init_expmed): Fix potential overrun problem with "all.reg".
3541 (expand_sdiv2_pow2): Add an alternate implementation for signed
3542 division, if the target provides a suitable conditional move insn.
3543
9d8646d7
PB
35442004-08-09 Paul Brook <paul@codesourcery.com>
3545 Richard Henderson <rth@redhat.com>
3546
3547 * unwind-dw2.c (uw_install_context_1): Update target saved stack
3548 pointer.
3549
d37e6b50
GK
35502004-08-09 Geoffrey Keating <geoffk@apple.com>
3551
3552 * ggc-common.c (ggc_rlimit_bound): Don't check RSS limit.
3553 Check DATA limit only if there's no AS limit. Ignore insanely
3554 low DATA limits.
3555 (ggc_min_heapsize_heuristic): Don't divide AS or RSS limits by 8,
3556 but take care that the AS limit isn't overrun.
3557 * doc/invoke.texi: Update documentation of min-heapsize parameter.
3558
56b043c8
JL
35592004-08-09 Jeff Law <law@redhat.com>
3560
3561 * Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c
3562 (tree-ssa-threadupdate.o): Add dependencies.
3563 * tree-ssa-threadupdate.c: New file.
3564 * tree-flow.h (incoming_edge_threaded): New flag in block annotation.
3565 (rewrite_vars_out_of_ssa): Remove prototype.
3566 (cleanup_tree_cfg): Returns a bool.
3567 * tree.h (thread_through_all_blocks): Prototype.
3568 * tree-outof-ssa.c (SSANORM_*): Move into here.
3569 (remove_ssa_form): Now static.
3570 (rewrite_vars_out_of_ssa): Kill.
3571 * tree-ssa-live.c (register_ssa_partitions_for_vars): Kill.
3572 * tree-ssa-live.h (SSANORM_*): Moved into tree-outof-ssa.c.
3573 (remove_ssa_form, register_partitions_for_vars): Kill declarations.
3574 * tree-cfg.c (cleanup_tree_cfg): Return a value indicating if
3575 anything was changed.
3576 * tree-phinodes.c (add_phi_arg): Get the block for the PHI
3577 from the PHI's annotation rather than the edge associated with
3578 the new argument.
3579 * tree-ssa-dom.c (redirection_edges): Kill.
3580 (redirect_edges_and_update_ssa_graph): Kill.
3581 (tree_ssa_dominator_optimize): Do not reset forwardable flag
3582 for blocks anymore. Do not initialize redirection_edges.
3583 Call thread_through_all_blocks. Simplify code for cleanup
3584 of the CFG and iterating. No longer call cleanup_tree_cfg
3585 outside the iteration loop.
3586 (thread_across_edge): No longer mess with forwardable blocks.
3587
9b305d55
ZW
35882004-08-09 Zack Weinberg <zack@codesourcery.com>
3589
3590 * explow.c (memory_address): Use memory_address_p.
3591 * recog.c (general_operand): Likewise.
3592 * regrename.c: No need to define REG_OK_STRICT.
3593
27fb79ad
SB
35942004-08-09 Steven Bosscher <stevenb@suse.de>
3595
3596 * timevar.def (TV_CPROP1, TV_CPROP2, TV_PRE, TV_HOIST, TV_LSM):
3597 New timers.
3598 * gcse.c: Include timevar.h.
3599 (const_prop_count, copy_prop_count): Rename to global_const_prop_count
3600 and global_copy_prop_count.
3601 (local_const_prop_count, local_copy_prop_count): New static globals.
3602 (gcse_main): Set the right timevar for each pass.
3603 (cprop_jump): Increment global_const_prop_count when a constant is
3604 propagated. Add "GLOBAL" to dump output.
3605 (cprop_insn): Increment global_const_prop_count when a constant is
3606 propagated, or global_copy_prop_count when a copy is propagated.
3607 (do_local_cprop): Likewise for local_const_prop_count and
3608 local_copy_prop_count.
3609 (one_cprop_pass): Initialize const/cprop counters to zero.
3610 Print out results of local and global const/cprop separately.
3611 (bypass_block): Break over-length line.
702d4b73
SB
3612 * Makefile.in (gcse.o): Add TIMEVAR_H dependency. Fix dependencies
3613 for bb-reorder.o and tracer.o.
27fb79ad 3614
7efcb746
PB
36152004-08-09 Paolo Bonzini <bonzini@gnu.org>
3616
3617 * Makefile.in (GTFILES): Remove stmt.c
3618 (stmt.o): Do not depend on gt-stmt.h.
3619 * emit-rtl.c (emit_line_note): Do not call
3620 set_file_and_line_for_stmt.
3621 * expr.c (expand_expr_real_1) <SWITCH_EXPR>: Let expand_case
3622 do everything.
3623 * function.c (free_after_parsing): Do not free STMT field.
3624 (allocate_struct_function): Do not call init_stmt_for_function.
3625 (assign_stack_temp_for_type): Do not accept values of keep
3626 other than 0 or 1.
3627 (init_temp_slots): Do not initialize removed variables.
3628 * function.h (struct function): Remove STMT, X_TARGET_TEMP_SLOT_LEVEL
3629 and X_VAR_TEMP_SLOT_LEVEL fields.
3630 * rtl.h (set_file_and_line_for_stmt): Remove.
3631 * stmt.c (struct nesting, ALLOC_NESTING, POPSTACK,
3632 struct stmt_status, cond_stack, case_stack, nesting_stack,
3633 nesting_depth, emit_locus, set_file_and_line_for_stmt,
3634 same_case_target_p, init_stmt_for_function, emit_nop,
3635 expand_start_cond, expand_start_elseif, expand_start_else,
3636 expand_elseif, expand_end_cond): Remove.
3637 (preserve_subexpressions_p): Remove references to CFUN->STMT.
3638 (expand_start_case, expand_end_case_type): Remove, merge into...
3639 (expand_case): ... this one, including other bits from
3640 expand_expr_real_1. Inline same_case_target_p. Turn members
3641 of CASE_STACK into local variables.
3642 (emit_case_bit_tests): Inline same_case_target_p.
3643 (add_case_node): Add HEAD argument, return new head of the list,
3644 do not handle default label here.
3645 * tree.h (expand_start_cond, expand_end_cond, expand_start_else,
3646 expand_start_elseif, current_nesting_level, expand_start_case,
3647 expand_end_case_type, expand_end_case, add_case_node,
3648 init_stmt_for_function, expand_elseif): Remove prototypes.
3649 (expand_case): Add prototype.
3650
c4d70ce3
PB
36512004-08-09 Paolo Bonzini <bonzini@gnu.org>
3652
3653 * expr.c (expand_expr_real_1): Use optab_for_tree_code.
3654
36552004-08-09 Paolo Bonzini <bonzini@gnu.org>
e5bacf32
PB
3656
3657 * expr.c (var_rtx): Remove.
3658 (expand_expr_real_1) <LOOP_EXPR, EXIT_EXPR,
3659 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRUTH_ANDIF_EXPR,
3660 TRUTH_ORIF_EXPR, COMPOUND_EXPR, CONJ_EXPR, INIT_EXPR>:
3661 Abort.
3662 (expand_expr_real_1) <COND_EXPR>: Remove most special cases.
3663 * optabs.c (emit_clr_insn, emit_0_to_1_insn): Remove.
3664 * optabs.h (emit_clr_insn, emit_0_to_1_insn): Remove.
3665
d72372e4
MH
36662004-08-08 Mostafa Hagog <mustafa@il.ibm.com>
3667 Ayal Zaks <zaks@il.ibm.com>
3668
3669 * common.opt (freschedule-modulo-scheduled-loops): New flag.
3670 * final.c (final_scan_insn): Handle NOTE_DISABLE_SCHED_OF_BLOCK.
3671 * modulo-sched.c (sms_schedule): Emit a note to disable scheduling
3672 when -freschedule-modulo-scheduled-loops flag is not specified.
3673 (sms_schedule_by_order, ps_insn_advance_column, add_node_to_ps,
3674 add_node_to_ps, ps_has_conflicts, ps_add_node_check_conflicts):
3675 More accurate placing of insn in row of partial schedule.
3676 (ps_insn_find_column): New function.
3677 * rtl.h (NOTE_DISABLE_SCHED_OF_BLOCK): New note.
3678 * sched-rgn.c (sched_is_disabled_for_current_region_p): New.
3679 (schedule_region): Use sched_is_disabled_for_current_region_p.
3680 * docs/invoke.texi: Document -freschedule-modulo-scheduled-loops.
3681
0737fbff
L
36822004-08-07 H.J. Lu <hongjiu.lu@intel.com>
3683
3684 * config/i386/i386.c (ix86_expand_clrmem): Revert the last
3685 change.
3686
11c4576f
L
36872004-08-07 H.J. Lu <hongjiu.lu@intel.com>
3688
3689 * config/i386/i386.c (ix86_expand_clrmem): Properly call
3690 gen_strset for 64bit target.
3691
34def210
OH
36922004-08-07 Olivier Hainque <hainque@act-europe.fr>
3693
3694 * config/vxworks.h (HANDLE_SYSV_PRAGMA): Remove definition.
3695
5201931e
JM
36962004-08-07 Jason Merrill <jason@redhat.com>
3697
cc77ae10
JM
3698 Make return in memory explicit.
3699 * function.c (aggregate_value_p): Check DECL_BY_REFERENCE.
3700 (assign_parm_find_data_types): Remove code for old front end
3701 invisible reference handling.
3702 (assign_parms): Handle DECL_BY_REFERENCE on the RESULT_DECL.
3703 (expand_function_end): Likewise.
3704 * gimplify.c (gimplify_return_expr): Handle a dereferenced
3705 RESULT_DECL.
3706 * tree-inline.c (copy_body_r): Don't bother looking for &* anymore.
3707 (declare_return_variable): Handle DECL_BY_REFERENCE.
3708 * cp/cp-gimplify.c (is_invisiref_parm): Also handle RESULT_DECL.
3709 (cp_genericize_r): Use convert_from_reference.
3710 Don't dereference a RESULT_DECL directly inside a RETURN_EXPR.
3711 (cp_genericize): Handle the RESULT_DECL. Unset TREE_ADDRESSABLE.
3712
5201931e
JM
3713 * c-common.c (c_warn_unused_result): Check TREE_USED before
3714 warning about a CALL_EXPR with an unused value.
3715
2ed9e527
MM
37162004-08-06 Mark Mitchell <mark@codesourcery.com>
3717
3718 * config/arm/symbian.h (CC1_SPEC): Avoid passing duplicate options
3719 to the compiler. Use -fshort-wchar by default.
3720
12183e0f
PH
37212004-08-06 Pat Haugen <pthaugen@us.ibm.com>
3722
3723 * params.def (PARAM_MIN_CROSSJUMP_INSNS): New.
3724 * cfgcleanup.c (try_crossjump_to_edge): Add minimum insn match
3725 threshhold.
3726 * doc/invoke.texi (param): Document min-crossjump-insns.
3727
eaac4679
RS
37282004-08-06 Richard Sandiford <rsandifo@redhat.com>
3729
3730 PR c/13282
3731 * c.opt (Wmissing-field-initializers): New option.
3732 * c-opts.c (c_common_post_options): Make -Wextra turn it on by default.
3733 * c-typeck.c (pop_init_level): Guard the missing field warning with
3734 warn_missing_field_initializers rather than extra_warnings.
3735 * doc/invoke.texi (-Wmissing-field-initializers): Document, moving
3736 some of the explanation from...
3737 (-Wextra): ...here. Say that the missing field warning can be
3738 seperately controlled by -Wmissing-field-initializers.
3739
caad9f81
PB
37402004-08-06 Paolo Bonzini <bonzini@gnu.org>
3741
3742 * expr.c (expand_expr_real_1) <ENTRY_VALUE_EXPR>: Remove.
3743 * tree-inline.c (estimate_num_insns_1) <ENTRY_VALUE_EXPR>: Remove.
3744 * tree-pretty-print.c (dump_generic_node) <ENTRY_VALUE_EXPR>: Remove.
3745 * tree.def (ENTRY_VALUE_EXPR): Remove.
3746
6b32b628
JJ
37472004-08-06 Jakub Jelinek <jakub@redhat.com>
3748
3749 * config/i386/i386.c (ix86_expand_clrmem): Move gen_cld down to
3750 the places where it is actually needed. Don't use repz; stosb
3751 for -Os with sufficiently small constant sizes.
3752 For sufficiently small repz; stos{l,q} repeat counts use a sequence
3753 of stos{l,q} instructions instead.
3754
6797f908
ZD
37552004-08-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3756
3757 PR tree-optimization/16807
3758 * loop-iv.c (dump_iv_info): Dump invariants correctly.
3759 (iv_subreg, iv_extend): Express value of invariant purely in
3760 base field.
3761
866cf037
MM
37622004-08-06 Mark Mitchell <mark@codesourcery.com>
3763
3764 * config/arm/symbian.h (CC1_SPEC): Add -fno-short-enums.
3765 (CC1PLUS_SPEC): Define it to be the same as CC1_SPEC.
3766
9652c531 37672004-08-06 Roman Zippel <zippel@linux-m68k.org>
9b305d55 3768
27fb79ad
SB
3769 * config/m68k/m68k.c (post_inc_operand,pre_dec_operand): New.
3770 * config/m68k/m68k.h (PREDICATE_CODES): add post_inc_operand,
3771 pre_dec_operand.
3772 * config/m68k/m68k.md (zero_extend*2): delay the splitting of the
3773 pattern until reload is finished to allow better code generation
3774 and split them completely into separate instrunctions.
3775 (*andsi3_split): New pattern.
9652c531 3776
b2ca3702
MM
37772004-08-05 Mark Mitchell <mark@codesourcery.com>
3778
3779 * tree.c (handle_dll_attribute): Move here from i383/winnt.c.
3780 Replace use of DECL_INLINE with DECL_DECLARED_INLINE_P. Set
3781 DECL_VISIBLITY. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
3782 * tree.h (handle_dll_attribute): Declare. Test
3783 TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
3784 * c-common.h (c_determine_visibility): Declare.
3785 * c-common.c (c_determine_visibility): New function.
3786 * c-decl.c (finish_decl): Use it.
3787 (finish_function): Likewise.
3788 * defaults.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define it to
3789 zero, by default. Use #if, not #ifdef, to test it.
3790 * config/arm/arm.c (arm_attribute_table): Use
3791 handle_dll_attribute. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with
3792 #if.
3793 * config/arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define to 1.
3794 * config/i386/cygming.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
3795 to 1.
3796 * config/i386/i386-protos.h (ix86_handle_dll_attribute): Remove.
3797 * config/i386/i386.c (ix86_attribute_table): Use
3798 handle_dll_attribute for dllimport/dllexport. Test
3799 TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
3800 * config/i386/winnt.c (ix86_handle_dll_attribute): Remove.
3801 * config/mcore/mcore.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
3802 it to 1.
3803 * config/mcore/mcore.c (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Test it
3804 with #if.
3805 * config/sh/symbian-pre.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
3806 it to 1.
3807 * doc/extend.texi (dllexport): Clarify and correct documentation.
3808 (dllimport): Likewise.
3809 * doc/tm.texi (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Mention
3810 handle_dll_attribute.
9b305d55 3811
c913f08a
ZD
38122004-08-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3813
3814 * tree-ssa-loop-manip.c: New file.
3815 * Makefile.in (tree-ssa-loop-manip.o): Add.
3816 * tree-flow.h (rewrite_into_loop_closed_ssa, verify_loop_closed_ssa):
3817 Declare.
3818 * tree-ssa-loop.c (tree_loop_optimizer_init): Create loop closed ssa
3819 form.
3820 (tree_ssa_loop_done): Verify loop closed ssa form.
3821 * tree-ssa-loop-im.c (move_computations): Update loop closed ssa form.
3822
d4482715
JDA
38232004-08-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3824
3825 * pa.c (pa_asm_output_aligned_bss, pa_asm_output_aligned_common,
3826 pa_asm_output_aligned_local): New functions.
3827 * pa-protos.h: Add prototypes for pa_asm_output_aligned_bss,
3828 pa_asm_output_aligned_common and pa_asm_output_aligned_local.
3829 * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Use
3830 pa_asm_output_aligned_common.
3831 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
3832 * pa.h (ASM_OUTPUT_ALIGNED_BSS): New macro.
3833 (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
3834 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
3835 * pa64-hpux.h (MAX_OFILE_ALIGNMENT): New macro.
3836 (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
3837 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
3838 * som.h (MAX_OFILE_ALIGNMENT): Provide maximum alignment of global
3839 common data.
3840
21149a79
AP
38412004-08-05 Andrew Pinski <apinski@apple.com>
3842
3843 * objc/objc-act.c (build_objc_string_object): Mark the address
3844 expression as constant.
3845
d5861a7a
DE
38462004-08-05 David Edelsohn <edelsohn@gnu.org>
3847
3848 * config/rs6000/rs6000.c (rs6000_rtx_costs): Fix mask_operand
3849 and mask64_operand thinkos. Handle ZERO_EXTRACT. Handle
3850 SIGN_EXTEND / ZERO_EXTEND of MEM. Handle rlwinm patterns.
3851
0a2b72a6
JM
38522004-08-05 Joseph S. Myers <jsm@polyomino.org.uk>
3853
3854 * config/linux.h, config/i386/linux.h, config/sparc/linux.h:
3855 Remove definitions conditioned on USE_GNULIBC_1 or conditioned
3856 out, and associated obsolete comments.
3857
ca7a3bd7
NS
38582004-08-05 Nathan Sidwell <nathan@codesourcery.com>
3859
3860 * tree.h (force_fit_type): Return a tree, take three flags.
3861 * fold-const.c (force_fit_type): Set TREE_OVERFLOW and
3862 TREE_CONSTANT_OVERFLOW here.
3863 (int_const_binop, const_binop): Adjust.
3864 (size_int_type): Do sign extension here.
3865 (fold_convert_const, optimize_bit_field_compare,
3866 decode_field_reference, all_ones_mask_p, fold_div_compare, fold,
3867 fold_negate_const, fold_abs_const, fold_not_const): Adjust.
3868 * tree.c (size_in_bytes, int_fits_type_p): Adjust.
3869
d36837f4
ZD
38702004-08-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3871
3872 PR tree-optimization/16864
3873 * tree-tailcall.c (eliminate_tail_call): Do not create phi nodes
3874 for ssa names without default_def.
3875
ea5f7a19
RS
38762004-08-05 Richard Sandiford <rsandifo@redhat.com>
3877
3878 * config/i386/i386.c (ix86_expand_prologue): If the function uses a
3879 frame pointer, restore eax with an ebp-relative address.
3880
0e6df31e
GK
38812004-08-04 Geoffrey Keating <geoffk@apple.com>
3882
3883 PR 14516
3884 * c-common.c (c_expand_decl): Don't special-case static VAR_DECLs.
3885 * c-common.h (make_rtl_for_local_static): Delete.
3886 * c-decl.c (shadow_tag_warned): Clean up comment.
3887 (finish_decl): Clean up spacing. Use set_user_assembler_name when
3888 appropriate. Don't pass asmspec to rest_of_decl_compilation.
3889 * c-semantics.c (make_rtl_for_local_static): Delete.
3890 * expr.c (init_block_move_fn): Use set_user_assembler_name.
3891 (init_block_clear_fn): Likewise.
3892 * passes.c (rest_of_decl_compilation): Remove asmspec parameter,
3893 expect it to be in DECL_ASSEMBLER_NAME. Update callers in many files.
3894 * toplev.h (rest_of_decl_compilation): Remove asmspec parameter.
3895 * tree.h (make_decl_rtl): Remove second parameter.
3896 (set_user_assembler_name): New.
3897 * varasm.c (set_user_assembler_name): New.
3898 (make_decl_rtl): Remove second parameter. Update callers in many
3899 files.
3900
4f587cb0
AN
39012004-08-05 Adam Nemet <anemet@lnxw.com>
3902
3903 * config.gcc (case i[34567]86-*-lynxos*): Update to LynxOS 4.0.
3904 (case rs6000-*-lynxos*): Rename it to powerpc-*-lynxos*. Update
3905 to LynxOS 4.0.
3906 * gthr-lynx.h: New file.
3907 * config/lynx-ng.h: Remove file.
3908 * config/lynx.h: Update to LynxOS 4.0.
3909 * config/t-lynx: New file.
3910 * config/i386/lynx-ng.h: Remove file.
3911 * config/i386/lynx.h: Update to LynxOS 4.0.
3912 * config/rs6000/lynxbase.h: Remove file.
3913 * config/rs6000/lynx.h: Update to LynxOS 4.0.
3914 * config/rs6000/t-lynx: New file.
3915 * doc/install.texi (Options specification): Remove reference to
3916 LynxOS from systems where --with-gnu-as makes a difference.
3917
85291069
JM
39182004-08-05 Joseph S. Myers <jsm@polyomino.org.uk>
3919
3920 * c-common.c (c_stddef_cpp_builtins): Define __INTMAX_TYPE__ and
3921 __UINTMAX_TYPE__.
3922 * c-cppbuiltin.c (builtin_define_stdint_macros): New. Define
3923 __INTMAX_MAX__.
3924 (c_cpp_builtins): Call it.
3925 * doc/cpp.texi: Update.
3926
30a555d9
DE
39272004-08-04 David Edelsohn <edelsohn@gnu.org>
3928
3929 * config/rs6000/rs6000.c (rs6000_rtx_costs): LABEL_REFs are zero
3930 cost.
3931
878f99d2
JH
39322004-08-04 Jan Hubicka <jh@suse.cz>
3933
3934 * basic-block.h (profile_staus): New global variable.
3935 * cfg.c (profile_status): Declare.
3936 (check_bb_profile): Break out from ....; use profile_status
3937 (dump_flow_info): ... here.
3938 * cfgbuild.c (find_basic_blocks): Set profile_status.
3939 * cfgexpand.c (tree_expand_cfg): Likewise.
3940 * predict.c (estimate_probability): Likewise.
3941 * profile.c (branch_prob): Likewise.
3942 * tree-cfg.c (build_tree_cfg): Likewise.
3943 (dump_function_to_file): Use check_bb_profile.
3944 * tree-pretty-print (dump_bb_header): Likewise.
3945 * tree-profile.c (do_tree_profiling): Cleanup.
3946
7e7ec48e
ZW
39472004-08-04 Zack Weinberg <zack@codesourcery.com>
3948
3949 * Makefile.in (RTL_BASE_H, RTL_H): Correct.
3950 (BUILD_RTL): Remove $(BUILD_PREFIX) from ggc-none.o.
3951 (genobjs): Add errors.o, ggc-none.o, and min-insn-modes.o.
3952 (read-rtl.o, gensupport.o, genconfig.o, genflags.o, gencodes.o)
3953 (genconstants.o, genemit.o, genopinit.o, genrecog.o, genextract.o)
3954 (genpeep.o, genattr.o, genattrtab.o, genautomata.o, genoutput.o)
3955 (genconditions.o): Depend on $(RTL_BASE_H) not $(RTL_H).
3956 (ggc-none.o, errors.o): Move rule to generators section;
3957 correct dependencies.
3958 (min-insn-modes.o): Move rule to generators section; remove
3959 unnecessary explicit command; correct dependencies.
3960 (print-rtl.o, print-rtl1.o): Correct dependencies.
3961 ($(BUILD_PREFIX_1)errors.o. $(BUILD_PREFIX_1)ggc-none.o): Delete rule.
3962 (mostlyclean): Update.
3963
3964 * errors.c: Include bconfig.h not config.h. Correct comment.
3965 * gengtype.c, genpreds.c: Don't define NO_GENRTL_H.
3966 * ggc-none.c: Include bconfig.h; not config.h or tm.h.
3967 * print-rtl.c: Don't include tm_p.h.
3968
3969 * rtl.h: Move forward-decl of struct function down where it's
3970 needed. Include genrtl.h #ifndef GENERATOR_FILE, not
3971 #ifndef NO_GENRTL_H. Remove unnecessary #ifdef BUFSIZ statements.
3972
b0382c67
ZD
39732004-08-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3974 Jeff Law <law@redhat.com>
3975
3976 * tree-cfg.c (tree_duplicate_bb): Mark duplicated definitions.
3977 * tree-flow.h (rewrite_ssa_into_ssa): Declaration changed.
3978 * tree-into-ssa.c (rewrite_ssa_into_ssa): Use new interface to
3979 manipulate the duplicated ssa names.
3980 * tree-ssanames.c (ssa_names_to_rewrite): New variable.
3981 (marked_for_rewrite_p, any_marked_for_rewrite_p, mark_for_rewrite,
3982 unmark_all_for_rewrite, marked_ssa_names, release_ssa_name_force):
3983 New functions.
3984 (release_ssa_name): Do not release ssa names that may have multiple
3985 definitions.
3986 * tree.h (release_ssa_name_force, mark_for_rewrite,
3987 unmark_all_for_rewrite, marked_for_rewrite_p, any_marked_for_rewrite_p,
3988 marked_ssa_names): Declare.
3989 * tree-ssa-loop-ch.c (mark_defs_for_rewrite): Remove.
3990 (duplicate_blocks): Remove call to mark_defs_for_rewrite.
3991 Update call to rewrite_ssa_into_ssa.
3992
63c5b495
MM
39932004-08-04 Mark Mitchell <mark@codesourcery.com>
3994
3995 * defaults.h (TARGET_DECLSPEC): New macro.
3996 * c-cppbuiltin.c (c_cpp_builtins): Handle TARGET_DECLSPEC.
3997 * config/arm/pe.h (SUBTARGET_CPP_SPEC): Remove __declspec support.
b2ca3702 3998 * config/arm/symbian.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
63c5b495
MM
3999 * config/i386/beof-elf.h (TARGET_OS_CPP_BUILTINS): Remove
4000 __declspec support.
4001 (TARGET_DECLSPEC): Define.
4002 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Remove
4003 __declspec support.
4004 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS): Remove
4005 __declspec support.
4006 (TARGET_DECLSPEC): Define.
4007 * config/mcore/mcore.h (TARGET_CPU_CPP_BUILTINS): Remove
4008 __declspec support.
4009 * config/sh/symbian-pre.h (SUBTARGET_CPP_SPEC): Remove __declspec
4010 support.
4011 * doc/tm.texi (TARGET_DECLSPEC): Document.
4012
4013 * doc/extend.texi: Fix typo in comment.
4014
44d10c10
PB
40152004-08-04 Paul Brook <paul@codesourcery.com>
4016
4017 * target-def.h (TARGET_CXX_CDTOR_RETURNS_THIS): Define.
4018 (TARGET_CXX): Use it.
4019 * target.h (struct gcc_target): Add cdtor_returns_this.
4020 * config/arm/arm.c (arm_cxx_cdtor_returns_this): New function.
4021 (TARGET_CXX_CDTOR_RETURNS_THIS): Define.
4022 * doc/tm.texi: Document TARGET_CXX_CDTOR_RETURNS_THIS.
4023
5e9754af
NS
40242004-08-03 Nathan Sidwell <nathan@codesourcery.com>
4025
4026 * c-lex.c (narrowest_unsigned_type, narrowest_signed_type): Take
4027 low/high pair. Do range checking directly.
4028 (interpret_integer): Adjust.
4029
2acc29bd
NC
40302004-08-04 Nick Clifton <nickc@redhat.com>
4031
4032 * config/sh/sh.h (TARGET_SWITCHES): Add no-renesas to select the
4033 GCC ABI.
4034 * doc/invoke.texi: Document this new switch and also the -mrenesas
4035 switch.
4036
2496942a
NS
40372004-08-04 Nathan Sidwell <nathan@codesourcery.com>
4038
4039 * cfglayout.c (insn_locators_initialize): Update the current
4040 location before initializing a location.
4041
7e2e8179
ZW
40422004-08-03 Zack Weinberg <zack@codesourcery.com>
4043
403f8503
ZW
4044 * dbxout.c (dbxout_function_decl): Always call dbxout_function_end.
4045 (dbxout_function_end): Return after emitting the "Lscope" symbol
4046 under the same conditions that this function formerly wasn't called.
4047 Add explanatory comments.
4048
bcc7f708 4049 PR 14860
ca043393
ZW
4050 * c-decl.c (record_builtin_type): Call debug_hooks->type_decl
4051 on the new decl.
4052
bcc7f708 4053 PR 13956
7e2e8179
ZW
4054 * dbxout.c (dbx_output_lbrac, dbx_output_rbrac): New
4055 functions, broken out of dbxout_block.
4056 (dbxout_block): The block at depth 0 should get LBRAC/RBRAC
4057 stabs too, if it contains symbols. Use the begin_label and
4058 the Lscope label (emitted by dbxout_function_end) for the
4059 range of this block.
4060
5d75ba94
NN
40612004-08-03 Nathanael Nerode <neroden@gcc.gnu.org>
4062
4063 * doc/install.texi: Update autoconf version requirements.
4064
2e4e72b1
ZW
40652004-08-03 Zack Weinberg <zack@codesourcery.com>
4066
4067 * defaults.h (LEGITIMATE_PIC_OPERAND_P): Provide default definition.
4068 * recog.c (general_operand, immediate_operand, nonmemory_operand)
4069 (asm_operand_ok): Remove #ifdefs on LEGITIMATE_PICOPERAND_P.
4070 * regclass.c (record_reg_classes): Likewise.
4071 * reload.c (find_reloads): Likewise.
4072 * reload1.c (reload): Likewise.
4073
f9942f4e
ZW
40742004-08-03 Zack Weinberg <zack@codesourcery.com>
4075
4076 * gensupport.c (init_md_reader_args_cb): Renamed from
4077 init_md_reader_args. Add third option, callback function for
4078 parsing program-specific options. Add diagnosis of incorrect
4079 number of input files.
4080 (init_md_reader): Fold into init_md_reader_args_cb.
4081 (init_md_reader_args): Now a thin wrapper around
4082 init_md_reader_args_cb.
4083 * gensupport.h: Update prototypes.
4084
4085 * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c
4086 * genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c
4087 * genrecog.c: No need to diagnose lack of an input file;
4088 init_md_reader_args will handle it.
4089 * genconditions.c: Likewise, and use init_md_reader_args.
4090 * genconstants.c: Likewise, and no need to call read_md_rtx.
4091
9cbe78fb
JM
40922004-08-03 Joseph S. Myers <jsm@polyomino.org.uk>
4093
4094 * c-decl.c (implicitly_declare): Diagnose incompatible implicit
4095 declarations.
4096
3e558e80
MS
40972004-08-03 Mike Stump <mrs@apple.com>
4098
4099 * config/darwin-c.c: Don't search in "/Local/Library/Frameworks"
4100 for frameworks.
4101 * doc/invoke.texi (Darwin Options): Update to reflect above.
4102
a0fac73d
RS
41032004-08-03 Roger Sayle <roger@eyesopen.com>
4104
4105 PR middle-end/16790
4106 * fold-const.c (extract_muldiv_1) <NOP_EXPR>: Disallow local
4107 truncations, not just global truncations.
4108
cddbddb7
AP
41092004-08-03 Andrew Pinski <apinski@apple.com>
4110
4111 PR bootstrap/16865
4112 * loop-iv.c (simplify_using_assignment): Initialize lhs.
4113
bebf829d
PB
41142004-08-03 Paul Brook <paul@codesourcery.com>
4115
4116 * gcc/doc/install.texi: Document MPFR requirement.
4117
cddbddb7 41182004-08-03 Maciej W. Rozycki <macro@linux-mips.org>
3b0727a0 4119
f9942f4e
ZW
4120 * aclocal.m4 (gcc_AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
4121 and mmap() explicitly instead of relying on preset autoconf cache
3b0727a0
MR
4122 variables.
4123 * configure: Regenerate.
4124
f6bc51cb
L
41252004-08-03 H.J. Lu <hongjiu.lu@intel.com>
4126
4127 PR target/16570
4128 * config.gcc (i[34567]86-*-* | x86_64-*-*): Add i386/t-gmm_malloc
4129 to tmake_file.
4130 (i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1): Likewise.
4131 (i[34567]86-*-linux* | x86_64-*-linux*): Add i386/t-pmm_malloc
4132 to tmake_file.
4133
4134 * config/i386/t-gmm_malloc: New file.
4135 * config/i386/t-pmm_malloc: Likewise.
f9942f4e 4136
f6bc51cb
L
4137 * config/i386/xmmintrin.h: Include <mm_malloc.h>.
4138
41392004-08-03 H.J. Lu <hongjiu.lu@intel.com>
d46cd2be 4140