]>
Commit | Line | Data |
---|---|---|
3ea8cd06 JM |
1 | 2004-07-22 Joseph S. Myers <jsm@polyomino.org.uk> |
2 | ||
3 | * c-typeck.c (set_init_index): Require designator to be of integer | |
4 | type. | |
5 | ||
916c5919 JM |
6 | 2004-07-22 Joseph S. Myers <jsm@polyomino.org.uk> |
7 | ||
8 | PR c/11250 | |
9 | * c-parse.in (init): Change to exprtype. | |
10 | (primary): Set original_code for STRING to STRING_CST. | |
11 | Call maybe_warn_string_init for compound literals. | |
12 | (initdcl, notype_initdcl): Call maybe_warn_string_init. | |
13 | (initval): Update. | |
14 | * c-tree.h (maybe_warn_string_init): New. | |
15 | (pop_init_level, process_init_element): Use struct c_expr. | |
16 | (struct c_expr): Update comment. | |
17 | * c-typeck.c (maybe_warn_string_init): New function. | |
18 | (digest_init): Call it. Additional parameter strict_string. All | |
19 | callers changed. | |
20 | (output_init_element): Likewise. | |
21 | (struct constructor_stack): Use struct c_expr for | |
22 | replacement_value. | |
23 | (really_start_incremental_init, push_init_level): Update. | |
24 | (pop_init_level): Update. Return struct c_expr. | |
25 | (process_init_level): Update. Take struct c_expr argument. | |
26 | ||
bf6c40e9 DM |
27 | 2004-07-21 David S. Miller <davem@nuts.davemloft.net> |
28 | ||
29 | * config/sparc/sparc.c (sparc_rtx_costs): Fix typo in previous | |
30 | commit. | |
31 | ||
caf93cb0 EC |
32 | 2004-07-21 Eric Christopher <echristo@redhat.com> |
33 | ||
34 | * builtins.c (expand_builtin_setjmp_receiver): Fix comment for code | |
35 | removal. | |
36 | * c-decl.c (pop_scope): Ditto. | |
37 | * calls.c (expand_call): Remove call to current_nesting_level, | |
38 | update comment accordingly. Remove calls to expand_start_target_temps | |
39 | and expand_end_target_temps. | |
40 | * cfgexpand.c (construct_init_block): Remove call to | |
41 | expand_start_bindings_and_block. | |
42 | (construct_exit_block): Remove call to expand_end_bindings. | |
43 | * expr.c (safe_from_p): Remove BIND_EXPR handling. | |
44 | (expand_expr_real_1): Ditto. Fix formatting. | |
45 | (expand_vars): Delete. | |
46 | * stmt.c (POPSTACK): Remove block_stack. | |
47 | (stmt_status): Remove x_block_stack. | |
48 | (block_stack): Delete. | |
49 | (expand_start_bindings_and_block): Ditto. | |
50 | (expand_start_target_temps): Ditto. | |
51 | (expand_end_target_temps): Ditto. | |
52 | (current_nesting_level): Ditto. | |
53 | (warn_about_unused_variables): Ditto. | |
54 | (expand_end_bindings): Ditto. | |
55 | * tree.h: Remove declarations for above. | |
56 | ||
07a236b6 SB |
57 | 2004-07-21 Steven Bosscher <stevenb@suse.de> |
58 | ||
59 | * rtl.h (insn_note): Remove NOTE_INSN_PREDICTION. | |
60 | * rtl.c (note_insn_name): Likewise. | |
61 | * print-rtl.c (print_rtx): Don't print it. | |
62 | * cfgrtl.h (can_delete_note_p): Don't handle it. | |
63 | (rtl_delete_block): Likewise. | |
64 | * passes.c (rest_of_handle_guess_branch_prob): Remove. | |
65 | (rest_of_compilation): Don't call it. | |
66 | * predict.c (process_note_predictions, process_note_prediction, | |
67 | note_prediction_to_br_prob): Remove. | |
68 | * basic-block.c (note_prediction_to_br_prob): Remove prototype. | |
69 | * stmt.c (return_prediction): Remove. | |
70 | (expand_value_return): Don't call it. Don't add prediction | |
71 | notes for return statements. | |
72 | ||
0e6ed899 JZ |
73 | 2004-07-21 Josef Zlomek <zlomekj@suse.cz> |
74 | ||
75 | * var-tracking.c (vt_find_locations): Set the in_pending bitmap at | |
76 | once. | |
77 | ||
4ae28805 PB |
78 | 2004-07-21 Paolo Bonzini <bonzini@gnu.org> |
79 | ||
80 | * c-common.c (vector_types_convertible_p): Use vector types' | |
81 | TYPE_SIZE and TREE_TYPE instead of their mode. | |
82 | * convert.c (convert_to_integer): Likewise. | |
83 | (convert_to_vector): Likewise. | |
84 | * fold-const.c (fold_convert): Likewise. | |
85 | * varasm.c (output_constant): Likewise. | |
86 | * expr.c (store_constructor): Split ARRAY_TYPE and VECTOR_TYPE. | |
87 | Allow a VECTOR_TYPE initializer to be made of several vectors. | |
88 | For ARRAY_TYPEs and VECTOR_TYPES, simplify a bit the handling | |
89 | of cleared and need_to_clear, and use fold_convert. | |
90 | * c-typeck.c (build_binary_op): Do not use RDIV_EXPR for | |
91 | integer vectors. | |
92 | ||
80c7a9eb RH |
93 | 2004-07-20 Richard Henderson <rth@redhat.com> |
94 | ||
95 | * cfgexpand.c (expand_gimple_cond_expr, expand_gimple_tailcall): Split, | |
96 | (expand_gimple_basic_block): out from here. Renamed from expand_block. | |
97 | ||
e08eb33c DM |
98 | 2004-07-20 David S. Miller <davem@nuts.davemloft.net> |
99 | ||
100 | * config/sparc/sparc.c (sparc_rtx_costs case MULT): Emit | |
101 | enormous cost if not TARGET_HARD_MUL. | |
102 | ||
e70d4dfb AP |
103 | 2004-07-20 Andrew Pinski <apinski@apple.com> |
104 | ||
105 | PR target/16557 | |
106 | * config/i386/darwin.h (CC1_SPEC): Move the -g SPECs from ... | |
107 | (ASM_SPEC): here. | |
108 | ||
78773322 PB |
109 | 2004-07-21 Paul brook <paul@codesourcery.com> |
110 | ||
111 | * config/arm/arm.c (thumb_expand_prologue): Remove bogus GEN_INT. | |
112 | ||
462fdcce RK |
113 | 2004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
114 | ||
115 | * fold-const.c (operand_equal_p): Temporarily support NULL args. | |
116 | (operand_equal_p, case ARRAY_REF): Compare args 2 and 3. | |
117 | (operand_equal_p, case COMPONENT_REF): Likewise, for arg 2. | |
118 | ||
3e95a7cb ZW |
119 | 2004-07-20 Zack Weinberg <zack@codesourcery.com> |
120 | ||
121 | * rtl.h (plus_constant): Delete. | |
122 | (plus_constant_wide): Rename to plus_constant. | |
123 | (plus_constant_for_output_wide): Delete vestigial prototype. | |
124 | (GEN_INT): Remove unnecessary cast. | |
125 | * tree.h (build_int_2, size_int_type): Delete. | |
126 | (build_int_2_wide): Rename to build_int_2. | |
127 | (size_int_wide): Rename to size_int_kind. | |
128 | (size_int_type_wide): Rename to size_int_type. | |
129 | (size_int, ssize_int, bitsize_int, sbitsize_int): Use size_int_kind. | |
130 | Remove unnecessary cast. | |
131 | * tree.c (build_int_2_wide): Rename build_int_2; update comment. | |
132 | * explow.c (plus_constant_wide): Rename plus_constant; update comment. | |
133 | * fold-const.c (size_int_wide): Rename size_int_kind. Use size_int_type. | |
134 | (size_int_type_wide): Rename size_int_type. | |
135 | (int_const_binop): Use size_int_type. | |
136 | * c-lex.c (interpret_integer): Use build_int_2. | |
137 | * final.c (split_double): Remove unnecessary casts. | |
138 | * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use build_int_2. | |
139 | ||
14797075 RH |
140 | 2004-07-20 Richard Henderson <rth@redhat.com> |
141 | ||
142 | * gimplify.c (is_gimple_tmp_var): Move to tree-gimple.c. | |
143 | (gimplify_compound_lval): Use is_gimple_tmp_reg. | |
144 | * tree-gimple.c (is_gimple_tmp_var): Move from gimplify.c. | |
145 | (is_gimple_tmp_reg): New. | |
146 | * tree-gimple.h (is_gimple_tmp_reg): Declare. | |
147 | ||
40a37b04 RH |
148 | 2004-07-20 Richard Henderson <rth@redhat.com> |
149 | ||
150 | * tree-pretty-print.c (dump_generic_node): Dump | |
151 | CALL_EXPR_HAS_RETURN_SLOT_ADDR. | |
152 | ||
5d33f41f FCE |
153 | 2004-07-20 Frank Ch. Eigler <fche@redhat.com> |
154 | ||
155 | * tree-mudflap.c (mf_set_options_fndecl): New tree. | |
156 | (mudflap_init): Set it. | |
157 | (mudflap_register_call): Remove __mf_init call. | |
158 | (mudflap_finish_file): Emit call to __mf_init here. Emit a call to | |
159 | to pass "-ignore-reads" option to libmudflap if needed. | |
160 | ||
9a55eab3 JDA |
161 | 2004-07-20 John David Anglin <dava.anglin@nrc-cnrc.gc.ca> |
162 | ||
163 | PR c++/14607 | |
164 | * config/pa/pa-hpux10.h (SUPPORTS_ONE_ONLY): Define. | |
165 | (MAKE_DECL_ONE_ONLY): Undefine. | |
166 | * pa-protos.h (som_text_section_asm_op, one_only_readonly_data_section, | |
167 | readonly_data, one_only_data_section, forget_section): New prototypes. | |
168 | * pa.c (pa_init_machine_status, som_text_section_asm_op): New | |
169 | functions. | |
170 | (pa_select_section): Add one-only (COMDAT) support. | |
171 | * pa.h (struct machine_function): Define. | |
172 | * som.h (ASM_OUTPUT_FUNCTION_PREFIX): Delete. | |
173 | (TEXT_SECTION_ASM_OP): Call som_text_section_asm_op. | |
174 | (DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP, | |
175 | ONE_ONLY_TEXT_SECTION_ASM_OP, ONE_ONLY_READONLY_DATA_SECTION_ASM_OP, | |
176 | ONE_ONLY_DATA_SECTION_ASM_OP): New defines. | |
177 | (EXTRA_SECTIONS): Add in_one_only_readonly_data and in_one_only_data. | |
178 | (EXTRA_SECTION_FUNCTIONS): Rework to use individual function macros. | |
179 | (READONLY_DATA_FUNCTION, ONE_ONLY_READONLY_DATA_SECTION_FUNCTION, | |
180 | ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION): New defines | |
181 | for EXTRA_SECTION_FUNCTIONS. | |
182 | * doc/install.texi: Update binutils requirements. | |
183 | ||
b396053c NS |
184 | 2004-07-20 Nathan Sidwell <nathan@codesourcery.com> |
185 | ||
3cbf09de NS |
186 | * vec.h (VEC_T_length, VEC_T_index, VEC_T_iterate, VEC_T_truncate, |
187 | VEC_T_replace, VEC_T_quick_insert, VEC_T_safe_insert, | |
188 | VEC_T_ordered_remove, VEC_T_unordered_remove): Use unsigned, not | |
189 | size_t. | |
190 | (struct VEC): Use unsigned for num and alloc. | |
191 | * vec.c (struct vec_prefix): Likewise. | |
192 | (vec_o_reserve): Adjust. | |
193 | ||
bd65c564 NS |
194 | * dbxout.c (dbxout_type): Fix printf format. |
195 | ||
b396053c NS |
196 | * tree.h (binfo_member): Remove. |
197 | * tree.c (binfo_member): Remove. | |
198 | ||
fa743e8c NS |
199 | 2004-07-20 Nathan Sidwell <nathan@codesourcery.com> |
200 | ||
201 | * tree.h: Include vec.h | |
202 | (DEF_VEC_P(tree)): New type. | |
203 | (BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): Adjust. | |
204 | (BINFO_BASE_APPEND, BINFO_BASE_ITERATE): New. | |
205 | (BINFO_LANG_SLOT): Remove. | |
206 | (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, BINFO_PRIMARY_BASE_OF): New. | |
207 | (struct tree_binfo): Turn base_binfos into a trailing | |
208 | VEC(tree). Add vtt_subvtt, vtt_vptr, primary fields. | |
209 | (binfo_lang_slots): Remove. | |
210 | * tree.c (binfo_lang_slots): Remove. | |
211 | (make_tree_binfo_stat): Take a base binfo count, not a | |
212 | lang slot count. Adjust. | |
213 | * Makefile.in (TREE_H): Add vec.h | |
214 | * alias.c (record_component_aliases): Adjust BINFO access. | |
215 | * dbxout.c (dbxout_type): Likewise. | |
216 | * dwarf2out.c (gen_member_die): Likewise. | |
217 | * sdbout.c (sdbout_one_type): Likewise. | |
218 | * tree-dump.c (deque_and_dump): Likewise. | |
219 | * config/i386/i386.c (classify_argument, | |
220 | contains_128bit_aligned_vector_p): Likewise. | |
221 | * config/sh/symbian.c (symbian_export_vtable_and_rtti_p): Likewise. | |
222 | * doc/c-tree.texi (Classes): Update BINFO documentation. | |
223 | ||
a6c0a76c SB |
224 | 2004-07-20 Steven Bosscher <stevenb@suse.de> |
225 | ||
226 | * c-common.h (check_case_value): Remove prototype. | |
227 | (c_add_case_label): Adjust prototype. | |
228 | * c-common.c (check_case_value): Make static. | |
229 | (check_case_bounds): New function. | |
230 | (c_add_case_label): Use it. Take new argument orig_type. | |
231 | * c-typeck.c (struct c_switch): New orig_type field. | |
232 | (c_start_case): Set it. | |
233 | (do_case): Pass it to c_add_case_label. | |
234 | * expr.c (expand_expr_real_1): Don't warn for out-of-bounds | |
235 | cases from here. Add the labels in reverse order. | |
236 | * stmt.c (struct case_node): Adjust comment. Remove balance field. | |
237 | (add_case_node): Return nothing, don't check for duplicate cases. | |
238 | Insert new case nodes in a list, not in an AVL tree. | |
239 | (expand_end_case_type): Don't turn a case tree into a case list. | |
240 | (case_tree2list): Remove. | |
241 | * tree.h (add_case_node): Adjust prototype. | |
242 | ||
fa0aee89 PB |
243 | 2004-07-19 Paolo Bonzini <bonzini@gnu.org> |
244 | ||
245 | * genattr.c (struct range, struct function_unit, | |
246 | write_units, extend_range, init_range): Remove them. | |
247 | (main): Remove code dealing with DEFINE_FUNCTION_UNIT. | |
248 | Output "#define INSN_SCHEDULING" here. | |
249 | * genattrtab.c (struct range, struct function_unit_op, | |
250 | struct function_unit, struct dimension, enum operator, | |
251 | operate_exp, expand_units, simplify_knowing, | |
252 | encode_units_mask, simplify_by_exploding, | |
253 | find_and_mark_used_attributes, unmark_used_attributes, | |
254 | add_values_to_cover, increment_current_value, | |
255 | test_for_current_value, simplify_with_current_value, | |
256 | simplify_with_current_value_aux, gen_unit, | |
257 | write_unit_name, write_function_unit_info, | |
258 | write_complex_function, write_toplevel_expr, | |
259 | find_single_value, extend_range): Remove. | |
260 | (write_attr_get): Do not handle common_av->value | |
261 | being an FFS. | |
262 | (struct attr_desc): Remove func_units_p and blockage_p. | |
263 | (write_attr_valueq): Do not handle them. | |
264 | (find_attr): Do not clear them. | |
265 | (make_internal_attr): Do not initialize them. | |
266 | (main): Remove code dealing with DEFINE_FUNCTION_UNIT. | |
267 | * sched-vis.c (init_target_units, insn_print_units, | |
268 | init_block_visualization, print_block_visualization, | |
269 | visualize_scheduled_insns, visualize_no_unit, | |
270 | visualize_stall_cycles, visualize_alloc, | |
271 | visualize_free, target_units, get_visual_tbl_length, | |
272 | MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, | |
273 | visual_tbl_line_length, visual_tbl, n_vis_no_unit, | |
274 | MAX_VISUAL_NO_UNIT, vis_no_unit): Remove. | |
275 | * haifa-sched.c (blockage_range, clear_units, | |
276 | schedule_unit, actual_hazard, potential_hazard, | |
277 | insn_unit, unit_last_insn, unit_tick, | |
278 | actual_hazard_this_instance, potential_hazard, | |
279 | schedule_unit, max_insn_queue_index_value): Remove. | |
280 | (MAX_INSN_QUEUE_INDEX): Removed, renamed throughout to | |
281 | max_insn_queue_index. | |
282 | * rtl.def (DEFINE_FUNCTION_UNIT): Remove. | |
283 | * doc/md.texi (Processor pipeline description): Remove | |
284 | references to old pipeline descriptions. | |
285 | (Automaton pipeline description): Merge with the above. | |
286 | (Old pipeline description, Comparison of the two descriptions): | |
287 | Remove. | |
288 | ||
289 | * bt-load.c (migrate_btr_def): Remove references to | |
290 | use_pipeline_interface. | |
291 | * haifa-sched.c (insn_cost, schedule_insn, | |
292 | schedule_block, advance_one_cycle, sched_init, | |
293 | queue_to_ready, sched_finish): Likewise. | |
294 | * modulo-sched.c (sms_schedule, advance_one_cycle, | |
295 | ps_has_conflicts): Likewise. | |
296 | * sched-rgn.c (init_ready): Likewise. | |
297 | (debug_dependencies): Likewise, and remove an "if (1)". | |
298 | * target.h (use_dfa_pipeline_interface): Remove. | |
299 | * config/alpha/alpha.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
300 | * config/arc/arc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
301 | * config/arm/arm.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
302 | * config/c4x/c4x.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
303 | * config/frv/frv.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
304 | * config/i386/i386.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
305 | * config/ia64/ia64.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
306 | * config/iq2000/iq2000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
307 | * config/m32r/m32r.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
308 | * config/mcore/mcore.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
309 | * config/mips/mips.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
310 | * config/pa/pa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
311 | * config/rs6000/rs6000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
312 | * config/s390/s390.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
313 | * config/sh/sh.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
314 | * config/sparc/sparc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
315 | * config/v850/v850.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
316 | * config/xtensa/xtensa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
317 | * doc/tm.texi (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
318 | ||
4f1605d2 RS |
319 | 2004-07-19 Roger Sayle <roger@eyesopen.com> |
320 | ||
321 | * rtlanal.c (reg_set_p): Add check for regs_invalidated_by_call. | |
322 | ||
28c008bb JL |
323 | 2004-07-19 Jeff Law <law@redhat.com> |
324 | ||
325 | * tree-ssa-dom.c (single_incoming_edge_ignoring_loop_edges): New. | |
326 | (get_eq_expr_value): Use it. Simplify slightly. | |
3e95a7cb | 327 | |
b06f0336 MR |
328 | 2004-07-19 Maciej W. Rozycki <macro@linux-mips.org> |
329 | ||
330 | * config/mips/mips.md (mulsidi3_32bit_r4000): Fix the clobber list. | |
331 | (umulsidi3_32bit_r4000): Likewise. | |
332 | ||
9ba5ff0f NS |
333 | 2004-07-19 Nathan Sidwell <nathan@codesourcery.com> |
334 | ||
335 | * vec.h: Propagate location information properly. | |
336 | (VEC_T_iterate): Add result pointer parameter. | |
337 | (VEC_T_space): New. | |
338 | (VEC_T_reserve): Use it. | |
339 | ||
a2bec818 DJ |
340 | 2004-07-19 Daniel Jacobowitz <dan@debian.org> |
341 | ||
342 | * Makefile.in (c-format.o): Depend on c-format.h. | |
343 | * c-format.h: New file. | |
344 | (struct format_char_info): Add CHAIN member. | |
345 | * c-format.c: Move some types and constants to c-format.h. | |
346 | (format_type_error): Set to -1. | |
347 | (struct function_format_info): Use an int for format_type. | |
348 | (decode_format_type): Return an int. Return format_type_error | |
349 | on error. | |
350 | (print_char_table, asm_fprintf_char_table, gcc_diag_char_table) | |
351 | (gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table) | |
352 | (scan_char_table, time_char_table, monetary_char_table): Initialize | |
353 | CHAIN to NULL. | |
354 | (n_format_types): New variable. | |
355 | (check_format_info_main): Handle CHAIN in format_char_info. | |
356 | (handle_format_attribute): Handle TARGET_FORMAT_TYPES and | |
357 | TARGET_N_FORMAT_TYPES. | |
358 | * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*) | |
359 | (sparc-*-solaris2*): Include config/t-sol2 and config/sol2-c.c. | |
360 | * config/sol2-c.c: New file. | |
361 | * config/t-sol2: New file. | |
362 | * config/sol2.h (TARGET_N_FORMAT_TYPES, TARGET_FORMAT_TYPES): Define. | |
363 | * config/sparc/elf.h, config/sparc/sp64-elf.h: Undefine | |
364 | TARGET_N_FORMAT_TYPES and TARGET_FORMAT_TYPES. | |
365 | ||
366 | * doc/extend.texi (Target Format Checks): New section. | |
367 | (Function Attributes): Mention it. | |
368 | * doc/invoke.texi: Mention target format checks. | |
369 | * doc/sourcebuild.texi: Mention target format checks. | |
370 | * dc/tm.texi (Misc): Document TARGET_N_FORMAT_TYPES and | |
371 | TARGET_FORMAT_TYPES. | |
372 | ||
a38e09bc AK |
373 | 2004-07-19 Andreas Krebbel <krebbel1@de.ibm.com> |
374 | ||
375 | * config/s390/s390-protos.h (s390_return_address_offset): Prototype | |
376 | added. | |
377 | * config/s390/s390.c (regclass_map initializer): Register 35 added to | |
378 | ADDR_REGS. | |
379 | (load_multiple_operation, store_multiple_operation): Removed | |
3e95a7cb | 380 | pointless sanity check. |
a38e09bc AK |
381 | (s390_decompose_address): Added check for return_address_pointer_rtx. |
382 | (s390_return_addr_rtx): Use return_address_pointer_rtx for count == 0. | |
383 | (s390_return_address_offset): New function. | |
384 | * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Increased to 36. | |
385 | (FRAME_REGNO_P): Added check for register 35. | |
386 | (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS, | |
387 | REG_ALLOC_ORDER): Appended entry for register 35. | |
388 | (REG_CLASS_CONTENTS): Adjusted class masks for register 35. | |
389 | (EH_RETURN_HANDLER_RTX): Use return_address_pointer_rtx. | |
390 | (RETURN_ADDRESS_POINTER_REGNUM): New macro. | |
391 | (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Return address pointer | |
392 | is eliminable using stack pointer or hard frame pointer. | |
393 | (REGISTER_NAMES): Added name for register 35. | |
394 | * config/s390/s390.md ("load_multiple", "store_multiple"): Removed | |
395 | pointless sanity check. | |
396 | ||
adb8e07e RS |
397 | 2004-07-19 Roger Sayle <roger@eyesopen.com> |
398 | ||
399 | * fold-const.c (tree_expr_nonzero_p): Add function prototype. | |
400 | (fold) <EQ_EXPR>: Move tree_expr_nonzero_p optimization from | |
401 | fold_relational_const to here, i.e. "(x | 5) == 0" -> false. | |
402 | (fold) (UNEQ_EXPR>: Add optimizations for unordered comparisons | |
403 | of the form "x op x" where op is UNLE, UNGE, UNEQ or LTGT. | |
404 | (fold_relational_const): Tidy up handling of floating point | |
405 | comparisons by calling real_compare. Remove tree_expr_nonzero_p | |
406 | transformation; fold_relational_const assumes constant operands. | |
407 | ||
3c95eb0e GDR |
408 | 2004-07-19 Gabriel Dos Reis <gdr@integrable-solution.net> |
409 | ||
410 | * doc/sourcebuild.texi: Add libcpp, now that CPP has its own | |
3e95a7cb | 411 | directory. |
3c95eb0e | 412 | |
487a92fe JM |
413 | 2004-07-19 Joseph S. Myers <jsm@polyomino.org.uk> |
414 | ||
415 | * c-tree.h (struct c_expr): Define. | |
416 | (C_SET_EXP_ORIGINAL_CODE): Remove. | |
417 | (parser_build_binary_op, build_compound_expr): Update prototypes. | |
418 | * c-parse.in (%union): Add exprtype. | |
419 | (FUNC_NAME): Mark as ttype. | |
420 | (expr, expr_no_commas, cast_expr, unary_expr, primary): Change to | |
421 | exprtype. | |
422 | (expr): Update. Define directly in terms of expr_no_commas | |
423 | instead of using nonnull_exprlist. | |
424 | (nonnull_exprlist, unary_expr, cast_expr, expr_no_commas, primary, | |
425 | offsetof_member_designator, typespec_nonreserved_nonattr, init, | |
426 | initval, designator, component_declarator, | |
427 | component_notype_declarator, enumerator, array_declarator, | |
428 | condition, exexpr, switch_statement, stmt_nocomp, stmt, | |
429 | nonnull_asm_operands, ivar_declarator, receiver): Update. Don't | |
430 | set C_EXP_ORIGINAL_CODE. Use TREE_NO_WARNING for assignments | |
431 | where appropriate. | |
432 | * c-common.h (C_EXP_ORIGINAL_CODE): Remove. | |
433 | * c-common.c (c_common_truthvalue_conversion): Don't check | |
434 | C_EXP_ORIGINAL_CODE. | |
435 | * c-typeck.c (parser_build_binary_op): Use c_expr structures. | |
436 | Don't use C_EXP_ORIGINAL_CODE. | |
437 | (default_conversion, default_function_array_conversion): Don't use | |
438 | C_EXP_ORIGINAL_CODE. Preserve TREE_NO_WARNING. | |
439 | (internal_build_compound_expr): Merge into build_compound_expr. | |
440 | (build_compound_expr): Take two operands instead of a TREE_LIST. | |
441 | * objc/objc-act.c (get_super_receiver): Update calls to | |
442 | build_compound_expr. | |
443 | ||
2de7ffa7 PB |
444 | 2004-07-12 Paolo Bonzini <bonzini@gnu.org> |
445 | ||
446 | * config/sh/sh.c (sh_use_dfa_interface): Remove. | |
447 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Set to | |
448 | hook_int_void_1. | |
449 | * config/sh/sh.md: Extract pipeline descriptions | |
450 | into separate files. | |
451 | * config/sh/sh1.md: New file, extracted from sh.md. | |
452 | * config/sh/sh4.md: New file, extracted from sh.md. | |
453 | * config/sh/shmedia.md: New file, extracted from sh.md | |
454 | and rewritten using new-style pipeline description. | |
455 | ||
3a7e11a3 ZW |
456 | 2004-07-18 Zack Weinberg <zack@codesourcery.com> |
457 | ||
458 | * config/pa/pa.md: Delete the two remaining define_peephole | |
459 | patterns. | |
460 | ||
2de7ffa7 | 461 | 2004-07-18 Steven Bosscher <stevenb@suse.de> |
31ec7d2f SB |
462 | Joseph S. Myers <jsm@polyomino.org.uk> |
463 | ||
464 | * c-common.c (c_common_truthvalue_conversion): Don't warn if | |
465 | TREE_NO_WARNING is set. | |
466 | ||
01847e9d RS |
467 | 2004-07-18 Roger Sayle <roger@eyesopen.com> |
468 | ||
469 | * builtins.c (simplify_builtin_memcmp, simplify_builtin_strcmp, | |
470 | simplify_builtin_strncmp): Delete. | |
471 | (fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp): | |
472 | Change argument to accept an arglist instead of an "exp". Assume | |
473 | that the return type is always integer_type_node. Copy missing | |
474 | transformations from their now obsolete simplify_builtin_* | |
475 | equivalents. | |
476 | (fold_builtin_1): Pass arglist instead of exp to fold_builtin_memcmp, | |
477 | fold_builtin_strcmp and fold_builtin_strncmp. | |
478 | (simplify_builtin): Call fold_builtin_memcmp, fold_builtin_strcmp | |
479 | and fold_builtin_strncmp instead of simplify_builtin_memcmp, | |
480 | simplify_builtin_strcmp and simplify_builtin_strncmp respectively. | |
481 | ||
e2d4f634 DJ |
482 | 2004-07-18 Daniel Jacobowitz <dan@debian.org> |
483 | ||
484 | * Makefile.in (tree-alias-common.o): Update dependencies. | |
485 | ||
1ad03593 SP |
486 | 2004-07-17 Sebastian Pop <pop@cri.ensmp.fr> |
487 | ||
488 | * cfgloop.c (flow_loop_nested_p): Fix comment. | |
3a7e11a3 | 489 | |
d8472c75 JM |
490 | 2004-07-17 Jason Merrill <jason@redhat.com> |
491 | ||
492 | PR c++/16115 | |
493 | * stor-layout.c (relayout_decl): New fn. | |
494 | * tree.h: Declare it. | |
495 | (DECL_BY_REFERENCE): New macro. | |
496 | ||
e7a742ec EB |
497 | 2004-07-17 Eric Botcazou <ebotcazou@act-europe.fr> |
498 | ||
499 | * libgcc2.c (__enable_execute_stack): New symbol. | |
500 | * libgcc-std.ver (GCC_3.4.2): New version. Inherit from GCC_3.4 | |
501 | and declare __enable_execute_stack. | |
502 | * mklibgcc.in (lib2funcs): Add _enable_execute_stack. | |
503 | * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): ANSIfy. | |
504 | * config/sol2.h (TRANSFER_FROM_TRAMPOLINE): Rename into | |
505 | ENABLE_EXECUTE_STACK. | |
506 | * config/alpha/alpha.c (alpha_initialize_trampoline): Conditionalize | |
507 | on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE. | |
508 | * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Rename into | |
509 | ENABLE_EXECUTE_STACK. | |
510 | * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Likewise. | |
511 | * config/i386/i386.c (x86_initialize_trampoline): Conditionalize | |
512 | on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE. | |
513 | * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Rename into | |
514 | ENABLE_EXECUTE_STACK. | |
515 | * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise. | |
516 | * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Likewise. | |
517 | * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise. | |
518 | * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Likewise. | |
519 | * config/sparc/sparc.c (sparc_initialize_trampoline): Conditionalize | |
520 | on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE. | |
521 | (sparc64_initialize_trampoline): Likewise. | |
522 | * doc/tm.texi (trampolines): Add ENABLE_EXECUTE_STACK macro. | |
523 | ||
6e34d3a3 JM |
524 | 2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk> |
525 | ||
526 | * langhooks.h (builtin_function): New langhook. | |
527 | * langhooks-def.h (LANG_HOOKS_BUILTIN_FUNCTION): New. | |
528 | (LANG_HOOKS_INITIALIZER): Update. | |
529 | * tree.h (builtin_function): Remove. | |
530 | * doc/tm.texi: Update. | |
531 | * c-tree.h (builtin_function): Declare. | |
532 | * c-common.c, config/alpha/alpha.c, config/arm/arm.c, | |
533 | config/c4x/c4x.c, config/frv/frv.c, config/i386/i386.c, | |
534 | config/ia64/ia64.c, config/iq2000/iq2000.c, | |
535 | config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c, | |
536 | config/stormy16/stormy16.c: All callers of builtin_function | |
537 | changed. | |
538 | ||
ac83f770 AP |
539 | 2004-07-17 Andrew Pinski <pinskia@physics.uc.edu> |
540 | ||
541 | PR target/16556 | |
542 | * config/i386/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): | |
543 | Remove white space after the backslash. | |
544 | ||
6e456a10 EB |
545 | 2004-07-17 Eric Botcazou <ebotcazou@libertysurf.fr> |
546 | ||
547 | PR rtl-optimization/16294 | |
548 | * resource.c (return_insn_p): New predicate. | |
549 | (mark_target_live_regs): Use it. Special-case return insns. | |
550 | (init_resource_info): Use it. Don't scan the epilogue past | |
551 | a return. | |
552 | ||
8a807136 ZD |
553 | 2004-07-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
554 | ||
555 | * loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Do not | |
556 | destroy dominance information. | |
557 | * passes.c (rest_of_handle_loop2): Free dominance information. | |
558 | * tree-cfg.c (cleanup_tree_cfg): Remove unreachable blocks before | |
559 | jump threading. | |
560 | (thread_jumps): Update dominance information and remove unreachable | |
561 | blocks. | |
562 | * tree-ssa-phiopt.c (replace_phi_with_stmt): Update dominance | |
563 | information and remove the unreachable block. | |
564 | ||
7bd5ed5c GS |
565 | 2004-07-17 Graham Stott <graham.stott@btinternet.com> |
566 | ||
567 | * emit-rtl.c (reorder_insns): Don't set BB for a BARRIER insn. | |
568 | ||
5ad82972 TM |
569 | 2004-07-17 Toon Moene <toon@moene.indiv.nluug.nl> |
570 | ||
571 | * doc/sourcebuild.texi: Remove libf2c entry. | |
572 | ||
3e25b3a8 PB |
573 | 2004-07-17 Paolo Bonzini <bonzini@gnu.org> |
574 | ||
575 | * config/i386/i386.md (movv16qi_internal): Fix typo. | |
576 | ||
4928181c SB |
577 | 2004-07-17 Steven Bosscher <stevenb@suse.de> |
578 | ||
579 | * final.c (final_scan_insn): Fix broken commit from previous | |
580 | patch. | |
581 | ||
3e3970a2 JM |
582 | 2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk> |
583 | ||
584 | * c-typeck.c (parser_build_binary_op): Condition warnings for | |
585 | X<=Y<=Z on -Wparentheses instead of -Wextra. | |
586 | * doc/invoke.texi: Update. Document that most of -Wparentheses is | |
587 | supported for C only. | |
588 | ||
165b54c3 SB |
589 | 2004-07-17 Steven Bosscher <stevenb@suse.de> |
590 | ||
591 | * cfgcleanup.c (try_simplify_condjump): Don't remove line | |
592 | notes to avoid unreachable code warnings. | |
593 | * toplev.c (backend_init): Don't emit line notes for | |
594 | unreachable code warnings. | |
595 | ||
596 | * combine.c (distribute_notes): Don't distribute a | |
597 | REG_VTABLE_REF note. | |
598 | * final.c (final_scan_insn): Don't handle it. | |
599 | * rtl.c (reg_note_name): Remove it. | |
600 | * rtl.h (enum reg_node): Dito. | |
601 | ||
602 | * emit-rtl.c (force_line_numbers, restore_line_number_status): | |
603 | Remove. | |
604 | * rtl.h (force_line_numbers, restore_line_number_status): | |
605 | Remove prototypes. | |
606 | ||
607 | * stmt.c (using_eh_for_cleanups_p, using_eh_for_cleanups): Move... | |
608 | * tree-eh.c (using_eh_for_cleanups_p): ...here. Make static. | |
609 | (using_eh_for_cleanups): Also moved here. | |
610 | ||
611 | * expr.c (expand_expr_real_1) <CASE_LABEL_EXPR>: Die if we see one. | |
612 | <SWITCH_EXPR>: Die if we have a non-NULL SWITCH_BODY. Update calls | |
613 | to expand_start_case and add_case_node. | |
614 | * stmt.c (struct nesting): Cleanup unused fields condition_code, | |
615 | last_unconditional_cleanup, nominal_type, printname, and | |
616 | line_number_status. | |
617 | (struct fixup_goto): Remove. | |
618 | (struct stmt_status): Remove x_goto_fixup_chain field. | |
619 | (goto_fixup_chain): Remove. | |
620 | (strip_default_case_nodes, group_case_nodes, emit_jump_if_reachable, | |
621 | pushcase, pushcase_range): Remove. | |
622 | (expand_start_bindings_and_block): Don't set unused fields in | |
623 | the nesting stack. | |
624 | (expand_start_case, add_case_node): Cleanup unused formal arguments. | |
625 | (expand_end_case_type): Don't simplify the case-list. Use emit_jump | |
626 | instead of emit_jump_if_reachable. | |
627 | (emit_case_nodes): Likewise. | |
628 | * tree-cfg.c (group_case_labels, cleanup_dead_labels): No longer | |
629 | static. | |
630 | (update_eh_label): Work around left-over exception handing regions. | |
631 | * tree-flow.h (group_case_labels, cleanup_dead_labels): Add protos. | |
632 | * tree-optimize.c (execute_cleanup_cfg_post_optimizing): New function. | |
633 | (pass_cleanup_cfg_post_optimizing): New pass. | |
634 | (init_tree_optimization_passes): Run the new pass after all | |
635 | optimizations. | |
636 | * tree.h (pushcase, pushcase_range): Remove prototypes. | |
637 | (expand_start_case, add_case_node): Update prototypes. | |
638 | ||
e36f6190 KW |
639 | 2004-07-16 Krister Walfridsson <cato@df.lth.se> |
640 | ||
641 | * tree-inline.c (estimate_num_insns_1): Correct increase of count. | |
642 | ||
77c9db77 RH |
643 | 2004-07-16 Richard Henderson <rth@redhat.com> |
644 | ||
645 | * builtins.c (std_expand_builtin_va_arg): Remove. | |
646 | (expand_builtin_va_arg): Remove. | |
647 | * expr.h: Don't declare them. | |
648 | * gimplify.c (mark_decls_volatile_r): Remove. | |
649 | (copy_if_shared_r): Don't call it. | |
650 | * target-def.h: Don't test EXPAND_BUILTIN_VA_ARG. | |
651 | * expr.c (expand_expr_real_1): Don't handle VA_ARG_EXPR. | |
652 | * gimple-low.c (lower_stmt): Likewise. | |
653 | * tree-cfg.c (cfg_remove_useless_stmts_bb): Likewise. | |
654 | * tree-gimple.c (is_gimple_tmp_rhs, is_gimple_stmt): Likewise. | |
655 | * tree-ssa-operands.c (get_expr_operands): Likewise. | |
656 | * doc/tm.texi (TARGET_GIMPLIFY_VA_ARG_EXPR): Don't mention | |
657 | EXPAND_BUILTIN_VA_ARG. | |
658 | * system.h (EXPAND_BUILTIN_VA_ARG): Poison. | |
659 | * config/alpha/alpha.h, config/alpha/unicosmk.h, config/i386/i386.h, | |
660 | config/ia64/ia64.h, config/rs6000/rs6000.h, config/s390/s390.h, | |
661 | config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
662 | ||
3f7d210d DB |
663 | 2004-07-16 Daniel Berlin <dberlin@dberlin.org> |
664 | ||
665 | * tree-ssa-pre.c (insert_aux): Break out if we hit | |
666 | a critical edge. | |
667 | ||
6809cbf9 RH |
668 | 2004-07-16 Richard Henderson <rth@redhat.com> |
669 | ||
670 | * basic-block.h (remove_fake_exit_edges): Declare. | |
671 | * cfganal.c (remove_fake_predecessors): Rename from | |
672 | remove_fake_successors; iterate over predecessors. | |
673 | (remove_fake_exit_edges): New. | |
674 | * cfgcleanup.c (try_optimize_cfg): Use it. | |
675 | * gcse.c (one_pre_gcse_pass, store_motion): Likewise. | |
676 | * predict.c (estimate_probability): Likewise. | |
677 | (tree_estimate_probability, note_prediction_to_br_prob): Likewise. | |
678 | * tree-cfg.c (make_edges): Likewise. | |
679 | * tree-ssa-pre.c (fini_pre): Likewise. | |
680 | * profile.c (instrument_edges): Don't remove_fake_edges. | |
681 | (branch_prob): Do it earlier here. | |
682 | ||
7b48e1e0 RH |
683 | 2004-07-16 Richard Henderson <rth@redhat.com> |
684 | ||
685 | * tree-ssa-operands.c (get_expr_operands): Fix 2004-07-15 | |
686 | switchification wrt CONSTRUCTOR. Document the reason. | |
687 | ||
cc370422 FCE |
688 | 2004-07-16 Frank Ch. Eigler <fche@redhat.com> |
689 | ||
690 | * tree-mudflap.c (mf_file_function_line_tree): Correct typo | |
691 | that prevented descriptive __mf_check source location strings. | |
692 | ||
d25cee4d RH |
693 | 2004-07-16 Richard Henderson <rth@redhat.com> |
694 | ||
695 | * tree-def (WITH_SIZE_EXPR): New. | |
696 | * explow.c (expr_size, int_expr_size): Handle WITH_SIZE_EXPR. | |
697 | * expr.c (expand_expr_real_1): Likewise. | |
698 | * gimplify.c (maybe_with_size_expr): New. | |
699 | (gimplify_arg, gimplify_modify_expr): Use it. | |
700 | (gimplify_modify_expr_to_memcpy): Take size parameter. | |
701 | (gimplify_modify_expr_to_memset): Likewise. | |
702 | (gimplify_expr): Handle WITH_SIZE_EXPR. | |
703 | * tree-alias-common.c (find_func_aliases): Likewise. | |
704 | * tree-eh.c (tree_could_trap_p): Likewise. | |
705 | (tree_could_throw_p): Likewise. | |
706 | * tree-gimple.c (is_gimple_lvalue): Likewise. | |
707 | (get_call_expr_in): Likewise. | |
708 | * tree-inline.c (estimate_num_insns_1): Likewise. | |
709 | (expand_calls_inline): Likewise. | |
710 | * tree-nested.c (convert_call_expr): Likewise. | |
711 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
712 | * tree-sra.c (sra_walk_expr): Likewise. | |
713 | * tree-ssa-alias.c (add_pointed_to_expr): Likewise. | |
714 | * tree-ssa-ccp.c (get_rhs, set_rhs): Likewise. | |
715 | * tree-ssa-operands.c (get_expr_operands): Likewise. | |
716 | * tree-tailcall.c (find_tail_calls): Likewise. | |
3a7e11a3 | 717 | |
d25cee4d RH |
718 | * calls.c (expand_call): Reset old_stack_allocated after |
719 | calling emit_stack_restore. | |
720 | ||
7740f00d RH |
721 | 2004-07-16 Richard Henderson <rth@redhat.com> |
722 | ||
723 | * langhooks-def.h (LANG_HOOKS_TREE_INLINING_COPY_RES_DECL_FOR_INLINING, | |
724 | lhd_tree_inlining_copy_res_decl_for_inlining): Remove. | |
725 | * langhooks.c (lhd_tree_inlining_copy_res_decl_for_inlining): Remove. | |
726 | * langhooks.h (struct lang_hooks_for_tree_inlining): Remove | |
727 | copy_res_decl_for_inlining. | |
728 | ||
729 | * tree-inline.c (declare_return_variable): New modify_dest argument. | |
730 | Use it as the return value, when possible or manditory. Handle | |
731 | TREE_ADDRESSABLE types. | |
732 | (expand_call_inline): Extract MODIFY_EXPR lhs for call. Simplify | |
733 | replacement of CALL_EXPR. | |
734 | ||
26e79d10 RH |
735 | 2004-07-16 Richard Henderson <rth@redhat.com> |
736 | ||
737 | * tree-flow.h (struct var_ann_d): Remove has_hidden_use. | |
738 | * gimple-low.c (expand_var_p): Don't check it. | |
739 | * tree-ssa-alias.c (setup_pointers_and_addressables): Likewise. | |
740 | * tree-ssa-copyrename.c (rename_ssa_copies): Likewise. | |
741 | * tree-ssa-operands.c (add_stmt_operand): Likewise. | |
742 | * tree-dfa.c (find_hidden_use_vars, find_hidden_use_vars_r): Kill. | |
743 | (find_referenced_vars): Don't call them. | |
744 | * tree-flow-inline.h (has_hidden_use, set_has_hidden_use): Kill. | |
745 | ||
d58247a3 RH |
746 | 2004-07-16 Richard Henderson <rth@redhat.com> |
747 | ||
748 | * function.c (pass_by_reference): True for all variable sized types. | |
749 | ||
4619c701 SP |
750 | 2004-07-16 Sebastian Pop <pop@cri.ensmp.fr> |
751 | ||
752 | * Makefile.in (tree-pretty-print.o): Depend on tree-chrec.h. | |
753 | * tree-pretty-print.c: Include tree-chrec.h. | |
3a7e11a3 | 754 | (dump_generic_node): Pretty print SCEV_KNOWN, SCEV_NOT_KNOWN |
4619c701 SP |
755 | and POLYNOMIAL_CHREC nodes. |
756 | ||
58ec6ece SE |
757 | 2004-07-16 Steve Ellcey <sje@cup.hp.com> |
758 | ||
759 | * builtins.c (expand_builtin_stpcpy): Do not create temporary | |
760 | reg with VOIDmode. | |
761 | ||
11368579 SB |
762 | 2004-07-16 Segher Boessenkool <segher@kernel.crashing.org> |
763 | ||
764 | * config/rs6000/eabi.asm (__eabi_convert): Fix typo (cmpi vs. cmpwi). | |
765 | ||
490ceeb4 AK |
766 | 2004-07-16 Andreas Krebbel <krebbel1@de.ibm.com> |
767 | ||
768 | * config/s390/s390.md: Changed every occurence of BASE_REGISTER | |
769 | to BASE_REGNUM. | |
770 | * config/s390/s390.c: Likewise. | |
771 | * config/s390/s390.h: Likewise. | |
772 | ||
5eb00b77 RS |
773 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
774 | ||
775 | * config/mips/mips.md (addsi3, adddi3): Remove special handling | |
776 | of $sp adds. Remove REGNO checks from mips16 patterns. | |
777 | ||
d811830e RS |
778 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
779 | ||
780 | * config/mips/mips.md: Delete outdated comment. | |
781 | ||
bb592806 RS |
782 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
783 | ||
784 | * config/mips/mips.c (get_float_compare_codes): Delete. | |
785 | (mips_emit_compare): New function, mostly extracted from | |
786 | get_float_compare_codes and gen_conditional_branch. | |
787 | (gen_conditional_branch, gen_conditional_move): Use it. | |
788 | ||
00ca8311 SB |
789 | 2004-07-16 Segher Boessenkool <segher@kernel.crashing.org> |
790 | ||
791 | * genautomata.c (add_vect): Speedup by using integers as | |
792 | bit-vectors for walking through the comb_vect and finding | |
793 | a match. | |
794 | ||
f1286257 RS |
795 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
796 | ||
797 | * config/mips/mips.c (mips_zero_if_equal): Only use XORs if the second | |
798 | operand is an uns_arith_operand; use subtraction otherwise. | |
799 | * config/mips/mips.md (cmpsi, cmpdi): Allow any nonmemory_operand, | |
800 | not just arith_operands. | |
801 | ||
a012718f RS |
802 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
803 | ||
804 | * config/mips/mips-protos.h (gen_int_relational): Delete. | |
805 | (mips_emit_scc): Declare. | |
806 | * config/mips/mips.c (internal_test): Delete. | |
807 | (sle_operand, sleu_operand): New functions. | |
808 | (map_test_to_internal_test, gen_int_relational): Delete. | |
809 | (mips_emit_binary, mips_relational_operand_ok_p) | |
810 | (mips_emit_int_relational, mips_zero_if_equal) | |
811 | (mips_emit_scc): New functions. | |
812 | (gen_conditional_branch): Rework to use mips_emit_int_relational. | |
813 | * config/mips/mips.h (PREDICATE_CODES): Add sle_operand and | |
814 | sleu_operand. | |
815 | * config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu) | |
816 | (sltu, sleu): Use mips_emit_scc. | |
817 | (*sge_[sd]i, *sgeu_[sd]i): New patterns. | |
818 | (*sle_[sd]i, *sle_[sd]i_mips16): Use sle_operand. | |
819 | (*sleu_[sd]i, *sleu_[sd]i_mips16): Use sleu_operand. | |
820 | ||
c03eb5a3 RS |
821 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
822 | ||
823 | * config/mips/mips.md (*sgt_di_mips16): Fix destination constraint. | |
824 | ||
9cb24602 RS |
825 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
826 | ||
827 | * config/mips/mips.md (*seq_[sd]i): Renamed from seq_[sd]i_zero. | |
828 | (*sne_[sd]i): Likewise sne_[sd]i_zero. | |
829 | (*sgt_[sd]i): ...and sgt_[sd]i. | |
830 | (*slt_[sd]i): ...and slt_[sd]i. | |
831 | (*sgtu_[sd]i): ...and sgtu_[sd]i. | |
832 | (*sltu_[sd]i): ...and sltu_[sd]i. | |
833 | (*sleu_[sd]i): ...and sleu_[sd]i_const. | |
834 | Name previously unnamed mips16 patterns. Formatting fixes. | |
835 | ||
d7ad1e57 RS |
836 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
837 | ||
838 | * config/mips/mips.c (cmp_operands): Renamed from branch_cmp. | |
839 | (branch_type): Delete. | |
840 | (gen_conditional_branch, gen_conditional_move) | |
841 | (mips_gen_conditional_trap): Update after name change. Get the | |
842 | comparison mode from cmp_operands[0]. | |
843 | * config/mips/mips.h (cmp_type, branch_type): Delete. | |
844 | (cmp_operands): Renamed from branch_cmp. | |
845 | * config/mips/mips.md (cmpsi, cmpdi, cmpsf, cmpdf): Update after | |
846 | name change. Don't set branch_type. | |
847 | (seq, sne, sgt, sge, slt, sle, sgtu, sgeu, sltu, sleu): Check the | |
848 | mode class of cmp_operands[0] rather than branch_type. Update after | |
849 | name change. | |
850 | ||
629198e2 RS |
851 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
852 | ||
853 | * config/mips/mips.c (mips_rtx_costs): In mips16 code, set the cost | |
854 | of 0...255 to 0 when inside a SET. | |
855 | ||
2bff1abf RS |
856 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> |
857 | ||
858 | * config/mips/mips.md: Remove mips16 define_peepholes. | |
859 | ||
50265400 DB |
860 | 2004-07-16 Daniel Berlin <dberlin@dberlin.org> |
861 | ||
862 | * tree-ssa-pre.c (init_pre): Connect infinite loops to exit. | |
863 | (fini_pre): Remove fake edges. | |
864 | ||
310de761 RH |
865 | 2004-07-15 Richard Henderson <rth@redhat.com> |
866 | ||
867 | * tree-ssa-operands.c (get_expr_operands): Use a switch. Split out... | |
868 | (get_indirect_ref_operands, get_call_expr_operands): ... these. | |
869 | ||
aaaa46d2 MM |
870 | 2004-07-15 Nathan Sidwell <nathan@codesourcery.com> |
871 | ||
872 | * vec.h (VEC_address): New function. | |
873 | ||
e4f78bd4 JM |
874 | 2004-07-14 Jason Merrill <jason@redhat.com> |
875 | ||
876 | PR middle-end/15885 | |
877 | * gimplify.c (gimplify_arg): New fn, split out from... | |
878 | (gimplify_call_expr): Here. Special-case BUILT_IN_VA_START. | |
879 | ||
bc2f7bb8 RZ |
880 | 2004-07-15 Roman Zippel <zippel@linux-m68k.org> |
881 | ||
3a7e11a3 | 882 | * config/m68k/m68k.c (output_move_qimode): Abort on an attempt to |
bc2f7bb8 RZ |
883 | generate code which is generated by pushqi1 now |
884 | * config/m68k/m68k.h (MOVE_BY_PIECES_P): Remove. | |
885 | ||
8abcb0f7 RZ |
886 | 2004-07-15 Roman Zippel <zippel@linux-m68k.org> |
887 | ||
3a7e11a3 ZW |
888 | * combine.c (simplify_set): match the mode of the constant 0 with |
889 | the tested operand to match the compare behaviour and the | |
8abcb0f7 RZ |
890 | simplify_relational_operation() expectation. |
891 | ||
7a1bf2f9 AH |
892 | 2004-07-15 Aldy Hernandez <aldyh@redhat.com> |
893 | ||
e4f78bd4 JM |
894 | * config/rs6000/rs6000.md ("bunordered"): Disable for e500. |
895 | ("bordered"): Same. | |
7a1bf2f9 | 896 | |
24fab1d3 AH |
897 | 2004-07-15 Aldy Hernandez <aldyh@redhat.com> |
898 | ||
e4f78bd4 JM |
899 | * config/rs6000/rs6000.md ("*cceq_ior_compare"): Allow |
900 | unconditionally. | |
901 | * config/rs6000/spe.md ("e500_cceq_ior_compare"): Remove. | |
24fab1d3 | 902 | |
4c467d41 RS |
903 | 2004-07-15 Richard Sandiford <rsandifo@redhat.com> |
904 | ||
905 | * config/mips/mips.c (mips_adjust_insn_length): Fix handling of | |
906 | calls in mips16 code. | |
907 | ||
f6711314 RS |
908 | 2004-07-15 Richard Sandiford <rsandifo@redhat.com> |
909 | ||
910 | * config/mips/mips.md: In the mips16 li/neg splitter, use SImode for | |
911 | the destination of the li as well as for the neg. | |
912 | ||
35b6fdcf FCE |
913 | 2004-07-15 Frank Ch. Eigler <fche@redhat.com> |
914 | ||
915 | g++/15861 | |
916 | * cgraphunit.c (cgraph_build_static_cdtor): Add priority argument. | |
917 | * cgraph.h: Update declaration. | |
918 | * c-decl.c (build_cdtor): Update call with default priority. | |
919 | * coverage.c (create_coverage): Ditto. | |
920 | * tree-mudflap.c (mf_init_fndecl): New tree. | |
921 | (mudflap_init): Set it. | |
922 | (mudflap_register_call): Arrange to call __mf_init before the first | |
923 | __mf_register call. | |
924 | (mudflap_finish_file): Mark the mudflap static initializer as extra | |
925 | high priority, to beat all C++ static constructors. | |
926 | ||
9270f900 JL |
927 | 2004-07-15 Jeff Law <law@redhat.com> |
928 | ||
929 | * loop.c (check_insn_for_givs): Restore check for code labels that was | |
930 | accidentally deleted by a recent checkin. | |
931 | ||
40005366 NS |
932 | 2004-07-15 Nathan Sidwell <nathan@codesourcery.com> |
933 | ||
934 | * vec.h (VEC_T_truncate): Allow truncation of an empty vector. | |
935 | (VEC_T_quick_insert, VEC_T_ordered_remove): Fix sizeof(T) thinko. | |
936 | ||
ad5dc4b3 RH |
937 | 2004-07-14 Richard Henderson <rth@redhat.com> |
938 | ||
939 | * print-tree.c (print_node): Fix casts last change. | |
940 | ||
e4f78bd4 | 941 | 2004-07-15 Paul Brook <paul@codesourcery.com> |
951120ea PB |
942 | |
943 | * dwarf2out.c (dwarf2out_begin_prologue): Rename IA64_UNWIND_INFO | |
944 | to TARGET_UNWIND_INFO. | |
945 | * except.c (output_function_exception_table): Ditto. | |
946 | * except.h: Ditto. | |
947 | * opts.c (decode_options): Ditto. | |
948 | * passes.c (rest_of_handle_final): Ditto. | |
949 | * final.c (final_start_function): Ditto. | |
950 | (final_scan_insn, final_scan_insn): Replace IA64_UNWIND_EMIT with | |
951 | target hook. | |
952 | * targhooks.h (default_unwind_emit): Declare. | |
953 | * targhooks.c (default_unwind_emit): New function. | |
954 | * target-def.h: Define and use TARGET_UNWIND_EMIT. | |
955 | * target.h (struct gcc_target): Add unwind_emit. | |
956 | * config/ia64/ia64.c (TARGET_UNWIND_EMIT): Define. | |
957 | * config/ia64/ia64.h: Rename IA64_UNWIND_INFO to TARGET_UNWIND_INFO. | |
958 | Remove IA64_UNWIND_EMIT. | |
959 | * doc/tm.texi: Document TARGET_UNWIND_EMIT and TARGET_UNWIND_INFO. | |
960 | ||
018479fb RH |
961 | 2004-07-14 Richard Henderson <rth@redhat.com> |
962 | ||
963 | * print-tree.c (print_node): Handle SSA_NAME. | |
964 | ||
b5411fea JW |
965 | 2004-07-14 James E Wilson <wilson@specifixinc.com> |
966 | ||
967 | PR target/16325 | |
968 | * config/mips/mips.h (STARTING_FRAME_OFFSET): When flag_profile_value | |
969 | and ! TARGET_64BIT, include REG_PARM_STACK_SPACE. | |
970 | ||
b8b139c7 JJ |
971 | 2004-07-15 Jakub Jelinek <jakub@redhat.com> |
972 | ||
973 | * expr.c (expand_assignment): Reenable bitfield += optimizations. | |
974 | Use alias set 0 for memory, do proper mode calculations and adjust | |
975 | address for memories. | |
976 | ||
e4f78bd4 | 977 | 2004-07-14 Per Bothner <per@bothner.com> |
aa3c6dc1 PB |
978 | |
979 | * input.h: If USE_MAPPED_LOCATION, define separate expanded_location | |
980 | structure with extra column field. | |
981 | * tree.c (expand_location): Also fill in column field. | |
982 | * gengtype-lex.l: Ignore expanded_location typedef, sinze gengtype | |
983 | gets confused by the two conditionally-compiled definitions. | |
984 | ||
7ae4ad28 EC |
985 | 2004-07-14 Eric Christopher <echristo@redhat.com> |
986 | ||
987 | * calls.c (expand_call): Fix typo in comment. | |
988 | ||
b1346fa3 SE |
989 | 2004-07-14 Steve Ellcey <sje@cup.hp.com> |
990 | ||
991 | * config/ia64/ia64.c (ia64_expand_compare): Allow ORDERED | |
992 | comparision of TFmode. | |
993 | ||
08b0dc1b RH |
994 | 2004-07-14 Richard Henderson <rth@redhat.com> |
995 | ||
996 | * config/alpha/alpha.c (alpha_gimplify_va_arg_1): Move indirect ... | |
997 | (alpha_gimplify_va_arg): ... handling here. Use pass_by_reference. | |
998 | * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Use pass_by_reference. | |
999 | * config/i386/i386.c (ix86_gimplify_va_arg): Likewise. | |
1000 | * config/i860/i860.c (i860_gimplify_va_arg_expr): Likewise. | |
1001 | * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise. | |
1002 | * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Likewise. | |
1003 | * config/sh/sh.c (sh_gimplify_va_arg_expr): Likewise. | |
1004 | * config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Likewise. | |
1005 | ||
e4f78bd4 | 1006 | 2004-07-14 Mike Stump <mrs@apple.com> |
2baeaa1b MS |
1007 | |
1008 | * config/darwin.h (WINT_TYPE): Define to be int to match | |
e4f78bd4 | 1009 | system header files. |
2baeaa1b | 1010 | |
85d91d5b BW |
1011 | 2004-07-14 Bob Wilson <bob.wilson@acm.org> |
1012 | ||
1013 | * config/xtensa/xtensa.c (function_arg_advance): Check for args | |
1014 | that must be passed in the stack. | |
1015 | (xtensa_gimplify_va_arg_expr): Skip special-case padding for small | |
1016 | arguments if the size is not a constant. | |
1017 | ||
607bdeaa PB |
1018 | 2004-07-14 Per Bothner <per@bothner.com> |
1019 | ||
1020 | * c-typeck.c (emit_side_effect_warnings): Use EXPR_HAS_LOCATION | |
1021 | instead of EXPR_LOCUS in a boolean context, which is always true | |
1022 | if --enable-mapped-location. | |
1023 | * stmt.c (warn_if_unused_value): Likewise. Also use EXPR_LOCATION. | |
1024 | ||
26e0e410 RH |
1025 | 2004-07-14 Richard Henderson <rth@redhat.com> |
1026 | ||
1027 | * dominance.c (struct dom_info): Add fake_exit_edge. | |
1028 | (init_dom_info): Allocate it. | |
1029 | (free_dom_info): Free it. | |
1030 | (calc_dfs_tree): Set it. Handle noreturn and infinite loops | |
1031 | in two passes. | |
1032 | (calc_idoms): Honor fake_exit_edge. | |
1033 | ||
0c322af3 JM |
1034 | 2004-07-13 Jason Merrill <jason@redhat.com> |
1035 | ||
1036 | * tree-gimple.c (is_gimple_reg_rhs, is_gimple_mem_rhs): New fns. | |
1037 | (rhs_test_for): New fn. | |
1038 | (is_gimple_tmp_rhs): Rename from is_gimple_rhs. | |
1039 | * tree-gimple.h: Declare them. | |
1040 | * gimplify.c (gimplify_modify_expr): Use the new fns. | |
1041 | ||
3ac5ea7c RH |
1042 | 2004-07-14 Richard Henderson <rth@redhat.com> |
1043 | ||
1044 | * config/arm/arm-protos.h (arm_va_arg): Remove. | |
1045 | * config/arm/arm.c (arm_va_arg): Remove. | |
1046 | (arm_init_expanders): Fix alignment of arg_pointer_rtx. | |
1047 | * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
1048 | ||
a2017852 JDA |
1049 | 2004-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
1050 | ||
1051 | * pa.c (fix_range): New function to mark a range(s) of registers as | |
1052 | fixed registers. | |
1053 | (override_options): Call fix_range if the -mfixed-range option string | |
1054 | is not empty. | |
1055 | * pa.h (TARGET_OPTIONS): Add -mfixed-range option. | |
1056 | * doc/invoke.texi (-mfixed-range): Document new option. | |
1057 | ||
95674810 DE |
1058 | 2004-07-14 David Edelsohn <edelsohn@gnu.org> |
1059 | ||
1060 | * config/rs6000/rs6000.c (function_arg_padding): Do not pad SFmode | |
1061 | for TARGET_64BIT. | |
1062 | (rs6000_gimplify_va_arg): Use size_int instead of build_int_2. | |
1063 | ||
39cab019 RS |
1064 | 2004-07-14 Roger Sayle <roger@eyesopen.com> |
1065 | ||
1066 | * expmed.c (expand_sdiv_pow2): New function to expand signed division | |
1067 | by a positive power of two, split out from expand_divmod. Provide | |
1068 | an alternate implementation when shifts are expensive. Lower the | |
1069 | threshold for using a branchless implementation to BRANCH_COST >= 2. | |
1070 | (expand_divmod): Call expand_sdiv_pow2 for suitable divisions. | |
1071 | ||
51a61243 PB |
1072 | 2004-07-14 Paolo Bonzini <bonzini@gnu.org> |
1073 | ||
1074 | * tree-dfa.c (make_rename_temp): *Really* work just | |
1075 | like create_tmp_var if called while outside SSA form. | |
1076 | ||
220a826e UW |
1077 | 2004-07-14 Ulrich Weigand <uweigand@de.ibm.com> |
1078 | ||
1079 | * config/s390/s390.md ("udivsi3"): Ensure trap is generated | |
1080 | for division by zero. | |
1081 | ("umodsi3"): Likewise. | |
1082 | ||
bb732af8 RS |
1083 | 2004-07-14 Richard Sandiford <rsandifo@redhat.com> |
1084 | ||
1085 | * config/mips/mips.c (mips_output_move): When generating mips16 code, | |
1086 | force loads of negative constants to be split. | |
1087 | * config/mips/mips.md (*movhi_mips16, *movqi_mips16): Likewise. | |
1088 | Generalize SImode li/neg splitter to cope with other modes. | |
1089 | ||
96985307 PB |
1090 | 2004-07-14 Paolo Bonzini <bonzini@gnu.org> |
1091 | ||
1092 | * expmed.c: Remove more references to QUEUED in the comments. | |
1093 | * expr.c: Likewise. | |
1094 | ||
e7407dec RS |
1095 | 2004-07-14 Richard Sandiford <rsandifo@redhat.com> |
1096 | ||
1097 | Revert: | |
1098 | 2004-07-13 Richard Henderson <rth@redhat.com> | |
1099 | * config/mips/mips.c (mips_pass_by_reference): Handle mode sizes | |
1100 | correctly. | |
1101 | ||
eda9caf6 PB |
1102 | 2004-07-14 Paolo Bonzini <bonzini@gnu.org> |
1103 | ||
1104 | * tree-dfa.c (make_rename_temp): Work just like | |
1105 | create_tmp_var if called while outside SSA form. | |
1106 | ||
ad76cef8 PB |
1107 | 2004-07-14 Paolo Bonzini <bonzini@gnu.org> |
1108 | ||
1109 | * expr.c (enqueue_insn, finish_expr_for_function, | |
1110 | protect_from_queue, queued_subexp_p, mark_queue, | |
1111 | emit_insns_enqueued_after_mark, emit_queue, | |
1112 | expand_increment): Remove. | |
1113 | (store_constructor): Expand increment as an assignment. | |
1114 | (expand_expr_real_1 <case PREINCREMENT_EXPR, | |
1115 | case PREDECREMENT_EXPR, case POSTINCREMENT_EXPR, | |
1116 | case POSTDECREMENT_EXPR>): Abort. | |
1117 | * expr.h (QUEUED_VAR, QUEUED_INSN, QUEUED_COPY, | |
1118 | QUEUED_BODY, QUEUED_NEXT, finish_expr_for_function, | |
1119 | protect_from_queue, emit_queue, queued_subexp_p): Remove. | |
1120 | * function.h (pending_chain, x_pending_chain): Remove. | |
1121 | * rtl.def (QUEUED): Remove. | |
1122 | ||
1123 | * emit-rtl.c (copy_insn_1, copy_most_rtx, | |
1124 | set_used_flags, verify_rtx_sharing): Remove references to QUEUED. | |
1125 | * genattrtab.c (attr_copy_rtx, clear_struct_flag, | |
1126 | encode_units_mask): Likewise. | |
1127 | * local-alloc.c (equiv_init_varies_p): Likewise. | |
1128 | * rtl.c (copy_rtx): Likewise. | |
1129 | * rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise. | |
1130 | * simplify-rtx.c (simplify_gen_subreg): Likewise. | |
1131 | * config/mn10300/mn10300.c (legitimate_pic_operand_p): Likewise. | |
1132 | ||
1133 | * builtins.c (expand_builtin, expand_builtin_apply, | |
1134 | expand_builtin_mathfn, expand_builtin_mathfn_2, | |
1135 | expand_builtin_mathfn_3, expand_builtin_setjmp_setup): | |
1136 | Remove calls to emit_queue and protect_from_queue. | |
1137 | * calls.c (expand_call, precompute_arguments, | |
1138 | precompute_register_parameters, rtx_for_function_call, | |
1139 | store_one_arg): Likewise. | |
1140 | * dojump.c (do_compare_and_jump, do_jump): Likewise. | |
1141 | * explow.c (memory_address): Likewise. | |
1142 | * expmed.c (clear_by_pieces_1, clear_storage, | |
1143 | clear_storage_via_libcall, emit_group_load, | |
1144 | emit_group_store, emit_store_flag, | |
1145 | expand_expr_real_1, store_by_pieces, | |
1146 | store_constructor, store_expr, try_casesi, | |
1147 | try_tablejump): Likewise. | |
1148 | * function.c (expand_pending_sizes): Likewise. | |
1149 | * optabs.c (emit_cmp_and_jump_insns, | |
1150 | emit_conditional_add, emit_conditional_move, | |
1151 | expand_fix, expand_float, prepare_cmp_insn): Likewise. | |
1152 | * stmt.c (emit_case_bit_tests, | |
1153 | expand_asm_expr, expand_computed_goto, | |
1154 | expand_decl_init, expand_end_case_type, | |
1155 | expand_end_stmt_expr, expand_expr_stmt_value, | |
1156 | expand_return, expand_start_case, | |
1157 | optimize_tail_recursion): Likewise. | |
1158 | * config/c4x/c4x.c (c4x_expand_builtin): Likewise. | |
1159 | * config/s390/s390.c (s390_expand_cmpmem): Likewise. | |
1160 | ||
70049c7c BE |
1161 | 2004-07-14 Ben Elliston <bje@au.ibm.com> |
1162 | ||
1163 | * vec.h: Comment fix. | |
1164 | ||
8cd5a4e0 RH |
1165 | 2004-07-13 Richard Henderson <rth@redhat.com> |
1166 | ||
1167 | * target.h (struct gcc_target): Add calls.pass_by_reference. | |
1168 | * target-def.h (TARGET_PASS_BY_REFERENCE): New. | |
1169 | * function.c (pass_by_reference): Use the hook. | |
1170 | * system.h (FUNCTION_ARG_PASS_BY_REFERENCE): Poison. | |
1171 | * targhooks.c, targhooks.h (hook_pass_by_reference_false): New. | |
1172 | (hook_pass_by_reference_must_pass_in_stack): New. | |
1173 | * config/alpha/alpha.c (function_arg): Don't query pass-by-ref. | |
1174 | (alpha_pass_by_reference): New. | |
1175 | (TARGET_PASS_BY_REFERENCE): New. | |
1176 | * config/alpha/alpha.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1177 | * config/arc/arc.c (arc_pass_by_reference): New. | |
1178 | (TARGET_PASS_BY_REFERENCE): New. | |
1179 | * config/arc/arc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1180 | (FUNCTION_ARG_CALLEE_COPIES): True. | |
1181 | * config/arm/arm-protos.h (arm_function_arg_pass_by_reference): Remove. | |
1182 | * config/arm/arm.c (TARGET_PASS_BY_REFERENCE): New. | |
1183 | (arm_pass_by_reference): Rename from arm_function_arg_pass_by_reference. | |
1184 | * config/arm/arm.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1185 | * config/c4x/c4x.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1186 | * config/cris/cris.c (cris_pass_by_reference): New. | |
1187 | (TARGET_PASS_BY_REFERENCE): New. | |
1188 | * config/cris/cris.h (FUNCTION_ARG): Don't query pass-by-ref. | |
1189 | (FUNCTION_INCOMING_ARG, FUNCTION_ARG_ADVANCE): Likewise. | |
1190 | (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1191 | * config/fr30/fr30.c (TARGET_PASS_BY_REFERENCE): New. | |
1192 | * config/fr30/fr30.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1193 | * config/frv/frv-protos.h (frv_function_arg_pass_by_reference): Kill. | |
1194 | * config/frv/frv.c (TARGET_PASS_BY_REFERENCE): New. | |
1195 | (frv_function_arg_pass_by_reference): Remove. | |
1196 | * config/frv/frv.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1197 | * config/i386/i386-protos.h (function_arg_pass_by_reference): Remove. | |
1198 | * config/i386/i386.c (TARGET_PASS_BY_REFERENCE): New. | |
1199 | (ix86_pass_by_reference): Rename from function_arg_pass_by_reference. | |
1200 | * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1201 | * config/ia64/ia64-protos.h (ia64_function_arg_pass_by_reference): Kill. | |
1202 | * config/ia64/ia64.c (TARGET_PASS_BY_REFERENCE): New. | |
1203 | (ia64_pass_by_reference): Rename from | |
1204 | ia64_function_arg_pass_by_reference. | |
1205 | * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1206 | * config/ip2k/ip2k.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1207 | * config/iq2000/iq2000-protos.h (function_arg_pass_by_reference): Kill. | |
1208 | * config/iq2000/iq2000.c (TARGET_PASS_BY_REFERENCE): New. | |
1209 | (iq2000_pass_by_reference): Rename from function_arg_pass_by_reference. | |
1210 | * config/iq2000/iq2000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1211 | (FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref. | |
1212 | * config/m32r/m32r-protos.h (m32r_pass_by_reference): Remove. | |
1213 | * config/m32r/m32r.c (TARGET_PASS_BY_REFERENCE): New. | |
1214 | (m32r_pass_by_reference): Adjust prototype. Make static. | |
1215 | Handle mode sizes correctly. | |
1216 | * config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1217 | * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c | |
1218 | (m68hc11_function_arg_pass_by_reference): Remove. | |
1219 | * config/m68hc11/m68hc11.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1220 | (FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref. | |
1221 | * config/mcore/mcore.c (TARGET_PASS_BY_REFERENCE): New. | |
1222 | * config/mcore/mcore.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1223 | * config/mips/mips-protos.h (function_arg_pass_by_reference): Remove. | |
1224 | * config/mips/mips.c (TARGET_PASS_BY_REFERENCE): New. | |
1225 | (mips_va_arg): Use pass_by_reference. | |
1226 | (mips_pass_by_reference): Rename from function_arg_pass_by_reference. | |
1227 | Handle mode sizes correctly. | |
1228 | * config/mips/mips.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
3ac5ea7c | 1229 | (FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref. |
8cd5a4e0 RH |
1230 | * config/mmix/mmix-protos.h (mmix_function_arg_pass_by_reference): Kill. |
1231 | * config/mmix/mmix.c (TARGET_PASS_BY_REFERENCE): New. | |
1232 | (mmix_pass_by_reference): Rename from | |
1233 | mmix_function_arg_pass_by_reference. | |
1234 | * config/mmix/mmix.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1235 | (FUNCTION_ARG_CALLEE_COPIES): True. | |
1236 | * config/mn10300/mn10300.c (TARGET_PASS_BY_REFERENCE): New. | |
1237 | (mn10300_pass_by_reference): New. | |
1238 | * config/mn10300/mn10300.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1239 | (FUNCTION_ARG_CALLEE_COPIES): True. | |
1240 | * config/pa/pa.c (pa_pass_by_reference): New. | |
1241 | (TARGET_PASS_BY_REFERENCE): New. | |
1242 | * config/pa/pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
3ac5ea7c | 1243 | (FUNCTION_ARG_CALLEE_COPIES): True. |
8cd5a4e0 RH |
1244 | * config/rs6000/rs6000-protos.h (function_arg_pass_by_reference): Kill. |
1245 | * config/rs6000/rs6000.c (TARGET_PASS_BY_REFERENCE): New. | |
1246 | (rs6000_pass_by_reference): Rename from function_arg_pass_by_reference. | |
1247 | * config/rs6000/rs6000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1248 | * config/s390/s390-protos.h (s390_function_arg_pass_by_reference): Kill. | |
1249 | * config/s390/s390.c (TARGET_PASS_BY_REFERENCE): New. | |
1250 | (s390_pass_by_reference): Rename from | |
1251 | s390_function_arg_pass_by_reference. | |
1252 | (s390_function_arg_advance): Don't query pass-by-ref. | |
1253 | (s390_function_arg): Likewise. | |
1254 | (s390_gimplify_va_arg): Use pass_by_reference. | |
1255 | (s390_call_saved_register_used): Likewise. | |
1256 | * config/s390/s390.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1257 | * config/sh/sh.c (TARGET_PASS_BY_REFERENCE): New. | |
1258 | (shcompact_byref, sh_pass_by_reference): New. | |
1259 | * config/sh/sh.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1260 | (SHCOMPACT_BYREF): Remove. | |
1261 | * config/sparc/sparc-protos.h (function_arg_pass_by_reference): Kill. | |
1262 | * config/sparc/sparc.c (TARGET_PASS_BY_REFERENCE): New. | |
1263 | (sparc_pass_by_reference): Rename from function_arg_pass_by_reference. | |
1264 | (sparc_gimplify_va_arg): Use pass_by_reference. | |
1265 | * config/sparc/sparc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1266 | * config/stormy16/stormy16.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1267 | * config/v850/v850.c (TARGET_PASS_BY_REFERENCE): New. | |
1268 | (v850_pass_by_reference): New. | |
1269 | * config/v850/v850.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1270 | (FUNCTION_ARG_CALLEE_COPIES): True. | |
1271 | * doc/tm.texi (TARGET_PASS_BY_REFERENCE): Update from | |
1272 | FUNCTION_ARG_PASS_BY_REFERENCE docs. | |
1273 | ||
0310e537 RH |
1274 | 2004-07-14 Richard Henderson <rth@redhat.com> |
1275 | Richard Sandiford <rsandifo@redhat.com> | |
1276 | ||
1277 | * config/mips/mips-protos.h (mips_va_arg): Delete. | |
1278 | * config/mips/mips.h (EXPAND_BUILTIN_VA_ARG): Delete. | |
1279 | * config/mips/mips.c: Include tree-gimple.h. | |
1280 | (TARGET_GIMPLIFY_VA_ARG_EXPR): Define. | |
1281 | (mips_arg_info): Remove special handling of must_pass_in_stck args. | |
1282 | (mips_gimplify_va_arg_expr): Rewritten from mips_va_arg. | |
1283 | (function_arg_pass_by_reference): Return true if must_pass_in_stack. | |
1284 | ||
e231737a BW |
1285 | 2004-07-13 Bob Wilson <bob.wilson@acm.org> |
1286 | ||
1287 | * config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Swap | |
1288 | arguments for COND_EXPR in big-endian adjustment code. | |
1289 | ||
747e2d0e JDA |
1290 | 2004-07-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
1291 | ||
1292 | * pa-64.h (ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Delete. | |
1293 | * pa.h (ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Modify for hppa64. | |
1294 | * pa32-regs.h (REG_ALLOC_ORDER): Reorder caller-saved registers. | |
1295 | * pa64-regs.h (REG_ALLOC_ORDER): Likewise. | |
1296 | ||
ee536902 DN |
1297 | 2004-07-13 Diego Novillo <dnovillo@redhat.com> |
1298 | ||
1299 | PR tree-optimization/16443 | |
1300 | * tree-ssa-alias.c: Add more description for | |
1301 | CALL_CLOBBERED_VARS and ADDRESSABLE_VARS. | |
1302 | * tree-ssa-operands.c (get_asm_expr_operands): Re-order the | |
1303 | clobbering of call-clobbered and addressable variables. If | |
1304 | there are any before aliases have been computed, add them. | |
1305 | ||
2aaf3dd5 DN |
1306 | 2004-07-13 Diego Novillo <dnovillo@redhat.com> |
1307 | ||
1308 | * tree-optimize.c (execute_todo): Flush DUMP_FILE before | |
1309 | verification. | |
1310 | ||
6c6dd4bd UW |
1311 | 2004-07-13 Ulrich Weigand <uweigand@de.ibm.com> |
1312 | ||
1313 | * config/s390/s390.c (s390_gimplify_va_arg): Use size_int instead | |
1314 | of build_int_2. Convert both operands of PLUS_EXPR and MULT_EXPR | |
1315 | to the same type. | |
1316 | ||
27605cbe PB |
1317 | 2004-07-13 Per Bothner <per@bothner.com> |
1318 | ||
1319 | * collect2.c (main): Handle --no-demangle and --demangle flags. | |
1320 | ||
56cf8686 SP |
1321 | 2004-07-13 Sebastian Pop <pop@cri.ensmp.fr> |
1322 | ||
1323 | * Makefile.in (OBJS-common): Add tree-data-ref.o. | |
1324 | (tree-scalar-evolution.o): Add missing dependences on tree-pass.h flags.h. | |
1325 | (tree-data-ref.o): New rule. | |
1326 | * lambda.h: New file. | |
1327 | * tree-data-ref.c: New file. | |
1328 | * tree-data-ref.h: New file. | |
1329 | * tree.c (int_cst_value, tree_fold_gcd): New functions. | |
1330 | * tree.h (int_cst_value, tree_fold_gcd): Declared here. | |
7ae4ad28 | 1331 | |
1b3c2c2d EB |
1332 | 2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr> |
1333 | ||
1334 | PR target/13926 | |
1335 | * config/sparc/sparc-protos.h (output_ubranch): New prototype. | |
1336 | * config/sparc/sparc.c (output_ubranch): New function. | |
1337 | * config/sparc/sparc.md (jump pattern): Use it. | |
1338 | ||
883d9e0c EB |
1339 | 2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr> |
1340 | ||
1341 | PR target/16494 | |
1342 | * config/sparc/sparc.c (output_cbranch): Properly guard | |
1343 | the code handling far branches with TARGET_V9. | |
1344 | * config/sparc/sparc.md (length attribute): Document the | |
1345 | side-effect of having a length greater or equal to 3. | |
1346 | ||
aeb29bae | 1347 | 2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr> |
3ac5ea7c | 1348 | Lloyd Parkes <lloyd@must-have-coffee.gen.nz> |
aeb29bae EB |
1349 | |
1350 | PR target/15186 | |
1351 | * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Pass | |
1352 | /usr/ucblib/sparcv9 as -R path when -compat-bsd is specified. | |
1353 | ||
6bfb2f93 | 1354 | 2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr> |
3ac5ea7c | 1355 | Martin Sebor <sebor@roguewave.com> |
6bfb2f93 EB |
1356 | |
1357 | PR target/12602 | |
1358 | * doc/invoke.texi (SPARC options): Document -threads | |
1359 | and -pthreads on Solaris. | |
1360 | ||
af064de5 RH |
1361 | 2004-07-13 Richard Henderson <rth@redhat.com> |
1362 | ||
1363 | * builtins.c (std_gimplify_va_arg_expr): Handle types passed | |
1364 | by reference. | |
1365 | (ind_gimplify_va_arg_expr): Remove. | |
1366 | * tree.h (ind_gimplify_va_arg_expr): Remove. | |
1367 | * config/pa/pa.c (hppa_gimplify_va_arg_expr): Don't use it. | |
1368 | * config/mmix/mmix.c (mmix_function_arg_pass_by_reference): Allow | |
1369 | argsp to be null. | |
1370 | ||
1371 | * config/arc/arc.c (arc_gimplify_va_arg_expr): Remove. | |
1372 | (TARGET_GIMPLIFY_VA_ARG_EXPR): Remove. | |
1373 | * config/cris/cris.c, config/fr30/fr30.c, config/frv/frv.c, | |
1374 | config/iq2000/iq2000.c, config/m32r/m32r.c, config/mmix/mmix.c, | |
1375 | config/mn10300/mn10300.c, config/v850/v850.c: Similarly. | |
1376 | ||
0976078c RH |
1377 | 2004-07-13 Richard Henderson <rth@redhat.com> |
1378 | ||
1379 | * function.c (pass_by_reference): New. | |
1380 | (assign_parm_find_data_types): Use it. | |
1381 | * calls.c (initialize_argument_information): Likewise. | |
1382 | (emit_library_call_value_1): Likewise. | |
1383 | * expr.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
1384 | * function.h (pass_by_reference): Declare. | |
1385 | ||
fe984136 RH |
1386 | 2004-07-13 Richard Henderson <rth@redhat.com> |
1387 | ||
1388 | * target-def.h (TARGET_MUST_PASS_IN_STACK): New. | |
1389 | * target.h (struct gcc_target): Add calls.must_pass_in_stack. | |
1390 | * expr.h (MUST_PASS_IN_STACK): Remove. | |
1391 | * system.h (MUST_PASS_IN_STACK): Poison. | |
1392 | * tree.h (must_pass_in_stack_var_size): Declare. | |
1393 | (must_pass_in_stack_var_size_or_pad): Declare. | |
1394 | * calls.c (must_pass_in_stack_var_size): New. | |
7ae4ad28 | 1395 | (must_pass_in_stack_var_size_or_pad): Rename from |
fe984136 RH |
1396 | default_must_pass_in_stack. |
1397 | * config/alpha/alpha.c (unicosmk_must_pass_in_stack): New. | |
1398 | (TARGET_MUST_PASS_IN_STACK): New. | |
1399 | * config/alpha/unicosmk.h (MUST_PASS_IN_STACK): Remove. | |
1400 | * config/fr30/fr30.c (fr30_must_pass_in_stack): New. | |
1401 | (TARGET_MUST_PASS_IN_STACK): New. | |
1402 | * config/fr30/fr30.h (MUST_PASS_IN_STACK): Remove. | |
1403 | * config/frv/frv.c (frv_must_pass_in_stack): New. | |
1404 | (TARGET_MUST_PASS_IN_STACK): New. | |
1405 | * config/frv/frv.h (MUST_PASS_IN_STACK): Remove. | |
1406 | * config/i386/i386-protos.h (ix86_must_pass_in_stack): Remove. | |
1407 | * config/i386/i386.c (TARGET_MUST_PASS_IN_STACK): New. | |
1408 | (ix86_must_pass_in_stack): Make static. | |
1409 | * config/i386/i386.h (MUST_PASS_IN_STACK): Remove. | |
1410 | * config/ia64/ia64.c (TARGET_MUST_PASS_IN_STACK): New. | |
1411 | * config/ia64/ia64.h (MUST_PASS_IN_STACK): Remove. | |
1412 | * config/m32r/m32r.c (TARGET_MUST_PASS_IN_STACK): New. | |
1413 | * config/m32r/m32r.h (MUST_PASS_IN_STACK): Remove. | |
1414 | * config/mcore/mcore-protos.h (mcore_must_pass_on_stack): Remove. | |
1415 | * config/mcore/mcore.c (TARGET_MUST_PASS_IN_STACK): New. | |
1416 | (mcore_must_pass_on_stack): Remove. | |
1417 | * config/mcore/mcore.h (MUST_PASS_IN_STACK): Remove. | |
1418 | * config/mips/mips.c (TARGET_MUST_PASS_IN_STACK): New. | |
1419 | * config/mips/mips.h (MUST_PASS_IN_STACK): Remove. | |
1420 | * config/pa/pa.c (TARGET_MUST_PASS_IN_STACK): New. | |
1421 | * config/pa/pa.h (MUST_PASS_IN_STACK): Remove. | |
1422 | * config/rs6000/aix.h (MUST_PASS_IN_STACK): Remove. | |
1423 | * config/rs6000/linux64.h (MUST_PASS_IN_STACK): Remove. | |
1424 | * config/rs6000/rs6000.c (rs6000_must_pass_in_stack): New. | |
1425 | (TARGET_MUST_PASS_IN_STACK): New. | |
1426 | * config/sh/sh.c (TARGET_MUST_PASS_IN_STACK): New. | |
1427 | * config/sh/sh.h (MUST_PASS_IN_STACK): Remove. | |
1428 | * config/sparc/sparc.c (TARGET_MUST_PASS_IN_STACK): New. | |
1429 | * config/sparc/sparc.h (MUST_PASS_IN_STACK): Remove. | |
1430 | * config/xtensa/xtensa.c (TARGET_MUST_PASS_IN_STACK): New. | |
1431 | * config/xtensa/xtensa.h (MUST_PASS_IN_STACK): Remove. | |
1432 | * doc/tm.texi (TARGET_MUST_PASS_IN_STACK): Update from | |
1433 | MUST_PASS_IN_STACK. | |
1434 | ||
1435 | * calls.c, function.c, config/alpha/alpha.c, config/alpha/alpha.h, | |
1436 | config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.c, | |
1437 | config/cris/cris.h, config/fr30/fr30.c, config/fr30/fr30.h, | |
1438 | config/frv/frv.c, config/i386/i386.c, config/iq2000/iq2000.c, | |
1439 | config/mcore/mcore.c, config/mcore/mcore.h, config/mips/mips.c, | |
1440 | config/mmix/mmix.c, config/mmix/mmix.h, config/rs6000/rs6000.c, | |
1441 | config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c, | |
1442 | config/xtensa/xtensa.c: Use target hook. | |
1443 | ||
ecb0ccbc AH |
1444 | 2004-07-13 Anthony Heading <aheading@jpmorgan.com> |
1445 | ||
a12baf98 | 1446 | * configure.ac (gcc_cv_as_offsetable_lo10): Fix a typo. |
ecb0ccbc AH |
1447 | * configure: Rebuilt. |
1448 | ||
5b9cc93e RS |
1449 | 2004-07-13 Richard Sandiford <rsandifo@redhat.com> |
1450 | ||
1451 | * doc/invoke.texi: Remove documentation for MIPS -mrnames option. | |
1452 | * config/mips/mips.h (mips_reg_names): Don't declare. | |
1453 | (MASK_NAME_REGS): Delete. Shuffle other MASK_* values down. | |
1454 | (TARGET_NAME_REGS): Delete. | |
1455 | (TARGET_SWITCHES): Remove -mrnames. | |
1456 | (REGISTER_NAMES): Initialise with the old contents of mips_reg_names[]. | |
1457 | (ADDITIONAL_REGISTER_NAMES): Remove entries for names mentioned | |
1458 | in REGISTER_NAMES. | |
1459 | * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Delete. | |
1460 | (override_options): Remove handling of TARGET_NAME_REGS. | |
1461 | ||
40a350c9 RS |
1462 | 2004-07-13 Richard Sandiford <rsandifo@redhat.com> |
1463 | ||
1464 | * config/mips/mips.h (TARGET_*): Boolify. | |
1465 | ||
8f36864e NC |
1466 | 2004-07-12 Nick Clifton <nickc@redhat.com> |
1467 | ||
1468 | * config.gcc: Add sh-*-symbianelf target. | |
1469 | * config/sh/sh.c: Add new target macros: | |
1470 | TARGET_ENCODE_SECTION_INFO, TARGET_STRIP_NAME_ENCODING, | |
1471 | TARGET_CXX_IMPORT_EXPORT_CLASS. | |
1472 | (sh_file_start): Create a definition of the .directive section. | |
1473 | (sh_attribute): Add dllimport and dllexport attributes. | |
1474 | * config/sh/symbian-pre.h: New file. | |
1475 | * config/sh/symbian-post.h: New file. | |
1476 | * config/sh/symbian.c: New file. Contains Symbian specific | |
1477 | functions. | |
1478 | * config/sh/sh-protos.h: Add prototypes for new functions | |
1479 | provided by symbian.c. | |
1480 | * config/sh/t-symbian: New file. | |
1481 | * doc/extend.texi: Document support for dllimport and dllexport | |
1482 | attributes by the sh-symbianelf target. | |
1483 | ||
f6a874ac JW |
1484 | 2004-07-12 James E Wilson <wilson@specifixinc.com> |
1485 | ||
1486 | * Makefile.in (AR): Use @AR@ not ar. | |
1487 | (NM): New. | |
1488 | (AR_FOR_TARGET): Use $(AR) not ar for native. | |
1489 | (NM_FOR_TARGET): Use $(NM) not nm for native. | |
1490 | * configure.ac: Add AC_CHECK_PROG calls for NM and AR. | |
1491 | * configure: Regenerate. | |
7ae4ad28 | 1492 | |
d7ae4c28 DM |
1493 | 2004-07-12 David S. Miller <davem@nuts.davemloft.net> |
1494 | ||
1495 | * config/sparc/sparc.md (ashlsi3): Eliminate const 1 | |
1496 | special case. | |
1497 | (ashldi3_sp64): Likewise. | |
1498 | ||
7ea18c08 JDA |
1499 | 2004-07-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
1500 | ||
1501 | PR target/16477 | |
1502 | * pa.c (function_arg): Update comment. | |
1503 | * pa.h (BLOCK_REG_PADDING): Define. | |
1504 | ||
066a0344 ZD |
1505 | 2004-07-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
1506 | ||
1507 | PR tree-optimization/16461 | |
1508 | * tree-tailcall.c (independent_of_stmt_p): Handle non-SSA name | |
1509 | arguments of phi nodes. | |
1510 | ||
7aded944 DP |
1511 | 2004-07-12 Devang Patel <dpatel@apple.com> |
1512 | ||
1513 | * doc/invoke.texi (Darwin Options): Document -gused and -gfull. | |
7ae4ad28 | 1514 | |
5e89a381 SE |
1515 | 2004-07-12 Steve Ellcey <sje@cup.hp.com> |
1516 | ||
1517 | * function.c (expand_function_start): Ensure r_save is in Pmode. | |
1518 | * calls.c (prepare_call_address): Ensure static_chain_value is | |
1519 | in Pmode. | |
1520 | * builtins.c (expand_builtin_nonlocal_goto): Ensure r_label and | |
1521 | r_save_area are in Pmode. | |
1522 | * config/ia64/ia64.c (ia64_initialize_trampoline): Ensure addr, | |
1523 | fnaddr, and static_chain are in Pmode. | |
1524 | ||
52b754e8 VM |
1525 | 2004-07-12 Vladimir Makarov <vmakarov@redhat.com> |
1526 | ||
1527 | PR target/16445 | |
1528 | * config/ia64/ia64.c (bundling): Don't count ignored insns. | |
1529 | ||
cdc3ddb8 RH |
1530 | 2004-07-12 Richard Henderson <rth@redhat.com> |
1531 | ||
1532 | * target.h (struct gcc_target): Move gimplify_va_arg_expr | |
1533 | next to build_builtin_va_list. | |
1534 | * target-def.h (TARGET_GIMPLIFY_VA_ARG_EXPR): Update to match. | |
1535 | * builtins.c (gimplify_va_arg_expr): Likewise. | |
1536 | * gimplify.c (copy_if_shared_r): Likewise. | |
1537 | ||
a0c71497 AO |
1538 | 2004-07-12 Alexandre Oliva <aoliva@redhat.com> |
1539 | ||
1540 | * passes.c (rest_of_decl_compilation): Don't defer call of | |
1541 | assemble_variable if its DECL_RTL is already set. | |
1542 | ||
9baba81b SP |
1543 | 2004-07-12 Sebastian Pop <pop@cri.ensmp.fr> |
1544 | ||
1545 | * cfgloop.h (struct loop): Add nb_iterations field. | |
7ae4ad28 | 1546 | (current_loops): Declare. |
9baba81b SP |
1547 | * tree-chrec.c (chrec_not_analyzed_yet, |
1548 | chrec_dont_know, chrec_known, count_ev_in_wider_type, | |
1549 | chrec_contains_symbols_defined_in_loop): Remove the temporary | |
7ae4ad28 | 1550 | hooks. |
9baba81b SP |
1551 | * tree-flow-inline.h (loop_containing_stmt): New function. |
1552 | * tree-scalar-evolution.c: Add implementation. | |
1553 | * tree-scalar-evolution.h: Add declarations. | |
1554 | ||
fdbda73f VM |
1555 | 2004-07-12 Vladimir Makarov <vmakarov@redhat.com> |
1556 | ||
1557 | PR rtl-optimization/15921 | |
1558 | * Makefile.in (global.o): Add recog.h. | |
7ae4ad28 | 1559 | |
fdbda73f VM |
1560 | * global.c (recog.h): Add the include-clause. |
1561 | (bb_info): New member earlyclobber. | |
1562 | (allocate_bb_info, free_bb_info): Initialize/finish the new | |
1563 | member. | |
1564 | (earlyclobber_regclass, earlyclobber_regclass_length): The new | |
1565 | global variables. | |
1566 | (check_earlyclobber, regclass_intersect, | |
1567 | mark_reg_use_for_earlyclobber, mark_reg_use_for_earlyclobber_1): | |
1568 | New functions. | |
1569 | (calculate_local_reg_bb_info): Calculate value of earlyclobber. | |
1570 | (make_accurate_live_analysis): Modify pavin. | |
7ae4ad28 | 1571 | |
255cd731 DN |
1572 | 2004-07-12 Diego Novillo <dnovillo@redhat.com> |
1573 | ||
1574 | * tree-cfg.c (find_taken_edge): Statically compute the truth | |
1575 | value of a predicate comparing an SSA_NAME to itself. | |
1576 | ||
938bf747 RS |
1577 | 2004-07-12 Roger Sayle <roger@eyesopen.com> |
1578 | ||
1579 | * config/rs6000/rs6000.c (rs6000_rtx_costs): Indicate that the | |
1580 | rs6000 doesn't have shift-and-add or shift-and-sub instructions | |
1581 | by returning the cost of a multiplication plus an addition. | |
1582 | ||
55e99d52 PB |
1583 | 2004-07-12 Paolo Bonzini <bonzini@gnu.org> |
1584 | ||
1585 | PR tree-optimization/14107 | |
1586 | * gimplify.c (gimplify_return_expr): Accept a | |
1587 | RETURN_EXPR with an error argument. | |
1588 | * tree-optimize.c (init_tree_optimization_passes): | |
1589 | Run pass_warn_function_return at -O0. | |
1590 | ||
2a9dc917 RS |
1591 | 2004-07-12 Roger Sayle <roger@eyesopen.com> |
1592 | ||
1593 | * doc/invoke.texi: Correct -fasynchronous-unwind-tables option | |
1594 | index entry. | |
1595 | ||
f10107a1 RS |
1596 | 2004-07-12 Richard Sandiford <rsandifo@redhat.com> |
1597 | ||
1598 | * config/mips/mips.c (mips_use_dfa_pipeline_interface): Delete. | |
1599 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
1600 | * config/mips/3000.md: Add copyright notice. Remove automota and | |
1601 | function units; use generic ones instead. Only define reservations | |
1602 | for things that are different from generic.md. Extend each clause | |
1603 | to include r3900. | |
1604 | * config/mips/{4000,4100,4300,4600,5000,6000,generic}.md: New files. | |
1605 | * config/mips/mips.md: Include them. Remove define_function_units. | |
1606 | (alu, imuldiv): New automata and units. | |
1607 | ||
4c59781d BE |
1608 | 2004-07-12 Ben Elliston <bje@au.ibm.com> |
1609 | ||
1610 | * doc/invoke.texi (Optimize Options): Document -frename-registers | |
1611 | not being enabled by default at -O3. | |
1612 | ||
df23e6bb RS |
1613 | 2004-07-11 Roger Sayle <roger@eyesopen.com> |
1614 | ||
1615 | * fold-const.c (fold) <PLUS_EXPR>: Canonicalize X + -C as X - C for | |
1616 | floating point additions, to keep real immediate constant positive. | |
1617 | <MINUS_EXPR>: For floating point subtractions, only transform X - -C | |
1618 | into X + C, and leave positive real constants as X - C. | |
1619 | ||
4dcf7d66 JDA |
1620 | 2004-07-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
1621 | ||
1622 | * pa.c (hppa_gimplify_va_arg_expr): Remove comment. | |
1623 | ||
8d3d51b5 ZD |
1624 | 2004-07-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
1625 | ||
1626 | PR tree-optimization/15654 | |
1627 | * tree-tailcall.c (eliminate_tail_call): Remove unreachable code. | |
1628 | ||
9675412f RS |
1629 | 2004-07-11 Roger Sayle <roger@eyesopen.com> |
1630 | ||
1631 | * builtins.c (fold_builtin_fputs): Don't bother converting the | |
1632 | return type to integer_type_node, as we've already checked that | |
1633 | the result will be ignored. | |
1634 | ||
1635 | * tree-eh.c (tree_could_trap_p): Add support for -ftrapv such | |
1636 | that signed addition, subtraction, multiplication, division, | |
1637 | remainder, negation and absolute value may potentially trap. | |
1638 | ||
1639 | * fold-const.c (fold_ignored_result): New function to strip | |
1640 | non-side-effecting tree nodes from an expression whose result | |
1641 | is ignored. | |
1642 | (fold_convert): Call fold_ignored_result when casting a value | |
1643 | to VOID_TYPE. | |
1644 | (omit_one_operand): Call fold_ignored_result on the "omitted" | |
1645 | operand when building a COMPOUND_EXPR. | |
1646 | (pedantic_omit_one_operand): Likewise. | |
1647 | * tree.h (fold_ignored_result): Prototype here. | |
1648 | * tree-ssa-ccp.c (ccp_fold_builtin): Call fold_ignored_result | |
1649 | when we're going to ignore the result. | |
1650 | ||
fa27426e RH |
1651 | 2004-07-11 Richard Henderson <rth@redhat.com> |
1652 | ||
1653 | PR tree-opt/16383 | |
1654 | * tree-ssa-ccp.c (fold_stmt_r): Split out... | |
1655 | * tree.c (fields_compatible_p, find_compatible_field): ... new. | |
1656 | * tree.h (fields_compatible_p, find_compatible_field): Declare. | |
1657 | * tree-sra.c (sra_hash_tree): Hash fields by offset. | |
1658 | (sra_elt_eq): Use fields_compatible_p. | |
1659 | (generate_one_element_ref): Use find_compatible_field. | |
1660 | ||
71956db3 RH |
1661 | 2004-07-11 Richard Henderson <rth@redhat.com> |
1662 | ||
1663 | PR tree-opt/16422 | |
1664 | * tree-sra.c (generate_one_element_init): New. | |
1665 | (generate_element_init): Use it. | |
1666 | (scalarize_init): Push/pop gimplify context around it. | |
1667 | (find_new_referenced_vars_1, find_new_referenced_vars): New. | |
1668 | * gimplify.c (gimplify_expr): Allow SSA_NAME. | |
1669 | ||
6fd21094 RS |
1670 | 2004-07-11 Roger Sayle <roger@eyesopen.com> |
1671 | ||
1672 | * rtlanal.c (insn_rtx_cost): New function, moved and renamed from | |
1673 | combine.c's combine_insn_cost. | |
1674 | * rtl.h (insn_rtx_cost): Prototype here. | |
1675 | * combine.c (combine_insn_cost): Delete function. | |
1676 | (combine_validate_cost): Update callers of combine_insn_cost to | |
1677 | call insn_rtx_cost instead. | |
1678 | (combine_instructions): Likewise. Use NONJUMP_INSN_P to avoid | |
1679 | requesting the rtx_cost of call and/or jump instructions. | |
1680 | ||
1681 | * ifcvt.c (total_bb_rtx_cost): Use insn_rtx_cost instead of calling | |
1682 | rtx_cost directly. Don't request/use the cost of call or jump | |
1683 | instructions. Return -1 if the cost of any instruction can't be | |
1684 | determined (or the BB contains a function call). | |
1685 | (find_if_case_1): Abort transformation if total_bb_rtx_cost returns | |
1686 | -1 (i.e. can't determine the cost of any instruction or the basic | |
1687 | block contains a subroutine call). | |
1688 | (find_if_case_2): Likewise. | |
1689 | ||
06a67bdd RS |
1690 | 2004-07-11 Roger Sayle <roger@eyesopen.com> |
1691 | ||
1692 | * rs6000.c (struct processor_costs): Change semantics of fields to | |
1693 | include the COST_N_INSNS scaling, and update all initializers. | |
1694 | (rs6000_rtx_costs): Don't use COSTS_N_INSNS on rs6000_cost fields. | |
1695 | Use COSTS_N_INSNS(1) for NOT, SIGN_EXTEND, ZERO_EXTEND and COMPARE. | |
1696 | Use rs6000_cost->fp for both FLOAT_TRUNCATE and UNSPEC_FRSP. When | |
1697 | optimizing for size, use COSTS_N_INSNS(1) for CALL and IF_THEN_ELSE. | |
1698 | ||
6ac4b58e JM |
1699 | 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk> |
1700 | ||
1701 | * LANGUAGES: Remove obsolete information. | |
1702 | ||
bbb362e6 UW |
1703 | 2004-07-11 Ulrich Weigand <uweigand@de.ibm.com> |
1704 | ||
7ae4ad28 | 1705 | * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): For SIGSEGV and |
bbb362e6 UW |
1706 | SIGBUS signal frames, the PSW address points *to* the faulting |
1707 | instruction, not after it. | |
1708 | ||
578d1468 UW |
1709 | 2004-07-11 Ulrich Weigand <uweigand@de.ibm.com> |
1710 | ||
1711 | * config/s390/s390.c (legitimize_tls_address): Handle constant offsets | |
1712 | added to TLS symbol addresses. | |
1713 | ||
79b4a8dc RH |
1714 | 2004-07-11 Richard Henderson <rth@redhat.com> |
1715 | ||
7ae4ad28 | 1716 | * expmed.c (init_expmed): Use stack-local structures for |
79b4a8dc RH |
1717 | temporary rtl. Don't recognize shifts. |
1718 | ||
7e7d1b4b RH |
1719 | 2004-07-11 Richard Henderson <rth@redhat.com> |
1720 | ||
1721 | * expr.c (store_expr): Don't fiddle subreg promotion for types | |
1722 | with precision smaller than the mode. | |
1723 | ||
370b733b JM |
1724 | 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk> |
1725 | ||
1726 | * tree.h (all_types_permanent): Remove. | |
1727 | ||
9dcf6e73 JM |
1728 | 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk> |
1729 | ||
1730 | * langhooks.h (estimate_num_insns, pushlevel, poplevel, set_block, | |
1731 | maybe_build_cleanup, update_decl_after_saving): Remove hooks. | |
1732 | * langhooks.c (lhd_clear_binding_stack): Remove. | |
1733 | * langhooks-def.h (lhd_clear_binding_stack, | |
1734 | LANG_HOOKS_MAYBE_BUILD_CLEANUP, | |
1735 | LANG_HOOKS_UPDATE_DECL_AFTER_SAVING, | |
1736 | LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, LANG_HOOKS_PUSHLEVEL, | |
1737 | LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove. | |
1738 | (LANG_HOOKS_CLEAR_BINDING_STACK): Define to lhd_do_nothing. | |
1739 | * system.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, | |
1740 | LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_SET_BLOCK, | |
1741 | LANG_HOOKS_MAYBE_BUILD_CLEANUP, | |
1742 | LANG_HOOKS_UPDATE_DECL_AFTER_SAVING, LANG_HOOKS_POPLEVEL): Poison. | |
1743 | * tree.h (poplevel): Don't declare. | |
1744 | * c-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL, | |
1745 | LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove. | |
1746 | * objc/objc-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, | |
1747 | LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): | |
1748 | Remove. | |
1749 | ||
fae1b38d JM |
1750 | 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk> |
1751 | ||
1752 | PR tree-optimization/16437 | |
1753 | * c-common.c (shorten_compare): Don't mark result of conversion to | |
1754 | narrower signed type as overflowing. | |
1755 | * fold-const.c (decode_field_reference): Determine whether | |
1756 | signedness comes from outer type using precision rather than size. | |
1757 | ||
d2640b91 PE |
1758 | 2004-07-11 Phil Edwards <phil@codesourcery.com> |
1759 | ||
1760 | * configure.ac: Alphabetize --enable-checking list, add | |
1761 | missing valgrind entry. | |
1762 | * configure: Regenerate. | |
1763 | ||
d817041f PE |
1764 | 2004-07-11 Phil Edwards <phil@codesourcery.com> |
1765 | ||
1766 | * doc/install.texi (Testing): Fix syntax in "make check" example. | |
1767 | ||
8242b64a JW |
1768 | 2004-07-10 James E Wilson <wilson@specifixinc.com> |
1769 | ||
1770 | * config/gofast.h (gofast_maybe_init_libfuncs): Use SImode for litodp. | |
1771 | ||
fe3f617f ZD |
1772 | 2004-07-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
1773 | ||
1774 | PR rtl-optimization/16001 | |
1775 | * loop-iv.c (iv_number_of_iterations): Prevent copy propagation in | |
1776 | niter_expr. | |
1777 | ||
ef262483 GK |
1778 | 2004-07-10 Geoffrey Keating <geoffk@apple.com> |
1779 | ||
1780 | * config/darwin.h (LINK_COMMAND_SPEC): Don't call c++filt. | |
1781 | ||
f183d374 | 1782 | 2004-07-10 Steve Kargl <sgk@troutmask.apl.washington.edu> |
3ac5ea7c | 1783 | James Morrison <phython@gcc.gnu.org> |
f183d374 | 1784 | |
3ac5ea7c | 1785 | * doc/contrib.texi (Contributors): Add gfortran contributors and |
f183d374 SK |
1786 | fix a couple of typos. |
1787 | ||
01606a5a ZD |
1788 | 2004-07-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
1789 | ||
fe3f617f | 1790 | PR rtl-optimization/15387 |
01606a5a ZD |
1791 | * calls.c (check_sibcall_argument_overlap_1): Handle pointers |
1792 | to incoming args space correctly. | |
1793 | ||
2c774817 JDA |
1794 | 2004-07-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
1795 | ||
1796 | * pa.c (output_indirect_call): Only use %r2 as the link register in | |
1797 | indirect calls with the long PA 2.0 pc-relative branch. | |
1798 | ||
3326f410 DJ |
1799 | 2004-07-10 Daniel Jacobowitz <dan@debian.org> |
1800 | ||
1801 | * config/i386/i386.c (override_options): Pick a 64-bit CPU | |
1802 | for the default tuning if TARGET_64BIT. | |
1803 | ||
07b8df0a RH |
1804 | 2004-07-10 Richard Henderson <rth@redhat.com> |
1805 | ||
1806 | * builtins.c (std_gimplify_va_arg_expr): Widen align/boundary | |
1807 | to HOST_WIDE_INT. Fold pad-args-down arithmetic. | |
1808 | ||
b3520980 JJ |
1809 | 2004-07-10 Jakub Jelinek <jakub@redhat.com> |
1810 | ||
1811 | * expr.h (store_bit_field, extract_bit_field): Remove last argument. | |
1812 | * expmed.c (store_bit_field, extract_bit_field): Remove last | |
1813 | argument. | |
1814 | * builtins.c (expand_builtin_signbit): Adjust callers. | |
1815 | * optabs.c (expand_vector_binop, expand_vector_unop): Likewise. | |
1816 | * calls.c (store_unaligned_arguments_into_pseudos): Likewise. | |
1817 | * ifcvt.c (noce_emit_move_insn): Likewise. | |
1818 | * stmt.c (expand_return): Likewise. | |
1819 | * expr.c (emit_group_load, emit_group_store, copy_blkmode_from_reg, | |
1820 | store_field, expand_expr_real_1): Likewise. | |
1821 | ||
76aa5713 RH |
1822 | 2004-07-10 Richard Henderson <rth@redhat.com> |
1823 | ||
1824 | * builtins.c (std_gimplify_va_arg_expr): Fix borked BIT_AND_EXPR. | |
1825 | ||
45cc4783 MS |
1826 | 2004-07-09 Mike Stump <mrs@apple.com> |
1827 | ||
1828 | * config/darwin.c (no_dead_strip): Add. | |
1829 | (HAVE_DEAD_STRIP): Add. | |
1830 | (darwin_emit_unwind_label): Ensure that we don't dead code strip | |
1831 | the .eh label. | |
1832 | ||
a7e5372d ZD |
1833 | 2004-07-09 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
1834 | ||
1835 | * tree-ssa-loop-im.c: New file. | |
1836 | * Makefile.in (tree-ssa-loop-im.o): Add. | |
1837 | * cfgloop.c (superloop_at_depth): New function. | |
1838 | * cfgloop.h (superloop_at_depth): Declare. | |
1839 | * common.opt (ftree-lim): New flag. | |
1840 | * expr.c (array_ref_up_bound): New function. | |
1841 | * params.def (PARAM_LIM_EXPENSIVE): New parameter. | |
1842 | * timevar.def (TV_LIM): New timevar. | |
1843 | * tree-dfa.c (compute_immediate_uses): Respect TDFA_USE flags when | |
1844 | computing immediate uses of a phi node. | |
1845 | * tree-flow.h (struct tree_ann_common_d): Add aux field. | |
1846 | (loop_commit_inserts, for_each_index, tree_ssa_lim): Declare. | |
1847 | * tree-optimize.c (init_tree_optimization_passes): Add pass_lim. | |
1848 | * tree-pass.h (pass_lim): Declare. | |
1849 | * tree-ssa-loop.c (tree_ssa_loop_im, gate_tree_ssa_loop_im): New | |
1850 | functions. | |
1851 | (pass_lim): New pass structure. | |
1852 | * tree-eh.c (tree_could_trap_p): Handle ARRAY_REFs correctly. | |
1853 | * tree.c (in_array_bounds_p): New function. | |
1854 | * tree.h (TREE_THIS_NOTRAP): Define also for ARRAY_REFs. | |
1855 | (in_array_bounds_p, array_ref_up_bound): Declare. | |
1856 | * doc/invoke.texi (-ftree-lim, --param lim-expensive): Document. | |
1857 | * doc/passes.texi (tree-ssa-loop-im.c): Document. | |
1858 | ||
f3a096e8 RH |
1859 | 2004-07-09 Richard Henderson <rth@redhat.com> |
1860 | ||
1861 | * builtins.c (expand_builtin_stpcpy): Don't modify len. | |
1862 | ||
020510c9 RH |
1863 | * tree-ssa-ccp.c (ccp_fold_builtin): Strip conversion exprs |
1864 | with prejudice. | |
1865 | ||
31b66477 KC |
1866 | 2004-07-10 Kelley Cook <kcook@gcc.gnu.org> |
1867 | ||
1868 | * flags.h: Delete redundant prototypes that are being generated | |
1869 | in options.h from common.opt. | |
1870 | * common.opt: Add in the expository comments formerly in flags.h. | |
1871 | ||
78fbfc4b JB |
1872 | 2004-07-09 Jan Beulich <jbeulich@novell.com> |
1873 | ||
1874 | * config/i386/i386.c (init_cumulative_args): Set mmx/sse registers | |
1875 | available for use only when TARGET_MMX/_SSE is set, and check for | |
1876 | variable argument function if any register count is non-zero. | |
1877 | (function_arg): Correctly suppress repeated warnings for passing SSE | |
1878 | vectors are arguments without SSE enabled. | |
1879 | (ix86_function_arg_boundary): Without SSE enabled, the use of what | |
1880 | would be SSE register modes does no longer influence the alignment. | |
1881 | ||
e4d3eef1 RH |
1882 | 2004-07-09 Richard Henderson <rth@redhat.com> |
1883 | ||
1884 | * builtins.c (std_gimplify_va_arg_expr): Deny ARGS_GROW_DOWNWARD. | |
1885 | Always align upward to arg boundary. Use size_in_bytes/round_up. | |
1886 | Maintain type-correctness of constants. | |
1887 | * stor-layout.c (round_up, round_down): Special-case powers of 2. | |
1888 | ||
ffe384ff DM |
1889 | 2004-07-09 David S. Miller <davem@nuts.davemloft.net> |
1890 | ||
1891 | * config/sparc/sparc.c (*_costs): Scale instruction costs | |
1892 | by COSTS_N_INSNS. | |
1893 | (sparc_rtx_costs): Adjust as appropriate. | |
1894 | ||
0c2a4754 JB |
1895 | 2004-07-09 Jan Beulich <jbeulich@novell.com> |
1896 | ||
1897 | * config/i386/mm3dnow.h: New. | |
1898 | * config.gcc: Add mm3dnow.h to extra_headers for i?86 and x86-64. | |
1899 | ||
04b80a88 RH |
1900 | 2004-07-09 Richard Henderson <rth@redhat.com> |
1901 | ||
1902 | * simplify-rtx.c (simplify_const_relational_operation): Only | |
1903 | look at bounds of scalar integers. | |
1904 | ||
0c2a4754 | 1905 | 2004-07-09 Jan Beulich <jbeulich@novell.com> |
946e316c JB |
1906 | |
1907 | * config/i386/i386.md (sse2_clflush): Use correct operand for clflush. | |
1908 | ||
3d0d0a7a AP |
1909 | 2004-07-09 Andrew Pinski <apinski@apple.com> |
1910 | ||
1911 | * objc/objc-act.c (build_module_descriptor): Mark UOBJC_MODULES_decl as | |
1912 | always referenced. | |
1913 | (synth_forward_declarations): Likewise for UOBJC_CLASS_decl and | |
1914 | UOBJC_METACLASS_decl. | |
1915 | ||
5806d4fd JW |
1916 | 2004-07-09 James E Wilson <wilson@specifixinc.com> |
1917 | ||
1918 | PR target/16364 | |
1919 | * config/ia64/ia64.c (ia64_function_arg): For a single element HFA, | |
1920 | do return a parallel if hfa_mode == XFmode and mode == TImode. | |
1921 | ||
3d0d0a7a | 1922 | 2004-07-09 Jan Beulich <jbeulich@novell.com> |
8a2cee38 JB |
1923 | |
1924 | * c-typeck.c (build_unary_op): include VECTOR_TYPE in set of codes | |
1925 | permissible for unary plus. | |
1926 | ||
3d0d0a7a | 1927 | 2004-07-09 Jan Beulich <jbeulich@novell.com> |
2319a1d1 JB |
1928 | |
1929 | * builtin-types.def (BT_UINT): Rename from BT_UNSIGNED. | |
1930 | (BT_FN_UINT): Rename from BT_FN_UNSIGNED. | |
1931 | (BT_FN_PTR_UINT): Rename from BT_FN_PTR_UNSIGNED. | |
1932 | (BT_ULONG, BT_ULONGLONG, BT_UINTMAX, BT_FN_INT_UINT, BT_FN_INT_ULONG, | |
1933 | BT_FN_INT_ULONGLONG, BT_FN_INT_INTMAX, BT_FN_INT_UINTMAX): New. | |
1934 | * builtins.def (BUILTIN_CLZxxx, BUILTIN_CTXxxx, BUILTIN_PARITYxxx, | |
1935 | BUILTIN_POPCOUNTxxx): Arguments are unsigned. | |
1936 | (BUILTIN_xxxIMAX): New. | |
1937 | * builtins.c (expand_builtin): Handle BUILT_IN_FFSIMAX, | |
1938 | BUILT_IN_CLZIMAX, BUILT_IN_CTZIMAX, BUILT_IN_POPCOUNIMAX, and | |
1939 | BUILT_IN_PARITYIMAX. | |
1940 | ||
18df6de9 DM |
1941 | 2004-07-09 David S. Miller <davem@nuts.davemloft.net> |
1942 | ||
1943 | * config/sparc/sparc.h (processor_costs): Define. | |
1944 | (sparc_costs): Declare. | |
1945 | * config/sparc/sparc.c (cypress_costs, supersparc_costs, | |
1946 | hypersparc_costs, sparclet_costs, ultrasparc_costs, | |
1947 | ultrasparc3_costs): New. | |
1948 | (sparc_override_options): Set sparc_costs as appropriate. | |
1949 | (sparc_rtx_costs): Use sparc_costs instead of messy | |
1950 | conditionals. | |
7ae4ad28 | 1951 | |
dae42469 SB |
1952 | 2004-07-09 Steven Bosscher <stevenb@suse.de> |
1953 | ||
1954 | * doc/md.texi (Processor pipeline description): Mention that | |
1955 | the old pipeline description is deprecated. | |
1956 | ||
1957 | * config/rs6000/7450.md (automaton ppc7450): Split up, move | |
1958 | mciu_7450 function unit to... | |
1959 | (automaton ppc7450mciu): ...new automaton. | |
1960 | ||
1961 | * haifa-sched.c (insert_schedule_bubbles_p): Remove. | |
1962 | (schedule_block): Don't consider inserting bubbles. | |
1963 | (sched_init): Don't initialize DFA bubbles. | |
1964 | * target-def.h (TARGET_SCHED_INIT_DFA_BUBBLES, | |
1965 | TARGET_SCHED_DFA_BUBBLE): Remove. | |
1966 | * target.h (init_dfa_bubbles, dfa_bubble): Remove hooks. | |
1967 | * doc/tm.texi (TARGET_SCHED_INIT_DFA_BUBBLES, | |
1968 | TARGET_SCHED_DFA_BUBBLE): Remove documentation. | |
1969 | ||
1970 | * stmt.c (conditional_context): Remove prototype. | |
1971 | * tree.h (conditional_context): Remove. | |
1972 | * tree-cfg.c (pre_insert_on_edge): Remove. | |
1973 | ||
1974 | * c-common.h (c_expand_asm_operands): Remove prototype. | |
1975 | * c-typeck.c (c_expand_asm_operands): Remove. | |
1976 | ||
1977 | 2004-07-09 Jan Beulich <jbeulich@novell.com> | |
9e9fb0ce JB |
1978 | |
1979 | * config/i386/i386.c (classify_argument): Treat V1xx modes the same as | |
1980 | their base modes. CTImode, TCmode, and XCmode must be passed in memory. | |
1981 | TFmode (__float128) must be is an SSE/SSEUP pair. V2SImode, V4HImode, | |
1982 | and V8QI are class SSE. All sufficiently small remaining vector modes | |
1983 | must be passed in one or two integer registers. | |
1984 | (ix86_libcall_value): TFmode must be returned in xmm0, XCmode must be | |
1985 | returned in memory. | |
1986 | (bdesc_2arg, ix86_init_mmx_sse_builtins): __builtin_ia32_pmuludq and | |
1987 | __builtin_ia32_pmuludq128 have non-uniform argument and return types | |
1988 | and must thus be handled explicitly. | |
1989 | * config/i386/i386.md (*movdi_1_rex64): Add cases for moving between | |
1990 | MMX and XMM regs. | |
1991 | (movv8qi_internal, movv4hi_internal, movv2si_internal, | |
1992 | movv2sf_internal): Permit moving between MMX and XMM registers (since | |
1993 | MMX areguments and return values are passed in XMM registers). | |
1994 | (sse2_umulsidi3): Correct type and mode. | |
1995 | ||
dae42469 | 1996 | 2004-07-09 Richard Henderson <rth@redhat.com> |
f7fda749 RH |
1997 | |
1998 | * tree-cfg.c (dump_cfg_stats): Fix 64-bit format mismatch errors. | |
1999 | ||
60f4f3b7 EC |
2000 | 2004-07-09 Eric Christopher <echristo@redhat.com> |
2001 | ||
2002 | * config/rs6000/40x.md: Split into two automatons. | |
2003 | ||
9affb2c7 ZW |
2004 | 2004-07-09 Zack Weinberg <zack@codesourcery.com> |
2005 | Andrew Pinski <apinski@apple.com> | |
2006 | ||
2007 | * c-opts.c (c_common_post_options): Force unit-at-a-time mode | |
2008 | on when we have more than one input file. | |
2009 | (c_common_parse_file): Restore loop over all input files. | |
2010 | Clarify diagnostic for -dy when YYDEBUG wasn't defined. | |
2011 | ||
2012 | * c-decl.c (set_type_context): New function. | |
2013 | (pop_scope): Use it to set context of types. When we | |
2014 | encounter a TYPE_DECL, set the context of the attached type too. | |
2015 | (pop_file_scope): Don't call cpp_undef_all here. | |
2016 | (diagnose_mismatched_decls): Do not complain about a second | |
2017 | definition of an 'extern inline' function if it's not in the | |
2018 | same translation unit. Do not complain about inline | |
2019 | declaration after use if the use was in a different | |
2020 | translation unit. | |
2021 | (merge_decls): Don't clobber olddecl's DECL_CONTEXT. | |
2022 | (pushdecl): Do not put DECL_EXTERNAL, !TREE_PUBLIC decls in | |
2023 | the external scope. | |
2024 | (pushdecl_top_level): Likewise. | |
2025 | (grokdeclarator): Clarify what is going on with setting | |
2026 | DECL_EXTERNAL on function types, a little. | |
2027 | (c_write_global_declarations): Don't do anything if | |
2028 | -fsyntax-only or errors have been encountered. | |
2029 | ||
dae1dd2e ZW |
2030 | 2004-07-09 Zack Weinberg <zack@codesourcery.com> |
2031 | ||
2032 | * vec.c, vec.h (vec_assert_fail): Use unsigned int for LINE argument. | |
2033 | ||
605201ba JDA |
2034 | 2004-07-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
2035 | ||
2036 | PR target/16459 | |
2037 | * pa.c (output_indirect_call): Use %r2 as the link register when | |
2038 | calling $$dyncall with a pc-relative branch. | |
2039 | ||
6512c54a GP |
2040 | 2004-07-08 Gerald Pfeifer <gerald@pfeifer.com> |
2041 | ||
2042 | * doc/install.texi (Binaries): Mention OpenPKG. | |
2043 | ||
d8903b30 DN |
2044 | 2004-07-09 Diego Novillo <dnovillo@redhat.com> |
2045 | ||
473a4325 | 2046 | Fix PR tree-optimization/15555 |
d8903b30 DN |
2047 | * tree-dfa.c (dump_variable): If the variable is a pointer |
2048 | SSA_NAME, also dump its points-to information. | |
2049 | * tree-flow.h (struct ptr_info_def): Add field | |
2050 | is_dereferenced. | |
2051 | (dump_points_to_info_for): Declare. | |
2052 | (debug_points_to_info_for): Declare. | |
2053 | * tree-optimize.c (init_tree_optimization_passes): Add a | |
2054 | second alias analysis pass after DOM2. | |
2055 | Move pass_del_pta to a later spot. | |
2056 | * tree-ssa-alias.c (compute_points_to_and_addr_escape): Do not | |
2057 | create a name tags when we find a dereferenced pointer. Just | |
2058 | mark the pointer dereferenced. | |
2059 | (collect_points_to_info_for): Move code to clear points-to | |
2060 | information to create_name_tags. | |
2061 | (create_name_tags): New function. | |
2062 | (compute_flow_sensitive_aliasing): Call it. | |
2063 | (setup_pointers_and_addressables): Mark type tags for renaming | |
2064 | here instead of ... | |
2065 | (create_memory_tag): ... here. | |
2066 | (merge_pointed_to_info): Do not merge PT_MALLOC attributes. | |
2067 | (dump_points_to_info_for): Declare extern. | |
2068 | (debug_points_to_info_for): New function. | |
2069 | ||
a59f1942 PB |
2070 | 2004-07-09 Paolo Bonzini <bonzini@gnu.org> |
2071 | ||
2072 | * config/arc/arc.md: Switch to DFA-based scheduler description. | |
2073 | * config/arc/arc.c: Switch to DFA-based scheduler description. | |
2074 | ||
f94bf2ea RE |
2075 | 2004-07-09 Richard Earnshaw <rearnsha@arm.com> |
2076 | ||
2077 | * arm/unknown-elf.h (TARGET_DEFAULT): Don't require an APCS frame | |
2078 | pointer. | |
2079 | ||
a900345f RH |
2080 | 2004-07-09 Richard Henderson <rth@redhat.com> |
2081 | ||
85d53c1d RH |
2082 | * config/xtensa/xtensa-protos.h (xtensa_va_arg): Remove. |
2083 | * config/xtensa/xtensa.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
2084 | (xtensa_gimplify_va_arg_expr): Rewrite from xtensa_va_arg. | |
2085 | * config/xtensa/xtensa.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
2086 | ||
a900345f RH |
2087 | * config/v850/v850-protos.h (v850_va_arg): Remove. |
2088 | * config/v850/v850.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
2089 | (v850_gimplify_va_arg_expr): Rewrite from v850_va_arg. | |
2090 | * config/v850/v850.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
2091 | (FUNCTION_ARG_PASS_BY_REFERENCE): Handle variable size types. | |
2092 | (FUNCTION_ARG_CALLEE_COPIES): Use FUNCTION_ARG_PASS_BY_REFERENCE. | |
2093 | ||
f372c932 RE |
2094 | 2004-07-09 Richard Earnshaw <rearnsha@arm.com> |
2095 | ||
2096 | PR target/12133 | |
dae1dd2e | 2097 | * arm.c (arm_legitimate_index_p) Allow DFmode for soft-float |
f372c932 RE |
2098 | and DImode to use +/-4k offset. |
2099 | ||
634cbdb3 RH |
2100 | 2004-07-09 Richard Henderson <rth@redhat.com> |
2101 | ||
5d47df87 RH |
2102 | * config/stormy16/stormy16-protos.h (xstormy16_expand_builtin_va_arg): |
2103 | Remove. | |
2104 | * config/stormy16/stormy16.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
2105 | (xstormy16_gimplify_va_arg_expr): Rewrite from | |
2106 | xstormy16_expand_builtin_va_arg. | |
2107 | * config/stormy16/stormy16.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
2108 | ||
35652573 RH |
2109 | * config/sparc/sparc-protos.h (sparc_va_arg): Remove. |
2110 | * config/sparc/sparc.c (sparc_gimplify_va_arg): Mark static. | |
2111 | ||
5fac2ed2 RH |
2112 | * config/sh/sh-protos.h (sh_va_arg): Remove. |
2113 | * config/sh/sh.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
2114 | (sh_gimplify_va_arg_expr): Rewrite from sh_va_arg. | |
2115 | * config/sh/sh.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
2116 | ||
8101c928 RH |
2117 | * config/pa/pa-protos.h (hppa_va_arg): Remove. |
2118 | * config/pa/pa.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
2119 | (hppa_gimplify_va_arg_expr): Rewrite from hppa_va_arg. | |
2120 | * config/pa/pa.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
2121 | ||
634cbdb3 RH |
2122 | * config/mn10300/mn10300-protos.h (mn10300_va_arg): Remove. |
2123 | * config/mn10300/mn10300.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
2124 | (mn10300_gimplify_va_arg_expr): Rewrite from mn10300_va_arg. | |
2125 | * config/mn10300/mn10300.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
2126 | ||
854f240e EB |
2127 | 2004-07-09 Eric Botcazou <ebotcazou@libertysurf.fr> |
2128 | ||
2129 | * config/sparc/sparc.md (return): Rewrite length formula. | |
2130 | * config/sparc/sparc.c (output_return): Pass 1 as 5th | |
2131 | argument to final_scan_insn when in a delay slot. | |
2132 | (output_sibcall): Likewise. | |
2133 | ||
2ad4dcf9 RE |
2134 | 2004-07-09 Richard Earnshaw <rearnsha@arm.com> |
2135 | ||
2136 | * arm.c (arm_cpp_interwork): New variable. | |
2137 | (arm_override_options): Set it if TARGET_INTERWORK was on the command | |
2138 | line. | |
2139 | * arm.h (arm_cpp_interwork): Declare it. | |
2140 | (TARGET_CPU_CPP_BUILTINS): Use it to control definition of | |
2141 | __THUMB_INTERWORK__ in the preprocessor. | |
2142 | ||
4dbb1656 NS |
2143 | 2004-07-09 Nathan Sidwell <nathan@codesourcery.com> |
2144 | ||
2145 | * vec.h (VEC_T_alloc): Fix MEM_STAT_DECL pasto. | |
2146 | ||
42032f7a EB |
2147 | 2004-07-09 Eric Botcazou <ebotcazou@libertysurf.fr> |
2148 | ||
2149 | PR target/16416 | |
2150 | * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): New macro. | |
2151 | Override default settings to account for -m32 and -m64. | |
2152 | ||
8c5ac2c4 RC |
2153 | 2004-07-08 Randolph Chung <tausq@debian.org> |
2154 | ||
2155 | * pa32-linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define. | |
2156 | ||
691e2db8 AO |
2157 | 2004-07-09 Alexandre Oliva <aoliva@redhat.com> |
2158 | ||
2159 | * builtins.c (fold_builtin_strncpy): Make sure len is a constant | |
2160 | before comparing it as such. | |
2161 | ||
37369edc RH |
2162 | 2004-07-08 Richard Henderson <rth@redhat.com> |
2163 | ||
2164 | * builtins.c (std_gimplify_va_arg_expr): Hoist valist into a | |
2165 | temporary. Use bit arithmetic to align. | |
2166 | ||
4b4bf941 JQ |
2167 | 2004-07-08 Jerry Quinn <jlquinn@optonline.net> |
2168 | ||
2169 | * alias.c (nonlocal_mentioned_p, nonlocal_referenced_p, | |
2170 | nonlocal_set_p, init_alias_analysis): Use, LABEL_P, JUMP_P, CALL_P, | |
2171 | NONJUMP_INSN_P, INSN_P, NOTE_P, BARRIER_P. | |
2172 | * bb-reorder.c (mark_bb_for_unlikely_executed_section, | |
2173 | add_labels_and_missing_jumps, find_jump_block, | |
2174 | fix_crossing_unconditional_branches, add_reg_crossing_jump_notes): | |
2175 | Likewise. | |
2176 | * bt-load.c (btr_referenced_p, compute_defs_uses_and_gen, | |
2177 | link_btr_uses, move_btr_def): Likewise. | |
2178 | * builtins.c (expand_builtin_longjmp, expand_builtin_nonlocal_goto, | |
2179 | expand_builtin_expect_jump): Likewise. | |
2180 | * caller-save.c (save_call_clobbered_regs, insert_one_insn): Likewise. | |
2181 | * calls.c (expand_call, emit_library_call_value_1): Likewise. | |
2182 | * cfganal.c (forwarder_block_p): Likewise. | |
2183 | * cfgbuild.c (inside_basic_block_p, count_basic_blocks, | |
2184 | make_label_edge, rtl_make_eh_edge, make_edges, find_basic_blocks_1, | |
2185 | find_bb_boundaries): Likewise. | |
2186 | * cfgcleanup.c (try_simplify_condjump, try_forward_edges, | |
2187 | merge_blocks_move_predecessor_nojumps, | |
2188 | merge_blocks_move_successor_nojumps, insns_match_p, | |
2189 | flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge, | |
2190 | try_optimize_cfg): Likewise. | |
2191 | * cfgexpand.c (expand_block, construct_exit_block): Likewise. | |
2192 | * cfglayout.c (skip_insns_after_block, label_for_bb, | |
2193 | record_effective_endpoints, insn_locators_initialize, | |
2194 | fixup_reorder_chain, update_unlikely_executed_notes): Likewise. | |
2195 | * cfgmainloop.c (create_loop_notes): Likewise. | |
2196 | * cfgrtl.c (delete_insn, delete_insn_chain, | |
2197 | create_basic_block_structure, rtl_delete_block, free_bb_for_insn, | |
2198 | update_bb_for_insn, rtl_merge_blocks, rtl_can_merge_blocks, | |
2199 | block_label, try_redirect_by_replacing_jump, last_loop_beg_note, | |
2200 | redirect_branch_edge, force_nonfallthru_and_redirect, | |
2201 | rtl_tidy_fallthru_edge, back_edge_of_syntactic_loop_p, | |
2202 | rtl_split_edge, commit_one_edge_insertion, print_rtl_with_bb, | |
2203 | update_br_prob_note, rtl_verify_flow_info_1, rtl_verify_flow_info, | |
2204 | purge_dead_edges, cfg_layout_redirect_edge_and_branch, | |
2205 | cfg_layout_delete_block, cfg_layout_can_merge_blocks_p, | |
2206 | cfg_layout_merge_blocks, rtl_block_ends_with_call_p, | |
2207 | need_fake_edge_p, rtl_flow_call_edges_add): Likewise. | |
2208 | * combine.c (combine_instructions, can_combine_p, try_combine, | |
2209 | find_split_point, record_dead_and_set_regs, reg_dead_at_p, | |
2210 | distribute_notes, distribute_links, insn_cuid): Likewise. | |
2211 | * cse.c (fold_rtx, cse_insn, cse_around_loop, | |
2212 | invalidate_skipped_block, cse_set_around_loop, | |
2213 | cse_end_of_basic_block, cse_main, cse_basic_block, | |
2214 | cse_condition_code_reg): Likewise. | |
2215 | * cselib.c (cselib_process_insn): Likewise. | |
2216 | * ddg.c (create_ddg): Likewise. | |
2217 | * df.c (df_insn_refs_record, df_bb_rd_local_compute, df_insns_modify): | |
2218 | Likewise. | |
2219 | * dwarf2out.c (dwarf2out_stack_adjust, dwarf2out_frame_debug, | |
2220 | gen_label_die, dwarf2out_var_location): Likewise. | |
2221 | * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn, | |
2222 | next_insn, previous_insn, next_nonnote_insn, prev_nonnote_insn, | |
2223 | last_call_insn, active_insn_p, next_label, prev_label, | |
2224 | link_cc0_insns, next_cc0_user, try_split, add_insn_after, | |
2225 | add_insn_before, remove_insn, add_function_usage_to, | |
2226 | reorder_insns, find_line_note, remove_unnecessary_notes, | |
2227 | emit_insn_after_1, classify_insn): Likewise. | |
2228 | * except.c (convert_from_eh_region_ranges_1, emit_to_new_bb_before, | |
2229 | connect_post_landing_pads, sjlj_mark_call_sites, | |
2230 | sjlj_emit_function_enter, sjlj_emit_function_exit, reachable_handlers, | |
2231 | can_throw_internal, can_throw_external, set_nothrow_function_flags, | |
2232 | convert_to_eh_region_ranges): Likewise. | |
2233 | * explow.c (optimize_save_area_alloca): Likewise. | |
2234 | * expr.c (expand_expr_real): Likewise. | |
2235 | * final.c (insn_current_reference_address, compute_alignments, | |
2236 | shorten_branches, final, scan_ahead_for_unlikely_executed_note, | |
2237 | final_scan_insn, output_asm_label, leaf_function_p): Likewise. | |
2238 | * flow.c (first_insn_after_basic_block_note, delete_dead_jumptables, | |
2239 | propagate_block_delete_insn, propagate_one_insn, | |
2240 | init_propagate_block_info, propagate_block, libcall_dead_p, | |
2241 | mark_set_1, attempt_auto_inc, find_auto_inc, try_pre_increment): | |
2242 | Likewise. | |
2243 | * function.c (instantiate_virtual_regs, reorder_blocks_1, | |
2244 | expand_function_start, expand_function_end, contains, | |
2245 | thread_prologue_and_epilogue_insns, | |
2246 | reposition_prologue_and_epilogue_notes): Likewise. | |
2247 | * gcse.c (constprop_register, bypass_conditional_jumps, | |
2248 | insert_insn_end_bb, gcse_after_reload): Likewise. | |
2249 | * genemit.c (gen_expand, gen_split): Likewise. | |
2250 | * genpeep.c (gen_peephole, main): Likewise. | |
2251 | * global.c (build_insn_chain): Likewise. | |
2252 | * graph.c (node_data, print_rtl_graph_with_bb): Likewise. | |
2253 | * haifa-sched.c (unlink_other_notes, unlink_line_notes, | |
2254 | get_block_head_tail, no_real_insns_p, rm_line_notes, save_line_notes, | |
2255 | restore_line_notes, rm_redundant_line_notes, rm_other_notes, | |
2256 | ok_for_early_queue_removal, set_priorities, sched_init): Likewise. | |
2257 | * ifcvt.c (count_bb_insns, first_active_insn, last_active_insn, | |
2258 | cond_exec_process_insns, end_ifcvt_sequence, noce_process_if_block, | |
2259 | merge_if_block, block_jumps_and_fallthru_p, find_if_block, | |
2260 | dead_or_predicable): Likewise. | |
2261 | * integrate.c (try_constants): Likewise. | |
2262 | * jump.c (rebuild_jump_labels, cleanup_barriers, | |
2263 | purge_line_number_notes, init_label_info, mark_all_labels, | |
2264 | squeeze_notes, get_label_before, get_label_after, | |
2265 | reversed_comparison_code_parts, simplejump_p, pc_set, | |
2266 | returnjump_p, onlyjump_p, follow_jumps, mark_jump_label, | |
2267 | delete_barrier, delete_prior_computation, delete_computation, | |
2268 | delete_related_insns, delete_for_peephole, redirect_jump): | |
2269 | Likewise. | |
2270 | * lcm.c (optimize_mode_switching): Likewise. | |
2271 | * local-alloc.c (validate_equiv_mem, update_equiv_regs, block_alloc): | |
2272 | Likewise. | |
2273 | * loop-doloop.c (doloop_valid_p, doloop_optimize): Likewise. | |
2274 | * loop-invariant.c (find_exits, find_invariants_bb): Likewise. | |
2275 | * loop-iv.c (simplify_using_assignment): Likewise. | |
2276 | * loop.c (compute_luids, loop_optimize, scan_loop, libcall_other_reg, | |
2277 | libcall_benefit, skip_consec_insns, move_movables, prescan_loop, | |
2278 | find_and_verify_loops, labels_in_range_p, for_each_insn_in_loop, | |
2279 | loop_bivs_init_find, strength_reduce, check_insn_for_bivs, | |
2280 | check_insn_for_givs, check_final_value, update_giv_derive, | |
2281 | basic_induction_var, product_cheap_p, check_dbra_loop, | |
2282 | loop_insn_first_p, last_use_this_basic_block, | |
2283 | canonicalize_condition, get_condition, loop_regs_scan, load_mems, | |
2284 | try_copy_prop, LOOP_BLOCK_NUM, loop_dump_aux): Likewise. | |
2285 | * modulo-sched.c (doloop_register_get, find_line_note, sms_schedule, | |
2286 | sms_schedule_by_order): Likewise. | |
2287 | * optabs.c (emit_no_conflict_block, emit_libcall_block): Likewise. | |
2288 | * postreload.c (reload_cse_simplify_operands, reload_combine, | |
2289 | reload_cse_move2add): Likewise. | |
2290 | * predict.c (can_predict_insn_p, estimate_probability, | |
2291 | expected_value_to_br_prob, process_note_predictions): Likewise. | |
2292 | * print-rtl.c (print_rtx, print_rtl, print_rtl_single): Likewise. | |
2293 | * profile.c (branch_prob): Likewise. | |
2294 | * ra-build.c (live_out_1, livethrough_conflicts_bb, | |
2295 | detect_webs_set_in_cond_jump): Likewise. | |
2296 | * ra-debug.c (ra_print_rtx_object, ra_debug_insns, | |
2297 | ra_print_rtl_with_bb): Likewise. | |
2298 | * ra-rewrite.c (insert_stores, rewrite_program2): Likewise. | |
2299 | * recog.c (next_insn_tests_no_inequality, find_single_use, | |
2300 | split_all_insns, peephole2_optimize, if_test_bypass_p): Likewise. | |
2301 | * reg-stack.c (next_flags_user, record_label_references, | |
2302 | emit_swap_insn, swap_rtx_condition, subst_stack_regs, | |
2303 | compensate_edge, convert_regs_1): Likewise. | |
2304 | * regclass.c (scan_one_insn): Likewise. | |
2305 | * regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2, | |
2306 | regmove_optimize, fixup_match_1, single_set_for_csa, | |
2307 | combine_stack_adjustments_for_block): Likewise. | |
2308 | * regrename.c (build_def_use, copyprop_hardreg_forward_1): Likewise. | |
2309 | * reload.c (find_reloads, find_reloads_address_1, subst_reloads, | |
2310 | find_equiv_reg): Likewise. | |
2311 | * reload1.c (reload, calculate_needs_all_insns, set_label_offsets, | |
2312 | reload_as_needed, emit_input_reload_insns, do_output_reload, | |
2313 | delete_output_reload, delete_address_reloads_1, fixup_abnormal_edges): | |
2314 | Likewise. | |
2315 | * reorg.c (find_end_label, emit_delay_sequence, | |
2316 | delete_from_delay_slot, delete_scheduled_jump, optimize_skip, | |
2317 | get_jump_flags, rare_destination, mostly_true_jump, | |
2318 | try_merge_delay_insns, redundant_insn, own_thread_p, | |
2319 | fill_simple_delay_slots, fill_slots_from_thread, | |
2320 | fill_eager_delay_slots, relax_delay_slots, make_return_insns, | |
2321 | dbr_schedule): Likewise. | |
2322 | * resource.c (find_basic_block, next_insn_no_annul, | |
2323 | find_dead_or_set_registers, mark_target_live_regs): Likewise. | |
2324 | * rtl.h (RTX_PREV): Likewise. | |
2325 | * rtlanal.c (global_reg_mentioned_p, no_labels_between_p, | |
2326 | no_jumps_between_p, reg_used_between_p, reg_referenced_between_p, | |
2327 | reg_set_p, find_last_value, dead_or_set_regno_p, find_reg_fusage, | |
2328 | find_regno_fusage, pure_call_p, replace_label, rtx_referenced_p_1, | |
2329 | tablejump_p, computed_jump_p, insns_safe_to_move_p, | |
2330 | find_first_parameter_load, can_hoist_insn_p): Likewise. | |
2331 | * sched-deps.c (get_condition, add_dependence, sched_analyze_2, | |
2332 | sched_analyze_insn, sched_analyze, add_forward_dependence): Likewise. | |
2333 | * sched-ebb.c (fix_basic_block_boundaries, add_deps_for_risky_insns, | |
2334 | schedule_ebbs): Likewise. | |
2335 | * sched-rgn.c (is_cfg_nonregular, find_conditional_protection, | |
2336 | is_conditionally_protected, can_schedule_ready_p, | |
2337 | add_branch_dependences, debug_dependencies): Likewise. | |
2338 | * stmt.c (emit_nop, expand_start_case, emit_jump_if_reachable): | |
2339 | Likewise. | |
2340 | * unroll.c (unroll_loop, copy_loop_body, back_branch_in_range_p, | |
2341 | reg_dead_after_loop, loop_find_equiv_value, loop_iterations, | |
2342 | set_dominates_use, ujump_to_loop_cont): Likewise. | |
2343 | * var-tracking.c (prologue_stack_adjust, vt_initialize): Likewise. | |
2344 | * varasm.c (output_constant_pool_1): Likewise. | |
2345 | ||
e9eb809d ZD |
2346 | 2004-07-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> |
2347 | ||
2348 | * tree-scalar-evolution.c: New file. | |
2349 | * tree-scalar-evolution.h: New file. | |
2350 | * tree-ssa-loop-niter.c: New file. | |
2351 | * Makefile.in (SCEV_H): New. | |
2352 | (tree-scalar-evolution.o, tree-ssa-loop-niter.o): Add new files. | |
2353 | * cfgloop.h (struct loop): Add bounds field. | |
2354 | * tree-flow.h (struct tree_niter_desc): New type. | |
2355 | (number_of_iterations_cond, number_of_iterations_exit, | |
2356 | loop_niter_by_eval, find_loop_niter_by_eval, | |
2357 | estimate_numbers_of_iterations, can_count_iv_in_wider_type, | |
2358 | free_numbers_of_iterations_estimates): Declare. | |
2359 | * tree.h (lower_bound_in_type, upper_bound_in_type): Declare. | |
2360 | * params.def (PARAM_MAX_ITERATIONS_TO_TRACK): New parameter. | |
2361 | * doc/invoke.texi (max-iterations-to-track): Document. | |
2362 | ||
45dc67b7 KK |
2363 | 2004-07-08 Kaz Kojima <kkojima@gcc.gnu.org> |
2364 | ||
2365 | * config/sh/sh.c (sh_va_arg): Initinalize lab_over. | |
2366 | * config/sh/sh.h (CONST_OK_FOR_J16): Use parentheses. | |
2367 | (MODE_AFTER): Add cast appropriately. | |
2368 | * config/sh/sh.md (movdi splitter): Likewise. | |
2369 | (casesi_worker_2): Add const qualifier appropriately. | |
2370 | (eh_return): Remove unused variable. | |
2371 | (insv): Initialize v; | |
2372 | ||
8d05a22e RH |
2373 | 2004-07-08 Richard Henderson <rth@redhat.com> |
2374 | ||
9d6bb566 RH |
2375 | * config/mmix/mmix-protos.h (mmix_expand_builtin_va_arg): Remove. |
2376 | * config/mmix/mmix.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
2377 | (mmix_gimplify_va_arg_expr): Rewrite from mmix_expand_builtin_va_arg. | |
2378 | * config/mmix/mmix.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
2379 | (FRAME_POINTER_REQUIRED): Use current_function_has_nonlocal_label. | |
2380 | ||
4e15608a RH |
2381 | * config/m32r/m32r-protos.h (m32r_va_arg): Remove. |
2382 | * config/m32r/m32r.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
2383 | (m32r_gimplify_va_arg_expr): Rewrite from m32r_va_arg. | |
2384 | * config/m32r/m32r.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
2385 | ||
fcdfad42 RH |
2386 | * config/iq2000/iq2000-protos.h (iq2000_va_arg): Remove. |
2387 | * config/iq2000/iq2000.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
2388 | (iq2000_gimplify_va_arg_expr): Rewrite from iq2000_va_arg. | |
2389 | * config/iq2000/iq2000.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
2390 | ||
28cb7667 RH |
2391 | * config/frv/frv-protos.h (frv_expand_builtin_va_arg): Remove. |
2392 | * config/frv/frv.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
2393 | (frv_gimplify_va_arg_expr): Rewrite from frv_expand_builtin_va_arg. | |
2394 | * config/frv/frv.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
2395 | ||
8d05a22e RH |
2396 | * config/i860/i860-protos.h (i860_va_arg): Remove. |
2397 | * config/i860/i860.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
2398 | (i860_gimplify_va_arg_expr): Rewrite from i860_va_arg. | |
2399 | * config/i860/i860.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
2400 | ||
6a257778 AL |
2401 | 2004-05-31 Aaron W. LaFramboise <aaronraolete36@aaronwl.com> |
2402 | ||
2403 | * system.h: Prototype getpagesize if missing. | |
2404 | * configure.ac: Add getpagesize to gcc_AC_CHECK_DECLS. | |
2405 | * configure: Regenerate. | |
2406 | * config.in: Regenerate. | |
2407 | ||
0196fbb3 RH |
2408 | 2004-07-08 Richard Henderson <rth@redhat.com> |
2409 | ||
2410 | * config/fr30/fr30-protos.h (fr30_va_arg): Remove. | |
2411 | * config/fr30/fr30.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
2412 | (fr30_gimplify_va_arg_expr): New. | |
2413 | (fr30_pass_by_reference, fr30_pass_by_value, fr30_va_arg): Remove. | |
2414 | * config/fr30/fr30.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
2415 | ||
2d8f9759 VM |
2416 | 2004-07-08 Vladimir Makarov <vmakarov@redhat.com> |
2417 | ||
2418 | PR target/16414 | |
2419 | * config/ia64/ia64.c (ia64_dfa_new_cycle): Fix typo in comparison | |
2420 | of asm_noperands result. | |
2421 | ||
062fff1b RH |
2422 | 2004-07-08 Richard Henderson <rth@redhat.com> |
2423 | ||
2424 | * config/cris/cris-protos.h (cris_expand_builtin_va_arg): Remove. | |
2425 | * config/cris/cris.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
2426 | (cris_gimplify_va_arg_expr): Rewrite from cris_expand_builtin_va_arg. | |
2427 | * config/cris/cris.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
2428 | ||
083385aa RH |
2429 | 2004-07-08 Richard Henderson <rth@redhat.com> |
2430 | ||
2431 | * builtins.c (ind_gimplify_va_arg_expr): New. | |
2432 | * tree.h (ind_gimplify_va_arg_expr): Declare. | |
2433 | * config/arc/arc.c (arc_gimplify_va_arg_expr): Use it. | |
2434 | ||
b42271d6 JB |
2435 | 2004-07-08 Jan Beulich <jbeulich@novell.com> |
2436 | ||
2437 | * expmed.c (extract_bit_field): Correct condition to use vec_extract | |
2438 | patterns also on vector elements other than the first one. | |
2439 | * config/i386/i386.md (vec_extractv2df, vec_extractv4sf): Add missing | |
2440 | break statements. | |
2441 | ||
f37f2515 GK |
2442 | 2004-07-08 Geoffrey Keating <geoffk@apple.com> |
2443 | ||
2444 | * config/rs6000/darwin-ldouble.c: Correct reference | |
2445 | to the Linnainmaa paper. | |
2446 | ||
d222b827 RH |
2447 | 2004-07-08 Richard Henderson <rth@redhat.com> |
2448 | ||
99680f98 RH |
2449 | * config/arc/arc-protos.h (arc_va_arg): Remove. |
2450 | * config/arc/arc.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
2451 | (arc_gimplify_va_arg_expr): Rewrite from arc_va_arg. | |
2452 | * config/arc/arc.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
2453 | ||
d222b827 RH |
2454 | * config/c4x/c4x-protos.h (c4x_va_arg): Remove. |
2455 | * config/c4x/c4x.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
2456 | (c4x_gimplify_va_arg_expr): Rewrite from c4x_va_arg. | |
2457 | * config/c4x/c4x.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
2458 | ||
09eeca5e JDA |
2459 | 2004-07-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
2460 | ||
2461 | * pa.md (prefetch_32, prefetch_64): Simplify constraint checks. | |
2462 | ||
36c1b0de ZW |
2463 | 2004-07-08 Zack Weinberg <zack@codesourcery.com> |
2464 | ||
2465 | * c-decl.c (static_ctors, static_dtors): Make static. | |
2466 | (pop_file_scope): Call c_common_write_pch and | |
2467 | cgraph_finalize_compilation_unit here. | |
2468 | (build_cdtor): Moved here from c-objc-common.c; simplify. | |
2469 | (c_write_global_declarations_1): Clarify comment. | |
2470 | (c_write_global_declarations): Close the external scope before | |
2471 | doing anything else. Call build_cdtor, cgraph_optimize, and | |
2472 | mudflap_finish_file here. | |
2473 | * c-lang.c (finish_file): Don't call c_objc_common_finish_file. | |
2474 | Clarify comment. | |
2475 | * c-objc-common.c: No need to include cgraph.h. | |
2476 | (build_cdtor): Moved to c-decl.c. | |
2477 | (c_objc_common_finish_file): Delete. | |
2478 | * c-tree.h: Update to match. | |
2479 | * objc/objc-act.c (finish_file): Don't call c_objc_common_finish_file. | |
2480 | (generate_static_references): Set TREE_USED before calling finish_decl. | |
2481 | Eliminate unnecessary dummy declaration. Call rest_of_decl_compilation | |
2482 | on the static_instances_decl. | |
2483 | ||
5b02f0e0 ZW |
2484 | 2004-07-08 Zack Weinberg <zack@codesourcery.com> |
2485 | ||
2486 | * c-decl.c (pop_scope): Do not set DECL_CONTEXT on file-scope | |
2487 | decls when there is only one input translation unit. | |
2488 | * langhooks.c (lhd_set_decl_assembler_name): Partially revert | |
2489 | change of 2004-07-05; do not treat declarations with | |
2490 | DECL_CONTEXT a TRANSLATION_UNIT_DECL specially. | |
2491 | * opts.c (cur_in_fname): Delete. | |
2492 | * opts.h: Likewise. | |
2493 | * tree.c: Revert changes of 2004-07-05; no special treatment | |
2494 | for TRANSLATION_UNIT_DECLs. | |
2495 | * Makefile.in (tree.o): Update dependencies. | |
2496 | ||
a32e70c3 RS |
2497 | 2004-07-08 Roger Sayle <roger@eyesopen.com> |
2498 | ||
2499 | * builtins.c (fold_builtin_strcpy): Merge functionality from | |
2500 | simplify_builtin_strcpy. Add additional len argument. No longer | |
2501 | static. Remove function prototype. | |
2502 | (fold_builtin_strncpy): Likewise integrate functionality from | |
2503 | simplify_builtin_strncpy. Add additional slen argument. No | |
2504 | longer static. Remove function prototype. | |
2505 | (simplify_builtin_strcy, simplify_builtin_strncpy): Delete. | |
2506 | (simplify_builtin_fputs): Rename to fold_builtin_fputs. Change | |
2507 | types of "ignore" and "unlocked" parameters to bool. | |
2508 | (fold_builtin_1): Add additional ignore argument. Call renamed | |
2509 | fold_builtin_fputs to simplify GCC "fputs" and "fputs_unlocked" | |
2510 | builtins. Update arguments to fold_builtin_strncpy and | |
2511 | fold_builtin_strcpy. Add function prototype. | |
2512 | (fold_builtin): Add additional Boolean ignore argument to pass | |
2513 | to fold_builtin_1. | |
2514 | (simplify_builtin): Call fold_builtin_fputs, fold_builtin_strcpy | |
2515 | and fold_builtin_strncpy instead of simplify_builtin_fputs, | |
2516 | simplify_builtin_strcpy and simplify_builtin_strncpy respectively. | |
2517 | ||
2518 | * expr.h (simplify_builtin_fputs, simplify_builtin_strcpy, | |
2519 | simplify_builtin_strncpy): Delete function prototypes. | |
2520 | * tree.h (fold_builtin_fputs, fold_builtin_strcpy, | |
2521 | fold_builtin_strncpy): Add function prototypes here. | |
2522 | (fold_builtin): Update function prototype with new "bool ignore". | |
2523 | ||
2524 | * tree-ssa-ccp.c (ccp_fold): Update call to fold_builtin. | |
2525 | (ccp_fold_builtin): Update call to fold_builtin. Call | |
2526 | fold_builtin_fputs, fold_builtin_strcpy and fold_builtin_strncpy | |
2527 | instead of simplify_builtin_fputs, simplify_builtin_strcpy and | |
2528 | simplify_builtin_strncpy respectively. | |
2529 | * fold-const.c (fold): Update call to fold_builtin. | |
2530 | ||
652eb744 AO |
2531 | 2004-07-08 Alexandre Oliva <aoliva@redhat.com> |
2532 | ||
ad4319ec AO |
2533 | * builtins.c (expand_builtin_stpcpy): Un-simplify decay of stpcpy |
2534 | to strcpy. | |
2535 | ||
652eb744 AO |
2536 | * expr.h (FUNCTION_ARG_PARTIAL_NREGS): Default to 0. |
2537 | (FUNCTION_ARG_PASS_BY_REFERENCE): Likewise. | |
2538 | (FUNCTION_ARG_CALLEE_COPIES): Likewise. | |
2539 | * calls.c: Remove ifdefs of macros above. | |
2540 | * functions.c: Likewise. | |
2541 | * expr.c: Likewise. | |
2542 | ||
50711d27 EB |
2543 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> |
2544 | ||
2545 | * config/sparc/sparc.md (UNSPECV_GOTO_V9): Delete. | |
2546 | (arch attribute): Delete. | |
2547 | (current_function_calls_alloca attribute): Rename into calls_alloca. | |
2548 | (calls_eh_return): New attribute. | |
2549 | (leaf_function): Likewise. | |
2550 | (length attribute): Fix formula for sibcalls. | |
2551 | (return insn): Correctly compute the 'length' attribute. | |
2552 | (do_builtin_setjmp_setup): Adjust use of current_function_calls_alloca. | |
2553 | ||
cd709752 RH |
2554 | 2004-07-08 Richard Henderson <rth@redhat.com> |
2555 | ||
2556 | * tree-cfg.c (make_exit_edges): Use get_call_expr_in. | |
2557 | (remove_useless_stmts_1, is_ctrl_altering_stmt): Likewise. | |
2558 | (tree_block_ends_with_call_p, need_fake_edge_p): Likewise. | |
2559 | * tree-eh.c (lower_eh_constructs_1): Likewise. | |
2560 | * tree-sra.c (sra_walk_modify_expr): Likewise. | |
2561 | * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise. | |
2562 | (eliminate_unnecessary_stmts): Likewise. | |
2563 | * tree-ssa-dse.c (dse_optimize_stmt): Likewise. | |
2564 | * tree-tailcall.c (optimize_tail_call): Likewise. | |
2565 | * tree-ssa-ccp.c (get_rhs, set_rhs): Reorg to use switch. | |
2566 | ||
c618c6ec | 2567 | 2004-07-08 Paolo Bonzini <bonzini@gnu.org> |
5b02f0e0 | 2568 | Jakub Jelinek <jakub@redhat.com> |
c618c6ec JJ |
2569 | |
2570 | * config/i386/i386.c (override_options): Enable | |
2571 | SSE prefetches with -mtune, as long as we are | |
2572 | compiling for i686 or higher. All i686 processors | |
2573 | accept SSE prefetches as NOPS, some i586's don't. | |
2574 | ||
afdbd485 EB |
2575 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> |
2576 | ||
2577 | PR target/10567 | |
2578 | * config/sparc/sparc.md (update_return): Honor flag_delayed_branch. | |
2579 | ||
7c35745c DN |
2580 | 2004-07-08 Diego Novillo <dnovillo@redhat.com> |
2581 | ||
2582 | * tree-ssa-operands.c (get_asm_expr_operands): Fix thinkos in | |
2583 | the handling of clobbering ASM_EXPRs. | |
2584 | ||
c74fd3f1 EB |
2585 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> |
2586 | ||
2587 | PR target/16430 | |
2588 | * config/sparc/sparc.c (function_value): In 64-bit mode, | |
2589 | return the aggregates larger than 16 bytes like unions. | |
2590 | ||
1d511ed5 EB |
2591 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> |
2592 | ||
2593 | PR target/16199 | |
2594 | * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): When | |
2595 | 'temp' is zero, generate new pseudos as needed and emit the | |
2596 | sequence of insns in single-assignment form. Resync comments | |
2597 | with code. | |
2598 | (sparc_emit_set_const64): Pass zero as 'temp' argument to above | |
2599 | function before reload. | |
2600 | ||
7de5bccc NS |
2601 | 2004-07-08 Nathan Sidwell <nathan@codesourcery.com> |
2602 | ||
70ce47b5 NS |
2603 | * vec.c (vec_assert_fail): Remove duplicate 'function'. |
2604 | ||
7de5bccc | 2605 | * vec.c (vec_p_reserve, vec_o_reserve): Allocation is signed. |
70ce47b5 | 2606 | |
7de5bccc NS |
2607 | * vec.h (VEC_alloc, VEC_embedded_size, VEC_embedded_init): |
2608 | Allocation is signed. | |
2609 | (VEC_reserve): Return flag, allocation is signed. | |
2610 | ||
5df6d966 RH |
2611 | 2004-07-08 Richard Henderson <rth@redhat.com> |
2612 | ||
2613 | * tree-ssa-ccp.c (fold_stmt): Get type directly from | |
2614 | OBJ_TYPE_REF_OBJECT. | |
2615 | ||
bc15d0ef | 2616 | 2004-07-08 Joseph S. Myers <jsm@polyomino.org.uk> |
5b02f0e0 | 2617 | Neil Booth <neil@daikokuya.co.uk> |
bc15d0ef JM |
2618 | |
2619 | PR c/2511 | |
2620 | PR c/3325 | |
2621 | * c-decl.c (finish_struct): Ensure bit-fields are given the | |
2622 | correct type. | |
2623 | * c-common.c (c_common_signed_or_unsigned_type): For C, require | |
2624 | the precision to match as well as the mode. | |
2625 | * expr.c (reduce_to_bit_field_precision): New function. | |
2626 | (expand_expr_real_1): Reduce expressions of bit-field type to | |
2627 | proper precision. | |
2628 | * langhooks.h (reduce_bit_field_operations): New hook. | |
2629 | * langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): | |
2630 | Define. | |
2631 | * c-lang.c, objc/objc-lang.c | |
2632 | (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define. | |
2633 | * objc/objc-act.c (check_ivars): Convert types to bit-field types | |
2634 | before checking. | |
2635 | * tree.c (build_nonstandard_integer_type): New function. | |
2636 | * tree.h (build_nonstandard_integer_type): New prototype. | |
2637 | * tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't treat | |
2638 | conversions between integer and boolean types as useless. | |
2639 | ||
942e5939 PB |
2640 | 2004-07-08 Paolo Bonzini <bonzini@gnu.org> |
2641 | ||
2642 | * c-common.c (c_common_nodes_and_builtins): Do not | |
2643 | create __builtin_ptrdiff_t and __builtin_size_t. | |
2644 | ||
48747993 AP |
2645 | 2004-07-08 Andrew Pinski <apinski@apple.com> |
2646 | ||
5b02f0e0 | 2647 | * Makefile.in (libbackend.o): Add -combine to the gcc |
48747993 AP |
2648 | command line. |
2649 | ||
1558163d NC |
2650 | 2004-07-08 Nick Clifton <nickc@redhat.com> |
2651 | ||
2652 | * config/stormy16/t-stormy16 (TARGET_LIBGCC2_CFLAGS): Define. | |
2653 | Set to -Os. | |
2654 | ||
ac45df5d RH |
2655 | 2004-07-08 Richard Henderson <rth@redhat.com> |
2656 | ||
5b02f0e0 | 2657 | * except.c (expand_eh_region_start, expand_eh_region_end, |
ac45df5d RH |
2658 | expand_eh_handler, expand_eh_region_end_cleanup, |
2659 | expand_start_all_catch, expand_start_catch, expand_end_catch, | |
2660 | expand_end_all_catch, expand_eh_region_end_allowed, | |
2661 | expand_eh_region_end_must_not_throw, expand_eh_region_end_throw, | |
2662 | expand_eh_region_end_fixup): Remove. | |
2663 | * stmt.c (struct nesting): Remove stack_level, innermost_stack_block, | |
2664 | cleanups, outer_cleanups, label_chain, exception_region. | |
2665 | (struct goto_fixup): Remove stack_level, cleanup_list_list. | |
2666 | (struct label_chain): Remove. | |
2667 | (struct stmt_status): Remove x_stack_block_stack. | |
2668 | (stack_block_stack, expand_goto_internal, expand_fixup, expand_fixups, | |
2669 | fixup_gotos, save_stack_pointer, expand_decl_cleanup, | |
2670 | expand_decl_cleanup_eh, expand_cleanups, start_cleanup_deferral, | |
5b02f0e0 | 2671 | end_cleanup_deferral, last_cleanup_this_contour, |
ac45df5d RH |
2672 | containing_blocks_have_cleanups_or_stack_level, |
2673 | any_pending_cleanups): Remove. | |
2674 | (expand_null_return_1): Take no arguments. | |
2675 | (expand_label, expand_naked_return, expand_return, | |
2676 | expand_start_bindings_and_block, expand_end_bindings, expand_decl, | |
2677 | expand_anon_union_decl, expand_start_case, pushcase, pushcase_range, | |
2678 | expand_end_case_type): Don't use any of them. | |
2679 | * calls.c (expand_call): Likewise. | |
2680 | * dojump.c (do_jump): Likewise. | |
2681 | * function.c (expand_function_end): Likewise. | |
2682 | * expr.c (store_expr, expand_expr_real_1): Likewise. | |
2683 | (safe_from_p): Don't handle WITH_CLEANUP_EXPR, CLEANUP_POINT_EXPR. | |
5b02f0e0 ZW |
2684 | (expand_expr_real_1): Don't handle WITH_CLEANUP_EXPR, |
2685 | CLEANUP_POINT_EXPR, TARGET_EXPR, TRY_CATCH_EXPR, CATCH_EXPR, | |
ac45df5d RH |
2686 | EH_FILTER_EXPR, TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR. |
2687 | * fold-const.c (fold_checksum_tree): Use first_rtl_op. | |
2688 | * gengtype.c (adjust_field_tree_exp): Remove rtl op handling. | |
2689 | * gimplify.c (gimplify_cleanup_point_expr): Renumber operands | |
2690 | for WITH_CLEANUP_EXPR. | |
2691 | (gimple_push_cleanup): Likewise. | |
2692 | * integrate.c (copy_decl_for_inlining): Don't DECL_TOO_LATE. | |
2693 | * print-tree.c (print_node): Likewise. | |
2694 | * tree-pretty-print.c (dump_generic_node): Remove GOTO_SUBROUTINE_EXPR. | |
2695 | * tree.c (first_rtl_op): Always just TREE_CODE_LENGTH. | |
2696 | (has_cleanups): Remove GOTO_SUBROUTINE_EXPR. | |
2697 | * tree.def (WITH_CLEANUP_EXPR): Remove op1 and op2. | |
2698 | (GOTO_SUBROUTINE_EXPR): Remove. | |
2699 | * tree.h (WITH_CLEANUP_EXPR_RTL): Remove. | |
2700 | (DECL_TOO_LATE): Remove. | |
2701 | * except.h, tree.h: Update decls. | |
2702 | ||
97b0ade3 PB |
2703 | 2004-07-08 Paolo Bonzini <bonzini@gnu.org> |
2704 | ||
2705 | * explow.c (optimize_save_area_alloca): Do not accept parameters. | |
2706 | * passes.c (rest_of_handle_final): Handle symout. | |
2707 | (rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): | |
2708 | Push timevar here. | |
2709 | (rest_of_handle_sched): Break out SMS. Remove ifs for | |
2710 | flag_schedule_insns and flag_modulo_sched. | |
2711 | (rest_of_handle_addressof, rest_of_handle_cse2): Garbage | |
2712 | collect at the end. | |
2713 | (rest_of_handle_gcse2): Put under timevar TV_RELOAD_CSE_REGS. | |
2714 | (rest_of_handle_partition_blocks, rest_of_handle_sms, | |
2715 | rest_of_handle_if_after_reload, rest_of_handle_peephole2, | |
2716 | rest_of_handle_mode_switching, rest_of_handle_jump, | |
2717 | rest_of_handle_guess_branch_prob, rest_of_handle_eh, | |
2718 | rest_of_handle_jump2, rest_of_handle_postreload, | |
2719 | rest_of_handle_flow2, rest_of_clean_state, | |
2720 | rest_of_handle_shorten_branches, | |
2721 | rest_of_handle_prologue_epilogue, | |
2722 | rest_of_handle_branch_target_load_optimize): New. | |
2723 | (rest_of_compilation): Call the above. Remove ggc_collect | |
2724 | calls moved to rest_of_handle_*. | |
2725 | * rtl.h (optimize_save_area_alloca): Do not accept parameters. | |
2726 | ||
2727 | * dwarf2out.c (dwarf2out_begin_prologue): Use TREE_NOTHROW. | |
2728 | * except.c (set_nothrow_function_flags): Set TREE_NOTHROW. | |
2729 | * except.h (set_nothrow_function_flags): Update comment. | |
2730 | * function.c (current_function_nothrow): Remove. | |
2731 | * output.h (current_function_nothrow): Remove. | |
2732 | * passes.c (rest_of_compilation): Do not set TREE_NOTHROW. | |
2733 | * config/arm/arm.c (arm_compute_func_type): Use TREE_NOTHROW. | |
2734 | ||
b9185691 EB |
2735 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> |
2736 | ||
2737 | PR bootstrap/16326 | |
2738 | * reorg.c: Revert 2004-06-30 change. | |
2739 | (find_end_label): If HAVE_epilogue and !HAVE_return, | |
2740 | return 0 instead of creating a label at the end of the insn chain. | |
2741 | (optimize_skip): Account for the failure mode of find_end_label. | |
2742 | (fill_simple_delay_slots): Likewise. | |
2743 | (fill_slots_from_thread): Likewise. | |
2744 | (relax_delay_slots): Likewise. | |
2745 | ||
a6d02559 DN |
2746 | 2004-07-08 Diego Novillo <dnovillo@redhat.com> |
2747 | ||
2748 | * tree-flow.h (addressable_vars): Declare. | |
2749 | * tree-ssa-alias.c (addressable_vars): Define. | |
2750 | (setup_pointers_and_addressables): Add addressable variables | |
2751 | to addressable_vars. | |
2752 | * tree-ssa-operands.c (get_stmt_operands): Move | |
2753 | handling of ASM_EXPRs ... | |
2754 | (get_asm_expr_operands): ... here. | |
2755 | When the ASM_EXPR clobbers memory, also clobber addressable | |
2756 | variables. | |
2757 | * tree-ssa.c (init_tree_ssa): Initialize addressable_vars. | |
2758 | (delete_tree_ssa): Reset addressable_vars. | |
2759 | ||
08a8c6b6 JB |
2760 | 2004-07-07 Jan Beulich <jbeulich@novell.com> |
2761 | Richard Henderson <rth@redhat.com> | |
2762 | ||
2763 | * varasm.c (assemble_variable): Use assemble_zeros for | |
2764 | zero-initialized variables. | |
2765 | (categorize_decl_for_section): Honor flag_zero_initialized_in_bss | |
2766 | for SECCAT_BSS and SECCAT_TBSS. | |
2767 | ||
2768 | 2004-07-07 Jan Beulich <jbeulich@novell.com> | |
78a47b1d JB |
2769 | |
2770 | * varasm.c (asm_output_bss): Don't declare unless BSS_SECTION_ASM_OP. | |
08a8c6b6 JB |
2771 | |
2772 | * expmed.c (emit_store_flag): Also special-case double-word | |
2773 | (in-)equality comparison against -1. | |
884815aa | 2774 | |
ff15c351 JB |
2775 | * config/i386/i386.c (ix86_gimplify_va_arg): Don't need temporary for |
2776 | passing arguments the containers for which are registers. | |
2777 | ||
2778 | * calls.c (emit_library_call_value_1): Use mode of function parameter | |
2779 | rather than that of argument since constants have none. | |
e52a6df5 | 2780 | |
beed8fc0 AO |
2781 | 2004-07-08 Alexandre Oliva <aoliva@redhat.com> |
2782 | ||
2783 | Introduce H8SX support. | |
2784 | * expr.c (expand_strcpy): Renamed and moved to... | |
2785 | * builtins.c (expand_movstr): ... here. Tweak. | |
2786 | (expand_builtin_strcpy): Adjust. Use movstr if len can't be | |
2787 | computed or has side effects. | |
2788 | (expand_builtin_stpcpy): Likewise. Use strcpy if return value is | |
2789 | unused, or if mempcpy fails. Adjust the return value in the | |
2790 | latter case. Use movstr if everything else fails. | |
2791 | * doc/md.texi (movstr): Document. | |
2792 | (movmemM, clrmemM): Fix explanation of memory block operands. | |
2793 | * config/h8300/h8300.md (stpcpy): Renamed to... | |
2794 | (movstr): ... this. Adjust. | |
2795 | 2004-07-07 Alexandre Oliva <aoliva@redhat.com> | |
2796 | * config/h8300/h8300.md: Rename movstr*, except for movstrict*, to | |
2797 | movmem* and clrstr* to clrmem*. | |
2798 | 2004-06-27 Alexandre Oliva <aoliva@redhat.com> | |
2799 | * config/h8300/h8300.c (h8300_reg_class_from_letter): Map 'D' to | |
2800 | GENERAL_REGS, always. | |
2801 | (h8300_swap_into_er6, h8300_swap_into_er6): Handle the case of | |
2802 | getting the stack pointer as addr. | |
2803 | * config/h8300/h8300.h (PREDICATE_CODES): Remove constant rtxes | |
2804 | from general_operand_dst. | |
2805 | * config/h8300/h8300.md (movmd_internal_normal): New, normal-mode | |
2806 | variant of... | |
2807 | (movmd_internal): ... this. Add modes to operands. Disparage `D' | |
2808 | instead of requiring it to match only before reload. | |
2809 | (stpcpy_internal_normal): New, normal-mode variant of... | |
2810 | (stpcpy_internal): ... this. Add modes to operands. Disparage | |
2811 | `D' instead of requiring it to match only before reload. | |
2812 | * config/h8300/h8300-protos.h (h8300_legitimate_address_p): Add | |
2813 | mode argument. | |
2814 | * config/h8300/h8300.h (GO_IF_LEGITIMATE_ADDRESS): Pass it to... | |
2815 | * config/h8300/h8300.c (h8300_legitimate_address_p): Pass it to | |
2816 | h8300_get_index. | |
2817 | * config/h8300/h8300.md (attr type): Add call. | |
2818 | (attr can_delay): If type is call, set it no. | |
2819 | (call, call_value): Set type to call. | |
2820 | 2004-06-21 Alexandre Oliva <aoliva@redhat.com> | |
2821 | * config/h8300/h8300.md (logicalhi3_sn, logicalsi3_sn): New. | |
2822 | 2004-06-16 Alexandre Oliva <aoliva@redhat.com> | |
2823 | * tree.c (get_narrower): Don't narrow integral types into | |
2824 | non-integral types. | |
2825 | * config/h8300/h8300.c (h8300_expand_epilogue): Initialize | |
2826 | frame_size *before* the first use. | |
2827 | * config/h8300/h8300.md (movstrictqi): Reintroduce post-increment | |
2828 | on input. | |
2829 | (peephole2): Don't widen instructions that push SP. Move | |
2830 | decrement of SP to the end of all stm-generating peepholes. | |
2831 | 2003-07-24 Richard Sandiford <rsandifo@redhat.com> | |
2832 | * config/h8300/h8300.md (insv): Prefer to use AND to clear a bitfield | |
2833 | and OR to set it to all ones. | |
2834 | 2003-07-24 Richard Sandiford <rsandifo@redhat.com> | |
2835 | * config/h8300/h8300.md (can_delay): Default to "no" for bit branches. | |
2836 | (call, call_value): Set can_delay to "no". | |
2837 | 2003-07-22 Richard Sandiford <rsandifo@redhat.com> | |
2838 | * config/h8300/h8300.md (extzv): Make subreg check more robust. | |
2839 | 2003-07-21 Richard Sandiford <rsandifo@redhat.com> | |
2840 | * config/h8300/h8300.md (*brabit): Remove. | |
2841 | * config/h8300/h8300.md (*brabc, *brabs): Remove mode from | |
2842 | zero_extract. Use bit_memory_operand as the predicate for | |
2843 | operand 1 and 'WU' as the constraint. Check the difference | |
2844 | between the base length and the final one when deciding which | |
2845 | type of branch to use. | |
2846 | 2003-07-21 Richard Sandiford <rsandifo@redhat.com> | |
2847 | * config/h8300/h8300.md (extzv): Remove mode from operands 0 and 1. | |
2848 | Use convert_move to extend the result for TARGET_H8300SX. Check | |
2849 | for QImode memory references. Optimize the case where the | |
2850 | destination is a paradoxical subreg. | |
2851 | 2003-07-21 Richard Sandiford <rsandifo@redhat.com> | |
2852 | * config/h8300/h8300.md (*movsf_h8sx): Add an r <- G alternative. | |
2853 | * config/h8300/h8300.md (andqi): Remove bclr from h8sx version. | |
2854 | 2003-07-21 Richard Sandiford <rsandifo@redhat.com> | |
2855 | * config/h8300/h8300.md: Include mova.md | |
2856 | (length_table): Add mova and mova_zero. | |
2857 | * config/h8300/h8300.c (print_operand): Handle '%o'. Print a length | |
2858 | after all constant addresses for '%R', '%X', '%T' and '%S'. | |
2859 | (h8300_mova_length): New function. | |
2860 | (h8300_insn_length_from_table): Use it to handle mova and mova_zero. | |
2861 | * config/h8300/t-h8300 (mova.md): Generate from genmova.sh. Add to | |
2862 | dependencies for s-config, etc. | |
2863 | * config/h8300/gemova.sh: New file. | |
2864 | * config/h8300/mova.md: Generated. | |
2865 | 2003-07-20 Alexandre Oliva <aoliva@redhat.com> | |
2866 | * config/h8300/h8300.c (h8300_bitfield_length): New. | |
2867 | (nibble_operand): Adjust. | |
2868 | (h8300_binary_length): Handle conditional binary op. | |
2869 | (h8300_insn_length_from_table): Handle bitfield and bitbranch. | |
2870 | * config/h8300/h8300.h: Change constraints W# and Y# to P#>X and | |
2871 | P#<X, respectively. The original P is now IP4>X. Introduced P#>0 | |
2872 | and P#<0, unused so far. W and Y are now prefixes to multi-letter | |
2873 | constraints. WU is introduced as a variant of U that requires a | |
2874 | mem, and is therefore considered an EXTRA_MEMORY_CONSTRAINT. | |
2875 | * config/h8300/h8300.md (attr type): Added bitbranch. | |
2876 | (attr length_table): Added bitfield and bitbranch. | |
2877 | (attr length): Compute bitbranch length. | |
2878 | (andqi): Separate pattern for H8300SX. Use bfld for loading the | |
2879 | least-significant bit of a byte. | |
2880 | (brabit, brabc, brabs): New. | |
2881 | (insv, extzv): Emit bfst and bfld on H8300SX. | |
2882 | (bfld, bfst, seq, sne): New. | |
2883 | (bstzhireg, cmpstz, bstz, bistz): New. | |
2884 | (cmpcondbset, condbset, cmpcondbclr, condbclr): New. | |
2885 | (cmpcondbsetreg, condbsetreg, cmpcondbclrreg, condbclrreg): New. | |
2886 | 2003-07-11 Richard Sandiford <rsandifo@redhat.com> | |
2887 | * config/h8300/h8300.c (h8sx_binary_memory_operator): New function. | |
2888 | (h8sx_unary_memory_operator): New function. | |
2889 | * config/h8300/h8300.h (EXTRA_MEMORY_CONSTRAINT): Disable. | |
2890 | (PREDICATE_CODES): Add h8sx_{unary,binary}_memory_operator. | |
2891 | * config/h8300/h8300.md: Add peepholes to combine reloads and | |
2892 | arithmetic insns. | |
2893 | 2003-07-10 Richard Sandiford <rsandifo@redhat.com> | |
2894 | * config/h8300/h830.md (cmpqi): Use 'i' rather than 'n' in constraints. | |
2895 | (*cmphi_h8300hs, *addqi3, *addhi3_h8sx, subhi3): Likewise. | |
2896 | (and?i, ior?i, xor?i): Likewise. | |
2897 | 2003-07-10 Richard Sandiford <rsandifo@redhat.com> | |
2898 | * config/h8300/h8300.c: Move enums and prototypes to head of file. | |
2899 | Various whitespace fixes. | |
2900 | (h8300_constant_length): New function, split out from... | |
2901 | (h8300_displacement_size): ...here. Rename h8300_displacement_length. | |
2902 | (h8300_classify_operand): Use IN_RANGE. | |
2903 | (h8300_classify_operand): Use h8300_constant_length. | |
2904 | (h8300_short_move_mem_p): Tighten size check. | |
2905 | (h8sx_mergeable_memrefs_p): Tighten equality check. | |
2906 | 2003-06-30 Richard Sandiford <rsandifo@redhat.com> | |
2907 | * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Define __H8300SX__ | |
2908 | for -msx. | |
2909 | * config/h8300/crti.asm: Use .h8300sx or .h8300sxn for -msx code. | |
2910 | * config/h8300/crtn.asm: Likewise. | |
2911 | * config/h8300/lib1funcs.asm: Likewise. Use 32-bit pointers | |
2912 | if __H8300SX__ is defined. | |
2913 | 2003-06-27 Richard Sandiford <rsandifo@redhat.com> | |
2914 | * config/h8300/h8300-protos.h (h8300_get_index): Add mode parameter. | |
2915 | * config/h8300/h8300.h (GO_IF_LEGITIMATE_ADDRESS): Update accordingly. | |
2916 | (GO_IF_MODE_DEPENDENT_ADDRESS): Treat POST_DEC, PRE_INC and indexed | |
2917 | addresses as mode-dependent. | |
2918 | * config/h8300/h8300.c (print_operand_address): Update call to | |
2919 | h8300_get_index. | |
2920 | (h8300_get_index): Take a mode argument. Rework to fix an | |
2921 | earlier misunderstanding. | |
2922 | 2003-06-26 Richard Sandiford <rsandifo@redhat.com> | |
2923 | * config/h8300/h8300.c (zero_extendqisi2): Force the source operand | |
2924 | into a register if TARGET_H8300SX. | |
2925 | (*zero_extendqisi2_h8300hs, *extendqisi2_h8300): Disable for | |
2926 | TARGET_H8300SX. Also disable related define_splits. | |
2927 | (*zero_extendqisi2_h8sx, *extendqisi2_h8sx): New patterns. | |
2928 | 2003-06-23 Richard Sandiford <rsandifo@redhat.com> | |
2929 | * config/h8300/h8300.c (h8300_rtx_costs): Add h8sx handling. | |
2930 | 2003-06-20 Richard Sandiford <rsandifo@redhat.com> | |
2931 | * config/h8300/h8300.h (OK_FOR_Z): New macro. | |
2932 | (EXTRA_CONSTRAINT_STR): Check it. | |
2933 | * config/h8300/h8300.c (h8300_classify_operand): Accept null | |
2934 | class arguments. | |
2935 | (h8300_insn_length_from_table): Handle LENGTH_TABLE_MOV_IMM4. | |
2936 | * config/h8300/h8300.md (length_table): Add mov_imm4. | |
2937 | (movqi, movhi): Add Z <- W4 alternatives to h8sx patterns. | |
2938 | 2003-06-20 Richard Sandiford <rsandifo@redhat.com> | |
2939 | * genattrtab.c (write_eligible_delay): Allow candidate_insn to | |
2940 | be a label. | |
2941 | * config/h8300/h8300.h (DELAY_SLOT_LENGTH): New macro. | |
2942 | * config/h8300/h8300.c (h8300_reorg): New function. | |
2943 | (TARGET_MACHINE_DEPENDENT_REORG): Define. | |
2944 | * config/h8300/h8300.md (length): Subtract the length of the | |
2945 | delay slot from (pc) when checking the range of forward branches. | |
2946 | (delay_slot, can_delay): New attributes. | |
2947 | (define_delay): Add bra/s handling. | |
2948 | (movmd_internal, return_h8sx, *return_1): Set can_delay to no. | |
2949 | (jump): Add delayed-branch handling. | |
2950 | 2003-06-17 Richard Sandiford <rsandifo@redhat.com> | |
2951 | * expr.c (expand_strcpy): New function. | |
2952 | * builtins.c (expand_builtin_strcpy): Fall back on expand_strcpy. | |
2953 | (expand_builtin_stpcpy): Likewise. | |
2954 | * config/h8300/h8300-protos.h (h8sx_split_movmd): Remove. | |
2955 | (h8300_swap_into_er6, h8300_swap_out_of_er6): Declare. | |
2956 | * config/h8300/h8300.c (h8300_reg_class_from_letter): Tweak 'd' | |
2957 | handling to improve register allocation for -fno-omit-frame-pointer. | |
2958 | (h8sx_split_movmd): Delete, moving er6 handling into... | |
2959 | (h8300_swap_into_er6, h8300_swap_out_of_er6): ...these new functions. | |
2960 | * config/h8300/h8300.md (UNSPEC_STPCPY): New unspec constant. | |
2961 | (movmd): Add calls to copy_rtx. | |
2962 | (movmd_internal): In the second alternative, allow the initial and | |
2963 | final destination registers to be different . Update the splitter | |
2964 | accordingly. Call h8300_swap_into_er6 and h8300_swap_out_of_er6 | |
2965 | instead of h8sx_split_movmd. | |
2966 | (stpcpy, movsd): New expanders. | |
2967 | (movsd_internal): New define_insn. | |
2968 | 2003-06-13 Richard Sandiford <rsandifo@redhat.com> | |
2969 | * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Declare. | |
2970 | (h8sx_emit_movmd, h8sx_split_movmd): Declare. | |
2971 | * config/h8300/h8300.h (reg_class): Add COUNTER_REGS, SOURCE_REGS | |
2972 | and DESTINATION_REGS. | |
2973 | (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly. | |
2974 | (REGNO_REG_CLASS): Map er4, er5 and er6 to the new classes. | |
2975 | (REG_CLASS_FROM_LETTER): Use h8300_reg_class_from_letter. | |
2976 | (h8300_move_ratio): Declare. | |
2977 | (MOVE_RATIO): Use it. | |
2978 | * config/h8300/h8300.c (h8300_move_ratio): New variable. | |
2979 | (h8300_init_once): Initialize it. | |
2980 | (h8300_reg_class_from_letter): New function. | |
2981 | (print_operand): Add an 'm' prefix for printing ".b", ".w" or ".l". | |
2982 | (h8sx_emit_movmd, h8sx_split_movmd): New functions. | |
2983 | * config/h8300/h8300.md (UNSPEC_MOVMD): New unspec constant. | |
2984 | (COUNTER_REG, SOURCE_REG, DESTINATION_REG): New register constants. | |
2985 | (movstrsi, movmd): New expanders. | |
2986 | (movmd_internal): New insn. | |
2987 | 2003-06-06 Richard Sandiford <rsandifo@redhat.com> | |
2988 | * config/h8300/h8300.h (EXTRA_MEMORY_CONSTRAINT): Define. | |
2989 | 2003-06-04 Richard Sandiford <rsandifo@redhat.com> | |
2990 | * config/h8300/elf.h (LINK_SPEC): Use -m h8300sxnelf for -msx -mn. | |
2991 | * config/h8300/h8300.c (asm_file_start): Use .h8300sxn likewise. | |
2992 | 2003-06-03 Richard Sandiford <rsandifo@redhat.com> | |
2993 | * config/h8300/h8300.c (nibble_operand): Fix warning. | |
2994 | * config/h8300/h8300.md (movstricthi): Set adjust_length to no. | |
2995 | (movsi_h8sx): Likewise here and the normal h8sx movhi pattern. | |
2996 | (movsf_h8300h): Disable for TARGET_H8300SX. | |
2997 | 2003-06-03 Richard Sandiford <rsandifo@redhat.com> | |
2998 | * config/h8300/h8300.h (PREDICATE_CODES): Add h8300_ldm_parallel, | |
2999 | h8300_stm_parallel and h8300_return_parallel. | |
3000 | * config/h8300/h8300.c (h8300_push_pop, h8300_stack_offset_p, | |
3001 | h8300_ldm_stm_regno, h8300_ldm_stm_parallel, h8300_ldm_parallel, | |
3002 | h8300_stm_parallel, h8300_return_parallel): New functions. | |
3003 | (h8300_expand_prologue): Don't enforce ldm/stm register alignment | |
3004 | if TARGET_H8300SX. Use h8300_push_pop. | |
3005 | (h8300_expand_epilogue): Likewise. Try to merge the return insn | |
3006 | and final pop when generating h8sx code. Always emit some form | |
3007 | of return insn. | |
3008 | * config/h8300/h8300.md: Don't enforce register alignment in | |
3009 | stm peepholes if TARGET_H8300SX. | |
3010 | (ldm_h8300s, stm_h8300s, return_h8sx): New patterns. | |
3011 | (ldm_h8300s_[234], stm_h8300_[234]): Disable. | |
3012 | (epilogue): Expect h8300_expand_epilogue to emit a return insn. | |
3013 | 2003-06-03 Richard Sandiford <rsandifo@redhat.com> | |
3014 | * config/h8300/t-h8300 (MULTILIB_OPTIONS): Add a -msx multilib. | |
3015 | (MULTILIB_DIRNAMES): Add a directory for it. | |
3016 | (MULTILIB_MATCHES): Delete. | |
3017 | 2003-05-28 Richard Sandiford <rsandifo@redhat.com> | |
3018 | * final.c (walk_alter_subreg): Handle addresses with subregs | |
3019 | inside a ZERO_EXTEND or AND. | |
3020 | * config/h8300/h8300-protos.h (h8300_get_index): Declare. | |
3021 | * config/h8300/h8300.h (INDEX_REG_CLASS): Set to GENERAL_REGS | |
3022 | if TARGET_H8300SX. | |
3023 | (GO_IF_LEGITIMATE_ADDRESS): Use h8300_get_index. | |
3024 | * config/h8300/h8300.c (print_operand_address): Handle @(dd,RnL.b), | |
3025 | @(dd,Rn.w) and @(dd,ERn.L). | |
3026 | (h8300_displacement_size): Take the whole address as argument. | |
3027 | (h8300_classify_operand, h8300_short_move_mem_p): Adjust accordingly. | |
3028 | 2003-05-28 Richard Sandiford <rsandifo@redhat.com> | |
3029 | * config/mips/mips-protos.h (h8300_operands_match_p): Declare. | |
3030 | (h8sx_mergeable_memrefs_p): Declare. | |
3031 | * config/h8300/h8300.h (HAVE_POST_DECREMENT): Define to TARGET_H8300SX. | |
3032 | (HAVE_PRE_INCREMENT): Likewise. | |
3033 | (GO_IF_LEGITIMATE_ADDRESS): Accept pre/post increment/decrement | |
3034 | addresses for TARGET_H8300SX, | |
3035 | * config/h8300/h8300.c (print_operand_address): Deal with PRE_INC | |
3036 | and POST_DEC. | |
3037 | (movb_length_table, movl_length_table): New tables. | |
3038 | (movw_length_table): Define to movb_length_table. | |
3039 | (h8300_displacement_size): New, split out from... | |
3040 | (h8300_classify_address): ...here. Handle pre/post inc/dec. | |
3041 | (h8300_short_immediate_length): Allow H8OP_MEM_COMPLEX operands. | |
3042 | (h8300_insn_length_from_table): Add cases for movb, movw and movl. | |
3043 | (h8sx_mergeable_memrefs_p, h8300_operands_match_p): New functions. | |
3044 | (output_plussi): Use add.l #xx:3,Rn and sub.l #xx:3,Rn for h8sx. | |
3045 | (compute_plussi_length, compute_plussi_cc): Update accordingly. | |
3046 | (h8sx_unary_shift_operator): Get the mode from the operator. | |
3047 | (binary_shift_operator): Likewise. | |
3048 | * config/h8300/h8300.md: If a peephole2 applies gen_lowpart to | |
3049 | a memory reference, check whether the reference is offsettable. | |
3050 | (length_table): Add movb, movw and movl. | |
3051 | (movqi): Add new h8sx pattern. Don't force one operand to be a | |
3052 | register when generating h8sx code. | |
3053 | (movhi, movsi, movsf): Likewise. | |
3054 | (movstrictqi): Use the length_table attribute. | |
3055 | (movstricthi): Likewise. Add h8sx alternative for mov.w #xx:3,Rn. | |
3056 | (addqi3): Split into a define_expand and define_insn. Don't accept | |
3057 | memory operands in the expander. Use h8300_operands_match_p to | |
3058 | check for matching operands in the define_insn. | |
3059 | (subqi3, negqi2, one_cmplqi2): Likewise. | |
3060 | (add[hs]i3): Don't accept memory operands in the expander. Likewise | |
3061 | in any patterns that are unused in h8sx code. In the h8sx patterns, | |
3062 | use h8300_operands_match_p to check whether operands match. | |
3063 | (sub[hs]i3, and[hi]3, ior[hs]i3, xor[hs]i3, neg[hsi]3, | |
3064 | one_cmpl[hs]i3): Likewise. | |
3065 | (andqi3, iorqi3, xorqi3): Likewise. Don't call fix_bit_operand | |
3066 | in the expander. | |
3067 | 2003-05-23 Richard Sandiford <rsandifo@redhat.com> | |
3068 | * config/h8300/h8300-protos.h (expand_a_shift): Return a bool. | |
3069 | (h8300_insn_length_from_table): Add a second parameter. | |
3070 | (output_h8sx_shift): Declare. | |
3071 | * config/h8300/h8300.h (OK_FOR_W, OK_FOR_Y): New macros. | |
3072 | (EXTRA_CONSTRAINT): Replace with... | |
3073 | (EXTRA_CONSTRAINT_STR): ...this. Use OK_FOR_W and OK_FOR_Y. | |
3074 | (CONSTRAINT_LEN): Define, returning 2 for 'W' and 'Y'. | |
3075 | (PREDICATE_CODES): Add entries for h8sx_unary_shift_operator | |
3076 | and h8sx_binary_shift_operator. | |
3077 | * config/h8300/h8300.c (two_insn_adds_subs_operand): Return false | |
3078 | for TARGET_H8300SX. | |
3079 | (bit_operand): Replace use of EXTRA_CONSTRAINT with OK_FOR_U. | |
3080 | (bit_memory_operand, fix_bit_operand): Likewise. | |
3081 | (h8300_length_table_for_insn): Remove. | |
3082 | (h8300_classify_operand): Fix check for 16-bit operands in 32-bit | |
3083 | instructions. | |
3084 | (h8300_short_immediate_length, h8300_binary_length): New functions. | |
3085 | (h8300_insn_length_from_table): Add an opcodes parameter. Rework. | |
3086 | (output_plussi): Use sub to add negative constants. | |
3087 | (compute_plussi_length): Adjust accordingly. | |
3088 | (h8sx_single_shift_type): New enum. | |
3089 | (h8sx_single_shift, h8sx_unary_shift_operator, | |
3090 | h8sx_binary_shift_operator, output_h8sx_shift): New functions. | |
3091 | (expand_a_shift, expand_a_rotate): Emit nothing if the shift is a | |
3092 | single h8sx instruction. Return false in this case. | |
3093 | * config/h8300/h8300.md (length_table): Add short_immediate. | |
3094 | (length): Pass the operand array to h8300_insn_length_from_table. | |
3095 | (adjust_length): Assume "no" for insns with a length_table attribute. | |
3096 | (*cmphi_h8300hs, cmpsi): Add alternatives for #xx:3. | |
3097 | (*addhi3_h8300hs): Don't use for h8sx. | |
3098 | (*addhi3_h8sx): New pattern, with alternatives for add.w #xx:3 | |
3099 | and sub.w #xx:3. | |
3100 | (ashl[qhs]i3, lshr[qhs]i3, ashr[qhs]i3, rotl[qhs]i3): Change operand | |
3101 | 1's predicate to nonimmediate_operand. Only skip default expansion | |
3102 | if expand_a_shift or expand_a_rotate returns true. Add new patterns | |
3103 | for single h8sx shift instructions. | |
3104 | 2003-05-22 Alexandre Oliva <aoliva@redhat.com> | |
3105 | * config/h8300/h8300.c (nibble_operand): Split out of... | |
3106 | (reg_or_nibble_operand): ... this. | |
3107 | * config/h8300/h8300.h (PREDICATE_CODES): Added nibble_operand. | |
3108 | * config/h8300/h8300.md: (mulqihi3, mulhisi3, umulqihi3, | |
3109 | umulhisi3): Introduce expand, and introduce separate insns for | |
3110 | sign- or zero-extended REG and already-extended CONST_INT. | |
3111 | 2003-05-20 Richard Sandiford <rsandifo@redhat.com> | |
3112 | * config/h8300/h8300.c (h8300_unary_length): Fix miscounting. | |
3113 | * config/h8300/h8300.md (subqi3): Generalize for h8sx. | |
3114 | (subhi3): Likewise. Don't accept immediates for operand 1. | |
3115 | Remove the early clobber from second alternative of the h8300s pattern. | |
3116 | (subsi3): Generalize for h8sx. Force operand 2 into a register | |
3117 | on plain h8300 targets. | |
3118 | (subsi3_h8300): Use h8300_dst_operand for consistency with expander. | |
3119 | (subsi3_h8300h): Generalize for h8sx. | |
3120 | (one_cmplqi2, one_cmplhi2, one_cmplsi2): Likewise. | |
3121 | 2003-05-19 Alexandre Oliva <aoliva@redhat.com> | |
3122 | * config/h8300/h8300.c (reg_or_nibble_operand): New. | |
3123 | * config/h8300/h8300.h (PREDICATE_CODES): Adjust. | |
3124 | (TARGET_H8300SXMUL): New. | |
3125 | (CONST_OK_FOR_P): New. | |
3126 | (CONST_OK_FOR_LETTER_P): Adjust. | |
3127 | * config/h8300/h8300.md (mulqihi3, mulhisi3, umulqihi3, | |
3128 | umulhisi3): Accept 4-bit immediate on H8SX. | |
3129 | (mulhi3, mulsi3, smulsi3_highpart, umulsi3_highpart): New. | |
3130 | (udivsi3, divhi3, udivsi3, divsi3): New. | |
3131 | 2003-05-19 Richard Sandiford <rsandifo@redhat.com> | |
3132 | * config/h8300/h8300-protos.h (h8300_insn_length_from_table): Declare. | |
3133 | * config/h8300/h8300.h (OK_FOR_Q): New macro. | |
3134 | (EXTRA_CONSTRAINT): Use it to check the 'Q' constraint. | |
3135 | (PREDICATE_CODES): Add h8300_src_operand and h8300_dst_operand. | |
3136 | Add ADDRESSOF to the bit_operand entry. | |
3137 | * config/h8300/h8300.c (h8300_dst_operand): New predicate. | |
3138 | (h8300_src_operand): Likewise. | |
3139 | (bit_operand): Check nonimmediate_operand rather than general_operand. | |
3140 | Accept any nonimmediate_operand in h8sx code. | |
3141 | (h8300_and_costs): Initialize operands[1]. | |
3142 | (h8300_rtx_costs) <AND>: Return false if the operands aren't valid. | |
3143 | (h8300_operand_class): New enum. | |
3144 | (h8300_length_table): New typedef. | |
3145 | (addb_length_table, addw_length_table, addl_length_table, | |
3146 | logicl_length_table): New tables. | |
3147 | (logicb_length_table, logicw_length_table): New macros. | |
3148 | (h8300_classify_operand, h8300_length_from_table, | |
3149 | h8300_length_table_for_insn, h8300_unary_length, | |
3150 | h8300_insn_length_from_table): New functions. | |
3151 | (output_plussi): Only use adds and subs for register destinations. | |
3152 | Disable redundant clause. | |
3153 | (compute_plussi_cc): Likewise. | |
3154 | (compute_plussi_length): Likewise. Use h8300_length_from_table | |
3155 | to work out the length of an insn. | |
3156 | (output_logical_op): Only use narrower immediate instructions | |
3157 | if the destination is a register. | |
3158 | (compute_logical_op_cc): Likewise. | |
3159 | (compute_logical_op_length): Likewise. Use h8300_length_from_table. | |
3160 | (h8300_adjust_insn_length): Tighten check for reg<->mem moves. | |
3161 | * config/h8300/h8300.md (length_table): New attribute. | |
3162 | (length): When an instruction has a length_table attribute, use | |
3163 | h8300_insn_length_from_table to calculate its default length. | |
3164 | (cmpqi): Use h8300_dst_operand for the first operand and | |
3165 | h8300_src_operand for the second. | |
3166 | (cmphi, *cmphi_h8300hs, cmpsi, negqi2, neghi2, neghi2_h8300h, negsi2, | |
3167 | negsi2_h8300h, addqi3, addhi3, *addhi3_h8300, *addhi3_h8300hs, addsi3, | |
3168 | addsi_h8300, addsi_h8300h, andhi3, andsi3, iorhi3, | |
3169 | iorsi3, xorhi3, xorsi3): Likewise. | |
3170 | (andqi3): Use h8300_src_operand for operand 2. Adjust the condition | |
3171 | so that it allows any combination of operands for TARGET_H8300SX. | |
3172 | (iorqi3, xorqi3): Likewise. | |
3173 | (cmpqi): Use the length_table attribute. | |
3174 | (*cmphi_h8300hs, cmpsi, addqi, *addhi3_h8300hs, andqi3, iorqi3, | |
3175 | xorqi3, negqi2, neghi2_h8300h, negsi2_h8300h): Likewise. | |
3176 | (cmpqi): Add 'Q' constraint. | |
3177 | (*cmphi_h8300hs, cmpsi, addqi, *addhi3_h8300hs, addsi_h8300h, andqi3, | |
3178 | iorqi3, xorqi3, negqi2, neghi2_h8300h, negsi2_h8300h): Likewise. | |
3179 | 2003-05-14 Richard Sandiford <rsandifo@redhat.com> | |
3180 | * config/h8300/h8300.h (MASK_H8300SX): New macro. | |
3181 | (TARGET_H8300S): True for both -ms and -msx. | |
3182 | (TARGET_H8300SX): New macro. | |
3183 | (TARGET_SWITCHES): Add entries for -msx and -mno-sx. | |
3184 | * config/h8300/h8300.c (asm_file_start): Write .h8300sx for -msx. | |
3185 | * config/h8300/elf.h (LINK_SPEC): Use -m h8300sxelf for -msx. | |
3186 | * config/h8300/t-h8300 (MULTILIB_MATCHES): Use -ms multilibs for -msx. | |
3187 | [Temporary change.] | |
3188 | 2003-02-28 Alexandre Oliva <aoliva@redhat.com> | |
3189 | * config/h8300/h8300.h (SIZE_TYPE, PTRDIFF_TYPE): Use short with | |
3190 | 16-bit pointers and 32-bit ints. | |
3191 | * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Accept | |
3192 | CONST_DOUBLE with mode no wider than SImode. | |
3193 | * config/h8300/h8300.md (extendqisi2_h8300): Add constraints for | |
3194 | output operand. | |
3195 | 2003-02-27 Alexandre Oliva <aoliva@redhat.com> | |
3196 | * config/h8300/h8300.c (general_operand_src): Match CONSTANT_P_RTX | |
3197 | or SUBREG thereof. | |
3198 | * config/h8300/h8300.h (PREDICATE_CODES): Adjust. | |
3199 | 2003-02-22 Alexandre Oliva <aoliva@redhat.com> | |
3200 | * config/h8300/h8300.c (dosize): Truncate sign * size to Pmode. | |
3201 | ||
50c0d3fd AL |
3202 | 2004-05-28 Aaron W. LaFramboise <aaronraolete36@aaronwl.com> |
3203 | ||
3204 | * config.gcc (i[34567]86-*-mingw32*): Enable threads by default. | |
3205 | ||
c03e0096 PB |
3206 | 2004-07-07 Per Bothner <per@bothner.com> |
3207 | ||
3208 | * flow.c (attempt_auto_inc): Remove now-redundant PUT_CODE. | |
3209 | ||
789a4ea3 MS |
3210 | 2004-07-07 Mike Stump <mrs@apple.com> |
3211 | ||
3212 | * darwin.h (ASM_OUTPUT_LABELREF): Fix -fno-leading-underscore. | |
5b02f0e0 | 3213 | * darwin.c (machopic_non_lazy_ptr_name, machopic_stub_name) |
789a4ea3 MS |
3214 | (machopic_finish): Likewise. |
3215 | ||
d969ee71 RH |
3216 | 2004-07-07 Richard Henderson <rth@redhat.com> |
3217 | ||
3218 | * tree-ssa-dom.c (simplify_switch_and_lookup_avail_expr): Look | |
3219 | through any value-preserving cast. | |
3220 | ||
6b70713d AO |
3221 | 2004-07-07 Alexandre Oliva <aoliva@redhat.com> |
3222 | ||
3223 | * function.c (assign_parm_find_data_types): Call | |
3224 | FUNCTION_ARG_PASS_BY_REFERENCE only if it's defined. | |
3225 | ||
31e9eea2 SB |
3226 | 2004-07-07 Steven Bosscher <stevenb@suse.de> |
3227 | ||
3228 | * tree-cfg.c (group_case_labels): Remove case labels that have | |
3229 | the same target as the default case. | |
3230 | ||
d205c8fd SB |
3231 | 2004-07-07 Steven Bosscher <stevenb@suse.de> |
3232 | ||
3233 | * tree-inline.c (optimize_inline_calls): Set DECL_INLINED_FNS | |
3234 | regardless of DECL_LANG_SPECIFIC being present or not. | |
3235 | * tree.h (DECL_NUM_STMTS): Purge. | |
3236 | ||
41e622a8 AP |
3237 | 2004-07-07 Andrew Pinski <apinski@apple.com> |
3238 | ||
3239 | * configure: Regenerate with the right autoconf. | |
3240 | ||
25291055 DE |
3241 | 2004-07-07 David Edelsohn <edelsohn@gnu.org> |
3242 | ||
3243 | * ifcvt.c (total_bb_rtx_cost): New function. | |
3244 | (find_if_case_1): Compare rtx_cost of basic block to cost of | |
3245 | BRANCH_COST insns. | |
3246 | (find_if_case_2): Same. | |
3247 | ||
951661a1 EB |
3248 | 2004-07-07 Eric Botcazou <ebotcazou@libertysurf.fr> |
3249 | ||
3250 | PR target/10567 | |
3251 | * config/sparc/sparc.c (load_pic_register): Honor flag_delayed_branch. | |
3252 | (output_return): Likewise. | |
3253 | (output_sibcall): Abort if !flag_delayed_branch. | |
3254 | (sparc_function_ok_for_sibcall): Return 0 if !flag_delayed_branch. | |
3255 | (emit_and_preserve): New function. | |
3256 | (sparc_output_mi_thunk): Use it. Honor flag_delayed_branch. Emit an | |
3257 | indirect jump to the thunked-to function if !flag_delayed_branch. | |
3258 | * config/sparc/sparc.md (delayed_branch): New attribute. | |
3259 | (load_pcrel_sym): Honor flag_delayed_branch. Use above | |
3260 | attribute to compute the length of the insn. | |
3261 | (goto_handler_and_restore): Likewise. | |
3262 | ||
3a18db48 AP |
3263 | 2004-07-07 Andrew Pinski <apinski@apple.com> |
3264 | ||
5f7b2156 AP |
3265 | PR tree-optimization/15777 |
3266 | * fold-const.c (fold_single_bit_test): Fold the x^1 expression. | |
3267 | ||
3a18db48 AP |
3268 | * expr.c (expand_expr_real_1): Fix formating. |
3269 | BUFFER_REF and IN_EXPR are dead. | |
3270 | * fold-const.c (non_lvalue): BUFFER_REF is dead. | |
3271 | * tree-inline.c (estimate_num_insns_1): Likewise. | |
3272 | * tree-pretty-print.c (dump_generic_node): BUFFER_REF, | |
3273 | IN_EXPR, SET_LE_EXPR, and CARD_EXPR are dead. | |
3274 | * tree.def (BUFFER_REF, IN_EXPR, SET_LE_EXPR, CARD_EXPR): Kill. | |
3275 | ||
d594623a L |
3276 | 2004-07-07 H.J. Lu <hongjiu.lu@intel.com> |
3277 | ||
3278 | * collect2.c (dump_file): Don't call cplus_demangle if | |
3279 | HAVE_LD_DEMANGLE is defined. | |
3280 | (main): Pass "--demangle" to ld if no_demangle is not 0 and | |
3281 | HAVE_LD_DEMANGLE is defined. Don't set current_demangling_style | |
3282 | if HAVE_LD_DEMANGLE is defined. | |
3283 | ||
3284 | * configure.ac (--with-demangler-in-ld): Added | |
3285 | (HAVE_LD_DEMANGLE): Define if ld supports --demangle when | |
3286 | --with-demangler-in-ld is used. | |
3287 | * config.in: Regenerated. | |
3288 | * configure: Likewise. | |
3289 | ||
f0517163 RS |
3290 | 2004-07-07 Roger Sayle <roger@eyesopen.com> |
3291 | ||
3292 | * config/rs6000/rs6000.c (struct processor_costs): Add new fields | |
3293 | for simple floating point operations "fp", double precision | |
3294 | multiplication "dmul", and single and double precision division | |
3295 | "sdiv" and "ddiv". Update all CPU variant tables as appropriate. | |
3296 | (ppc630_cost): New table split from ppc620_cost, to distinguish | |
3297 | differences in floating point latencies. | |
3298 | (rs6000_override_options): Use ppc630_cost for PROCESSOR_PPC630. | |
3299 | (rs6000_rtx_costs): Add support for single and double precision | |
3300 | floating point addition, subtraction, multiplication, division, | |
3301 | fused-multiply-add, fused-multiply-sub, negation, absolute value | |
3302 | and negative absolute value. Tweak MEM case to use prefered idiom. | |
3303 | ||
63b88252 RH |
3304 | 2004-07-07 Richard Henderson <rth@redhat.com> |
3305 | ||
3306 | * tree-flow-inline.h (may_propagate_copy): Move... | |
3307 | * tree-ssa-copy.c (may_propagate_copy): ... here. Fail if we | |
3308 | attempt to copy between types requiring conversion. | |
3309 | * tree-flow.h (may_propagate_copy): Update decl. | |
3310 | * tree-ssa-dom.c (cprop_operand): Tidy redundant tests. | |
3311 | ||
6c4918da JJ |
3312 | 2004-07-07 Jakub Jelinek <jakub@redhat.com> |
3313 | ||
3314 | * config/i386/i386.c (override_options): Don't set x86_prefetch_sse | |
3315 | from -mtune= option. | |
3316 | ||
70128ad9 AO |
3317 | 2004-07-07 Alexandre Oliva <aoliva@redhat.com> |
3318 | ||
3319 | * builtins.c: Rename movstr*, except for movstrict*, to | |
3320 | movmem* and clrstr* to clrmem*. | |
3321 | * expr.c: Likewise. | |
3322 | * expr.h: Likewise. | |
3323 | * genopinit.c: Likewise. | |
3324 | * integrate.c: Likewise. | |
3325 | * local-alloc.c: Likewise. | |
3326 | * optabs.c: Likewise. | |
3327 | * optabs.h: Likewise. | |
3328 | * config/alpha/alpha.h: Likewise. | |
3329 | * config/alpha/alpha.md: Likewise. | |
3330 | * config/arm/arm-protos.h: Likewise. | |
3331 | * config/arm/arm.c: Likewise. | |
3332 | * config/arm/arm.md: Likewise. | |
3333 | * config/avr/avr.md: Likewise. | |
3334 | * config/c4x/c4x.c: Likewise. | |
3335 | * config/c4x/c4x.md: Likewise. | |
3336 | * config/frv/frv.md: Likewise. | |
3337 | * config/i386/i386-protos.h: Likewise. | |
3338 | * config/i386/i386.c: Likewise. | |
3339 | * config/i386/i386.h: Likewise. | |
3340 | * config/i386/i386.md: Likewise. | |
3341 | * config/i860/i860.c: Likewise. | |
3342 | * config/i860/i860.md: Likewise. | |
3343 | * config/ip2k/ip2k.md: Likewise. | |
3344 | * config/ip2k/libgcc.S: Likewise. | |
3345 | * config/ip2k/t-ip2k: Likewise. | |
3346 | * config/m32r/m32r.c: Likewise. | |
3347 | * config/m32r/m32r.md: Likewise. | |
3348 | * config/mcore/mcore.md: Likewise. | |
3349 | * config/mips/mips.c: Likewise. | |
3350 | * config/mips/mips.md: Likewise. | |
3351 | * config/ns32k/ns32k.c: Likewise. | |
3352 | * config/ns32k/ns32k.h: Likewise. | |
3353 | * config/ns32k/ns32k.md: Likewise. | |
3354 | * config/pa/pa.c: Likewise. | |
3355 | * config/pa/pa.md: Likewise. | |
3356 | * config/pdp11/pdp11.h: Likewise. | |
3357 | * config/pdp11/pdp11.md: Likewise. | |
3358 | * config/rs6000/rs6000.c: Likewise. | |
3359 | * config/rs6000/rs6000.md: Likewise. | |
3360 | * config/s390/s390-protos.h: Likewise. | |
3361 | * config/s390/s390.c: Likewise. | |
3362 | * config/s390/s390.md: Likewise. | |
3363 | * config/sh/lib1funcs.asm: Likewise. | |
3364 | * config/sh/sh.c: Likewise. | |
3365 | * config/sh/sh.md: Likewise. | |
3366 | * config/sh/t-sh: Likewise. | |
3367 | * config/sparc/sparc.h: Likewise. | |
3368 | * config/vax/vax.md: Likewise. | |
3369 | * config/xtensa/xtensa.c: Likewise. | |
3370 | * config/xtensa/xtensa.md: Likewise. | |
3371 | * doc/invoke.texi: Likewise. | |
3372 | * doc/md.texi: Likewise. | |
3373 | * doc/rtl.texi: Likewise. | |
3374 | ||
48b2e0a7 RS |
3375 | 2004-07-07 Richard Sandiford <rsandifo@redhat.com> |
3376 | ||
3377 | PR target/16407 | |
3378 | * config/mips/mips-protos.h (mips_declare_common_object): Declare. | |
3379 | * config/mips/mips.c (mips_declare_common_object): New function, | |
3380 | mostly split out from... | |
3381 | (mips_output_aligned_decl_common): ...here. | |
3382 | * config/mips/mips.h (ASM_OUTPUT_LOCAL): Remove in favor of... | |
3383 | (ASM_OUTPUT_ALIGNED_LOCAL): ...this new definition. | |
3384 | * config/mips/iris6.h (ASM_OUTPUT_ALIGNED_LOCAL): Undefine this | |
3385 | rather than ASM_OUTPUT_LOCAL. Call mips_declare_common_object. | |
3386 | ||
477eff96 JDA |
3387 | 2004-07-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
3388 | ||
3389 | PR c/16392 | |
3390 | * function.c (assign_parms): Fix typo from previous change. | |
3391 | ||
fc72b380 JM |
3392 | 2004-07-07 Jason Merrill <jason@redhat.com> |
3393 | ||
3394 | PR c++/15815 | |
3395 | * doc/extend.texi (C++ Interface): Correct information and | |
3396 | discourage use. | |
3397 | ||
25069b42 VM |
3398 | 2004-07-07 Vladimir Makarov <vmakarov@redhat.com> |
3399 | ||
3400 | PR target/16130 | |
3401 | PR target/16142 | |
3402 | PR target/16143 | |
3403 | * config/ia64/ia64.c (ia64_dfa_new_cycle): Reset DFA state for asm | |
3404 | insn. | |
5b02f0e0 | 3405 | |
767dec6b KI |
3406 | 2004-07-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> |
3407 | ||
3408 | PR target/1679. | |
3409 | * config/m32r/m32r.c (m32r_function_symbol): New function: | |
3410 | Generate a symbol name RTX with the correct m32r specific flags | |
5b02f0e0 | 3411 | set. |
767dec6b KI |
3412 | (block_move_call): Use new function to generate correct symbol. |
3413 | * config/m32r/m32r-protos.h: Add prototype for new funcion. | |
3414 | * config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Use the new | |
3415 | function. | |
3416 | ||
604a3205 NS |
3417 | 2004-07-07 Nathan Sidwell <nathan@codesourcery.com> |
3418 | ||
3419 | * tree.h (TYPE_BINFO_OFFSET, TYPE_BINFO_VTABLE, | |
3420 | TYPE_BINFO_VIRTUALS, TYPE_BINFO_BASETYPES, | |
3421 | TYPE_BINFO_BASETYPE): Remove. | |
3422 | (BINFO_BASETYPES, BINFO_N_BASETYPES, BINFO_BASETYPE): Rename | |
3423 | to ... | |
3424 | (BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): ... | |
3425 | here. | |
3426 | (BINFO_BASEACCESSES, BINFO_BASEACCESS): Rename to ... | |
3427 | (BINFO_BASE_ACCESSES, BINFO_BASE_ACCESS): ... here. | |
3428 | (BINFO_INHERITANCE_CHAIN): Redocument as it is actually used. | |
3429 | (struct tree_binfo): Rename base_types to base_binfos. | |
3430 | * alias.c (record_component_aliases): Adjust BINFO macros. | |
3431 | * dbxout.c (dbxout_type): Likewise. | |
3432 | * dwarf2out.c (gen_member_die): Likewise. | |
3433 | * sdbout.c (sdbout_one_type): Likewise. | |
3434 | * tree-dump.c (deque_and_dump): Likewise. | |
3435 | * config/i386/i386.c (classify_argument, | |
3436 | contains_128bit_aligned_vector_p): Likewise. | |
3437 | ||
6b66447a NC |
3438 | 2004-07-07 Nick Clifton <nickc@redhat.com> |
3439 | ||
3440 | * config/fr30/fr30.c (fr30_setup_incoming_varargs): Change | |
5b02f0e0 | 3441 | arguments to match TARGET_SETUP_INCOMING_VARARGS prototype. |
6b66447a | 3442 | |
2272d9cf NS |
3443 | 2004-07-07 Nathan Sidwell <nathan@codesourcery.com> |
3444 | ||
3445 | * vec.h: Fix the example use. | |
3446 | ||
84936f6f RH |
3447 | 2004-07-06 Richard Henderson <rth@redhat.com> |
3448 | ||
3449 | * langhooks-def.h (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Remove. | |
3450 | * langhooks.h (struct lang_hooks): Remove gimple_before_inlining. | |
3451 | * tree-inline.c (copy_body_r, setup_one_parameter, | |
3452 | initialize_inlined_parameters, expand_call_inline, | |
3453 | declare_inline_vars): Don't check it. | |
3454 | (expand_calls_inline): Remove old version, rename new version | |
3455 | from gimple_expand_calls_inline. | |
3456 | * tree-optimize.c (execute_gimple): Remove. | |
3457 | (pass_gimple): Don't run anything. | |
3458 | ||
640d429d JM |
3459 | 2004-07-06 Joseph S. Myers <jsm@polyomino.org.uk> |
3460 | ||
3461 | * doc/sourcebuild.texi: Use semicolons instead of commas in | |
3462 | section title. | |
3463 | ||
bfeebecf RH |
3464 | 2004-07-06 Richard Henderson <rth@redhat.com> |
3465 | ||
3466 | * tree-sra.c (struct sra_walk_fns): Revert 2004-07-05 change. | |
3467 | (sra_walk_modify_expr, scan_init): Likewise. | |
3468 | (generate_element_zero): Check visited before scanning children. | |
3469 | (generate_element_init): Set visited on error. | |
3470 | (scalarize_init): Handle generate_element_init failure similar | |
3471 | to use_block_copy. | |
3472 | ||
82b5e52a JM |
3473 | 2004-07-06 Joseph S. Myers <jsm@polyomino.org.uk> |
3474 | ||
3475 | * toplev.h (NO_FRONT_END_DIAG, ATTRIBUTE_GCC_FE_DIAG): Define. | |
3476 | (warning, error, pedwarn, sorry): Use ATTRIBUTE_GCC_FE_DIAG. | |
3477 | ||
b39edae3 RH |
3478 | 2004-07-06 Richard Henderson <rth@redhat.com> |
3479 | ||
3480 | * config/i386/i386.c (legitimize_pic_address): Make static. | |
3481 | (legitimize_address): Handle CONST with TLS operand. | |
3482 | (ix86_expand_move): Don't call legitimize_pic_address directly. | |
3483 | * config/i386/i386-protos.h (legitimize_pic_address): Remove. | |
3484 | ||
7b5effb4 RS |
3485 | 2004-07-06 Roger Sayle <roger@eyesopen.com> |
3486 | ||
3487 | * ifcvt.c (struct noce_if_info): Add a Boolean b_unconditional field. | |
3488 | (noce_try_sign_mask): Tweak rtx_cost check if t is evaluated anyway. | |
3489 | (noce_process_if_block): Initialize if_info.b_unconditional if insn_b | |
3490 | is currently executed unconditionally, i.e. not in "else_bb". | |
3491 | ||
ca4f3d13 SB |
3492 | 2004-07-06 Steven Bosscher <stevenb@suse.de> |
3493 | ||
3494 | * config/alpha/alpha.c (alpha_use_dfa_pipeline_interface): Remove. | |
3495 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
3496 | * config/arm/arm.c (arm_use_dfa_pipeline_interface): Remove. | |
3497 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
3498 | * config/frv/frv.c (frv_use_dfa_pipeline_interface): Remove. | |
3499 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
3500 | * config/i386/i386.c (ia32_use_dfa_pipeline_interface): Remove. | |
3501 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
3502 | * config/ia64/ia64.c (ia64_use_dfa_pipeline_interface): Remove. | |
3503 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
3504 | * config/pa/pa.c (hhpa_use_dfa_pipeline_interface): Remove. | |
3505 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
3506 | * config/sparc/sparc.c (sparc_use_dfa_pipeline_interface): Remove. | |
3507 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
3508 | * config/v850/v850.c (v850_use_dfa_pipeline_interface): Remove. | |
3509 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
3510 | ||
3d3fa3a1 | 3511 | 2004-07-06 Daniel Berlin <dberlin@dberlin.org> |
b89cd06e DB |
3512 | |
3513 | * dojump.c (do_jump): REFERENCE_EXPR is dead. | |
3514 | * expr.c (expand_expr_real_1): Ditto. | |
3515 | * tree-inline.c (estimate_num_insns_1): Ditto. | |
3516 | * tree-pretty-print.c (dump_generic_node): Ditto. | |
3517 | (op_symbol): Ditto. | |
3518 | * tree.def: Ditto. | |
3519 | ||
3520 | 2004-07-06 Daniel Berlin <dberlin@dberlin.org> | |
3521 | ||
3d3fa3a1 DB |
3522 | * tree-ssa-pre.c (reference_node_pool): New pool. |
3523 | (find_or_generate_expression): Class 'r' is okay too. | |
3524 | (create_value_expr_from): Ditto. | |
3525 | (add_to_sets): LHS should not include vuses. | |
3526 | (eliminate): Ditto. | |
3527 | (compute_avail): Reverse ordering of tests. | |
3528 | Valuize INDIRECT_REF as well. | |
b89cd06e | 3529 | |
60e20b90 RS |
3530 | 2004-07-06 Richard Sandiford <rsandifo@redhat.com> |
3531 | ||
3532 | PR rtl-optimization/16380 | |
3533 | * loop.c (check_dbra_loop): Sink comparison instructions if they | |
3534 | do something other than set cc0. | |
3535 | ||
37bcf311 JW |
3536 | 2004-07-06 James E Wilson <wilson@specifixinc.com> |
3537 | ||
3538 | * doc/interface.texi (longjmp and automatic variables): Delete | |
3539 | paragraph recommending taking the address of a variable. | |
3540 | ||
a064479c NS |
3541 | 2004-07-06 Nathan Sidwell <nathan@codesourcery.com> |
3542 | ||
3543 | * vec.h (VEC_embedded_alloc): Remove. | |
3544 | (VEC_embedded_size, VEC_embedded_init): New. | |
3545 | (VEC_alloc, VEC_reserve, VEC_safe_push, VEC_safe_insert): Add | |
3546 | MEM_STAT_INFO. | |
3547 | (VEC_truncate): New. | |
3548 | (vec_p_reserve, vec_o_reserve): Add MEM_STAT_DECL. | |
3549 | (vec_embedded_alloc): Remove. | |
3550 | * vec.c (vec_p_reserve, vec_o_reserve): Add MEM_STAT_DECL, adjust. | |
3551 | (vec_embedded_alloc): Remove. | |
3552 | ||
9bc81313 MM |
3553 | 2004-07-06 Mark Mitchell <mark@codesourcery.com> |
3554 | ||
3555 | * Makefile.in (langhooks.o): Do not depend on gt-langhooks.h. | |
3556 | (gt-langhooks.h): Remove. | |
3557 | ||
88a2ae20 GH |
3558 | 2004-07-06 George Helffrich <george@gly.bris.ac.uk> |
3559 | ||
3560 | * xcoffout.h (DBX_FINISH_SYMBOL): Fix typo. | |
3561 | ||
ef573211 EB |
3562 | 2004-07-06 Eric Botcazou <ebotcazou@libertysurf.fr> |
3563 | ||
3564 | * config/sparc/sparc.c (get_pc_symbol): Rename into | |
3565 | add_pc_to_pic_symbol. | |
3566 | (get_pc_symbol_name): Rename into add_pc_to_pic_symbol_name. | |
3567 | (load_pic_register): Account for previous changes. | |
3568 | Use reg_names. Don't create the label twice. | |
3569 | * config/sparc/sparc.md (UNSPEC_GET_PC): Rename into | |
3570 | UNSPEC_LOAD_PCREL_SYM. | |
3571 | (get_pc): Rename into load_pcrel_sym. Add predicate to | |
3572 | operands. Remove condition. | |
3573 | ||
809e3e7f NS |
3574 | 2004-07-06 Nathan Sidwell <nathan@codesourcery.com> |
3575 | ||
2da8f023 NS |
3576 | * dbxout.c (dbxout_type): Don't test whether the binfo slot of |
3577 | RECORD, UNION & QUAL_UNION is actually a binfo. | |
3578 | ||
809e3e7f NS |
3579 | * tree.h (TREE_VIA_VIRTUAL): Rename to ... |
3580 | (BINFO_VIRTUAL_P): ... here. Require TREE_BINFO only. | |
3581 | (BINFO_MARKED, BINFO_FLAG_[16]): New binfo flags. | |
3582 | * dbxout.c (dbxout_type): Use BINFO_VIRTUAL_P. | |
3583 | * dwarf2out.c (add_data_member_location_attribute): Likewise. | |
3584 | (gen_inheritance_die): Likewise. | |
3585 | * tree-dump.c (deque_and_dump): Likewise. | |
3586 | * doc/c-tree.texi (Binfos): Add under reconstruction note. | |
3587 | ||
4404cf7d SB |
3588 | 2004-07-06 Steven Bosscher <stevenb@suse.de> |
3589 | ||
3590 | * config/mcore/mcore.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): | |
3591 | Define. | |
3592 | * config/mcore/mcore.md: Model memory latency with a simple DFA | |
3593 | pipeline description instead of a define_function_unit. | |
3594 | ||
5377d5ba RK |
3595 | 2004-07-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
3596 | ||
3597 | * langhooks-def.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Extra arg. | |
3598 | * langhooks.h (var_mod_type_p): Likewise. | |
3599 | * c-decl.c (finish_decl): Add extra arg to variably_modified_type_p. | |
3600 | * expr.c (count_type_elements): Properly handle return from | |
3601 | array_type_nelts and properly test for overflow. | |
3602 | * gimplify.c (gimplify_init_constructor): Properly handle return | |
3603 | from array_type_nelts. | |
3604 | (gimplify_addr_expr): Remove redundant clear of TREE_SIDE_EFFECTS. | |
3605 | * integrate.c (copy_decl_for_inlining): Correct comments. | |
3606 | * tree-inline.c (remap_decl): Update comments, remove dead code, | |
3607 | and copy DECL_FIELD_OFFSET and DECL_QUALIFIER, if they exist. | |
3608 | (remap_type): Only remap if variably modified by vars in function | |
3609 | being inlined. | |
3610 | (copy_body_r): Use compatible_type langhooks to see when can fold. | |
3611 | (setup_one_parameter): Don't remap type. | |
3612 | (inline_forbidden_p_1): Add arg to variably_modified_type_p. | |
3613 | * tree.c (recompute_tree_invarant_for_addr_expr): Properly | |
3614 | compute TREE_INVARIANT for decl case. | |
3615 | (find_var_from_fn): New function. | |
3616 | (variably_modified_type_p): Add arg and call new function. | |
3617 | * tree.h (variably_modified_type_p): Add extra arg. | |
5b02f0e0 | 3618 | |
6109c659 EB |
3619 | 2004-07-05 Eric Botcazou <ebotcazou@libertysurf.fr> |
3620 | ||
3621 | * config/sparc/sparc.md (nonlocal_goto): Remove disabled code. | |
3622 | (goto_handler_and_restore_v9): Delete disabled insn. | |
3623 | (goto_handler_and_restore_v9_sp64): Likewise. | |
3624 | ||
09b52670 RS |
3625 | 2004-07-05 Roger Sayle <roger@eyesopen.com> |
3626 | ||
3627 | * calls.c (load_register_parameters): Call expand_shift instead | |
3628 | of expand_binop with ashl_optab (or other shift optab) directly. | |
3629 | * expr.c (emit_group_load, emit_group_store): Likewise. | |
3630 | * function.c (assign_parm_setup_block): Likewise. | |
3631 | * stmt.c (shift_return_value): Likewise. | |
3632 | ||
7682ef83 JJ |
3633 | 2004-07-05 Jakub Jelinek <jakub@redhat.com> |
3634 | ||
3635 | * expr.c (expand_assignment): Disable the bitfield += optimizations. | |
3636 | ||
f5829576 JM |
3637 | 2004-07-05 Joseph S. Myers <jsm@polyomino.org.uk> |
3638 | ||
3639 | * doc/sourcebuild.texi: Revert previous patch. | |
3640 | ||
8f99553f JM |
3641 | 2004-07-05 Joseph S. Myers <jsm@polyomino.org.uk> |
3642 | ||
3643 | * c-decl.c, config/m32r/m32r.c, expr.c, optabs.c: Don't check | |
3644 | TARGET_MEM_FUNCTIONS. | |
3645 | * system.h: Poison TARGET_MEM_FUNCTIONS. | |
3646 | * libfuncs.h (LTI_bcopy, LTI_bcmp, LTI_bzero, bcopy_libfunc, | |
3647 | bcmp_libfunc, bzero_libfunc): Remove. | |
3648 | * optabs.c (init_obtabs): Don't set bcopy_libfunc, bcmp_libfunc or | |
3649 | bzero_libfunc. | |
3650 | * doc/tm.texi (TARGET_MEM_FUNCTIONS): Remove. | |
3651 | * doc/standards.texi: Don't mention calling BSD string functions. | |
3652 | * doc/invoke.texi: Likewise. Mention that memmove may be called. | |
3653 | * config/vax/t-memfuncs: New. | |
3654 | * config/memcmp.c, config/memcpy.c, config/memmove.c, | |
3655 | config/memset.c: New. | |
3656 | * config/pdp11/t-pdp11 (LIB2FUNCS_EXTRA): Use these files. | |
3657 | * config.gcc (vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*): Use | |
3658 | vax/t-memfuncs. | |
3659 | * config/alpha/alpha.h, config/arc/arc.h, config/arm/arm.h, | |
3660 | config/avr/avr.h, config/c4x/c4x.h, config/cris/aout.h, | |
3661 | config/elfos.h, config/gnu.h, config/h8300/h8300.h, | |
3662 | config/i386/gas.h, config/ia64/ia64.h, config/interix.h, | |
3663 | config/ip2k/ip2k.h, config/lynx-ng.h, config/m32r/m32r.h, | |
3664 | config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h, | |
3665 | config/netbsd.h, config/openbsd.h, config/pa/pa.h, | |
3666 | config/rs6000/rs6000.h, config/rtems.h, config/s390/s390.h, | |
3667 | config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h, | |
3668 | config/svr3.h: Don't define TARGET_MEM_FUNCTIONS. | |
3669 | ||
b6448565 RH |
3670 | 2004-07-05 Richard Henderson <rth@redhat.com> |
3671 | ||
3672 | * function.c (assign_parm_setup_reg): Properly rename variables in | |
3673 | FUNCTION_ARG_CALLEE_COPIES section. | |
3674 | ||
c31b8e1b ZW |
3675 | 2004-07-05 Zack Weinberg <zack@codesourcery.com> |
3676 | ||
3677 | * tree-mudflap.c: Include cgraph.h. | |
3678 | (mf_init_extern_trees): Rename to mudflap_init. Export. | |
3679 | Rewrite to create synthetic declarations instead of looking | |
3680 | up declarations from mf-runtime.h. | |
3681 | (mf_make_builtin, mf_make_cache_struct_type): New functions. | |
3682 | (mf_cache_shift_decl, mf_cache_mask_decl, mf_unregister_fndecl): | |
3683 | Correct commentary. | |
3684 | (execute_mudflap_function_decls, mudflap_register_call): | |
3685 | Don't call mf_init_extern_trees. | |
3686 | (mudflap_finish_file): Use cgraph_build_static_cdtor. | |
3687 | ||
3688 | * tree-mudflap.h: Update prototypes. | |
3689 | * c-mudflap.c: Delete file. | |
3690 | * c-common.c: Include tree-mudflap.h. | |
3691 | (c_common_nodes_and_builtins): Call mudflap_init if appropriate. | |
3692 | * Makefile.in: Remove all references to c-mudflap.o. | |
3693 | Update dependencies. | |
3694 | ||
5dbf8812 JDA |
3695 | 2004-07-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
3696 | ||
3697 | * pa.md (prefetch, prefetch_32, prefetch_64): Only allow short | |
3698 | displacements with the spatial-locality cache-control completer. | |
3699 | ||
6de66680 ZW |
3700 | 2004-07-05 Zack Weinberg <zack@codesourcery.com> |
3701 | ||
3702 | * langhooks.c: Don't include gt-langhooks.h. | |
3703 | (var_labelno): Delete. | |
3704 | (lhd_set_decl_assembler_name): Do not append a distinguishing | |
3705 | number to file-scope internal-linkage declarations for the first | |
3706 | input file, even if they have DECL_CONTEXT set. Use DECL_UID of | |
3707 | the declaration itself (if at block scope), or its containing | |
3708 | TRANSLATION_UNIT_DECL (if at file scope) for the distinguishing | |
3709 | number. | |
3710 | ||
3711 | * opts.c (cur_in_fname): New global. | |
3712 | * opts.h: Declare it. | |
3713 | * tree.c: Include opts.h. | |
3714 | (make_node_stat): If creating a TRANSLATION_UNIT_DECL, give it | |
3715 | DECL_UID equal to cur_in_fname. | |
3716 | (copy_node_stat): Do not change DECL_UID when copying a | |
3717 | TRANSLATION_UNIT_DECL. | |
3718 | (build_common_tree_nodes): Adjust next_decl_uid to reserve the | |
3719 | range 0 .. num_in_fnames-1 for TRANSLATION_UNIT_DECLs. | |
3720 | ||
3721 | * c-decl.c (c_static_assembler_name): Delete. | |
3722 | * c-tree.h (c_static_assembler_name): Delete prototype. | |
3723 | * c-lang.c, objc/objc-lang.c: Don't override | |
3724 | LANG_HOOKS_SET_DECL_ASSEMBLER_NAME. | |
3725 | ||
3726 | * Makefile.in (tree.o): Update dependencies. | |
3727 | (GTFILES): Remove langhooks.c. | |
3728 | ||
ab0e8f66 RS |
3729 | 2004-07-05 Roger Sayle <roger@eyesopen.com> |
3730 | ||
3731 | * fold-const.c (fold) <TRUNC_MOD_EXPR>: Optimize unsigned modulus | |
3732 | by a power of two into a bit-wise AND, i.e. "X % C" as "X & (C-1)". | |
3733 | Normalize "X % C" as "X % -C" for signed modulus and negative C. | |
3734 | Optimize "X % -Y" as "X % Y" for signed modulus. | |
3735 | <EQ_EXPR>: Recursively call "fold" when transforming "(X % Y) == 0" | |
3736 | into "((unsigned) X % Y) == 0". | |
3737 | ||
22e9e201 JM |
3738 | 2004-07-05 Joseph S. Myers <jsm@polyomino.org.uk> |
3739 | ||
3740 | * sourcebuild.texi (Config Fragments): Use @comma{} in | |
3741 | cross-reference to section title. | |
3742 | ||
8963a517 RK |
3743 | 2004-07-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
3744 | ||
48eb4e53 RK |
3745 | * tree.h (DECL_SEEN_IN_BIND_EXPR_P): New macro. |
3746 | * gimplify.c (gimple_add_tmp_var, gimplify_bind_expr): Use it. | |
3747 | (gimplify_target_expr, gimplify_expr): Likewise. | |
3748 | (copy_if_shared_r): No longer need special case for BIND_EXPR. | |
3749 | (unshare_body, unvisit_body): Only look at nested if BODY_P is | |
3750 | whole function. | |
3751 | (gimplify_compound_lval): See if we can strip any useless conversion. | |
3752 | (gimplify_modify_expr, gimplify_modify_expr_to_memcpy): Take size | |
3753 | from RHS, not LHS. | |
3754 | (gimplify_modify_expr_to_memset): Likewise. | |
3755 | (gimplify_expr, case CONSTRUCTOR): Handle use as statement. | |
3756 | * tree-inline.c (setup_one_parameter): Use DECL_SEEN_IN_BIND_EXPR_P. | |
3757 | (declare_inline_vars): Likewise. | |
3758 | (walk_type_fields): New function. | |
3759 | (walk_tree): Use it. | |
3760 | * tree-nested.c (create_tmp_var_for): Show seen in BIND_EXPR. | |
6de66680 | 3761 | |
402a3dec RK |
3762 | * tree-sra.c (struct sra_walk_fns): Init function now returns bool. |
3763 | (sra_walk_modify_expr): Allow init function to fail. | |
3764 | (scan_init): Now returns bool. | |
3765 | (generate_element_init): If can't understand INIT, return false. | |
3766 | (scalarize_init): Return false if generate_element_init does. | |
6de66680 | 3767 | |
2709efd8 RK |
3768 | * tree-pretty-print.c (dump_generic_node, case ARRAY_TYPE): Properly |
3769 | print bounds. | |
3770 | ||
ebd5a208 RK |
3771 | * expr.c (expand_expr_real_1, case SWITCH_EXPR): Don't check against |
3772 | bounds if bounds aren't constant. | |
3773 | ||
6f70e46e | 3774 | * tree-cfg.c (verify_expr): Use CHECK_OP in binary case. |
50b04185 | 3775 | |
8963a517 RK |
3776 | * function.c, langhooks-def.h, langhooks.h: Move max_size hook |
3777 | to type hooks; remove bogus PARAMS. | |
3778 | ||
95b4aca6 NS |
3779 | 2004-07-05 Nathan Sidwell <nathan@codesourcery.com> |
3780 | ||
3781 | * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Use TYPE_LANG_SLOT_1. | |
3782 | * dwarf2out.c (add_data_member_location_attribute): Check for | |
3783 | TREE_BINFO. | |
3784 | * tree.c (tree_node_kinds): Add "binfos". | |
3785 | (binfo_lang_slots): New. | |
3786 | (make_node_stat): Add TREE_BINFO. | |
3787 | (make_tree_binfo_stat): New. | |
3788 | (tree_node_structure): Add TREE_BINFO. | |
3789 | * tree.def (TREE_BINFO): New. | |
3790 | * tree.h (REC_OR_UNION_CHECK): Rename to ... | |
3791 | (RECORD_OR_UNION_CHECK): ... here. | |
3792 | (NOT_RECORD_OR_UNION_CHECK): New. | |
3793 | (TRE_VIA_VIRTUAL): Allow TREE_LIST or TREE_BINFO. | |
3794 | (TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD): Adjust for | |
3795 | RECORD_OR_UNION_CHECK. | |
3796 | (TYPE_BINFO): Use RECORD_OR_UNION_CHECK. | |
3797 | (TYPE_LANG_SLOT_1): New. | |
3798 | (BINFO_TYPE, BINFO_OFFSET, BINFO_VTABLE, BINFO_VIRTUALS, | |
3799 | BINFO_BASETYPES, TYPE_BINFO_BASETYPES, BINFO_VPTR_FIELD, | |
3800 | BINFO_BASEACCESSES, BINFO_INHERITANCE_CHAIN): Adjust. | |
3801 | (BINFO_ELTS): Remove. | |
3802 | (BINFO_LANG_SLOT): New. | |
3803 | (struct tree_binfo): New. | |
3804 | (binfo_lang_slots): Declare. | |
3805 | (enum tree_node_structure_enum): Add TS_BINFO. | |
3806 | (union tree_node): Add binfo. | |
3807 | (make_tree_binfo_stat): Declare. | |
3808 | (make_tree_binfo): New. | |
3809 | (enum tree_node_kind): Add binfo_kind. | |
6de66680 | 3810 | |
95b4aca6 NS |
3811 | * objc/objc-act.c (start_class, objc_declare_protocols, |
3812 | start_protocols): Use TYPE_LANG_SLOT_1. | |
3813 | * objc/objc-act.h (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): Rename | |
3814 | to ... | |
3815 | (CLASS_LANG_SLOT_ELTS, PROTOCOL_LANG_SLOT_ELTS): ... here. | |
3816 | (CLASS_IVARS, CLASS_RAW_IVARS, CLASS_STATIC_TEMPLATE, | |
3817 | CLASS_CATEGORY_LIST, CLASS_PROTOCOL_LIST, CLASS_OWN_IVARS, | |
3818 | PROTOCOL_LIST, PROTOCOL_FORWARD_DECL): Use TYPE_LANG_SLOT_1. | |
3819 | ||
acf8677f SB |
3820 | 2004-07-05 Steven Bosscher <stevenb@suse.de> |
3821 | ||
3822 | * rtl.h (struct rtx_def): Remove the integrated flag. | |
3823 | Use the return_val flag for MEM_SCALAR_P. | |
3824 | Reshuffle and update flags in CLEAR_RTX_FLAGS. | |
3825 | ||
e0ec4c3b RS |
3826 | 2004-07-05 Richard Sandiford <rsandifo@redhat.com> |
3827 | ||
3828 | PR target/16357 | |
3829 | * config/mips/mips.c (mips_block_move_straight): Pass BLKmode memrefs | |
3830 | to mips_expand_unaligned_load, mips_expand_unaligned_store, and | |
3831 | move_by_pieces. | |
3832 | ||
feb61729 JZ |
3833 | 2004-07-05 Josef Zlomek <zlomekj@suse.cz> |
3834 | ||
3835 | * var-tracking.c: Fix some comments. | |
3836 | (frame_stack_adjust): New. | |
3837 | (vt_stack_adjustments): Init stack_adjust of entry block to | |
3838 | minus stack adjustment of function prologue. | |
3839 | (adjust_stack_reference): Do not adjust if adjustment == 0. | |
3840 | (compute_bb_dataflow): Use plus_constant instead of gen_rtx_PLUS. | |
3841 | (emit_notes_in_bb): Likewise. | |
3842 | (vt_add_function_parameters): Do not adjust locations of | |
3843 | function arguments. | |
3844 | (vt_initialize): Compute the stack adjustment of function | |
3845 | prologue and offset the initial "location" of frame_base_decl | |
3846 | from the stack pointer after prologue. | |
3847 | ||
6071dc7f RH |
3848 | 2004-07-04 Richard Henderson <rth@redhat.com> |
3849 | ||
3850 | * function.c (struct assign_parm_data_all): New. | |
3851 | (struct assign_parm_data_one): New. | |
3852 | (assign_parms_initialize_all, assign_parms_augmented_arg_list, | |
3853 | assign_parm_find_data_types, assign_parms_setup_varargs, | |
6de66680 | 3854 | assign_parm_find_entry_rtl, assign_parm_is_stack_parm, |
6071dc7f RH |
3855 | assign_parm_find_stack_rtl, assign_parm_adjust_entry_rtl, |
3856 | assign_parm_adjust_stack_rtl, assign_parm_setup_block_p, | |
3857 | assign_parm_setup_block, assign_parm_setup_reg, | |
3858 | assign_parm_setup_stack, assign_parms_unsplit_complex): Split from ... | |
3859 | (assign_parms): ... here. | |
3860 | ||
6b416da1 DB |
3861 | 2004-07-04 Daniel Berlin <dberlin@dberlin.org> |
3862 | ||
3863 | * tree-ssa-pre.c (bb_value_sets): phi_gen, tmp_gen, new_sets | |
3864 | now are bitmap_set_t's. | |
3865 | (bitmap_insert_into_set): No point in inserting the value if | |
3866 | it's invariant. | |
3867 | (bitmap_set_contains): New function. | |
6de66680 | 3868 | (bitmap_set_replace_value): Add comment on why we do it |
6b416da1 DB |
3869 | this way. |
3870 | (set_contains): Removed. | |
3871 | (bitmap_set_subtract_from_value_set): New name of | |
3872 | set_subtract now that it's arguments are two different | |
3873 | types of sets. | |
3874 | Update callers. | |
3875 | (bitmap_find_leader): Change algorithm used. | |
3876 | (find_or_generate_expression): Update use of functions for new | |
3877 | bitmap sets. | |
3878 | (create_expression_by_pieces): Ditto. | |
3879 | (insert_aux): Ditto. | |
3880 | (insert): Ditto. | |
3881 | (add_to_sets): Ditto. | |
3882 | (init_pre): Ditto. | |
3883 | (execute_pre): Ditto. | |
3884 | (compute_avail): Ditto. | |
3885 | Also ignore virtual phis. | |
3886 | ||
b8ff6ca0 RS |
3887 | 2004-07-04 Richard Sandiford <rsandifo@redhat.com> |
3888 | ||
3889 | * combine.c (simplify_comparison): Fix comment typo. | |
3890 | ||
6244b14e EB |
3891 | 2004-07-04 Eric Botcazou <ebotcazou@libertysurf.fr> |
3892 | ||
3893 | * config/sparc/sparc.c (SIBCALL_SLOT_EMPTY_P): Rename | |
3894 | into LEAF_SIBCALL_SLOT_RESERVED_P after negation. | |
3895 | (eligible_for_sibcall_delay): Adjust use of SIBCALL_SLOT_EMPTY_P. | |
3896 | (output_restore): Change parameter from 'insn' to 'pat'. | |
3897 | (output_return): Adjust call to output_restore. | |
3898 | (output_sibcall): Adjust use of SIBCALL_SLOT_EMPTY_P. | |
3899 | Adjust call to output_restore. | |
3900 | ||
0188c218 NB |
3901 | 2004-07-04 Neil Booth <neil@duron.akihabara.co.uk> |
3902 | ||
3903 | * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_COMMON): Define __unix__ | |
3904 | and assert system is bsd. | |
3905 | ||
b3583df6 RS |
3906 | 2004-07-04 Richard Sandiford <rsandifo@redhat.com> |
3907 | ||
3908 | * config/mips/mips.h (MASK_DEBUG_C, TARGET_DEBUG_C_MODE): Delete. | |
3909 | (TARGET_SWITCHES): Remove -mdebugc. | |
3910 | * config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu) | |
3911 | (sltu, sleu): Remove TARGET_DEBUG_C_MODE handling. | |
3912 | (seq_[sd]i, sne_[sd]i, sge_[sd]i, sle_[sd]i_reg, sgeu_[sd]i) | |
3913 | (sle_[sd]i_reg): Delete. | |
3914 | ||
78c21202 SB |
3915 | 2004-07-04 Steven Bosscher <stevenb@suse.de> |
3916 | ||
3917 | * config/iq2000/iq2000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): | |
3918 | Define. | |
3919 | * config/iq2000/iq2000.md: Translate old pipeline description to an | |
3920 | equivalent new one. | |
3921 | ||
06a9b53f RS |
3922 | 2004-07-04 Roger Sayle <roger@eyesopen.com> |
3923 | ||
3924 | * tree-ssa-ccp.c (set_rhs): Change function to return a bool. | |
3925 | Ensure the replacement rhs is valid gimple before performing | |
3926 | the substitution. Return false if these sanity checks fail. | |
3927 | (fold_stmt): Only set changed to true, if set_rhs returns true. | |
3928 | (execute_fold_all_builtins): Only call modify_stmt if set_rhs | |
3929 | succeeds. | |
3930 | ||
1ec7a978 RH |
3931 | 2004-07-04 Richard Henderson <rth@redhat.com> |
3932 | ||
3933 | PR c/16348 | |
3934 | * c-typeck.c (c_finish_loop): Don't clear cond for cond_is_first loops. | |
3935 | ||
343a6100 MM |
3936 | 2004-07-04 Mark Mitchell <mark@codesourcery.com> |
3937 | ||
3938 | * configure.ac (ranlib_flags): New variable. | |
3939 | * Makefile.in (RANLIB_FLAGS): New variable. | |
3940 | (libbackend.a): Use it. | |
3941 | * configure: Regenerated. | |
3942 | ||
b75941cb RS |
3943 | 2004-07-04 Roger Sayle <roger@eyesopen.com> |
3944 | ||
3945 | * ifcvt.c (noce_try_sign_mask): Call emit_store_flag to generate | |
3946 | a "sign mask" instead of using ashr_optab directly. | |
3947 | ||
a09d4744 NB |
3948 | 2004-07-04 Neil Booth <neil@duron.akihabara.co.uk> |
3949 | ||
3950 | * doc/cpp.texi: Don't document what we do for ill-formed expressions. | |
3951 | * doc/cppopts.texi: Clarify processing of command-line defines. | |
3952 | ||
b25c17bc GP |
3953 | 2004-07-04 Gerald Pfeifer <gerald@pfeifer.com> |
3954 | ||
3955 | * doc/contrib.texi (Contributors): Adjust link for GNU Classpath. | |
3956 | ||
8fff4fc1 RH |
3957 | 2004-07-04 Richard Henderson <rth@redhat.com> |
3958 | ||
3959 | * rtl.def (ADDRESSOF): Remove. | |
3960 | * alias.c (rtx_equal_for_memref_p): Don't handle addressof. | |
3961 | (find_base_term, memrefs_conflict_p): Likewise. | |
3962 | * cse.c (fixed_base_plus_p, find_best_addr: Likewise. | |
3963 | (fold_rtx, cse_insn, set_live_p): Likewise. | |
3964 | * dwarf2out.c (mem_loc_descriptor): Likewise. | |
3965 | (add_location_or_const_value_attribute): Likewise. | |
3966 | * emit-rtl.c (copy_insn_1): Likewise. | |
3967 | * explow.c (memory_address): Likewise. | |
3968 | * expmed.c (store_split_bit_field): Likewise. | |
3969 | * expr.c (expand_expr_real_1): Likewise. | |
3970 | * function.c (instantiate_decl | |
3971 | (instantiate_virtual_regs_1, fix_lexical_addr): Likewise. | |
3972 | * genrecog.c (preds, validate_pattern): Likewise. | |
3973 | * integrate.c (copy_rtx_and_substitute): Likewise. | |
3974 | * recog.c (general_operand, register_operand): Likewise. | |
3975 | (memory_address_p): Likwise. | |
3976 | * reload1.c (eliminate_regs, elimination_effects): Likewise. | |
3977 | * rtl.c (copy_rtx): Likewise. | |
3978 | * rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise. | |
3979 | (rtx_addr_can_trap_p, nonzero_address_p, address_cost): Likewise. | |
3980 | * rtlhooks.c (gen_lowpart_general): Likewise. | |
3981 | * stmt.c (expand_asm_operands): Likewise. | |
3982 | * web.c (entry_register, replace_ref, web_main): Likewise. | |
3983 | * config/alpha/alpha.c (input_operand, alpha_legitimate_address_p, | |
3984 | alpha_expand_block_move, alpha_expand_block_clear): Likewise. | |
3985 | * config/arm/arm.c (thumb_rtx_costs): Likewise. | |
3986 | * config/c4x/c4x.c (c4x_valid_operands): Likewise. | |
3987 | * config/frv/frv.c (move_destination_operand, move_source_operand, | |
3988 | condexec_dest_operand, condexec_source_operand, | |
3989 | condexec_memory_operand): Likewise. | |
3990 | * config/h8300/h8300.h (PREDICATE_CODES): Likewise. | |
3991 | * config/ia64/ia64.c (general_xfmode_operand): Likewise. | |
3992 | (destination_xfmode_operand): Likewise. | |
3993 | * config/mips/mips.h (PREDICATE_CODES): Likewise. | |
3994 | * config/mn10300/mn10300.c (mn10300_address_cost_1): Likewise. | |
3995 | * config/s390/s390.c (general_s_operand): Likewise. | |
3996 | * config/s390/s390.md (mov*): Likewise. | |
3997 | * config/sparc/sparc.h (PREDICATE_CODES): Likewise. | |
3998 | ||
3999 | * c-typeck.c (c_mark_addressable): Don't put_var_into_stack. | |
4000 | * expr.c (expand_expr_real_1): Likewise. | |
4001 | * stmt.c (expand_decl): Likewise. | |
4002 | * config/c4x/c4x.c (c4x_expand_builtin): Likewise. | |
4003 | ||
4004 | * function.c (struct fixup_replacement, struct insns_for_mem_entry, | |
4005 | postponed_insns, put_var_into_stack, put_reg_into_stack, | |
4006 | schedule_fixup_var_refs, fixup_var_refs, find_fixup_replacement, | |
4007 | fixup_var_refs_insns, fixup_var_refs_insns_with_hash, | |
4008 | fixup_var_refs_insn, fixup_var_refs_1, fixup_memory_subreg, | |
4009 | walk_fixup_memory_subreg, fixup_stack_1, optimize_bit_field, | |
4010 | gen_mem_addressof, flush_addressof, put_addressof_into_stack, | |
4011 | purge_bitfield_addressof_replacements, purge_addressof_replacements, | |
4012 | purge_addressof_1, insns_for_mem_hash, insns_for_mem_comp, | |
6de66680 | 4013 | struct insns_for_mem_walk_info, insns_for_mem_walk, |
8fff4fc1 RH |
4014 | compute_insns_for_mem, is_addressof, purge_addressof, setjmp_protect, |
4015 | setjmp_protect_args): Remove. | |
4016 | (push_function_context_to): Don't handle var_refs_queue. | |
4017 | (pop_function_context_from, free_after_compilation): Likewise. | |
4018 | (instantiate_virtual_regs): Don't handle parm_reg_stack_loc. | |
4019 | (assign_parms, allocate_struct_function): Likewise. | |
4020 | (use_register_for_decl): New. | |
4021 | (expand_function_end): Don't setjmp_protect. | |
4022 | * function.h (struct emit_status): Update commentary. | |
4023 | (struct function): Remove x_max_parm_reg, x_parm_reg_stack_loc. | |
4024 | (max_parm_reg, parm_reg_stack_loc): Remove. | |
4025 | * passes.c (DFI_addressof): Remove. | |
4026 | (dump_file_info): Remove addressof. | |
4027 | (rest_of_handle_addressof): Remove. | |
4028 | (rest_of_compilation): Don't call it. | |
4029 | * rtl.h (ADDRESSOF_REGNO, ADDRESSOF_DECL): Remove. | |
4030 | * stmt.c (expand_decl): Use use_register_for_decl. | |
4031 | * tree.h: Update decls. | |
4032 | * web.c (mark_addressof): Remove. | |
4033 | * doc/invoke.texi (-dF): Remove. | |
4034 | ||
68d22aa5 RH |
4035 | 2004-07-03 Richard Henderson <rth@redhat.com> |
4036 | ||
4037 | * config/ia64/ia64.c (spill_xfmode_operand): Use assign_stack_temp | |
4038 | instead of gen_mem_addressof. | |
4039 | * config/ia64/ia64.md (movxf): Use assign_stack_temp to handle | |
4040 | TImode output register. | |
4041 | ||
bdecd334 RH |
4042 | 2004-07-03 Richard Henderson <rth@redhat.com> |
4043 | ||
4044 | PR tree-optimization/16341 | |
4045 | * tree-sra.c (sra_walk_function): Increment to next stmt before | |
4046 | processing the current stmt. | |
4047 | (sra_insert_after): Always use BSI_SAME_STMT. | |
4048 | ||
ca8afd0b RH |
4049 | 2004-07-03 Richard Henderson <rth@redhat.com> |
4050 | ||
4051 | * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Don't fold | |
4052 | fp plus with minus. | |
4053 | ||
614ed70a JM |
4054 | 2004-07-03 Joseph S. Myers <jsm@polyomino.org.uk> |
4055 | ||
4056 | * tree.c (type_hash_eq): Allow TYPE_MIN_VALUE which compares equal | |
4057 | with tree_int_cst_equal. | |
4058 | ||
fa978426 AS |
4059 | 2004-07-03 Andreas Schwab <schwab@suse.de> |
4060 | ||
4061 | * config/ia64/ia64.md: Define new attribute "empty". | |
4062 | (prologue_use, nop_x, insn_group_barrier): Set it. | |
4063 | ||
4064 | * config/ia64/ia64.c (ia64_reorg): When looking for trailing call | |
4065 | skip over "empty" insns. | |
4066 | ||
e30bb772 | 4067 | 2004-07-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
51fa2e5f | 4068 | |
83e113ae RK |
4069 | * tree-inline.c (initialize_inlined_parameters): Pass proper function |
4070 | context to gimplify_body. | |
4071 | (walk_tree): Don't walk into types twice. | |
4072 | (walk_tree, case POINTER_TYPE): Deal with mutually recursive pointers. | |
4073 | ||
51fa2e5f | 4074 | * tree-sra.c (generate_element_init): Remove any useless conversions. |
6de66680 | 4075 | |
73d6ddef RK |
4076 | * gimplify.c (gimplify_conversion): Remove stripping useless |
4077 | conversions from here. | |
4078 | (gimplify_expr): Put it here, in place of call to STRIP_MAIN_TYPE_NOPS. | |
4079 | (gimplify_modify_expr_to_memcpy, gimplify_variable_sized_compare): | |
4080 | Unshare before substituting PLACEHOLDER_EXPR. | |
4081 | (gimplify_modify_expr_to_memset): Likewise. | |
4082 | Pass address of TO to memset, not TO itself. | |
4083 | (gimplify_init_constructor): Make copy of OBJECT so we have it each | |
4084 | time we make an expression (to match a PLACEHOLDER_EXPR). | |
4085 | ||
580d124f RK |
4086 | * tree-ssa.c (tree_ssa_useless_type_conversion): Also look at |
4087 | VIEW_CONVERT_EXPR and NON_LVALUE_EXPR. | |
4088 | * tree-ssa-ccp.c (fold_stmt): Call just STRIP_USELESS_TYPE_CONVERSION. | |
4089 | * tree-ssa-dom.c (local_fold): Likewise. | |
4090 | ||
e30bb772 RK |
4091 | * langhooks-def.h (LANG_HOOKS_TYPE_MAX_SIZE): New langhook. |
4092 | * langhooks.h (strct lang_hooks): New field type_max_size. | |
4093 | * function.c (assign_temp): Call it. | |
4094 | ||
52c27e16 SB |
4095 | 2004-07-03 Steven Bosscher <stevenb@suse.de> |
4096 | ||
4097 | * config/sh/sh.c (sh_use_dfa_interface): Add TARGET_SH1. | |
4098 | * config/sh/sh.md: Convert the SH1 pipeline description to | |
4099 | a DFA model. | |
4100 | ||
9aaabf8a ZW |
4101 | 2004-07-02 Zack Weinberg <zack@codesourcery.com> |
4102 | ||
4103 | * c-decl.c (struct c_binding): Remove contour field; add | |
4104 | depth, invisible, nested fields. | |
4105 | (B_IN_SCOPE, B_IN_CURRENT_SCOPE, B_IN_FILE_SCOPE) | |
4106 | (B_IN_EXTERNAL_SCOPE): New convenience macros. | |
4107 | (bind): Add invisible and nested arguments. Initialize | |
4108 | new fields of struct c_binding; adjust loop scanning for | |
4109 | insertion point. | |
4110 | (free_binding_and_advance): Clear structure with memset. | |
4111 | (pop_scope): Adjust to match. Set DECL_CONTEXT on everything | |
4112 | in file scope, even if it's in external scope too. | |
4113 | (pushdecl): Adjust to match. Create invisible file-scope | |
4114 | declarations for block-scope forward declarations of static functions. | |
4115 | (pushtag, warn_if_shadowing, pushdecl_top_level, implicitly_declare) | |
4116 | (undeclared_variable, lookup_label, declare_label, define_label) | |
4117 | (lookup_tag, lookup_name, lookup_name_in_scope, builtin_function) | |
4118 | (c_make_fname_decl, store_parm_decls_newstyle, identifier_global_value) | |
4119 | (store_parm_decls_oldstyle): Adjust to match. | |
4120 | (diagnose_mismatched_decls): Correct handling of linkage clashes. | |
4121 | (merge_decls): No need to copy C_DECL_IN_EXTERNAL_SCOPE. | |
4122 | ||
4123 | * c-tree.h (C_DECL_IN_EXTERNAL_SCOPE): Delete. | |
4124 | (C_DECL_DECLARED_BUILTIN, C_DECL_REGISTER): Slide down one. | |
4125 | ||
82c82743 RH |
4126 | 2004-07-02 Richard Henderson <rth@redhat.com> |
4127 | ||
4128 | * c-decl.c (grokdeclarator): Don't frob current_function_decl | |
4129 | around variable_size. | |
4130 | (set_decl_nonlocal): Remove. | |
4131 | (store_parm_decls): Add stmts for pending sizes. | |
4132 | * calls.c (calls_function, calls_function_1): Remove. | |
4133 | (precompute_arguments): Don't call it. | |
4134 | * cfgexpand.c (set_save_expr_context): Remove. | |
4135 | (tree_expand_cfg): Don't call it. | |
4136 | * dwarf2out.c (add_bound_info): Don't handle SAVE_EXPR. | |
4137 | (dwarf2out_finish): Likewise. | |
4138 | * expr.c (emit_block_move): Adjust addresses to BLKmode. | |
4139 | (store_constructor): Don't pre-evaluate SAVE_EXPR. | |
4140 | (safe_from_p): Don't queue SAVE_EXPRs. | |
4141 | (expand_expr_real_1 <case SAVE_EXPR>): Rewrite to expect, | |
4142 | or build plain VAR_DECLs. | |
4143 | * fold-const.c (twoval_comparison_p): Don't look at SAVE_EXPR_RTL. | |
4144 | (fold): Likewise. | |
4145 | (fold_checksum_tree): Don't special-case SAVE_EXPR. | |
4146 | * function.c (free_after_compilation): Don't clear x_save_expr_regs. | |
4147 | (put_var_into_stack): Don't handle SAVE_EXPR. | |
4148 | (gen_mem_addressof): Likewise. | |
4149 | * function.h (struct function): Remove x_save_expr_regs. | |
4150 | (save_expr_regs): Remove. | |
4151 | * gengtype.c (adjust_field_tree_exp): Don't special-case SAVE_EXPR. | |
4152 | * print-tree.c (print_node): Don't dump SAVE_EXPR_NOPLACEHOLDER. | |
4153 | * stor-layout.c (variable_size): Don't set it. | |
4154 | (force_type_save_exprs, force_type_save_exprs_1): Remove. | |
4155 | * tree-inline.c (remap_save_expr): Remove fn argument. Update | |
4156 | all callers. Don't set SAVE_EXPR_CONTEXT. | |
4157 | * tree-inline.h (remap_save_expr): Update decl. | |
4158 | * tree.c (save_expr): Update build size. | |
4159 | (first_rtl_op): Don't handle SAVE_EXPR. | |
4160 | (unsave_expr_1, contains_placeholder_p): Likewise. | |
4161 | (decl_function_context): Likewise. | |
4162 | * tree.def (SAVE_EXPR): Remove args 1 and 2. | |
4163 | * tree.h (SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL): Remove. | |
4164 | (SAVE_EXPR_NOPLACEHOLDER, SAVE_EXPR_PERSISTENT_P): Remove. | |
4165 | ||
962e6e00 JM |
4166 | 2004-07-03 Joseph S. Myers <jsm@polyomino.org.uk> |
4167 | ||
4168 | * doc/bugreport.texi, doc/configterms.texi, doc/contrib.texi, | |
4169 | doc/contribute.texi, doc/cpp.texi, doc/cppinternals.texi, | |
4170 | doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/md.texi, | |
4171 | doc/portability.texi, doc/tree-ssa.texi, doc/trouble.texi: Avoid | |
4172 | some first-person references and patronizing comments. Based on | |
4173 | printed manual. | |
4174 | * doc/invoke.texi: Don't reference fortran@gnu.org. | |
4175 | * doc/trouble.texi (Warning when a non-void function value is | |
4176 | ignored): Rewrite. From Russ Allbery and Chris Devers. | |
4177 | ||
bdee7684 DB |
4178 | 2004-07-02 Daniel Berlin <dberlin@dberlin.org) |
4179 | ||
4180 | * tree-ssa-pre.c (bitmap_set_t): New. | |
4181 | (bb_value_sets): avail_out is now a bitmap_set_t. | |
4182 | (bitmap_find_leader): New function. | |
4183 | (bitmap_value_insert_into_set): Ditto. | |
4184 | (bitmap_set_copy): Ditto. | |
4185 | (bitmap_value_replace_in_set): Ditto. | |
4186 | (bitmap_set_contains_value): Ditto. | |
4187 | (bitmap_set_new): Ditto. | |
4188 | (bitmap_set_pool): New pool. | |
4189 | (find_or_generate_expression): Use bitmap_ functions on AVAIL sets. | |
4190 | (insert_aux): Ditto. | |
4191 | (add_to_sets): Ditto. | |
4192 | (compute_avail): Ditto | |
4193 | (eliminate): Ditto. | |
4194 | (init_pre): Ditto. | |
4195 | (fini_pre): Ditto. | |
4196 | (execute_pre): Ditto. | |
4197 | ||
8b897cfa RS |
4198 | 2004-07-02 Roger Sayle <roger@eyesopen.com> |
4199 | ||
4200 | * config/rs6000/rs6000.c (struct processor_costs): New structure | |
4201 | used to hold instruction latencies/sizes for processor types. | |
4202 | (rs6000_cost): New global variable pointing to current CPU's costs. | |
4203 | (rs6000_override_options): Initialize rs6000_cost to point to the | |
4204 | appropriate cost table based upon rs6000_cpu and optimize_size. | |
4205 | (rs6000_rtx_costs): Use rs6000_cost to avoid hardcoding processor | |
4206 | timings inline. | |
4207 | ||
8a0aa06e RH |
4208 | 2004-07-02 Richard Henderson <rth@redhat.com> |
4209 | ||
4210 | * expmed.c (make_tree): Don't use SET_DECL_RTL. | |
4211 | ||
902054ef SB |
4212 | 2004-07-02 Steven Bosscher <stevenb@suse.de> |
4213 | ||
4214 | * tree-flow.h (bb_ann_d): Remove ephi_nodes field. | |
4215 | ||
229aa352 RH |
4216 | 2004-07-01 Richard Henderson <rth@redhat.com> |
4217 | ||
4218 | * config/alpha/alpha.c (struct machine_function): Add gp_save_rtx. | |
4219 | (alpha_gp_save_rtx): Use assign_stack_local instead of | |
4220 | gen_mem_addressof. | |
4221 | ||
8260c194 RH |
4222 | 2004-07-01 Richard Henderson <rth@redhat.com> |
4223 | ||
4224 | * config/alpha/alpha.c (struct alpha_rtx_cost_data): Add int_div. | |
4225 | (alpha_rtx_cost_data): Update to match. | |
4226 | (alpha_rtx_cost_size): New. | |
4227 | (alpha_rtx_costs): Honor optimize_size. | |
4228 | ||
6429e3be RH |
4229 | 2004-07-01 Richard Henderson <rth@redhat.com> |
4230 | ||
8a0aa06e RH |
4231 | * gimple-low.c (lower_function_body): Don't reset_block_changes here. |
4232 | * cfgexpand.c (tree_expand_cfg): Do it here. | |
4233 | * config/alpha/alpha.c (alpha_output_mi_thunk_osf): And here. | |
4234 | * config/ia64/ia64.c (ia64_output_mi_thunk): And here. | |
4235 | * config/mips/mips.c (mips_output_mi_thunk): And here. | |
4236 | * config/rs6000/rs6000.c (rs6000_output_mi_thunk): And here. | |
4237 | * config/sh/sh.c (sh_output_mi_thunk): And here. | |
4238 | * config/sparc/sparc.c (sparc_output_mi_thunk): And here. | |
6429e3be | 4239 | |
4dfa0342 RH |
4240 | 2004-07-01 Richard Henderson <rth@redhat.com> |
4241 | ||
4242 | * tree.def (RTL_EXPR): Remove. | |
4243 | * c-typeck.c (lvalue_p): Don't handle it. | |
4244 | * expr.c (safe_from_p): Likewise. | |
4245 | (expand_expr_real_1): Likewise. | |
9aaabf8a | 4246 | * fold-const.c (non_lvalue, operand_equal_p, fold): Likewise. |
4dfa0342 RH |
4247 | (fold_checksum_tree, tree_expr_nonnegative_p): Likewise. |
4248 | * gengtype.c (adjust_field_tree_exp): Likewise. | |
4249 | * stmt.c (warn_if_unused_value): Likewise. | |
4250 | * tree-gimple.c (recalculate_side_effects): Likewise. | |
4251 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
4252 | * tree.c (make_node_stat, first_rtl_op, unsave_expr_1): Likewise. | |
4253 | (unsafe_for_reeval, stabilize_reference, build1_stat): Likewise. | |
4254 | * tree.h (RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, RTL_EXPR_ALT_RTL): Remove. | |
4255 | ||
4256 | * stmt.c (struct stmt_status): Remove x_last_expr_type, | |
4257 | x_last_expr_value, x_last_expr_alt_rtl, x_expr_stmts_for_value. | |
4258 | (last_expr_type, last_expr_value, last_expr_alt_rtl): Remove. | |
4259 | (expand_expr_stmt): Merge with expand_expr_stmt_value. Remove | |
4260 | all the bits that tracked last_expr. | |
4261 | (expand_end_bindings): Don't track last_expr. | |
4262 | (expand_start_stmt_expr, expand_end_stmt_expr): Remove. | |
4263 | (clear_last_expr): Remove. | |
4264 | (expand_asm): Don't call it. | |
4265 | (expand_asm_operands, expand_end_cond): Likewise. | |
4266 | (expand_naked_return, expand_null_return_1): Likewise. | |
4267 | * c-typeck.c (c_begin_compound_stmt): Likewise. | |
4268 | * cfgexpand.c (expand_block): Use expand_expr_stmt. | |
4269 | * expr.c (expand_expr_real_1): Likewise. | |
4270 | * tree.h: Update prototypes. | |
4271 | ||
4272 | * function.h (struct sequence_stack): Remove sequence_rtl_expr. | |
4273 | (struct emit_status): Remove sequence_rtl_expr. | |
4274 | (struct function): Remove x_rtl_expr_chain. | |
4275 | (seq_rtl_expr, rtl_expr_chain): Remove. | |
4276 | * function.c (struct temp_slot): Remove rtl_expr. | |
4277 | (assign_stack_temp_for_type): Don't set it. | |
4278 | (free_temp_slots, pop_temp_slots): Don't check it. | |
4279 | (free_after_compilation): Don't clear x_rtl_expr_chain. | |
4280 | (fixup_var_refs): Don't search it. | |
4281 | (preserve_rtl_expr_result, free_temps_for_rtl_expr): Remove. | |
4282 | * emit-rtl.c (start_sequence): Don't use sequence_rtl_expr | |
4283 | or seq_rtl_expr. | |
4284 | (push_topmost_sequence): Likewise. | |
4285 | (end_sequence, init_emit): Likewise. | |
4286 | (start_sequence_for_rtl_expr): Remove. | |
4287 | * expmed.c (make_tree): Build a VAR_DECL instead of an RTL_EXPR. | |
4288 | * rtl.h (preserve_rtl_expr_result): Remove. | |
4289 | ||
f6fe65dc KH |
4290 | 2004-07-02 Kazu Hirata <kazu@cs.umass.edu> |
4291 | ||
4292 | * ifcvt.c, modulo-sched.c, tree-alias-common.c, tree-sra.c, | |
4293 | tree-ssa-copy.c, tree-ssa-dom.c, tree-ssa-pre.c: Fix comment | |
4294 | typos. | |
4295 | ||
656c7a3a AL |
4296 | 2004-07-02 Aaron W. LaFramboise <aaronraolete36@aaronwl.com> |
4297 | ||
4298 | * gcc.c (STANDARD_STARTFILE_PREFIX_1): Define. | |
4299 | (STANDARD_STARTFILE_PREFIX_2): Define. | |
4300 | (standard_startfile_prefix_1): Initialize to | |
4301 | STANDARD_STARTFILE_PREFIX_1. | |
4302 | (standard_startfile_prefix_2): Initialize to | |
4303 | STANDARD_STARTFILE_PREFIX_2. | |
4304 | * config/i386/mingw32.h (MD_STARTFILE_PREFIX): Remove. | |
4305 | (STANDARD_STARTFILE_PREFIX_1): Define. | |
4306 | (STANDARD_STARTFILE_PREFIX_2): Define. | |
4307 | * doc/tm.texi (STANDARD_STARTFILE_PREFIX_1): Document. | |
4308 | (STANDARD_STARTFILE_PREFIX_2): Document. | |
4309 | ||
78cc4167 RH |
4310 | 2004-07-01 Richard Henderson <rth@redhat.com> |
4311 | ||
8a0aa06e RH |
4312 | * tree-sra.c (sra_walk_expr): Don't maybe_lookup_element_for_expr |
4313 | in order to disable scalarization. Instead set a flag and wait | |
4314 | for a candidate decl. | |
78cc4167 | 4315 | |
2eac577f JM |
4316 | 2004-07-01 Joseph S. Myers <jsm@polyomino.org.uk> |
4317 | ||
4318 | * doc/cppinternals.texi, doc/install.texi, doc/invoke.texi, | |
4319 | doc/md.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: | |
4320 | Use terminology "testsuite" and "enumerated". | |
4321 | ||
1bac3811 RH |
4322 | 2004-07-01 Richard Henderson <rth@redhat.com> |
4323 | ||
4324 | * dwarf2out.c (reg_save): Use INVALID_REGNUM. | |
4325 | (dwarf2out_reg_save, dwarf2out_return_save): Likewise. | |
4326 | (initial_return_save): Likewise. | |
4327 | (flush_queued_reg_saves): Remap register numbers. | |
4328 | (dwarf2out_return_reg): Likewise. | |
4329 | ||
8e6b96d3 RK |
4330 | 2004-07-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
4331 | ||
1e748a2b RK |
4332 | * gimplify.c (gimplify_one_sizepos): Don't do anything if any VAR_DECL. |
4333 | ||
8e6b96d3 RK |
4334 | * tree-pretty-print.c (dump_generic_node, case ARRAY_REF): Use |
4335 | access functions for lower bound and element size and only output | |
4336 | if lower bound nonzero or element size not same as that of type. | |
4337 | (dump_generic_node, case COMPONENT_REF): Use access func. for offset. | |
4338 | ||
9b61c478 PB |
4339 | 2004-07-01 Paolo Bonzini <bonzini@gnu.org> |
4340 | ||
4341 | * c-pretty-print.c (pp_c_postfix_expression): Fix pasto. | |
4342 | ||
d70dc103 PB |
4343 | 2004-07-01 Per Bothner <per@bothner.com> |
4344 | ||
4345 | * final.c (final): Fix typo reported by Aaron W. LaFramboise. | |
4346 | ||
60ba25bf JJ |
4347 | 2004-07-01 Jakub Jelinek <jakub@redhat.com> |
4348 | ||
4349 | * expr.c (expand_assignment): Optimize bitfld += cst for 1 bit | |
4350 | bitfields as well. STRIP_NOPS from src operand and PLUS_EXPR's | |
4351 | first operand. Don't optimize if the bitfield is volatile. | |
4352 | ||
bd74419f PB |
4353 | 2004-07-01 Paolo Bonzini <bonzini@gnu.org> |
4354 | ||
4355 | * c-pretty-print.c (pp_c_postfix_expression): Handle | |
4356 | floating-point comparison operators. | |
4357 | (pp_c_expression): Pass floating-point comparison | |
4358 | operators to pp_c_postfix_expression. | |
4359 | ||
aec53add RS |
4360 | 2004-07-01 Roger Sayle <roger@eyesopen.com> |
4361 | ||
4362 | * simplify-rtx.c (simplify_binary_operation) <PLUS, MINUS>: Use | |
4363 | rtx_cost instead of "had_mult" to determine whether the transformed | |
4364 | expression is cheaper than the original. | |
4365 | ||
3c0cb5de JQ |
4366 | 2004-07-01 Jerry Quinn <jlquinn@optonline.net> |
4367 | ||
4368 | * alias.c (get_alias_set, canon_rtx, get_addr, | |
4369 | nonoverlapping_memrefs_p, nonlocal_referenced_p_1, memory_modified_1): | |
4370 | Use MEM_P. | |
4371 | * builtins.c (expand_builtin_prefetch, expand_builtin_profile_func, | |
4372 | expand_builtin): Likewise. | |
4373 | * calls.c (expand_call, emit_library_call_value_1, store_one_arg): | |
9aaabf8a | 4374 | Likewise. |
3c0cb5de JQ |
4375 | * combine.c (can_combine_p, combinable_i3pat, try_combine, |
4376 | find_split_point, combine_simplify_rtx, simplify_set, make_extraction, | |
4377 | rtx_equal_for_field_assignment_p, gen_lowpart_for_combine, | |
4378 | record_dead_and_set_regs_1, get_last_value_validate, | |
4379 | mark_used_regs_combine, move_deaths, unmentioned_reg_p_1): Likewise. | |
4380 | * cse.c (check_dependence, canon_hash, equiv_constant, | |
4381 | gen_lowpart_if_possible, cse_insn, invalidate_from_clobbers, | |
4382 | cse_around_loop, cse_check_loop_start, cse_set_around_loop, | |
4383 | count_reg_usage): Likewise. | |
4384 | * cselib.c (rtx_equal_for_cselib_p, add_mem_for_addr, cselib_lookup, | |
4385 | cselib_invalidate_mem, cselib_invalidate_rtx, cselib_record_set, | |
4386 | cselib_record_sets): Likewise. | |
4387 | * dbxout.c (PARM_PASSED_IN_MEMORY, dbxout_symbol, | |
4388 | dbxout_symbol_location, dbxout_parms, dbxout_reg_parms): Likewise. | |
4389 | * ddg.c (mark_mem_use, mark_mem_store, rtx_mem_access_p): Likewise. | |
4390 | * df.c (df_uses_record): Likewise. | |
4391 | * dojump (do_jump): Likewise. | |
4392 | * dwarf2out.c (stack_adjust_offset, mem_loc_descriptor, | |
4393 | loc_descriptor_from_tree, rtl_for_decl_location, add_bound_info, | |
4394 | decl_start_label): Likewise. | |
4395 | * emit-rtl.c (gen_complex_constant_part, gen_highpart, | |
4396 | operand_subword, change_address_1, make_safe_from): Likewise. | |
4397 | * explow.c (break_out_memory_refs, copy_all_regs, validize_mem, | |
4398 | stabilize, force_not_mem): Likewise. | |
4399 | * expmed.c (store_bit_field, store_split_bit_field, extract_bit_field, | |
4400 | expand_mult_const, expand_divmod, emit_store_flag): Likewise. | |
4401 | * expr.c (convert_move, convert_modes, emit_block_move, | |
4402 | emit_group_load, emit_group_store, clear_storage, emit_move_insn, | |
4403 | emit_move_insn_1, expand_assignment, store_expr, | |
4404 | store_constructor_field, store_constructor, store_field, | |
4405 | force_operand, safe_from_p, expand_expr_real_1, expand_increment): | |
9aaabf8a | 4406 | Likewise. |
3c0cb5de JQ |
4407 | * final.c (cleanup_subreg_operands, alter_subreg, |
4408 | get_mem_expr_from_op): Likewise. | |
4409 | * flow.c (notice_stack_pointer_modification_1, | |
4410 | init_propagate_block_info, insn_dead_p, mark_set_1, mark_used_regs): | |
9aaabf8a | 4411 | Likewise. |
3c0cb5de JQ |
4412 | * function.c (mark_temp_addr_taken, preserve_temp_slots, |
4413 | preserve_rtl_expr_result, put_var_into_stack, fixup_var_refs_1, | |
4414 | optimize_bit_field, flush_addressof, purge_addressof_1, | |
4415 | instantiate_decl, instantiate_virtual_regs_1, assign_parms, | |
4416 | setjmp_protect, setjmp_protect_args, fix_lexical_addr, | |
4417 | keep_stack_depressed): Likewise. | |
4418 | * ifcvt.c (noce_try_cmove_arith, noce_try_abs, noce_operand_ok, | |
4419 | noce_process_if_block, find_memory): Likewise. | |
4420 | * integrate.c (subst_constants, allocate_initial_values): Likewise. | |
4421 | * local-alloc.c (validate_equiv_mem_from_store, memref_referenced_p, | |
4422 | update_equiv_regs): Likewise. | |
4423 | * loop.c (scan_loop, prescan_loop, note_addr_stored, check_store, | |
4424 | maybe_eliminate_biv_1, find_mem_in_note_1): Likewise. | |
4425 | * optabs.c (expand_abs, emit_unop_insn): Likewise. | |
4426 | * passes.c (rest_of_handle_final): Likewise. | |
4427 | * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands, | |
4428 | move2add_note_store): Likewise. | |
4429 | * ra-build.c (detect_remat_webs): Likewise. | |
4430 | * ra-debug.c (dump_static_insn_cost): Likewise. | |
4431 | * ra-rewrite.c (slots_overlap_p, insert_stores): Likewise. | |
4432 | * recog.c (validate_change, apply_change_group, cancel_changes, | |
4433 | validate_replace_rtx_1, general_operand, register_operand, | |
4434 | nonmemory_operand, push_operand, pop_operand, memory_operand, | |
4435 | indirect_operand, asm_operand_ok, offsettable_memref_p, | |
4436 | offsettable_nonstrict_memref_p, constrain_operands, | |
4437 | store_data_bypass_p): Likewise. | |
4438 | * reg-stack.c (subst_stack_regs_pat): Likewise. | |
4439 | * regclass.c (record_operand_costs, scan_one_insn, record_reg_classes, | |
4440 | copy_cost, reg_scan_mark_refs): Likewise. | |
4441 | * regmove.c (optimize_reg_copy_3, stack_memref_p, | |
4442 | combine_stack_adjustments_for_block): Likewise. | |
4443 | * regrename.c (copyprop_hardreg_forward_1): Likewise. | |
4444 | * reload.c (can_reload_into, push_reload, decompose, immune_p, | |
4445 | find_reloads, find_reloads_address, find_reloads_address_1, | |
4446 | reg_overlap_mentioned_for_reload_p, refers_to_mem_for_reload_p, | |
4447 | find_equiv_reg): Likewise. | |
4448 | * reload1.c (reload, eliminate_regs, eliminate_regs_in_insn, | |
4449 | reload_as_needed, choose_reload_regs, emit_input_reload_insns, | |
4450 | do_input_reload, emit_reload_insns, gen_reload, delete_output_reload, | |
4451 | delete_address_reloads): Likewise. | |
4452 | * resource.c (mark_referenced_resources): Likewise. | |
4453 | * rtlanal.c (get_jump_table_offset, count_occurrences, | |
4454 | reg_referenced_p, reg_set_p, set_of_1, set_noop_p, | |
4455 | reg_overlap_mentioned_p, note_uses, replace_regs, nonzero_bits1, | |
4456 | num_sign_bit_copies1): Likewise. | |
4457 | * rtlhooks.c (gen_lowpart_general): Likewise. | |
4458 | * sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise. | |
4459 | * sdbout.c (PARM_PASSED_IN_MEMORY, sdbout_symbol, | |
4460 | sdbout_toplevel_data, sdbout_parms, sdbout_reg_parms, | |
4461 | sdbout_global_decl): Likewise. | |
4462 | * simplify-rtx.c (simplify_subreg): Likewise. | |
4463 | * stmt.c (expand_asm_operands, expand_expr_stmt_value, expand_decl, | |
4464 | expand_anon_union_decl, expand_end_case_type): Likewise. | |
4465 | * unroll.c (calculate_giv_inc): Likewise. | |
4466 | * var-tracking.c (stack_adjust_offset_pre_post, | |
4467 | bb_stack_adjust_offset, track_expr_p, count_uses, add_uses, | |
4468 | add_stores, compute_bb_dataflow, vt_get_decl_and_offset, | |
4469 | vt_add_function_parameters): Likewise. | |
4470 | * varasm.c (make_var_volatile, notice_global_symbol, | |
4471 | assemble_external, decode_addr_const, mark_weak, | |
4472 | default_encode_section_info): Likewise. | |
4473 | ||
a0ae6d3b SB |
4474 | 2004-07-01 Steven Bosscher <stevenb@suse.de> |
4475 | ||
4476 | * stmt.c (check_seenlabel): Remove. | |
4477 | (pushcase, pushcase_range, expand_end_case_type): Don't call it. | |
4478 | ||
b79c5284 RH |
4479 | 2004-07-01 Richard Henderson <rth@redhat.com> |
4480 | ||
4481 | * function.h (struct function): Remove x_function_call_count. | |
4482 | (function_call_count): Remove. | |
4483 | * calls.c (expand_call): Don't set it. | |
4484 | * integrate.c (copy_rtx_and_substitute): Likewise. | |
4485 | ||
4486 | * function.h (struct function): Remove x_cleanup_label. | |
4487 | (cleanup_label): Remove. | |
4488 | * stmt.c (expand_value_return): Don't use it. | |
4489 | * function.c (free_after_compilation): Don't set it. | |
4490 | (expand_function_start): Likewise. Remove parms_have_cleanups arg. | |
4491 | * cfgexpand.c (tree_expand_cfg): Update call. | |
4492 | * tree.h (expand_function_start): Update decl. | |
4493 | ||
ede1a387 JM |
4494 | 2004-07-01 Joseph S. Myers <jsm@polyomino.org.uk> |
4495 | ||
4496 | PR c/1027 | |
4497 | * c-lang.c (c_initialize_diagnostics): Move from here ... | |
4498 | * c-objc-common.c: ... to here. Include "c-pretty-print.h". | |
4499 | (c_tree_printer): Use pretty-printer to format %T. | |
4500 | * c-pretty-print.c (pp_c_specifier_qualifier_list): Include space | |
4501 | before '*' if not C++. | |
4502 | (pp_c_direct_abstract_declarator): Don't try to print array upper | |
4503 | bound for flexible array members. | |
4504 | * c-tree.h: Include "diagnostic.h". | |
4505 | (c_initialize_diagnostics): Declare. | |
4506 | * objc/objc-lang.c (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Define. | |
4507 | * c-format.c (format_type_warning): New function. Improve | |
4508 | diagnostics for incorrect format argument types. | |
4509 | (check_format_types): Use it. Add two parameters. Use the | |
4510 | TYPE_MAIN_VARIANT of wanted_type. | |
4511 | (check_format_info_main): Pass new parameters to | |
4512 | check_format_types. | |
4513 | (struct format_wanted_type): Update comment. | |
4514 | ||
d59c7b4b NC |
4515 | 2004-07-01 Nick Clifton <nickc@redhat.com> |
4516 | ||
4517 | * target.h (struct gcc_target): Add new field to struct cxx: | |
4518 | import_export_class. | |
8a0aa06e RH |
4519 | * target-def.h (TARGET_CXX): Initialise the new field. |
4520 | (TARGET_CXX_IMPORT_EXPORT_CLASS): Provide a default value for | |
9aaabf8a | 4521 | the new field. |
8a0aa06e | 4522 | * doc/tm.texi: Document the new target hook. |
d59c7b4b | 4523 | |
e78bb345 PB |
4524 | 2004-07-01 Paolo Bonzini <bonzini@gnu.org> |
4525 | ||
4526 | * builtins.c (fold_builtin_classify): Fix typo. | |
4527 | ||
e3b63af7 RH |
4528 | 2004-07-01 Richard Henderson <rth@redhat.com> |
4529 | ||
4530 | * function.c (identify_blocks, identify_blocks_1): Remove. | |
4531 | * function.h (identify_blocks): Remove. | |
4532 | * rtl.h (NOTE_INSN_BLOCK_BEG): Update comment. | |
4533 | ||
64a9295a PB |
4534 | 2004-07-01 Paolo Bonzini <bonzini@gnu.org> |
4535 | ||
4536 | * builtins.c (fold_builtin_classify): New. | |
4537 | (fold_builtin_unordered_cmp): Fix commentary. | |
4538 | (fold_builtin): Use it. | |
4539 | * builtins.def: Define builtins for isnan, | |
4540 | isnanf, isnanl, finite, finitef, finitel, | |
4541 | isinf, isinff, isinfl. | |
4542 | ||
1ea463a2 RH |
4543 | 2004-07-01 Richard Henderson <rth@redhat.com> |
4544 | ||
4545 | * function.h (struct function): Remove dont_emit_block_notes. | |
4546 | * gimple-low.c (lower_function_body): Don't set it. | |
4547 | * cfgexpand.c (expand_block): Don't check it. | |
4548 | * cfglayout.c (insn_locators_initialize): Likewise. | |
4549 | * expr.c (expand_expr_real, expand_expr_real_1): Likewise. | |
4550 | * passes.c (rest_of_compilation): Likewise. | |
4551 | * stmt.c (expand_start_bindings_and_block): Likewise. | |
4552 | (expand_end_bindings): Likewise. | |
4553 | ||
c9b9aa64 RH |
4554 | 2004-07-01 Richard Henderson <rth@redhat.com> |
4555 | ||
4556 | * cgraph.h (cgraph_build_static_cdtor): Declare. | |
4557 | * cgraphunit.c (cgraph_build_static_cdtor): New. | |
4558 | * c-objc-common.c (build_cdtor): Use it. | |
4559 | * coverage.c (create_coverage): Likewise. | |
4560 | * libfuncs.h (LTI_gcov_init, gcov_init_libfunc): Remove. | |
4561 | * optabs.c (init_optabs): Don't set gcov_init_libfunc. | |
4562 | ||
8436e65a | 4563 | See ChangeLog.11 for earlier changes. |