]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
re PR rtl-optimization/17186 (ICE in move_for_stack_reg, at reg-stack.c:1065)
[gcc.git] / gcc / ChangeLog
CommitLineData
609c3937
RH
12004-09-08 Richard Henderson <rth@redhat.com>
2
3 PR rtl-opt/17186
4 * function.c (expand_function_end): Have fall-off-the-end
5 return path jump around return register setup.
6
4e5b002b
EB
72004-09-08 Eric Botcazou <ebotcazou@libertysurf.fr>
8
9 * config/sparc/sparc.c (sparc_indent_opcode): New variable.
10 (output_return): Do not test for the presence of the 'unimp' insn.
11 Use 'current_function_uses_only_leaf_regs' and 'final_sequence'
12 as predicates instead of custom ones. Return raw strings when
13 possible.
14 (output_sibcall): Likewise. Concatenate strings.
15 (output_ubranch): Remove kludge for TurboSPARC.
16 (output_cbranch): Remove 'noop' parameter. Do not output 'nop'.
17 (output_v9branch): Likewise.
18 (print_operand): Use 'final_sequence' instead of 'dbr_sequence_length'.
19 <#>: Set sparc_indent_opcode if the delay slot is filled.
20 <(>: Likewise.
21 <)>: New operand to emit the displacement from the saved PC on return.
22 <@>: Remove.
23 * config/sparc/sparc.h (sparc_indent_opcode): Declare it.
24 (ASM_OUTPUT_OPCODE): New macro.
25 (PRINT_OPERAND_PUNCT_VALID_P): Remove '^' and add ')'.
26 * config/sparc/sparc.md (normal_branch, inverted_branch,
27 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
28 inverted_fpe_branch): Adjust call to output_cbranch.
29 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust
30 call to output_v9branch.
31 * config/sparc/sparc-protos.h (output_cbranch): Adjust.
32 (output_v9branch): Likewise.
33
5826770c
DP
342004-09-08 Devang Patel <dpatel@apple.com>
35
36 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -segaddr,
37 -segs_read_only_addr and -segs_read_write_addr.
38 (WORD_SWITCH_TAKES_ARG): Same.
39 (LINK_SPEC): Same.
40 * doc/invoke.texi: Document -segaddr, -segs_read_only_addr and
41 -segs_read_write_addr.
42
6cdd5672
RH
432004-09-08 Richard Henderson <rth@redhat.com>
44
45 * function.c (reference_callee_copied): New.
46 (assign_parm_setup_reg): Use it.
47 * calls.c (initialize_argument_information): Likewise.
48 (emit_library_call_value_1): Likewise.
49 * function.h (reference_callee_copied): Declare.
50
51 * target.h (struct gcc_target): Add callee_copies.
52 * target-def.h (TARGET_CALLEE_COPIES): New.
53 (TARGET_PASS_BY_REFERENCE): Update default.
54 * expr.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
55 * targhooks.c (hook_callee_copies_named): New.
56 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Rename from
57 hook_pass_by_reference_false.
58 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): New.
59 * targhooks.h: Update decls.
60 * config/arc/arc.c (TARGET_CALLEE_COPIES): New.
61 * config/arc/arc.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
62 * config/frv/frv-protos.h (frv_function_arg_callee_copies): Remove.
63 * config/frv/frv.c (frv_function_arg_callee_copies): Remove.
64 * config/frv/frv.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
65 * config/iq2000/iq2000.c (TARGET_CALLEE_COPIES): New.
66 * config/iq2000/iq2000.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
67 * config/m68hc11/m68hc11.c (TARGET_CALLEE_COPIES): New.
68 * config/m68hc11/m68hc11.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
69 * config/mips/mips.c (TARGET_CALLEE_COPIES): New.
70 (mips_callee_copies): New.
71 * config/mips/mips.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
72 * config/mmix/mmix.c (TARGET_CALLEE_COPIES): New.
73 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
74 * config/mn10300/mn10300.c (TARGET_CALLEE_COPIES): New.
75 * config/mn10300/mn10300.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
76 * config/pa/pa.c (TARGET_CALLEE_COPIES): New.
77 * config/pa/pa.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
78 * config/sh/sh.c (sh_callee_copies): New.
79 (TARGET_CALLEE_COPIES): New.
80 * config/sh/sh.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
81 * config/v850/v850.c (TARGET_CALLEE_COPIES): New.
82 * config/v850/v850.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
83 * doc/tm.texi (TARGET_CALLEE_COPIES): Replace documentation
84 for FUNCTION_ARG_CALLEE_COPIES.
85 * doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Update.
86
7f7e0703
DP
872004-09-08 Devang Patel <dpatel@apple.com>
88
6cdd5672
RH
89 * tree-if-conv.c (find_phi_replacement_condition): Return true
90 edge block.
91 (replace_phi_with_cond_modify_expr): Select conditional expr args
92 based on true edge basic block.
7f7e0703 93
ed7f7d85
JH
942004-09-08 Jan Hubicka <jh@suse.cz>
95
96 * tree-ssa-operands.c (add_stmt_operand): Use V_MUST_DEF even for
97 variables being alias set.
98
0bccc606
NS
992004-09-08 Nathan Sidwell <nathan@codesourcery.com>
100
101 * final.c (shorten_branches, final, get_insn_template,
102 output_alternate_entry_point, final_scan_insn, alter_subreg,
103 alter_cond, output_operand, asm_fprintf, final_forward_branch_p,
104 leaf_renumber_regs_insn): Use gcc_assert and gcc_unreachable.
105 * fix-header.c (lookup_std_proto): Likewise.
106 * flow.c (first_insn_after_basic_block_note, verify_wide_reg,
107 verify_local_live_at_start, update_life_info, mark_reg,
108 calculate_global_regs_live, allocate_reg_life_data,
109 init_propagate_block_info, mark_set_regs, flush_reg_cond_reg_1,
110 ior_reg_cond, not_reg_cond, and_reg_cond, elim_reg_cond,
111 attempt_auto_inc, mark_used_reg, mark_used_regs): Likewise.
112 * fold-const.c (force_fit_type, div_and_round_double,
113 may_negate_without_overflow_p, int_const_binop, const_binop,
114 size_binop, size_diffop, fold_convert_const, fold_convert,
115 invert_tree_comparison, swap_tree_comparison,
116 comparison_to_compcode, compcode_to_comparison, invert_truthvalue,
117 range_binop, make_range, fold_cond_expr_with_comparison,
118 fold_div_compare, fold, fold_checksum_tree, fold_negate_const,
119 fold_abs_const, fold_not_const, fold_relational_const, round_up,
120 round_down): Likewise.
121 * function.c (find_function_data, assign_stack_temp_for_type,
122 instantiate_virtual_regs_lossage, aggregate_value_p,
123 assign_parm_find_entry_rtl, assign_parm_setup_block,
124 expand_function_start, expand_function_end, keep_stack_depressed,
125 handle_epilogue_set, thread_prologue_and_epilogue_insns): Likewise.
126
599eabdb
DB
1272004-09-08 Daniel Berlin <dberlin@dberlin.org>
128
129 * Makefile.in (tree-loop-linear.o): Added.
130 (OBJS-common): Add tree-loop-linear.o
131 * common.opt: New flag, ftree-loop-linear.
132 * timevar.def: New timevar, TV_TREE_LOOP_LINEAR.
133 * tree-flow.h: Add prototype for linear_transform_loops.
134 * tree-optimize.c: Add linear transform after vectorization.
135 * tree-pass.h: Add struct pass_linear_transform.
136 * tree-ssa-loop.c: Add pass_linear_transform.
137 * tree-loop-linear.c: New file.
138 * lambda-code.c: gcc_assertify.
139 (gcc_loop_to_lambda_loop): Handle all exit tests.
140 Handle case where we have (invariant >= induction var).
141 (find_induction_var_from_exit_cond): Ditto.
142
13f5595a
JZ
1432004-09-08 Jie Zhang <zhangjie@magima.com.cn>
144
145 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
146 memory tag is call clobbered, so are its aliases.
147 (group_aliases): When two memory tags being grouped, if one is
148 call clobbered, so are the other and its aliases.
149 (add_may_alias): Remove call-clobbering stuff.
150 (replace_may_alias): Likewise.
151 (merge_pointed_to_info): Merge pt_global_mem
152
89480522
JH
1532004-09-08 Jan Hubicka <jh@suse.cz>
154
155 * cgraph.c (cgraph_remove_node): Free DECL_INITIAL field of node.
156 * cgraphunit.c (verify_cgraph): Don't verify on syntax errors.
157 (cgraph_expand_function): Remove stale cgraph edges of currently
158 compiled function; fix non-unit-at-a-time code copying function
159 node for later reuse.
160
4c254e68
NS
1612004-09-08 Nathan Sidwell <nathan@codesourcery.com>
162
163 * vec.c (vec_p_reserve, vec_o_reserve): Rename to ...
164 (vec_gc_p_reserve, vec_gc_o_reserve): ... here. Clone to
165 (vec_heap_p_reserve, vec_heap_o_reserve): ... here, adjust.
166 (vec_gc_free, vec_heap_free): New.
167 * vec.h (DEF_VEC_GC_P, DEF_VEC_MALLOC_P): New.
168 (DEF_VEC_P): Add allocator argument. Adjust.
169 (DEF_VEC_GC_O, DEF_VEC_MALLOC_O): New.
170 (DEF_VEC_O): Add allocator argument. Adjust.
171 (VEC(free)): New.
172
173 * tree.h (tree): Define a GC'd vector.
174 * lamba-code.c (lambda_loop): Likewise.
175 * value-prof.h (histogram_value): Likewise.
4c254e68 176
5b0264cb
NS
1772004-09-08 Nathan Sidwell <nathan@codesourcery.com>
178
179 * emit-rtl.c (immed_double_const): Use gcc_assert and gcc_unreachable.
180 (gen_rtx_SUBREG, gen_reg_rtx, mark_user_reg, subreg_hard_regno,
181 gen_lowpart_common, gen_highpart, gen_highpart_mode,
182 subreg_highpart_offset, operand_subword, operand_subword_force,
183 mem_expr_equal_p, set_mem_attributes_minus_bitpos,
184 set_mem_alias_set, change_address_1, verify_rtx_sharing,
185 copy_most_rtx, set_first_insn, set_last_insn, prev_cc0_setter,
186 try_split, add_insn_after, add_insn_before, remove_insn,
187 remove_unnecessary_notes, emit_insn_before, emit_jump_insn_before,
188 emit_call_insn_before, emit_insn_after, emit_jump_insn_after,
189 emit_call_insn_after, emit_insn, emit_jump_insn, emit_call_insn,
190 set_unique_reg_note, emit, push_to_full_sequence, copy_insn_1,
191 gen_const_vector_0, emit_copy_of_insn_after): Likewise.
192 * et-forest.c (set_prev, set_next, et_check_occ_sanity,
193 record_path_before_1, check_path_after_1, check_path_after): Likewise.
194 * except.c (gen_eh_region, resolve_one_fixup_region,
195 remove_unreachable_regions, convert_from_eh_region_ranges_1,
196 add_ehl_entry, duplicate_eh_region_1, build_post_landing_pads,
197 connect_post_landing_pads, sjlj_emit_function_exit,
198 remove_exception_handler_label, remove_eh_handler,
199 reachable_next_level, collect_one_action_chain,
200 output_function_exception_table): Likewise.
201 * explow.c (trunc_int_for_mode, copy_to_mode_reg,
202 optimize_save_area_alloca, allocate_dynamic_stack_space,
203 probe_stack_range, hard_function_value): Likewise.
204 * expmed.c (mode_for_extraction, store_bit_field,
205 store_fixed_bit_field, extract_bit_field, expand_shift,
206 expand_mult_const, expand_mult, choose_multiplier,
207 expand_mult_highpart, expand_divmod, emit_store_flag,
208 do_cmp_and_jump): Likewise.
209 * expr.c (convert_move, convert_modes, move_by_pieces,
210 move_by_pieces_ninsns, move_by_pieces_1, emit_block_move,
211 move_block_from_reg, gen_group_rtx, emit_group_load,
212 emit_group_move, emit_group_store, use_reg, use_regs,
213 can_store_by_pieces, store_by_pieces, store_by_pieces_1,
214 emit_move_insn, emit_move_insn_1, emit_push_insn,
215 expand_assignment, store_expr, count_type_elements,
216 store_constructor, store_field, safe_from_p, expand_var,
217 expand_expr_addr_expr, expand_expr_real_1, do_store_flag): Likewise.
218
ced3f397
NS
2192004-09-08 Nathan Sidwell <nathan@codesourcery.com>
220
221 * dbxout.c (dbxout_type, dbxout_type_name, dbxout_symbol): Use
222 gcc_assert and gcc_unreachable.
223 * ddg.c (create_ddg_dependence, add_deps_for_def,
224 add_deps_for_use, create_ddg, add_edge_to_ddg): Likewise.
225 * df.c (df_ref_unlink, df_ref_record, df_uses_record,
226 df_reg_def_chain_create, df_reg_use_chain_create, df_analyze,
227 df_insn_delete, df_refs_reg_replace, df_ref_reg_replace,
228 df_insns_modify, df_pattern_emit_before, df_bb_reg_live_start_p,
229 df_bb_reg_live_end_p, df_bb_regs_lives_compare,
230 df_bb_single_def_use_insn_find, dataflow_set_a_op_b,
231 dataflow_set_copy, hybrid_search, diagnostic.c,
232 diagnostic_build_prefix, diagnostic_count_diagnostic): Likewise.
233 * dojump.c (do_jump): Likewise.
234 * dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree,
235 compute_dom_fast_query, calculate_dominance_info,
236 free_dominance_info, get_immediate_dominator,
237 set_immediate_dominator, get_dominated_by,
238 redirect_immediate_dominators, nearest_common_dominator,
239 dominated_by_p, verify_dominators, recount_dominator,
240 iterate_fix_dominators, add_to_dominance_info,
241 delete_from_dominance_info): Likewise.
242 * dwarf2asm.c (size_of_encoded_value, eh_data_format_name,
243 dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
244 dw2_force_const_mem, dw2_asm_output_encoded_addr_rtx): Likewise.
245 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes, reg_save,
246 initial_return_save, stack_adjust_offset, dwarf2out_stack_adjust,
247 flush_queued_reg_saves, dwarf2out_frame_debug_expr,
248 dwarf2out_frame_debug, dw_cfi_oprnd1_desc, output_cfi,
249 output_call_frame_info, output_loc_operands, build_cfa_loc,
250 decl_ultimate_origin, AT_flag, AT_int, AT_unsigned, AT_string,
251 AT_string_form, add_AT_specification, AT_ref, set_AT_ref_external,
252 AT_loc, AT_loc_list, AT_addr, AT_lbl, add_child_die,
253 splice_child_die, attr_checksum, same_dw_val_p,
254 break_out_includes, build_abbrev_table, size_of_die, mark_dies,
255 unmark_dies, value_format, output_loc_list, output_die,
256 output_pubnames, output_aranges, base_type_die, is_base_type,
257 modified_type_die, dbx_reg_number, multiple_reg_loc_descriptor,
258 mem_loc_descriptor, loc_descriptor, loc_descriptor_from_tree_1,
259 field_byte_offset, add_data_member_location_attribute,
260 add_const_value_attribute, rtl_for_decl_location,
261 add_location_or_const_value_attribute, add_byte_size_attribute,
262 add_bit_offset_attribute, add_bit_size_attribute,
263 add_abstract_origin_attribute, pop_decl_scope, scope_die_for,
264 decl_start_label, gen_formal_parameter_die,
265 gen_type_die_for_member, gen_subprogram_die, gen_label_die,
266 gen_typedef_die, gen_type_die, gen_tagged_type_instantiation_die,
267 force_decl_die, force_type_die, gen_decl_die,
268 dwarf2out_imported_module_or_decl, prune_unused_types_prune,
269 dwarf2out_finish): Likewise.
270
faaaf610
AT
2712004-09-08 Andreas Tobler <toa@pop.agri.ch>
272
273 * Makefile.in (builtins.o): Depend on tree-mudflap.h.
274 * builtins.c: Include tree-mudflap.h.
275
45c8c47f
UB
2762004-09-08 Uros Bizjak <uros@kss-loka.si>
277
278 * config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
279 force operand 0.0 into register in XFmode. Also do not force
280 operand 0.0 into register if !TARGET_CMOVE.
281 * config/i386/i386.md (*cmpfp_0): Delete. Remove comment.
282 (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf): New patterns to
283 implement ftst x87 instruction.
284 (*fp_jcc_7): New insn pattern. Change corresponding split
285 pattern to handle "general_operand" instead of
286 "nonimmediate_operand".
287
70d5fb1c
BE
2882004-09-08 Ben Elliston <bje@au.ibm.com>
289
290 * doc/rtl.texi (Insns): Document NOTE_INSN_FUNCTION_BEG.
291
4882ad24
FCE
2922004-09-07 Frank Ch. Eigler <fche@redhat.com>
293
294 * builtins.c (std_gimplify_va_arg_expr): Mark INDIRECT_REF nodes
295 generated from standard va_arg expansion.
296 * tree-mudflap.c (mx_xform_derefs_1): Omit instrumentation from
297 marked nodes.
298 (mf_varname_tree, mf_file_function_line_tree): Add some support
299 for column numbers if compiled with USE_MAPPED_LOCATION.
300
06f624ba
ZL
3012004-09-07 Ziemowit Laski <zlaski@apple.com>
302
303 * c-decl.c (groktypename_in_parm_context): Remove function.
304 * c-tree.h (groktypename_in_parm_context): Remove prototype.
305
6408ef33
ZL
3062004-09-07 Ziemowit Laski <zlaski@apple.com>
307
308 * Makefile.in (c-parse.o): Depend on $(C_COMMON_H).
309 * c-parse.in: Include c-common.h instead of objc-act.h.
310 (ivar_decl_list, ivar_decls, ivar_decl, ivars, ivar_declarator,
311 myparms, myparm): Remove %type declarations.
312 (methodtype, optparms, OBJC_TYPE_QUAL, objc_quals, objc_qual,
313 objc_typename, objc_try_catch_stmt, optellipsis): Add %type
314 declarations.
315 (objc_inherit_code, objc_public_flag): Remove.
316 (typespec_nonreserved_nonattr): Call
317 objc_get_protocol_qualified_type() instead of get_static_reference()
318 and get_protocol_reference().
319 (stmt_nocomp): Call grokparm() on @catch parameter.
320 (objcdef): Move semantic action to objc_finish_implementation().
321 (classdef): Move semantic action to objc_start_class_interface(),
322 objc_continue_interface(), objc_finish_interface(),
323 objc_start_class_implementation(), objc_continue_implementation(),
324 objc_start_category_interface() and
325 objc_start_category_implementation().
326 (protocoldef): Move semantic actions to objc_start_protocol() and
327 objc_finish_interface().
328 (ivar_decl_list): Remove nonterminal.
329 (visibility_spec): Move semantic actions to objc_set_visibility().
330 (ivar_decls): Remove assignment to $$.
331 (ivar_decl): Rephrase in terms of component_decl; call
332 objc_add_instance_variable().
333 (ivars, ivar_declarator): Remove nonterminals.
334 (opt_semi): New nonterminal.
335 (methodtype): Remove semantic actions.
336 (methoddef): Move semantic actions to objc_set_method_type(),
337 objc_start_method_definition() and objc_finish_method_definition().
338 (methodproto): Move semantic actions to objc_set_method_type() and
339 objc_add_method_declaration().
340 (methoddecl): Use objc_typename instead of typename; move semantic
341 actions to objc_build_method_signature().
342 (optarglist, myxdecls, mydecl, myparms, myparm): Remove nonterminals.
343 (optparmlist): Express in terms of optparms and optellipsis.
344 (optparms, optellipsis, objc_qual, objc_quals, objc_typename): New
345 nonterminals.
346 (keyworddecl): Use objc_typename instead of typename.
347 (rid_to_yy): Mark RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF
348 and RID_ONEWAY as returning OBJC_TYPE_QUAL to yyparse().
349
8662eb14
AM
3502004-09-08 Alan Modra <amodra@bigpond.net.au>
351
352 * doc/tm.texi (MD_UNWIND_SUPPORT): Document.
353 (MD_FALLBACK_FRAME_STATE_FOR): Update.
354 * unwind-dw2.c (MD_UNWIND_SUPPORT): #include if defined.
355 (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
356 (MD_FROB_UPDATE_CONTEXT): Remove default.
357 (uw_update_context_1): Instead #ifdef invocation.
358 * config/ia64/unwind-ia64.c (MD_UNWIND_SUPPORT): #include if defined.
359 (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
360 * config/alpha/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Don't undef.
361 (MD_UNWIND_SUPPORT): Undefine this instead.
362 * config/i386/gnu.h: Likewise.
363 * config/alpha/linux-unwind.h: New file, macro converted to
364 function, extracted from..
365 * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): ..this.
366 (MD_UNWIND_SUPPORT): Define.
367 * config/alpha/vms-unwind.h, config/alpha/vms.h: Likewise.
368 * config/i386/linux-unwind.h, config/i386/linux.h,
369 config/i386/linux64.h: Likewise.
370 * config/ia64/linux-unwind.h, config/ia64/linux.h: Likewise.
371 MD_HANDLE_UNWABI too.
372 * config/mips/linux-unwind.h, config/mips/linux.h: Likewise.
373 * config/pa/linux-unwind.h, config/pa/pa32-linux.h: Likewise.
374 * config/rs6000/darwin-unwind.h, config/rs6000/darwin.h: Likewise.
375 * config/s390/linux-unwind.h, config/s390/linux.h: Likewise.
376 * config/sparc/linux-unwind.h, config/sparc/linux.h,
377 config/sparc/linux64.h: Likewise.
378 * config/sh/linux-unwind.h, config/sh/linux.h: Likewise, but merge
379 SH_FALLBACK_FRAME_FLOAT_STATE into sh_fallback_frame_state.
380 * config/rs6000/linux-unwind.h, config/rs6000/linux.h,
381 config/rs6000/linux64.h: Likewise. Split out get_sigcontext
382 function. Use ARG_POINTER_REGNUM for 32-bit temp reg too.
383
c4817ba6
JH
3842004-09-07 Jan Hubicka <jh@suse.cz>
385
ec666d23
JH
386 * cse.c (fold_rtx): Avoid building of
387 (CONST (MINUS (CONST_INT) (SYMBOL_REF)))
388
c4817ba6
JH
389 * tree-ssa-pre.c (grand_bitmap_obstack): New.
390 (value_insert_into_set_bitmap, bitmap_set_new): Use the obstack.
391 (init_pre): Initialize obstack.
392 (fini_pre): Free obstack.
393
9f0df97a
DD
3942004-09-07 David Daney <ddaney@avtrex.com>
395
396 * config.gcc: Added support for --with-divide=[breaks|traps] for
397 mips targets.
398 * config/mips/mips.h (MASK_DIVIDE_BREAKS): New target_flags bit.
399 (TARGET_DIVIDE_TRAPS): New macro.
400 (TARGET_SWITCHES): Added -mdivide-traps and -mdivide-breaks.
401 (OPTION_DEFAULT_SPECS): Added --with-divide= support.
402 * config/mips/mips.c (mips_idiv_insns): Generate proper count on
403 GENERATE_DIVIDE_TRAPS.
404 (mips_output_division): Emit conditional trap if
405 GENERATE_DIVIDE_TRAPS is set.
406 * doc/install.texi: Document --with-divide.
407 * doc/invoke.texi: Document -mdivide-traps and -mdivide-breaks.
408
9beb1c84
CT
4092004-09-07 Caroline Tice <ctice@apple.com>
410
411 * cfgrtl.c (rtl_verify_flow_info_1): Add new edge flag,
412 EDGE_CROSSING, to flags test case.
413
1905940f
JH
4142004-09-07 Jan Hubicka <jh@suse.cz>
415
416 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Deal with '<'
417 class too.
418
341c100f
NS
4192004-09-07 Nathan Sidwell <nathan@codesourcery.com>
420
421 * cfganal.c (flow_depth_first_order_compute, dfs_enumerate_from,
422 cfgbuild.c, inside_basic_block_p, control_flow_insn_p,
423 make_label_edge, make_edges, find_basic_blocks_1): Use gcc_assert
424 or gcc_unreachable.
425 * cfg.c (clear_edges, initialize_bb_rbi, compact_blocks,
426 remove_edge, alloc_aux_for_blocks, free_aux_for_blocks,
427 alloc_aux_for_edges, free_aux_for_edges): Likewise.
428 * cfgcleanup.c (try_forward_edges,
429 merge_blocks_move_predecessor_nojumps,
430 merge_blocks_move_successor_nojumps): Likewise.
431 * cfgexpand.c (expand_gimple_cond_expr,
432 expand_gimple_tailcall): Likewise.
433 * cfghooks.c (duplicate_block): Likewise.
434 * cfglayout.c (record_effective_endpoints,
435 insn_locators_initialize, change_scope, fixup_reorder_chain,
436 verify_insn_chain, fixup_fallthru_exit_predecessor,
437 duplicate_insn_chain, cfg_layout_finalize): Likewise.
438 * cfgloopanal.c (check_irred): Likewise.
439 * cfgloop.c (superloop_at_depth, flow_loops_free,
440 flow_loop_entry_edges_find, flow_loops_find,
441 flow_loop_outside_edge_p, get_loop_body,
442 get_loop_body_in_dom_order, get_loop_body_in_bfs_order,
443 get_loop_exit_edges, num_loop_branches, cancel_loop,
444 verify_loop_structure): Likewise.
445 cfgloopmanip.c (find_path, remove_path, loop_delete_branch_edge,
446 duplicate_loop_to_header_edge, create_preheader,
447 create_loop_notes): Likewise.
448 * cfgrtl.c (delete_insn, try_redirect_by_replacing_jump,
449 edirect_branch_edge, force_nonfallthru_and_redirect,
450 rtl_split_edge, insert_insn_on_edge, commit_one_edge_insertion,
451 commit_edge_insertions, commit_edge_insertions_watch_calls,
452 purge_dead_edges, cfg_layout_redirect_edge_and_branch,
453 cfg_layout_redirect_edge_and_branch_force,
454 cfg_layout_merge_blocks, rtl_flow_call_edges_add): Likewise.
455 * cgraph.c (cgraph_node, cgraph_create_edge, cgraph_remove_edge,
456 cgraph_redirect_edge_callee, cgraph_global_info, cgraph_rtl_info,
457 cgraph_varpool_node): Likewise.
458 * cgraphunit.c (cgraph_finalize_function,
459 cgraph_finalize_compilation_unit, cgraph_mark_functions_to_output,
460 cgraph_expand_function, cgraph_remove_unreachable_nodes,
461 cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
462 cgraph_mark_inline, cgraph_expand_all_functions,
463 cgraph_build_static_cdtor): Likewise.
464 * combine.c (do_SUBST, try_combine, subst, combine_simplify_rtx,
465 simplify_logical, distribute_notes, insn_cuid): Likewise.
466 * conflict.c (conflict_graph_add, print_conflict): Likewise.
467 * coverage.c (rtl_coverage_counter_ref, tree_coverage_counter_ref,
468 coverage_checksum_string): Likewise.
469 * cse.c (make_new_qty, make_regs_eqv, insert, invalidate,
470 hash_rtx, exp_equiv_p, cse_basic_block, count_reg_usage,
471 cse_cc_succs, cse_condition_code_reg): Likewise.
472 * cselib.c (entry_and_rtx_equal_p, remove_useless_values,
473 rtx_equal_for_cselib_p, wrap_constant, cselib_hash_rtx,
474 new_cselib_val, cselib_subst_to_values, cselib_invalidate_regno,
475 cselib_record_set): Likewise.
476
6b094f38
JH
4772004-09-07 Jan Hubicka <jh@suse.cz>
478
479 * tree-ssa-loop-ivopts.c (iv_value): Avoid invalid sharing on niter.
480
5212068f
NS
4812004-09-07 Nathan Sidwell <nathan@codesourcery.com>
482
483 * builtins.c (fold_builtin_strchr): Use build_int_cst, not
484 fold_convert.
485 (fold_builtin_strpbrk): Likewise.
486 * expr.c (array_ref_low_bound): Likewise.
487 * tree-scalar-evolution.c (chrec_is_positive, add_to_evolution_1,
488 interpret_rhs_modify_expr, number_of_iterations_in_loop): Likewise.
489 * tree-sra.c (generate_element_zero): Likewise.
490 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
491 * tree-ssa-loop-ivopts.c (determine_biv_step, idx_find_step,
492 add_old_iv_candidates, add_iv_candidates): Likewise.
493 * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
494
366de0ce
NS
4952004-09-07 Nathan Sidwell <nathan@codesourcery.com>
496
497 * c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable.
498 * c-common.c (c_type_hash, c_common_nodes_and_builtins,
499 c_expand_expr, boolean_increment, nonnull_check_p,
500 check_function_arguments_recurse, fold_offsetof_1): Likewise.
501 * c-cppbuiltin.c (define__GNUC__, builtin_define_stdint_macros,
502 builtin_define_type_max): Likewise.
503 * c-decl.c (bind, pop_scope, merge_decls, pushdecl_top_level,
504 implicit_decl_warning, builtin_function, build_compound_literal,
505 complete_array_type, grokdeclarator, get_parm_info,
506 start_function, store_parm_decls_oldstyle,
507 c_write_global_declarations): Likewise.
508 * c-format.c (get_constant, decode_format_attr,
509 maybe_read_dollar_number, get_flag_spec, check_format_arg,
510 check_format_types, format_type_warning,
511 find_char_info_specifier_index, init_dynamic_asm_fprintf_info,
512 init_dynamic_diag_info, handle_format_attribute): Likewise.
513 * c-gimplify.c (push_context, pop_context, finish_bc_block):
514 * c-lex.c (c_lex_with_flags, lex_string): Likewise.
515 * c-objc-common.c (c_tree_printer): Likewise.
516 * c-pch.c (pch_init): Likewise.
517 * c-pragma.c (maybe_apply_pragma_weak): Likewise.
518 * c-pretty-print.c (pp_c_tree_decl_identifier): Likewise.
519 * c-typeck.c (c_incomplete_type_error, composite_type,
520 common_pointer_type, common_type, same_translation_unit_p,
521 tagged_types_tu_compatible_p, finish_init, pop_init_level,
522 set_designator, set_nonincremental_init_from_string,
523 process_init_element, c_finish_if_stmt): Likewise.
524 * caller-save.c (init_caller_save, save_call_clobbered_regs,
525 insert_restore, insert_save, insert_one_insn): Likewise.
526 * calls.c (emit_call_1, compute_argument_block_size,
527 precompute_arguments, expand_call, emit_library_call_value_1,
528 store_one_arg): Likewise.
529
e1bbfc5c
NS
5302004-09-07 Nathan Sidwell <nathan@codesourcery.com>
531
532 * configure.ac (enable-checking): Add release option. Reorganize
533 to avoid repetition.
534 * configure: Rebuilt.
535 * doc/install.texi (enable-checking): Amend documentation.
536
e64dc647
L
5372004-09-06 H.J. Lu <hongjiu.lu@intel.com>
538
539 PR bootstrap/17313
540 * Makefile.in (specs.ready): Depend on cc1$(exeext).
541
d3a583b1
JW
5422004-09-06 James E Wilson <wilson@specifixinc.com>
543
cfd8e493
JW
544 * config/mips/mips.md (movsf_hardfloat, movdf_hardfloat_64bit,
545 movdf_hardfloat_32bit): Split fG into two alternatives.
546 (movv2sf_hardfloat_64bit): Split fYG into two alternatives.
547
d3a583b1
JW
548 * emit-rtl.c (try_split): Check INSN_P before may_trap_p call.
549
ff8cea7e
EB
5502004-09-06 Eric Botcazou <ebotcazou@libertysurf.fr>
551
552 * final.c (output_in_slot): Delete.
553 (final_scan_insn): Revert 2004-09-03 change.
554 (output_asm_insn): Likewise.
555 * config/sparc/sparc.c (output_return): Likewise.
556 (output_sibcall): Likewise.
557
8679c649
JH
5582004-09-06 Jan Hubicka <jh@suse.cz>
559
560 * loop.c (loop_dump_aux): Do not print RTL when not available.
561 * tree-ssa-loop-ivopts.c (add_standard_iv_candidates): Do not use
562 frontend specific type nodes.
563 (produce_memory_decl_rtl): Break out from ...
564 (prepare_decl_rtl): ... here. Handle ADDR_EXPR correctly.
565 (get_computation_at): Avoid random tree sharing.
566 (tree_ssa_iv_optimize): Verify tree sharing; dump loops.
567
93f8bd9e
ZW
5682004-09-06 Zack Weinberg <zack@codesourcery.com>
569
570 * Makefile.in (rtl.o, bitmap.o): Correct dependencies, remove
571 unnecessary commands.
572
c802a859
ME
5732004-09-06 Mohan Embar <gnustuff@thisiscool.com>
574
575 * Makefile.in (rtl.o): Remove -DGENERATOR_FILE.
576 (bitmap.o): Likewise.
577
9f8628ba
PB
5782004-09-06 Paolo Bonzini <bonzini@gnu.org>
579
580 Unify the management of RTL and tree-level dump files.
581
582 * cfgexpand.c (tree_expand_cfg): Fix incorrect comment.
583 Don't print function name to the dump file, the pass manager
584 would do this for us. Add code from the top of
585 rest_of_compilation, up to the initial RTL dump.
586 * passes.c (rest_of_handle_jump): Call fixup_tail_calls and
587 close the DFI_sibling dump file.
588 (rest_of_compilation): Don't do that here. Remove code up to the
589 initial RTL dump.
590 (init_optimization_passes): Remove.
591 (pass_rest_of_compilation): Change pass name to NULL.
592 * toplev.c (lang_dependent_init): Do not use an empty dump file prefix.
593 Do not call init_optimization_passes.
594 * toplev.h (init_optimization_passes): Remove.
595
596 * graph.c (print_rtl_graph_with_bb, clean_graph_dump_file,
597 finish_graph_dump_file): Remove SUFFIX parameter.
598 * graph.h (print_rtl_graph_with_bb, clean_graph_dump_file,
599 finish_graph_dump_file): Likewise.
600
601 * tree-pass.h (struct tree_opt_pass): Add `letter' field.
602 * cfgexpand.c (pass_expand): Adjust.
603 * gimple-low.c (pass_lower_cf, pass_remove_useless_vars): Adjust.
604 * passes.c (pass_rest_of_compilation): Adjust.
605 * predict.c (pass_profile): Adjust.
606 * tree-alias-common.c (pass_build_pta, pass_del_pta): Adjust.
607 * tree-cfg.c (pass_build_cfg, pass_remove_useless_stmts,
608 pass_split_crit_edges, pass_warn_function_return): Adjust.
609 * tree-complex.c (pass_lower_vector_ssa, pass_pre_expand): Adjust.
610 * tree-dfa.c (pass_referenced_vars): Adjust.
611 * tree-eh.c (pass_lower_eh): Adjust.
612 * tree-if-conv.c (pass_build_ssa): Adjust.
613 * tree-into-ssa.c (pass_build_ssa): Adjust.
614 * tree-mudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
615 * tree-nomudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
616 * tree-nrv.c (pass_nrv): Adjust.
617 * tree-optimize.c (pass_gimple, pass_all_optimizations,
618 pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
619 pass_init_datastructures): Adjust.
620 * tree-outof-ssa.c (pass_del_ssa): Adjust.
621 * tree-profile.c (pass_tree_profile): Adjust.
622 * tree-sra.c (pass_sra): Adjust.
623 * tree-ssa-alias.c (pass_may_alias): Adjust.
624 * tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Adjust.
625 * tree-ssa-copyrename.c (pass_rename_ssa_copies): Adjust.
626 * tree-ssa-dce.c (pass_dce, pass_cd_dce): Adjust.
627 * tree-ssa-dom.c (pass_dominator): Adjust.
628 * tree-ssa-dse.c (pass_dse): Adjust.
629 * tree-ssa-forwprop.c (pass_forwprop): Adjust.
630 * tree-ssa-if-conv.c (pass_if_conversion): Adjust.
631 * tree-ssa-loop-ch.c (pass_ch): Adjust.
632 * tree-ssa-loop.c (pass_loop, pass_loop_init, pass_lim,
633 pass_loop_done, pass_complete_unroll, pass_iv_canon,
634 pass_iv_optimize, pass_vectorize): Adjust.
635 * tree-ssa-phiopt.c (pass_phiopt): Adjust.
636 * tree-ssa-pre.c (pass_pre, pass_fre): Adjust.
637 * tree-ssa.c (pass_redundant_phi, pass_early_warn_uninitialized,
638 pass_late_warn_uninnitialized): Adjust.
639 * tree-tailcall.c (pass_tail_recursion, pass_tail_calls): Adjust.
640
641 * Makefile.in (tree-dump.o): Add new dependencies.
642 * cgraph.c (cgraph_remove_node): TDF_all -> TDF_tree_all.
643 * cgraphunit.c (cgraph_preserve_function_body_p, cgraph_optimize):
644 Likewise.
645 * toplev.c (dump_file_name): New.
646 * tree-dump.c (dump_enable_all): Add LETTER parameter.
647 (struct dump_file_info): Add NUM and LETTER fields.
648 (dump_files): Adjust and add RTL dump files.
649 (dump_register): Add NUM and LETTER fields.
650 (get_dump_file_name, dump_initialized_p, enable_rtl_dump_file): New.
651 (dump_begin): Use get_dump_file_name.
652 (dump_switch_p_1): Adjust call to dump_enable_all.
653 * tree-dump.h (dump_register): Adjust prototype.
654 * tree-optimize.c (register_one_dump_file): Take dump file index.
655 Support flags for RTL dumps.
656 (register_dump_files): Fill in NUM field of struct dump_file_info.
657 Track properties both when the gate is executed and when it is not.
658 (execute_todo): Dump RTL. Add PROPERTIES parameter.
659 (execute_one_pass): Pass properties to execute_todo. Handle VCG
660 dumps of RTL.
661 * tree-pass.h (dump_file_name): New.
662 * tree.h (TDF_TREE, TDF_RTL, get_dump_file_name, dump_initialized_p):
663 New.
664
665 * Makefile.in (passes.o): Add new dependencies.
666 * passes.c (struct dump_file_info, enum dump_file_index,
667 dump_file_tbl, init_optimization_passes): Remove.
668 (open_dump_file, close_dump_file): Use tree-dumping infrastructure.
669 (rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): Use
670 dump_enabled_p.
671 (finish_optimization_passes): Update finish_graph_dump_file loop.
672 (enable_rtl_dump_file): Remove.
673 * tree-dump.c (dump_files): Adjust and add RTL dump files.
674 (enable_rtl_dump_file): Add here.
675 * tree.h (enum tree_dump_index): Add RTL dump file indices.
676 * doc/invoke.texi (Debugging options): Document new RTL debugging
677 options. Update.
678
8c27b7d4
KH
6792004-09-05 Kazu Hirata <kazu@cs.umass.edu>
680
681 * c-common.c, c-decl.c, combine.c, defaults.h, fold-const.c,
682 gimplify.c, gthr-nks.h, hooks.c, lambda-code.c, lambda-mat.c,
683 stor-layout.c, target.h, tree-cfg.c, tree-chrec.c,
684 tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
685 tree-mudflap.c, tree-optimize.c, tree-scalar-evolution.c,
686 tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dce.c,
687 tree-ssa-pre.c, tree-vectorizer.c, tree-vectorizer.h, tree.h,
688 vec.h: Fix comment formatting.
689
2a7e31df
KH
6902004-09-05 Kazu Hirata <kazu@cs.umass.edu>
691
692 * c-common.c, cfgexpand.c, cgraphunit.c, defaults.h,
693 et-forest.c, expr.c, gimplify.c, global.c, gthr-lynx.h,
694 hard-reg-set.h, modulo-sched.c, optabs.c, postreload-gcse.c,
695 tree-data-ref.c, tree-flow.h, tree-if-conv.c, tree-inline.c,
696 tree-sra.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
697 tree-ssa-loop-niter.c, tree-ssa-operands.c,
698 tree-ssa-operands.h, tree-ssa-propagate.c,
699 tree-ssa-propagate.h, tree-ssa-threadupdate.c, value-prof.c,
700 vec.c, vec.h: Fix comment typos. Follow spelling conventions.
701
2addf926
DN
7022004-09-05 Diego Novillo <dnovillo@redhat.com>
703
704 * tree-if-conv.c (gate_tree_if_conversion): Enable only if the
705 vectorizer is enabled.
706
61b5f210
AJ
7072004-09-05 Andreas Jaeger <aj@suse.de>
708
709 * tree-if-conv.c: Spell check comments and clean up whitespace.
710
8b11a64c
ZD
7112004-09-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
712
713 * tree-ssa-loop-ivopts.c: New file.
714 * Makefile.in (tree-ssa-loop-ivopts.c): Add.
715 * cfgloop.h (target_avail_regs, target_res_regs, target_small_cost,
716 target_pres_cost, target_spill_cost): Declare.
717 * cfgloopanal.c (avail_regs, res_regs, small_cost, pres_cost,
718 spill_cost): Renamed to ...
719 (target_avail_regs, target_res_regs, target_small_cost,
720 target_pres_cost, target_spill_cost): ... and exported.
721 (init_set_costs, global_cost_for_size): Work with renamed variables.
722 * common.opt (flag_ivopts): New flag.
723 * expr.c (expand_expr_real_1): Handle SSA_NAME case. Handle
724 REF_ORIGINAL.
725 * gimplify.c (struct gimplify_ctx): Add into_ssa field.
726 (internal_get_tmp_var, gimplify_modify_expr, gimplify_expr): Support
727 generating SSA form.
728 (force_gimple_operand): New function.
729 * timevar.def (TV_TREE_LOOP_IVOPTS): New timevar.
730 * tree-cfg.c (stmt_bsi): New function.
731 * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
732 PARAM_IV_MAX_CONSIDERED_USES): New.
733 * tree-flow.h (stmt_bsi, tree_ssa_iv_optimize, split_loop_exit_edge,
734 bsi_insert_on_edge_immediate_loop. standard_iv_increment_position,
735 ip_end_pos, ip_normal_pos, force_gimple_operand): Declare.
736 * tree-gimple.c (is_gimple_formal_tmp_var): Accept ssa names.
737 * tree-nested.c (build_addr): Export.
738 * tree-optimize.c (init_tree_optimization_passes): Add
739 pass_iv_optimize.
740 * tree-pass.h (pass_iv_optimize): Declare.
741 * tree-ssa-loop-im.c (for_each_index): Handle REALPART_EXPR and
742 IMAGPART_EXPR.
743 * tree-ssa-loop-manip.c (create_iv): Force the base to be acceptable
744 as a phi node argument.
745 (split_loop_exit_edge, bsi_insert_on_edge_immediate_loop,
746 ip_end_pos, ip_normal_pos, standard_iv_increment_position): New
747 functions.
748 * tree-ssa-loop-niter.c (zero_p, unsigned_type_for): Export.
749 * tree-ssa-loop.c (tree_ssa_loop_ivopts, gate_tree_ssa_loop_ivopts,
750 pass_iv_optimize): New pass.
751 * tree-ssa-operands.c (get_indirect_ref_operands): Handle REF_ORIGINAL.
752 * tree-ssanames.c (release_ssa_name): Allow calling with var = NULL.
753 * tree.c (build_int_cst_type, cst_and_fits_in_hwi): New functions.
754 * tree.h (REF_ORIGINAL): New macro.
755 (build_int_cst_type, unsigned_type_for, zero_p,
756 cst_and_fits_in_hwi, build_addr): Declare.
757 * doc/invoke.texi (-fivopts): Document.
758 (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
759 PARAM_IV_MAX_CONSIDERED_USES): Document.
760 * doc/passes.texi: Document induction variable optimizations pass.
761
254986c7
KG
7622004-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
763
764 * builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New.
765 * builtins.def (BUILT_IN_EXECLE): Set ATTR_NOTHROW_SENTINEL_1.
766 * c-common.c (c_common_attribute_table): Accept parameters to
767 sentinel attribute.
768 (check_function_sentinel, handle_sentinel_attribute): Likewise.
769 * doc/extend.texi: Update accordingly.
770
3d091dac
KG
7712004-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
772
773 * builtin-attrs.def (ATTR_SENTINEL, ATTR_SENTINEL_NOTHROW_LIST):
774 New.
775 * builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP): Add `sentinel'
776 attribute.
777 * c-common.c (handle_sentinel_attribute, check_function_sentinel):
778 New functions.
779 (c_common_attribute_table): Add `sentinel' attribute.
780 (check_function_arguments): Handle `sentinel' attribute.
781 * doc/extend.texi: Document `sentinel' attribute.
8f1529e6 782
44269c40 7832004-09-04 H.J. Lu <hongjiu.lu@intel.com>
a60749f5 784
3d091dac
KG
785 * configure: Regenerated.
786
44269c40
KG
7872004-09-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
788
875803a0
RK
789 * gimplify.c (internal_get_tmp_var): Remove unused var CLASS.
790
c51c248f
RK
791 * tree.c (save_expr): No longer TREE_READONLY.
792
8d168c24
JH
7932004-09-04 Jan Hubicka <jh@suse.cz>
794
795 * passes.c (rest_of_clean_state): Fix merge conflict made during
796 commiting the patch.
797
0a9aeefd
JH
7982004-09-04 Jan Hubicka <jh@suse.cz>
799
800 * passes.c (rest_of_clean_state): Decompose the instruction stream.
801
273a2526
RS
8022004-09-04 Richard Sandiford <rsandifo@redhat.com>
803
804 * doc/md.texi (shift patterns): New anchor. Add reference to
805 TARGET_SHIFT_TRUNCATION_MASK.
806 * doc/tm.texi (TARGET_SHIFT_TRUNCATION_MASK): Document.
807 * target.h (shift_truncation_mask): New target hook.
808 * targhook.h (default_shift_truncation_mask): Declare.
809 * targhook.c (default_shift_truncation_mask): Define.
810 * target-def.h (TARGET_SHIFT_TRUNCATION_MASK): Define.
811 (TARGET_INITIALIZER): Include it.
812 * simplify-rtx.c (simplify_binary_operation): Combine ASHIFT, ASHIFTRT
813 and LSHIFTRT cases. Truncate arg1 if SHIFT_COUNT_TRUNCATED, otherwise
814 reject all out-of-range values. Fix sign-extension code for modes
815 whose width is smaller than HOST_BITS_PER_WIDE_INT.
816 * optabs.c (simplify_expand_binop, force_expand_binop): New functions.
817 (expand_superword_shift, expand_subword_shift): Likewise.
818 (expand_doubleword_shift_condmove, expand_doubleword_shift): Likewise.
819 (expand_binop): Use them to implement double-word shifts.
820 * config/arm/arm.c (arm_shift_truncation_mask): New function.
821 (TARGET_SHIFT_TRUNCATION_MASK): Define.
822
caf29de7
JH
8232004-09-04 Jan Hubicka <jh@suse.cz>
824
825 * tree.c (iterate_hash_expr): Optimize, avoid use of iterative_hash_object.
826 (mix): New macro copied from hashtab.c
827 (iterative_hash_hashval_t, iterative_hash_pointer,
828 iterative_hash_host_wide_int): New functions based on hashtab.c
829 implementation.
830
e83adf94
RS
8312004-09-04 Richard Sandiford <rsandifo@redhat.com>
832
833 * config/mips/mips.md (mask): New mode attribute.
834 (zero_extendsidi2): Add memory alternative.
835 (*zero_extendsidi2_mem): Delete.
836 (zero_extend[qh]i[sd]i2): Redefine using :GPR and :SHORT. Use
837 memory_operand in the TARGET_MIPS16 check.
838 (*zero_extend[qh]i[sd]i2{,_mips16}): Name previously unnamed patterns.
839 Redefine using :GPR and :SHORT.
840 (zero_extendqihi2): Use memory_operand in the TARGET_MIPS16 check.
841
edeacc14
UB
8422004-09-04 Uros Bizjak <uros@kss-loka.si>
843
844 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_RINT{,F,L}
845 using rint_optab.
846 (expand_builtin): Expand BUILT_IN_RINT{,F,L} using
847 expand_builtin_mathfn.
848 * genopinit.c (optabs): Rename trunc_optab to btrunc_optab. Use
849 btrunc?f patterns for btrunc_optab. Implement rint_optab using
850 rint?f patterns.
851 * optabs.c (init_optabs): Initialize rint_optab.
852 * optabs.h (enum optab_index): Rename OTI_trunc to OTI_btrunc.
853 Add new OTI_rint.
854 (btrunc_optab): Rename macro from trunc_optab.
855 (rint_optab): Define corresponding macro.
856
857 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT_FLOOR,
858 UNSPEC_FRNDINT_CEIL, UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM.
859
860 * config/i386/i386-protos.h (emit_i387_cw_initialization):
861 Change prototype. Add new int parameter.
862 * config/i386/i386.c (emit_i387_cw_initialization):
863 Handle new rounding modes.
864
865 * config/i386/i386.h (enum fp_cw_mode): Delete.
c9996000 866 (MODE_NEEDED): Handle new rounding modes.
edeacc14
UB
867 (EMIT_MODE_SET): Change condition to handle new rounding modes.
868
869 * config/i386/i386.md (UNSPEC_FRNDINT_FLOOR, UNSPEC_FRNDINT_CEIL,
870 UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM): New unspecs to
871 represent different rounding modes of frndint insn.
872 (type): Add frndint type.
873 (i387, length, memory): Handle this type.
874 (i387_cw): New attribute definition.
875 (*fix_truncdi_1, fix_truncdi_nomemory, fix_truncdi_memory,
876 *fix_truncsi_1, fix_truncsi_nomemory, fix_truncsi_memory,
877 *fix_trunchi_1, fix_trunchi_nomemory, fix_trunchi_memory):
878 Add "i387_cw" attribute defined to "trunc".
879 (x86_fnstcw_1): Remove comment.
880 (*frndintxf2): Rename insn definition to frndintxf2. Move
881 insn definition near rint?f2 expanders.
882 (rintdf2, rintsf2, rintxf2): New expanders to implement rint,
883 rintf and rintl built-ins as inline x87 intrinsics.
884 (frndintxf2_floor): New pattern to implement floor rounding
885 mode with frndint x87 instruction.
886 (floordf2, floorsf2, floorxf2): New expanders to implement floor,
887 floorf and floorl built-ins as inline x87 intrinsics.
888 (frndintxf2_ceil): New pattern to implement ceil rounding
889 mode with frndint x87 instruction.
890 (ceildf2, ceilsf2, ceilxf2): New expanders to implement ceil,
891 ceilf and ceill built-ins as inline x87 intrinsics.
892 (frndintxf2_trunc): New pattern to implement trunc rounding
893 mode with frndint x87 instruction.
894 (btruncdf2, btruncsf2, btruncxf2): New expanders to implement trunc,
895 truncf and truncl built-ins as inline x87 intrinsics.
896 (frndintxf2_mask_pm): New pattern to implement rounding
897 mode with exceptions with frndint x87 instruction.
898 (nearbyintdf2, nearbyintsf2, nearbyintxf2): New expanders to
899 implement nearbyint, nearbyintf and nearbyintl built-ins as
900 inline x87 intrinsics.
901
183f019b
RS
9022004-09-04 Richard Sandiford <rsandifo@redhat.com>
903
904 * config/mips/mips.md (SHORT): New mode macro.
905 (size): New mode attribute.
906 (extend[qh]i[sd]i2): Redefine using :GPR and :SHORT.
907 (*extend[qh]i[sd]i2): New define_insn_and_split, combining previous
908 *extend[qh]i[sd]i2 and *extend[qh]i[sd]i2_mem patterns. Use only if
909 !ISA_HAS_SEB_SEH.
910 (*extend[qh]i[sd]i2_se[bh]): New pattern, combining previous
911 *extend[qh]isi2_hw patterns and extending them to di.
912 (extendqihi2): Implement as define_insn_and_split that produces
913 extendqisi2 after reload.
914
40923b20
DP
9152004-09-03 Devang Patel <dpatel@apple.com>
916
917 * Makefile.in (OBJS-common): Add tree-if-conv.o
918 (tree-if-conv.o): New rule.
919 * cfgloop.c (flow_loop_exit_edges_find): Set EDGE_LOOP_EXIT flag.
920 (get_loop_body_in_bfs_order): New.
921 * cfgloop.h (get_loop_body_in_bfs_order): New.
922 * tree-flow.h (enum move_pos): Move here from ..
923 * tree-ssa-loop-im.c (enum move_pos): here.
924 (movement_possibility): Make externally visible.
925 * tree-optimize.c (init_tree_optimization_passes): New entry for
926 if conversion pass.
927 * tree-pass.h (pass_if_conversion): New.
928 * tree-ssa-operands.c (get_expr_operands): Handle COND_EXPR.
929 * tree-if-conv.c: New file.
930 * doc/passes.texi: Document tree if-conversion pass.
c9996000 931 * doc/tree-ssa.texi: Same.
40923b20 932
443728bb
L
9332004-09-03 H.J. Lu <hongjiu.lu@intel.com>
934
935 PR target/14925:
936 Makefile.in (LIB2ADDEHSTATIC): New.
937 (LIB2ADDEHSHARED): New.
938 (LIBUNWIND): New.
939 (LIBUNWINDDEP): New.
940 (SHLIBUNWIND_LINK): New.
941 (SHLIBUNWIND_INSTALL): New.
942 (libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND,
943 LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL.
944 (clean): Remove libunwind*
945 (stage1-start): Remove and copy stage1/libunwind*.
946 (stage2-start): Remove and copy stage2/libunwind*.
947 (stage3-start): Remove and copy stage3/libunwind*.
948 (stage4-start): Remove and copy stage4/libunwind*.
949 (stageprofile-start): Remove and copy stageprofile/libunwind*.
950 (stagefeedback-start): Remove and copy stagefeedback/libunwind*.
951
952 * config.gcc (ia64*-*-linux*): Always add t-libunwind to
953 tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to
954 tmake_file if --with-system-libunwind isn't used.
955
956 * config/ia64/t-glibc-libunwind: New file.
957 * config/t-libunwind-elf: Likewise.
958 * unwind-compat.c: Likewise.
959 * unwind-compat.h: Likewise.
960 * unwind-dw2-fde-compat.c: Likewise.
961
962 * config/ia64/t-glibc (LIB2ADDEH): Updated.
963 * config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
964
965 * config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define
966 aliases if needed.
967 * unwind-dw2-fde-glibc.c: Likewise.
968 * unwind-dw2.c: Likewise.
969
970 * config/t-libunwind (LIB2ADDEH): Updated.
971 (LIB2ADDEHSTATIC): New.
972 (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
973 (TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER.
974
975 * configure.ac: Change --enable-libunwind-exceptions to
976 --with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS.
977 * configure: Regenerated.
978 * config.in: Updated.
979
980 * doc/install.texi (ia64-*-linux): Require libunwind 0.98 or
981 above and mention --with-system-libunwind.
982 (ia64-*-hpux*): Mention --enable-libunwind-exceptions is
983 removed in gcc 3.4.3 and later.
984
985 * gcc.c (init_spec): Add -lunwind to -lgcc_s if
986 USE_LIBUNWIND_EXCEPTIONS is defined.
987
988 * mklibgcc.in: Support libunwind.
989
d20bf446
L
9902004-09-03 H.J. Lu <hongjiu.lu@intel.com>
991
992 * config/i386/i386.c (x86_branch_hints): Remove m_PENT4 and
993 m_NOCONA.
994
1f6d3a08
RH
9952004-09-03 Richard Henderson <rth@redhat.com>
996
93f8bd9e
ZW
997 PR middle-end/9997
998 * cfgexpand.c (LOCAL_ALIGNMENT): Provide default.
999 (STACK_ALIGNMENT_NEEDED, FRAME_GROWS_DOWNWARD): Likewise.
1000 (struct stack_var, EOC, stack_vars, stack_vars_alloc, stack_vars_num,
1001 stack_vars_sorted, stack_vars_conflict, stack_vars_conflict_alloc,
1002 frame_phase, get_decl_align_unit, add_stack_var, triangular_index,
1003 resize_stack_vars_conflict, add_stack_var_conflict,
1004 stack_var_conflict_p, add_alias_set_conflicts, stack_var_size_cmp,
1005 union_stack_vars, partition_stack_vars, dump_stack_var_partition,
1006 expand_one_stack_var_at, expand_stack_vars, expand_one_stack_var,
1f6d3a08
RH
1007 expand_one_static_var, expand_one_hard_reg_var,
1008 expand_one_register_var, expand_one_error_var, defer_stack_allocation,
1009 expand_one_var, expand_used_vars_for_block, clear_tree_used): New.
93f8bd9e 1010 (expand_used_vars): Rewrite.
1f6d3a08
RH
1011 * Makefile.in (cfgexpand.o): Update dependencies.
1012
80d8221e
JH
10132004-09-04 Jan Hubicka <jh@suse.cz>
1014
1015 * cfg.c (free_edge): Use ggc_free.
1016 (expunge_block): Use ggc_free.
1017 * passes.c (rest_of_clean_state): Free after compilation.
1018 * tree-ssa.c (delete_tree_ssa): Free annotations; call release_defs
1019 * tree-ssanames.c (release_defs): Ignore non-SSA_NAME arguments.
1020
bb1058e4
JW
10212004-09-03 James E Wilson <wilson@specifixinc.com>
1022
1023 * tree-ssa-alias.c (may_be_aliased): Move TREE_STATIC check after
1024 DECL_EXTERNAL check.
1025
ca83de6b
EB
10262004-09-03 Eric Botcazou <ebotcazou@libertysurf.fr>
1027
1028 * final.c (output_in_slot): New global variable.
1029 (final_scan_insn): Add new state '2' to the 'nopeepholes' parameter.
1030 Pass 2 as 'nopeepholes' to self for insns in a SEQUENCE. Set
1031 'output_in_slot' before invoking output_asm_insn.
1032 (output_asm_insn): Add a space after the tab if 'output_in_slot'
1033 is set.
1034 * config/sparc/sparc.c (output_return): Pass 2 as 'nopeepholes' to
1035 final_scan_insn.
1036 (output_sibcall): Likewise.
1037
1e3e17d3
JH
10382004-09-03 Jan Hubicka <jh@suse.cz>
1039
1040 * tree-ssa-operands.c (fini_ssa_operands): ggc_free unused arrays.
1041 * tree-ssanames (init_ssanames): Likewise.
1042
c41e5f27
ZL
10432004-09-03 Ziemowit Laski <zlaski@apple.com>
1044
1045 * stub-objc.c (objc_is_id, objc_declare_alias, objc_declare_class,
1046 objc_declare_protocols, objc_start_protocol,
1047 objc_start_class_interface, objc_start_category_interface,
1048 objc_continue_interface, objc_finish_interface,
1049 objc_add_instance_variable, objc_set_visibility, objc_set_method_type,
1050 objc_start_class_implementation, objc_start_category_implementation,
1051 objc_continue_implementation, objc_finish_implementation,
1052 objc_add_method_declaration, objc_start_method_definition,
1053 objc_finish_method_definition, objc_build_keyword_decl,
1054 objc_build_method_signature, objc_build_encode_expr,
1055 objc_build_protocol_expr, objc_build_selector_expr,
1056 objc_build_message_expr, objc_build_string_object,
1057 objc_get_class_reference, objc_get_protocol_qualified_type,
1058 objc_static_init_needed_p, objc_generate_static_init_call): New stubs.
1059
b30d77c4
JW
10602004-09-03 James E Wilson <wilson@specifixinc.com>
1061
1062 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips3d.
1063
1064 * config/mips/generic.md (generic_frecip_fsqrt_step): New.
1065 * config/mips/mips-ps-3d.md (mips_rsqrt1_<fmt>): Use frsqrt1 type.
1066 (mips_rsqrt2_<fmt>): Use frsqrt2 type.
1067 (mips_recip1_<fmt>): Use frdiv1 type.
1068 (mips_recip2_<fmt>): Use frdiv2 type.
1069 * config/mips/mips.md (type): Add frdiv1, frdiv2, frsqrt1, frsqrt2.
1070 * config/mips/sb1.md (ir_sb1_fpu_2pipes, ir_sb1_fpu_1pipe): Add frdiv1
1071 and frsqrt1.
1072 (ir_sb1_fpu_step2_2pipes, ir_sb1_fpu_step2_1pipe): New.
1073
87cda9d6
DJ
10742004-09-03 Daniel Jacobowitz <dan@debian.org>
1075
1076 * reload.c (find_reloads): Swap operand_loc pointers for
1077 find_dummy_reload if we have swapped two operands.
1078
f671762a
HPN
10792004-09-03 Hans-Peter Nilsson <hp@axis.com>
1080
1081 * config/cris/cris.h (ASM_OUTPUT_CASE_END): Use prev_nonnote_insn
1082 to get the tablejump-insn before the jump-table label.
1083
a45bcfb2
ZL
10842004-09-03 Ziemowit Laski <zlaski@apple.com>
1085
1086 * c-common.h (objc_is_id, objc_declare_alias, objc_declare_class,
1087 objc_declare_protocols, objc_build_message_expr,
1088 objc_finish_message_expr, objc_build_selector_expr,
1089 objc_build_protocol_expr, objc_build_encode_expr,
1090 objc_build_string_object, objc_get_protocol_qualified_type,
1091 objc_get_class_reference, objc_get_class_ivars,
1092 objc_start_class_interface, objc_start_category_interface,
1093 objc_start_protocol, objc_continue_interface, objc_finish_interface,
1094 objc_start_class_implementation, objc_start_category_implementation,
1095 objc_continue_implementation, objc_finish_implementation,
1096 objc_set_visibility, objc_set_method_type, objc_build_method_signature,
1097 objc_add_method_declaration, objc_start_method_definition,
1098 objc_finish_method_definition, objc_add_instance_variable,
1099 objc_build_keyword_decl, objc_build_throw_stmt, objc_begin_try_stmt,
1100 objc_finish_try_stmt, objc_begin_catch_clause,
1101 objc_finish_catch_clause, objc_build_finally_clause,
1102 objc_build_synchronized, objc_static_init_needed_p,
1103 objc_generate_static_init_call): New prototypes.
1104
9dec91d4
SE
11052004-09-03 Steve Ellcey <sje@cup.hp.com>
1106
1107 * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL even if there
1108 is only one reg.
1109 (ia64_function_value): Ditto.
1110
61fec9ff
JB
11112004-09-03 Jan Beulich <jbeulich@novell.com>
1112
1113 * config.gcc: Resurrect NetWare as a target. Handle special case of
1114 Novell linker to be used (specified through --with-ld=) and threading
1115 model of either Posix (default) or NKS.
1116 * config/i386/i386.c (ix86_return_pops_args): Conditionalize popping
1117 of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER.
1118 * config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New.
1119 * config/i386/netware.c, config/i386/netware.h: New.
1120 * config/i386/nwld.c, config/i386/nwld.h: New.
1121 * config/i386/netware-crt0.c: New.
1122 * config/i386/netware-libgcc.c: New.
1123 * config/i386/netware-libgcc.def: New.
1124 * config/i386/netware-libgcc.exp: New.
1125 * config/i386/t-netware, config/i386/t-nwld: New.
1126 * gthr-nks.h: New.
1127 * doc/install.texi: Document NKS threading model.
1128
467cecf3
JB
11292004-09-03 Jan Beulich <jbeulich@novell.com>
1130
1131 PR c/7054
1132 * defaults.h (TARGET_DEFAULT_PACK_STRUCT): Provide default.
1133 * tree.h (initial_max_fld_align): Declare
1134 * stor-layout.c (initial_max_fld_align): Define and initialize.
1135 (maximum_field_alignment): Initialize to the same value.
1136 * common.opt: Add -fpack-struct= variant of switch.
1137 * opts.c: Handle -fpack-struct= variant of switch.
1138 * c-pragma.c: Change #pragma pack() handling so that it becomes
1139 compatible to other compilers: accept individual 'push' argument,
1140 make final pop restore (command line) default, correct interaction
1141 of push/pop and sole specification of a new alignment (so that the
1142 sequence #pragma pack(push) - #pragma pack(<n>) becomes identical
1143 to #pragma pack(push, <n>).
1144 * doc/extend.texi: New node "Structure-Packing Pragmas" under
1145 "Pragmas", describing #pragma pack.
1146 * doc/invoke.texi: Document -fpack-struct=<n> variant of switch.
1147 * doc/tm.texi: Adjust description for HANDLE_PRAGMA_PACK_PUSH_POP.
1148 Document new TARGET_DEFAULT_PACK_STRUCT.
1149
90300b8c
DP
11502004-09-03 Devang Patel <dpatel@apple.com>
1151
1152 * dwarf2out.c (gen_field_die). Equate decl number to die.
c9996000 1153
d6df6ae2
VM
11542004-09-03 Vladimir Makarov <vmakarov@redhat.com>
1155
1156 PR target/15832
1157 * global.c (modify_reg_pav): New function.
1158 (make_accurate_live_analysis): Call the new function. Move pavin
1159 modification by earlyclobber set into the new function.
1160
25c99d8f
AS
11612004-09-03 Andreas Schwab <schwab@suse.de>
1162
1163 * config/m68k/m68k.c (output_andsi3): Use -1 instead of
1164 (HOST_WIDE_INT)0xffffffff since CONST_INT value are always sign
1165 extended.
1166
7f148c2f
JB
11672004-09-02 Jan Beulich <jbeulich@novell.com>
1168
1169 * Makefile.in (LIB2ADDEHDEP): Add unwind.h and unwind-pe.h.
1170 * mklibgcc.in (libgcc_dep): New, covering general dependencies, but
1171 not unwind code specific ones.
1172 (libgcc2_c_dep): Replace general dependencies with use of libgcc_dep.
1173 Remove unwind code specific dependencies.
1174 (libgcov_c_dep): Replace general dependencies with use of libgcc_dep.
1175 Remove gbl-ctors.h.
1176 Add libgcc_dep to output generated for LIB2ADD, LIB2ADDEH, and
1177 LIB2ADD_ST. Add LIB2ADDEHDEP to output generated for LIB2ADDEH.
1178 * tsystem.h: Declare memcpy and memset when inhibit_libc.
1179
9e42ab3e 11802004-09-02 Roman Zippel <zippel@linux-m68k.org>
c9996000 1181
9e42ab3e
RZ
1182 * combine.c (try_combine): Delay modifying of insns which cannot
1183 be easily undone.
1184
1b08d87d
DB
11852004-09-02 Daniel Berlin <dberlin@dberlin.org>
1186
1187 * gcc/common.opt: Rename ivcanon to tree-loop-ivcanon, tree-lim to
1188 tree-loop-im.
1189 * gcc/tree-ssa-loop.c: Ditto
1190 * gcc/tree-ssa-loop-ivcanon.c: Ditto
1191 * gcc/doc/invoke.texi: Ditto.
1192
d4e43dff
ZL
11932004-09-02 Ziemowit Laski <zlaski@apple.com>
1194
1195 * c-decl.c (store_parm_decls_newstyle): Make static.
1196 (store_parm_decls_from): New function.
1197 * c-tree.h (store_parm_decls_newstyle): Remove prototype.
1198 (store_parm_decls_from): New prototype.
1199
cd7d9ca4
DE
12002004-09-02 David Edelsohn <edelsohn@gnu.org>
1201
1202 * config/rs6000/rs6000.c (expand_block_move): Use SImode and
1203 HImode with STRICT_ALIGNMENT.
1204
40a1c5cb
MM
12052004-09-02 Mark Mitchell <mark@codesourcery.com>
1206
1207 * config/arm/bpabi.h (TARGET_BPABI_CPP_BUILTINS): Define.
1208 (TARGET_OS_CPP_BUILTINS): Likewise.
1209 * config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Include
1210 TARGET_BPABI_CPP_BUILTINS.
1211
b54567e2 12122004-09-02 Roman Zippel <zippel@linux-m68k.org>
c9996000 1213
b54567e2
RZ
1214 * combine.c (distribute_notes): Don't add REG_LABEL to jump insn.
1215
5906d013
EC
12162004-09-02 Eric Christopher <echristo@redhat.com>
1217
1218 * builtins.c (expand_builtin_cabs): Delete.
1219 (expand_builtin): If unable to fold the values do a normal
1220 library call for builtin_cab*.
1221 (fold_builtin_cabs): Depend on optimize and optimize_size.
1222 * optabs.c (expand_cmplxdiv_straight): Delete.
1223 (expand_cmplxdiv_wide): Ditto.
1224 (expand_vector_binop): Ditto.
1225 (expand_vector_unop): Ditto.
1226 (expand_complex_abs): Delete.
1227 (expand_binop): Remove calls to above functions.
1228 Remove open coding of complex arithmetic.
1229 (expand_unop): Ditto.
1230 * optabs.h: Remove prototypes.
1231
3041390d
ZL
12322004-09-02 Ziemowit Laski <zlaski@apple.com>
1233
1234 * c-decl.c (store_parm_decls_newstyle): Make externally visible.
1235 * c-tree.h (store_parm_decls_newstyle): New prototype.
1236
5514620a
GK
12372004-09-02 Geoffrey Keating <geoffk@apple.com>
1238
1239 * config/rs6000/rs6000.c (expand_block_clear): Use vector
1240 instructions if available.
1241 (expand_block_move): Likewise.
1242
02f14c38
JH
12432004-09-03 Jan Hubicka <jh@suse.cz>
1244
1245 * rtl.def (RANGE_INFO, RANGE_REG, RANGE_VAR, RANGE_LIVE): Kill.
1246
19dc705e
MM
12472004-09-02 Mark Mitchell <mark@codesourcery.com>
1248
1249 * config/arm/symbian.h (LIB_SPEC): Define to empty.
1250 * config/arm/t-symbian (SHLIB_LC): Likewise.
1251
24112ed0
PB
12522004-09-02 Paul Brook <paul@codesourcery.com>
1253
1254 * config/arm/bpabi.c (__aeabi_ul2d, __aeabi_ul2f): Remove.
1255
7ad769fe
RS
12562004-09-02 Richard Sandiford <rsandifo@redhat.com>
1257
1258 * config/mips/mips.c (mips_classify_symbol, mips_fetch_insns):
1259 (mips_restore_gp, mips_set_return_address, mips_expand_prologue)
1260 (mips16_fp_args, mips_avoid_hazard): Replace abort with gcc_assert.
1261 (build_mips16_call_stub): Likewise. Remove daft CALL_INSN checks.
1262 (mips_issue_rate): Remove unreachable abort.
1263 (mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns)
1264 (mips_output_move, mips_relational_operand_ok_p, mips_arg_info)
1265 (mips_block_move_straight, print_operand_address, mips_file_start)
1266 (mips_initial_elimination_offset, mips16_fp_args, dump_constants_1)
1267 (mips_output_conditional_branch, mips_expand_builtin_direct)
1268 (mips_expand_builtin_compare): Replace abort with gcc_unreachable.
1269 * config/mips/mips.md (rotr<mode>3, consttable_float): Replace abort
1270 with gcc_assert.
1271
9f09b415
RS
12722004-09-02 Richard Sandiford <rsandifo@redhat.com>
1273
1274 * config/mips/mips.md (*lea_high64): Change split condition to
1275 flow2_completed. Add a peephole2 to generate a more parallel version.
1276
07724022
JH
12772004-09-02 Jan Hubicka <jh@suse.cz>
1278
1279 * gimplify.c (gimplify_compound_lval): Move "stack" varray out of
1280 GGC.
1281
1282 * ggc-page.c: include tree-flow.h.
1283 (extra_order_size_table): Add stmt_ann_d.
1284 (STAT_LABEL): Rename from ....
1285 (LABEL): ... this one.
1286 * Makefile.in (ggc-page.o): Add dependency.
1287
1288 * ggc-common.c (ggc_force_collect): New global variable.
1289 (loc_description): Add fields "freed", "collected"
1290 (ptr_hash): New static hash
1291 (ptr_hash_entry): New structure.
1292 (hash_ptr,eq_ptr,ggc_prune_ptr): New static functions.
1293 (ggc_record_overhead): Take ptr argument, record it
1294 (ggc_prune_overhead_list, ggc_free_overhead): New functions.
1295 (cmp_statistics): Imrove sorting.
1296 (dump_ggc_loc_statistics): Output newly collected statistics
1297 * ggc-page.c (ggc_alloc): Update call of ggc_record_overhead
1298 (ggc_free): Call ggc_free_overhead.
1299 (ggc_collect): Force collection when asked to be forced.
1300 (ggc_collect): Call ggc_prune_overhead_list.
1301 * ggc.h (ggc_force_collect): Declare
1302 (ggc_record_overhead): Update prototype.
1303 (ggc_free_overhead, ggc_prune_overhead_list): Declare.
1304
10060b83
JW
13052004-09-02 James E Wilson <wilson@specifixinc.com>
1306
1307 * common.opt (ftrapping-math): Default to on.
1308
9d2da95b
RE
13092004-09-02 Richard Earnshaw <rearnsha@arm.com>
1310
1311 * arm/predicates.md (arm_reload_memory_operand): Allow MEM.
1312
3f1f9228
DC
13132004-09-02 Denis Chertykov <denisc@overta.ru>
1314
1315 PR target/16884
1316 * config/avr/avr.md ("movmemhi"): Substitute match_dup to
1317 match_scratch.
1318 (*movmemqi_insn): Likewise.
1319 (*movmemhi): Likewise.
1320 (clrmemhi): Likewise.
1321 (*clrmemqi): Likewise.
1322 (*clrmemhi): Likewise.
1323
e6fc6c9b
PB
13242004-09-02 Paul Brook <paul@codesourcery.com>
1325
1326 * config.gcc (arm*-*-eabi* | arm*-*-symbianelf*): Set
1327 default_use_cxa_atexit=yes.
1328
d86c1b91
AM
13292004-09-02 Alan Modra <amodra@bigpond.net.au>
1330
1331 * config/rs6000/linux64.h: Don't include signal.h or sys/ucontext.h.
1332 (struct kernel_old_ucontext): Delete.
1333 (struct gcc_pt_regs, gcc_sigcontext, gcc_ucontext): New.
1334 (MD_FALLBACK_FRAME_STATE_FOR): Use gcc_* structs. Only define
1335 when IN_LIGGCC2.
1336
3806400d
RS
13372004-09-02 Richard Sandiford <rsandifo@redhat.com>
1338
1339 * toplev.c (process_options): Fix typo.
1340
9969aaf6
RH
13412004-09-01 Richard Henderson <rth@redhat.com>
1342
1343 PR middle-end/17258
1344 * calls.c (initialize_argument_information): Tighten pass-through
1345 conditions for pass-by-reference. Remove dead TARGET_EXPR code.
1346 Use build_fold_addr_expr.
1347 (emit_library_call_value_1): Use build_fold_addr_expr. Remove code
1348 that assumes ADDR_EXPR allocates stack space.
1349 * fold-const.c (build_fold_addr_expr_with_type): Look through
1350 WITH_SIZE_EXPR.
1351
1e8964cf
DN
13522004-09-01 Dan Nicolaescu <dann@ics.uci.edu>
1353
1354 * gengenrtl.c (gendef): Use rtx_alloc, don't do PUT_CODE.
1355 * ggc.h (ggc_alloc_rtx): Delete.
1356
26276705
RS
13572004-09-01 Roger Sayle <roger@eyesopen.com>
1358
1359 * expmed.c (enum alg_code): Remove long unused enumeration values.
7f148c2f 1360 (struct mult_cost): New structure to hold the "score" of a synthetic
26276705
RS
1361 multiply sequence, including both a rtx_cost and a latency field.
1362 (MULT_COST_LESS): New macro to compare mult_cost to a constant.
1363 (CHEAPER_MULT_COST): New macro to compare two mult_costs.
1364 (struct algorithm): Change type of cost field to be mult_cost.
1365 (synth_mult): Change type of cost_limit argument to be a
1366 pointer to a mult_cost. Update all cost comparisons to use the
5906d013 1367 new mult_cost infrastructure. For alg_add_factor and
26276705
RS
1368 alg_sub_factor operations, latency is lower than the rtx_cost.
1369 (choose_mult_variant): Update calls to synth_mult. Perform
1370 cost comparisons using the new mult_cost infrastructure.
1371 (expand_mult_highpart): Use alg.cost.cost instead of alg.cost
1372 to optain the total rtx_cost of a synth_mult "algorithm".
1373
594a3565
DE
13742004-09-01 David Edelsohn <edelsohn@gnu.org>
1375
1376 * config/rs6000/power4.md: Increase store latency to 12.
1377 * config/rs6000/power5.md: Same.
1378
130d5426
JW
13792004-09-01 James E Wilson <wilson@specifixinc.com>
1380
1381 PR target/14064
1382 * config/avr/avr.c (avr_unique_section): Delete prototype and
1383 definition.
1384 (TARGET_ASM_UNIQUE_SECTION): Delete.
1385
57a6af27
ZL
13862004-09-01 Ziemowit Laski <zlaski@apple.com>
1387
1388 * c-parse.in (primary): Call objc_build_message_expr(),
1389 objc_build_selector_expr(), objc_build_protocol_expr(),
1390 objc_build_encode_expr() and objc_build_string_object() instead of
1391 build_message_expr(), build_selector_expr(), build_protocol_expr(),
1392 build_encode_expr() and build_objc_string_object(), respectively.
1393 (component_decl_list2): Call objc_get_class_ivars() instead of
1394 get_class_ivars_from_name().
1395 (keyworddecl): Call objc_build_keyword_decl() instead of
1396 build_keyword_decl().
1397 (receiver): Call objc_get_class_reference() instead of
1398 get_class_reference().
1399 (reswords): Add blank line before @@ifobjc section, for clarity.
1400
5ec214fc
FJ
14012002-09-01 Fariborz Jahanian <fjahanian@apple.com>
1402
1403 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Restrict alignment
1404 to Altivec vetors.
1405
40219f96
WY
14062004-09-01 Wu Yongwei <adah@sh163.net>
1407 Danny Smith <dannysmith@users.sourceforge.net>
1408
1409 * gthr-win32.h (__gthread_recursive_mutex_t): Use 'unsigned long',
1410 not Windows 'DWORD'.
1411 (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Correct typo.
1412 (__GTHREAD_RECURSIVE_MUTEX_INIT_DEFAULT): Likewise.
1413 (__gthr_win32_recursive_mutex_init_function): Add prototype for
1414 __GTHREAD_HIDE_WIN32API case..
1415 (__gthr_win32_recursive_mutex_lock): Likewise.
1416 (__gthr_win32_recursive_mutex_trylock): Likewise.
1417 (__gthr_win32_recursive_mutex_unlock): Likewise.
1418 (__gthread_recursive_mutex_init_function); Add definition for
1419 __GTHREAD_HIDE_WIN32API case.
1420 (__gthread_recursive_mutex_lock): Correct call to InterlockedDecrement.
1421 * config/i386/grthr-win32.c (__gthread_recursive_mutex_lock): Correct
1422 call to InterlockedDecrement.
1423
78ad8fbe
RK
14242004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1425
ba2e294d
RK
1426 * tree-tailcall.c (find_tail_calls): Also fail is statement has
1427 volatile operands.
1428
0705d602
RK
1429 * tree-ssa.c (propagate_into_addr): Properly test for LHR.
1430
78ad8fbe
RK
1431 * doc/c-tree.texi: Document new operands for ARRAY_REF and
1432 COMPONENT_REF.
1433
6d9901e7
ZD
14342004-09-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1435
1436 * Makefile.in (rtl-profile.o, value-prof.o): Add GCC_H dependency.
1437 * common.opt (fspeculative-prefetching): New.
1438 * flags.h (flag_speculative_prefetching_set): Declare.
1439 * gcov-io.c (gcov_write_counter, gcov_read_counter): Allow negative
1440 values.
1441 * opts.c (flag_sepculative_prefetching_set): New variable.
1442 (common_handle_option): Handle -fspeculative-prefetching.
1443 * passes.c (rest_of_compilation): Ditto.
1444 * profile.c (instrument_values, compute_value_histograms, branch_prob):
1445 Use vectors instead of arrays.
1446 * toplev.c (process_options): Handle -fspeculative-prefetching.
1447 * rtl-profile.c: Include ggc.h.
1448 (rtl_gen_interval_profiler, rtl_gen_pow2_profiler,
1449 rtl_gen_one_value_profiler_no_edge_manipulation,
1450 rtl_gen_one_value_profiler, rtl_gen_const_delta_profiler): Type of
1451 argument changed.
1452 * tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
1453 tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Type of
1454 argument changed.
1455 * value-prof.c: Include ggc.h.
1456 (NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX): New
1457 macros.
1458 (insn_prefetch_values_to_profile, find_mem_reference_1,
1459 find_mem_reference_2, find_mem_reference, gen_speculative_prefetch,
1460 speculative_prefetching_transform): New.
1461 (value_profile_transformations): Call speculative_prefetching_transform.
1462 (insn_values_to_profile): Call insn_prefetch_values_to_profile.
1463 (insn_divmod_values_to_profile, rtl_find_values_to_profile,
1464 tree_find_values_to_profile, find_values to profile): Use vectors
1465 instead of arrays.
1466 (free_profiled_values): Removed.
1467 * value-prof.h (struct histogram_value): Renamed to
1468 struct histogram_value_t.
1469 (histogram_value, histogram_values): New types.
1470 (find_values_to_profile): Declaration changed.
1471 (free_profiled_values): Removed.
1472 (struct profile_hooks): Type of argument of the hooks changed to
1473 histogram_value.
1474 * doc/invoke.texi (-fspeculative-prefetching): Document.
1475
d7fe1183
ZD
14762004-09-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1477
1478 PR rtl-optimization/16408
1479 * gcse.c (replace_store_insn): Fix LIBCALL/RETVAL notes.
1480
938e234b
RH
14812004-09-01 Richard Henderson <rth@redhat.com>
1482
7f148c2f
JB
1483 * config/ns32k/ns32k.h (TRANSFER_FROM_TRAMPOLINE): Remove.
1484 (TRAMPOLINE_TEMPLATE): Merge code from __trampoline inline.
938e234b 1485
d0879c98
JJ
14862004-09-01 Jakub Jelinek <jakub@redhat.com>
1487
1488 * libgcc-std.ver (GCC_3.4.2): Export also __trampoline_setup.
1489
156a126c
MS
14902004-09-01 Mike Stump <mrs@apple.com>
1491
1492 * config/darwin.c (machopic_symbol_defined_p): In addition to
1493 being SYMBOL_REF_LOCAL_P, a symbol must also be
1494 ! SYMBOL_REF_EXTERNAL_P, as only those are _always_ locally
1495 defined in this output file, or translation unit in the case
1496 of IMA not being used.
1497 (machopic_output_indirection): SYMBOL_REF_LOCAL_P symbols
1498 never need .indirect_symbol when indirecting.
1499
a5d8b097
JJ
15002004-09-01 Jakub Jelinek <jakub@redhat.com>
1501
1502 * Makefile.in (bb-reorder.o): Add several dependencies.
1503
266bff3a
JJ
15042004-09-01 Jakub Jelinek <jakub@redhat.com>
1505
1506 * fold-const.c (operand_equal_p): Require equal sign also for
1507 FIX_{CEIL,TRUNC,FLOOR,ROUND}_EXPR.
1508
32078532
RE
15092004-09-01 Richard Earnshaw <rearnsha@arm.com>
1510
1511 * config.gcc (--with-cpu on ARM): Preserve the canonical cpu name
1512 for use in configargs.h. Put the cname in a separate variable. Use
1513 that to set target_cpu_default2.
1514
c0311627
R
15152004-09-01 J"orn Rennecke <joern.rennecke@superh.com>
1516 Nick Clifton <nickc@redhat.com>
1517
1518 * config/sh/sh.md ("length"): Increase branch length when
1519 SH1 pic code to 18: 12 bytes of instructions, 4 byte for the
1520 constant, 2 byte for aligning the constant.
1521
d98a72fd
RE
15222004-09-01 Richard Earnshaw <rearnsha@arm.com>
1523
1524 * arm/arm-cores.def (ARM_CORE): Add new field for the real name of the
1525 CPU.
1526 (arm7tdmi-s): New CPU name.
1527 * arm/arm.c (ARM_CORE): Update for new format.
1528 * arm/arm.h (ARM_CORE): Likewise.
1529 * arm/gentune.sh: Update for extra field.
1530 * config.gcc: Likewise.
1531 * arm/arm-tune.md: Regenerate.
1532 * doc/invoke.texi: Document the real processor names for ARM cpus.
1533
0a1aa867
RE
15342004-09-01 Richard Earnshaw <rearnsha@arm.com>
1535
1536 * arm/ieee754-df.S (aeabi_ul2d, aeabi_l2d, floatundidf)
1537 (floatdidf): New functions.
1538 * arm/ieee754-sf.S (aeabi_ul2f, aeabi_l2f, floatundisf)
1539 (floatdisf): New functions.
1540 * t-arm-elf: Use them.
1541
bc095846
ZL
15422004-09-01 Ziemowit Laski <zlaski@apple.com>
1543
1544 * c-common.h (lookup_interface): Remove prototype.
1545 (is_class_name): Rename to objc_is_class_name.
1546 (lookup_objc_ivar): Rename to objc_lookup_ivar.
1547 (get_current_scope): Rename to objc_get_current_scope.
1548 * c-decl.c (get_current_scope): Rename to objc_get_current_scope.
1549 * c-parse.in (parmlist_or_identifiers_1): Get rid of unused variable.
1550 (yylexname): Call objc_is_class_name() instead of is_class_name().
1551 * c-typeck.c (build_external_ref): Call objc_lookup_ivar()
1552 instead of lookup_objc_ivar().
1553 * stub-objc.c (lookup_interface): Remove stub.
1554 (is_class_name): Rename to objc_is_class_name.
1555 (lookup_objc_ivar): Rename to objc_lookup_ivar.
1556
14945fe6
MM
15572004-08-31 Mark Mitchell <mark@codesourcery.com>
1558
1559 * config.gcc (arm*-*-symbianelf*): Do not include t-bpabi.
1560 * config/arm/lib1funcs.asm: Do not include supplemental .S files
1561 when compiling for Symbian.
1562 * config/arm/symbian.h (RENAME_LIBRARY): New macro.
1563 (TARGET_OS_CPP_BUILTINS): Likewise.
1564 * config/arm/t-symbian (LIB1ASMFUNCS): Define.
1565
93415288
SS
15662004-08-31 Stan Shebs <shebs@apple.com>
1567
1568 * toplev.c (process_options): Ensure debug_hooks is initialized.
1569
505970fc
MM
15702004-08-31 Mark Mitchell <mark@codesourcery.com>
1571
1572 * target-def.h (TARGET_CXX): Add TARGET_CXX_EXPORT_CLASS_DATA.
1573 * target.h (cxx): Add export_class_data.
1574 * config/arm/arm.c (arm_cxx_export_class_data): New function.
1575 (TARGET_CXX_EXPORT_CLASS_DATA): Use it.
dc40803a 1576 * doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Document it.
5906d013 1577
bee9efbc
KK
15782004-08-31 Kaz Kojima <kkojima@gcc.gnu.org>
1579
1580 * config/sh/sh.c (output_branch): Check the insn length possibly
1581 in the delayed slot.
1582
a4e9ffe5
RK
15832004-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1584
a0ca8e0c
RK
1585 * tree-pretty-print.c (dump_generic_node, case CONVERT_EXPR): Add
1586 blank after ')'.
1587 (op_symbol, case *_{DIV,MOD}_EXPR): Say what rounding is being used.
1588
a4e9ffe5
RK
1589 * c-common.c (c_alignof_expr): Use DECL_ALIGN_UNIT and TYPE_ALIGN_UNIT.
1590 (c_sizeof_of_alignof_type): Likewise.
1591 * expr.c (array_ref_element_size): Likewise.
1592 (highest_pow2_factor_for_target): Likewise.
1593 * gimplify.c (canonicalize_addr_expr): Likewise.
1594 (gimplify_compound_lval): Likewise.
1595 * stor-layout.c (finalize_record_size, finalize_type_size): Likewise.
1596 * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.
1597 * varasm.c (assemble_variable): Likewise.
1598 (output_constant_def_contents): Alignments are unsigned.
1599
631b67ce
RK
16002004-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1601 Jeff Law <law@redhat.com>
1602
1603 * tree-cfg.c (cfg_remove_useless_stmts_bb): Also invalidate if VAL
1604 gets modified.
1605
af287697
MM
16062004-08-31 Mark Mitchell <mark@codesourcery.com>
1607
1608 * hooks.c (hook_bool_void_true): New function.
1609 * hooks.h (hook_bool_void_true): Declare.
1610 * target-def.h (TARGET_CXX): Add
1611 TARGET_CXX_KEY_METHOD_MAY_BE_INLINE.
1612 * target.h (struct cxx): Add key_method_may_be_inline.
1613 * config/arm/arm.c (arm_cxx_key_method_may_be_inline): New
1614 function.
1615 (TARGET_CXX_KEY_METHOD_MAY_BE_INLINE): New macro.
1616 * config/arm/bpabi.h: Use __THUMB_INTERWORK__ instead of
1617 __THUMB_INTERWORK.
5906d013 1618
678584fc
DC
16192004-08-31 Denis Chertykov <denisc@overta.ru>
1620
1621 PR target/15417
1622 * config/avr/avr.c (avr_hard_regno_mode_ok): Enable usage of
1623 frame pointer register only in Pmode while reload in progress.
1624
c4c9b76e
SC
16252004-08-31 Stephane Carrez <stcarrez@nerim.fr>
1626
1627 PR target/15334
1628 * config/m68hc11/m68hc11.c (m68hc11_override_options): Disable -fweb
1629 because it breaks the 32-bit shift patterns that rely on a match_dup.
1630
c61eceeb
MA
16312004-08-31 Matt Austern <austern@apple.com>
1632
1633 * config/darwin.c (darwin_make_decl_one_only): Allocate section
1634 names once per compilation, instead of once per symbol.
5906d013 1635
71b5d516
PB
16362004-08-31 Paolo Bonzini <bonzini@gnu.org>
1637
1638 * Makefile.in (build_subdir): New substitution.
1639 (fixinc.sh): Simplify heavily since fixincludes is already built.
1640 (stmp-fixinc): Depend on specs.ready.
1641 (install-mkheaders): Use new location of fixincludes.
1642 (clean): Do not descend into fixinc.
1643 (FORBUILD): Replace with ../$(build_subdir).
1644 * configure.ac (build_subdir): Substitute.
1645 (FORBUILD): Do not set.
1646 (all_outputs): Remove fixinc/Makefile.
1647 (default commands): Do not create links in fixinc.
1648 * mkfixinc.sh: New, from fixinc/mkfixinc.sh without
1649 the fixincludes configuration steps and substituting
1650 @FIXINCL@ in fixinc.in.
1651 * fixinc.in: New, from fixinc/fixincl.sh.
1652
1653 * fixinc/*: Removed.
5906d013 1654
f7b0fb68
JM
16552004-08-31 Joseph S. Myers <jsm@polyomino.org.uk>
1656
1657 * attribs.c (strip_attrs): Remove.
1658 (split_specs_attrs): Move ...
1659 * c-decl.c: ... to here.
1660 * tree.h (split_specs_attrs, strip_attrs): Remove.
1661 * c-tree.h (split_specs_attrs): Declare.
1662
f51a38b9
RS
16632004-08-31 Richard Sandiford <rsandifo@redhat.com>
1664
1665 * read-rtl.c: Disable RTL checking.
1666 (apply_macro_to_rtx): Use XTMPL to access 'T' fields.
1667
34ebf755
RS
16682004-08-31 Richard Sandiford <rsandifo@redhat.com>
1669
1670 * config/mips/mips.md (fcond): New code macro and attribute.
1671 (sunordered_[sd]f, suneq_[sd]f, sunlt_[sd]f, sunle_[sd]f)
1672 (seq_[sd]f, slt_[sd]f, sle_[sd]f): Redefine using :SCALARF and fcond.
1673 (sgt_[sd]f, sge_[sd]f): Redefine using :SCALARF.
1674
9b76aa3b
MM
16752004-08-30 Mark Mitchell <mark@codesourcery.com>
1676
1677 Revert:
1678 2004-08-29 Mark Mitchell <mark@codesourcery.com>
1679 PR rtl-optimization/16590
1680 * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
1681
99fa8911
AP
16822004-08-30 Andrew Pinski <apinski@apple.com>
1683
5906d013 1684 * hard-reg-set.h:
992c944c
AP
1685 s/HOST_BITS_PER_WIDES_FAST_INT/HOST_BITS_PER_WIDEST_FAST_INT.
1686 * ChangeLog: Fix previous ChangeLog entry.
1687
99fa8911 1688 PR rtl-opt/13987
5906d013 1689 * config.host (use_long_long_for_widest_fast_int): New, default is
99fa8911
AP
1690 off.
1691 (ia64-*-hpux*): Enable use_long_long_for_widest_fast_int.
1692 * configure.ac: If use_long_long_for_widest_fast_int, then
1693 define USE_LONG_LONG_FOR_WIDEST_FAST_INT.
1694 * configure: Regenerate.
1695 * config.in: Regenerate.
1696 * hwint.h (HOST_WIDEST_FAST_INT, HOST_BITS_PER_WIDEST_FAST_INT):
1697 New: widest integer type supported efficiently in hardware for the
1698 host.
1699 * sbitmap.h (SBITMAP_ELT_BITS): Define based on
1700 HOST_BITS_PER_WIDEST_FAST_INT.
1701 (SBITMAP_ELT_TYPE): Define based on HOST_WIDEST_FAST_INT.
5906d013 1702 * hard-reg-set.h (HARD_REG_ELT_TYPE): Define based on
99fa8911
AP
1703 HOST_WIDEST_FAST_INT
1704 instead of HOST_WIDE_INT.
1705 (HARD_REG_SET_LONGS): Likewise.
1706 (UHOST_BITS_PER_WIDE_INT): Likewise.
1707 Change the checks for the fast cases to be based on
992c944c 1708 HOST_BITS_PER_WIDEST_FAST_INT instead of HOST_BITS_PER_WIDE_INT.
99fa8911 1709
f4c0250b
SB
17102004-08-30 Steven Bosscher <stevenb@suse.de>
1711
1712 * cfgcleanup.c (merge_memattrs): Look at the value of MEM_SIZE,
1713 not the pointers.
1714
ff164b22
GK
17152004-08-30 Geoffrey Keating <geoffk@apple.com>
1716
1717 PR 12738
1718 PR 17205
1719 Radar 3460526
1720 Radar 3775729
1721 * c-decl.c (grokdeclarator): Produce error for 'static' on local
1722 function declaration.
1723
bc482be4
RH
17242004-08-30 Richard Henderson <rth@redhat.com>
1725
1726 * expr.c (array_ref_element_size): Force aligned_size back to
1727 sizetype.
1728 (component_ref_field_offset): Similarly for aligned_offset.
1729 * tree.c (recompute_tree_invarant_for_addr_expr): Mark raw
1730 low-bound, element-size, field-offset fields rather than
1731 computed values.
1732
21611613
JM
17332004-08-30 Joseph S. Myers <jsm@polyomino.org.uk>
1734
1735 * c-parse.in (parmlist_or_identifiers_1): Remove unreachable and
1736 redundant code.
1737
7b112487
JM
17382004-08-30 Joseph S. Myers <jsm@polyomino.org.uk>
1739
1740 * c-tree.h (struct language_function): Add arg_info element.
1741 * c-decl.c (current_function_arg_info): New.
1742 (grokdeclarator, store_parm_decls): Use it instead of
1743 DECL_ARGUMENTS.
1744 (c_push_function_context, c_pop_function_context): Save and
1745 restore it.
1746
5cc200fc
RH
17472004-08-30 Richard Henderson <rth@redhat.com>
1748
5906d013 1749 * c-typeck.c (build_unary_op): Don't expand ADDR_EXPR of a
5cc200fc
RH
1750 COMPONENT_REF to pointer arithmetic.
1751 * varasm.c (initializer_constant_valid_p): Allow "&(*c).f", for
1752 constant "c" as a valid constant initializer. Allow narrowing of
1753 differences against the same base object, for any base object.
1754
6377bb9a
RH
17552004-08-30 Richard Henderson <rth@redhat.com>
1756
1757 * expr.c (expand_expr_addr_expr): New.
1758 (expand_expr_real_1) <case ADDR_EXPR>: Use it.
1759
308cd611
RS
17602004-08-30 Richard Sandiford <rsandifo@redhat.com>
1761
1762 * config/mips/mips.c (MIPS_FP_CONDITIONS): New macro.
1763 (mips_fp_condition): New enum.
1764 (mips_fp_conditions): New array.
1765 (print_fcc_operand): Delete.
1766 (print_operand): Remove %V, %v and %Q. Redefine %Z so that it prints
1767 the operand and comma if and only if ISA_HAS_8CC. Add %Y.
1768 (builtin_description): Add "cond" field.
1769 (DIRECT_BUILTIN): Initialize it.
1770 (CMP_{SCALAR,PS,4S}_BUILTINS, MOVTF_BUILTINS): Split INSN parameter
1771 into INSN and CODE. Initialize the "cond" field.
1772 (CMP_BUILTINS): Update accordingly.
1773 (mips_bdesc): Use MIPS_FP_CONDITIONS to invoke CMP_BUILTINS.
1774 (mips_expand_builtin_movtf, mips_expand_builtin_compare): Take the
1775 mips_fp_condition as argument. Make it the final operand of the
1776 comparison instruction.
1777 (mips_expand_builtin): Update accordingly.
1778 * config/mips/mips.md (UNSPEC_C_*, UNSPEC_CABS_*): Delete.
1779 (UNSPEC_C, UNSPEC_CABS): New constants. Shuffle others to fill
1780 the gaps.
1781 * config/mips/mips-ps-3d.md (mips_cond_move_tf_ps, bc1any[24][ft]):
1782 Don't use the 'Q' operand prefix; just print the operand normally.
1783 (mips_cabs_*, mips_c_*): Delete, replacing with...
1784 (mips_c_cond_{ps,4s}, mips_cabs_cond_{s,d,ps,4s}): ...these new
1785 patterns. Split the 4s versions into 2 ps patterns after reload.
1786
88f19756
RH
17872004-08-30 Richard Henderson <rth@redhat.com>
1788
1789 * fold-const.c (tree_expr_nonzero_p): Use get_base_address before
1790 assuming an ADDR_EXPR is non-null.
1791
70008293
JM
17922004-08-30 Jason Merrill <jason@redhat.com>
1793
d92a3b38 1794 * gthr-posix.h, gthr-dce.h: Add #pragma weaks.
70008293 1795
8ce16ed6
NS
17962004-08-30 Nathan Sidwell <nathan@codesourcery.com>
1797
1798 * alias.c (mems_in_disjoint_alias_sets_p, record_alias_subset,
1799 record_set, rtx_equal_for_memref_p, init_alias_analysis): Use
1800 gcc_assert and gcc_unreachable instead of abort.
1801 * alloc-pool.c (abort, fancy_abort): Remove.
1802 (create_alloc_pool, free_alloc_pool, pool_alloc, pool_free): Use
1803 gcc_assert or gcc_unreachable.
1804 * attribs.c (init_attributes, decl_attributes): Likewise.
1805 * bb-reorder.c (FREE, find_traces_1_round, copy_bb,
1806 mark_bb_for_unlikely_executed_section,
1807 add_labels_and_missing_jumps, fix_crossing_conditional_branches,
1808 fix_crossing_unconditional_branches): Likewise.
1809 * bitmap.c (bitmap_first_set_bit, bitmap_last_set_bit,
1810 bitmap_operation): Likewise.
1811 * bt-load.c (insn_sets_btr_p, augment_live_range,
1812 move_btr_def): Likewise.
1813 * builtins.c (c_readstr, expand_builtin_longjmp, apply_args_size,
1814 apply_result_size, expand_builtin_apply, expand_builtin_mathfn,
1815 expand_builtin_mathfn_2, expand_builtin_mathfn_3,
1816 builtin_memcpy_read_str, expand_movstr, expand_builtin_stpcpy,
1817 expand_builtin_memcmp, expand_builtin_args_info,
1818 std_gimplify_va_arg_expr, expand_builtin_unop,
1819 expand_builtin_fputs, expand_builtin_profile_func,
1820 expand_builtin_fork_or_exec, fold_builtin_bitop,
1821 fold_builtin_classify, fold_builtin_fputs): Likewise.
1822
fc6633e0
NS
18232004-08-30 Nathan Sidwell <nathan@codesourcery.com>
1824
e0448193
NS
1825 * gcov-io.c (GCOV_CHECK): Use gcc_assert when available.
1826 * gcov.c (abort): Remove undef.
1827
fc6633e0
NS
1828 * tree.h (BINFO_PRIMARY_BASE_OF): Remove.
1829 (struct tree_binfo): Remove primary field.
1830
89b8abbf
PB
18312004-08-30 Paolo Bonzini <bonzini@gnu.org>
1832
1833 * fixinc/Makefile.in (machname.h): Remove.
1834 (fixincl.x): Do not pass $@ to genfixes.
1835 * fixinc/genfixes: Remove code to produce machname.h.
1836 * fixinc/fixincl.sh: Move it here instead.
1837 * fixinc/fixlib.c: Do not conditionalize on MN_NAME_PAT's presence,
1838 instead check if pz_mn_name_pat is NULL. Make mn_get_regexps
1839 return a bool indicating whether pz_mn_name_pat is NULL.
1840 * fixinc/fixlib.h: Do not conditionalize on MN_NAME_PAT's presence.
1841 Declare extern C variables for the ENV_TABLE.
1842 * fixinc/fixfixes.c: Do not conditionalize on MN_NAME_PAT's presence,
1843 instead use the result of mn_get_regexps.
1844 * fixinc/fixtests.c: Likewise.
1845
39880d37
PB
18462004-08-30 Paolo Bonzini <bonzini@gnu.org>
1847
1848 * configure.ac: Do not run fixincludes after stage1 during
1849 toplevel bootstrap.
1850 * configure: Regenerate.
1851
a8b3643c
RE
18522004-08-30 Richard Earnshaw <rearnsha@arm.com>
1853
1854 * sched-deps.c (get_condition): Partially revert previous, by never
1855 trying to extract the condition from a condjump.
1856
fc6633e0
NS
18572004-08-30 Nathan Sidwell <nathan@codesourcery.com>
1858
1859 * c-common.c (c_sizeof_or_alignof_type): Use gcc_assert.
1860 (handle_visibility_attribute, c_determine_visibility): Likewise.
1861 * c-common.h (my_friendly_assert): Remove.
1862
afa396ff
RS
18632004-08-30 Richard Sandiford <rsandifo@redhat.com>
1864
1865 * config/mips/mips.md (UNSPEC_{RSQRT,RECIP}[12]_{S,D,PS}): Delete.
1866 (UNSPEC_{RSQRT,RECIP}[12]): New constants.
1867 (UNSPEC_MOVE_TF_PS): Renumber to avoid gaps.
1868 * config/mips/mips-ps-3d.md (*movcc_v2sf_[sd]i): Use :GPR.
1869 (mips_{rsqrt,recip}[12]_{s,d,ps}): Use :ANYF.
1870
ef6379fd
DN
18712004-08-30 Diego Novillo <dnovillo@redhat.com>
1872
1873 * tree-pretty-print.c (dump_generic_node): Handle VALUE_HANDLE
1874 in COMPONENT_REF nodes.
1875
7783b402
GDR
18762004-08-29 Gabriel Dos Reis <gdr@integrable-solutions.net>
1877
1878 PR c++/15378
1879 * c-opts.c (c_common_handle_option): <case OPT_Werror> set
1880 global_dc->warning_as_error_requested.
1881 * diagnostic.c (diagnostic_initialize): Tidy.
1882 * diagnostic.h (diagnostic_context::x_data): Remove
1883 (diagnostic_context::issue_warnings_are_errors_message): Rename
1884 from warnings_are_errors_message.
1885 (diagnostic_context::warning_as_error_requested): New.
1886
adf968c7
RE
18872004-08-30 Richard Earnshaw <rearnsha@arm.com>
1888
1889 * sched-deps.c (get_condition): Fix breakage in previous patch.
1890
999f4d5e
PB
18912004-08-30 Paul Brook <paul@codesourcery.com>
1892
1893 * doc/install.texi: Fix broken mpfr link.
1894
5a0c2304
DB
18952004-08-29 David O'Brien <obrien@FreeBSD.org>
1896
1897 * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Sync '-p' handling with
1898 other FreeBSD platforms.
1899
880873be
RE
19002004-08-29 Richard Earnshaw <rearnsha@arm.com>
1901
1902 * arm.h (REVERSE_CONDITION): Define.
1903 (REVERSIBLE_CC_MODE): All comparisons are now reversible.
1904
15dce812
RE
19052004-08-29 Richard Earnshaw <rearnsha@arm.com>
1906
1907 * flow.c (REVERSE_CONDEXEC_PREDICATES_P): Use the whole comparison, not
1908 just the codes, call reversed_comparison_code ().
1909 (ior_reg_cond): Update arguments to REVERSE_CONDEXEC_PREDICATES_P.
1910 (not_reg_cond): Use reversed_comparison_code.
1911 (and_reg_cond): Likewise.
1912 * ifcvt.c (cond_exec_process_if_block): Likewise.
1913 * doc/tm.texi (REVERSE_CONDEXEC_PREDICATES_P): Update documentation.
1914
6903ecd4
RE
19152004-08-29 Richard Earnshaw <rearnsha@arm.com>
1916
1917 * sched-deps.c (get_condition): Rewrite using jump support functions.
1918 Use reversed_comparison_code.
1919 (conditions_mutex_p): Use reversed_comparison_code.
1920
ea9bfbf2
RS
19212004-08-29 Richard Sandiford <rsandifo@redhat.com>
1922
1923 * config/mips/mips.c (override_options): Disable hot/cold partitioning
1924 for MIPS16.
1925
4ca1f68f
RS
19262004-08-29 Richard Sandiford <rsandifo@redhat.com>
1927
1928 * config/mips/mips.h (mips_builtins, mips_cmp_choice): Delete.
1929 (mips_function_type): Move to mips.c.
1930 * config/mips/mips.c (mips_builtin_type): New enum.
1931 (builtin_description): Replace code and ftype with builtin_type
1932 and function_type.
1933 (DIRECT_BUILTIN, CMP_SCALAR_BUILTINS, CMP_PS_BUILTINS, CMP_4S_BUILTINS)
1934 (MOVTF_BUILTINS, CMP_BUILTINS): New macros.
1935 (CODE_FOR_mips_abs_ps): Define.
1936 (mips_bdesc): Use new macros.
1937 (mips_expand_builtin): Use builtin_type. Update calls to subroutines.
1938 (mips_init_builtins): Use the mips_bdesc[] index as the function code.
1939 (mips_expand_builtin_direct): New function.
1940 (mips_expand_builtin_movtf): Renamed from mips_expand_ps_cond_move_
1941 builtin. Replace boolean parameter with builtin_type.
1942 (mips_expand_compare_builtin, mips_expand_scalar_compare_builtin)
1943 (mips_expand_4s_compare_builtin): Delete, replacing with...
1944 (mips_expand_builtin_compare): ...this new function.
1945
5e9f78cc
MM
19462004-08-29 Mark Mitchell <mark@codesourcery.com>
1947
1948 PR rtl-optimization/16590
1949 * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
1950
766ff1b1
DN
19512004-08-29 Diego Novillo <dnovillo@redhat.com>
1952
1953 * tree-ssa-ccp.c (ccp_visit_stmt): Remove #if 0 guards.
1954 * tree-ssa-propagate.c: Fix documentation.
1955
2435c4c1
RS
19562004-08-29 Richard Sandiford <rsandifo@redhat.com>
1957
1958 * config/mips/mips.md (*mov[sd]f_on_*): Redefine using :SCALARF.
1959 (mov[sd]fcc): Likewise.
1960
53d9ac3b
RS
19612004-08-29 Richard Sandiford <rsandifo@redhat.com>
1962
1963 * config/mips/mips.md (cmp[sd]f): Redefine using :SCALARF.
1964
93898c8b
RS
19652004-08-29 Richard Sandiford <rsandifo@redhat.com>
1966
1967 * config/mips/mips.md (divide_condition): New mode attribute.
1968 (div[sd]f3, *div[sd]f3): Use it. Redefine using :SCALARF.
1969 (sqrt[sd]f3): Redefine using SCALARF.
1970 (*recip[sd]f3, *rsqrt<mode>[ab]): Likewise. Name formerly unnamed
1971 patterns.
1972
aae0609c
RS
19732004-08-29 Richard Sandiford <rsandifo@redhat.com>
1974
1975 * config/mips/mips.md (ANYF, SCALARF): New mode macros.
1976 (loadx, storex, fmt, UNITMODE): New mode attributes.
1977 (add{sf,df,v2sf}3, sub{sf,df,v2sf}3): Redefine using :ANYF.
1978 (mul[sd]f3): Redefine using :SCALARF.
1979 (*mul[sd]f3): Renamed from mul[sd]f3_internal. Use :SCALARF.
1980 (*mul[sd]3_r4300): Likewise mul[sd]f3_r4300.
1981 (*m{add,sub}{sf,df,v2sf}3): Name formerly unnamed patterns. Use :ANYF.
1982 Check TARGET_FUSED_MADD for V2SF too.
1983 (*nm{add,sub}{sf,df,v2sf}3{,_fastmath}): Likewise, except v2sf patterns
1984 were already named.
1985 (abs{sf,df,v2sf}3, neg{sf,df,v2sf}3): Redefine using :ANYF.
1986 (*[sl][wd]xc1_[sd]i): Redefine using :ANYF.
1987
74fc61d1
RS
19882004-08-29 Richard Sandiford <rsandifo@redhat.com>
1989
1990 * config/mips/mips.c (mips_init_builtins): Simplify. Only create
1991 V2SF_type_node if it will be needed.
1992
ff55fb9c
RS
19932004-08-29 Richard Sandiford <rsandifo@redhat.com>
1994
1995 * config/mips/mips.h (MIPS_CMP_MOVT, MIPS_CMP_MOVF): Delete.
1996 * config/mips/mips.c (mips_prepare_builtin_arg): New function.
1997 (mips_prepare_builtin_target): New function.
1998 (mips_expand_builtin): Use them. Update calls to subroutines.
1999 (mips_expand_ps_cond_move_builtin): Use the new functions. Replace
2000 cmp_choice with a boolean argument to select between movt and movf.
2001 Take the comparison's icode as an argument, not the function's fcode.
2002 (mips_expand_compare_builtin): New function. Rename existing function
2003 to mips_expand_scalar_compare_builtin.
2004 (mips_expand_scalar_compare_builtin, mips_expand_4s_compare_builtin)
2005 (mips_expand_ps_compare_builtin): Use the new functions. Take the
2006 comparison's icode as an argument, not the builtin's fcode.
2007
f691c4e3
RS
20082004-08-29 Richard Sandiford <rsandifo@redhat.com>
2009
2010 * config/mips/mips.c (print_operand): Remove '%Y' and '%y'.
2011 (mips_expand_4s_compare_builtin): Redefine CCV4 to be 0 if all
2012 registers are false and -1 if all registers are true.
2013 (mips_expand_ps_compare_builtin): Likewise CCV2. Use subregs for
2014 MIPS_CMP_UPPER and MIPS_CMP_LOWER.
2015 * config/mips/mips.md (mips_cond_move_tf_ps): Use %Q rather than %y.
2016 (bc1any4t, bc1any4f): Adjust for new CCV4 interpretation.
2017 (bc1any2t, bc1any2f): Likewise CCV2.
2018 (bc1upper2t, bc1lower2t, bc1upper2f, bc1lower2f): Delete.
2019
49135706
RS
20202004-08-29 Richard Sandiford <rsandifo@redhat.com>
2021
2022 * config/mips/mips.md (UNSPEC_MOVE_TF_PS): New.
2023 * config/mips/mips-ps-3d.md (mips_cond_move_tf_ps): Express as an
2024 UNSPEC rather than an IF_THEN_ELSE.
2025 * config/mips/mips.c (mips_expand_ps_cond_move_builtin): Emit
2026 mips_cond_move_tf_ps by name.
2027
06a4ab70
CF
20282004-08-29 Chao-ying Fu <fu@mips.com>
2029 James E Wilson <wilson@specifixinc.com>
5906d013 2030
06a4ab70
CF
2031 * config/mips/mips-modes.def (V2SF, CCV2, CCV4): New modes. Give CCV2
2032 8 byte size and alignment. Give CCV4 16 byte size and alignment.
2033 * config/mips/mips-ps-3d.md: New file.
2034 * config/mips/mips.c (TARGET_VECTOR_MODE_SUPPORTED_P,
2035 TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
2036 (mips_const_insns): Handle CONST_VECTOR the same as CONST_DOUBLE.
2037 (mips_output_move): Emit "mov.ps" for V2SFmode.
2038 (mips_arg_info): Add checks for VECTOR_FLOAT_TYPE_P and
2039 MODE_VECTOR_FLOAT.
2040 (override_options): Check if TARGET_MIPS3D and there was an explicit
2041 !TARGET_PAIRED_SINGLE_FLOAT. Set MASK_PAIRED_SINGLE, if TARGET_MIPS3D.
2042 Check if TARGET_FLOAT64 and TARGET_HARD_FLOAT are both true, when
2043 TARGET_PAIRED_SINGLE_FLOAT is true. Check if the ISA supports
2044 TARGET_PAIRED_SINGLE_FLOAT. Allow MODE_VECTOR_FLOAT in fp registers,
2045 and allow CCV2 and CCV4 to occupy two and four CC registers.
2046 (print_fcc_operand): New function.
2047 (print_operand): Add %Y, %y, %V, %v, %Q for CCV2, CCV4, CC. Modify
2048 %Z to call print_fcc_operand.
2049 (mips_function_value): Handle MODE_VECTOR_FLOAT.
2050 (mips_class_max_nregs): Check for ST_REGS, and handle CCmodes.
2051 (mips_vector_mode_supported_p): New function.
2052 (mips_hard_regno_nregs): Check for ST_REG_P, and handle CCmodes.
2053 (builtin_description): New struct.
2054 (mips_bdesc): New array of struct builtin_description.
2055 (mips_expand_builtin, mips_init_builtins,
2056 mips_expand_ps_cond_move_builtin, mips_expand_4s_compare_builtin,
2057 mips_expand_compare_builtin, mips_expand_ps_compare_builtin): New
2058 functions.
2059 * config/mips/mips.h (MASK_PAIRED_SINGLE, MASK_MIPS3D): New defines.
2060 (TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D): New defines.
2061 (TARGET_CPU_CPP_BUILTINS): Add __mips_paired_single_float.
2062 (TARGET_SWITCHES): Added "-mpaired-single", "-mno-paired-single",
2063 "-mips3d", and "-mno-mips3d".
2064 (ASM_SPEC): Map -mips3d to -mips3d in gas.
2065 (EXTRA_CONSTRAINT_Y): New macro.
2066 (EXTRA_CONSTRAINT_STR): Renamed from EXTRA_CONSTRAINT. Add new
2067 multi-letter constraint 'Y'.
2068 (CONSTRAINT_LEN): New macro.
2069 (enum mips_builtins): New for MIPS builtin functions.
2070 (enum mips_function_type): New for the types of MIPS builtin functions.
2071 (enum mips_cmp_choice): New for the MIPS comparison builtin functions.
5906d013 2072 * config/mips/mips.md: New constants for paired single and MIPS-3D
06a4ab70
CF
2073 instructions. Include the new mips-ps-3d.md file.
2074 (addv2sf3, subv2sf3, mulv2sf3, absv2sf2, negv2sf2, movv2sf,
2075 movv2sf_hardfloat_64bit): New named patterns.
2076 (madd.ps, msub.ps, nmaddv2sf, nmaddv2sf_fastmath, nmsubv2sf,
2077 nmsubv2sf_fastmath, ldxc1_v2sf_si, ldxc1_v2sf_di, sdxc1_v2sf_si,
2078 sdxc1_v2sf_di): New unnamed patterns.
2079 * config/mips/predicates.md (const_0_operand, const_1_operand): Add
2080 const_vector support.
2081 (const_0_or_1_operand): New predicate.
2082 * doc/invoke.texi (MIPS Options): Add -mpaired-single and -mips3d.
2083
750628d8
DN
20842004-08-29 Diego Novillo <dnovillo@redhat.com>
2085
2086 * Makefile.in (OBJS-common): Add tree-ssa-propagate.o
2087 (tree-ssa-propagate.o): New rule.
2088 (GTFILES): Add tree-ssa-propagate.c.
2089 * tree-flow.h (struct stmt_ann_d): Remove field
2090 in_ccp_worklist.
2091 * tree-ssa-propagate.c: New file.
2092 * tree-ssa-propagate.h: New file.
2093 * tree-ssa-ccp.c: Re-write to use the routines from
2094 tree-ssa-propagate.c.
2095
f108270b
AP
20962004-08-28 Andrew Pinski <apinski@apple.com>
2097
2098 * tree-ssa-loop.c: Remove extra include of basic-block.h.
2099
e5a002e3
ZL
21002004-08-28 Ziemowit Laski <zlaski@apple.com>
2101
2102 * c-common.h: Update comments about ObjC/ObjC++ entry points.
2103 (objc_is_reserved_word): New prototype.
2104 (get_current_scope, objc_mark_locals_volatile): Move prototypes to
2105 separate section; these are call-backs.
2106 * c-lex.c (c_lex_with_flags): Call objc_is_reserved_word() to detect
2107 ObjC/ObjC++ "@" keywords.
2108 * c-tree.h (get_current_scope, objc_mark_locals_volatile): Remove
2109 prototypes; they already live in c-common.h.
2110 * stub-objc.c: Update copyright notice.
2111 (objc_is_reserved_word): New stub.
2112
2c46a62f
NS
21132004-08-28 Nathan Sidwell <nathan@codesourcery.com>
2114
2115 * system.h (gcc_assert): Remove __builtin_expect. Evaluate EXPR
2116 even when not checking.
2117
40aac948
JM
21182004-08-27 Jason Merrill <jason@redhat.com>
2119
2120 PR c++/13684
2121 * gimplify.c (gimplify_cleanup_point_expr): Handle CLEANUP_EH_ONLY.
2122 (gimple_push_cleanup): Add eh_only parm.
2123 (gimplify_target_expr): Pass it.
2124 * c.opt (-fno-threadsafe-statics): New option.
2125 * c-opts.c (c_common_handle_option): Handle it.
2126 * c-common.h (flag_threadsafe_statics): Declare it.
2127 * c-common.c (flag_threadsafe_statics): Record it.
2128 * doc/invoke.texi: Document it.
2129 * tsystem.h (_GNU_SOURCE): Define.
2130 * gthr-posix.h (__gthread_recursive_mutex_t): New typedef.
2131 (__GTHREAD_RECURSIVE_MUTEX_INIT): New macro.
2132 (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): New macro.
2133 (__gthread_recursive_mutex_init_function): New fn.
2134 (__gthread_recursive_mutex_lock): New fn.
2135 (__gthread_recursive_mutex_trylock): New fn.
2136 (__gthread_recursive_mutex_unlock): New fn.
2137 * gthr-solaris.h, gthr-single.h, gthr-dce.h: Likewise.
2138 * gthr-win32.h, gthr-vxworks.h: Likewise.
2139 * gthr.h: Document.
2140
1494c534
DE
21412004-08-27 David Edelsohn <edelsohn@gnu.org>
2142
2143 * config/rs6000/rs6000.c (rs6000_override_options): Increase
2144 maximum skip to 15. Set function alignment, jump alignment, and
2145 loop alignment to 16 for processors that form dispatch groups.
03e9c50a 2146 (rs6000_rtx_costs): outer_code is used.
1494c534 2147
ce552f75
NS
21482004-08-27 Nathan Sidwell <nathan@codesourcery.com>
2149
e3861d2a
NS
2150 * stor-layout.c (sizetype_set): Remove.
2151 (set_sizetype): Don't test or set it.
2152
ce552f75
NS
2153 * tree.h (size_int_type): Remove.
2154 * fold-const.c: Do not #include gt-fold-const.h.
2155 (size_htab_hash, size_htab_eq): Remove.
2156 (size_int_kind): Use build_int_cst.
2157 (new_const, size_htab): Remove.
2158 (size_int_type): Remove.
2159 (round_up): Use build_int_cst.
2160 (round_down): Likewise. Remove spurious constant build.
2161
06c37c96
NS
21622004-08-27 Nathan Sidwell <nathan@codesourcery.com>
2163
2164 * configure.ac: Add ENABLE_ASSERT_CHECKING control.
2165 Add is_release variable, use it for --enable-werror and
2166 --enable-checking defaults.
2167 * system.h (gcc_assert, gcc_unreachable): New.
2168 * doc/install.texi (--enable-checking): Update.
2169 * configure, config.in: Rebuilt.
2170
57406c63
RS
21712004-08-26 Richard Sandiford <rsandifo@redhat.com>
2172
2173 * rtl.h (read_rtx): Change prototype.
2174 * read-rtl.c (read_rtx): Provide the caller with both an rtx and a
2175 line number. Return true on success.
2176 * gensupport.c (process_include, init_md_reader_args_cb): Adjust
2177 callers accordingly.
2178
ee8a6a3e
RH
21792004-08-26 Richard Henderson <rth@redhat.com>
2180
2181 * c-typeck.c (build_offsetof): Remove.
2182 * c-tree.h (build_offsetof): Remove.
2183 * c-common.c (fold_offsetof_1, fold_offsetof): New.
2184 * c-common.h (fold_offsetof): Declare.
2185 * c-parse.in (offsetof_base): New.
2186 (offsetof_member_designator): Use it. Build references, not just
2187 a tree list.
2188 (primary): Use fold_offsetof, not build_offsetof.
2189
525c6bf5
RH
21902004-08-26 Richard Henderson <rth@redhat.com>
2191
2192 * tree.c (staticp): Return the static object.
2193 * tree.h (staticp): Update decl.
2194 * langhooks.h (struct lang_hooks): Change staticp return type to tree.
2195 * langhooks.c (lhd_staticp): Return NULL_TREE.
2196 * langhooks-def.h (lhd_staticp): Update decl.
2197 * c-common.c (c_staticp): Return the static object.
2198 * c-common.h (c_staticp): Update decl.
2199
d416c0b3
RH
22002004-08-26 Richard Henderson <rth@redhat.com>
2201
2202 * config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float
2203 modes.
2204
0b410f0b
JM
22052004-08-26 Joseph S. Myers <jsm@polyomino.org.uk>
2206
2207 PR c/13801
2208 * c-decl.c (struct c_binding): Add type and inner_comp fields.
2209 (bind): Set type and inner_comp fields.
2210 (pop_scope): Restore type of decl to the correct type from an
2211 outer scope. Give error when popping file scope for incomplete
2212 arrays completed incompatibly with default initialization in an
2213 inner scope.
2214 (diagnose_mismatched_decls): Handle externs with initializers at
2215 block scope.
2216 (pushdecl): Set type of external declaration at block scope based
2217 only on the visible declarations. Save type when changing the
2218 type of a declaration. Merge an external declaration at block
2219 scope with a visible static declaration at file scope.
2220 (implicitly_declare): Give recycled old declaration the new type
2221 except for incompatible declarations of built-in functions, saving
2222 the old type.
2223
b77c7437
ZL
22242004-08-26 Ziemowit Laski <zlaski@apple.com>
2225
2226 * c-parse.in (OBJC_TYPE_QUAL): New %token for ObjC use.
2227
a228baff
DB
22282004-08-26 Daniel Berlin <dberlin@dberlin.org>
2229
2230 * tree-alias-common.c (gate_pta): New function.
2231 (pass_build_pta): Use it.
2232 (pass_del_pta): Use it.
2233 (delete_alias_vars): Don't check flag_tree_points_to.
2234
2e6c9641
FJ
22352004-08-26 Fariborz Jahanian <fjahanian@apple.com>
2236
5906d013 2237 * config/rs6000/rs6000.h (HARD_REGNO_CALL_PART_CLOBBERED): Added
2e6c9641
FJ
2238 TFmode as additional register mode cloberred by call.
2239
22402004-08-26 Fariborz Jahanian <fjahanian@apple.com>
2241
2242 * config/rs6000/rs6000.c (rs6000_libcall_value): Generate
2243 parallel pattern for library call returning DImode in
2244 mixed mode.
2245
22462004-08-26 Fariborz Jahanian <fjahanian@apple.com>
2247
2248 * config/rs6000/rs6000.c (function_arg): Generate parallel
2249 pattern for more split args.
2250
22512004-08-26 Fariborz Jahanian <fjahanian@apple.com>
2252
2253 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Call
2254 either gen_movdi_di_update or gen_movdi_si_update depending on
2255 target mode.
2256 * config/rs6000/rs6000.md (movdi_update): Changed to movdi_<mode>_update,
2257 to generate two versions.
5906d013 2258
36d59cf7
DB
22592004-08-26 Daniel Berlin <dberlin@dberlin.org>
2260
2261 * Makefile.in (lambda-code.o): New.
2262 (lambda-trans.o): Ditto.
2263 (TREE_DATA_REF_H): Ditto.
2264 (LAMBDA_H): Ditto.
2265 (lambda-mat.o): Use LAMBDA_H.
2266 (tree-data-ref.o): Ditto.
2267 * lambda-code.c: New file. Lambda code generation algorithm.
2268 * lambda-trans.c: Ditto. Lambda transformation matrix support.
2269 * lambda.h: Add lambda loop structures.
2270 Add lambda loopnest structures.
2271 Add lambda body vector structure.
2272 Add lambda linear expression structures.
2273 Add prototypes for functions in new files.
2274 * lambda-mat.c: Include tree.h
2275
22762004-08-26 Daniel Berlin <dberlin@dberlin.org>
5906d013
EC
2277 Sebastian Pop <pop@cri.ensmp.fr>
2278
2279 * tree-data-ref.h: Include lambda.h
36d59cf7 2280 (free_dependence_relation): Declared here.
5906d013 2281 (free_dependence_relations): Ditto.
36d59cf7
DB
2282 (free_data_refs): Ditto.
2283 * tree-data-ref.c (free_dependence_relation): New function.
2284 (free_dependence_relations): Ditto.
2285 (free_data_refs): Ditot.
2286 (analyze_all_data_dependences): Free datarefs and dependence_relations.
2287 (build_classic_dist_vector): Store in the dependence_relations the
2288 information. Each arc in the dependence_relations graph is labelled
2289 with the distance and direction vectors.
2290 (build_classic_dir_vector): Ditto.
2291 (compute_rw_wr_ww_dependences): Renamed again compute_all_dependences.
2292 Now computes again the whole dependence graph including read-read
2293 relations.
2294 (compute_data_dependences_for_loop): Now dependence_relations contains
2295 all the data, and thus it doesn't need to initialize the classic_dir
2296 and classic_dist vectors.
2297 (analyze_all_data_dependences): Adjusted for using the new interface of
2298 compute_data_dependences_for_loop. Remove the statistics dump.
5906d013 2299
a46bbb5a
BW
23002004-08-26 Bob Wilson <bob.wilson@acm.org>
2301
2302 * config/xtensa/xtensa.c (xtensa_ld_opcodes, xtensa_st_opcodes): Delete.
2303 (xtensa_expand_block_move): Update comment.
2304 (override_options): Remove initialization of xtensa_{ld,st}_opcodes.
2305
52351a5e
RE
23062004-08026 Richard Earnshaw <rearnsha@arm.com>
2307
2308 PR target/13506
2309 * toplev.c (crash_signal): If we crashed while emitting
2310 a user asm, then die more gracefully.
2311
b72e46f0
NC
23122004-08-26 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2313
2314 PR target/17119.
2315 * config/m32r.c (gen_compare): Use reg_or_int16_operand when
2316 checking for a valid constant, regardless of sign.
2317
fd9363bf
RH
23182004-08-25 Richard Henderson <rth@redhat.com>
2319
d416c0b3
RH
2320 PR target/16974
2321 * config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
2322 if the constant satisfies add_operand.
fd9363bf 2323
45f413e4 23242004-08-25 Richard Henderson <rth@redhat.com>
5906d013 2325
d416c0b3
RH
2326 PR debug/10695
2327 * config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
2328 (alpha_expand_prologue): Handle >32-bit frames. Generate proper
2329 unwind info for >16-bit frames.
45f413e4 2330
7e233208
RK
23312004-08-25 Richard B. Kreckel <richard.kreckel@framatome-anp.com>
2332
2333 PR target/17171
2334 * config/i386/gas.h (ASM_COMMENT_START): Define to "#".
2335
04886dc0
RH
23362004-08-25 Richard Henderson <rth@redhat.com>
2337
d416c0b3
RH
2338 * config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
2339 (TARGET_CANNOT_FORCE_CONST_MEM): New.
04886dc0 2340
aca2bd7c
AM
23412004-08-25 Andrew MacLeod <amacleod@redhat.com>
2342
2343 * doc/tree-ssa.texi: Document new operand iterator.
2344
0423421f
AM
23452004-08-26 Alan Modra <amodra@bigpond.net.au>
2346
2347 PR target/16480
2348 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Don't abort
2349 on "(mem (symbol_ref ..))" rtl. Look at LO_SUM base regs as well
2350 as PLUS base regs.
2351
e4dc702c
PB
23522005-08-28 Paul Brook <paul@codesourcery.com>
2353
2354 * config/arm/symbian.h (SUBTARGET_ASM_FLOAT_SPEC): Default to
2355 -mfpu=vfp -march=armv5t
37d5a9a5 2356 * config/arm/t-symbian: Change multilib to mfloat-abi=softfp.
e4dc702c 2357
6dd53648
RH
23582004-08-25 Richard Henderson <rth@redhat.com>
2359
2360 * target-def.h (TARGET_SCALAR_MODE_SUPPORTED_P): New.
2361 * target.h (struct gcc_target): Add scalar_mode_supported_p.
2362 * targhooks.c (default_scalar_mode_supported_p): New.
2363 * targhooks.h (default_scalar_mode_supported_p): Declare.
2364 * doc/tm.texi (TARGET_SCALAR_MODE_SUPPORTED_P): Document.
2365
2366 * c-common.c (handle_mode_attribute): Query scalar_mode_supported_p
2367 before attempting to create types. Tidy.
2368 * expr.c (vector_mode_valid_p): Use scalar_mode_supported_p.
2369
2370 * config/alpha/alpha.c (alpha_scalar_mode_supported_p): New.
2371 (TARGET_SCALAR_MODE_SUPPORTED_P): New.
2372
bab2b22b
RH
23732004-08-25 Richard Henderson <rth@redhat.com>
2374
2375 * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Don't
2376 set REAL_MODE_FORMAT for TFmode.
2377
c34be55e
ZL
23782004-08-25 Ziemowit Laski <zlaski@apple.com>
2379
2380 * c-decl.c (grokparm): New function.
2381 * c-tree.h (grokparm): New prototype.
2382
4c124b4c
AM
23832004-08-25 Andrew MacLeod <amacleod@redhat.com>
2384
2385 * tree-ssa-operands.h (struct ssa_operand_iterator_d): New. SSA operand
2386 iterator controlling structure.
2387 (SSA_OP_USE, SSA_OP_DEF, SSA_OP_VUSE, SSA_OP_VMAYUSE, SSA_OP_VMAYDEF,
2388 SSA_OP_VMUSTDEF, SSA_OP_VIRTUAL_USES, SSA_OP_VIRTUAL_DEFS,
2389 SSA_OP_ALL_USES, SSA_OP_ALL_DEFS, SSA_OP_ALL_OPERANDS): New. Operand
2390 iterator flags.
2391 (FOR_EACH_SSA_TREE_OPERAND): New. Iterate over operands as trees.
2392 (FOR_EACH_SSA_USE_OPERAND): New. Iterate over operands as uses.
2393 (FOR_EACH_SSA_DEF_OPERAND): New. Iterate over operands as defs.
2394 (FOR_EACH_SSA_MAYDEF_OPERAND): New. Iterate over V_MAY_DEFs.
5906d013 2395 * tree-ssa-operands.c (NULL_DEF_OPERAND_P, NULL_USE_OPERAND_P): New.
4c124b4c
AM
2396 Empty operand pointers.
2397 * tree-flow-inline.h (op_iter_done): New. Return true if finished.
2398 (op_iter_next_use): New. Return next use_operand_p.
2399 (op_iter_next_def): New. Return next def_operand_p.
2400 (op_iter_next_tree): New. Return next operands as a tree.
2401 (op_iter_init): New. Initialize an iterator structure.
2402 (op_iter_init_use): New. Initialize structure and get the first use.
2403 (op_iter_init_def): New. Initialize structure and get the first def.
2404 (op_iter_init_tree): New. Initialize structure and get the first tree.
2405 (op_iter_next_maydef): New. Return next V_MAY_DEF operands.
5906d013 2406 (op_iter_init_maydef): New. Initialize structure and get the first
4c124b4c
AM
2407 V_MAY_DEF operands.
2408 * tree-cfg.c (tree_duplicate_bb): Use new operand iterator.
5906d013 2409 * tree-dfa.c (compute_immediate_uses_for_stmt,
4c124b4c
AM
2410 redirect_immediate_uses): Use new operand iterator.
2411 (v_may_defs_disappeared_p, v_must_defs_disappeared_p): Delete.
2412 (mark_new_vars_to_rename): Use new operand iterator. Count virtual
2413 operands instead of using *_disappeared_p routines.
2414 * tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites, rewrite_stmt,
2415 ssa_rewrite_stmt): Use new operand iterator.
2416 * tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb,
2417 rewrite_trees): Use new operand iterator.
2418 * tree-pretty-print.c (dump_vops): Use new operand iterator.
2419 * tree-sra.c (mark_all_v_defs): Use new operand iterator.
5906d013 2420 * tree-ssa-alias.c (compute_points_to_and_addr_escape,
4c124b4c 2421 dump_points_to_info): Use new operand iterator.
5906d013
EC
2422 * tree-ssa-ccp.c (cp_lattice_meet, visit_stmt, initialize,
2423 replace_uses_in, replace_vuse_in, likely_value, set_rhs): Use new
4c124b4c 2424 operand iterator.
5906d013 2425 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary,
4c124b4c
AM
2426 propagate_necessity): Use new operand iterator.
2427 * tree-ssa-dom.c (cprop_into_stmt, optimize_stmt): Use operand iterator.
2428 (register_definitions_for_stmt): Use new operand iterator. Take stmt as
2429 a parameter instead of a stmt_ann_t.
2430 * tree-ssa-live.c (create_ssa_var_map, calculate_live_on_entry,
2431 build_tree_conflict_graph): Use new operand iterator.
2432 * tree-ssa-loop-im.c (determine_max_movement, single_reachable_address,
2433 rewrite_mem_refs): Use new operand iterator.
5906d013 2434 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt,
4c124b4c
AM
2435 check_loop_closed_ssa_use): Use new operand iterator.
2436 * tree-ssa.c (verify_ssa, replace_immediate_uses): Use operand iterator.
2437 * tree-ssanames.c (release_defs): Use new operand iterator.
2438 * tree-vectorizer.c (vect_create_data_ref): Use new operand iterator.
2439
4185f1ce
AN
24402004-08-25 Adam Nemet <anemet@lnxw.com>
2441
2442 * tlink.c (initial_cwd): New variable.
2443 (tlink_init): Initialize it.
2444 (recompile_files): Use tlink_execute() instead of system(). Don't
2445 duplicate verbose output of collect_execute. Restore initial_cwd.
2446 Update comment before the function.
2447
700686fa
ZL
24482004-08-25 Ziemowit Laski <zlaski@apple.com>
2449
2450 * c-typeck.c (build_c_cast): In ObjC, always preserve (and silently
2451 accept) a cast from one Objective-C pointer type to another.
2452
7fb654ef
PC
24532004-08-25 Paolo Carlini <pcarlini@suse.de>
2454
2455 * doc/install.texi: Document that libstdc++-v3 requires
2456 now automake 1.9.1.
2457
8e8d5162
CT
24582004-08-25 Caroline Tice <ctice@apple.com>
2459
2460 * bb-reorder.c (partition_hot_cold_basic_blocks): Add more details
2461 to comments at start of function.
2462 * cfgbuild.c (make_edges): Add more details to hot/cold partitioning
2463 comment.
5906d013
EC
2464 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
2465 merge_blocks_move_predecessor_nojumps,
2466 merge_blocks_move_successor_nojumps, merge_blocks_move,
8e8d5162
CT
2467 try_crossjump_to_edge, try_crossjump_bb): Likewise.
2468 * cfglayout.c (fixup_reorder_chain): Likewise.
2469 * cfgrtl.c (rtl_can_merge_blocks, try_redirect_by_replacing_jump,
2470 cfg_layout_can_merge_blocks_p): Likewise.
2471 * ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
5906d013 2472 * passes.c (rest_of_compilation): Update comments for calling
8e8d5162 2473 optimization that partitions hot/cold basic blocks.
5906d013 2474 * doc/invoke.texi: Update documentation of
8e8d5162 2475 freorder-blocks-and-partition flag.
5906d013 2476
41a21e1d
RS
24772004-08-25 Richard Sandiford <rsandifo@redhat.com>
2478
2479 * config/mips/mips.md (reg): Renamed mode attribute from ccreg.
2480 (*mov*_on_*): Adjust accordingly. Add an explicit MOVECC: prefix.
2481
e5f14571
RS
24822004-08-25 Richard Sandiford <rsandifo@redhat.com>
2483
2484 * config/mips/mips.md (any_shift): New code macro.
2485 (optab, insn): New code attributes.
2486 ({ashl,ashr,lshr}[sd]i3): Redefine using :GPR and any_shift.
2487 Use the standard rather than internal patterns for the MIPS16
2488 double-shift optimization.
2489 (*{ashl,ashr,lshr}[sd]i3): New names for the non-mips16 shift patterns.
2490 Redefine using :GPR and any_shift.
2491 (*{ashl,ashr,lshr}si3_extend): Generalize ashlsi3_internal1_extend
2492 to cover all three shifts.
2493 (*{ashl,ashr,lshr}si3_mips16): New names for the mips16 SImode shifts.
2494 Redefine using any_shift. Use :GPR and any_shift to combine splitters.
2495 (*{ashl,ashr,lshr}di3_mips16): New names for the mips16 DImode shifts.
2496
bbbb79d4
GK
24972004-08-24 Geoffrey Keating <geoffk@apple.com>
2498
2499 * gimplify.c (lookup_tmp_var): Separate temporaries when not
2500 optimizing.
2501
d711cf67
JDA
25022004-08-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2503
2504 PR libstdc++/17005 (fix for HP-UX 11.11)
2505 * config.gcc (hppa*-*-*): Move MASK_BIG_SWITCH to target_cpu_default2.
2506 (hppa*-*-hpux*): Consolidate hppa1.0-*-* code. Rework handling of
5906d013 2507 tm_file including pa-hpux1010.h or pa-hpux1111.h when appropriate.
d711cf67
JDA
2508 * config/pa/pa-hpux1010.h, config/pa/pa-hpux1111.h: New files.
2509 * config/pa/pa-hpux.h (TARGET_HPUX): Define.
2510 (LINK_SPEC): Handle march=1.0 option.
2511 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
2512 and _XOPEN_SOURCE_EXTENDED for UNIX 95.
2513 (SUBTARGET_OPTIONS): New define.
2514 (LINK_SPEC): Handle march=1.0 option.
2515 (STARTFILE_SPEC): New define.
2516 * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
2517 and _XOPEN_SOURCE_EXTENDED for UNIX 95. Additionally, predefine
2518 _INCLUDE__STDC_A1_SOURCE and _INCLUDE_XOPEN_SOURCE_500 for UNIX 98.
2519 (SUBTARGET_OPTIONS): New define.
2520 (LINK_SPEC): Handle march=1.0 option.
2521 (STARTFILE_SPEC): New define.
2522 * config/pa/pa.c (override_options): Add code to process -munix= option.
2523 * config/pa/pa.h (pa_unix_string, flag_pa_unix): Declare.
2524 (TARGET_HPUX, TARGET_HPUX_10_10, TARGET_HPUX_11_11): Provide default
2525 defines.
2526 (TARGET_OPTIONS): Add SUBTARGET_OPTIONS to option list.
2527 (SUBTARGET_OPTIONS): Provide default define.
2528 * config/pa/pa64-hpux.h (STANDARD_STARTFILE_PREFIX_1,
2529 STANDARD_STARTFILE_PREFIX_2): New defines.
2530 (STARTFILE_SPEC): Provide unix95.o or unix98.o startfiles as necessary.
2531 (ENDFILE_SPEC): Use %O.
2532 * doc/install.texi (hppa*-*-hpux*): Reword paragraph on -g and gas.
2533 Mention issue caused by changing namespace and runtime to UNIX 95/98.
2534 * doc/invoke.texi (HPPA options): Move misplaced text to FRV options.
2535 Document -munix=std option.
2536
5affca01
SB
25372004-08-25 Steven Bosscher <stevenb@suse.de>
2538
2539 * cse.c (cse_around_loop, cse_check_loop_start,
2540 cse_set_around_loop): Remove.
2541 (cse_basic_block): Remove the around_loop argument.
2542 (cse_end_of_basic_block): Remove the after_loop argument.
2543 (cse_main): Likewise.
2544 * rtl.h (cse_main): Update prototype.
2545 * passes.c (rest_of_handle_cse, rest_of_handle_cse2,
2546 rest_of_handle_gcse): Update cse_main calls.
2547
7d60be94
NS
25482004-08-25 Nathan Sidwell <nathan@codesourcery.com>
2549
2550 * tree.h (build_int_cst): New, sign extended constant.
2551 (build_int_cstu): New, zero extended constant.
2552 (build_int_cst_wide): Renamed from build_int_cst.
2553 * tree.c (build_int_cst, build_int_cstu): New.
2554 (build_int_cst_wide): Renamed from build_int_cst.
2555 (make_vector_type, build_common_tree_nodes,
2556 build_common_tree_nodes_2): Adjust build_int_cst calls.
2557 * builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
2558 expand_builtin_strpbrk, expand_builtin_fputs,
2559 build_string_literal, expand_builtin_printf,
2560 expand_builtin_sprintf, fold_builtin_classify_type,
2561 fold_builtin_lround, fold_builtin_bitop, fold_builtin_isascii,
2562 fold_builtin_toascii, fold_builtin_isdigit,
2563 simplify_builtin_strstr, simplify_builtin_strpbrk,
2564 fold_builtin_fputs, simplify_builtin_sprintf): Likewise.
2565 * c-common.c (start_fname_decls, fix_string_type, shorten_compare,
2566 DEF_ATTR_INT): Likewise.
2567 * c-decl.c (complete_array_type, check_bitfield_type_and_width):
2568 Likewise.
2569 * c-lex.c (interpret_integer, lex_charconst): Likewise.
2570 * c-parse.in (primary) <TYPES_COMPATIBLE_P> Likewise.
2571 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2572 * c-typeck.c (really_start_incremental_init, push_init_level,
2573 set_nonincremental_init_from_string): Likewise.
2574 * calls.c (load_register_parameters): Likewise.
2575 convert.c (convert_to_pointer): Likewise.
2576 coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
2577 build_fn_info_type, build_fn_info_value, build_ctr_info_value,
2578 build_gcov_info): Likewise.
2579 * except.c (init_eh, assign_filter_values): Likewise.
2580 * expmed.c (store_fixed_bit_field, extract_bit_field,
2581 extract_fixed_bit_field, extract_split_bit_field, expand_shift,
2582 expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
2583 expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
2584 * expr.c (convert_move, emit_group_load, emit_group_store,
2585 expand_assignment, store_constructor, store_field,
2586 expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
2587 fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
2588 invert_truthvalue, optimize_bit_field_compare,
2589 decode_field_reference, all_ones_mask_p, constant_boolean_node,
2590 fold_div_compare, fold, fold_read_from_constant_string,
2591 fold_negate_const, fold_abs_const, fold_not_const, round_up,
2592 round_down): Likewise.
2593 * function.c (assign_parm_setup_block): Likewise.
2594 * stmt.c (shift_return_value, expand_case, estimate_case_costs):
2595 Likewise.
2596 * stor-layout.c (layout_type, initialize_sizetypes,
2597 set_min_and_max_values_for_integral_type): Likewise.
2598 * tree-chrec.c (chrec_fold_multiply_poly_poly,
2599 reset_evolution_in_loop): Likewise.
2600 * tree-chrec.h (build_polynomial_chrec): Likewise.
2601 * tree-complex.c (build_replicated_const): Likewise.
2602 * tree-eh.c (honor_protect_cleanup_actions,
2603 lower_try_finally_onedest, lower_try_finally_copy,
2604 lower_try_finally_switch): Likewise.
2605 * tree-mudflap.c (mf_build_string, mx_register_decls,
2606 mudflap_register_call, mudflap_enqueue_constant): Likewise.
2607 * tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
2608 * tree-pretty-print.c (dump_generic_node): Likewise.
2609 * tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
2610 Likewise.
2611 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
2612 * tree-ssa-loop-niter.c (number_of_iterations_cond,
2613 loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
2614 Likewise.
2615 * tree-ssa-loop-ivcanon.c (create_canonical_iv,
2616 canonicalize_loop_induction_variables): Likewise.
2617 * tree-vectorizer.c (vect_create_index_for_array_ref,
2618 vect_transform_loop_bound, vect_compute_data_ref_alignment):
2619 Likewise.
2620
2621 * config/alpha/alpha.c (alpha_initialize_trampoline, alpha_va_start,
2622 alpha_gimplify_va_arg_1): Likewise.
2623 * config/arm/arm.c (arm_get_cookie_size): Likewise.
2624 * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
2625 * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
2626 * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
2627 * config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
2628 mips_gimplify_va_arg_expr): Likewise.
2629 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
2630 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
2631 add_compiler_branch_island): Likewise.
2632 * config/s390/s390.c (s390_va_start): Likewise.
2633 * config/sh/sh.c (sh_va_start): Likewise.
2634 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
2635 Likewise.
2636 * config/xtensa/xtensa.c (xtensa_va_start,
2637 xtensa_gimplify_va_arg_expr): Likewise.
5906d013 2638
7d60be94
NS
2639 * objc/objc-act.c (build_objc_string_object,
2640 build_objc_symtab_template, init_def_list, init_objc_symtab,
2641 init_module_descriptor, generate_static_references,
2642 build_selector_translation_table, get_proto_encoding,
2643 build_typed_selector_reference, build_selector_reference,
2644 build_next_objc_exception_stuff,
2645 build_method_prototype_list_template, generate_descriptor_table,
2646 generate_protocols, build_protocol_initializer,
2647 build_ivar_list_template, build_method_list_template,
2648 build_ivar_list_initializer, generate_ivars_list,
2649 generate_dispatch_table, generate_protocol_list,
2650 build_category_initializer, build_shared_structure_initializer,
2651 generate_shared_structures, handle_impent,
2652 generate_objc_image_info): Likewise.
2653
8b63d0e5
PB
26542004-04-25 Paolo Bonzini <bonzini@gnu.org>
2655
2656 * cfglayout.c (duplicate_insn_chain): Remove references to
2657 NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT.
2658 * cfgloop.h (struct loop): Remove fields vtop, cont and cont_dominator.
2659 * cfgrtl.c (rtl_delete_block): Remove handling of NOTE_INSN_LOOP_CONT.
2660 * final.c (final_scan_insn): Remove references to NOTE_INSN_LOOP_VTOP
2661 and NOTE_INSN_LOOP_CONT.
2662 * insn-notes.def (NOTE_INSN_LOOP_VTOP, NOTE_INSN_LOOP_CONT): Remove.
2663 * jump.c (squeeze_notes): Remove references to NOTE_INSN_LOOP_VTOP
2664 and NOTE_INSN_LOOP_CONT.
2665 * loop.c (scan_loops, find_and_verify_loops, for_each_insn_in_loop,
2666 check_dbra_loop, loop_dump_aux): Remove references to removed notes
2667 and fields.
2668 * reorg.c (mostly_true_jump): Do not rely on NOTE_INSN_LOOP_VTOPs.
2669 * unroll.c (unroll_loop, copy_loop_body, loop_iterations): Remove
2670 references to removed notes and fields.
2671 (subtract_reg_term, ujump_to_loop_cont): Remove.
2672
078e3ffe
PB
26732004-08-25 Paolo Bonzini <bonzini@gnu.org>
2674
8b63d0e5 2675 * doc/install.texi: Document that libcpp does not require
078e3ffe
PB
2676 Automake any longer. Document that Automake 1.9.1 should
2677 work everywhere.
2678
f8ca7e49
ZW
26792004-08-25 Zack Weinberg <zack@codesourcery.com>
2680
2681 * flags.h (enum debug_info_type): Remove DWARF_DEBUG.
2682 * defaults.h (PREFERRED_DEBUGGING_TYPE): Remove check for
2683 DWARF_DEBUGGING_INFO from choice-of-definition chain;
2684 restructure using C89 features (#elif, #error).
2685 * c-lex.c, final.c, opts.c, config/cris/cris.c, config/frv/frv.c
2686 * config/sh/sh.h: Remove references to DWARF_DEBUG.
2687 * doc/invoke.texi: Remove references to DWARF version 1;
2688 clarify why -gdwarf-2<n> doesn't work.
2689
51a904c9
ZW
26902004-08-25 Zack Weinberg <zack@codesourcery.com>
2691
2692 * basic-block.h (BB_SET_PARTITION): Clear old value first.
2693 * cfg.c (clear_bb_flags): Don't clear partition setting.
69b9b0d2 2694 * ifcvt.c (find_if_case_1): Remove ??? comment.
51a904c9 2695
e548ead9
AM
26962004-08-25 Alan Modra <amodra@bigpond.net.au>
2697
2698 PR target/17052
2699 * config/rs6000/rs6000.h (machine_function): Remove sysv_varargs_p.
2700 * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
2701 current_function_stdarg in place of sysv_varargs_p.
2702 * config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
2703 sysv_varargs_p.
2704
1e19ac74
RH
27052004-08-24 Richard Henderson <rth@redhat.com>
2706
2707 PR target/16298
2708 * config/i386/i386.c (legitimate_constant_p): Rework to not accept
2709 random codes within CONST.
2710
c61225e7
JW
27112004-08-24 James E Wilson <wilson@specifixinc.com>
2712
2713 * Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS): Remove
2714 -freorder-blocks-and-partition.
2715
37840132
JDA
27162004-08-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2717
2718 PR middle-end/17044
2719 * tree-ssa-threadupdate.c (redirection_data): Make static.
2720 (thread_block): Use ggc_alloc_cleared to allocate struct
2721 redirection_data. Don't free elements in redirection_data.
2722
cf1d880b
RS
27232004-08-24 Richard Sandiford <rsandifo@redhat.com>
2724
2725 * config/mips/predicates.md (small_data_pattern): Match prefetches.
2726
b3393f1f
ZD
27272004-08-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2728
2729 PR tree-optimization/17016
2730 * tree-ssa-loop-niter.c (number_of_iterations_cond,
2731 number_of_iterations_exit): Use POINTER_TYPE_P instead
2732 of testing for POINTER_TYPE.
2733
82b85a85
ZD
27342004-08-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2735
2736 * tree-ssa-loop-ivcanon.c: New file.
2737 * tree-ssa-loop-manip.c (create_iv): New function.
2738 * Makefile.in (tree-ssa-loop-ivcanon.o): Add.
2739 (tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency.
2740 * cfgloop.c (mark_single_exit_loops): New function.
2741 (verify_loop_structure): Verify single-exit loops.
2742 * cfgloop.h (struct loop): Add single_exit field.
2743 (LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant.
2744 (mark_single_exit_loops): Declare.
2745 (tree_num_loop_insns): Declare.
2746 * cfgloopmanip.c (update_single_exits_after_duplication): New function.
2747 (duplicate_loop_to_header_edge): Use it.
2748 * common.opt (fivcanon): New flag.
2749 * timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars.
2750 * tree-cfg.c (tree_find_edge_insert_loc): Return newly created block.
2751 (bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc.
2752 (bsi_insert_on_edge_immediate): New function.
2753 * tree-flow.h (bsi_insert_on_edge_immediate,
2754 canonicalize_induction_variables, tree_unroll_loops_completely,
2755 create_iv): Declare.
2756 * tree-optimize.c (init_tree_optimization_passes): Add
2757 pass_iv_canon and pass_complete_unroll.
2758 * tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare.
2759 * tree-scalar-evolution.c (get_loop_exit_condition,
2760 get_exit_conditions_rec, number_of_iterations_in_loop,
2761 scev_initialize): Use single_exit information.
2762 * tree-ssa-loop-niter.c (number_of_iterations_cond): Record
2763 missing assumptions.
2764 (loop_niter_by_eval): Return number of iterations as unsigned
2765 int.
2766 * tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops.
2767 (tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon,
2768 tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll):
2769 New passes.
2770 (tree_ssa_loop_done): Call free_numbers_of_iterations_estimates.
2771 * tree-ssanames.c (make_ssa_name): Allow creating ssa name before
2772 the defining statement is ready.
2773 * tree-vectorizer.c (vect_create_iv_simple): Removed.
2774 (vect_create_index_for_array_ref, vect_transform_loop_bound):
2775 Use create_iv.
2776 (vect_transform_loop_bound): Use single_exit information.
2777 (vect_analyze_loop_form): Cleanup bogus tests.
2778 (vectorize_loops): Do not call flow_loop_scan.
2779 * tree.h (may_negate_without_overflow_p): Declare.
2780 * fold-const.c (may_negate_without_overflow_p): Split out from ...
2781 (negate_expr_p): ... this function.
2782 (tree_expr_nonzero_p): Handle overflowed constants correctly.
2783 * doc/invoke.texi (-fivcanon): Document.
2784 * doc/passes.texi: Document canonical induction variable creation.
2785
b3c90666
RS
27862004-08-24 Richard Sandiford <rsandifo@redhat.com>
2787
2788 * config/mips/mips.h (ISA_HAS_INT_CONDMOVE): Delete.
2789 * config/mips/mips.c (print_operand): Fold %B/%b handling into %T/%t,
2790 using the mode of the operand to decide between them.
2791 * config/mips/mips.md (MOVECC): New mode macro.
2792 (ccreg): New mode attribute.
2793 (*mov{si,di,sf,df}_on_{cc,si,di}): Name formerly unnamed patterns.
2794 Redefine using :GPR and :MOVECC. Use %T and %t for the condition.
2795 (mov[sd]icc): Redefine using :GPR.
2796
4767c570
RS
27972004-08-24 Richard Sandiford <rsandifo@redhat.com>
2798
04550232
RS
2799 * config/mips/mips-protos.h (mips_emit_prefetch): Delete.
2800 (mips_prefetch_cookie): New function.
2801 * config/mips/mips.c (print_operand_address): Fix handling of
2802 ADDRESS_CONST_INT.
2803 (mips_emit_prefetch): Delete.
2804 (mips_prefetch_cookie): New function.
2805 * config/mips/mips.md (prefetch): Turn into a define_insn. Use a
2806 mode of QImode for the address_operand. Use mips_prefetch_cookie
2807 to calculate the first "pref" operand.
2808 (prefetch_[sd]i, prefetch_[sd]i_address): Delete.
2809 (prefetch_indexed_[sd]i): Redefine using :P. Use mips_prefetch_cookie.
4767c570 2810
a657c98a
RE
28112004-08-24 Richard Earnshaw <rearnsha@arm.com>
2812
2813 * arm.md: Include predicates.md.
2814 * predicates.md: New file.
2815 * arm.c (s_register_operand, arm_hard_register_operand)
2816 (arm_general_register_operand, f_register_operand, reg_or_int_operand)
2817 (arm_immediate_operand, arm_neg_immediate_operand)
2818 (arm_not_immediate_operand, arm_rhs_operand, arm_rhsm_operand)
2819 (arm_add_operand, arm_addimm_operand, arm_not_operand)
2820 (offsettable_memory_operand, alignable_memory_operand)
2821 (arm_reload_memory_operand, arm_float_rhs_operand)
2822 (arm_float_add_operand, vfp_compare_operand, arm_float_compare_operand)
2823 (index_operand, shiftable_operator, logical_binary_operator)
2824 (shift_operator, equality_operator, arm_comparison_operator)
2825 (minmax_operator, cc_register, dominant_cc_register)
2826 (arm_extendqisi_mem_op, power_of_two_operand, nonimmediate_di_operand)
2827 (di_operand, nonimmediate_soft_df_operand, soft_df_operand)
2828 (const_shift_operand, load_multiple_operation)
2829 (store_multiple_operation, multi_register_push, thumb_cmp_operand)
2830 (thumb_cmpneg_operand, thumb_cbrch_target_operand)
2831 (cirrus_register_operand, cirrus_fp_register)
2832 (cirrus_shift_const): Delete, replaced with equivalents in
2833 predicates.md.
2834 (shift_op): Handle ROTATE.
2835 * arm-protos.h: Delete declarations for above.
2836 * arm.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
2837 * t-arm (MD_INCLUDES): Add predicates.md.
2838 (s-preds): Depends on MD_INCLUDES.
2839
886ce862
RS
28402004-08-24 Richard Sandiford <rsandifo@redhat.com>
2841
2842 * config/mips/mips.c (mips_gen_conditional_trap): Fix mode.
2843 * config/mips/mips.md (*conditional_trap[sd]i): Name previously unnamed
2844 patterns. Redefine using :GPR. Give the match_operator a mode.
2845 Use '%2' rather than '%z2' for operand 2.
2846
be659abd
RS
28472004-08-24 Richard Sandiford <rsandifo@redhat.com>
2848
2849 * config/mips/mips.md (load_call[sd]i): Redefine using :P. Add mode
2850 attribute.
2851
92dcb882
RS
28522004-08-24 Richard Sandiford <rsandifo@redhat.com>
2853
2854 * config/mips/mips.md (indirect_jump): Use force_reg. Adjust names
2855 of internal patterns.
2856 (indirect_jump[sd]i): Renamed from indirect_jump_internal[12].
2857 Redefine using :P.
2858 (tablejump): Use expand_binop to calculate address. Adjust names
2859 of internal patterns.
2860 (tablejump[sd]i): Renamed from tablejump_internal[12].
2861 Redefine using :P.
2862 (tablejump_mips16[12]): Delete.
2863
a0160289
RS
28642004-08-24 Richard Sandiford <rsandifo@redhat.com>
2865
2866 * config/mips/mips.md (*seq_[sd]i, *seq_[sd]i_mips16, *sne_[sd]i)
2867 (*sgt_[sd]i, *sgt_[sd]i_mips16, *sge_[sd]i, *slt_[sd]i)
2868 (*slt_[sd]i_mips16, *sle_[sd]i, *sle_[sd]i_mips16, *sgtu_[sd]i)
2869 (*sgtu_[sd]i_mips16, *sge_[sd]i, *sltu_[sd]i, *sltu_[sd]i_mips16)
2870 (*sleu_[sd]i, *sleu_[sd]i_mips16): Redefine using :GPR.
2871
2c4402f4
RS
28722004-08-24 Richard Sandiford <rsandifo@redhat.com>
2873
2874 * config/mips/mips.md (cmpsi, cmpdi): Redefine using :GPR.
2875 (*branch_zero[sd]i): Renamed from branch_zero{,_di}. Redefine
2876 using :GPR.
2877 (*branch_zero[sd]i_inverted): Likewise branch_zero{,_di}_inverted.
2878 (*branch_equality[sd]i): Likewise branch_equality{,_di}.
2879 (*branch_equality[sd]i_inverted): Likewise
2880 branch_equality{,_di}_inverted.
2881 (*branch_equality[sd]i_mips16): Name formerly unnamed patterns.
2882 Redefine using :GPR.
2883
b5c2f1d1
ZW
28842004-08-24 Zack Weinberg <zack@codesourcery.com>
2885
2886 * rtl.def: Reorganize, placing all codes used only in machine
2887 descriptions at the end.
2888
9e995780
ZW
2889 * rtl.def: Wrap MD-only codes in #ifdef GENERATOR_FILE.
2890 * gengtype.c: Don't include rtl.h. Define enum rtx_code and
2891 rtx_name, rtx_format arrays by direct reference to rtl.def,
2892 first undefining GENERATOR_FILE. Define enum insn_note and
2893 note_insn_name array by direct reference to insn-notes.def.
2894 (adjust_field_rtx_def): Remove local definition of rtx_name.
2895 Use symbolic names for insn notes.
2896 * Makefile.in (gengtype.o): Update dependencies.
2897
076c7ab8
ZW
28982004-08-24 Zack Weinberg <zack@codesourcery.com>
2899
2900 * basic-block.h (struct basic_block_def): Reorder fields to
2901 eliminate interior padding. Remove 'partition' field.
2902 (BB_DISABLE_SCHEDULE, BB_HOT_PARTITION, BB_COLD_PARTITION)
2903 (BB_UNPARTITIONED, BB_PARTITION, BB_SET_PARTITION)
2904 (BB_COPY_PARTITION): New macros.
2905 * bb-reorder.c, cfgcleanup.c, cfglayout.c, cfgrtl.c, ifcvt.c
2906 Replace all references to the 'partition' field of a basic
2907 block with new macros.
2908
2909 * insn-notes.def: Delete NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
2910 * final.c (final_scan_insn): Don't handle it.
2911 * modulo-sched.c: Set BB_DISABLE_SCHEDULE flag on g->bb
2912 instead of emitting a NOTE_INSN_DISABLE_SCHED_OF_BLOCK note.
2913 * sched-rgn.c (sched_is_disabled_for_current_region_p):
2914 Look for a BB_DISABLE_SCHEDULE flag on the block instead of a note.
2915
8c1d6d62
NS
29162004-08-24 Nathan Sidwell <nathan@codesourcery.com>
2917
2918 * c-decl.c (c_init_decl_processing): Adjust
2919 build_common_tree_nodes call.
2920 * expmed.c (const_mult_add_overflow_p): Use
2921 build_distinct_type_copy.
2922 * stor-layout.c (early_type_list): Remove.
2923 (layout_type): Don't append to early_type_list.
2924 (initialize_sizetypes): Add signed_p argument.
2925 (set_sizetype): Overwrite the stub type nodes directly.
2926 * tree.c (copy_node_stat): Clear a type's value cache here ...
2927 (build_distinct_type): ... not here.
2928 (build_common_tree_nodes): Add signed_sizetype argument. Adjust.
2929 * tree.h (initialize_sizetypes): Add signed_p argument.
2930 (build_common_tree_nodes): Likewise.
2931
2932 * objc/objc-act.c (get_static_reference): Use
2933 build_variant_type_copy.
2934 (get_protocol_reference): Likewise.
2935 * objc/objc-act.h (TREE_STATIC_TEMPLATE): Use TREE_PRIVATE.
2936
97dc04b3 29372004-08-24 Richard Henderson <rth@redhat.com>
076c7ab8 2938 Andrew Pinski <apinski@apple.com>
97dc04b3
RH
2939
2940 * gimplify.c (gimplify_array_ref_to_plus): Delete.
2941 (gimplify_addr_expr): Do not call gimplify_array_ref_to_plus
2942 for ARRAY_REF.
2943
2944 * config/rs6000/rs6000.c (altivec_expand_builtin): Go passed
2945 ARRAY_REF also to get to the STRING_CST.
2946
72cdc543
PB
29472004-08-24 Paul Brook <paul@codesourcery.com>
2948
2949 * config/arm/arm.c (arm_override_options): Update error message.
2950 * config/arm/arm.h (TARGET_HARD_FLOAT): Rename to
2951 TARGET_HARD_FLOAT_ABI.
2952 (TARGET_SOFT_FLOAT_ABI): Rename to TARGET_HARD_FLOAT.
2953 (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Use TARGET_HARD_FLOAT_ABI.
2954
bd5ca07e
NC
29552004-08-24 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2956
2957 PR target/17093
2958 * config/m32r.md (movsi_sda): Add SI mode specification to
2959 UNSPEC.
2960
29612004-08-24 Nick Clifton <nickc@redhat.com>
2962
2963 * config/m32r/m32r.h (PREDICATE_CODES): Remove duplicate definition
2964 of seth_add3_operand.
2965
d46cd2be
NS
29662004-08-24 Nathan Sidwell <nathan@codesourcery.com>
2967
2968 * Makefile.in (PROTO_OBJS): Add errors.o.
2969 * protoize.c (fancy_abort): Remove.
2970 * mips-tfile.c (fancy_abort): Add parameters.
2971
748fa294
JW
29722004-08-24 Jonathan Wakely <redi@gcc.gnu.org>
2973
2974 * doc/trouble.texi (C++ misunderstandings): Fix example code.
2975
4505f099
AT
29762004-08-24 Andreas Tobler <a.tobler@schweiz.ch>
2977
2978 * Makefile.in (HOOKS_H): Add dependency on MACHMODE_H.
2979 (host-default.o): Add dependency on HOOKS_H.
2980 * config/x-linux: Likewise.
2981 * config/x-solaris: Likewise.
2982 * config/i386/x-mingw32: Likewise.
2983 * config/rs6000/x-darwin: Likewise.
2984
a2fe1975
JW
29852004-08-23 James E Wilson <wilson@specifixinc.com>
2986
2987 * reg-notes.def (REG_NOTE): In comment, change DEF_INSN_NOTE to
2988 DEF_REG_NOTE.
2989
c3f216e2
MM
29902004-08-23 Mark Mitchell <mark@codesourcery.com>
2991
2992 PR c/14492
2993 * dwarf2out.c (loc_descriptor_from_tree): Robustify.
2994
2e6ae27f
DN
29952004-08-23 Diego Novillo <dnovillo@redhat.com>
2996
2997 * cfg.c (check_bb_profile): Fix typos.
2998 * function.c (assign_parm_is_stack_parm): Likewise.
2999 * tree-nested.c: Likewise.
3000
d685c974
DJ
30012004-08-23 Daniel Jacobowitz <dan@debian.org>
3002
3003 * ggc-zone.c (struc alloc_chunk): Rearrange flag bits and SIZE.
3004 Remove TYPECODE.
3005 (ggc_alloc_zone_1): Mark TYPE as unused. Don't save it in the chunk.
3006
f676971a
EC
30072004-08-23 Eric Christopher <echristo@redhat.com>
3008
3009 * defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro.
3010 * system.h (VECTOR_MODE_SUPPORTED_P): Poison.
3011 * target-def.h (TARGET_VECTOR_MODE_SUPPORTED_P): Define.
3012 * target.h: Ditto.
3013 * hooks.h: Include machmode.h.
3014 (hook_bool_mode_false): Declare.
3015 * hooks.c (hook_bool_mode_false): Define.
3016 * expr.c (vector_mode_valid_p): Use targetm.vector_mode_supported_p.
3017 * stor-layout.c (layout_type): Ditto.
3018 * config/alpha/alpha.c (alpha_vector_mode_supported_p): New function.
3019 Define to target macro.
3020 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): Delete.
3021 * config/arm/arm.c: Ditto. Use.
3022 * config/arm/arm.h: Ditto.
3023 * config/arm/arm-protos.h: Ditto.
3024 * config/i386/i386.c: Ditto.
3025 * config/i386/i386.h: Ditto.
3026 * config/rs6000/rs6000.c: Ditto.
3027 * config/rs6000/rs6000.h: Ditto.
3028 * config/sh/sh.c: Ditto.
3029 * config/sh/sh.h: Ditto.
3030 * config/sh/sh-protos.h: Ditto.
3031 * config/sh/sh.md: Use.
3032 * doc/tm.texi: Move documentation for VECTOR_MODE_SUPPORTED_P
3033 to TARGET_VECTOR_MODE_SUPPORTED_P.
3034
8dd16ecc
NS
30352004-08-23 Nathan Sidwell <nathan@codesourcery.com>
3036
b3d1f5b4
NS
3037 * Makefile.in (BUILD_ERRORS): Set to build-errors.
3038 (errors.o): New target for host.
3039 (build-errors.o): New target for build.
3040 (genobjs): Replace errors.o with build-errors.
3041 (gengenrtl$(buildexeext)): Add $(BUILD_ERRORS).
3042 (GCOV_OBJS, GCOV_DUMP_OBJS): Add errors.o.
3043 (fix-headers$(build_exeext)): Add $(BUILD_ERRORS).
3044 (fix-header.o): Add errors.h
3045 * collect2.c (fancy_abort): Add parameters.
3046 * collect2.h (fancy_abort): Don't declare.
3047 * errors.h (fancy_abort): Don't declare.
3048 * errors.c: Include either bconfig.h or config.h.
3049 (fancy_abort): Trim filename.
3050 * fix-header.c (v_fatal, fatal): Remove.
3051 (progname): Remove definition.
3052 (main): Set progname here.
3053 * gcc.c (fancy_abort): Add parameters.
3054 * gcc.h (fancy_abort): Remove declaration.
3055 * gcov.c (fancy_abort): Remove.
3056 * rtl.h (fancy_abort): Don't declare.
3057 (abort): Don't define.
3058 * tree.h (fancy_abort): Don't declare.
3059 (abort): Don't define.
3060 * system.h (fancy_abort): Declare.
3061 (abort): Define to fancy_abort.
3062 * fixinc/Makefile.in (ALLOBJ): Add ../build-errors.o
3063
be88a628
NS
3064 * tree.h (enum size_type_kind): Remove USIZETYPE, UBITSIZETYPE.
3065 (usize_type, ubitsizetype): Remove.
3066 * stor-layout.c (set_sizetype): Don't initialize usizetype,
3067 ubitsizetype.
3068 * fold-const.c (size_diffop): TYPE can never be ubitsizetype.
3069
8dd16ecc
NS
3070 * tree.h (build_distinct_type_copy): New.
3071 (build_type_copy): ... here. Rename to ...
3072 (build_variant_type_copy): ... here.
3073 * tree.c (build_qualified_type): Rename build_type_copy call.
3074 (build_distinct_type_copy): New, broken out of ...
3075 (build_type_copy): ... here. Rename to ...
3076 (build_variant_type_copy): ... here. Use
3077 build_distinct_type_copy.
3078 (build_common_tree_nodes_2): Rename build_type_copy call.
3079 * c-common.c (c_common_nodes_and_builtins): Rename build_type_copy
3080 call.
3081 (handle_packed_attribute, handle_unused_attribute,
3082 handle_transparanet_union_attribute, handle_aligned_attribute,
3083 handle_deprecated_attribute): Likewise.
3084 * c-decl.c (clone_underlying_type, store_parm_decls_oldstyle):
3085 Likewise.
3086 * config/arm/arm.c (arm_handle_isr_attribyte): Likewise.
3087 * config/rs6000/rs6000.c (rs6000_init_builtins): Use
3088 build_distinct_type_copy.
3089
e8bf0f3b
RS
30902004-08-23 Richard Sandiford <rsandifo@redhat.com>
3091
3092 * config/mips/mips.md (mfhilo_[sd]i): Redefine using :GPR. Add mode
3093 attribute.
3094
4d06ed0a
RS
30952004-08-23 Richard Sandiford <rsandifo@redhat.com>
3096
3097 * config/mips/mips.md (length): Don't use mips_fetch_insns for indexed
3098 loads and stores.
3099 (*lwxc1_<mode>, *ldxc1_<mode>, *swxc1_<mode>, *sdxc1_<mode>): Name
3100 formerly unnamed patterns. Redefine using :P for the address. Remove
3101 explicit length attributes.
3102
a3631d97
ZD
31032004-08-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3104
3105 * tree-ssa-loop-im.c (fem_single_reachable_address, for_each_memref):
3106 New functions.
3107 (single_reachable_address): Use them.
3108 (schedule_sm): Add dump.
3109 (is_call_clobbered_ref): New function.
3110 (determine_lsm_reg): Check whether the reference is call clobbered.
3111 Only work for gimple_reg_type values.
3112
b1f58428
RS
31132004-08-23 Richard Sandiford <rsandifo@redhat.com>
3114
3115 * config/mips/mips.md (*mov<mode>_ra): Name previously unnamed MIPS16
3116 $31 store insns. Redefine using :GPR.
3117
237b301e
RS
31182004-08-23 Richard Sandiford <rsandifo@redhat.com>
3119
3120 * config/mips/mips.md (P): New mode macro.
3121 (*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i)
3122 (*load_got[sd]i, *low[sd]i, *low[sd]i_mips16): Redefine using :P.
3123 Add mode attributes.
3124
c9081a92
RS
31252004-08-23 Richard Sandiford <rsandifo@redhat.com>
3126
3127 * config/mips/mips.md (UNSPEC_[LS][WD][LR]): Delete in favor of...
3128 (UNSPEC_{LOAD,STORE}_{LEFT,RIGHT}): ...these new constants. Shuffle
3129 later constants to cover the gap.
3130 (load, store): New mode attributes.
3131 (mov_l[wd]l, mov_l[wd]r, mov_s[wd]l, mov_s[wd]r): Redefine using :GPR.
3132 Use new unspec constants.
3133
3d1f285d
RS
31342004-08-23 Richard Sandiford <rsandifo@redhat.com>
3135
3136 * config/mips/mips.md (one_cmpl[sd]i2): Redefine using :GPR.
3137 (and[sd]3, ior[sd]i3, xor[sd]i3): Likewise. Change 32-bit patterns
3138 to use register_operand rather than uns_arith_operand as the predicate
3139 for operand 1. Remove redundant MIPS16 force_reg() for operand 1.
3140 (*and[sd]i3, *ior[sd]i3, *xor[sd]i3): Name formerly unnamed patterns.
3141 Redefine using :GPR. Make same predicate change here. Extend the
3142 commutativity of operands 1 and 2 from the SImode version to the
3143 DImode one.
3144 (*and[sd]i3_mips16, *ior[sd]i3_mips16, *xor[sd]i3_mips16): Likewise,
3145 but with no predicate changes.
3146 (*nor[sd]i3): Redefine using :GPR.
3147
c0e1b12f
ZD
31482004-08-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3149
3150 * tree-ssa-operands.c (get_call_expr_operands): Add VUSE operands for
3151 noreturn functions.
3152
400a9325
RS
31532004-08-23 Richard Sandiford <rsandifo@redhat.com>
3154
3155 * config/mips/mips.h (ISA_HAS_DCLZ_DCLO): Delete.
3156 * config/mips/mips.md (abs[sd]i2): Redefine using :GPR. Only use
3157 branch-likely insns for absdi2 if GENERATE_BRANCHLIKELY. Use "%."
3158 rather than "%z2" (with a fake const0_rtx for operand 2).
3159 (ffs[sd]i2): Redefine using :GPR.
3160 (clz[sd]i2): Likewise. Use ISA_HAS_CLO_CLZ for the 64-bit case.
3161
2222da3a
RS
31622004-08-23 Richard Sandiford <rsandifo@redhat.com>
3163
3164 * config/mips/mips.md ({,u}divmod[sd]i4): Redefine using :GPR.
3165
15ac4ccf
RS
31662004-08-23 Richard Sandiford <rsandifo@redhat.com>
3167
3168 * config/mips/mips.md (any_extend): New code macro.
3169 (u, su): New code attributes.
3170 ({,u}mulsidi3, {,u}mulsidi3_32bit_internal, {,u}mulsidi3_32bit_r4000)
3171 ({u,s}mulsi3_highpart, {u,s}mulsi3_highpart_internal)
3172 ({u,s}mulsi3_highpart_mulhi_internal, {s,u}muldi3_highpart)
3173 (*{s,u}mul_acc_di): Redefine using any_extend.
3174 (*{,u}muls_di, *{s,u}msac_di): Likewise. Change names of patterns
3175 to reflect real insn names.
3176 (*mulsidi3_64bit, *mulsidi3_64bit_parts): Replace use of match_operator
3177 with an any_extend template.
3178 ({u,s}mulsi3_highpart_neg_mulhi_internal): Redefine using any_extend.
3179 Add '*' to name.
3180
d46c971d
RS
31812004-08-23 Richard Sandiford <rsandifo@redhat.com>
3182
3183 * config/mips/mips.h (GENERATE_MULT3_SI): Check TARGET_MAD.
3184 * config/mips/mips.md (mul[sd]i3, mul[sd]i3_internal)
3185 (mul[sd]i3_r4000): Redefine using :GPR.
3186 (mulsi3_mult3): Don't check TARGET_MAD separately.
3187 (muldi3_mult3): Moved after mulsi_mult3.
3188
5811cb27
RS
31892004-08-23 Richard Sandiford <rsandifo@redhat.com>
3190
3191 * config.gcc (mips-*-*): Remove definitions of MASK_GAS and
3192 OBJECT_FORMAT_ELF. Set MASK_SPLIT_ADDR by default if using GNU ld.
3193 * config/mips/mips.h (MASK_GAS): Delete. Shuffle later masks down.
3194 (TARGET_GAS, TARGET_MIPS_AS): Delete.
3195 (TARGET_GPWORD): Define to true for n32 on IRIX.
3196 (TARGET_SWITCHES): Remove -mmips-as. Turn -mgas into a no-op.
3197 (MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
3198 (GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
3199 (ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
3200 (MDEBUG_ASM_SPEC): Delete, folding into...
3201 (SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
3202 (ASM_SPEC): Inline old GAS_ASM_SPEC. Use GNU names for ABI switches.
3203 (EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
3204 subtarget_mips_as_asm_spec, mdebug_asm_spec. Use MULTILIB_ABI_DEFAULT
3205 to define asm_abi_default_spec.
3206 (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
3207 (TARGET_ASM_SELECT_SECTION): Delete.
3208 * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
3209 for non-mips16 code, removing previous workaround for SGI assemblers.
3210 (TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
3211 (TARGET_ASM_ALIGNED_DI_OP): Define this instead.
3212 (override_options): Remove !TARGET_GAS and !have_named_sections code.
3213 (print_operand): Fold TARGET_GAS conditionals into asm strings.
3214 (mips_output_filename): Remove !TARGET_GAS code. Replace use of
3215 ASM_STABS_OP and ASM_STABN_OP.
3216 (mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
3217 (mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
3218 (mips_output_function_prologue): Remove !TARGET_GAS code.
3219 (mips_select_rtx_section): Remove !have_named_sections code.
3220 (mips_select_section): Delete.
3221 * config/mips/mips.md (trap): Remove !TARGET_GAS check.
3222 * config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
3223 * config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
3224 (PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
3225 * config/mips/vxworks.h (ASM_SPEC): As for mips.h.
3226 * config/mips/windiss.h (ASM_SPEC): Likewise.
3227
032e8348
RS
32282004-08-23 Richard Sandiford <rsandifo@redhat.com>
3229
3230 * read-rtl.c (map_value, mapping, macro_group): New structures.
3231 (BELLWETHER_CODE): New macro.
3232 (modes, codes, bellwether_codes): New variables.
3233 (find_mode, uses_mode_macro_p, apply_mode_macro, find_code)
3234 (uses_code_macro_p, apply_code_macro, apply_macro_to_string)
3235 (apply_macro_to_rtx, uses_macro_p, add_condition_to_string)
3236 (add_condition_to_rtx, apply_macro_traverse, add_mapping)
3237 (add_map_value, initialize_macros): New functions.
3238 (def_hash, def_hash_eq_p): Generalize to anything that points to,
3239 or starts with, a char * field.
3240 (find_macro, read_mapping, check_code_macro): New functions.
3241 (read_rtx_1): New, split out from read_rtx. Handle the new
3242 define_{mode,code}_{macro,attr} constructs. Use find_macro
3243 to parse the name of a code or mode. Use BELLWETHER_CODE to
3244 extract the format and to choose a suitable code for rtx_alloc.
3245 Modify recursive invocations to use read_rtx_1.
3246 (read_rtx): Call initialize_macros. Apply code and mode macros
3247 to the rtx returned by read_rtx_1. Cache everything after the
3248 first macro expansion for subsequent read_rtx calls.
3249 * doc/md.texi: Document new .md constructs.
3250 * config/mips/mips.md (GPR): New mode macro.
3251 (d, si8_di5): New mode attributes.
3252 (any_cond): New code macro.
3253 (add[sd]i3): Redefine using :GPR.
3254 (*add[sd]i3): Likewise, renaming from add[sd]i3_internal.
3255 (*add[sd]i3_sp[12], *add<mode>3_mips16): Redefine using :GPR, naming
3256 previously unnamed MIPS16 patterns.
3257 (*addsi3_extended): Renamed from addsi3_internal_2. Fix overly long
3258 lines. Don't match (plus (const_int 0) ...).
3259 (*addsi3_extended_mips16): Name previously unnamed MIPS16 pattern.
3260 Use a define_split to generate the addition.
3261 (sub[sd]i3): Redefine using :GPR. Turn subsi3 into a define_insn.
3262 (subsi3_internal): Delete.
3263 (*subsi3_extended): Renamed from subsi3_internal_2.
3264 (bunordered, bordered, bunlt, bunge, buneq, bltgt, bunle, bungt)
3265 (beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Redefine
3266 using an any_cond template.
3267
ecce923e
RS
32682004-08-23 Richard Sandiford <rsandifo@redhat.com>
3269
3270 * read-rtl.c (read_rtx): Tidy use of format_ptr.
3271
a269d6c8
RS
32722004-08-23 Richard Sandiford <rsandifo@redhat.com>
3273
3274 * read-rtl.c (string_obstack): New file-scope variable.
3275 (read_string, read_quoted_string, read_braced_string)
3276 (read_escape): Remove obstack parameter and use string_obstack instead.
3277 (read_rtx): Remove function-local rtl_obstack and initialize
3278 string_obstack instead. Update call to read_string.
3279
9fc3b39a
AP
32802004-08-22 Andrew Pinski <apinski@apple.com>
3281
3282 PR c/15262
3283 * c-typeck.c (build_unary_op): Use &a.b if the foldded lowered
3284 expression is not constant.
3285 (c_finish_return): Do not go through INDIRECT_REF when looking
3286 for the inner expression of an ADDR_EXPR for warning about.
3287
cea49550
RH
32882004-08-22 Richard Henderson <rth@redhat.com>
3289
3290 PR 17075
3291 * cfgexpand.c (expand_gimple_tailcall): Detect when we can both
3292 create new blocks and fall through.
3293 (expand_gimple_basic_block): Update to match.
3294
0b540f12
UW
32952004-08-22 Ulrich Weigand <uweigand@de.ibm.com>
3296
3297 * reload.c (find_reloads_address): Make return value tri-state.
3298 Return -1 if LEGITIMIZE_RELOAD_ADDRESS succeeded.
3299 (find_reloads): Assume that reloaded addresses match 'o' or
3300 EXTRA_MEMORY_CONSTRAINT constraints only if find_reloads_address
3301 returned 1 (not -1). Omit optional reloads for address operands
3302 only if find_reloads_address returned 1 (not -1).
3303
3304 * config/s390/s390.c (legitimize_reload_address): New function.
3305 * config/s390/s390-protos.h (legitimize_reload_address): Declare.
3306 * config/s390/s390.h (LEGITIMIZE_RELOAD_ADDRESS): Define. Call
3307 legitimize_reload_address.
3308
7f5e6307
RH
33092004-08-22 Richard Hendersion <rth@redhat.com>
3310
3311 * tree.h (SAVE_EXPR_RESOLVED_P): New.
3312 * gimplify.c (gimplify_save_expr): Use it.
3313 * expr.c (expand_expr_real_1): Likewise. Also set DECL_IGNORED_P
3314 on the temporary variable.
3315
efd610a6
AP
33162004-08-22 Andrew Pinski <pinskia@physics.uc.edu>
3317
3318 * fold-const.c (rtl_expr_nonnegative_p): Delete.
3319 * tree.h (rtl_expr_nonnegative_p): Remove.
3320
324a6c95
SB
33212004-08-22 Steven Bosscher <stevenb@suse.de>
3322
3323 * config/i386/ppro.md (ppro_complex_insn): Add missing check
3324 for cpu==pentiumpro.
3325
3326 * combine.c (struct reg_stat): Fix comment typo.
3327
41db8425
JM
33282004-08-22 Joseph S. Myers <jsm@polyomino.org.uk>
3329
3330 * c-tree.h (c_sizeof_nowarn): Remove.
3331
00325bce
JM
33322004-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
3333
3334 * c-decl.c (set_array_declarator_type): Rename to
3335 set_array_declarator_inner.
3336 (build_c_parm, build_attrs_declarator, build_function_declarator):
3337 New functions.
3338 (make_pointer_declarator): Call build_attrs_declarator.
3339 * c-tree.h (set_array_declarator_type): Rename to
3340 set_array_declarator_inner.
3341 (build_c_parm, build_attrs_declarator, build_function_declarator):
3342 New prototypes.
3343 * c-parse.in (after_type_declarator,
3344 parm_declarator_starttypename, parm_declarator_nostarttypename,
3345 notype_declarator, absdcl_maybe_attribute, direct_absdcl1, parm,
3346 firstparm): Use these functions
3347
60919bce
JM
33482004-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
3349
3350 * c-decl.c (build_array_declarator, set_array_declarator_type,
3351 start_decl, grokdeclarator, grokparms): Change boolean parameters
3352 to type bool.
3353 * c-tree.h (build_array_declarator, set_array_declarator_type,
3354 start_decl): Update prototypes.
3355 * c-decl.c, c-parse.in: All callers changed.
3356
bdfd0ed4
MS
33572004-08-21 Mike Stump <mrs@apple.com>
3358
3359 * config/rs6000/darwin.h (SUBTARGET_OPTIONS): Move from here, to...
3360 (darwin_fix_and_continue): Likewise.
3361 (darwin_fix_and_continue_switch): Likewise.
3362 * config/darwin.h (SUBTARGET_OPTIONS): ...here, to fix -mone-byte-bool.
3363 (darwin_fix_and_continue): Likewise.
3364 (darwin_fix_and_continue_switch): Likewise.
3365
35da8b56 33662004-08-21 Danny Smith <dannysmith@users.sourceforge.net>
23d34220
DS
3367
3368 PR c++/16030
3369 * config/i386/winnt/c (gen_stdcall_suffix, gen_fastcall_suffix):
3370 Remove, merging into ...
3371 (gen_stdcall_or_fastcall_suffix): New function, returning tree
3372 rather than const char*, and accepting additional parameter.
3373 Don't add suffix to '*'-prefixed symbols or variadic functions.
3374 (i386_pe_encode_section_info): Adjust for call to new function.
3375 Call change_decl_assembler_name.
3376
828a4fe4
MS
33772004-08-20 Mike Stump <mrs@apple.com>
3378
3379 * config/darwin.c (machopic_indirect_data_reference): Mark
3380 stubs as defined.
3381 * config/386/386.c (darwin_local_data_pic): Add.
3382 (legitimate_constant_p): Reorder so that PLUS handling runs
3383 before darwin_local_data_pic to match the ordering in
3384 legitimate_pic_address_disp_p and so that MINUS runs after
3385 darwin_local_data_pic as otherwise the darwin_local_data_pic
3386 logic can be skipped, which would be very bad.
3387 (legitimate_pic_address_disp_p): Move from from here to
3388 darwin_local_data_pic so it can be reused.
3389
85b776df
AM
33902004-08-21 Alan Modra <amodra@bigpond.net.au>
3391
3392 * config/rs6000/linux64.h (DOT_SYMBOLS): Define.
3393 (CRT_CALL_STATIC_FUNCTION): Define !DOT_SYMBOLS version.
3394 (ASM_DECLARE_FUNCTION_SIZE): Modify for !DOT_SYMBOLS.
3395 (ASM_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Likewise.
3396 (RS6000_ABI_NAME): Define as "linux".
3397 (SUBSUBTARGET_OVERRIDE_OPTIONS): Set dot_symbols.
3398 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Select
3399 ABI_AIX when rs6000_abi_name is "linux" and TARGET_64BIT.
3400 * config/rs6000/rs6000-protos.h (rs6000_output_function_entry): Decl.
3401 * config/rs6000/rs6000.c (dot_symbols): New global var.
3402 (rs6000_output_function_entry): New function, modified for
3403 !DOT_SYMBOLS..
3404 (print_operand <case 'z'>): ..extracted from here.
3405 (rs6000_assemble_visibility): Modify for !DOT_SYMBOLS.
3406 (rs6000_output_function_epilogue): Likewise.
3407 (rs6000_elf_declare_function_name): Likewise.
3408 * config/rs6000/rs6000.h (DOT_SYMBOLS): Define.
3409 (ASM_WEAKEN_DECL, ASM_OUTPUT_DEF_FROM_DECLS): Modify for !DOT_SYMBOLS.
3410 * configure.ac (HAVE_LD_NO_DOT_SYMS): Add new AC_DEFINE.
3411 * configure: Regenerate.
3412 * config.in: Regenerate.
3413
14d3dc34
MM
34142004-08-20 Mark Mitchell <mark@codesourcery.com>
3415
0e544c37
MM
3416 * reload.c (find_reloads_address): Fix thinko in previous change.
3417
14d3dc34
MM
3418 * reload.c (find_reloads_address): Reload the sum of a LO_SUM and
3419 a CONST_INT.
3420
f3b2657c
JJ
34212004-08-20 Jakub Jelinek <jakub@redhat.com>
3422
3423 PR rtl-optimization/17099
3424 * combine.c (force_to_mode): Check if inner_mask has any bits set
3425 outside of GET_MODE (x) instead of op_mode.
3426
d2294baa
MM
34272004-08-20 Mark Mitchell <mark@codesourcery.com>
3428
3429 * config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile
3430 fragment.
3431 * config/arm/bpabi.h (RENAME_LIBRARY_SET): Fix typo.
3432 (SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=3 to the assembler.
3433 * config/arm/symbian.h (SUBTARGET_CPU_DEFAULT): Assume ARMV5
3434 architecture.
3435 (SUBTARGET_ASM_FLOAT_SPEC): Default to -mfpu=vfp for hard-float
3436 configurations.
3437 * config/arm/t-symbian: New file.
3438
753d0efa
AP
34392004-08-20 Andrew Pinski <apinski@apple.com>
3440
3441 * regrename.c (kill_value_regno): ANSIfy.
3442
627b6fe2
DJ
34432004-08-20 Dale Johannesen <dalej@apple.com>
3444
324a6c95 3445 * config/rs6000/rs6000.c (rs6000_rtx_costs): Improve DIV/MOD.
627b6fe2 3446
d64d5e80
DJ
34472004-08-20 Daniel Jacobowitz <dan@debian.org>
3448
3449 * regrename.c (kill_value_one_regno): Renamed from kill_value_regno.
3450 (kill_value_regno): New function, derived from kill_value.
3451 (kill_value): Update.
3452 (copyprop_hardreg_forward_1): Update call to kill_value_regno.
3453
af75a7ea 34542004-08-20 Daniel Berlin <dberlin@dberlin.org>
f676971a 3455
af75a7ea
DB
3456 Fix PR tree-optimization/17111
3457 * tree-ssa-pre.c (create_value_expr_from): Don't change the types
3458 of non-value_handles.
3459 (bitmap_set_contains): All constants are in every set.
3460
0a936b12
NS
34612004-08-20 Nathan Sidwell <nathan@codesourcery.com>
3462
3463 * fold-const.c (round_up, round_down): Use build_int_cst.
3464 Optimize common case.
3465
774acadf
ZW
34662004-08-20 Zack Weinberg <zack@codesourcery.com>
3467 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3468
324a6c95 3469 * config/pa/pa-protos.h (readonly_data, one_only_readonly_data_section,
774acadf
ZW
3470 one_only_data_section): Rename to som_readonly_data_section,
3471 som_one_only_readonly_data_section and som_one_only_data_section.
324a6c95 3472 * config/pa/pa.c (ONE_ONLY_TEXT_SECTION_ASM_OP,
0a936b12
NS
3473 NEW_TEXT_SECTION_ASM_OP, DEFAULT_TEXT_SECTION_ASM_OP): Delete
3474 conditional defines.
774acadf
ZW
3475 (som_text_section_asm_op): Replace ONE_ONLY_TEXT_SECTION_ASM_OP,
3476 NEW_TEXT_SECTION_ASM_OP and DEFAULT_TEXT_SECTION_ASM_OP with actual
3477 string values.
3478 (pa_select_section): Use renamed section functions.
3479 * config/pa/pa.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
324a6c95 3480 SOM_READONLY_DATA_SECTION_FUNCTION,
774acadf 3481 SOM_ONE_ONLY_READONLY_DATA_SECTION_FUNCTION,
324a6c95
SB
3482 SOM_ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION):
3483 Define here ...
3484 * config/pa/som.h: ... not here.
3485 (DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP,
774acadf
ZW
3486 ONE_ONLY_TEXT_SECTION_ASM_OP, READONLY_DATA_ASM_OP,
3487 ONE_ONLY_READONLY_DATA_SECTION_ASM_OP,
324a6c95
SB
3488 ONE_ONLY_DATA_SECTION_ASM_OP): Delete.
3489 (READONLY_DATA_SECTION): Use som_readonly_data_section.
774acadf 3490
3224bead
NS
34912004-08-20 Nathan Sidwell <nathan@codesourcery.com>
3492
fabead06
NS
3493 * fold-const.c (int_const_binop): Don't generate non-overflowing
3494 size-types specially.
3495 (fold_convert_const): Likewise.
3496
3224bead
NS
3497 * stor-layout.c (initialize_sizetypes): Set SIZETYPE earlier,
3498 clear cache on copied sizetype.
3499
fb38008e
BE
35002004-08-20 Ben Elliston <bje@au.ibm.com>
3501
3502 * configure.ac: Don't escape apostrophe in --enable-coverage help.
3503 * configure: Regenerate.
3504
a9024779
DS
35052004-08-20 Danny Smith <dannysmith@users.sourceforge.net>
3506
3507 PR 5620
3508 * gcc.c (struct stat input_stat): Don't define if
3509 HOST_LACKS_INODE_NUMBERS
3510 (do_spec_1): If HOST_LACKS_INODE_NUMBERS, use lrealpath rather
3511 than stat to determine if temp file is same as input file.
3512 * doc/hostconfig.texi: Document HOST_LACKS_INODE_NUMBERS.
3513 * config/i386/xm-mingw32.h: Define HOST_LACKS_INODE_NUMBERS
3514
82563d35
RS
35152004-08-20 Richard Sandiford <rsandifo@redhat.com>
3516
3517 * configure.ac (mips*-*-*): Print an error if not using GAS.
3518 * configure: Regenerated.
3519 * doc/install.texi: Remove irix5 bullet from --with-gnu-as. Remove
3520 comments about buggy MIPSpro assemblers.
3521 * config.gcc (mips-sgi-irix[56]*): Combine stanzas. Include elfos.h
3522 before mips.h and iris.h after it. Use t-iris and t-slibgcc-irix.
3523 Use iris5.h only for IRIX 5 configs. Use iris6.h and t-iris6 for
3524 IRIX 6 configs. Define IRIX_USING_GNU_LD if using GNU ld.
3525 * config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES)
3526 (DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC)
3527 (NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE)
3528 (TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h.
3529 (WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor
3530 of more general IRIX 6 definitions.
3531 (OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL)
3532 (HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions.
3533 (TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION)
3534 (LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC)
3535 (ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
3536 (PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER)
3537 (LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL)
3538 (TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS)
3539 (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS)
3540 (SUBTARGET_EXTRA_SPECS): Delete definitions or undefs.
3541 (LINK_SPEC): Move most of definition to iris.h.
3542 (SUBTARGET_LINK_SPEC): New macro.
3543 (IRIX_STARTFILE_SPEC): Fold into...
3544 (STARTFILE_SPEC): ...here.
3545 (IRIX_ENDFILE_SPEC): Fold into...
3546 (ENDFILE_SPEC): ...here.
3547 * config/mips/iris6.h (TARGET_IRIX5): Remove override.
3548 (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE)
3549 (DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP)
3550 (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME)
3551 (ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h.
3552 (TARGET_OS_CPP_BUILTINS): Likewise. Guard IRIX6-specific bits.
3553 (DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL)
3554 (SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
3555 (PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX)
3556 (ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE)
3557 (FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY)
3558 (POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC)
3559 (SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC)
3560 (BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*)
3561 (EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP)
3562 (DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME)
3563 (ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL)
3564 (ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs.
3565 (TARGET_IRIX6): Define to 1.
3566 (DRIVER_SELF_SPECS): Define.
3567 (DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS.
3568 (SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS.
3569 (SUBTARGET_LINK_SPEC): New macro.
3570 (IRIX_STARTFILE_SPEC): Fold into...
3571 (STARTFILE_SPEC): ...here. Remove !mabi=* case.
3572 (SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros.
3573 (LIB_SPEC, LIBGCC_SPEC): Use them.
3574 (LIB_SPEC): Remove !mabi=* case.
3575 (IRIX_ENDFILE_SPEC): Fold into...
3576 (ENDFILE_SPEC): ...here. Remove !mabi=* case.
3577 * config/mips/mips-protos.h (irix_output_external_libcall): Delete.
3578 * config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete.
3579 (TARGET_IRIX6): New macro.
3580 (ASM_ABI_DEFAULT_SPEC): Remove !ELF definition.
3581 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER)
3582 (LABEL_AFTER_LOC): Delete.
3583 * config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END)
3584 (TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions.
3585 (mips_build_builtin_va_list): Check TARGET_IRIX6.
3586 (override_options): Remove TARGET_SGI_O32_AS-related code.
3587 (irix_output_external_libcall): Make static.
3588 (mips_output_filename): Avoid use of SET_FILE_NUMBER and
3589 LABEL_AFTER_LOC.
3590 (mips_file_start): Tidy guard for ABI sections. Remove use of
3591 ABICALLS_ASM_OP; use .abicalls instead.
3592 (mips_output_aligned_decl_common, mips_declare_object_name)
3593 (mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS.
3594 (mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting
3595 .globl foo .text directives.
3596 (irix_asm_named_section_1, irix_asm_named_section)
3597 (irix_section_align_entry, irix_section_align_htab)
3598 (irix_orig_asm_out_file, irix_section_align_entry_eq)
3599 (irix_section_align_entry_hash, irix_asm_output_align)
3600 (irix_file_start, irix_section_align_1, copy_file_data)
3601 (irix_file_end, irix_section_type_flags): Delete.
3602 * config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section.
3603 Use standard section syntax. Remove protective "jr $31".
3604 (__gcc_fini): Likewise .gcc_fini.
3605 * config/mips/irix-crtn.asm: Adjust sections accordingly.
3606 * config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from
3607 iris5gas.h.
3608 * config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved
3609 from t-irix-gld.
3610 (EXTRA_MULTILIB_PARTS): Define.
3611 * config/mips/t-iris6: Remove bogus comment.
3612 (EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete.
3613 * config/mips/iris5gas.h, config/mips/iris5gld.h,
3614 config/mips/iris6gas.h, config/mips/iris6gld.h,
3615 config/mips/t-iris5-as, config/mips/t-iris5-gas
3616 config/mips/t-irix-gld: Delete.
3617 * config/mips/iris.h: New file.
3618 * config/mips/t-slibgcc-irix: Renamed from t-iris5-6.
3619
c4cdb8e1
RE
36202004-08-20 Richard Earnshaw <rearnsha@arm.com>
3621
3622 * postreload.c (reload_cse_move2add): Allow any condjump, but check
3623 that the implicit set isn't clobbered in the jump insn.
3624
d55ab31d
MM
36252004-08-19 Mark Mitchell <mark@codesourcery.com>
3626
3627 * defaults.h (TARGET_LIBGCC_LIBFUNCS): Remove.
3628 * optabs.c (init_optabs): Don't check it.
3629 * config/arm/bpabi.h (TARGET_LIBGCC_LIBFUNCS): Do not define.
3630 * doc/tm.texi (TARGET_LIBGCC_FUNCS): Remove.
3631
d75f90f1
AK
36322004-08-18 Andreas Krebbel <krebbel1@de.ibm.com>
3633
3634 * config/s390/s390.md (s390_warn_framesize_string)
3635 (s390_warn_dynamic_string, s390_stack_size_string)
3636 (s390_stack_guard_string): New global string variables.
3637 (s390_warn_framesize, s390_warn_dynamicstack_p, s390_stack_size)
3638 (s390_stack_guard): New global variables.
3639 (override_options): Added checks for the new options.
3640 (s390_emit_prologue): Emit stack check and trap code and perform
3641 compile time stack size checking.
f676971a
EC
3642
3643 * config/s390/s390.h (TARGET_OPTIONS): Added new options
d75f90f1
AK
3644 "warn-framesize", "warn-dynamicstack", "stack-size" and
3645 "stack-guard".
3646
3647 * doc/invoke.texi: Added documentation for the new options.
3648
ca29916b
UW
36492004-08-19 Ulrich Weigand <uweigand@de.ibm.com>
3650
3651 * unwind-dw2-fde.c (get_cie_encoding): Cast argument to strlen
3652 to eliminate warning.
3653 (linear_search_fdes): Declare p as unsigned.
3654 (binary_search_mixed_encoding_fdes): Likewise.
3655 * unwind-dw2.c (get_cie_encoding): Cast argument to strlen
3656 to eliminate warning.
3657 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Add missing
3658 type cast.
3659
e1d5ee28
UW
36602004-08-19 Ulrich Weigand <uweigand@de.ibm.com>
3661
3662 * config/s390/s390-protos.h (preferred_la_operand_p): Adapt prototype.
3663 * config/s390/s390.c (preferred_la_operand_p): Accept two operands
3664 instead of one. Check for strictly legitimate address.
3665 * config/s390/s390.md ("*la_31"/"*la_64" peepholes): Adapt call
3666 to preferred_la_operand_p, do not call gen_rtx_PLUS in predicate.
3667
19114537
EC
36682004-08-19 Eric Christopher <echristo@redhat.com>
3669
3670 * langhooks-def.h (LANG_HOOKS_UNSAVE_EXPR_NOW): Remove.
3671 * langhooks.h (unsave_expr_now): Ditto.
3672 * tree.h (unsave_expr_1): Remove prototype.
3673 (lhd_unsave_expr_now): Rename to unsave_expr_now.
3674 * tree-inline.c (unsave_expr_1): Move here
3675 from tree.c. Make static.
3676 (unsave_expr_now): Rename from lhd_unsave_expr_now.
3677 * tree-sra.c: Fix up for rename.
3678 * tree-ssa-copy.c: Ditto.
3679 * tree-eh.c: Ditto.
3680 * tree.c (unsave_expr_1): Move to tree-inline.c.
3681
d5bfecf2
CT
36822004-08-19 Caroline Tice <ctice@apple.com>
3683
324a6c95
SB
3684 * config/i386/cygming.h (switch_to_section): Fix typo (change
3685 in_unlikely_text_section to in_unlikely_executed_text).
19114537 3686
58152808
DB
36872004-08-19 Daniel Berlin <dberlin@dberlin.org>
3688
3689 * vec.h (VEC_lower_bound): New macro.
19114537 3690
ae043003
RS
36912004-08-19 Richard Sandiford <rsandifo@redhat.com>
3692
3693 PR target/16446
3694 * config/mips/mips.c (struct mips_arg_info): Delete num_bytes.
3695 (mips_arg_info): Update accordingly. Remove common treatment of fpr_p;
3696 treat each ABI separately. Deal with n32/n64 complex float arguments.
3697 (function_arg): Add associated complex handling here.
3698
50ed9cea
RH
36992004-08-19 Richard Henderson <rth@redhat.com>
3700
3701 * config/arm/arm.c (arm_gen_load_multiple): Use
3702 adjust_automodify_address. Take base memory and offset instead
3703 of unchanging/struct/scalar bits.
3704 (arm_gen_store_multiple): Likewise.
3705 (arm_gen_movmemqi): Use adjust_automodify_address.
3706 * config/arm/arm-protos.h: Update decls.
3707 * config/arm/arm.md (load_multiple): Update arm_gen_load_multiple call.
3708 (store_multiple): Similarly.
3709
74ae207d
R
37102004-08-19 J"orn Rennecke <joern.rennecke@superh.com>
3711
3712 * regclass.c (globalize_reg): Update call_really_used_regs.
3713
89b0433e
NS
37142004-08-19 Nathan Sidwell <nathan@codesourcery.com>
3715
31ebd7c8
NS
3716 * doc/invoke.texi (integer-share-limit): Document.
3717
89b0433e
NS
3718 * tree.h (TYPE_CACHED_VALUES_P): New.
3719 (TYPE_CACHED_VALUES): New.
3720 (TYPE_ORIG_SIZE_TYPE): Adjust.
3721 * tree.def (INTEGER_CST): Update documentation.
3722 * tree.c: Inlcude params.h.
3723 (build_int_cst): Cache small values.
3724 (build_type_copy): Do not copy the value cache.
3725 * c-common.c (c_common_nodes_and_builtins): Add comment, remove
3726 unneeded zeroing.
3727 * c-typeck.c (build_c_cast): Add comment about OVERFLOW setting.
3728 * expmed.c (const_mult_add_overflow_p): Clear type copy's value
3729 cache.
3730 * fold-const.c (force_fit_type): Copy value when setting
3731 overflows.
3732 (int_const_binop): Likewise.
3733 * stor-layout.c: Include params.h
3734 (set_sizetype): Create values cache.
3735 (fixup_unsigned_type): Set UNSIGNED_P before caching any values.
3736 * params.def (PARAM_INTEGER_SHARE_LIMIT): New.
3737 * params.h (INTEGER_SHARE_LIMIT): New.
3738 * Makefile.in (tree.o, stor-layout.o): Depend on PARAMS_H.
19114537 3739
c2504783
PB
37402004-08-19 Paolo Bonzini <bonzini@gnu.org>
3741
3742 * gimplify.c (gimplify_minimax_expr): Remove.
3743 (gimplify_expr) <MIN_EXPR, MAX_EXPR>: Remove special handling.
3744
7a8554ce
DN
37452004-08-19 Dorit Naishlos <dorit@il.ibm.com>
3746
19114537 3747 * tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace
7a8554ce
DN
3748 STACK_BOUDARY with PREFERRED_STACK_BOUNDARY.
3749
1905f33d
MM
37502004-08-19 Mark Mitchell <mark@codesourcery.com>
3751
3752 * bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP.
3753
f1732751
AP
37542004-08-18 Andrew Pinski <apinski@apple.com>
3755
3756 * varasm.c (ecode_reg_name): Do nothing if the asmspec is empty.
3757
8c78a388
MM
37582004-08-18 Mark Mitchell <mark@codesourcery.com>
3759
3760 * config/arm/bpabi.c (__aeabi_ul2d): Give it default visibility.
3761 (__aeabi_ul2f): Likewise.
3762
7eda7cda
RH
37632004-08-18 Richard Henderson <rth@redhat.com>
3764
3765 * config/xtensa/xtensa.c (xtensa_expand_block_move): Expand block
3766 move to rtl completely.
3767 (struct meminsnbuf, xtensa_emit_block_move): Remove.
3768 (xtensa_find_mode_for_size): Remove.
3769 * config/xtensa/xtensa-protos.h (xtensa_emit_block_move): Remove.
3770 * config/xtensa/xtensa.md (movmemsi_internal): Remove.
3771
88042663
RH
37722004-08-18 Richard Henderson <rth@redhat.com>
3773
3774 * config/mcore/mcore.c (mode_from_align): Remove DImode.
3775 (block_move_sequence): Rewrite to use adjust_address.
3776 (mcore_expand_block_move): Cleanup logic. Accept only operands.
3777 Return boolean indicating success/failure.
3778 * config/mcore/mcore-protos.h (mcore_expand_block_move): Update decl.
3779 * config/mcore/mcore.md (movmemsi): Update to match.
3780
699c914a
MS
37812004-08-18 Mike Stump <mrs@apple.com>
3782
3783 * doc/invoke.texi (-mfix-and-continue): Add support for
3784 fast turn around debugging.
3785 (-ffix-and-continue): Likewise.
3786 (-mindirect-data): Likewise.
3787 (-findirect-data): Likewise.
3788 * config/darwin.c (TARGET_FIX_AND_CONTINUE): Likewise.
3789 (indirect_data): Likewise.
3790 (machopic_data_defined_p): Likewise.
3791 (machopic_output_indirection): Likewise.
3792 (darwin_encode_section_info): Likewise.
3793 (darwin_fix_and_continue): Likewise.
3794 (darwin_fix_and_continue_switch): Likewise.
3795 * config/darwin.h (MACHO_SYMBOL_STATIC): Likewise.
3796 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
3797 (SUBTARGET_OPTION_TRANSLATE_TABLE): Likewise.
3798 (SUBTARGET_OPTIONS): Likewise.
3799 (darwin_fix_and_continue): Likewise.
3800 (darwin_fix_and_continue_switch): Likewise.
3801 (TARGET_FIX_AND_CONTINUE): Likewise.
3802 * config/rs6000.c (rs6000_emit_prologue): Likewise.
3803
38042004-08-19 Steven Bosscher <stevenb@suse.de>
bd454efd
SB
3805
3806 * basic-block.h (struct edge_def): Remove crossing_edge.
3807 (EDGE_CROSSING): New define.
3808 (EDGE_ALL_FLAGS): Update.
3809 * bb-reorder.c (find_traces_1_round, better_edge_p,
3810 find_rarely_executed_basic_blocks_and_cr, fix_up_fall_thru_edges,
3811 find_jump_block, fix_crossing_conditional_branches,
3812 fix_crossing_unconditional_branches, add_reg_crossing_jump_notes):
3813 Replace all occurences of crossing_edge with an edge flag check
3814 or set/reset.
3815 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
3816 try_crossjump_bb): Likewise.
3817 * cfglayout.c (fixup_reorder_chain): Likewise.
3818 * cfgrtl.c (force_nonfallthru_and_redirect,
3819 commit_one_edge_insertion): Likewise.
3820
3821 * Makefile.in (cfganal.o): Depend on TIMEVAR_H.
3822 * tree-flow.h (compute_dominance_frontiers): Move prototype...
3823 * basic-block.h: ...here.
3824 * tree-cfg.c (compute_dominance_frontiers_1,
3825 compute_dominance_frontiers): Move from here...
3826 * cfganal.c: ...to here. Include timevar.h.
3827
9ff6992e
JW
38282004-08-18 James E Wilson <wilson@specifixinc.com>
3829
c831f54b 3830 * config/mips/mips.h (ASM_SPEC): In comment, change -meabi= to -mabi=.
a1627d80
JW
3831 * config/mips/sb1.md (ir_sb1_divsf_1pipe): Renamed from ...1pipes.
3832
9ff6992e
JW
3833 * config/mips/mips.md (type): Add frdiv.
3834 (divsf3+1, divsf3+2): Change type to frdiv.
3835 * config/mips/sb1.md (ir_sb1_recipsf_2pipes, ir_sb1_recipsf_1pipe,
3836 ir_sb1_recipdf_2pipes, ir_sb1_recipdf_1pipe): New.
19114537 3837
9ff6992e
JW
3838 * config/mips/3000.md (r3k_fdiv_single, r3k_fdiv_double): Add frdiv.
3839 * config/mips/4300.md (r4300_fdiv_single, r4300_fdiv_double): Likewise.
3840 * config/mips/4600.md (r4600_fdiv_single, f4600_fdiv_double): Likewise.
3841 * config/mips/5000.md (r5k_fdiv_single): Likewise.
3842 * config/mips/5400.md (ir_vr54_fdiv_sf, ir_vr54_fdiv_df): Likewise.
3843 * config/mips/5500.md (ir_vr55_fdiv_sf, ir_vr55_fdiv_df): Likewise.
3844 * config/mips/6000.md (r6k_fdiv_single, r6k_fdiv_double): Likewise.
3845 * config/mips/7000.md (rm7_fp_divsqrt_df, rm7_fp_divsqrt_sf): Likewise.
3846 * config/mips/9000.md (rm8k_fdivs, rm9k_fdivd): Likewise.
3847 * config/mips/generic.md (generic_fdiv_single, generic_fdiv_double):
3848 Likewise.
3849 * config/mips/sr71k.md (ir_sr70_fdiv_sf, ir_sr70_fdiv_df): Likewise.
3850
c16eb900
RB
38512004-08-18 Robert Bowdidge <bowdidge@apple.com>
3852
3853 * config/rs6000/x-darwin: Remove XCFLAGS -mdynamic-no-pic to
324a6c95 3854 get regression tester working again.
c16eb900 3855
826c9564
ZW
38562004-08-18 Zack Weinberg <zack@codesourcery.com>
3857
3858 * insn-notes.def, reg-notes.def: New files.
3859 * rtl.h: Use them to define enum insn_note and enum reg_note.
3860 * rtl.c: Use them to define note_insn_name and reg_note_name.
4b179e92 3861 * Makefile.in (RTL_BASE_H): Update.
826c9564
ZW
3862
3863 * modulo-sched.c, sched-rgn.c, final.c: NOTE_DISABLE_SCHED_OF_BLOCK
3864 renamed to NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
3865
21b5653c
RE
38662004-08-18 Richard Earnshaw <rearnsha@arm.com>
3867
3868 * arm.c (arm_size_rtx_costs): New function.
3869 (arm_override_options): Use it if optimizing for space.
3870
542a8afa
RH
38712004-08-18 Richard Henderson <rth@redhat.com>
3872
3873 * emit-rtl.c (gen_const_mem): New.
3874 * rtl.h (gen_const_mem): Declare.
3875 * expr.c (do_tablejump): Use it.
3876 * varasm.c (force_const_mem): Likewise.
3877 * config/darwin.c (machopic_indirect_data_reference): Likewise.
3878 (machopic_legitimize_pic_address): Likewise.
3879 * config/arm/arm.c (legitimize_pic_address): Likewise.
3880 * config/i386/i386.c (legitimize_pic_address): Likewise.
3881 (legitimize_tls_address): Likewise.
3882 * config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
3883 * config/ia64/ia64.md (load_fptr): Likewise.
3884 * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
3885 * config/pa/pa.c (legitimize_pic_address): Likewise.
3886 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
3887 (rs6000_emit_move): Likewise.
3888 * config/s390/s390.c (legitimize_pic_address): Likewise.
3889 (legitimize_tls_address): Likewise.
3890 * config/s390/s390.md (casesi): Likewise.
3891 * config/sh/sh.c (sh_reorg): Likewise.
3892 * config/sparc/sparc.c (legitimize_pic_address): Likewise.
3893 * config/v850/v850.md (casesi): Likewise.
3894
3895 * config/darwin.c (machopic_indirect_call_target): Set MEM_NOTRAP_P.
3896 * config/sh/sh.c (prepare_move_operands): Remove incorrect
3897 use of MEM_READONLY_P.
3898
0516f6fe
SB
38992004-08-18 Steven Bosscher <stevenb@suse.de>
3900
3901 * Makefile.in (OBJS-common): Add postreload-gcse.c.
3902 Add new postreload-gcse.o.
3903 * cse.c (SAFE_HASH): Define as wrapper around safe_hash.
3904 (lookup_as_function, insert, rehash_using_reg, use_related_value,
3905 equiv_constant): Use SAFE_HASH instead of safe_hash.
3906 (exp_equiv_p): Export. Add for_gcse argument when comparing
3907 for GCSE.
3908 (lookup, lookup_for_remove, merge_equiv_classes, find_best_addr,
3909 find_comparison_args, fold_rtx, cse_insn): Update callers.
3910 (hash_rtx): New function derived from old canon_hash and bits
3911 from gcse.c hash_expr_1.
3912 (canon_hash_string): Rename to hash_rtx_string.
3913 (canon_hash, safe_hash): Make static inline. Call hash_rtx.
3914 * cselib.c (hash_rtx): Rename to cselib_hash_rtx.
3915 (cselib_lookup): Update this caller.
3916 * gcse.c (modify_mem_list_set, canon_modify_mem_list_set):
3917 Make static.
3918 (hash_expr): Call hash_rtx.
3919 (ldst_entry): Likewise.
3920 (expr_equiv_p): Call exp_equiv_p.
3921 (struct unoccr, hash_expr_1, hash_string_1, lookup_expr,
3922 reg_used_on_edge, reg_set_between_after_reload_p,
3923 reg_used_between_after_reload_p, get_avail_load_store_reg,
3924 is_jump_table_basic_block, bb_has_well_behaved_predecessors,
3925 get_bb_avail_insn, hash_scan_set_after_reload,
3926 compute_hash_table_after_reload,
3927 eliminate_partially_redundant_loads, gcse_after_reload,
3928 get_bb_avail_insn, gcse_after_reload_main): Remove.
3929 * postreload-gcse.c: New file, reincarnating most of the above.
3930 * rtl.h (exp_equiv_p, hash_rtx): New prototypes.
3931 (gcse_after_reload_main): Update prototype.
3932 * timevar.def (TV_GCSE_AFTER_RELOAD): New timevar.
3933 * passes.c (rest_of_handle_gcse2): Use it.
3934
95013377
DN
39352004-08-18 Diego Novillo <dnovillo@redhat.com>
3936
3937 * tree-ssa-loop.c (pass_loop_init): Add TODO_dump_func.
3938 (pass_loop_done): Likewise.
3939
ac9e2cff
AP
39402004-08-18 Andrew Pinski <apinski@apple.com>
3941
826c9564 3942 * config/rs6000/darwin.md: Delete the altivec patterns which are
ac9e2cff
AP
3943 handled differently now.
3944 (load_macho_picbase_di): Make sure that is only happens for TARGET_64BIT
3945 (macho_correct_pic_di): Likewise.
3946 (call_indirect_nonlocal_darwin64): Likewise.
3947 Delete the save world/saveFP/saveVec patterns.
826c9564 3948
ac9e2cff 3949 Revert the reversion of: 2004-08-16 Stan Shebs <shebs@apple.com>
826c9564
ZW
3950 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
3951 * config/rs6000/rs6000.md: Include darwin.md.
3952 (builtin_setjmp_receiver): Add DImode case.
3953 * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
3954 Darwin bits.
ac9e2cff 3955
92b9a671
MA
39562004-08-18 Matt Austern <austern@apple.com>
3957
3958 Dead code stripping
3959 * darwin.h (EH_FRAME_SECTION_ATTR): Mark so it doesn't get stripped.
3960 * darwin.c (darwin_file_end): Mark file as potentially strippable.
826c9564 3961
4766261d
RH
39622004-08-18 Richard Henderson <rth@redhat.com>
3963
3964 * alias.c (readonly_fields_p): Remove.
3965 (objects_must_conflict_p): Don't call it.
3966 * tree.h (readonly_fields_p): Remove.
3967 * langhooks.h (struct lang_hooks): Remove honor_readonly.
3968 * langhooks-def.h (LANG_HOOKS_HONOR_READONLY): Remove.
3969
50dc9a88
DN
39702004-08-18 Diego Novillo <dnovillo@redhat.com>
3971
3972 * tree-dfa.c (add_referenced_var): Only global variables are
3973 call-clobbered.
3974 * tree-flow.h (struct ptr_info_def): Add field pt_global_mem.
3975 * tree-ssa-alias.c (compute_points_to_and_addr_escape): Mark
3976 all pointers dereferenced if the statement dereferences them.
3977 (create_name_tags): Do not create memory tags for pointers
3978 that have PT_ANYTHING set.
3979 Also check if PT_VARS is not empty before creating a name tag.
3980 (compute_flow_sensitive_aliasing): Don't mark call-clobbered
3981 variables that share the same alias set with a pointer that
3982 may point anywhere.
3983 (add_may_alias): Add FIXME comment to remove clobbering
3984 aliased variables and tags.
3985 (replace_may_alias): Likewise.
3986 (set_pt_anything): Do not clear PT_VARS nor IS_DEREFERENCED.
3987 (merge_pointed_to_info): If the original variable has not
3988 points-to information, call set_pt_anything.
3989 (add_pointed_to_var): Do not prevent adding a pointed-to
3990 variable if the pointers is PT_ANYTHING.
3991 If the variable is a global, set PT_GLOBAL_MEM.
3992 (collect_points_to_info_r): Don't assume that PLUS_EXPRs of
3993 pointer type only come in PTR+OFFSET flavours.
3994 Always call merge_pointed_to_info on PHI arguments that are
3995 SSA_NAMEs.
3996 (get_nmt_for): Mark call-clobbered tags whose pointer points
3997 to global memory.
3998 * tree-ssa-operands.c (opf_kill_def, opf_no_vops): Switch
3999 values.
4000 (get_indirect_ref_operands): Always clear OPF_KILL_DEF from
4001 FLAGS.
4002 (add_stmt_operand): Abort if the caller tried to add a killing
4003 definition for a memory tag.
4004 * tree-ssa.c (verify_flow_sensitive_alias_info): Remove
4005 unnecessary checks.
4006
62164eb4
R
40072004-08-18 J"orn Rennecke <joern.rennecke@superh.com>
4008
4009 * sh.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers
4010 from call_used_regs. Update call_really_used_regs.
4011 (CALL_REALLY_USED_REGISTERS): Define.
4012 * sh.c (output_stack_adjust, shmedia_target_regs_stack_space):
4013 Replace call_used_regs with call_really_used_regs.
4014 (calc_live_regs, sh_media_register_for_return): Likewise.
4015 (sh5_schedule_saves, sh_expand_prologue, reg_unused_after): Likewise.
4016 * sh.md (return_media): Likewise.
4017
f9b0ac3b
AP
40182004-08-18 Andrew Pinski <apinski@apple.com>
4019
826c9564 4020 * config/darwin.c (machopic_legitimize_pic_address): Only set
ac9e2cff 4021 MEM_READONLY_P in the non TARGET_TOC case.
f9b0ac3b 4022
f822d252
ZW
40232004-08-18 Zack Weinberg <zack@codesourcery.com>
4024
4025 * rtl.def (NIL): Delete.
4026 * read-rtl.c (read_rtx): Handle (nil) like (define_constants).
4027 Tighten the syntax a little.
4028
4029 * cfgloop.h, combine.c, cse.c, loop-iv.c, postreload.c, reload.c
4030 * config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h
4031 * config/arm/arm.h, config/frv/frv.h, config/i386/i386.c
4032 * config/i386/predicates.md, config/m32r/m32r.h
4033 * config/m68hc11/m68hc11.c, config/mcore/mcore.h, config/mips/mips.c
4034 * config/mmix/mmix.c, config/pa/pa.h, config/sh/sh.h
4035 * config/sparc/sparc.h, doc/tm.texi:
4036 Replace all occurrences of NIL with UNKNOWN.
4037
6aaf3dde
ZW
40382004-08-18 Zack Weinberg <zack@codesourcery.com>
4039
4040 * dojump.c (do_jump <unordered_bcc>): Do not recursively call
4041 self with a TRUTH_ORIF_EXPR; generate the appropriate jump
4042 sequence inline. Move drop_through_label code into this
4043 block, being the only place it is used. Adjust comments.
4044
d62294f5
FJ
40452004-08-18 Fariborz Jahanian <fjahanian@apple.com>
4046
6aaf3dde
ZW
4047 * config/rs6000/altivec.md: Add new patterns for calls to
4048 save_world/rest_world functions.
4049
4050 * config/rs6000/rs6000-protos.h: (save_world_operation,
4051 restore_world_operation) new declarations.
4052
4053 * config/rs6000/rs6000.c: (struct rs6000_stack) new world_save_p
4054 field added.
4055 (rs6000_stack_info): Set world_save_p field.
4056 (save_world_operation): New function.
4057 (restore_world_operation): New function.
4058 (compute_save_world_info): New function.
4059 (rs6000_stack_info): Call compute_save_world_info.
4060 (rs6000_emit_prologue): Check for world_save_p and generate
4061 pattern to call save_world for saving all non-volatile and
4062 special registers.
4063 (rs6000_emit_epilogue): Check for world_save_p and generate
4064 pattern to call rest_world to restore saved registers.
4065
4066 config/rs6000/rs6000.h: macros FIRST_SAVED_ALTIVEC_REGNO,
4067 FIRST_SAVED_FP_REGNO, FIRST_SAVED_GP_REGNO defined.
4068 (rs6000_reg_names): New entries added for save_world_operation and
4069 restore_world_operation.
d62294f5 4070
790ac0e1
CT
40712004-08-18 Caroline Tice <ctice@apple.com>
4072
6aaf3dde 4073 * Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS) Add
790ac0e1
CT
4074 "-freorder-blocks-and-partition" to the flags used in second
4075 stage of profiledbootstrap.
4076 * bb-reorder.c (push_to_next_round_p): Add new variable,
4077 next_round_is_last; set and use variable to make sure, when
4078 partitioning, that the last trace construction round consists
4079 of all (and only) cold basic blocks.
4080 (rotate_loop): Don't copy blocks that end in a section
4081 crossing jump.
4082 (copy_bb): Correctly initialize "partition" of duplicated bb.
4083 (add_unlikely_executed_notes): Add a comment.
4084 (find_rarely_executed_basic_blocks_and_crossing_edges): Modify
4085 to make sure, if function contains hot blocks, that the
4086 successors of ENTRY_BLOCK_PTR are hot; also, only look for
4087 crossing edges if the architecture supports named sections.
4088 (mark_bb_for_unlikely_executed_section): Modify to always
4089 insert the NOTE_INSN_UNLIKELY_EXECUTED_CODE immediately after
4090 the basic block note insn.
4091 (fix_crossing_unconditional_branches): Remove extra space.
4092 (fix_edges_for_rarely_executed_code): Modify to only do
4093 partitioning work if the architecture supports named sections.
4094 (reorder_basic_blocks): Modify to only add
4095 NOTE_INSN_UNLIKELY_EXECUTED_CODE notes if the architecture
4096 supports named sections.
4097 * c-common.c (handle_section_attribute): Initialize new global
4098 variable, user_defined_section_attribute, to true if user has
4099 specified one.
4100 * cfgcleanup.c (try_forward_edges): Modify to not attempt to
4101 forward edges that cross section boundaries.
4102 * cfglayout.c (fixup_reorder_chain): Modify to only fix up
4103 partitioning information if the architecture supports named
4104 sections.
4105 * cfgrtl.c (target.h): Add statement to include this.
4106 (rtl_split_block): Make sure newly created bb gets correct
4107 partition.
4108 (try_redirect_by_replacing_jump): Make sure redirection isn't
4109 attempting to cross section boundaries.
4110 (force_nonfallthru_and_redirect): Only do partition fix up if
4111 architecture supports named sections.
4112 (rtl_split_edge): Make sure newly created bb ends up in
4113 correct partition.
4114 (commit_one_edge_insertion): Remove code that incorrectly
4115 updated basic block partition; Make sure partition fix up only
4116 happens if architecture supports named sections and it's not
4117 already done.
4118 (rtl_verify_flow_info_1): Fix if-condition on test/error
4119 condition that fallthru edges are not allowed to cross section
4120 boundaries.
4121 * defaults.h (NORMAL_TEXT_SECTION_NAME): Remove this.
4122 * final.c (final_scan_insn): Remove redundant test from if-statement;
4123 change calls to text_section into calls to function_section; add code
4124 to only to partitioning fix up if architecture supports named
4125 sections.
4126 * ifcvt.c (find_if_case_1): Make sure newly created bb has correct
4127 partition.
4128 (if_convert): Add targetm.have_named_sections to test.
4129 * output.h (unlikely_section_label): Extern declaration for new global
4130 variable.
4131 (unlikely_text_section_name): Likewise.
4132 * opts.c (decode_options): If both partitioning and DWARF debugging
4133 are turned on, issue a warning that this doesn't work, and change
4134 partitiong to basic block reordering (without hot/cold partitions).
6aaf3dde 4135 * passes.c (rest_of_handle_final): Re-set new global variable,
790ac0e1
CT
4136 user_defined_section_attribute, to false.
4137 (rest_of_compilation): Change options for calling partitioning
4138 function: Don't call if the user defined the section attribute, and
4139 don't call if DECL_ONE_ONLY is true for the current function.
4140 * predict.c (choose_function_section): Return immediately if we
4141 are doing hot/cold partitioning (i.e. let the basic block partitioning
4142 determine where the function belongs).
4143 * reg-stack.c (emit_swap_insn): Add condition to step over
4144 NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
4145 * toplev.c (user_defined_section_attribute): New global variable.
89b0433e
NS
4146 * toplev.h (user_defined_section_attribute): Extern declaration
4147 for new global variable.
790ac0e1
CT
4148 * varasm.c (unlikely_section_label): New global variable.
4149 (unlikely_text_section_name): New global variable.
89b0433e
NS
4150 (unlikely_text_section): Add code to initialize
4151 unlikely_text_section_name if necessary; modify to use
4152 unlikely_text_section_name and unlikely_section_label; also to use
4153 named_section properly.
4154 (in_unlikely_text_section): Modify to work correctly with
4155 named_section and to use unlikely_text_section_name.
790ac0e1
CT
4156 (named_section): Add code to work properly with cold section.
4157 (function_section): Clean up if-statement.
89b0433e
NS
4158 * config/darwin.c (darwin_asm_named_section): Return to original
4159 code, removing use of SECTION_FORMAT_STRING.
6aaf3dde 4160 * config/arm/pe.h (switch_to_section): Add case for
790ac0e1
CT
4161 in_unlikely_executed_text to switch statement.
4162 * config/i386/cygming.h (switch_to_section): Likewise.
4163 * config/i386/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
4164 (SECTION_FORMAT_STRING): Likewise.
4165 * config/mcore/mcore.h (switch_to_section): Likewise.
4166 * config/rs6000/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
4167 (SECTION_FORMAT_STRING): Remove.
4168
3a4416fb
RS
41692004-08-18 Roger Sayle <roger@eyesopen.com>
4170
4171 * config/i386/i386.h (FIXED_REGISTERS): Update encoding to be
4172 -ffixed-reg safe, by preserving the meanings of zero and one.
4173 (CALL_USED_REGISTERS): Likewise.
4174 (CONDITIONAL_REGISTER_USAGE): Update to process new encodings.
4175
03904fb3
KK
41762004-08-18 Kaz Kojima <kkojima@gcc.gnu.org>
4177
4178 * config/sh/sh.c (split_branches): Check the result of
4179 next_active_insn.
4180 (sh_output_mi_thunk): Call init_flow if basic_block_info is null.
4181 Call rtl_register_cfg_hooks.
4182
389fdba0
RH
41832004-08-18 Richard Henderson <rth@redhat.com>
4184
4185 * rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
4186 * alias.c (true_dependence): Update to match new semantics.
4187 (canon_true_dependence, write_dependence_p): Likewise.
4188 (anti_dependence, output_dependence): Update write_dependence_p args.
4189 (unchanging_anti_dependence): Remove.
4190 * calls.c (purge_mem_unchanging_flag): Remove.
4191 (fixup_tail_calls): Don't call it.
4192 (expand_call): Don't add unchanging memory to function usage.
4193 * expr.c (emit_block_move_via_libcall): Likewise.
4194 (clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems.
4195 (get_subtarget): Don't use RTX_UNCHANGING_P.
4196 (expand_assignment, store_constructor, expand_expr_real_1): Likewise.
4197 (do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P.
4198 * combine.c (get_last_value_validate): Use MEM_READONLY_P.
4199 * cse.c (insert): Don't use RTX_UNCHANGING_P.
4200 (cse_insn, canon_hash): Use MEM_READONLY_P.
4201 * emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P
4202 instead of RTX_UNCHANGING_P.
4203 * explow.c (maybe_set_unchanging): Remove.
4204 * expr.h (maybe_set_unchanging): Remove.
4205 * flow.c (insn_dead_p, mark_used_regs): Use anti_dependence.
4206 * function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P.
4207 (assign_parm_setup_reg, expand_function_start): Likewise.
4208 * integrate.c (copy_rtx_and_substitute): Likewise.
4209 * ra-rewrite.c (emit_colors): Likewise.
4210 * regmove.c (copy_src_to_dest, regmove_optimize): Likewise.
4211 (fixup_match_1): Likewise.
4212 * reload1.c (reload, alter_reg): Likewise.
4213 * local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P,
4214 not RTX_UNCHANGING_P.
4215 (equiv_init_varies_p): Likewise.
4216 * loop-invariant.c (check_maybe_invariant): Likewise.
4217 * resource.c (mark_referenced_resources, mark_set_resources): Likewise.
4218 * loop.c (note_addr_stored): Likewise.
4219 (prescan_loop): Likewise. Don't check function usage for clobbered
4220 unchanging memory.
4221 * rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P,
6aaf3dde 4222 not RTX_UNCHANGING_P.
389fdba0
RH
4223 (rtx_varies_p, modified_between_p, modified_in_p): Likewise.
4224 * varasm.c (force_const_mem): Likewise.
4225 * stmt.c (expand_decl): Don't set RTX_UNCHANGING_P.
4226 * web.c (entry_register): Likewise.
4227 * tree-gimple.h (get_base_address): Move decl ...
4228 * tree.h: ... here.
4229 * doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
4230
4231 * config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be
4232 called via for_each_rtx. Copy MEM_SCALAR_P, MEM_NOTRAP_P too.
4233 (alpha_set_memflags): Update to match.
4234
4235 * config/darwin.c (machopic_indirect_data_reference): Set
4236 MEM_READONLY_P instead of RTX_UNCHANGING_P.
4237 (machopic_indirect_call_target): Likewise.
4238 (machopic_legitimize_pic_address): Likewise.
6aaf3dde 4239 * config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple,
389fdba0
RH
4240 arm_gen_store_multiple, arm_gen_movmemqi): Likewise.
4241 * config/arm/arm.md (load_multiple, store_multiple): Likewise.
4242 * config/frv/frv.md (symGOT2reg): Likewise.
4243 * config/i386/i386.c (legitimize_pic_address,
4244 legitimize_tls_address, ix86_split_to_parts): Likewise.
4245 * config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
4246 * config/ia64/ia64.md (load_fptr): Likewise.
4247 * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
4248 * config/m68k/m68k.c (legitimize_pic_address): Likewise.
4249 * config/mcore/mcore.c (block_move_sequence): Likewise.
4250 * config/mn10300/mn10300.md (symGOT2reg): Likewise.
4251 * config/pa/pa.c (legitimize_pic_address): Likewise.
4252 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
4253 (rs6000_emit_move): Likewise.
4254 * config/s390/s390.c (legitimize_pic_address): Likewise.
4255 (legitimize_tls_address): Likewise.
4256 * config/s390/s390.md (casesi): Likewise.
4257 * config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise.
4258 * config/sh/sh.md (symGOT2reg): Likewise.
4259 * config/sparc/sparc.c (legitimize_pic_address): Likewise.
4260 * config/v850/v850.md (casesi): Likewise.
4261
4262 * config/ia64/ia64.c (gen_thread_pointer): Don't set RTX_UNCHANGING_P.
4263 * config/iq2000/iq2000.c (save_restore_insns): Likewise.
4264 * config/mips/mips.c (mips_restore_gp): Likewise.
4265 (mips_save_restore_reg, mips16_gp_pseudo_reg): Likewise.
4266 * config/sh/sh.c (sh_reorg): Likewise.
4267
17ad5b5e
RH
42682004-08-18 Richard Henderson <rth@redhat.com>
4269
4270 * tree.h (struct tree_decl): Add gimple_formal_temp.
4271 (DECL_GIMPLE_FORMAL_TEMP_P): New.
4272 * gimplify.c (pop_gimplify_context): Clear it.
4273 (lookup_tmp_var): Set it, if is_formal.
4274 (gimplify_init_constructor): Use rhs_predicate_for for COMPLEX.
4275 Use is_gimple_val for VECTOR. Simplify return value.
4276 (gimplify_save_expr): Use and set DECL_GIMPLE_FORMAL_TEMP_P.
4277 (gimplify_expr): Likewise.
4278 * tree-gimple.c (is_gimple_formal_tmp_rhs): Rename from
4279 is_gimple_tmp_rhs for clarity. Update all callers.
4280 (is_gimple_reg_rhs): Simplify logic.
4281 (is_gimple_formal_tmp_var): Rename from is_gimple_tmp_var for
4282 clarity; use DECL_GIMPLE_FORMAL_TEMP_P.
4283 (is_gimple_formal_tmp_reg): Similarly.
4284 * tree-gimple.h: Update decls.
4285 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Use
4286 DECL_IGNORED_P, not DECL_ARTIFICIAL. Tidy formatting.
4287 * tree-ssa-live.c (var_union, type_var_init): Likewise.
4288
5b0eba61
PB
42892004-08-18 Paolo Bonzini <bonzini@gnu.org>
4290
4291 * c4x.c (legitimize_operands): Remove calls to
4292 preserve_subexpressions_p.
4293
07e15286
DE
42942004-08-18 David Edelsohn <edelsohn@gnu.org>
4295
4296 * varasm.c (MAX_OFILE_ALIGNMENT): Move ...
4297 * defaults.h (MAX_OFILE_ALIGNMENT): ... here.
4298
ad8c162b
ZL
42992004-08-18 Ziemowit Laski <zlaski@apple.com>
4300
4301 * gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii"
4302 Objective-C++ extensions.
4303 * gengtype.c (get_file_basename): Match entire subdirectory name
4304 ('cp', 'objc', 'objcp') rather than just its suffix.
4305 (get_base_file_bitmap): Allow for files to belong to more than one
4306 language.
4307 (get_output_file_with_visibility): Treat objc/objc-act.h as a header
4308 used by more than one front-end.
4309
d56993f2
RE
43102004-08-18 Richard Earnshaw <rearnsha@arm.com>
4311
4312 * arm.md (addsi3, subsi3, andsi3, iorsi3, movsi, movhi): Rework to
4313 avoid use of preserve_subexpressions_p.
4314
504c0e4f
RH
43152004-08-17 Richard Henderson <rth@redhat.com>
4316
4317 PR 17051
4318 * tree-sra.c (scalarize_use): Mark all v_defs for !is_output too.
4319
54e9a19d
DD
43202004-08-17 DJ Delorie <dj@redhat.com>
4321
4322 * doc/extend.texi: Document new xstormy16 attribute.
4323
4324 * config/stormy16/stormy16.c (xstormy16_splittable_below100_operand): New.
4325 (xstormy16_splittable_below100_or_register): New.
4326 (combine_bnp): New.
4327 (xstormy16_reorg): New.
4328 (TARGET_MACHINE_DEPENDENT_REORG): Define.
4329
54e9a19d
DD
4330 * config/stormy16/stormy16.md (movqi_internal): Make name public.
4331 (movhi_internal): Likewise.
4332 (cbhranchhi): Likewise.
4333 (cbhranchhi_neg): Likewise.
4334 (andhi3): Only allow splittable below100 operands.
4335 (iorhi3): Likewise.
4336 (peephole2): New and/zero_extend->and peephole.
4337 (peephole2): New load/ior/save->set1 peephole.
4338 (peephole2): New load/and/save->clr1 peephole.
4339 (bclrx, bclrx2, bclr7, bclr15): New.
4340 (bsetx, bsetx2, bset7, bset15): New.
4341
4342 * config/stormy16/stormy16.c (xstormy16_print_operand): Be more
4343 liberal about acceptable 'B' masks.
4344
4345 * config/stormy16/stormy16-protos.h
4346 (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
4347 xstormy16_below100_operand, xstormy16_below100_or_register,
4348 xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
4349 (PREDICATE_CODES): Add new predicates.
6aaf3dde 4350
54e9a19d
DD
4351 * config/stormy16/stormy16.c
4352 (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
4353 xstormy16_below100_operand, xstormy16_below100_or_register,
4354 xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
4355 (xstormy16_expand_iorqi3, xstormy16_expand_andqi3): New.
4356 (xstormy16_legitimate_address_p): Allow below100 symbols.
4357 (xstormy16_extra_constraint_p): Add 'W' for below100 operands.
4358 (xstormy16_expand_move): Leave below100 operands as-is.
4359 (xstormy16_encode_section_info): Encode below100 symbols.
4360 (xstormy16_strip_name_encoding): New.
4361 (xstormy16_print_operand): Print 'b' as shift mask.
4362 (xstormy16_attribute_table): Add below100 attributes.
4363 (xstormy16_handle_below100_attribute): New.
4364
4365 * config/stormy16/stormy16.h (EXTRA_SECTIONS): add in_bss100.
4366 (XSTORMY16_SECTION_FUNCTION): New.
4367 (EXTRA_SECTION_FUNCTIONS): Define using the above.
4368 (ASM_OUTPUT_ALIGNED_DECL_COMMON, ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
4369 (ASM_OUTPUT_SYMBOL_REF): Handle encoded symbols.
4370 (ASM_OUTPUT_LABELREF): Define.
4371
4372 * config/stormy16/stormy16.md (movqi_internal): Add below100 support.
4373 (movhi_internal): Add below100 support.
4374 (andhi3): Add below100 support.
4375 (iorhi3): Add below100 support.
4376 (iorqi3, iorqi3_internal, andqi3, andqi3_internal): New.
4377
4ef47bd8
JW
43782004-08-17 James E Wilson <wilson@specifixinc.com>
4379
4380 * config/mips/mips.c (gen_conditional_move): Use GET_MODE (op0) instead
4381 of VOIDmode for comparison code mode.
4382 * config/mips/mips.md: For conditional move patterns, use mode of
4383 first compare operand for comparison mode, instead of VOIDmode.
e17c734b
JW
4384
4385 * config/mips/mips.md: Add canonical nmadd and nmsub patterns for both
4386 normal and -ffast-math code.
4387
1a10290c
MM
43882004-08-17 Mark Mitchell <mark@codesourcery.com>
4389
4390 PR c++/15871
4391 * doc/invoke.texi (-fkeep-inline-functions): Update documentation.
4392
f4e736dd 43932004-08-17 Robert Bowdidge <bowdidge@apple.com>
6aaf3dde
ZW
4394
4395 * config/rs6000/x-darwin: Add -mdynamic-no-pic to gcc build flags.
f4e736dd 4396
13a98f14
AT
43972004-08-17 Andreas Tobler <a.tobler@schweiz.ch>
4398
4399 * config/rs6000/darwin.md (*call_nonlocal_darwin64): Add #else clause
4400 for non Darwin targets.
4401 (*call_value_nonlocal_darwin64): Likewise.
4402
d0b2079e
FJ
44032004-08-17 Fariborz Jahanian <fjahanian@apple.com>
4404
4405 * config/rs6000/rs6000.c (rs6000_function_value): Check for
4406 altivec mode for altivec return register.
4407
feb3dc8b
DE
44082004-08-17 David Edelsohn <edelsohn@gnu.org>
4409
4410 Revert 2004-08-16 Stan Shebs <shebs@apple.com>
ef0e2729 4411 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
feb3dc8b
DE
4412 * config/rs6000/rs6000.md: Include darwin.md.
4413 (builtin_setjmp_receiver): Add DImode case.
4414 * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
4415 Darwin bits.
4416
79fe1b3b
DN
44172004-08-17 Dorit Naishlos <dorit@il.ibm.com>
4418
89b0433e
NS
4419 * tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE
4420 trees.
79fe1b3b
DN
4421 * tree-vectorizer.h: New File: Same.
4422 * Makefile.in (tree-vectorizer.c, tree-vectorizer.h): Add new files.
4423 * common.opt (ftree-vectorize): New flag to enable vectorization.
89b0433e
NS
4424 * timevar.def (TV_TREE_VECTORIZATION): New dump file for
4425 vectorization pass.
79fe1b3b
DN
4426 * tree-data-ref.h (init_data_ref): Additional argument.
4427 (array_base_name_differ_p): Moved to tree-data-ref.c.
4428 * tree-data-ref.c (array_base_name_differ_p): Revised.
4429 (initialize_data_dependence_relation): Call array_base_name_differ_p
4430 with an extra argument.
4431 (analyze_all_data_dependences): Same.
4432 (init_data_ref): Additional argument is_read to set DR_IS_READ.
89b0433e
NS
4433 * tree-ssa-phiopt.c (empty_block_p): Expose for usage out of this
4434 file.
79fe1b3b
DN
4435 * tree-flow.h (vectorize_loops, empty_block_p): Add declaration.
4436 * tree-optimize.c (pass_vectorize): Schedule the vectorization pass.
6aaf3dde 4437 * tree-pass.h (tree_opt_pass pass_vectorize): Declare the new
79fe1b3b
DN
4438 vectorization pass.
4439 * tree-ssa-loop.c (tree_ssa_loop_init): Call scev_initialize.
4440 (tree_ssa_loop_done): Call scev_finalize.
4441 (tree_vectorize): Define the new vectorization pass.
89b0433e
NS
4442 * defaults.h (UNITS_PER_SIMD_WORD): Allow targets to specify the
4443 size of the vector they support (until support for multiple vector
4444 sizes is added to the vectorizer).
79fe1b3b
DN
4445 * config/i386/i386.h (UNITS_PER_SIMD_WORD): Define.
4446 * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define.
4447 * invoke.texi (fdump-tree-vect, ftree-vectorize): Add
4448 documentation.
4449
e15987c1
NS
44502004-08-17 Nathan Sidwell <nathan@codesourcery.com>
4451
4452 * objc/objc-act.c (build_protocol_initializer): Fix build_int_cst
4453 usage.
4454 (generate_protocol_list, handle_impent): Likewise.
4455
e3cadb61
RS
44562004-08-17 Roger Sayle <roger@eyesopen.com>
4457
4458 * regclass.c (init_reg_sets_1): Add ENABLE_CHECKING sanity tests to
4459 ensure that call_used_regs is a superset of both fixed_regs and
4460 call_really_used_regs.
4461
108a579c
DB
44622004-08-17 Daniel Bornstein <danfuzz@milk.com>
4463
4464 PR target/17019
4465 * arm.md (addsi3_cbranch_scratch): Correct case labels.
4466
62fc1d7d
PB
44672004-08-17 Paolo Bonzini <bonzini@gnu.org>
4468
4469 PR middle-end/17036
4470 * fold-const.c (fold): Check for integer operand when
4471 folding (A >> N) & 1 ? (1 << N) : 0. Fix from Andrew
4472 Pinski <pinskia@physics.uc.edu>.
4473
7c27e184
PB
44742004-08-17 Paolo Bonzini <bonzini@gnu.org>
4475
4476 * configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
4477 No need to check if in a cross configuration.
4478 * configure: Regenerate.
4479
4480 * calls.c (precompute_register_parameters):
4481 Inline preserve_subexpressions_p ().
4482 * expmed.c (expand_mult_const, emit_store_flag): Likewise.
4483 * optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
4484 Likewise.
4485 * expr.c (get_subtarget): Likewise.
4486 * rtl.h (preserve_subexpressions_p): Remove.
4487 * stmt.c (preserve_subexpressions_p): Remove.
4488
4489 * dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
4490 TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
4491 Abort on gimplified cases.
4492
d97c6333
JW
44932004-08-16 James E Wilson <wilson@specifixinc.com>
4494
4495 * tree.h (VECTOR_FLOAT_TYPE_P): New.
4496 (FLOAT_TYPE_P): Use it.
4497 * c-typeck.c (build_binary_op): After convert calls, check for
4498 check for ERROR_MARK operands.
4499
45c8116d
ZW
45002004-08-16 Zack Weinberg <zack@codesourcery.com>
4501
4502 * Makefile.in (BUILD_PREFIX, BUILD_PREFIX_1): Delete.
4503 (BUILD_RTL, BUILD_PRINT, BUILD_ERRORS, BUILD_VARRAY): Update.
4504 (genobjs): Add build-rtl.o, build-print-rtl.o, build-varray.o.
4505 (genobjs static pattern rule): Remove %.c dependency.
4506 ($(BUILD_PREFIX_1)rtl.o, print-rtl.o, $(BUILD_PREFIX_1)varray.o):
4507 Rename rules; delete commands; fix dependencies.
4508 (mostlyclean): Do not delete temporary source copies.
4509 * configure.ac: Delete all references to BUILD_PREFIX and
4510 BUILD_PREFIX_1.
4511 * configure: Regenerate.
4512
4513 * print-rtl.c: Include bconfig.h #ifdef GENERATOR_FILE.
4514 Do not include tree.h, real.h, flags.h, hard-reg-set.h, or
4515 basic-block.h #ifdef GENERATOR_FILE. Surround some more code
4516 with #ifndef GENERATOR_FILE so that nothing from those headers
4517 is used.
4518
4519 * rtl.c, varray.c: Include bconfig.h #ifdef GENERATOR_FILE.
4520
4d73e20b
AN
45212004-08-16 Adam Nemet <anemet@lnxw.com>
4522
4523 * Makefile.in (LIBS): Move $(LIBIBERTY) after $(BANSHEELIB).
6aaf3dde 4524
62114438
AP
45252004-08-16 Andrew Pinski <apinski@apple.com>
4526
4527 * target-def.h (TARGET_EH_RETURN_FILTER_MODE): Remove
4528 extraneous semicolon.
4529
8e3e233b
DP
45302004-08-16 Devang Patel <dpatel@apple.com>
4531
4532 * c-common.c (handle_used_attribute): Set DECL_PRESERVE_P.
4533 * print-tree.c (print_node): Print DECL_PRESERVE_P.
4534 * target-def.h (TARGET_ASM_MARK_DECL_PRESERVED): New #define.
4535 (TARGET_ASM_OUT): New member, TARGET_ASM_MARK_DECL_PRESERVED
4536 * target.h (struct gcc_target): New member, mark_decl_preserved.
45c8116d
ZW
4537 * hooks.c (hook_void_charptr): Rename to ...
4538 (hook_void_constcharptr): ... new name.
4539 * hooks.h (hook_void_charptr): Rename to ..
4540 (hook_void_constcharptr): ... new name.
8e3e233b
DP
4541 * tree.h (DECL_PRESERVE_P): New #define.
4542 (struct tree_decl): New member, preserve_flag.
4543 * varasm.c (assemble_start_function): Mark decl preserved.
4544 (assemble_variable): Same.
4545 * darwin.c (darwin_mark_decl_preserved): New function.
4546 * darwin.h (TARGET_ASM_MARK_DECL_preserved): New #define.
4547 * darwin-protos.h (darwin_mark_decl_preserved): New decl.
4548 * doc/tm.texi (TARGET_ASM_MARK_DECL_PRESERVED): Document.
4549
580b3958
JM
45502004-08-16 Joseph S. Myers <jsm@polyomino.org.uk>
4551
4552 * c-decl.c (grokdeclarator): Allow for function definition where
4553 innermost declarator has attributes.
4554
93f90be6
FJ
45552004-08-16 Fariborz Jahanian <fjahanian@apple.com>
4556
4557 * except.c (get_exception_filter, build_post_landing_pads,
4558 dw2_build_landing_pads): Use target-specific mode for 'filter'.
4559 * target-def.h (TARGET_EH_RETURN_FILTER_MODE): macro defined and used.
4560 * target.h (eh_return_filter_mode): New field added.
4561 * targhooks.c (default_eh_return_filter_mode): Defined.
4562 * targhooks.h (default_eh_return_filter_mode): Declared.
4563 * config/rs6000/rs6000.c (rs6000_eh_return_filter_mode): Defined.
4564
392765bf
NN
45652004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
4566
4567 * configure.ac: Replace _GCC_TOPLEV_NONCANONICAL_TARGET with
4568 ACX_NONCANONICAL_TARGET; remove now-unneeded AC_SUBST.
4569 * configure: Regenerate.
4570
49bd1d27
SS
45712004-08-16 Stan Shebs <shebs@apple.com>
4572
4573 Basic support for 64-bit Darwin.
4574 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
4575 (machopic_legitimize_pic_address): Similarly, plus use Pmode
4576 instead of SImode.
4577 * config/rs6000/darwin.h (PTRDIFF_TYPE): Be "long int" if 64-bit.
4578 (TARGET_OS_CPP_BUILTINS): Add 64-bit preprocessor macro.
4579 (SUBTARGET_SWITCHES): Add -m32 and -m64 flags.
4580 (SUBTARGET_OVERRIDE_OPTIONS): Require 64-bit processor if -m64.
4581 (PROCESSOR_DEFAULT64): Define.
4582 * config/rs6000/darwin.md: New file, patterns specific to 64-bit
4583 Darwin.
4584 * config/rs6000/rs6000.md: Include darwin.md.
4585 (builtin_setjmp_receiver): Add DImode case.
4586 * config/rs6000/rs6000.c (TARGET_ASM_UNALIGNED_DI_OP): Define for
4587 Darwin.
4588 (TARGET_ASM_ALIGNED_DI_OP): Ditto.
4589 (rs6000_emit_move): Add DImode case to Darwin bits.
4590 (machopic_output_stub): Use .quad if 64-bit.
4591 * invoke.texi: Document -m32 and -m64.
4592
4e6e4e4c
JJ
45932004-08-16 Janis Johnson <janis187@us.ibm.com>
4594
4595 * doc/extend.texi (AltiVec builtins): Document additional differences
4596 from the Motorola AltiVec PIM.
4597
092313ae
NS
45982004-08-16 Nathan Sidwell <nathan@codesourcery.com>
4599
4600 * c-typeck.c (build_c_cast): Only copy overflow from expr nodes.
4601 * tree.h (IS_NON_TYPE_CODE_CLASS): Simplify.
4602 (struct tree_common): Update public_flag documentation.
4603
dffc9ae5
NN
46042004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
4605
4606 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
62fc1d7d 4607 Check for artificial variables, not is_gimple_tmp_var.
dffc9ae5
NN
4608 * tree-ssa-live.c (var_union): Likewise.
4609
16e9be4c
NS
46102004-08-16 Nathan Sidwell <nathan@codesourcery.com>
4611
4612 * calls.c (load_register_parameters): Remove spurious FIXME token.
4613
9a4d6480
ZL
46142004-08-15 Ziemowit Laski <zlaski@apple.com>
4615
4616 * Makefile.in (C_PRETTY_PRINT_H): Add c-pretty-print.h.
4617 (c-lang.o): Depend on c-objc-common.h.
45c8116d 4618 (c-objc-common.o): Depend on $(C_PRETTY_PRINT_H) and
9a4d6480
ZL
4619 c-objc-common.h; remove duplicate $(C_TREE_H) dependency.
4620 * c-lang.c: Include c-objc-common.h.
4621 (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
4622 LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
4623 LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
45c8116d
ZW
4624 LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
4625 LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
9a4d6480
ZL
4626 LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
4627 LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
45c8116d 4628 LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
9a4d6480
ZL
4629 LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
4630 LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
4631 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
4632 LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
4633 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
4634 LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
4635 LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
4636 LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
4637 LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
4638 LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
4639 LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
4640 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
4641 LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
4642 LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
4643 LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
4644 LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
4645 Move to c-objc-common.h.
4646 * c-objc-common.c: Include c-objc-common.h.
4647 * c-objc-common.h: New file.
4648
869464ba
AT
46492004-08-15 Andreas Tobler <a.tobler@schweiz.ch>
4650 Andrew Pinski <pinskia@physics.uc.edu>
4651
4652 PR target/14931
4653 * config/rs6000/darwin-tramp.asm (L_abort$stub): Change to new stub
4654 style.
4655
4a90aeeb
NS
46562004-08-15 Nathan Sidwell <nathan@codesourcery.com>
4657
4658 * tree.h (build_int_cst): New.
4659 (build_int_2): Remove.
4660 * tree.c (build_int_2): Remove.
4661 (build_int_cst): New.
4662 (make_vector_type, build_common_tree_nodes,
4663 build_common_tree_nodes_2): Use build_int_cst.
4664 * builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
4665 expand_builtin_strpbrk, expand_builtin_fputs,
4666 build_string_literal, expand_builtin_printf,
4667 expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop,
4668 fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii,
4669 fold_builtin_isdigit, simplify_builtin_strstr,
4670 simplify_builtin_strpbrk, fold_builtin_fputs,
4671 simplify_builtin_sprintf): Use build_int_cst.
4672 * c-common.c (start_fname_decls, fix_string_type,
4673 c_common_nodes_and_builtins, c_init_attributes,
4674 shorten_compare): Likewise.
4675 * c-decl.c (complete_array_type,
4676 check_bitfield_type_and_width): Likewise.
4677 * c-lex.c (interpret_integer, lex_charconst): Likewise.
4678 * c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise.
4679 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4680 * c-typeck.c (really_start_incremental_init, push_init_level,
4681 set_nonincremental_init_from_string): Likewise.
4682 * calls.c (load_register_parameters): Likewise.
4683 * convert.c (convert_to_pointer): Likewise.
4684 * coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
4685 build_fn_info_type, build_ctr_info_value, build_gcov_info):
4686 Likewise.
4687 * except.c (init_eh, assign_filter_values, assign_filter_values):
4688 Likewise.
4689 * expmed.c (store_fixed_bit_field, extract_bit_field,
4690 extract_fixed_bit_field, extract_split_bit_field, expand_shift,
4691 expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
4692 expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
4693 * expr.c (convert_move, emit_group_load, emit_group_store,
4694 expand_assignment, store_constructor, store_field,
4695 expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
4696 * fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
4697 invert_truthvalue, optimize_bit_field_compare,
4698 decode_field_reference, all_ones_mask_p, constant_boolean_node,
4699 fold_div_compare, fold, fold_read_from_constant_string,
4700 fold_negate_const, fold_abs_const, fold_not_const): Likewise.
4701 * function.c (assign_parm_setup_block): Likewise.
4702 * stmt.c (shift_return_value, expand_end_case_type,
4703 estimate_case_costs): Likewise.
4704 * stor-layout.c (layout_type, initialize_sizetypes,
4705 set_min_and_max_values_for_integral_type): Likewise.
4706 * tree-chrec.c (chrec_fold_multiply_poly_poly,
4707 reset_evolution_in_loop): Likewise.
4708 * tree-chrec.h (build_polynomial_chrec): Likewise.
4709 * tree-complex.c (build_replicated_const): Likewise.
4710 * tree-eh.c (honor_protect_cleanup_actions,
4711 lower_try_finally_onedest, lower_try_finally_copy,
4712 lower_try_finally_switch): Likewise.
4713 * tree-mudflap.c (mf_build_string, mx_register_decls,
4714 mudflap_register_call, mudflap_enqueue_constant): Likewise.
4715 * tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
4716 * tree-pretty-print.c (dump_generic_node): Likewise.
4717 * tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
4718 Likewise.
4719 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
4720 * tree-ssa-loop-niter.c (number_of_iterations_cond,
4721 loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
4722 Likewise.
45c8116d 4723
4a90aeeb
NS
4724 * config/alpha/alpha.c (alpha_initialize_trampoline,
4725 alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst.
4726 * config/arm/arm.c (arm_get_cookie_size): Likewise.
4727 * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
4728 * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
4729 * config/i860/i860.c (i860_va_start): Likewise.
4730 * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
4731 * config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
4732 mips_gimplify_va_arg_expr): Likewise.
4733 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
4734 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
4735 add_compiler_branch_island): Likewise.
4736 * config/s390/s390.c (s390_va_start): Likewise.
4737 * config/sh/sh.c (sh_va_start): Likewise.
4738 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
4739 Likewise.
4740 * config/xtensa/xtensa.c (xtensa_va_start,
4741 xtensa_gimplify_va_arg_expr): Likewise.
45c8116d 4742
4a90aeeb
NS
4743 * objc/objc-act.c (build_objc_string_object,
4744 build_objc_symtab_template, init_def_list, init_objc_symtab,
4745 init_module_descriptor, generate_static_references,
4746 build_selector_translation_table, get_proto_encoding,
4747 build_typed_selector_reference, build_selector_reference,
4748 build_next_objc_exception_stuff,
4749 build_method_prototype_list_template, generate_descriptor_table,
4750 generate_protocols, build_protocol_initializer,
4751 build_ivar_list_template, build_method_list_template,
4752 build_ivar_list_initializer, generate_ivars_list,
4753 generate_dispatch_table, generate_protocol_list,
4754 build_category_initializer, build_shared_structure_initializer,
4755 generate_shared_structures, handle_impent,
4756 generate_objc_image_info): Use build_int_cst.
4757
2a68a7de
BE
47582004-08-15 Ben Elliston <bje@au.ibm.com>
4759
4760 * vec.h: Comment improvements.
4761
53fb4de3
RS
47622004-08-14 Roger Sayle <roger@eyesopen.com>
4763
4764 * c-common.c (shorten_compare, pointer_int_sum,
4765 c_common_truthvalue_conversion, boolean_increment): Replace calls
4766 to build with calls to buildN.
4767 * c-decl.c (complete_array_type, grokdeclarator): Likewise.
4768 * c-gimplify.c (c_build_bind_expr, gimplify_c_loop,
4769 gimplify_switch_stmt): Likewise.
4770 * c-typeck.c (default_function_array_conversion,
4771 build_component_ref, build_array_ref, build_function_call,
4772 pointer_diff, build_unary_op, build_conditional_expr,
4773 build_compound_expr, build_modify_expr, c_finish_goto_label,
4774 c_finish_goto_ptr, c_finish_return, c_finish_loop,
4775 c_finish_bc_stmt, c_finish_stmt_expr, c_end_compound_stmt,
4776 build_binary_op): Likewise.
4777
254b17dd
SB
47782004-08-15 Steven Bosscher <stevenb@suse.de>
4779
4780 * rtl.c (note_insn_name): Add NOTE_DISABLE_SCHED_OF_BLOCK.
4781
a5252c84
JDA
47822004-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4783
4784 * fixinc/inclhack.def (stdio_va_list): Also fix com_err.h, cps.h,
4785 curses.h, krb5.h, lc_core.h, pfmt.h, wchar.h and curses_colr/curses.h.
4786 * fixinc/fixincl.x: Rebuilt.
4787
96a30b18
RS
47882004-08-14 Richard Sandiford <rsandifo@redhat.com>
4789
4790 * config/mips/mips-protos.h (mips_symbolic_constant_p)
4791 (mips_atomic_symbolic_constant_p, mips_stack_address_p)
4792 (mips_small_data_pattern_p): Declare.
4793 * config/mips/mips.h (CONST_GP_P): Moved from mips.c.
4794 (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
4795 * config/mips/mips.c (mips_symbolic_constant_p): Make global.
4796 (mips_atomic_symbolic_constant_p, mips_stack_address_p): New functions.
4797 (uns_arith_operand, const_arith_operand, arith_operand, sle_operand)
4798 (sleu_operand, small_int, reg_or_0_operand, const_float_1_operand)
4799 (reg_or_const_float_1_operand, hilo_operand, extend_operator)
4800 (macc_msac_operand, equality_op, cmp_op, trap_cmp_op)
4801 (pc_or_label_operand, call_insn_operand, move_operand)
4802 (consttable_operand, symbolic_operand, general_symbolic_operand)
4803 (global_got_operand, local_got_operand, stack_operand)
4804 (fp_register_operand, lo_operand, fcc_register_operand): Delete.
4805 (mips_small_data_pattern_1): Renamed from small_data_pattern_1.
4806 (mips_small_data_pattern_p): Replace previous small_data_pattern
4807 predicate. Turn into a bool () (rtx) function.
4808 * config/mips/predicates.md: New file.
4809 * config/mips/mips.md: Include it. Use the target-independent
4810 comparison_operator instead of cmp_op. Rename trap_cmp_op to
4811 trap_comparison_operator and equality_op to equality_operator.
4812 Replace uses of small_int with the equivalent const_arith_operand.
4813 Rename reg_or_const_float_1_operand to reg_or_1_operand. Rename
4814 const_float_1_operand to const_1_operand. Rename fcc_register_operand
4815 to fcc_reload_operand.
4816 * config/mips/sb1.md: Rename fp_register_operand to fpr_operand.
4817
e41c9fcb
JDA
48182004-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4819
4820 PR libstdc++/17005 partial fix.
4821 * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define _INCLUDE__STDC_A1_SOURCE
4822 except when generating ANSI/C89 code.
4823
af9c6659
NS
48242004-08-14 Nathan Sidwell <nathan@codesourcery.com>
4825
4826 * c-common.c (shorten_compare): Use force_fit_type directly.
4827
37de1373
GP
48282004-08-14 Gerald Pfeifer <gerald@pfeifer.com>
4829 Dimitri Papadopoulos-Orfanos <papadopo@shfj.cea.fr>
4830 Dave Korn <dk@artimi.com>
4831
4832 * doc/install.texi (Building): Avoid duplicate reference to GNU
4833 make requirement.
4834 (*-*-solaris2*): Do not recommend GNU make any longer. Simplify.
4835
06d69cd3
RH
48362004-08-14 Richard Henderson <rth@redhat.com>
4837
4838 * config/alpha/alpha.h (PROMOTE_MODE): Don't promote vector types.
4839 * config/alpha/alpha.c (function_value): Use PROMOTE_MODE.
4840
e427abbf
RH
48412004-08-13 Richard Henderson <rth@redhat.com>
4842
4843 * config/i386/i386.md (call_1, sibcall_1, call_1_rex64): Use Pmode
4844 for constant_call_address_operand.
4845 (call_value_pop_1, call_value_1): Likewise.
4846 (sibcall_value_1, call_value_1_rex64): Likewise.
4847
2b407936
JW
48482004-08-13 James E Wilson <wilson@specifixinc.com>
4849
4850 * config/mips/sb1.md (ir_sb1_divdf_2pipes, ir_sb1_divdf_1pipe):
4851 Correct mode from SFmode to DFmode.
4852
3e0d5ae2
ZL
48532004-08-13 Ziemowit Laski <zlaski@apple.com>
4854
4855 * config/darwin.h (EXTRA_SECTION_FUNCTIONS): Mark the __sel_fixup,
4856 __cstring_object and __image_info sections with the no_dead_strip
4857 attribute.
4858
e0704143
RS
48592004-08-13 Roger Sayle <roger@eyesopen.com>
4860 David Billinghurst <David.Billinghurst@riotinto.com>
4861
4862 PR libgfortran/15930
4863 * fixinc/inclhack.def (irix___generic1, irix___generic2): New.
4864 * fixinc/fixincl.x: Regenerate.
4865 * fixinc/tests/base/internal/math_core.h: New file.
4866
8768c655
RH
48672004-08-13 Richard Henderson <rth@redhat.com>
4868
4869 * dbxout.c (NO_DBX_FUNCTION_END): Default to zero.
4870 (dbxout_function_end): Remove ifdefs for it.
4871 (dbxout_begin_prologue): Protect N_BNSYM with it, and gdb extensions.
4872
201312c2
RH
48732004-08-13 Richard Henderson <rth@redhat.com>
4874
4875 * Makefile.in (insn-preds.o): Depend on TREE_H.
4876 * genpreds.c (write_insn_preds_c): Include tree.h.
4877 * config/alpha/alpha.c (reg_or_0_operand, reg_or_6bit_operand,
4878 reg_or_8bit_operand, cint8_operand, add_operand, sext_add_operand,
4879 const48_operand, and_operand, or_operand, mode_width_operand,
4880 mode_mask_operand, mul8_operand, const0_operand,
4881 hard_fp_register_operand, hard_int_register_operand,
4882 reg_or_cint_operand, some_operand, some_ni_operand, input_operand,
4883 samegp_function_operand, direct_call_operand, small_symbolic_operand,
45c8116d 4884 global_symbolic_operand, call_operand, symbolic_operand,
201312c2
RH
4885 dtp16_symbolic_operand, dtp32_symbolic_operand,
4886 gotdtp_symbolic_operand, tp16_symbolic_operand, tp32_symbolic_operand,
4887 gottp_symbolic_operand, alpha_comparison_operator,
4888 alpha_zero_comparison_operator, alpha_swapped_comparison_operator,
4889 signed_comparison_operator, alpha_fp_comparison_operator,
4890 divmod_operator, fix_operator, aligned_memory_operand,
4891 unaligned_memory_operand, reg_or_unaligned_mem_operand,
4892 any_memory_operand, reg_not_elim_operand, normal_memory_operand,
4893 reg_no_subreg_operand, addition_operation): Move to predicates.md.
4894 (reg_or_const_int_operand): Remove. Replace all users with
4895 reg_or_cint_operand.
4896 (tls_symbolic_operand_1): Export. Don't check mode or for CONST.
4897 (resolve_reload_operand): Split out of aligned_memory_operand.
4898 * config/alpha/alpha-protos.h: Update for exports.
4899 * config/alpha/alpha.h (PREDICATE_CODES): Remove.
4900 * config/alpha/alpha.md: Include predicates.md.
4901 * config/alpha/predicates.md: New file.
4902
1e9c8405
RS
49032004-08-13 Richard Sandiford <rsandifo@redhat.com>
4904
4905 * genattrtab.c (insn_ent): Replace insn_code, insn_index and lineno
4906 fields with a pointer to the instruction definition.
4907 (get_attr_value, fill_attr, make_length_attrs, remove_insn_ent)
4908 (insert_insn_ent, simplify_test_exp, optimize_attrs, write_attr_get)
4909 (write_attr_case, write_const_num_delay_slots): Update accordingly.
4910 (write_attr_case, write_const_num_delay_slots): Write the name of
4911 an insn next to its case statement.
4912 * genoutput.c (data): Add a filename field.
4913 (gen_insn, gen_peephole, gen_expand, gen_split): Set it.
4914 (output_insn_data): Print the location of each insn definition.
4915 * genrecog.c (write_action): Print the name of an insn above
4916 the statement that returns its code.
4917
1e5f1716
AP
49182004-08-12 Andrew Pinski <pinskia@physics.uc.edu>
4919
4920 * config/darwin-c.c (find_subframework_file): Fix spelling of cannot.
4921 * config/libgloss.h: Likewise.
4922 * config/arm/arm.c (arm_gen_load_multiple): Likewise.
4923 * c4x/c4x-modes.def: Likewise.
4924 * config/c4x/c4x.c (c4x_hard_regno_rename_ok): Likewise.
4925 (c4x_rptb_nop_p): Likewise.
4926 (c4x_rptb_valid_p): Likewise.
4927 (c4x_rptb_insert): Likewise.
4928 (c4x_address_conflict): Likewise.
4929 * config/c4x/c4x.md: Likewise.
4930 * config/frv/frv.md: Likewise.
4931 * config/i386/athlon.md: Likewise.
4932 * config/i386/i386.md: Likewise.
4933 * config/i386/predicates.md: Likewise.
4934 * config/ia64/ia64.c: Likewise.
4935 * config/ia64/itanium1.md: Likewise.
4936 * config/ia64/itanium2.md: Likewise.
4937 * config/iq2000/iq2000.md: Likewise.
4938 * config/mcore/mcore.c: Likewise.
4939 * config/mips/mips.c: Likewise.
4940 * config/mips/r3900.h: Likewise.
4941 * config/mips/sb1.md: Likewise.
4942 * config/pa/milli64.S: Likewise.
4943 * config/pa/pa.c: Likewise.
4944 * config/pa/pa.h: Likewise.
4945 * config/rs6000/8540.md: Likewise.
4946
9bcc9490
DB
49472004-08-13 Daniel Berlin <dberlin@dberlin.org>
4948
4949 * Makefile.in (BOOT_CFLAGS): Remove accidental addition of -dU.
4950
68fe56fc
R
49512004-08-13 J"orn Rennecke <joern.rennecke@superh.com>
4952
4953 * sh.md (cbranch define_delay) Use cond_delay_slot for
4954 non-anulled condition too.
4955
85d346f1
DE
49562004-08-12 David Edelsohn <edelsohn@gnu.org>
4957
4958 * config/rs6000/rs6000.c (any_parallel_operand): New predicate.
4959 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
4960 any_parallel_operand, lmw_operation, stmw_operation,
a688b3ac 4961 mfcr_operation, mtcrf_operation. Remove PARALLEL from any_operand.
85d346f1
DE
4962 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Use
4963 any_parallel_operand.
4964 (return_and_restore_fpregs_{si,di}): Same.
4965
47d2cee5
ZW
49662004-08-12 Zack Weinberg <zack@codesourcery.com>
4967
4968 * genrecog.c (add_to_sequence): When processing a MATCH_PARALLEL,
4969 if pred->singleton != PARALLEL, issue a warning and pretend it was.
4970 Also issue a warning for any predicate we don't know about.
4971
8fe75e43
RH
49722004-08-12 Richard Henderson <rth@redhat.com>
4973
4974 * config/i386/i386.c (internal_label_prefix): Export.
4975 (internal_label_prefix_len, struct ix86_address,
4976 ix86_decompose_address, maybe_get_pool_constant,
4977 ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes,
4978 memory_address_length): Export.
47d2cee5 4979 (any_fp_register_operand, fp_register_operand,
8fe75e43 4980 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand,
47d2cee5 4981 x86_64_general_operand, x86_64_szext_general_operand,
8fe75e43
RH
4982 x86_64_nonmemory_operand, x86_64_movabs_operand,
4983 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4984 x86_64_zext_immediate_operand, const_int_1_31_operand,
4985 symbolic_operand, pic_symbolic_operand, local_symbolic_operand,
4986 tls_symbolic_operand, global_dynamic_symbolic_operand,
4987 local_dynamic_symbolic_operand, initial_exec_symbolic_operand,
4988 local_exec_symbolic_operand, call_insn_operand, sibcall_insn_operand,
4989 constant_call_address_operand, const0_operand, const1_operand,
4990 const248_operand, const_0_to_3_operand, const_0_to_7_operand,
4991 const_0_to_15_operand, const_0_to_255_operand, incdec_operand,
4992 shiftdi_operand, reg_no_sp_operand, mmx_reg_operand,
4993 general_no_elim_operand, nonmemory_no_elim_operand,
4994 index_register_operand, q_regs_operand, flags_reg_operand,
4995 non_q_regs_operand, zero_extended_scalar_load_operand,
4996 vector_move_operand, no_seg_address_operand, sse_comparison_operator,
47d2cee5 4997 ix86_comparison_operator, ix86_carry_flag_operator,
8fe75e43
RH
4998 fcmov_comparison_operator, promotable_binary_operator,
4999 cmp_fp_expander_operand, ext_register_operand, binary_fp_operator,
47d2cee5 5000 mult_operator, div_operator, arith_or_logical_operator,
8fe75e43
RH
5001 memory_displacement_operand, cmpsi_operand, long_memory_operand,
5002 aligned_operand): Move to predicates.md as define_predicates.
5003 (tls_symbolic_operand_1): Remove.
5004 (x86_64_sign_extended_value): Merge into x86_64_immediate_operand.
5005 (x86_64_zero_extended_value): Merge into x86_64_zext_immediate_operand.
5006 (legitimize_address): Merge tls_symbolic_operand contents.
5007 (ix86_expand_move): Likewise.
5008 * config/i386/i386-protos.h: Update for exports.
5009 * config/i386/i386.h (EXTRA_CONSTRAINT): Update for renames.
5010 (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Remove.
5011 * config/i386/i386.md: Include predicates.md.
5012 * config/i386/predicates.md: New file.
5013
ea3d83a7
MM
50142004-08-13 Mark Mitchell <mark@codesourcery.com>
5015
5016 PR c++/16924
5017 * config/i386/winnt.c (i386_pe_mark_dllexport): Set
5018 SYMBOL_REF_DECL.
5019 (i386_pe_mark_dllimport): Likewise.
5020 (i386_pe_encode_section_info): Likewise, when overriding
5021 dllimport attribute.
5022
414adbdd
GK
50232004-08-12 Geoffrey Keating <geoffk@apple.com>
5024
5025 * configure.ac: When testing for flex, nm, ar, and bison, check
5026 that they will actually be built.
5027 * configure: Regenerate.
5028
c5443745
UW
50292004-08-12 Ulrich Weigand <uweigand@de.ibm.com>
5030
5031 * config/s390/s390.h (MAX_FIXED_MODE_SIZE): Define.
5032 (MOVE_MAX_PIECES): Define.
5033
8fa5469d
DP
50342004-08-12 Devang patel <dpatel@apple.com>
5035
5036 * dbxout.c (dbxout_begin_prologue): New function.
5037 (dbx_debug_hooks): Use new begin prologue hook.
5038 (dbxout_function_end): Emit N_ENSYM.
5039 * stab.def (N_BNSYM, N_ENSYM): Define and document these two new stabs.
47d2cee5 5040
b0b343db
JJ
50412004-08-12 Janis Johnson <janis187@us.ibm.com>
5042
e390eb0a
JJ
5043 * config/rs6000/altivec.h (vec_dst): Fix C++ functions whose first
5044 argument is float*.
5045
e34b6648
JJ
5046 * config/rs6000/rs6000.c (altivec_init_builtins): Fix argument type
5047 for vec_dss.
5048
b0b343db
JJ
5049 * doc/extend.texi (AltiVec builtins): Fix description for recent
5050 changes. Update operation list to match current support.
5051
adf39f8f
AK
50522004-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
5053
5054 * config/s390/s390.c (struct s390_frame_layout): New struct as element
5055 of struct machine_function.
5056 (cfun->machine->frame_size): Moved into cfun->machine->frame_layout and
5057 changed all uses.
5058 (cfun->machine->save_fprs_p): Replaced by cfun_save_high_fprs and
5059 changed all uses.
5060 (cfun_frame_layout, cfun_save_high_fprs_p, cfun_gprs_save_area_size)
5061 (cfun_set_fpr_bit, cfun_fpr_bit_p): New macros.
5062 (s390_frame_area, s390_register_info): New functions.
5063 (s390_optimize_prolog): Renamed to s390_optimize_prologue. Added check
5064 for base register.
5065 (s390_return_addr_rtx, s390_return_address_offset)
5066 (s390_va_start, s390_gimplify_va_arg)
5067 (s390_emit_prologue, s390_emit_epilogue): Adjusted for new stack
5068 layouts.
5069 (s390_frame_info): Functionality partly moved to s390_register_info.
5070 Made adaptions for new stack layout.
5071 (save_gprs, restore_gprs): Changed meaning of second parameter and
5072 adapted all callers.
5073
5074 * config/s390/s390.h (s390_backchain_string): New global variable.
5075 (MASK_BACKCHAIN): Removed definition.
5076 (TARGET_BACKCHAIN): Changed check.
5077 (TARGET_KERNEL_BACKCHAIN): New macro.
5078 (TARGET_SWITCHES): Removed entries of "backchain" and "no-backchain".
5079 (TARGET_OPTIONS): Added "backchain", "no-backchain" and
5080 "kernel-backchain".
5081 (DYNAMIC_CHAIN_ADDRESS): Adjusted for new stack layouts.
5082
5083 * config/s390/s390.md ("allocate_stack"): Added TARGET_KERNEL_BACKCHAIN
5084 as condition. Adjusted for new stack layout.
5085
5086 * doc/invoke.texi: Added documentation for new option
5087 "-mkernel-backchain" and adjusted documentation of "-mbackchain" and
5088 "-mno-backchain".
5089
db151e9d
PB
50902004-08-12 Paul Brook <paul@codesourcery.com>
5091
5092 * config/arm/lib1funcs.asm (ARM_FUNC_ALIAS): Also alias _L__name.
5093 (aeabi_uidivmod, aeabi_idivmod): Provide thumb implementation.
5094
02b75262
DD
50952004-08-12 David Daney <ddaney@avtrex.com>
5096
db151e9d 5097 * java/gcj.texi: Add subsection on signal usage.
02b75262 5098
f64d6991
DE
50992004-08-12 David Edelsohn <edelsohn@gnu.org>
5100
5101 * expr.c (move_by_pieces): Set alignment for move to minimum of
5102 MOVE_MAX_PIECES mode alignment and the largest non-slow mode
5103 alignment, but not less than the original alignment.
5104 (move_by_pieces_ninsns): Same.
5105 (can_store_by_pieces): Similar for store with STORE_MAX_PIECES.
5106 (store_by_pieces_1): Same.
5107
c597ef4e
DN
51082004-08-12 Diego Novillo <dnovillo@redhat.com>
5109
5110 PR tree-optimization/16867
5111 * tree.c (is_global_var): New function.
5112 (needs_to_live_in_memory): Check for TREE_ADDRESSABLE.
5113 Call is_global_var.
5114 * tree.h (DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL): Remove.
5115 Update all users.
5116 (is_global_var): Declare.
5117 * tree-dfa.c (dump_variable): Display global and addressable
5118 attributes.
5119 (add_referenced_var): Clarify documentation when marking
5120 variables call-clobbered.
5121 * tree-flow-inline.h (is_call_clobbered): Call is_global_var
5122 instead of needs_to_live_in_memory.
5123 (mark_call_clobbered): If the variable is a tag, mark it
5124 DECL_EXTERNAL.
5125 * tree-gimple.c (is_gimple_reg): Don't check for
5126 TREE_ADDRESSABLE.
5127 (is_gimple_non_addressable): Likewise.
5128 * tree-ssa-alias.c (get_nmt_for): Always check whether the tag
5129 needs to be marked call-clobbered.
5130 (setup_pointers_and_addressables): Call is_global_var instead
5131 of needs_to_live_in_memory.
5132 * tree-ssa-dce.c (need_to_preserve_store): Remove.
5133 Update all users with is_global_var.
5134 (mark_stmt_if_obviously_necessary): Fix processing of aliased
5135 stores. Don't check the virtual definitions. Rather, check
5136 whether the store is going into global memory.
5137 (find_obviously_necessary_stmts): Get the symbol from the PHI
5138 result.
5139 * tree-ssa-operands.c (get_call_expr_operands): Do not add
5140 clobbering may-defs if the call does not have side effects.
5141
ab5c8549
JJ
51422004-08-12 Jakub Jelinek <jakub@redhat.com>
5143
5144 PR c++/16276
5145 * output.h (default_function_rodata_section,
5146 default_no_function_rodata_section): New prototypes.
5147 * target.h (struct gcc_target): Add asm_out.function_rodata_section.
5148 * target-def.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
5149 (TARGET_ASM_OUT): Add it.
5150 * varasm.c (default_function_rodata_section,
5151 default_no_function_rodata_section): New functions.
5152 * final.c (final_scan_insn): Call
5153 targetm.asm_out.function_rodata_section instead of
5154 readonly_data_section.
5155 * config/darwin.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
5156 * config/mcore/mcore.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
5157 * config/ip2k/ip2k.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
5158 * config/rs6000/xcoff.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
5159 Likewise.
5160 * config/alpha/alpha.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
5161 * config/i386/cygming.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
5162 Likewise.
5163 * config/i386/i386-interix.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
5164 Likewise.
5165 * config/arm/pe.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
5166 * config/avr/avr.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
5167 * doc/tm.texi (TARGET_ASM_FUNCTION_RODATA_SECTION): Document.
5168
5cf58f28
PB
51692004-08-12 Paul Brook <paul@codesourcery.com>
5170
5171 * dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh
5172 frame info.
5173 * doc/tm.texi: Document interaction between TARGET_UNWIND_INFO and
5174 DWARF2_UNWIND_INFO.
5175
87e184d1
BE
51762004-08-12 Ben Elliston <bje@au.ibm.com>
5177
5178 PR target/16286
5179 * config/rs6000/altivec.h: Change vector to __vector throughout.
5180 (Except for the `vector' macro itself).
5181
e543e219
ZW
51822004-08-12 Zack Weinberg <zack@codesourcery.com>
5183
5184 * genpreds.c: Add capability to generate predicate bodies as
5185 well as function prototypes. Write function prototypes for
5186 the generic predicates too.
5187 (process_define_predicate, write_tm_preds_h, write_insn_preds_c)
5188 (write_predicate_subfunction, mark_mode_tests, add_mode_tests)
5189 (write_match_code, write_predicate_expr, write_one_predicate_function)
5190 (parse_option): New functions.
5191 (output_predicate_decls): Delete.
5192 (main): Read the machine description, process DEFINE_PREDICATE or
5193 DEFINE_SPECIAL_PREDICATE patterns, write tm-preds.h or insn-preds.c
5194 as appropriate.
5195
5196 * genrecog.c (struct decision_test): Replace index with
5197 struct pred_data pointer.
5198 (next_index): Remove, unused.
5199 (pred_table, preds, special_mode_pred_table): Delete.
5200 (compute_predicate_codes, process_define_predicate): New functions.
5201 (validate_pattern, add_to_sequence, write_switch): Update for
5202 new data structures.
5203 (main): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
5204 Check both error_count and have_error.
5205
5206 * gensupport.c (in_fname, first_predicate): New globals.
5207 (define_pred_queue, define_pred_tail): New RTL-pattern queue.
5208 (predicate_table, last_predicate, old_pred_table)
5209 (old_special_pred_table): New statics.
5210 (hash_struct_pred_data, eq_struct_pred_data, lookup_predicate)
5211 (add_predicate, init_predicate_table): New functions.
5212 (process_rtx): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
5213 (init_md_reader_args_cb): Use the global in_fname. No need to zero
5214 it or max_include_len. Call init_predicate_table.
5215 (read_rtx): Run the predicate queue after the attribute queue
5216 but before all the others.
5217 * gensupport.h (in_fname, struct pred_data, first_predicate)
5218 (lookup_predicate, add_predicate, FOR_ALL_PREDICATES): Declare.
5219 * rtl.def (MATCH_CODE, MATCH_TEST, DEFINE_PREDICATE)
5220 (DEFINE_SPECIAL_PREDICATE): New RTL codes.
5221 * dummy-conditions.c: Don't include bconfig.h, system.h,
5222 coretypes.h, tm.h, or system.h. Do include stddef.h.
5223 Duplicate declaration of struct c_test from gensupport.h.
5224
5225 * Makefile.in (OBJS-common): Add insn-preds.o.
5226 (STAGESTUFF, .PRECIOUS): Add insn-preds.c.
5227 (insn-preds.c, insn-preds.o): New rules.
5228 (s-preds): Also generate insn-preds.c.
5229 (dummy-conditions.o, genpreds$(build_exeext), genpreds.o):
5230 Update dependencies.
5231 (print-rtl.o, print-rtl1.o): Correct dependencies.
5232
5233 * recog.h: Delete prototypes of predicate functions.
5234
5235 * doc/md.texi (Predicates): New section with complete
5236 documentation of operand/operator predicates. Remove some
5237 incomplete documentation of predicates from other places.
5238 * doc/tm.texi (Misc): Move SPECIAL_MODE_PREDICATES next to
5239 PREDICATE_CODES; indicate that both are deprecated in favor
5240 of define_predicate/define_special_predicate.
5241
5242 * config/ia64/ia64.c: All predicate function definitions moved
5243 to ia64.md, except
5244 (small_addr_symbolic_operand, tls_symbolic_operand): Delete.
5245 (ia64_expand_load_address, ia64_expand_move):
5246 Check SYMBOL_REF_TLS_MODEL directly, don't use tls_symbolic_operand.
5247
5248 * config/ia64/ia64.md: All predicates now defined here.
5249 (symbolic_operand): Is now a special predicate.
5250
5251 * config/ia64/ia64.h: Declare ia64_section_threshold.
5252 (PREDICATE_CODES): Delete.
5253
174283a3
RH
52542004-08-12 Richard Henderson <rth@redhat.com>
5255
5256 * c-common.h (STATEMENT_LIST_HAS_LABEL): New.
5257 * c-semantics.c (add_stmt): Set it.
5258 * c-decl.c (finish_decl): Use it to create a new BIND_EXPR
5259 before instantiating a variable sized type.
5260
15931954
RH
52612004-08-12 Richard Henderson <rth@redhat.com>
5262
5263 * stor-layout.c (round_up, round_down): Move ...
e543e219 5264 * fold-const.c (round_up, round_down): ... here. Use
15931954
RH
5265 multiple_of_p to avoid any arithmetic at all.
5266
57d1dd87
RH
52672004-08-12 Richard Henderson <rth@redhat.com>
5268
5269 * gimplify.c (struct gimplify_init_ctor_preeval_data): New.
5270 (gimplify_init_ctor_preeval_1): New.
5271 (gimplify_init_ctor_preeval): New.
5272 (gimplify_init_ctor_eval): New.
5273 (gimplify_init_constructor): Use them. Always gimplify the LHS
5274 object first.
5275
46e34f96
ZL
52762004-08-12 Ziemowit Laski <zlaski@apple.com>
5277
5278 (This patch is part of merge of objc-improvements-branch
5279 into mainline.)
5280
5281 * doc/frontends.texi: Mention Objective-C++ in addition to
5282 Objective-C.
5283 * doc/install.texi: Add 'obj-c++' to list of configurable
5284 languages.
5285 * doc/invoke.texi: Rename Objective-C option headings to
5286 indicate they also apply to Objective-C++. List file
5287 extensions for Objective-C++ sources. Mention that
5288 ObjC and ObjC++ compilations may also use C and C++ options,
5289 respectively. Point users to doc/standards.texi for
5290 further info on ObjC and ObjC++.
5291 * doc/sourcebuild.texi: Mention the objcp/ directory and
5292 the Objective-C++ sources it contains.
5293 * doc/standards.texi: Update link to Apple ObjC site;
5294 add link to gcc readings.html WWW doc.
5295
07f12d8b
AM
52962004-08-12 Alan Modra <amodra@bigpond.net.au>
5297
5298 * config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28
5299 and 2004-07-14 changes.
5300
89aa5a20
PB
53012004-08-12 Paul Brook <paul@codesourcery.com>
5302
5303 * doc/invoke.texi: Fix typo.
5304
5079843a
DP
53052004-08-11 Devang Patel <dpatel@apple.com>
5306
5307 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip
5308 and -no_dead_strip_inits_and_terms.
5309 (LINK_SPEC): Same.
5310 * doc/invoke.texi (Darwin Options): Document -dead_strip and
5311 -no_dead_strip_inits_and_terms.
e543e219 5312
876f13b0
PB
53132004-08-11 Paul Brook <paul@codesourcery.com>
5314
5315 * config/arm/arm-protos.h (arm_finalize_pic) Rename ...
5316 (arm_load_pic_register): ... to this.
5317 * config/arm/arm.c (arm_finalize_pic): Rename ...
5318 (arm_load_pic_register): ... to this. Always output insns at the
5319 current location. Load via low reg in thumb mode.
5320 (arm_expand_prologue): Call arm_load_pic_register.
5321 (thumb_expand_prologue): Ditto.
5322 * config/arm/arm.h (FINALIZE_PIC): Remove.
5323 * config/arm/arm.md (builtin_setjmp_receiver): Call
5324 arm_load_pic_register.
5325
57934c39
PB
53262004-08-11 Paul Brook <paul@codesourcery.com>
5327
5328 * arm.c (thumb_force_lr_save): Add prototype.
5329 (thumb_compute_save_reg_mask): New function.
5330 (thumb_find_work_register): New function.
5331 (arm_get_frame_offsets): Use thumb_compute_save_reg_mask.
5332 (thumb_unexpanded_epilogue): Ditto. Remove redundant code.
5333 Don't clobber r3 when removing pretend args.
5334 (thumb_expand_prologue): Use thumb_compute_save_reg_mask.
5335 (thumb_output_function_prologue): Use new functions.
5336 (thumb_set_return_address): Use thumb_compute_save_reg_mask.
5337 * arm.h (THUMB_REG_PUSHED_P): Remove.
5338
af874237
JW
53392004-08-11 James E Wilson <wilson@specifixinc.com>
5340
5341 PR rtl-optimization/16490
5342 * cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
5343 global_live_at_end for new basic block if already set for other blocks.
5344
c1618c0c
DE
53452004-08-11 David Edelsohn <edelsohn@gnu.org>
5346
5347 * config/rs6000/rs6000.h (MAX_FIXED_MODE_SIZE): Define.
5348
5349 * config/rs6000/rs6000.md (mfcr rlwinm patterns): Set length to 8.
5350 (mfcr rlwinm rlwinm patterns): Set length to 12.
5351
1a24f92f
AM
53522004-08-11 Andrew MacLeod <amacleod@redhat.com>
5353
5354 * tree-flow-inline.h (get_def_ops, get_use_ops, get_v_may_def_ops,
5355 get_vuse_ops,get_v_must_def_ops): Add operand structure reference.
5356 (get_v_may_def_result_ptr, get_v_may_def_op_ptr): New access struct.
5357 (start_ssa_stmt_operands): Delete.
e543e219 5358 * tree-flow.h (struct stmt_ann_d): Replace operand vectors with new
1a24f92f
AM
5359 struct stmt_operands_d.
5360 (build_ssa_operands): New extern entry point.
e543e219 5361 * tree-ssa-dom.c (record_equivalences_from_stmt): Remove operand
1a24f92f
AM
5362 building code, replace with create_ssa_artficial_load_stmt().
5363 * tree-ssa-operands.c (struct voperands_d): Delete.
5364 (allocate_v_may_def_optype): Allocate v_may_def_operand_type_t vector.
5365 (allocate_v_must_def_optype): Use sizeof (tree), not sizeof (tree *).
e543e219 5366 (free_uses, free_defs, free_vuses, free_v_may_defs,
1a24f92f
AM
5367 free_v_must_defs): Remove dealloc parameter.
5368 (remove_vuses, remove_v_may_def, remove_v_must_defs): Delete.
5369 (finalize_ssa_defs, finalize_ssa_uses, finalize_ssa_v_may_defs,
5370 finalize_ssa_vuses, finalize_ssa_v_must_defs): Perform all operand
5371 vector comparisons, ssa_name reuse, and allocations here.
5372 (verify_start_operands): Delete.
5373 (finalize_ssa_stmt_operands): Set new operands by calling finalize
5374 routines.
5375 (start_ssa_stmt_operands): Move from tree-flow-inline.h.
5376 (append_def, append_usei): Simplify to simple accumulation.
5377 (append_v_may_def, append_vuse, append_v_must_def): Simplify to avoiding
5378 duplicates and simple accumulation.
5379 (free_ssa_operands): Free vectors in a stmt_operand structure.
5380 (build_ssa_operands): New. Create a new stmt_operand structure from
e543e219 5381 a stmt and an old set of stmt_operands.
1a24f92f
AM
5382 (get_stmt_operands): Simplify and call build_ssa_operands.
5383 (get_expr_operands, get_asm_expr_operands, get_indirect_ref_operands,
5384 get_call_expr_operands, add_stmt_operand, add_call_clobber_ops,
5385 add_call_read_ops): Don't pass prev_vops around anymore.
5386 (note_addressable): Return if no stmt annotation.
5387 (copy_virtual_operands): Access v_may_def operands through a struct.
5388 (create_ssa_artficial_load_stmt): New. Create a load stmt for DOM's
5389 hash tables without treating the stmt as a real stmt.
5390 * tree-ssa-operands.h (struct v_may_def_operand_type): New. Access
5391 v_may_def def and use through a struct instead of 2 array elements.
5392 (struct v_may_def_optype_d): Use v_may_def_operand_type.
5393 (struct stmt_operands_d): New. Struct for storing all operand vectors.
5394
a77655b1
NC
53952004-08-11 Nick Clifton <nickc@redhat.com>
5396
5397 * config/arm/arm.c (arm_is_longcall_p): Update comment describing
5398 this funciton's behaviour. Return true when the current function
5399 has a section attribute and -mlong-calls is in effect.
5400 * config/arm/arm.h (ARM_DECLARE_FUNCTION_SIZE): Do not set the
5401 short-call marker when -mlong-calls is in effect and the function
5402 has a section attribute.
5403
6f4a43e0
ZW
54042004-08-10 Zack Weinberg <zack@codesourcery.com>
5405
5406 * stmt.c (expand_return): If asked to return the RESULT_DECL,
5407 just call expand_value_return on result_rtl.
5408
1a186ec5
RH
54092004-08-10 Richard Henderson <rth@redhat.com>
5410
5411 * builtins.def (BUILT_IN_STACK_ALLOC): Remove.
5412 * builtins.c (expand_builtin) <BUILT_IN_STACK_ALLOC>: Remove.
5413 * dwarf2out.c (loc_descriptor): Handle PARALLEL here ...
5414 (add_location_or_const_value_attribute): ... not here. Use
5415 loc_descriptor_from_tree if possible.
5416 (loc_descriptor_from_tree_1): Rename from loc_descriptor_from_tree.
5417 Simplify address handling. Handle DECL_VALUE_EXPR. Handle register
5418 values specially.
5419 (loc_descriptor_from_tree): New. Update callers.
5420 * expr.c (expand_var): Ignore DECL_VALUE_EXPR variables.
5421 * gimplify.c (gimplify_decl_expr): Lower variable sized types to
5422 pointer plus dereference. Set DECL_VALUE_EXPR. Set save_stack.
5423 (gimplify_call_expr): Do not recognize BUILT_IN_STACK_ALLOC
5424 and BUILT_IN_STACK_RESTORE.
5425 (gimplify_expr): Lower DECL_VALUE_EXPR decls.
5426 * stmt.c (expand_stack_alloc): Remove.
5427 * tree-mudflap.c (mx_register_decls): Don't look for
5428 BUILT_IN_STACK_ALLOC.
5429 * tree-nested.c (convert_local_reference): Likewise.
5430 * tree.h (DECL_VALUE_EXPR): New.
5431
7109c195
RH
54322004-08-10 Richard Henderson <rth@redhat.com>
5433
bf4ccdd6
RH
5434 * stor-layout.c (round_up): Check for 0/1 before dividing.
5435 (round_down): Likewise.
5436
7109c195
RH
5437 * tree-tailcall.c (suitable_for_tail_opt_p): Also check DECL_EXTERNAL.
5438
b3f8d95d
MM
54392004-08-09 Mark Mitchell <mark@codesourcery.com>
5440
5441 * config.gcc (arm*-*-eabi*): New target.
5442 * defaults.h (TARGET_LIBGCC_FUNCS): New macro.
5443 (TARGET_LIB_INT_CMP_BIASED): Likewise.
5444 * expmed.c (expand_divmod): Try a two-valued divmod function as a
5445 last resort.
5446 * gthr.h: Remove bogus tokens at end of #pragma.
5447 * optabs.c (expand_twoval_binop_libfunc): New function.
5448 (prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case.
5449 (prepare_float_lib_cmp): Try reversing the condition.
5450 (debug_optab_libfuncs): New function.
5451 * optabs.h (expand_twoval_binop_libfunc): Declare.
5452 * config/arm/arm.c (arm_init_libfuncs): New function.
5453 (arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT.
5454 (TARGET_INIT_LIBFUNCS): Define it.
5455 * config/arm/arm.h (TARGET_BPABI): New macro.
5456 * config/arm/arm-protos.h
5457 (arm_compute_initial_elimination_offset): Return HOST_WIDE_INT.
5458 * config/arm/bpabi.S: New file.
5459 * config/arm/bpabi.c: Likewise.
5460 * config/arm/bpabi.h: Likewise.
5461 * config/arm/ieee754-df.S (__aeabi_dneg): New function or alias.
5462 (__aeabi_drsub): Likewise.
5463 (__aeabi_dsub): Likewise.
5464 (__aeabi_dadd): Likewise.
5465 (__aeabi_ui2d): Likewise.
5466 (__aeabi_i2d): Likewise.
5467 (__aeabi_f2d): Likewise.
5468 (__aeabi_dmul): Likewise.
5469 (__aeabi_ddiv): Likewise.
5470 (__aeabi_cdrcmple): Likewise.
5471 (__aeabi_cdcmpeq): Likewise.
5472 (__aeabi_cdcmple): Likewise.
5473 (__aeabi_dcmpeq): Likewise.
5474 (__aeabi_dcmplt): Likewise.
5475 (__aeabi_dcmple): Likewise.
5476 (__aeabi_dcmpge): Likewise.
5477 (__aeabi_dcmpgt): Likewise.
5478 (__aeabi_dcmpun): Likewise.
5479 (__aeabi_d2iz): Likewise.
5480 (__aeabi_d2uiz): Likewise.
5481 (__aeabi_d2f): Likewise.
5482 * config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias.
5483 (__aeabi_frsub): Likewise.
5484 (__aeabi_fsub): Likewise.
5485 (__aeabi_fadd): Likewise.
5486 (__aeabi_ui2f): Likewise.
5487 (__aeabi_i2f): Likewise.
5488 (__aeabi_fmul): Likewise.
5489 (__aeabi_fdiv): Likewise.
5490 (__aeabi_cfrcmple): Likewise.
5491 (__aeabi_cfcmpeq): Likewise.
5492 (__aeabi_cfcmple): Likewise.
5493 (__aeabi_fcmpeq): Likewise.
5494 (__aeabi_fcmplt): Likewise.
5495 (__aeabi_fcmple): Likewise.
5496 (__aeabi_fcmpge): Likewise.
5497 (__aeabi_fcmpgt): Likewise.
5498 (__aeabi_fcmpun): Likewise.
5499 (__aeabi_f2iz): Likewise.
5500 (__aeabi_f2uiz): Likewise.
5501 * config/arm/lib1funcs.asm (ARM_CALL): New macro.
5502 (__aeabi_uidivmod): New function or alias.
5503 (__aeabi_idivmod): Likewise.
5504 (__aeabi_idiv0): Likewise.
5505 (__aeabi_ldiv0): Likewise.
5506 (__aeabi_llsr): Likewise.
5507 (__aeabi_lasr): Likewise.
5508 (__aeabi_llsl): Likewise.
5509 (bpabi.S): Include it.
5510 * config/arm/libgcc-bpabi.ver: New file.
5511 * config/arm/symbian.h (ARM_DEFAULT_ABI): Remove.
5512 (LINK_SPEC): Remove.
5513 * config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and
5514 __aeabi_ulcmp.
5515 * config/arm/t-bpabi: New file.
5516 * doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry.
5517 (TARGET_LIB_INT_CMP_BIASED): Likewise.
6f4a43e0 5518
fba73eb1
DE
55192004-08-10 David Edelsohn <edelsohn@gnu.org>
5520
5521 * config/rs6000/rs6000-protos.h (expand_block_clear): Declare.
5522 * config/rs6000/rs6000.md (clrmemsi): New pattern.
5523 * config/rs6000/rs6000.c (expand_block_clear): New function.
5524 (expand_block_move): Convert alignment to bits. Use SImode and
5525 HImode for unaligned addresses if not STRICT_ALIGNMENT.
5526
55272004-08-10 Caroline Tice <ctice@apple.com>
c295317d
CT
5528
5529 * varasm.c (unlikely_section_label): New global variable.
5530 (unlikely_text_section_name): New global variable.
5531 (text_section): Remove alignment statement.
6f4a43e0 5532 (unlikely_text_section): Remove alignment statement; use
c295317d
CT
5533 unlikely_section_label rather than hard-coded string.
5534 (assemble_start_function): Initialize unlikely_section_label and
5535 unlikely_text_section_name; make sure cold section is properly
5536 aligned at start of function; output unlikely_section_label if
5537 appropriate.
5538
68f9c5e2
UW
55392004-08-10 Ulrich Weigand <uweigand@de.ibm.com>
5540
5541 * config/s390/s390-protos.h (s390_canonicalize_comparison): Declare.
5542 * config/s390/s390.c (s390_canonicalize_comparison): New function.
5543 * config/s390/s390.h (CANONICALIZE_COMPARISON): Define.
5544 * config/s390/s390.md ("*tmdi_ext", "*tmsi_ext", "*tmqisi_ext",
5545 "*tmqidi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem"): Remove.
5546 ("*tmqi_mem"): Remove SUBREG from pattern.
5547 ("*anddi3_cconly"): Prevent accidentally matching TM pattern.
5548 ("*andsi3_cconly"): Likewise.
6f4a43e0 5549
22116d84
L
55502004-08-10 H.J. Lu <hongjiu.lu@intel.com>
5551
5552 PR target/16909
5553 * config/i386/i386.md (*strsetdi_rex_1): Use DI instead of SI.
5554
c75095b2
JJ
55552004-08-10 Janis Johnson <janis187@us.ibm.com>
5556
5557 * doc/sourcebuild.texi (compat testing): Document available test
5558 framework commands. Use the preferred spelling of DejaGnu.
5559
98975653
DB
55602004-08-10 Daniel Berlin <dberlin@dberlin.org>
5561
5562 * lambda.h: Add matrix type, and prototypes for remainder of
5563 matrix and vector functions.
5564 (lambda_vector_mult_const): New function.
5565 (lambda_vector_negate): Ditto.
5566 (lambda_vector_add): Ditto.
5567 (lambda_vector_add_mc): Ditto.
5568 (lambda_vector_copy): Ditto.
5569 (lambda_vector_zerop): Ditto.
5570 (lambda_vector_equal): Ditto.
5571 (lambda_vector_min_nz): Ditto.
5572 (lambda_vector_first_nz): Ditto.
5573 (lambda_vector_matrix_mult): Ditto.
5574 * lambda-mat.c: New file.
5575 * Makefile.in (lambda-mat.o): New.
5576
68b9f53b
AM
55772004-08-10 Andrew MacLeod <amacleod@redhat.com>
5578
5579 * tree-cfg.c (bsi_insert_before, bsi_insert_after): Call modify_stmt
5580 after linking stmt into the program.
5581 (bsi_remove): Don't call modify_stmt.
6f4a43e0 5582 * tree-complex.c (update_complex_assignment,
68b9f53b 5583 expand_complex_comparison): Call modify_stmt after changing the stmt.
6f4a43e0 5584 * tree-outof-ssa.c (rewrite_trees): Call modify_stmt only if not
68b9f53b
AM
5585 removing the stmt.
5586 * tree-ssa-ccp.c (substitute_and_fold): Call modify_stmt after changing
5587 the stmt, and only if needed.
5588 * tree-ssa-dom.c (thread_across_edge): Pass no annotation for a dummy
5589 expression.
5590 (simplify_rhs_and_lookup_avail_expr): Don't take an annotation param.
5591 (simplify_cond_and_lookup_avail_expr): Use modify_stmt.
5592 (simplify_switch_and_lookup_avail_expr): Don't take an annotation param.
6f4a43e0 5593 (eliminate_redundant_computations): Don't pass an annotation. Call
68b9f53b
AM
5594 modify_stmt rather than setting the annotation directly.
5595 (record_equivalences_from_stmt): Remove unused local 'j'.
5596 (cprop_operand): Take a stmt rather than an annotation as a parameter.
5597 Call modify_stmt.
5598 (cprop_into_stmt): Pass stmt rather than annotation.
5599 (update_rhs_and_lookup_avail_expr): Call modify_stmt.
6f4a43e0 5600 * tree-ssa-loop-im.c (schedule_sm): Call get_stmt_ann rather than
68b9f53b
AM
5601 modify_stmt.
5602 * tree-ssa.c (propagate_into_addr): Dont call modify_stmt.
5603
01c98570
JM
56042004-08-10 Jason Merrill <jason@redhat.com>
5605
6c9c4526 5606 PR middle-end/16948
01c98570
JM
5607 * function.c (expand_function_start): Handle DECL_BY_REFERENCE on
5608 the RESULT_DECL.
5609
b2ddaebb
GK
56102004-08-10 Geoffrey Keating <geoffk@apple.com>
5611
5612 * tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the
5613 hash function.
5614
23657388
RS
56152004-08-10 Roger Sayle <roger@eyesopen.com>
5616
5617 * config/mips/mips.md: New reciprocal square root patterns that
5618 match sqrt(1.0/x) in addition to the existing 1.0/sqrt(x) insns.
5619
c9ca9b88
PB
56202004-08-10 Paul Brook <paul@codesourcery.com>
5621
5622 * config/arm/arm-protos.h (arm_set_return_address,
5623 thumb_set_return_address): Add prototypes.
5624 * config/arm/arm.h (ARM_FT_EXCEPTION_HANDLER): Remove.
5625 * config/arm/arm.c (arm_compute_func_type,
5626 use_return_insn, arm_compute_save_reg0_reg12_mask,
5627 arm_compute_save_reg_mask, arm_output_function_prologue,
5628 arm_output_epilogue): Replace ARM_FT_EXCEPTION_HANDLER with
5629 current_function_calls_eh_return.
5630 (thumb_exit, thumb_pushpop, thumb_unexpanded_epilogue): Replace
5631 old eh code.
5632 (arm_set_return_address, thumb_set_return_address): New functions.
5633 * config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS, DWARF2_UNWIND_INFO,
5634 ARM_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX): Define.
5635 * config/arm/arm.md (VUNSPEC_EH_RETURN): Add.
5636 (epilogue): Use the stackadj register.
5637 (eh_return, arm_eh_return, thumb_eh_return): New pattern.
5638
45d78e7f
JJ
56392004-08-10 Jakub Jelinek <jakub@redhat.com>
5640
5641 PR target/3144
5642 * expr.c (move_by_pieces_ninsns): Add max_size argument.
5643 (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 to it.
5644 (CLEAR_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 to it.
5645 (STORE_BY_PIECES_P): Define similarly to CLEAR_BY_PIECES_P,
5646 but using MOVE_RATIO.
5647 (move_by_pieces): Pass max_size to move_by_pieces_ninsns.
5648 (can_store_by_pieces): Change max_size type to unsigned int.
5649 (store_by_pieces_1): Likewise. Pass max_size to
5650 move_by_pieces_ninsns.
5651 * config/s390/s390.h (STORE_BY_PIECES_P): Define.
5652 * config/sh/sh.c (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1
5653 to move_by_pieces_ninsns.
5654 (STORE_BY_PIECES_P): Define.
5655 * config/ns32k/ns32k.h (STORE_BY_PIECES_P): Pass STORE_MAX_PIECES + 1
5656 to move_by_pieces_ninsns.
5657 * doc/tm.texi (STORE_BY_PIECES_P): Document changed default.
5658
5659 * config/i386/i386.h (CLEAR_RATIO): Define.
5660
25f3e06c
PB
56612004-08-09 Paolo Bonzini <bonzini@gnu.org>
5662
5663 * expr.c (expand_expr_real_1): Add back code that was not dead.
5664
6a3203c8
AP
56652004-08-09 Andrew Pinski <apinski@apple.com>
5666
5667 * c-common.c (c_common_get_alias_set): Set the aliasing set of the type
5668 which is found to be compatible before returning the aliasing set.
5669
b9bfca81
DJ
56702004-08-09 Daniel Jacobowitz <dan@debian.org>
5671
5672 * ggc-zone.c (struct alloc_zone): Add statistics counters.
5673 (always_collect): New flag.
5674 (ggc_alloc_zone_1): Update statistics support. Don't include
5675 overhead in allocated counter.
5676 (sweep_pages): Update allocated counter for large pages. Don'y
5677 include overhead.
5678 (ggc_collect_1): Always collect.
5679 (ggc_collect): Honor always_collect flag. Sum all zones to decide
5680 whether to collect.
5681 (SCALE, LABEL): New macros.
5682 (ggc_print_statistics): Add statistics support.
5683
fdded401
RS
56842004-08-09 Roger Sayle <roger@eyesopen.com>
5685
5686 * expmed.c (sdiv_pow2_cheap, smod_pow2_cheap): Change type to bool.
5687 (init_expmed): Fix potential overrun problem with "all.reg".
5688 (expand_sdiv2_pow2): Add an alternate implementation for signed
5689 division, if the target provides a suitable conditional move insn.
5690
9d8646d7
PB
56912004-08-09 Paul Brook <paul@codesourcery.com>
5692 Richard Henderson <rth@redhat.com>
5693
5694 * unwind-dw2.c (uw_install_context_1): Update target saved stack
5695 pointer.
5696
d37e6b50
GK
56972004-08-09 Geoffrey Keating <geoffk@apple.com>
5698
5699 * ggc-common.c (ggc_rlimit_bound): Don't check RSS limit.
5700 Check DATA limit only if there's no AS limit. Ignore insanely
5701 low DATA limits.
5702 (ggc_min_heapsize_heuristic): Don't divide AS or RSS limits by 8,
5703 but take care that the AS limit isn't overrun.
5704 * doc/invoke.texi: Update documentation of min-heapsize parameter.
5705
56b043c8
JL
57062004-08-09 Jeff Law <law@redhat.com>
5707
5708 * Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c
5709 (tree-ssa-threadupdate.o): Add dependencies.
5710 * tree-ssa-threadupdate.c: New file.
5711 * tree-flow.h (incoming_edge_threaded): New flag in block annotation.
5712 (rewrite_vars_out_of_ssa): Remove prototype.
5713 (cleanup_tree_cfg): Returns a bool.
5714 * tree.h (thread_through_all_blocks): Prototype.
5715 * tree-outof-ssa.c (SSANORM_*): Move into here.
5716 (remove_ssa_form): Now static.
5717 (rewrite_vars_out_of_ssa): Kill.
5718 * tree-ssa-live.c (register_ssa_partitions_for_vars): Kill.
5719 * tree-ssa-live.h (SSANORM_*): Moved into tree-outof-ssa.c.
5720 (remove_ssa_form, register_partitions_for_vars): Kill declarations.
5721 * tree-cfg.c (cleanup_tree_cfg): Return a value indicating if
5722 anything was changed.
5723 * tree-phinodes.c (add_phi_arg): Get the block for the PHI
5724 from the PHI's annotation rather than the edge associated with
5725 the new argument.
5726 * tree-ssa-dom.c (redirection_edges): Kill.
5727 (redirect_edges_and_update_ssa_graph): Kill.
5728 (tree_ssa_dominator_optimize): Do not reset forwardable flag
5729 for blocks anymore. Do not initialize redirection_edges.
5730 Call thread_through_all_blocks. Simplify code for cleanup
5731 of the CFG and iterating. No longer call cleanup_tree_cfg
5732 outside the iteration loop.
5733 (thread_across_edge): No longer mess with forwardable blocks.
5734
9b305d55
ZW
57352004-08-09 Zack Weinberg <zack@codesourcery.com>
5736
5737 * explow.c (memory_address): Use memory_address_p.
5738 * recog.c (general_operand): Likewise.
5739 * regrename.c: No need to define REG_OK_STRICT.
5740
27fb79ad
SB
57412004-08-09 Steven Bosscher <stevenb@suse.de>
5742
5743 * timevar.def (TV_CPROP1, TV_CPROP2, TV_PRE, TV_HOIST, TV_LSM):
5744 New timers.
5745 * gcse.c: Include timevar.h.
5746 (const_prop_count, copy_prop_count): Rename to global_const_prop_count
5747 and global_copy_prop_count.
5748 (local_const_prop_count, local_copy_prop_count): New static globals.
5749 (gcse_main): Set the right timevar for each pass.
5750 (cprop_jump): Increment global_const_prop_count when a constant is
5751 propagated. Add "GLOBAL" to dump output.
5752 (cprop_insn): Increment global_const_prop_count when a constant is
5753 propagated, or global_copy_prop_count when a copy is propagated.
5754 (do_local_cprop): Likewise for local_const_prop_count and
5755 local_copy_prop_count.
5756 (one_cprop_pass): Initialize const/cprop counters to zero.
5757 Print out results of local and global const/cprop separately.
5758 (bypass_block): Break over-length line.
702d4b73
SB
5759 * Makefile.in (gcse.o): Add TIMEVAR_H dependency. Fix dependencies
5760 for bb-reorder.o and tracer.o.
27fb79ad 5761
7efcb746
PB
57622004-08-09 Paolo Bonzini <bonzini@gnu.org>
5763
5764 * Makefile.in (GTFILES): Remove stmt.c
5765 (stmt.o): Do not depend on gt-stmt.h.
5766 * emit-rtl.c (emit_line_note): Do not call
5767 set_file_and_line_for_stmt.
5768 * expr.c (expand_expr_real_1) <SWITCH_EXPR>: Let expand_case
5769 do everything.
5770 * function.c (free_after_parsing): Do not free STMT field.
5771 (allocate_struct_function): Do not call init_stmt_for_function.
5772 (assign_stack_temp_for_type): Do not accept values of keep
5773 other than 0 or 1.
5774 (init_temp_slots): Do not initialize removed variables.
5775 * function.h (struct function): Remove STMT, X_TARGET_TEMP_SLOT_LEVEL
5776 and X_VAR_TEMP_SLOT_LEVEL fields.
5777 * rtl.h (set_file_and_line_for_stmt): Remove.
5778 * stmt.c (struct nesting, ALLOC_NESTING, POPSTACK,
5779 struct stmt_status, cond_stack, case_stack, nesting_stack,
5780 nesting_depth, emit_locus, set_file_and_line_for_stmt,
5781 same_case_target_p, init_stmt_for_function, emit_nop,
5782 expand_start_cond, expand_start_elseif, expand_start_else,
5783 expand_elseif, expand_end_cond): Remove.
5784 (preserve_subexpressions_p): Remove references to CFUN->STMT.
5785 (expand_start_case, expand_end_case_type): Remove, merge into...
5786 (expand_case): ... this one, including other bits from
5787 expand_expr_real_1. Inline same_case_target_p. Turn members
5788 of CASE_STACK into local variables.
5789 (emit_case_bit_tests): Inline same_case_target_p.
5790 (add_case_node): Add HEAD argument, return new head of the list,
5791 do not handle default label here.
5792 * tree.h (expand_start_cond, expand_end_cond, expand_start_else,
5793 expand_start_elseif, current_nesting_level, expand_start_case,
5794 expand_end_case_type, expand_end_case, add_case_node,
5795 init_stmt_for_function, expand_elseif): Remove prototypes.
5796 (expand_case): Add prototype.
5797
c4d70ce3
PB
57982004-08-09 Paolo Bonzini <bonzini@gnu.org>
5799
5800 * expr.c (expand_expr_real_1): Use optab_for_tree_code.
5801
58022004-08-09 Paolo Bonzini <bonzini@gnu.org>
e5bacf32
PB
5803
5804 * expr.c (var_rtx): Remove.
5805 (expand_expr_real_1) <LOOP_EXPR, EXIT_EXPR,
5806 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRUTH_ANDIF_EXPR,
5807 TRUTH_ORIF_EXPR, COMPOUND_EXPR, CONJ_EXPR, INIT_EXPR>:
5808 Abort.
5809 (expand_expr_real_1) <COND_EXPR>: Remove most special cases.
5810 * optabs.c (emit_clr_insn, emit_0_to_1_insn): Remove.
5811 * optabs.h (emit_clr_insn, emit_0_to_1_insn): Remove.
5812
d72372e4
MH
58132004-08-08 Mostafa Hagog <mustafa@il.ibm.com>
5814 Ayal Zaks <zaks@il.ibm.com>
5815
5816 * common.opt (freschedule-modulo-scheduled-loops): New flag.
5817 * final.c (final_scan_insn): Handle NOTE_DISABLE_SCHED_OF_BLOCK.
5818 * modulo-sched.c (sms_schedule): Emit a note to disable scheduling
5819 when -freschedule-modulo-scheduled-loops flag is not specified.
5820 (sms_schedule_by_order, ps_insn_advance_column, add_node_to_ps,
5821 add_node_to_ps, ps_has_conflicts, ps_add_node_check_conflicts):
5822 More accurate placing of insn in row of partial schedule.
5823 (ps_insn_find_column): New function.
5824 * rtl.h (NOTE_DISABLE_SCHED_OF_BLOCK): New note.
5825 * sched-rgn.c (sched_is_disabled_for_current_region_p): New.
5826 (schedule_region): Use sched_is_disabled_for_current_region_p.
5827 * docs/invoke.texi: Document -freschedule-modulo-scheduled-loops.
5828
0737fbff
L
58292004-08-07 H.J. Lu <hongjiu.lu@intel.com>
5830
5831 * config/i386/i386.c (ix86_expand_clrmem): Revert the last
5832 change.
5833
11c4576f
L
58342004-08-07 H.J. Lu <hongjiu.lu@intel.com>
5835
5836 * config/i386/i386.c (ix86_expand_clrmem): Properly call
5837 gen_strset for 64bit target.
5838
34def210
OH
58392004-08-07 Olivier Hainque <hainque@act-europe.fr>
5840
5841 * config/vxworks.h (HANDLE_SYSV_PRAGMA): Remove definition.
5842
5201931e
JM
58432004-08-07 Jason Merrill <jason@redhat.com>
5844
cc77ae10
JM
5845 Make return in memory explicit.
5846 * function.c (aggregate_value_p): Check DECL_BY_REFERENCE.
5847 (assign_parm_find_data_types): Remove code for old front end
5848 invisible reference handling.
5849 (assign_parms): Handle DECL_BY_REFERENCE on the RESULT_DECL.
5850 (expand_function_end): Likewise.
5851 * gimplify.c (gimplify_return_expr): Handle a dereferenced
5852 RESULT_DECL.
5853 * tree-inline.c (copy_body_r): Don't bother looking for &* anymore.
5854 (declare_return_variable): Handle DECL_BY_REFERENCE.
5855 * cp/cp-gimplify.c (is_invisiref_parm): Also handle RESULT_DECL.
5856 (cp_genericize_r): Use convert_from_reference.
5857 Don't dereference a RESULT_DECL directly inside a RETURN_EXPR.
5858 (cp_genericize): Handle the RESULT_DECL. Unset TREE_ADDRESSABLE.
5859
5201931e
JM
5860 * c-common.c (c_warn_unused_result): Check TREE_USED before
5861 warning about a CALL_EXPR with an unused value.
5862
2ed9e527
MM
58632004-08-06 Mark Mitchell <mark@codesourcery.com>
5864
5865 * config/arm/symbian.h (CC1_SPEC): Avoid passing duplicate options
5866 to the compiler. Use -fshort-wchar by default.
5867
12183e0f
PH
58682004-08-06 Pat Haugen <pthaugen@us.ibm.com>
5869
5870 * params.def (PARAM_MIN_CROSSJUMP_INSNS): New.
5871 * cfgcleanup.c (try_crossjump_to_edge): Add minimum insn match
5872 threshhold.
5873 * doc/invoke.texi (param): Document min-crossjump-insns.
5874
eaac4679
RS
58752004-08-06 Richard Sandiford <rsandifo@redhat.com>
5876
5877 PR c/13282
5878 * c.opt (Wmissing-field-initializers): New option.
5879 * c-opts.c (c_common_post_options): Make -Wextra turn it on by default.
5880 * c-typeck.c (pop_init_level): Guard the missing field warning with
5881 warn_missing_field_initializers rather than extra_warnings.
5882 * doc/invoke.texi (-Wmissing-field-initializers): Document, moving
5883 some of the explanation from...
5884 (-Wextra): ...here. Say that the missing field warning can be
5885 seperately controlled by -Wmissing-field-initializers.
5886
caad9f81
PB
58872004-08-06 Paolo Bonzini <bonzini@gnu.org>
5888
5889 * expr.c (expand_expr_real_1) <ENTRY_VALUE_EXPR>: Remove.
5890 * tree-inline.c (estimate_num_insns_1) <ENTRY_VALUE_EXPR>: Remove.
5891 * tree-pretty-print.c (dump_generic_node) <ENTRY_VALUE_EXPR>: Remove.
5892 * tree.def (ENTRY_VALUE_EXPR): Remove.
5893
6b32b628
JJ
58942004-08-06 Jakub Jelinek <jakub@redhat.com>
5895
5896 * config/i386/i386.c (ix86_expand_clrmem): Move gen_cld down to
5897 the places where it is actually needed. Don't use repz; stosb
5898 for -Os with sufficiently small constant sizes.
5899 For sufficiently small repz; stos{l,q} repeat counts use a sequence
5900 of stos{l,q} instructions instead.
5901
6797f908
ZD
59022004-08-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5903
5904 PR tree-optimization/16807
5905 * loop-iv.c (dump_iv_info): Dump invariants correctly.
5906 (iv_subreg, iv_extend): Express value of invariant purely in
5907 base field.
5908
866cf037
MM
59092004-08-06 Mark Mitchell <mark@codesourcery.com>
5910
5911 * config/arm/symbian.h (CC1_SPEC): Add -fno-short-enums.
5912 (CC1PLUS_SPEC): Define it to be the same as CC1_SPEC.
5913
9652c531 59142004-08-06 Roman Zippel <zippel@linux-m68k.org>
9b305d55 5915
27fb79ad
SB
5916 * config/m68k/m68k.c (post_inc_operand,pre_dec_operand): New.
5917 * config/m68k/m68k.h (PREDICATE_CODES): add post_inc_operand,
5918 pre_dec_operand.
5919 * config/m68k/m68k.md (zero_extend*2): delay the splitting of the
5920 pattern until reload is finished to allow better code generation
5921 and split them completely into separate instrunctions.
5922 (*andsi3_split): New pattern.
9652c531 5923
b2ca3702
MM
59242004-08-05 Mark Mitchell <mark@codesourcery.com>
5925
5926 * tree.c (handle_dll_attribute): Move here from i383/winnt.c.
5927 Replace use of DECL_INLINE with DECL_DECLARED_INLINE_P. Set
5928 DECL_VISIBLITY. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
5929 * tree.h (handle_dll_attribute): Declare. Test
5930 TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
5931 * c-common.h (c_determine_visibility): Declare.
5932 * c-common.c (c_determine_visibility): New function.
5933 * c-decl.c (finish_decl): Use it.
5934 (finish_function): Likewise.
5935 * defaults.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define it to
5936 zero, by default. Use #if, not #ifdef, to test it.
5937 * config/arm/arm.c (arm_attribute_table): Use
5938 handle_dll_attribute. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with
5939 #if.
5940 * config/arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define to 1.
5941 * config/i386/cygming.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
5942 to 1.
5943 * config/i386/i386-protos.h (ix86_handle_dll_attribute): Remove.
5944 * config/i386/i386.c (ix86_attribute_table): Use
5945 handle_dll_attribute for dllimport/dllexport. Test
5946 TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
5947 * config/i386/winnt.c (ix86_handle_dll_attribute): Remove.
5948 * config/mcore/mcore.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
5949 it to 1.
5950 * config/mcore/mcore.c (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Test it
5951 with #if.
5952 * config/sh/symbian-pre.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
5953 it to 1.
5954 * doc/extend.texi (dllexport): Clarify and correct documentation.
5955 (dllimport): Likewise.
5956 * doc/tm.texi (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Mention
5957 handle_dll_attribute.
9b305d55 5958
c913f08a
ZD
59592004-08-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5960
5961 * tree-ssa-loop-manip.c: New file.
5962 * Makefile.in (tree-ssa-loop-manip.o): Add.
5963 * tree-flow.h (rewrite_into_loop_closed_ssa, verify_loop_closed_ssa):
5964 Declare.
5965 * tree-ssa-loop.c (tree_loop_optimizer_init): Create loop closed ssa
5966 form.
5967 (tree_ssa_loop_done): Verify loop closed ssa form.
5968 * tree-ssa-loop-im.c (move_computations): Update loop closed ssa form.
5969
d4482715
JDA
59702004-08-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5971
5972 * pa.c (pa_asm_output_aligned_bss, pa_asm_output_aligned_common,
5973 pa_asm_output_aligned_local): New functions.
5974 * pa-protos.h: Add prototypes for pa_asm_output_aligned_bss,
5975 pa_asm_output_aligned_common and pa_asm_output_aligned_local.
5976 * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Use
5977 pa_asm_output_aligned_common.
5978 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
5979 * pa.h (ASM_OUTPUT_ALIGNED_BSS): New macro.
5980 (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
5981 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
5982 * pa64-hpux.h (MAX_OFILE_ALIGNMENT): New macro.
5983 (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
5984 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
5985 * som.h (MAX_OFILE_ALIGNMENT): Provide maximum alignment of global
5986 common data.
5987
21149a79
AP
59882004-08-05 Andrew Pinski <apinski@apple.com>
5989
5990 * objc/objc-act.c (build_objc_string_object): Mark the address
5991 expression as constant.
5992
d5861a7a
DE
59932004-08-05 David Edelsohn <edelsohn@gnu.org>
5994
5995 * config/rs6000/rs6000.c (rs6000_rtx_costs): Fix mask_operand
5996 and mask64_operand thinkos. Handle ZERO_EXTRACT. Handle
5997 SIGN_EXTEND / ZERO_EXTEND of MEM. Handle rlwinm patterns.
5998
0a2b72a6
JM
59992004-08-05 Joseph S. Myers <jsm@polyomino.org.uk>
6000
6001 * config/linux.h, config/i386/linux.h, config/sparc/linux.h:
6002 Remove definitions conditioned on USE_GNULIBC_1 or conditioned
6003 out, and associated obsolete comments.
6004
ca7a3bd7
NS
60052004-08-05 Nathan Sidwell <nathan@codesourcery.com>
6006
6007 * tree.h (force_fit_type): Return a tree, take three flags.
6008 * fold-const.c (force_fit_type): Set TREE_OVERFLOW and
6009 TREE_CONSTANT_OVERFLOW here.
6010 (int_const_binop, const_binop): Adjust.
6011 (size_int_type): Do sign extension here.
6012 (fold_convert_const, optimize_bit_field_compare,
6013 decode_field_reference, all_ones_mask_p, fold_div_compare, fold,
6014 fold_negate_const, fold_abs_const, fold_not_const): Adjust.
6015 * tree.c (size_in_bytes, int_fits_type_p): Adjust.
6016
d36837f4
ZD
60172004-08-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6018
6019 PR tree-optimization/16864
6020 * tree-tailcall.c (eliminate_tail_call): Do not create phi nodes
6021 for ssa names without default_def.
6022
ea5f7a19
RS
60232004-08-05 Richard Sandiford <rsandifo@redhat.com>
6024
6025 * config/i386/i386.c (ix86_expand_prologue): If the function uses a
6026 frame pointer, restore eax with an ebp-relative address.
6027
0e6df31e
GK
60282004-08-04 Geoffrey Keating <geoffk@apple.com>
6029
6030 PR 14516
6031 * c-common.c (c_expand_decl): Don't special-case static VAR_DECLs.
6032 * c-common.h (make_rtl_for_local_static): Delete.
6033 * c-decl.c (shadow_tag_warned): Clean up comment.
6034 (finish_decl): Clean up spacing. Use set_user_assembler_name when
6035 appropriate. Don't pass asmspec to rest_of_decl_compilation.
6036 * c-semantics.c (make_rtl_for_local_static): Delete.
6037 * expr.c (init_block_move_fn): Use set_user_assembler_name.
6038 (init_block_clear_fn): Likewise.
6039 * passes.c (rest_of_decl_compilation): Remove asmspec parameter,
6040 expect it to be in DECL_ASSEMBLER_NAME. Update callers in many files.
6041 * toplev.h (rest_of_decl_compilation): Remove asmspec parameter.
6042 * tree.h (make_decl_rtl): Remove second parameter.
6043 (set_user_assembler_name): New.
6044 * varasm.c (set_user_assembler_name): New.
6045 (make_decl_rtl): Remove second parameter. Update callers in many
6046 files.
6047
4f587cb0
AN
60482004-08-05 Adam Nemet <anemet@lnxw.com>
6049
6050 * config.gcc (case i[34567]86-*-lynxos*): Update to LynxOS 4.0.
6051 (case rs6000-*-lynxos*): Rename it to powerpc-*-lynxos*. Update
6052 to LynxOS 4.0.
6053 * gthr-lynx.h: New file.
6054 * config/lynx-ng.h: Remove file.
6055 * config/lynx.h: Update to LynxOS 4.0.
6056 * config/t-lynx: New file.
6057 * config/i386/lynx-ng.h: Remove file.
6058 * config/i386/lynx.h: Update to LynxOS 4.0.
6059 * config/rs6000/lynxbase.h: Remove file.
6060 * config/rs6000/lynx.h: Update to LynxOS 4.0.
6061 * config/rs6000/t-lynx: New file.
6062 * doc/install.texi (Options specification): Remove reference to
6063 LynxOS from systems where --with-gnu-as makes a difference.
6064
85291069
JM
60652004-08-05 Joseph S. Myers <jsm@polyomino.org.uk>
6066
6067 * c-common.c (c_stddef_cpp_builtins): Define __INTMAX_TYPE__ and
6068 __UINTMAX_TYPE__.
6069 * c-cppbuiltin.c (builtin_define_stdint_macros): New. Define
6070 __INTMAX_MAX__.
6071 (c_cpp_builtins): Call it.
6072 * doc/cpp.texi: Update.
6073
30a555d9
DE
60742004-08-04 David Edelsohn <edelsohn@gnu.org>
6075
6076 * config/rs6000/rs6000.c (rs6000_rtx_costs): LABEL_REFs are zero
6077 cost.
6078
878f99d2
JH
60792004-08-04 Jan Hubicka <jh@suse.cz>
6080
6081 * basic-block.h (profile_staus): New global variable.
6082 * cfg.c (profile_status): Declare.
6083 (check_bb_profile): Break out from ....; use profile_status
6084 (dump_flow_info): ... here.
6085 * cfgbuild.c (find_basic_blocks): Set profile_status.
6086 * cfgexpand.c (tree_expand_cfg): Likewise.
6087 * predict.c (estimate_probability): Likewise.
6088 * profile.c (branch_prob): Likewise.
6089 * tree-cfg.c (build_tree_cfg): Likewise.
6090 (dump_function_to_file): Use check_bb_profile.
6091 * tree-pretty-print (dump_bb_header): Likewise.
6092 * tree-profile.c (do_tree_profiling): Cleanup.
6093
7e7ec48e
ZW
60942004-08-04 Zack Weinberg <zack@codesourcery.com>
6095
6096 * Makefile.in (RTL_BASE_H, RTL_H): Correct.
6097 (BUILD_RTL): Remove $(BUILD_PREFIX) from ggc-none.o.
6098 (genobjs): Add errors.o, ggc-none.o, and min-insn-modes.o.
6099 (read-rtl.o, gensupport.o, genconfig.o, genflags.o, gencodes.o)
6100 (genconstants.o, genemit.o, genopinit.o, genrecog.o, genextract.o)
6101 (genpeep.o, genattr.o, genattrtab.o, genautomata.o, genoutput.o)
6102 (genconditions.o): Depend on $(RTL_BASE_H) not $(RTL_H).
6103 (ggc-none.o, errors.o): Move rule to generators section;
6104 correct dependencies.
6105 (min-insn-modes.o): Move rule to generators section; remove
6106 unnecessary explicit command; correct dependencies.
6107 (print-rtl.o, print-rtl1.o): Correct dependencies.
6108 ($(BUILD_PREFIX_1)errors.o. $(BUILD_PREFIX_1)ggc-none.o): Delete rule.
6109 (mostlyclean): Update.
6110
6111 * errors.c: Include bconfig.h not config.h. Correct comment.
6112 * gengtype.c, genpreds.c: Don't define NO_GENRTL_H.
6113 * ggc-none.c: Include bconfig.h; not config.h or tm.h.
6114 * print-rtl.c: Don't include tm_p.h.
6115
6116 * rtl.h: Move forward-decl of struct function down where it's
6117 needed. Include genrtl.h #ifndef GENERATOR_FILE, not
6118 #ifndef NO_GENRTL_H. Remove unnecessary #ifdef BUFSIZ statements.
6119
b0382c67
ZD
61202004-08-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6121 Jeff Law <law@redhat.com>
6122
6123 * tree-cfg.c (tree_duplicate_bb): Mark duplicated definitions.
6124 * tree-flow.h (rewrite_ssa_into_ssa): Declaration changed.
6125 * tree-into-ssa.c (rewrite_ssa_into_ssa): Use new interface to
6126 manipulate the duplicated ssa names.
6127 * tree-ssanames.c (ssa_names_to_rewrite): New variable.
6128 (marked_for_rewrite_p, any_marked_for_rewrite_p, mark_for_rewrite,
6129 unmark_all_for_rewrite, marked_ssa_names, release_ssa_name_force):
6130 New functions.
6131 (release_ssa_name): Do not release ssa names that may have multiple
6132 definitions.
6133 * tree.h (release_ssa_name_force, mark_for_rewrite,
6134 unmark_all_for_rewrite, marked_for_rewrite_p, any_marked_for_rewrite_p,
6135 marked_ssa_names): Declare.
6136 * tree-ssa-loop-ch.c (mark_defs_for_rewrite): Remove.
6137 (duplicate_blocks): Remove call to mark_defs_for_rewrite.
6138 Update call to rewrite_ssa_into_ssa.
6139
63c5b495
MM
61402004-08-04 Mark Mitchell <mark@codesourcery.com>
6141
6142 * defaults.h (TARGET_DECLSPEC): New macro.
6143 * c-cppbuiltin.c (c_cpp_builtins): Handle TARGET_DECLSPEC.
6144 * config/arm/pe.h (SUBTARGET_CPP_SPEC): Remove __declspec support.
b2ca3702 6145 * config/arm/symbian.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
63c5b495
MM
6146 * config/i386/beof-elf.h (TARGET_OS_CPP_BUILTINS): Remove
6147 __declspec support.
6148 (TARGET_DECLSPEC): Define.
6149 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Remove
6150 __declspec support.
6151 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS): Remove
6152 __declspec support.
6153 (TARGET_DECLSPEC): Define.
6154 * config/mcore/mcore.h (TARGET_CPU_CPP_BUILTINS): Remove
6155 __declspec support.
6156 * config/sh/symbian-pre.h (SUBTARGET_CPP_SPEC): Remove __declspec
6157 support.
6158 * doc/tm.texi (TARGET_DECLSPEC): Document.
6159
6160 * doc/extend.texi: Fix typo in comment.
6161
44d10c10
PB
61622004-08-04 Paul Brook <paul@codesourcery.com>
6163
6164 * target-def.h (TARGET_CXX_CDTOR_RETURNS_THIS): Define.
6165 (TARGET_CXX): Use it.
6166 * target.h (struct gcc_target): Add cdtor_returns_this.
6167 * config/arm/arm.c (arm_cxx_cdtor_returns_this): New function.
6168 (TARGET_CXX_CDTOR_RETURNS_THIS): Define.
6169 * doc/tm.texi: Document TARGET_CXX_CDTOR_RETURNS_THIS.
6170
5e9754af
NS
61712004-08-03 Nathan Sidwell <nathan@codesourcery.com>
6172
6173 * c-lex.c (narrowest_unsigned_type, narrowest_signed_type): Take
6174 low/high pair. Do range checking directly.
6175 (interpret_integer): Adjust.
6176
2acc29bd
NC
61772004-08-04 Nick Clifton <nickc@redhat.com>
6178
6179 * config/sh/sh.h (TARGET_SWITCHES): Add no-renesas to select the
6180 GCC ABI.
6181 * doc/invoke.texi: Document this new switch and also the -mrenesas
6182 switch.
6183
2496942a
NS
61842004-08-04 Nathan Sidwell <nathan@codesourcery.com>
6185
6186 * cfglayout.c (insn_locators_initialize): Update the current
6187 location before initializing a location.
6188
7e2e8179
ZW
61892004-08-03 Zack Weinberg <zack@codesourcery.com>
6190
403f8503
ZW
6191 * dbxout.c (dbxout_function_decl): Always call dbxout_function_end.
6192 (dbxout_function_end): Return after emitting the "Lscope" symbol
6193 under the same conditions that this function formerly wasn't called.
6194 Add explanatory comments.
6195
bcc7f708 6196 PR 14860
ca043393
ZW
6197 * c-decl.c (record_builtin_type): Call debug_hooks->type_decl
6198 on the new decl.
6199
bcc7f708 6200 PR 13956
7e2e8179
ZW
6201 * dbxout.c (dbx_output_lbrac, dbx_output_rbrac): New
6202 functions, broken out of dbxout_block.
6203 (dbxout_block): The block at depth 0 should get LBRAC/RBRAC
6204 stabs too, if it contains symbols. Use the begin_label and
6205 the Lscope label (emitted by dbxout_function_end) for the
6206 range of this block.
6207
5d75ba94
NN
62082004-08-03 Nathanael Nerode <neroden@gcc.gnu.org>
6209
6210 * doc/install.texi: Update autoconf version requirements.
6211
2e4e72b1
ZW
62122004-08-03 Zack Weinberg <zack@codesourcery.com>
6213
6214 * defaults.h (LEGITIMATE_PIC_OPERAND_P): Provide default definition.
6215 * recog.c (general_operand, immediate_operand, nonmemory_operand)
6216 (asm_operand_ok): Remove #ifdefs on LEGITIMATE_PICOPERAND_P.
6217 * regclass.c (record_reg_classes): Likewise.
6218 * reload.c (find_reloads): Likewise.
6219 * reload1.c (reload): Likewise.
6220
f9942f4e
ZW
62212004-08-03 Zack Weinberg <zack@codesourcery.com>
6222
6223 * gensupport.c (init_md_reader_args_cb): Renamed from
6224 init_md_reader_args. Add third option, callback function for
6225 parsing program-specific options. Add diagnosis of incorrect
6226 number of input files.
6227 (init_md_reader): Fold into init_md_reader_args_cb.
6228 (init_md_reader_args): Now a thin wrapper around
6229 init_md_reader_args_cb.
6230 * gensupport.h: Update prototypes.
6231
6232 * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c
6233 * genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c
6234 * genrecog.c: No need to diagnose lack of an input file;
6235 init_md_reader_args will handle it.
6236 * genconditions.c: Likewise, and use init_md_reader_args.
6237 * genconstants.c: Likewise, and no need to call read_md_rtx.
6238
9cbe78fb
JM
62392004-08-03 Joseph S. Myers <jsm@polyomino.org.uk>
6240
6241 * c-decl.c (implicitly_declare): Diagnose incompatible implicit
6242 declarations.
6243
3e558e80
MS
62442004-08-03 Mike Stump <mrs@apple.com>
6245
6246 * config/darwin-c.c: Don't search in "/Local/Library/Frameworks"
6247 for frameworks.
6248 * doc/invoke.texi (Darwin Options): Update to reflect above.
6249
a0fac73d
RS
62502004-08-03 Roger Sayle <roger@eyesopen.com>
6251
6252 PR middle-end/16790
6253 * fold-const.c (extract_muldiv_1) <NOP_EXPR>: Disallow local
6254 truncations, not just global truncations.
6255
cddbddb7
AP
62562004-08-03 Andrew Pinski <apinski@apple.com>
6257
6258 PR bootstrap/16865
6259 * loop-iv.c (simplify_using_assignment): Initialize lhs.
6260
bebf829d
PB
62612004-08-03 Paul Brook <paul@codesourcery.com>
6262
6263 * gcc/doc/install.texi: Document MPFR requirement.
6264
cddbddb7 62652004-08-03 Maciej W. Rozycki <macro@linux-mips.org>
3b0727a0 6266
f9942f4e
ZW
6267 * aclocal.m4 (gcc_AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
6268 and mmap() explicitly instead of relying on preset autoconf cache
3b0727a0
MR
6269 variables.
6270 * configure: Regenerate.
6271
f6bc51cb
L
62722004-08-03 H.J. Lu <hongjiu.lu@intel.com>
6273
6274 PR target/16570
6275 * config.gcc (i[34567]86-*-* | x86_64-*-*): Add i386/t-gmm_malloc
6276 to tmake_file.
6277 (i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1): Likewise.
6278 (i[34567]86-*-linux* | x86_64-*-linux*): Add i386/t-pmm_malloc
6279 to tmake_file.
6280
6281 * config/i386/t-gmm_malloc: New file.
6282 * config/i386/t-pmm_malloc: Likewise.
f9942f4e 6283
f6bc51cb
L
6284 * config/i386/xmmintrin.h: Include <mm_malloc.h>.
6285
62862004-08-03 H.J. Lu <hongjiu.lu@intel.com>
5b0264cb 6287