]>
Commit | Line | Data |
---|---|---|
0196fbb3 RH |
1 | 2004-07-08 Richard Henderson <rth@redhat.com> |
2 | ||
3 | * config/fr30/fr30-protos.h (fr30_va_arg): Remove. | |
4 | * config/fr30/fr30.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
5 | (fr30_gimplify_va_arg_expr): New. | |
6 | (fr30_pass_by_reference, fr30_pass_by_value, fr30_va_arg): Remove. | |
7 | * config/fr30/fr30.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
8 | ||
2d8f9759 VM |
9 | 2004-07-08 Vladimir Makarov <vmakarov@redhat.com> |
10 | ||
11 | PR target/16414 | |
12 | * config/ia64/ia64.c (ia64_dfa_new_cycle): Fix typo in comparison | |
13 | of asm_noperands result. | |
14 | ||
062fff1b RH |
15 | 2004-07-08 Richard Henderson <rth@redhat.com> |
16 | ||
17 | * config/cris/cris-protos.h (cris_expand_builtin_va_arg): Remove. | |
18 | * config/cris/cris.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
19 | (cris_gimplify_va_arg_expr): Rewrite from cris_expand_builtin_va_arg. | |
20 | * config/cris/cris.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
21 | ||
083385aa RH |
22 | 2004-07-08 Richard Henderson <rth@redhat.com> |
23 | ||
24 | * builtins.c (ind_gimplify_va_arg_expr): New. | |
25 | * tree.h (ind_gimplify_va_arg_expr): Declare. | |
26 | * config/arc/arc.c (arc_gimplify_va_arg_expr): Use it. | |
27 | ||
b42271d6 JB |
28 | 2004-07-08 Jan Beulich <jbeulich@novell.com> |
29 | ||
30 | * expmed.c (extract_bit_field): Correct condition to use vec_extract | |
31 | patterns also on vector elements other than the first one. | |
32 | * config/i386/i386.md (vec_extractv2df, vec_extractv4sf): Add missing | |
33 | break statements. | |
34 | ||
f37f2515 GK |
35 | 2004-07-08 Geoffrey Keating <geoffk@apple.com> |
36 | ||
37 | * config/rs6000/darwin-ldouble.c: Correct reference | |
38 | to the Linnainmaa paper. | |
39 | ||
d222b827 RH |
40 | 2004-07-08 Richard Henderson <rth@redhat.com> |
41 | ||
99680f98 RH |
42 | * config/arc/arc-protos.h (arc_va_arg): Remove. |
43 | * config/arc/arc.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
44 | (arc_gimplify_va_arg_expr): Rewrite from arc_va_arg. | |
45 | * config/arc/arc.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
46 | ||
d222b827 RH |
47 | * config/c4x/c4x-protos.h (c4x_va_arg): Remove. |
48 | * config/c4x/c4x.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
49 | (c4x_gimplify_va_arg_expr): Rewrite from c4x_va_arg. | |
50 | * config/c4x/c4x.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
51 | ||
09eeca5e JDA |
52 | 2004-07-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
53 | ||
54 | * pa.md (prefetch_32, prefetch_64): Simplify constraint checks. | |
55 | ||
36c1b0de ZW |
56 | 2004-07-08 Zack Weinberg <zack@codesourcery.com> |
57 | ||
58 | * c-decl.c (static_ctors, static_dtors): Make static. | |
59 | (pop_file_scope): Call c_common_write_pch and | |
60 | cgraph_finalize_compilation_unit here. | |
61 | (build_cdtor): Moved here from c-objc-common.c; simplify. | |
62 | (c_write_global_declarations_1): Clarify comment. | |
63 | (c_write_global_declarations): Close the external scope before | |
64 | doing anything else. Call build_cdtor, cgraph_optimize, and | |
65 | mudflap_finish_file here. | |
66 | * c-lang.c (finish_file): Don't call c_objc_common_finish_file. | |
67 | Clarify comment. | |
68 | * c-objc-common.c: No need to include cgraph.h. | |
69 | (build_cdtor): Moved to c-decl.c. | |
70 | (c_objc_common_finish_file): Delete. | |
71 | * c-tree.h: Update to match. | |
72 | * objc/objc-act.c (finish_file): Don't call c_objc_common_finish_file. | |
73 | (generate_static_references): Set TREE_USED before calling finish_decl. | |
74 | Eliminate unnecessary dummy declaration. Call rest_of_decl_compilation | |
75 | on the static_instances_decl. | |
76 | ||
5b02f0e0 ZW |
77 | 2004-07-08 Zack Weinberg <zack@codesourcery.com> |
78 | ||
79 | * c-decl.c (pop_scope): Do not set DECL_CONTEXT on file-scope | |
80 | decls when there is only one input translation unit. | |
81 | * langhooks.c (lhd_set_decl_assembler_name): Partially revert | |
82 | change of 2004-07-05; do not treat declarations with | |
83 | DECL_CONTEXT a TRANSLATION_UNIT_DECL specially. | |
84 | * opts.c (cur_in_fname): Delete. | |
85 | * opts.h: Likewise. | |
86 | * tree.c: Revert changes of 2004-07-05; no special treatment | |
87 | for TRANSLATION_UNIT_DECLs. | |
88 | * Makefile.in (tree.o): Update dependencies. | |
89 | ||
a32e70c3 RS |
90 | 2004-07-08 Roger Sayle <roger@eyesopen.com> |
91 | ||
92 | * builtins.c (fold_builtin_strcpy): Merge functionality from | |
93 | simplify_builtin_strcpy. Add additional len argument. No longer | |
94 | static. Remove function prototype. | |
95 | (fold_builtin_strncpy): Likewise integrate functionality from | |
96 | simplify_builtin_strncpy. Add additional slen argument. No | |
97 | longer static. Remove function prototype. | |
98 | (simplify_builtin_strcy, simplify_builtin_strncpy): Delete. | |
99 | (simplify_builtin_fputs): Rename to fold_builtin_fputs. Change | |
100 | types of "ignore" and "unlocked" parameters to bool. | |
101 | (fold_builtin_1): Add additional ignore argument. Call renamed | |
102 | fold_builtin_fputs to simplify GCC "fputs" and "fputs_unlocked" | |
103 | builtins. Update arguments to fold_builtin_strncpy and | |
104 | fold_builtin_strcpy. Add function prototype. | |
105 | (fold_builtin): Add additional Boolean ignore argument to pass | |
106 | to fold_builtin_1. | |
107 | (simplify_builtin): Call fold_builtin_fputs, fold_builtin_strcpy | |
108 | and fold_builtin_strncpy instead of simplify_builtin_fputs, | |
109 | simplify_builtin_strcpy and simplify_builtin_strncpy respectively. | |
110 | ||
111 | * expr.h (simplify_builtin_fputs, simplify_builtin_strcpy, | |
112 | simplify_builtin_strncpy): Delete function prototypes. | |
113 | * tree.h (fold_builtin_fputs, fold_builtin_strcpy, | |
114 | fold_builtin_strncpy): Add function prototypes here. | |
115 | (fold_builtin): Update function prototype with new "bool ignore". | |
116 | ||
117 | * tree-ssa-ccp.c (ccp_fold): Update call to fold_builtin. | |
118 | (ccp_fold_builtin): Update call to fold_builtin. Call | |
119 | fold_builtin_fputs, fold_builtin_strcpy and fold_builtin_strncpy | |
120 | instead of simplify_builtin_fputs, simplify_builtin_strcpy and | |
121 | simplify_builtin_strncpy respectively. | |
122 | * fold-const.c (fold): Update call to fold_builtin. | |
123 | ||
652eb744 AO |
124 | 2004-07-08 Alexandre Oliva <aoliva@redhat.com> |
125 | ||
ad4319ec AO |
126 | * builtins.c (expand_builtin_stpcpy): Un-simplify decay of stpcpy |
127 | to strcpy. | |
128 | ||
652eb744 AO |
129 | * expr.h (FUNCTION_ARG_PARTIAL_NREGS): Default to 0. |
130 | (FUNCTION_ARG_PASS_BY_REFERENCE): Likewise. | |
131 | (FUNCTION_ARG_CALLEE_COPIES): Likewise. | |
132 | * calls.c: Remove ifdefs of macros above. | |
133 | * functions.c: Likewise. | |
134 | * expr.c: Likewise. | |
135 | ||
50711d27 EB |
136 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> |
137 | ||
138 | * config/sparc/sparc.md (UNSPECV_GOTO_V9): Delete. | |
139 | (arch attribute): Delete. | |
140 | (current_function_calls_alloca attribute): Rename into calls_alloca. | |
141 | (calls_eh_return): New attribute. | |
142 | (leaf_function): Likewise. | |
143 | (length attribute): Fix formula for sibcalls. | |
144 | (return insn): Correctly compute the 'length' attribute. | |
145 | (do_builtin_setjmp_setup): Adjust use of current_function_calls_alloca. | |
146 | ||
cd709752 RH |
147 | 2004-07-08 Richard Henderson <rth@redhat.com> |
148 | ||
149 | * tree-cfg.c (make_exit_edges): Use get_call_expr_in. | |
150 | (remove_useless_stmts_1, is_ctrl_altering_stmt): Likewise. | |
151 | (tree_block_ends_with_call_p, need_fake_edge_p): Likewise. | |
152 | * tree-eh.c (lower_eh_constructs_1): Likewise. | |
153 | * tree-sra.c (sra_walk_modify_expr): Likewise. | |
154 | * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise. | |
155 | (eliminate_unnecessary_stmts): Likewise. | |
156 | * tree-ssa-dse.c (dse_optimize_stmt): Likewise. | |
157 | * tree-tailcall.c (optimize_tail_call): Likewise. | |
158 | * tree-ssa-ccp.c (get_rhs, set_rhs): Reorg to use switch. | |
159 | ||
c618c6ec | 160 | 2004-07-08 Paolo Bonzini <bonzini@gnu.org> |
5b02f0e0 | 161 | Jakub Jelinek <jakub@redhat.com> |
c618c6ec JJ |
162 | |
163 | * config/i386/i386.c (override_options): Enable | |
164 | SSE prefetches with -mtune, as long as we are | |
165 | compiling for i686 or higher. All i686 processors | |
166 | accept SSE prefetches as NOPS, some i586's don't. | |
167 | ||
afdbd485 EB |
168 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> |
169 | ||
170 | PR target/10567 | |
171 | * config/sparc/sparc.md (update_return): Honor flag_delayed_branch. | |
172 | ||
7c35745c DN |
173 | 2004-07-08 Diego Novillo <dnovillo@redhat.com> |
174 | ||
175 | * tree-ssa-operands.c (get_asm_expr_operands): Fix thinkos in | |
176 | the handling of clobbering ASM_EXPRs. | |
177 | ||
c74fd3f1 EB |
178 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> |
179 | ||
180 | PR target/16430 | |
181 | * config/sparc/sparc.c (function_value): In 64-bit mode, | |
182 | return the aggregates larger than 16 bytes like unions. | |
183 | ||
1d511ed5 EB |
184 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> |
185 | ||
186 | PR target/16199 | |
187 | * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): When | |
188 | 'temp' is zero, generate new pseudos as needed and emit the | |
189 | sequence of insns in single-assignment form. Resync comments | |
190 | with code. | |
191 | (sparc_emit_set_const64): Pass zero as 'temp' argument to above | |
192 | function before reload. | |
193 | ||
7de5bccc NS |
194 | 2004-07-08 Nathan Sidwell <nathan@codesourcery.com> |
195 | ||
70ce47b5 NS |
196 | * vec.c (vec_assert_fail): Remove duplicate 'function'. |
197 | ||
7de5bccc | 198 | * vec.c (vec_p_reserve, vec_o_reserve): Allocation is signed. |
70ce47b5 | 199 | |
7de5bccc NS |
200 | * vec.h (VEC_alloc, VEC_embedded_size, VEC_embedded_init): |
201 | Allocation is signed. | |
202 | (VEC_reserve): Return flag, allocation is signed. | |
203 | ||
5df6d966 RH |
204 | 2004-07-08 Richard Henderson <rth@redhat.com> |
205 | ||
206 | * tree-ssa-ccp.c (fold_stmt): Get type directly from | |
207 | OBJ_TYPE_REF_OBJECT. | |
208 | ||
bc15d0ef | 209 | 2004-07-08 Joseph S. Myers <jsm@polyomino.org.uk> |
5b02f0e0 | 210 | Neil Booth <neil@daikokuya.co.uk> |
bc15d0ef JM |
211 | |
212 | PR c/2511 | |
213 | PR c/3325 | |
214 | * c-decl.c (finish_struct): Ensure bit-fields are given the | |
215 | correct type. | |
216 | * c-common.c (c_common_signed_or_unsigned_type): For C, require | |
217 | the precision to match as well as the mode. | |
218 | * expr.c (reduce_to_bit_field_precision): New function. | |
219 | (expand_expr_real_1): Reduce expressions of bit-field type to | |
220 | proper precision. | |
221 | * langhooks.h (reduce_bit_field_operations): New hook. | |
222 | * langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): | |
223 | Define. | |
224 | * c-lang.c, objc/objc-lang.c | |
225 | (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define. | |
226 | * objc/objc-act.c (check_ivars): Convert types to bit-field types | |
227 | before checking. | |
228 | * tree.c (build_nonstandard_integer_type): New function. | |
229 | * tree.h (build_nonstandard_integer_type): New prototype. | |
230 | * tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't treat | |
231 | conversions between integer and boolean types as useless. | |
232 | ||
942e5939 PB |
233 | 2004-07-08 Paolo Bonzini <bonzini@gnu.org> |
234 | ||
235 | * c-common.c (c_common_nodes_and_builtins): Do not | |
236 | create __builtin_ptrdiff_t and __builtin_size_t. | |
237 | ||
48747993 AP |
238 | 2004-07-08 Andrew Pinski <apinski@apple.com> |
239 | ||
5b02f0e0 | 240 | * Makefile.in (libbackend.o): Add -combine to the gcc |
48747993 AP |
241 | command line. |
242 | ||
1558163d NC |
243 | 2004-07-08 Nick Clifton <nickc@redhat.com> |
244 | ||
245 | * config/stormy16/t-stormy16 (TARGET_LIBGCC2_CFLAGS): Define. | |
246 | Set to -Os. | |
247 | ||
ac45df5d RH |
248 | 2004-07-08 Richard Henderson <rth@redhat.com> |
249 | ||
5b02f0e0 | 250 | * except.c (expand_eh_region_start, expand_eh_region_end, |
ac45df5d RH |
251 | expand_eh_handler, expand_eh_region_end_cleanup, |
252 | expand_start_all_catch, expand_start_catch, expand_end_catch, | |
253 | expand_end_all_catch, expand_eh_region_end_allowed, | |
254 | expand_eh_region_end_must_not_throw, expand_eh_region_end_throw, | |
255 | expand_eh_region_end_fixup): Remove. | |
256 | * stmt.c (struct nesting): Remove stack_level, innermost_stack_block, | |
257 | cleanups, outer_cleanups, label_chain, exception_region. | |
258 | (struct goto_fixup): Remove stack_level, cleanup_list_list. | |
259 | (struct label_chain): Remove. | |
260 | (struct stmt_status): Remove x_stack_block_stack. | |
261 | (stack_block_stack, expand_goto_internal, expand_fixup, expand_fixups, | |
262 | fixup_gotos, save_stack_pointer, expand_decl_cleanup, | |
263 | expand_decl_cleanup_eh, expand_cleanups, start_cleanup_deferral, | |
5b02f0e0 | 264 | end_cleanup_deferral, last_cleanup_this_contour, |
ac45df5d RH |
265 | containing_blocks_have_cleanups_or_stack_level, |
266 | any_pending_cleanups): Remove. | |
267 | (expand_null_return_1): Take no arguments. | |
268 | (expand_label, expand_naked_return, expand_return, | |
269 | expand_start_bindings_and_block, expand_end_bindings, expand_decl, | |
270 | expand_anon_union_decl, expand_start_case, pushcase, pushcase_range, | |
271 | expand_end_case_type): Don't use any of them. | |
272 | * calls.c (expand_call): Likewise. | |
273 | * dojump.c (do_jump): Likewise. | |
274 | * function.c (expand_function_end): Likewise. | |
275 | * expr.c (store_expr, expand_expr_real_1): Likewise. | |
276 | (safe_from_p): Don't handle WITH_CLEANUP_EXPR, CLEANUP_POINT_EXPR. | |
5b02f0e0 ZW |
277 | (expand_expr_real_1): Don't handle WITH_CLEANUP_EXPR, |
278 | CLEANUP_POINT_EXPR, TARGET_EXPR, TRY_CATCH_EXPR, CATCH_EXPR, | |
ac45df5d RH |
279 | EH_FILTER_EXPR, TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR. |
280 | * fold-const.c (fold_checksum_tree): Use first_rtl_op. | |
281 | * gengtype.c (adjust_field_tree_exp): Remove rtl op handling. | |
282 | * gimplify.c (gimplify_cleanup_point_expr): Renumber operands | |
283 | for WITH_CLEANUP_EXPR. | |
284 | (gimple_push_cleanup): Likewise. | |
285 | * integrate.c (copy_decl_for_inlining): Don't DECL_TOO_LATE. | |
286 | * print-tree.c (print_node): Likewise. | |
287 | * tree-pretty-print.c (dump_generic_node): Remove GOTO_SUBROUTINE_EXPR. | |
288 | * tree.c (first_rtl_op): Always just TREE_CODE_LENGTH. | |
289 | (has_cleanups): Remove GOTO_SUBROUTINE_EXPR. | |
290 | * tree.def (WITH_CLEANUP_EXPR): Remove op1 and op2. | |
291 | (GOTO_SUBROUTINE_EXPR): Remove. | |
292 | * tree.h (WITH_CLEANUP_EXPR_RTL): Remove. | |
293 | (DECL_TOO_LATE): Remove. | |
294 | * except.h, tree.h: Update decls. | |
295 | ||
97b0ade3 PB |
296 | 2004-07-08 Paolo Bonzini <bonzini@gnu.org> |
297 | ||
298 | * explow.c (optimize_save_area_alloca): Do not accept parameters. | |
299 | * passes.c (rest_of_handle_final): Handle symout. | |
300 | (rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): | |
301 | Push timevar here. | |
302 | (rest_of_handle_sched): Break out SMS. Remove ifs for | |
303 | flag_schedule_insns and flag_modulo_sched. | |
304 | (rest_of_handle_addressof, rest_of_handle_cse2): Garbage | |
305 | collect at the end. | |
306 | (rest_of_handle_gcse2): Put under timevar TV_RELOAD_CSE_REGS. | |
307 | (rest_of_handle_partition_blocks, rest_of_handle_sms, | |
308 | rest_of_handle_if_after_reload, rest_of_handle_peephole2, | |
309 | rest_of_handle_mode_switching, rest_of_handle_jump, | |
310 | rest_of_handle_guess_branch_prob, rest_of_handle_eh, | |
311 | rest_of_handle_jump2, rest_of_handle_postreload, | |
312 | rest_of_handle_flow2, rest_of_clean_state, | |
313 | rest_of_handle_shorten_branches, | |
314 | rest_of_handle_prologue_epilogue, | |
315 | rest_of_handle_branch_target_load_optimize): New. | |
316 | (rest_of_compilation): Call the above. Remove ggc_collect | |
317 | calls moved to rest_of_handle_*. | |
318 | * rtl.h (optimize_save_area_alloca): Do not accept parameters. | |
319 | ||
320 | * dwarf2out.c (dwarf2out_begin_prologue): Use TREE_NOTHROW. | |
321 | * except.c (set_nothrow_function_flags): Set TREE_NOTHROW. | |
322 | * except.h (set_nothrow_function_flags): Update comment. | |
323 | * function.c (current_function_nothrow): Remove. | |
324 | * output.h (current_function_nothrow): Remove. | |
325 | * passes.c (rest_of_compilation): Do not set TREE_NOTHROW. | |
326 | * config/arm/arm.c (arm_compute_func_type): Use TREE_NOTHROW. | |
327 | ||
b9185691 EB |
328 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> |
329 | ||
330 | PR bootstrap/16326 | |
331 | * reorg.c: Revert 2004-06-30 change. | |
332 | (find_end_label): If HAVE_epilogue and !HAVE_return, | |
333 | return 0 instead of creating a label at the end of the insn chain. | |
334 | (optimize_skip): Account for the failure mode of find_end_label. | |
335 | (fill_simple_delay_slots): Likewise. | |
336 | (fill_slots_from_thread): Likewise. | |
337 | (relax_delay_slots): Likewise. | |
338 | ||
a6d02559 DN |
339 | 2004-07-08 Diego Novillo <dnovillo@redhat.com> |
340 | ||
341 | * tree-flow.h (addressable_vars): Declare. | |
342 | * tree-ssa-alias.c (addressable_vars): Define. | |
343 | (setup_pointers_and_addressables): Add addressable variables | |
344 | to addressable_vars. | |
345 | * tree-ssa-operands.c (get_stmt_operands): Move | |
346 | handling of ASM_EXPRs ... | |
347 | (get_asm_expr_operands): ... here. | |
348 | When the ASM_EXPR clobbers memory, also clobber addressable | |
349 | variables. | |
350 | * tree-ssa.c (init_tree_ssa): Initialize addressable_vars. | |
351 | (delete_tree_ssa): Reset addressable_vars. | |
352 | ||
08a8c6b6 JB |
353 | 2004-07-07 Jan Beulich <jbeulich@novell.com> |
354 | Richard Henderson <rth@redhat.com> | |
355 | ||
356 | * varasm.c (assemble_variable): Use assemble_zeros for | |
357 | zero-initialized variables. | |
358 | (categorize_decl_for_section): Honor flag_zero_initialized_in_bss | |
359 | for SECCAT_BSS and SECCAT_TBSS. | |
360 | ||
361 | 2004-07-07 Jan Beulich <jbeulich@novell.com> | |
78a47b1d JB |
362 | |
363 | * varasm.c (asm_output_bss): Don't declare unless BSS_SECTION_ASM_OP. | |
08a8c6b6 JB |
364 | |
365 | * expmed.c (emit_store_flag): Also special-case double-word | |
366 | (in-)equality comparison against -1. | |
884815aa | 367 | |
ff15c351 JB |
368 | * config/i386/i386.c (ix86_gimplify_va_arg): Don't need temporary for |
369 | passing arguments the containers for which are registers. | |
370 | ||
371 | * calls.c (emit_library_call_value_1): Use mode of function parameter | |
372 | rather than that of argument since constants have none. | |
e52a6df5 | 373 | |
beed8fc0 AO |
374 | 2004-07-08 Alexandre Oliva <aoliva@redhat.com> |
375 | ||
376 | Introduce H8SX support. | |
377 | * expr.c (expand_strcpy): Renamed and moved to... | |
378 | * builtins.c (expand_movstr): ... here. Tweak. | |
379 | (expand_builtin_strcpy): Adjust. Use movstr if len can't be | |
380 | computed or has side effects. | |
381 | (expand_builtin_stpcpy): Likewise. Use strcpy if return value is | |
382 | unused, or if mempcpy fails. Adjust the return value in the | |
383 | latter case. Use movstr if everything else fails. | |
384 | * doc/md.texi (movstr): Document. | |
385 | (movmemM, clrmemM): Fix explanation of memory block operands. | |
386 | * config/h8300/h8300.md (stpcpy): Renamed to... | |
387 | (movstr): ... this. Adjust. | |
388 | 2004-07-07 Alexandre Oliva <aoliva@redhat.com> | |
389 | * config/h8300/h8300.md: Rename movstr*, except for movstrict*, to | |
390 | movmem* and clrstr* to clrmem*. | |
391 | 2004-06-27 Alexandre Oliva <aoliva@redhat.com> | |
392 | * config/h8300/h8300.c (h8300_reg_class_from_letter): Map 'D' to | |
393 | GENERAL_REGS, always. | |
394 | (h8300_swap_into_er6, h8300_swap_into_er6): Handle the case of | |
395 | getting the stack pointer as addr. | |
396 | * config/h8300/h8300.h (PREDICATE_CODES): Remove constant rtxes | |
397 | from general_operand_dst. | |
398 | * config/h8300/h8300.md (movmd_internal_normal): New, normal-mode | |
399 | variant of... | |
400 | (movmd_internal): ... this. Add modes to operands. Disparage `D' | |
401 | instead of requiring it to match only before reload. | |
402 | (stpcpy_internal_normal): New, normal-mode variant of... | |
403 | (stpcpy_internal): ... this. Add modes to operands. Disparage | |
404 | `D' instead of requiring it to match only before reload. | |
405 | * config/h8300/h8300-protos.h (h8300_legitimate_address_p): Add | |
406 | mode argument. | |
407 | * config/h8300/h8300.h (GO_IF_LEGITIMATE_ADDRESS): Pass it to... | |
408 | * config/h8300/h8300.c (h8300_legitimate_address_p): Pass it to | |
409 | h8300_get_index. | |
410 | * config/h8300/h8300.md (attr type): Add call. | |
411 | (attr can_delay): If type is call, set it no. | |
412 | (call, call_value): Set type to call. | |
413 | 2004-06-21 Alexandre Oliva <aoliva@redhat.com> | |
414 | * config/h8300/h8300.md (logicalhi3_sn, logicalsi3_sn): New. | |
415 | 2004-06-16 Alexandre Oliva <aoliva@redhat.com> | |
416 | * tree.c (get_narrower): Don't narrow integral types into | |
417 | non-integral types. | |
418 | * config/h8300/h8300.c (h8300_expand_epilogue): Initialize | |
419 | frame_size *before* the first use. | |
420 | * config/h8300/h8300.md (movstrictqi): Reintroduce post-increment | |
421 | on input. | |
422 | (peephole2): Don't widen instructions that push SP. Move | |
423 | decrement of SP to the end of all stm-generating peepholes. | |
424 | 2003-07-24 Richard Sandiford <rsandifo@redhat.com> | |
425 | * config/h8300/h8300.md (insv): Prefer to use AND to clear a bitfield | |
426 | and OR to set it to all ones. | |
427 | 2003-07-24 Richard Sandiford <rsandifo@redhat.com> | |
428 | * config/h8300/h8300.md (can_delay): Default to "no" for bit branches. | |
429 | (call, call_value): Set can_delay to "no". | |
430 | 2003-07-22 Richard Sandiford <rsandifo@redhat.com> | |
431 | * config/h8300/h8300.md (extzv): Make subreg check more robust. | |
432 | 2003-07-21 Richard Sandiford <rsandifo@redhat.com> | |
433 | * config/h8300/h8300.md (*brabit): Remove. | |
434 | * config/h8300/h8300.md (*brabc, *brabs): Remove mode from | |
435 | zero_extract. Use bit_memory_operand as the predicate for | |
436 | operand 1 and 'WU' as the constraint. Check the difference | |
437 | between the base length and the final one when deciding which | |
438 | type of branch to use. | |
439 | 2003-07-21 Richard Sandiford <rsandifo@redhat.com> | |
440 | * config/h8300/h8300.md (extzv): Remove mode from operands 0 and 1. | |
441 | Use convert_move to extend the result for TARGET_H8300SX. Check | |
442 | for QImode memory references. Optimize the case where the | |
443 | destination is a paradoxical subreg. | |
444 | 2003-07-21 Richard Sandiford <rsandifo@redhat.com> | |
445 | * config/h8300/h8300.md (*movsf_h8sx): Add an r <- G alternative. | |
446 | * config/h8300/h8300.md (andqi): Remove bclr from h8sx version. | |
447 | 2003-07-21 Richard Sandiford <rsandifo@redhat.com> | |
448 | * config/h8300/h8300.md: Include mova.md | |
449 | (length_table): Add mova and mova_zero. | |
450 | * config/h8300/h8300.c (print_operand): Handle '%o'. Print a length | |
451 | after all constant addresses for '%R', '%X', '%T' and '%S'. | |
452 | (h8300_mova_length): New function. | |
453 | (h8300_insn_length_from_table): Use it to handle mova and mova_zero. | |
454 | * config/h8300/t-h8300 (mova.md): Generate from genmova.sh. Add to | |
455 | dependencies for s-config, etc. | |
456 | * config/h8300/gemova.sh: New file. | |
457 | * config/h8300/mova.md: Generated. | |
458 | 2003-07-20 Alexandre Oliva <aoliva@redhat.com> | |
459 | * config/h8300/h8300.c (h8300_bitfield_length): New. | |
460 | (nibble_operand): Adjust. | |
461 | (h8300_binary_length): Handle conditional binary op. | |
462 | (h8300_insn_length_from_table): Handle bitfield and bitbranch. | |
463 | * config/h8300/h8300.h: Change constraints W# and Y# to P#>X and | |
464 | P#<X, respectively. The original P is now IP4>X. Introduced P#>0 | |
465 | and P#<0, unused so far. W and Y are now prefixes to multi-letter | |
466 | constraints. WU is introduced as a variant of U that requires a | |
467 | mem, and is therefore considered an EXTRA_MEMORY_CONSTRAINT. | |
468 | * config/h8300/h8300.md (attr type): Added bitbranch. | |
469 | (attr length_table): Added bitfield and bitbranch. | |
470 | (attr length): Compute bitbranch length. | |
471 | (andqi): Separate pattern for H8300SX. Use bfld for loading the | |
472 | least-significant bit of a byte. | |
473 | (brabit, brabc, brabs): New. | |
474 | (insv, extzv): Emit bfst and bfld on H8300SX. | |
475 | (bfld, bfst, seq, sne): New. | |
476 | (bstzhireg, cmpstz, bstz, bistz): New. | |
477 | (cmpcondbset, condbset, cmpcondbclr, condbclr): New. | |
478 | (cmpcondbsetreg, condbsetreg, cmpcondbclrreg, condbclrreg): New. | |
479 | 2003-07-11 Richard Sandiford <rsandifo@redhat.com> | |
480 | * config/h8300/h8300.c (h8sx_binary_memory_operator): New function. | |
481 | (h8sx_unary_memory_operator): New function. | |
482 | * config/h8300/h8300.h (EXTRA_MEMORY_CONSTRAINT): Disable. | |
483 | (PREDICATE_CODES): Add h8sx_{unary,binary}_memory_operator. | |
484 | * config/h8300/h8300.md: Add peepholes to combine reloads and | |
485 | arithmetic insns. | |
486 | 2003-07-10 Richard Sandiford <rsandifo@redhat.com> | |
487 | * config/h8300/h830.md (cmpqi): Use 'i' rather than 'n' in constraints. | |
488 | (*cmphi_h8300hs, *addqi3, *addhi3_h8sx, subhi3): Likewise. | |
489 | (and?i, ior?i, xor?i): Likewise. | |
490 | 2003-07-10 Richard Sandiford <rsandifo@redhat.com> | |
491 | * config/h8300/h8300.c: Move enums and prototypes to head of file. | |
492 | Various whitespace fixes. | |
493 | (h8300_constant_length): New function, split out from... | |
494 | (h8300_displacement_size): ...here. Rename h8300_displacement_length. | |
495 | (h8300_classify_operand): Use IN_RANGE. | |
496 | (h8300_classify_operand): Use h8300_constant_length. | |
497 | (h8300_short_move_mem_p): Tighten size check. | |
498 | (h8sx_mergeable_memrefs_p): Tighten equality check. | |
499 | 2003-06-30 Richard Sandiford <rsandifo@redhat.com> | |
500 | * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Define __H8300SX__ | |
501 | for -msx. | |
502 | * config/h8300/crti.asm: Use .h8300sx or .h8300sxn for -msx code. | |
503 | * config/h8300/crtn.asm: Likewise. | |
504 | * config/h8300/lib1funcs.asm: Likewise. Use 32-bit pointers | |
505 | if __H8300SX__ is defined. | |
506 | 2003-06-27 Richard Sandiford <rsandifo@redhat.com> | |
507 | * config/h8300/h8300-protos.h (h8300_get_index): Add mode parameter. | |
508 | * config/h8300/h8300.h (GO_IF_LEGITIMATE_ADDRESS): Update accordingly. | |
509 | (GO_IF_MODE_DEPENDENT_ADDRESS): Treat POST_DEC, PRE_INC and indexed | |
510 | addresses as mode-dependent. | |
511 | * config/h8300/h8300.c (print_operand_address): Update call to | |
512 | h8300_get_index. | |
513 | (h8300_get_index): Take a mode argument. Rework to fix an | |
514 | earlier misunderstanding. | |
515 | 2003-06-26 Richard Sandiford <rsandifo@redhat.com> | |
516 | * config/h8300/h8300.c (zero_extendqisi2): Force the source operand | |
517 | into a register if TARGET_H8300SX. | |
518 | (*zero_extendqisi2_h8300hs, *extendqisi2_h8300): Disable for | |
519 | TARGET_H8300SX. Also disable related define_splits. | |
520 | (*zero_extendqisi2_h8sx, *extendqisi2_h8sx): New patterns. | |
521 | 2003-06-23 Richard Sandiford <rsandifo@redhat.com> | |
522 | * config/h8300/h8300.c (h8300_rtx_costs): Add h8sx handling. | |
523 | 2003-06-20 Richard Sandiford <rsandifo@redhat.com> | |
524 | * config/h8300/h8300.h (OK_FOR_Z): New macro. | |
525 | (EXTRA_CONSTRAINT_STR): Check it. | |
526 | * config/h8300/h8300.c (h8300_classify_operand): Accept null | |
527 | class arguments. | |
528 | (h8300_insn_length_from_table): Handle LENGTH_TABLE_MOV_IMM4. | |
529 | * config/h8300/h8300.md (length_table): Add mov_imm4. | |
530 | (movqi, movhi): Add Z <- W4 alternatives to h8sx patterns. | |
531 | 2003-06-20 Richard Sandiford <rsandifo@redhat.com> | |
532 | * genattrtab.c (write_eligible_delay): Allow candidate_insn to | |
533 | be a label. | |
534 | * config/h8300/h8300.h (DELAY_SLOT_LENGTH): New macro. | |
535 | * config/h8300/h8300.c (h8300_reorg): New function. | |
536 | (TARGET_MACHINE_DEPENDENT_REORG): Define. | |
537 | * config/h8300/h8300.md (length): Subtract the length of the | |
538 | delay slot from (pc) when checking the range of forward branches. | |
539 | (delay_slot, can_delay): New attributes. | |
540 | (define_delay): Add bra/s handling. | |
541 | (movmd_internal, return_h8sx, *return_1): Set can_delay to no. | |
542 | (jump): Add delayed-branch handling. | |
543 | 2003-06-17 Richard Sandiford <rsandifo@redhat.com> | |
544 | * expr.c (expand_strcpy): New function. | |
545 | * builtins.c (expand_builtin_strcpy): Fall back on expand_strcpy. | |
546 | (expand_builtin_stpcpy): Likewise. | |
547 | * config/h8300/h8300-protos.h (h8sx_split_movmd): Remove. | |
548 | (h8300_swap_into_er6, h8300_swap_out_of_er6): Declare. | |
549 | * config/h8300/h8300.c (h8300_reg_class_from_letter): Tweak 'd' | |
550 | handling to improve register allocation for -fno-omit-frame-pointer. | |
551 | (h8sx_split_movmd): Delete, moving er6 handling into... | |
552 | (h8300_swap_into_er6, h8300_swap_out_of_er6): ...these new functions. | |
553 | * config/h8300/h8300.md (UNSPEC_STPCPY): New unspec constant. | |
554 | (movmd): Add calls to copy_rtx. | |
555 | (movmd_internal): In the second alternative, allow the initial and | |
556 | final destination registers to be different . Update the splitter | |
557 | accordingly. Call h8300_swap_into_er6 and h8300_swap_out_of_er6 | |
558 | instead of h8sx_split_movmd. | |
559 | (stpcpy, movsd): New expanders. | |
560 | (movsd_internal): New define_insn. | |
561 | 2003-06-13 Richard Sandiford <rsandifo@redhat.com> | |
562 | * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Declare. | |
563 | (h8sx_emit_movmd, h8sx_split_movmd): Declare. | |
564 | * config/h8300/h8300.h (reg_class): Add COUNTER_REGS, SOURCE_REGS | |
565 | and DESTINATION_REGS. | |
566 | (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly. | |
567 | (REGNO_REG_CLASS): Map er4, er5 and er6 to the new classes. | |
568 | (REG_CLASS_FROM_LETTER): Use h8300_reg_class_from_letter. | |
569 | (h8300_move_ratio): Declare. | |
570 | (MOVE_RATIO): Use it. | |
571 | * config/h8300/h8300.c (h8300_move_ratio): New variable. | |
572 | (h8300_init_once): Initialize it. | |
573 | (h8300_reg_class_from_letter): New function. | |
574 | (print_operand): Add an 'm' prefix for printing ".b", ".w" or ".l". | |
575 | (h8sx_emit_movmd, h8sx_split_movmd): New functions. | |
576 | * config/h8300/h8300.md (UNSPEC_MOVMD): New unspec constant. | |
577 | (COUNTER_REG, SOURCE_REG, DESTINATION_REG): New register constants. | |
578 | (movstrsi, movmd): New expanders. | |
579 | (movmd_internal): New insn. | |
580 | 2003-06-06 Richard Sandiford <rsandifo@redhat.com> | |
581 | * config/h8300/h8300.h (EXTRA_MEMORY_CONSTRAINT): Define. | |
582 | 2003-06-04 Richard Sandiford <rsandifo@redhat.com> | |
583 | * config/h8300/elf.h (LINK_SPEC): Use -m h8300sxnelf for -msx -mn. | |
584 | * config/h8300/h8300.c (asm_file_start): Use .h8300sxn likewise. | |
585 | 2003-06-03 Richard Sandiford <rsandifo@redhat.com> | |
586 | * config/h8300/h8300.c (nibble_operand): Fix warning. | |
587 | * config/h8300/h8300.md (movstricthi): Set adjust_length to no. | |
588 | (movsi_h8sx): Likewise here and the normal h8sx movhi pattern. | |
589 | (movsf_h8300h): Disable for TARGET_H8300SX. | |
590 | 2003-06-03 Richard Sandiford <rsandifo@redhat.com> | |
591 | * config/h8300/h8300.h (PREDICATE_CODES): Add h8300_ldm_parallel, | |
592 | h8300_stm_parallel and h8300_return_parallel. | |
593 | * config/h8300/h8300.c (h8300_push_pop, h8300_stack_offset_p, | |
594 | h8300_ldm_stm_regno, h8300_ldm_stm_parallel, h8300_ldm_parallel, | |
595 | h8300_stm_parallel, h8300_return_parallel): New functions. | |
596 | (h8300_expand_prologue): Don't enforce ldm/stm register alignment | |
597 | if TARGET_H8300SX. Use h8300_push_pop. | |
598 | (h8300_expand_epilogue): Likewise. Try to merge the return insn | |
599 | and final pop when generating h8sx code. Always emit some form | |
600 | of return insn. | |
601 | * config/h8300/h8300.md: Don't enforce register alignment in | |
602 | stm peepholes if TARGET_H8300SX. | |
603 | (ldm_h8300s, stm_h8300s, return_h8sx): New patterns. | |
604 | (ldm_h8300s_[234], stm_h8300_[234]): Disable. | |
605 | (epilogue): Expect h8300_expand_epilogue to emit a return insn. | |
606 | 2003-06-03 Richard Sandiford <rsandifo@redhat.com> | |
607 | * config/h8300/t-h8300 (MULTILIB_OPTIONS): Add a -msx multilib. | |
608 | (MULTILIB_DIRNAMES): Add a directory for it. | |
609 | (MULTILIB_MATCHES): Delete. | |
610 | 2003-05-28 Richard Sandiford <rsandifo@redhat.com> | |
611 | * final.c (walk_alter_subreg): Handle addresses with subregs | |
612 | inside a ZERO_EXTEND or AND. | |
613 | * config/h8300/h8300-protos.h (h8300_get_index): Declare. | |
614 | * config/h8300/h8300.h (INDEX_REG_CLASS): Set to GENERAL_REGS | |
615 | if TARGET_H8300SX. | |
616 | (GO_IF_LEGITIMATE_ADDRESS): Use h8300_get_index. | |
617 | * config/h8300/h8300.c (print_operand_address): Handle @(dd,RnL.b), | |
618 | @(dd,Rn.w) and @(dd,ERn.L). | |
619 | (h8300_displacement_size): Take the whole address as argument. | |
620 | (h8300_classify_operand, h8300_short_move_mem_p): Adjust accordingly. | |
621 | 2003-05-28 Richard Sandiford <rsandifo@redhat.com> | |
622 | * config/mips/mips-protos.h (h8300_operands_match_p): Declare. | |
623 | (h8sx_mergeable_memrefs_p): Declare. | |
624 | * config/h8300/h8300.h (HAVE_POST_DECREMENT): Define to TARGET_H8300SX. | |
625 | (HAVE_PRE_INCREMENT): Likewise. | |
626 | (GO_IF_LEGITIMATE_ADDRESS): Accept pre/post increment/decrement | |
627 | addresses for TARGET_H8300SX, | |
628 | * config/h8300/h8300.c (print_operand_address): Deal with PRE_INC | |
629 | and POST_DEC. | |
630 | (movb_length_table, movl_length_table): New tables. | |
631 | (movw_length_table): Define to movb_length_table. | |
632 | (h8300_displacement_size): New, split out from... | |
633 | (h8300_classify_address): ...here. Handle pre/post inc/dec. | |
634 | (h8300_short_immediate_length): Allow H8OP_MEM_COMPLEX operands. | |
635 | (h8300_insn_length_from_table): Add cases for movb, movw and movl. | |
636 | (h8sx_mergeable_memrefs_p, h8300_operands_match_p): New functions. | |
637 | (output_plussi): Use add.l #xx:3,Rn and sub.l #xx:3,Rn for h8sx. | |
638 | (compute_plussi_length, compute_plussi_cc): Update accordingly. | |
639 | (h8sx_unary_shift_operator): Get the mode from the operator. | |
640 | (binary_shift_operator): Likewise. | |
641 | * config/h8300/h8300.md: If a peephole2 applies gen_lowpart to | |
642 | a memory reference, check whether the reference is offsettable. | |
643 | (length_table): Add movb, movw and movl. | |
644 | (movqi): Add new h8sx pattern. Don't force one operand to be a | |
645 | register when generating h8sx code. | |
646 | (movhi, movsi, movsf): Likewise. | |
647 | (movstrictqi): Use the length_table attribute. | |
648 | (movstricthi): Likewise. Add h8sx alternative for mov.w #xx:3,Rn. | |
649 | (addqi3): Split into a define_expand and define_insn. Don't accept | |
650 | memory operands in the expander. Use h8300_operands_match_p to | |
651 | check for matching operands in the define_insn. | |
652 | (subqi3, negqi2, one_cmplqi2): Likewise. | |
653 | (add[hs]i3): Don't accept memory operands in the expander. Likewise | |
654 | in any patterns that are unused in h8sx code. In the h8sx patterns, | |
655 | use h8300_operands_match_p to check whether operands match. | |
656 | (sub[hs]i3, and[hi]3, ior[hs]i3, xor[hs]i3, neg[hsi]3, | |
657 | one_cmpl[hs]i3): Likewise. | |
658 | (andqi3, iorqi3, xorqi3): Likewise. Don't call fix_bit_operand | |
659 | in the expander. | |
660 | 2003-05-23 Richard Sandiford <rsandifo@redhat.com> | |
661 | * config/h8300/h8300-protos.h (expand_a_shift): Return a bool. | |
662 | (h8300_insn_length_from_table): Add a second parameter. | |
663 | (output_h8sx_shift): Declare. | |
664 | * config/h8300/h8300.h (OK_FOR_W, OK_FOR_Y): New macros. | |
665 | (EXTRA_CONSTRAINT): Replace with... | |
666 | (EXTRA_CONSTRAINT_STR): ...this. Use OK_FOR_W and OK_FOR_Y. | |
667 | (CONSTRAINT_LEN): Define, returning 2 for 'W' and 'Y'. | |
668 | (PREDICATE_CODES): Add entries for h8sx_unary_shift_operator | |
669 | and h8sx_binary_shift_operator. | |
670 | * config/h8300/h8300.c (two_insn_adds_subs_operand): Return false | |
671 | for TARGET_H8300SX. | |
672 | (bit_operand): Replace use of EXTRA_CONSTRAINT with OK_FOR_U. | |
673 | (bit_memory_operand, fix_bit_operand): Likewise. | |
674 | (h8300_length_table_for_insn): Remove. | |
675 | (h8300_classify_operand): Fix check for 16-bit operands in 32-bit | |
676 | instructions. | |
677 | (h8300_short_immediate_length, h8300_binary_length): New functions. | |
678 | (h8300_insn_length_from_table): Add an opcodes parameter. Rework. | |
679 | (output_plussi): Use sub to add negative constants. | |
680 | (compute_plussi_length): Adjust accordingly. | |
681 | (h8sx_single_shift_type): New enum. | |
682 | (h8sx_single_shift, h8sx_unary_shift_operator, | |
683 | h8sx_binary_shift_operator, output_h8sx_shift): New functions. | |
684 | (expand_a_shift, expand_a_rotate): Emit nothing if the shift is a | |
685 | single h8sx instruction. Return false in this case. | |
686 | * config/h8300/h8300.md (length_table): Add short_immediate. | |
687 | (length): Pass the operand array to h8300_insn_length_from_table. | |
688 | (adjust_length): Assume "no" for insns with a length_table attribute. | |
689 | (*cmphi_h8300hs, cmpsi): Add alternatives for #xx:3. | |
690 | (*addhi3_h8300hs): Don't use for h8sx. | |
691 | (*addhi3_h8sx): New pattern, with alternatives for add.w #xx:3 | |
692 | and sub.w #xx:3. | |
693 | (ashl[qhs]i3, lshr[qhs]i3, ashr[qhs]i3, rotl[qhs]i3): Change operand | |
694 | 1's predicate to nonimmediate_operand. Only skip default expansion | |
695 | if expand_a_shift or expand_a_rotate returns true. Add new patterns | |
696 | for single h8sx shift instructions. | |
697 | 2003-05-22 Alexandre Oliva <aoliva@redhat.com> | |
698 | * config/h8300/h8300.c (nibble_operand): Split out of... | |
699 | (reg_or_nibble_operand): ... this. | |
700 | * config/h8300/h8300.h (PREDICATE_CODES): Added nibble_operand. | |
701 | * config/h8300/h8300.md: (mulqihi3, mulhisi3, umulqihi3, | |
702 | umulhisi3): Introduce expand, and introduce separate insns for | |
703 | sign- or zero-extended REG and already-extended CONST_INT. | |
704 | 2003-05-20 Richard Sandiford <rsandifo@redhat.com> | |
705 | * config/h8300/h8300.c (h8300_unary_length): Fix miscounting. | |
706 | * config/h8300/h8300.md (subqi3): Generalize for h8sx. | |
707 | (subhi3): Likewise. Don't accept immediates for operand 1. | |
708 | Remove the early clobber from second alternative of the h8300s pattern. | |
709 | (subsi3): Generalize for h8sx. Force operand 2 into a register | |
710 | on plain h8300 targets. | |
711 | (subsi3_h8300): Use h8300_dst_operand for consistency with expander. | |
712 | (subsi3_h8300h): Generalize for h8sx. | |
713 | (one_cmplqi2, one_cmplhi2, one_cmplsi2): Likewise. | |
714 | 2003-05-19 Alexandre Oliva <aoliva@redhat.com> | |
715 | * config/h8300/h8300.c (reg_or_nibble_operand): New. | |
716 | * config/h8300/h8300.h (PREDICATE_CODES): Adjust. | |
717 | (TARGET_H8300SXMUL): New. | |
718 | (CONST_OK_FOR_P): New. | |
719 | (CONST_OK_FOR_LETTER_P): Adjust. | |
720 | * config/h8300/h8300.md (mulqihi3, mulhisi3, umulqihi3, | |
721 | umulhisi3): Accept 4-bit immediate on H8SX. | |
722 | (mulhi3, mulsi3, smulsi3_highpart, umulsi3_highpart): New. | |
723 | (udivsi3, divhi3, udivsi3, divsi3): New. | |
724 | 2003-05-19 Richard Sandiford <rsandifo@redhat.com> | |
725 | * config/h8300/h8300-protos.h (h8300_insn_length_from_table): Declare. | |
726 | * config/h8300/h8300.h (OK_FOR_Q): New macro. | |
727 | (EXTRA_CONSTRAINT): Use it to check the 'Q' constraint. | |
728 | (PREDICATE_CODES): Add h8300_src_operand and h8300_dst_operand. | |
729 | Add ADDRESSOF to the bit_operand entry. | |
730 | * config/h8300/h8300.c (h8300_dst_operand): New predicate. | |
731 | (h8300_src_operand): Likewise. | |
732 | (bit_operand): Check nonimmediate_operand rather than general_operand. | |
733 | Accept any nonimmediate_operand in h8sx code. | |
734 | (h8300_and_costs): Initialize operands[1]. | |
735 | (h8300_rtx_costs) <AND>: Return false if the operands aren't valid. | |
736 | (h8300_operand_class): New enum. | |
737 | (h8300_length_table): New typedef. | |
738 | (addb_length_table, addw_length_table, addl_length_table, | |
739 | logicl_length_table): New tables. | |
740 | (logicb_length_table, logicw_length_table): New macros. | |
741 | (h8300_classify_operand, h8300_length_from_table, | |
742 | h8300_length_table_for_insn, h8300_unary_length, | |
743 | h8300_insn_length_from_table): New functions. | |
744 | (output_plussi): Only use adds and subs for register destinations. | |
745 | Disable redundant clause. | |
746 | (compute_plussi_cc): Likewise. | |
747 | (compute_plussi_length): Likewise. Use h8300_length_from_table | |
748 | to work out the length of an insn. | |
749 | (output_logical_op): Only use narrower immediate instructions | |
750 | if the destination is a register. | |
751 | (compute_logical_op_cc): Likewise. | |
752 | (compute_logical_op_length): Likewise. Use h8300_length_from_table. | |
753 | (h8300_adjust_insn_length): Tighten check for reg<->mem moves. | |
754 | * config/h8300/h8300.md (length_table): New attribute. | |
755 | (length): When an instruction has a length_table attribute, use | |
756 | h8300_insn_length_from_table to calculate its default length. | |
757 | (cmpqi): Use h8300_dst_operand for the first operand and | |
758 | h8300_src_operand for the second. | |
759 | (cmphi, *cmphi_h8300hs, cmpsi, negqi2, neghi2, neghi2_h8300h, negsi2, | |
760 | negsi2_h8300h, addqi3, addhi3, *addhi3_h8300, *addhi3_h8300hs, addsi3, | |
761 | addsi_h8300, addsi_h8300h, andhi3, andsi3, iorhi3, | |
762 | iorsi3, xorhi3, xorsi3): Likewise. | |
763 | (andqi3): Use h8300_src_operand for operand 2. Adjust the condition | |
764 | so that it allows any combination of operands for TARGET_H8300SX. | |
765 | (iorqi3, xorqi3): Likewise. | |
766 | (cmpqi): Use the length_table attribute. | |
767 | (*cmphi_h8300hs, cmpsi, addqi, *addhi3_h8300hs, andqi3, iorqi3, | |
768 | xorqi3, negqi2, neghi2_h8300h, negsi2_h8300h): Likewise. | |
769 | (cmpqi): Add 'Q' constraint. | |
770 | (*cmphi_h8300hs, cmpsi, addqi, *addhi3_h8300hs, addsi_h8300h, andqi3, | |
771 | iorqi3, xorqi3, negqi2, neghi2_h8300h, negsi2_h8300h): Likewise. | |
772 | 2003-05-14 Richard Sandiford <rsandifo@redhat.com> | |
773 | * config/h8300/h8300.h (MASK_H8300SX): New macro. | |
774 | (TARGET_H8300S): True for both -ms and -msx. | |
775 | (TARGET_H8300SX): New macro. | |
776 | (TARGET_SWITCHES): Add entries for -msx and -mno-sx. | |
777 | * config/h8300/h8300.c (asm_file_start): Write .h8300sx for -msx. | |
778 | * config/h8300/elf.h (LINK_SPEC): Use -m h8300sxelf for -msx. | |
779 | * config/h8300/t-h8300 (MULTILIB_MATCHES): Use -ms multilibs for -msx. | |
780 | [Temporary change.] | |
781 | 2003-02-28 Alexandre Oliva <aoliva@redhat.com> | |
782 | * config/h8300/h8300.h (SIZE_TYPE, PTRDIFF_TYPE): Use short with | |
783 | 16-bit pointers and 32-bit ints. | |
784 | * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Accept | |
785 | CONST_DOUBLE with mode no wider than SImode. | |
786 | * config/h8300/h8300.md (extendqisi2_h8300): Add constraints for | |
787 | output operand. | |
788 | 2003-02-27 Alexandre Oliva <aoliva@redhat.com> | |
789 | * config/h8300/h8300.c (general_operand_src): Match CONSTANT_P_RTX | |
790 | or SUBREG thereof. | |
791 | * config/h8300/h8300.h (PREDICATE_CODES): Adjust. | |
792 | 2003-02-22 Alexandre Oliva <aoliva@redhat.com> | |
793 | * config/h8300/h8300.c (dosize): Truncate sign * size to Pmode. | |
794 | ||
50c0d3fd AL |
795 | 2004-05-28 Aaron W. LaFramboise <aaronraolete36@aaronwl.com> |
796 | ||
797 | * config.gcc (i[34567]86-*-mingw32*): Enable threads by default. | |
798 | ||
c03e0096 PB |
799 | 2004-07-07 Per Bothner <per@bothner.com> |
800 | ||
801 | * flow.c (attempt_auto_inc): Remove now-redundant PUT_CODE. | |
802 | ||
789a4ea3 MS |
803 | 2004-07-07 Mike Stump <mrs@apple.com> |
804 | ||
805 | * darwin.h (ASM_OUTPUT_LABELREF): Fix -fno-leading-underscore. | |
5b02f0e0 | 806 | * darwin.c (machopic_non_lazy_ptr_name, machopic_stub_name) |
789a4ea3 MS |
807 | (machopic_finish): Likewise. |
808 | ||
d969ee71 RH |
809 | 2004-07-07 Richard Henderson <rth@redhat.com> |
810 | ||
811 | * tree-ssa-dom.c (simplify_switch_and_lookup_avail_expr): Look | |
812 | through any value-preserving cast. | |
813 | ||
6b70713d AO |
814 | 2004-07-07 Alexandre Oliva <aoliva@redhat.com> |
815 | ||
816 | * function.c (assign_parm_find_data_types): Call | |
817 | FUNCTION_ARG_PASS_BY_REFERENCE only if it's defined. | |
818 | ||
31e9eea2 SB |
819 | 2004-07-07 Steven Bosscher <stevenb@suse.de> |
820 | ||
821 | * tree-cfg.c (group_case_labels): Remove case labels that have | |
822 | the same target as the default case. | |
823 | ||
d205c8fd SB |
824 | 2004-07-07 Steven Bosscher <stevenb@suse.de> |
825 | ||
826 | * tree-inline.c (optimize_inline_calls): Set DECL_INLINED_FNS | |
827 | regardless of DECL_LANG_SPECIFIC being present or not. | |
828 | * tree.h (DECL_NUM_STMTS): Purge. | |
829 | ||
41e622a8 AP |
830 | 2004-07-07 Andrew Pinski <apinski@apple.com> |
831 | ||
832 | * configure: Regenerate with the right autoconf. | |
833 | ||
25291055 DE |
834 | 2004-07-07 David Edelsohn <edelsohn@gnu.org> |
835 | ||
836 | * ifcvt.c (total_bb_rtx_cost): New function. | |
837 | (find_if_case_1): Compare rtx_cost of basic block to cost of | |
838 | BRANCH_COST insns. | |
839 | (find_if_case_2): Same. | |
840 | ||
951661a1 EB |
841 | 2004-07-07 Eric Botcazou <ebotcazou@libertysurf.fr> |
842 | ||
843 | PR target/10567 | |
844 | * config/sparc/sparc.c (load_pic_register): Honor flag_delayed_branch. | |
845 | (output_return): Likewise. | |
846 | (output_sibcall): Abort if !flag_delayed_branch. | |
847 | (sparc_function_ok_for_sibcall): Return 0 if !flag_delayed_branch. | |
848 | (emit_and_preserve): New function. | |
849 | (sparc_output_mi_thunk): Use it. Honor flag_delayed_branch. Emit an | |
850 | indirect jump to the thunked-to function if !flag_delayed_branch. | |
851 | * config/sparc/sparc.md (delayed_branch): New attribute. | |
852 | (load_pcrel_sym): Honor flag_delayed_branch. Use above | |
853 | attribute to compute the length of the insn. | |
854 | (goto_handler_and_restore): Likewise. | |
855 | ||
3a18db48 AP |
856 | 2004-07-07 Andrew Pinski <apinski@apple.com> |
857 | ||
5f7b2156 AP |
858 | PR tree-optimization/15777 |
859 | * fold-const.c (fold_single_bit_test): Fold the x^1 expression. | |
860 | ||
3a18db48 AP |
861 | * expr.c (expand_expr_real_1): Fix formating. |
862 | BUFFER_REF and IN_EXPR are dead. | |
863 | * fold-const.c (non_lvalue): BUFFER_REF is dead. | |
864 | * tree-inline.c (estimate_num_insns_1): Likewise. | |
865 | * tree-pretty-print.c (dump_generic_node): BUFFER_REF, | |
866 | IN_EXPR, SET_LE_EXPR, and CARD_EXPR are dead. | |
867 | * tree.def (BUFFER_REF, IN_EXPR, SET_LE_EXPR, CARD_EXPR): Kill. | |
868 | ||
d594623a L |
869 | 2004-07-07 H.J. Lu <hongjiu.lu@intel.com> |
870 | ||
871 | * collect2.c (dump_file): Don't call cplus_demangle if | |
872 | HAVE_LD_DEMANGLE is defined. | |
873 | (main): Pass "--demangle" to ld if no_demangle is not 0 and | |
874 | HAVE_LD_DEMANGLE is defined. Don't set current_demangling_style | |
875 | if HAVE_LD_DEMANGLE is defined. | |
876 | ||
877 | * configure.ac (--with-demangler-in-ld): Added | |
878 | (HAVE_LD_DEMANGLE): Define if ld supports --demangle when | |
879 | --with-demangler-in-ld is used. | |
880 | * config.in: Regenerated. | |
881 | * configure: Likewise. | |
882 | ||
f0517163 RS |
883 | 2004-07-07 Roger Sayle <roger@eyesopen.com> |
884 | ||
885 | * config/rs6000/rs6000.c (struct processor_costs): Add new fields | |
886 | for simple floating point operations "fp", double precision | |
887 | multiplication "dmul", and single and double precision division | |
888 | "sdiv" and "ddiv". Update all CPU variant tables as appropriate. | |
889 | (ppc630_cost): New table split from ppc620_cost, to distinguish | |
890 | differences in floating point latencies. | |
891 | (rs6000_override_options): Use ppc630_cost for PROCESSOR_PPC630. | |
892 | (rs6000_rtx_costs): Add support for single and double precision | |
893 | floating point addition, subtraction, multiplication, division, | |
894 | fused-multiply-add, fused-multiply-sub, negation, absolute value | |
895 | and negative absolute value. Tweak MEM case to use prefered idiom. | |
896 | ||
63b88252 RH |
897 | 2004-07-07 Richard Henderson <rth@redhat.com> |
898 | ||
899 | * tree-flow-inline.h (may_propagate_copy): Move... | |
900 | * tree-ssa-copy.c (may_propagate_copy): ... here. Fail if we | |
901 | attempt to copy between types requiring conversion. | |
902 | * tree-flow.h (may_propagate_copy): Update decl. | |
903 | * tree-ssa-dom.c (cprop_operand): Tidy redundant tests. | |
904 | ||
6c4918da JJ |
905 | 2004-07-07 Jakub Jelinek <jakub@redhat.com> |
906 | ||
907 | * config/i386/i386.c (override_options): Don't set x86_prefetch_sse | |
908 | from -mtune= option. | |
909 | ||
70128ad9 AO |
910 | 2004-07-07 Alexandre Oliva <aoliva@redhat.com> |
911 | ||
912 | * builtins.c: Rename movstr*, except for movstrict*, to | |
913 | movmem* and clrstr* to clrmem*. | |
914 | * expr.c: Likewise. | |
915 | * expr.h: Likewise. | |
916 | * genopinit.c: Likewise. | |
917 | * integrate.c: Likewise. | |
918 | * local-alloc.c: Likewise. | |
919 | * optabs.c: Likewise. | |
920 | * optabs.h: Likewise. | |
921 | * config/alpha/alpha.h: Likewise. | |
922 | * config/alpha/alpha.md: Likewise. | |
923 | * config/arm/arm-protos.h: Likewise. | |
924 | * config/arm/arm.c: Likewise. | |
925 | * config/arm/arm.md: Likewise. | |
926 | * config/avr/avr.md: Likewise. | |
927 | * config/c4x/c4x.c: Likewise. | |
928 | * config/c4x/c4x.md: Likewise. | |
929 | * config/frv/frv.md: Likewise. | |
930 | * config/i386/i386-protos.h: Likewise. | |
931 | * config/i386/i386.c: Likewise. | |
932 | * config/i386/i386.h: Likewise. | |
933 | * config/i386/i386.md: Likewise. | |
934 | * config/i860/i860.c: Likewise. | |
935 | * config/i860/i860.md: Likewise. | |
936 | * config/ip2k/ip2k.md: Likewise. | |
937 | * config/ip2k/libgcc.S: Likewise. | |
938 | * config/ip2k/t-ip2k: Likewise. | |
939 | * config/m32r/m32r.c: Likewise. | |
940 | * config/m32r/m32r.md: Likewise. | |
941 | * config/mcore/mcore.md: Likewise. | |
942 | * config/mips/mips.c: Likewise. | |
943 | * config/mips/mips.md: Likewise. | |
944 | * config/ns32k/ns32k.c: Likewise. | |
945 | * config/ns32k/ns32k.h: Likewise. | |
946 | * config/ns32k/ns32k.md: Likewise. | |
947 | * config/pa/pa.c: Likewise. | |
948 | * config/pa/pa.md: Likewise. | |
949 | * config/pdp11/pdp11.h: Likewise. | |
950 | * config/pdp11/pdp11.md: Likewise. | |
951 | * config/rs6000/rs6000.c: Likewise. | |
952 | * config/rs6000/rs6000.md: Likewise. | |
953 | * config/s390/s390-protos.h: Likewise. | |
954 | * config/s390/s390.c: Likewise. | |
955 | * config/s390/s390.md: Likewise. | |
956 | * config/sh/lib1funcs.asm: Likewise. | |
957 | * config/sh/sh.c: Likewise. | |
958 | * config/sh/sh.md: Likewise. | |
959 | * config/sh/t-sh: Likewise. | |
960 | * config/sparc/sparc.h: Likewise. | |
961 | * config/vax/vax.md: Likewise. | |
962 | * config/xtensa/xtensa.c: Likewise. | |
963 | * config/xtensa/xtensa.md: Likewise. | |
964 | * doc/invoke.texi: Likewise. | |
965 | * doc/md.texi: Likewise. | |
966 | * doc/rtl.texi: Likewise. | |
967 | ||
48b2e0a7 RS |
968 | 2004-07-07 Richard Sandiford <rsandifo@redhat.com> |
969 | ||
970 | PR target/16407 | |
971 | * config/mips/mips-protos.h (mips_declare_common_object): Declare. | |
972 | * config/mips/mips.c (mips_declare_common_object): New function, | |
973 | mostly split out from... | |
974 | (mips_output_aligned_decl_common): ...here. | |
975 | * config/mips/mips.h (ASM_OUTPUT_LOCAL): Remove in favor of... | |
976 | (ASM_OUTPUT_ALIGNED_LOCAL): ...this new definition. | |
977 | * config/mips/iris6.h (ASM_OUTPUT_ALIGNED_LOCAL): Undefine this | |
978 | rather than ASM_OUTPUT_LOCAL. Call mips_declare_common_object. | |
979 | ||
477eff96 JDA |
980 | 2004-07-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
981 | ||
982 | PR c/16392 | |
983 | * function.c (assign_parms): Fix typo from previous change. | |
984 | ||
fc72b380 JM |
985 | 2004-07-07 Jason Merrill <jason@redhat.com> |
986 | ||
987 | PR c++/15815 | |
988 | * doc/extend.texi (C++ Interface): Correct information and | |
989 | discourage use. | |
990 | ||
25069b42 VM |
991 | 2004-07-07 Vladimir Makarov <vmakarov@redhat.com> |
992 | ||
993 | PR target/16130 | |
994 | PR target/16142 | |
995 | PR target/16143 | |
996 | * config/ia64/ia64.c (ia64_dfa_new_cycle): Reset DFA state for asm | |
997 | insn. | |
5b02f0e0 | 998 | |
767dec6b KI |
999 | 2004-07-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> |
1000 | ||
1001 | PR target/1679. | |
1002 | * config/m32r/m32r.c (m32r_function_symbol): New function: | |
1003 | Generate a symbol name RTX with the correct m32r specific flags | |
5b02f0e0 | 1004 | set. |
767dec6b KI |
1005 | (block_move_call): Use new function to generate correct symbol. |
1006 | * config/m32r/m32r-protos.h: Add prototype for new funcion. | |
1007 | * config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Use the new | |
1008 | function. | |
1009 | ||
604a3205 NS |
1010 | 2004-07-07 Nathan Sidwell <nathan@codesourcery.com> |
1011 | ||
1012 | * tree.h (TYPE_BINFO_OFFSET, TYPE_BINFO_VTABLE, | |
1013 | TYPE_BINFO_VIRTUALS, TYPE_BINFO_BASETYPES, | |
1014 | TYPE_BINFO_BASETYPE): Remove. | |
1015 | (BINFO_BASETYPES, BINFO_N_BASETYPES, BINFO_BASETYPE): Rename | |
1016 | to ... | |
1017 | (BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): ... | |
1018 | here. | |
1019 | (BINFO_BASEACCESSES, BINFO_BASEACCESS): Rename to ... | |
1020 | (BINFO_BASE_ACCESSES, BINFO_BASE_ACCESS): ... here. | |
1021 | (BINFO_INHERITANCE_CHAIN): Redocument as it is actually used. | |
1022 | (struct tree_binfo): Rename base_types to base_binfos. | |
1023 | * alias.c (record_component_aliases): Adjust BINFO macros. | |
1024 | * dbxout.c (dbxout_type): Likewise. | |
1025 | * dwarf2out.c (gen_member_die): Likewise. | |
1026 | * sdbout.c (sdbout_one_type): Likewise. | |
1027 | * tree-dump.c (deque_and_dump): Likewise. | |
1028 | * config/i386/i386.c (classify_argument, | |
1029 | contains_128bit_aligned_vector_p): Likewise. | |
1030 | ||
6b66447a NC |
1031 | 2004-07-07 Nick Clifton <nickc@redhat.com> |
1032 | ||
1033 | * config/fr30/fr30.c (fr30_setup_incoming_varargs): Change | |
5b02f0e0 | 1034 | arguments to match TARGET_SETUP_INCOMING_VARARGS prototype. |
6b66447a | 1035 | |
2272d9cf NS |
1036 | 2004-07-07 Nathan Sidwell <nathan@codesourcery.com> |
1037 | ||
1038 | * vec.h: Fix the example use. | |
1039 | ||
84936f6f RH |
1040 | 2004-07-06 Richard Henderson <rth@redhat.com> |
1041 | ||
1042 | * langhooks-def.h (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Remove. | |
1043 | * langhooks.h (struct lang_hooks): Remove gimple_before_inlining. | |
1044 | * tree-inline.c (copy_body_r, setup_one_parameter, | |
1045 | initialize_inlined_parameters, expand_call_inline, | |
1046 | declare_inline_vars): Don't check it. | |
1047 | (expand_calls_inline): Remove old version, rename new version | |
1048 | from gimple_expand_calls_inline. | |
1049 | * tree-optimize.c (execute_gimple): Remove. | |
1050 | (pass_gimple): Don't run anything. | |
1051 | ||
640d429d JM |
1052 | 2004-07-06 Joseph S. Myers <jsm@polyomino.org.uk> |
1053 | ||
1054 | * doc/sourcebuild.texi: Use semicolons instead of commas in | |
1055 | section title. | |
1056 | ||
bfeebecf RH |
1057 | 2004-07-06 Richard Henderson <rth@redhat.com> |
1058 | ||
1059 | * tree-sra.c (struct sra_walk_fns): Revert 2004-07-05 change. | |
1060 | (sra_walk_modify_expr, scan_init): Likewise. | |
1061 | (generate_element_zero): Check visited before scanning children. | |
1062 | (generate_element_init): Set visited on error. | |
1063 | (scalarize_init): Handle generate_element_init failure similar | |
1064 | to use_block_copy. | |
1065 | ||
82b5e52a JM |
1066 | 2004-07-06 Joseph S. Myers <jsm@polyomino.org.uk> |
1067 | ||
1068 | * toplev.h (NO_FRONT_END_DIAG, ATTRIBUTE_GCC_FE_DIAG): Define. | |
1069 | (warning, error, pedwarn, sorry): Use ATTRIBUTE_GCC_FE_DIAG. | |
1070 | ||
b39edae3 RH |
1071 | 2004-07-06 Richard Henderson <rth@redhat.com> |
1072 | ||
1073 | * config/i386/i386.c (legitimize_pic_address): Make static. | |
1074 | (legitimize_address): Handle CONST with TLS operand. | |
1075 | (ix86_expand_move): Don't call legitimize_pic_address directly. | |
1076 | * config/i386/i386-protos.h (legitimize_pic_address): Remove. | |
1077 | ||
7b5effb4 RS |
1078 | 2004-07-06 Roger Sayle <roger@eyesopen.com> |
1079 | ||
1080 | * ifcvt.c (struct noce_if_info): Add a Boolean b_unconditional field. | |
1081 | (noce_try_sign_mask): Tweak rtx_cost check if t is evaluated anyway. | |
1082 | (noce_process_if_block): Initialize if_info.b_unconditional if insn_b | |
1083 | is currently executed unconditionally, i.e. not in "else_bb". | |
1084 | ||
ca4f3d13 SB |
1085 | 2004-07-06 Steven Bosscher <stevenb@suse.de> |
1086 | ||
1087 | * config/alpha/alpha.c (alpha_use_dfa_pipeline_interface): Remove. | |
1088 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
1089 | * config/arm/arm.c (arm_use_dfa_pipeline_interface): Remove. | |
1090 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
1091 | * config/frv/frv.c (frv_use_dfa_pipeline_interface): Remove. | |
1092 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
1093 | * config/i386/i386.c (ia32_use_dfa_pipeline_interface): Remove. | |
1094 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
1095 | * config/ia64/ia64.c (ia64_use_dfa_pipeline_interface): Remove. | |
1096 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
1097 | * config/pa/pa.c (hhpa_use_dfa_pipeline_interface): Remove. | |
1098 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
1099 | * config/sparc/sparc.c (sparc_use_dfa_pipeline_interface): Remove. | |
1100 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
1101 | * config/v850/v850.c (v850_use_dfa_pipeline_interface): Remove. | |
1102 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
1103 | ||
3d3fa3a1 | 1104 | 2004-07-06 Daniel Berlin <dberlin@dberlin.org> |
b89cd06e DB |
1105 | |
1106 | * dojump.c (do_jump): REFERENCE_EXPR is dead. | |
1107 | * expr.c (expand_expr_real_1): Ditto. | |
1108 | * tree-inline.c (estimate_num_insns_1): Ditto. | |
1109 | * tree-pretty-print.c (dump_generic_node): Ditto. | |
1110 | (op_symbol): Ditto. | |
1111 | * tree.def: Ditto. | |
1112 | ||
1113 | 2004-07-06 Daniel Berlin <dberlin@dberlin.org> | |
1114 | ||
3d3fa3a1 DB |
1115 | * tree-ssa-pre.c (reference_node_pool): New pool. |
1116 | (find_or_generate_expression): Class 'r' is okay too. | |
1117 | (create_value_expr_from): Ditto. | |
1118 | (add_to_sets): LHS should not include vuses. | |
1119 | (eliminate): Ditto. | |
1120 | (compute_avail): Reverse ordering of tests. | |
1121 | Valuize INDIRECT_REF as well. | |
b89cd06e | 1122 | |
60e20b90 RS |
1123 | 2004-07-06 Richard Sandiford <rsandifo@redhat.com> |
1124 | ||
1125 | PR rtl-optimization/16380 | |
1126 | * loop.c (check_dbra_loop): Sink comparison instructions if they | |
1127 | do something other than set cc0. | |
1128 | ||
37bcf311 JW |
1129 | 2004-07-06 James E Wilson <wilson@specifixinc.com> |
1130 | ||
1131 | * doc/interface.texi (longjmp and automatic variables): Delete | |
1132 | paragraph recommending taking the address of a variable. | |
1133 | ||
a064479c NS |
1134 | 2004-07-06 Nathan Sidwell <nathan@codesourcery.com> |
1135 | ||
1136 | * vec.h (VEC_embedded_alloc): Remove. | |
1137 | (VEC_embedded_size, VEC_embedded_init): New. | |
1138 | (VEC_alloc, VEC_reserve, VEC_safe_push, VEC_safe_insert): Add | |
1139 | MEM_STAT_INFO. | |
1140 | (VEC_truncate): New. | |
1141 | (vec_p_reserve, vec_o_reserve): Add MEM_STAT_DECL. | |
1142 | (vec_embedded_alloc): Remove. | |
1143 | * vec.c (vec_p_reserve, vec_o_reserve): Add MEM_STAT_DECL, adjust. | |
1144 | (vec_embedded_alloc): Remove. | |
1145 | ||
9bc81313 MM |
1146 | 2004-07-06 Mark Mitchell <mark@codesourcery.com> |
1147 | ||
1148 | * Makefile.in (langhooks.o): Do not depend on gt-langhooks.h. | |
1149 | (gt-langhooks.h): Remove. | |
1150 | ||
88a2ae20 GH |
1151 | 2004-07-06 George Helffrich <george@gly.bris.ac.uk> |
1152 | ||
1153 | * xcoffout.h (DBX_FINISH_SYMBOL): Fix typo. | |
1154 | ||
ef573211 EB |
1155 | 2004-07-06 Eric Botcazou <ebotcazou@libertysurf.fr> |
1156 | ||
1157 | * config/sparc/sparc.c (get_pc_symbol): Rename into | |
1158 | add_pc_to_pic_symbol. | |
1159 | (get_pc_symbol_name): Rename into add_pc_to_pic_symbol_name. | |
1160 | (load_pic_register): Account for previous changes. | |
1161 | Use reg_names. Don't create the label twice. | |
1162 | * config/sparc/sparc.md (UNSPEC_GET_PC): Rename into | |
1163 | UNSPEC_LOAD_PCREL_SYM. | |
1164 | (get_pc): Rename into load_pcrel_sym. Add predicate to | |
1165 | operands. Remove condition. | |
1166 | ||
809e3e7f NS |
1167 | 2004-07-06 Nathan Sidwell <nathan@codesourcery.com> |
1168 | ||
2da8f023 NS |
1169 | * dbxout.c (dbxout_type): Don't test whether the binfo slot of |
1170 | RECORD, UNION & QUAL_UNION is actually a binfo. | |
1171 | ||
809e3e7f NS |
1172 | * tree.h (TREE_VIA_VIRTUAL): Rename to ... |
1173 | (BINFO_VIRTUAL_P): ... here. Require TREE_BINFO only. | |
1174 | (BINFO_MARKED, BINFO_FLAG_[16]): New binfo flags. | |
1175 | * dbxout.c (dbxout_type): Use BINFO_VIRTUAL_P. | |
1176 | * dwarf2out.c (add_data_member_location_attribute): Likewise. | |
1177 | (gen_inheritance_die): Likewise. | |
1178 | * tree-dump.c (deque_and_dump): Likewise. | |
1179 | * doc/c-tree.texi (Binfos): Add under reconstruction note. | |
1180 | ||
4404cf7d SB |
1181 | 2004-07-06 Steven Bosscher <stevenb@suse.de> |
1182 | ||
1183 | * config/mcore/mcore.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): | |
1184 | Define. | |
1185 | * config/mcore/mcore.md: Model memory latency with a simple DFA | |
1186 | pipeline description instead of a define_function_unit. | |
1187 | ||
5377d5ba RK |
1188 | 2004-07-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
1189 | ||
1190 | * langhooks-def.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Extra arg. | |
1191 | * langhooks.h (var_mod_type_p): Likewise. | |
1192 | * c-decl.c (finish_decl): Add extra arg to variably_modified_type_p. | |
1193 | * expr.c (count_type_elements): Properly handle return from | |
1194 | array_type_nelts and properly test for overflow. | |
1195 | * gimplify.c (gimplify_init_constructor): Properly handle return | |
1196 | from array_type_nelts. | |
1197 | (gimplify_addr_expr): Remove redundant clear of TREE_SIDE_EFFECTS. | |
1198 | * integrate.c (copy_decl_for_inlining): Correct comments. | |
1199 | * tree-inline.c (remap_decl): Update comments, remove dead code, | |
1200 | and copy DECL_FIELD_OFFSET and DECL_QUALIFIER, if they exist. | |
1201 | (remap_type): Only remap if variably modified by vars in function | |
1202 | being inlined. | |
1203 | (copy_body_r): Use compatible_type langhooks to see when can fold. | |
1204 | (setup_one_parameter): Don't remap type. | |
1205 | (inline_forbidden_p_1): Add arg to variably_modified_type_p. | |
1206 | * tree.c (recompute_tree_invarant_for_addr_expr): Properly | |
1207 | compute TREE_INVARIANT for decl case. | |
1208 | (find_var_from_fn): New function. | |
1209 | (variably_modified_type_p): Add arg and call new function. | |
1210 | * tree.h (variably_modified_type_p): Add extra arg. | |
5b02f0e0 | 1211 | |
6109c659 EB |
1212 | 2004-07-05 Eric Botcazou <ebotcazou@libertysurf.fr> |
1213 | ||
1214 | * config/sparc/sparc.md (nonlocal_goto): Remove disabled code. | |
1215 | (goto_handler_and_restore_v9): Delete disabled insn. | |
1216 | (goto_handler_and_restore_v9_sp64): Likewise. | |
1217 | ||
09b52670 RS |
1218 | 2004-07-05 Roger Sayle <roger@eyesopen.com> |
1219 | ||
1220 | * calls.c (load_register_parameters): Call expand_shift instead | |
1221 | of expand_binop with ashl_optab (or other shift optab) directly. | |
1222 | * expr.c (emit_group_load, emit_group_store): Likewise. | |
1223 | * function.c (assign_parm_setup_block): Likewise. | |
1224 | * stmt.c (shift_return_value): Likewise. | |
1225 | ||
7682ef83 JJ |
1226 | 2004-07-05 Jakub Jelinek <jakub@redhat.com> |
1227 | ||
1228 | * expr.c (expand_assignment): Disable the bitfield += optimizations. | |
1229 | ||
f5829576 JM |
1230 | 2004-07-05 Joseph S. Myers <jsm@polyomino.org.uk> |
1231 | ||
1232 | * doc/sourcebuild.texi: Revert previous patch. | |
1233 | ||
8f99553f JM |
1234 | 2004-07-05 Joseph S. Myers <jsm@polyomino.org.uk> |
1235 | ||
1236 | * c-decl.c, config/m32r/m32r.c, expr.c, optabs.c: Don't check | |
1237 | TARGET_MEM_FUNCTIONS. | |
1238 | * system.h: Poison TARGET_MEM_FUNCTIONS. | |
1239 | * libfuncs.h (LTI_bcopy, LTI_bcmp, LTI_bzero, bcopy_libfunc, | |
1240 | bcmp_libfunc, bzero_libfunc): Remove. | |
1241 | * optabs.c (init_obtabs): Don't set bcopy_libfunc, bcmp_libfunc or | |
1242 | bzero_libfunc. | |
1243 | * doc/tm.texi (TARGET_MEM_FUNCTIONS): Remove. | |
1244 | * doc/standards.texi: Don't mention calling BSD string functions. | |
1245 | * doc/invoke.texi: Likewise. Mention that memmove may be called. | |
1246 | * config/vax/t-memfuncs: New. | |
1247 | * config/memcmp.c, config/memcpy.c, config/memmove.c, | |
1248 | config/memset.c: New. | |
1249 | * config/pdp11/t-pdp11 (LIB2FUNCS_EXTRA): Use these files. | |
1250 | * config.gcc (vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*): Use | |
1251 | vax/t-memfuncs. | |
1252 | * config/alpha/alpha.h, config/arc/arc.h, config/arm/arm.h, | |
1253 | config/avr/avr.h, config/c4x/c4x.h, config/cris/aout.h, | |
1254 | config/elfos.h, config/gnu.h, config/h8300/h8300.h, | |
1255 | config/i386/gas.h, config/ia64/ia64.h, config/interix.h, | |
1256 | config/ip2k/ip2k.h, config/lynx-ng.h, config/m32r/m32r.h, | |
1257 | config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h, | |
1258 | config/netbsd.h, config/openbsd.h, config/pa/pa.h, | |
1259 | config/rs6000/rs6000.h, config/rtems.h, config/s390/s390.h, | |
1260 | config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h, | |
1261 | config/svr3.h: Don't define TARGET_MEM_FUNCTIONS. | |
1262 | ||
b6448565 RH |
1263 | 2004-07-05 Richard Henderson <rth@redhat.com> |
1264 | ||
1265 | * function.c (assign_parm_setup_reg): Properly rename variables in | |
1266 | FUNCTION_ARG_CALLEE_COPIES section. | |
1267 | ||
c31b8e1b ZW |
1268 | 2004-07-05 Zack Weinberg <zack@codesourcery.com> |
1269 | ||
1270 | * tree-mudflap.c: Include cgraph.h. | |
1271 | (mf_init_extern_trees): Rename to mudflap_init. Export. | |
1272 | Rewrite to create synthetic declarations instead of looking | |
1273 | up declarations from mf-runtime.h. | |
1274 | (mf_make_builtin, mf_make_cache_struct_type): New functions. | |
1275 | (mf_cache_shift_decl, mf_cache_mask_decl, mf_unregister_fndecl): | |
1276 | Correct commentary. | |
1277 | (execute_mudflap_function_decls, mudflap_register_call): | |
1278 | Don't call mf_init_extern_trees. | |
1279 | (mudflap_finish_file): Use cgraph_build_static_cdtor. | |
1280 | ||
1281 | * tree-mudflap.h: Update prototypes. | |
1282 | * c-mudflap.c: Delete file. | |
1283 | * c-common.c: Include tree-mudflap.h. | |
1284 | (c_common_nodes_and_builtins): Call mudflap_init if appropriate. | |
1285 | * Makefile.in: Remove all references to c-mudflap.o. | |
1286 | Update dependencies. | |
1287 | ||
5dbf8812 JDA |
1288 | 2004-07-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
1289 | ||
1290 | * pa.md (prefetch, prefetch_32, prefetch_64): Only allow short | |
1291 | displacements with the spatial-locality cache-control completer. | |
1292 | ||
6de66680 ZW |
1293 | 2004-07-05 Zack Weinberg <zack@codesourcery.com> |
1294 | ||
1295 | * langhooks.c: Don't include gt-langhooks.h. | |
1296 | (var_labelno): Delete. | |
1297 | (lhd_set_decl_assembler_name): Do not append a distinguishing | |
1298 | number to file-scope internal-linkage declarations for the first | |
1299 | input file, even if they have DECL_CONTEXT set. Use DECL_UID of | |
1300 | the declaration itself (if at block scope), or its containing | |
1301 | TRANSLATION_UNIT_DECL (if at file scope) for the distinguishing | |
1302 | number. | |
1303 | ||
1304 | * opts.c (cur_in_fname): New global. | |
1305 | * opts.h: Declare it. | |
1306 | * tree.c: Include opts.h. | |
1307 | (make_node_stat): If creating a TRANSLATION_UNIT_DECL, give it | |
1308 | DECL_UID equal to cur_in_fname. | |
1309 | (copy_node_stat): Do not change DECL_UID when copying a | |
1310 | TRANSLATION_UNIT_DECL. | |
1311 | (build_common_tree_nodes): Adjust next_decl_uid to reserve the | |
1312 | range 0 .. num_in_fnames-1 for TRANSLATION_UNIT_DECLs. | |
1313 | ||
1314 | * c-decl.c (c_static_assembler_name): Delete. | |
1315 | * c-tree.h (c_static_assembler_name): Delete prototype. | |
1316 | * c-lang.c, objc/objc-lang.c: Don't override | |
1317 | LANG_HOOKS_SET_DECL_ASSEMBLER_NAME. | |
1318 | ||
1319 | * Makefile.in (tree.o): Update dependencies. | |
1320 | (GTFILES): Remove langhooks.c. | |
1321 | ||
ab0e8f66 RS |
1322 | 2004-07-05 Roger Sayle <roger@eyesopen.com> |
1323 | ||
1324 | * fold-const.c (fold) <TRUNC_MOD_EXPR>: Optimize unsigned modulus | |
1325 | by a power of two into a bit-wise AND, i.e. "X % C" as "X & (C-1)". | |
1326 | Normalize "X % C" as "X % -C" for signed modulus and negative C. | |
1327 | Optimize "X % -Y" as "X % Y" for signed modulus. | |
1328 | <EQ_EXPR>: Recursively call "fold" when transforming "(X % Y) == 0" | |
1329 | into "((unsigned) X % Y) == 0". | |
1330 | ||
22e9e201 JM |
1331 | 2004-07-05 Joseph S. Myers <jsm@polyomino.org.uk> |
1332 | ||
1333 | * sourcebuild.texi (Config Fragments): Use @comma{} in | |
1334 | cross-reference to section title. | |
1335 | ||
8963a517 RK |
1336 | 2004-07-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
1337 | ||
48eb4e53 RK |
1338 | * tree.h (DECL_SEEN_IN_BIND_EXPR_P): New macro. |
1339 | * gimplify.c (gimple_add_tmp_var, gimplify_bind_expr): Use it. | |
1340 | (gimplify_target_expr, gimplify_expr): Likewise. | |
1341 | (copy_if_shared_r): No longer need special case for BIND_EXPR. | |
1342 | (unshare_body, unvisit_body): Only look at nested if BODY_P is | |
1343 | whole function. | |
1344 | (gimplify_compound_lval): See if we can strip any useless conversion. | |
1345 | (gimplify_modify_expr, gimplify_modify_expr_to_memcpy): Take size | |
1346 | from RHS, not LHS. | |
1347 | (gimplify_modify_expr_to_memset): Likewise. | |
1348 | (gimplify_expr, case CONSTRUCTOR): Handle use as statement. | |
1349 | * tree-inline.c (setup_one_parameter): Use DECL_SEEN_IN_BIND_EXPR_P. | |
1350 | (declare_inline_vars): Likewise. | |
1351 | (walk_type_fields): New function. | |
1352 | (walk_tree): Use it. | |
1353 | * tree-nested.c (create_tmp_var_for): Show seen in BIND_EXPR. | |
6de66680 | 1354 | |
402a3dec RK |
1355 | * tree-sra.c (struct sra_walk_fns): Init function now returns bool. |
1356 | (sra_walk_modify_expr): Allow init function to fail. | |
1357 | (scan_init): Now returns bool. | |
1358 | (generate_element_init): If can't understand INIT, return false. | |
1359 | (scalarize_init): Return false if generate_element_init does. | |
6de66680 | 1360 | |
2709efd8 RK |
1361 | * tree-pretty-print.c (dump_generic_node, case ARRAY_TYPE): Properly |
1362 | print bounds. | |
1363 | ||
ebd5a208 RK |
1364 | * expr.c (expand_expr_real_1, case SWITCH_EXPR): Don't check against |
1365 | bounds if bounds aren't constant. | |
1366 | ||
6f70e46e | 1367 | * tree-cfg.c (verify_expr): Use CHECK_OP in binary case. |
50b04185 | 1368 | |
8963a517 RK |
1369 | * function.c, langhooks-def.h, langhooks.h: Move max_size hook |
1370 | to type hooks; remove bogus PARAMS. | |
1371 | ||
95b4aca6 NS |
1372 | 2004-07-05 Nathan Sidwell <nathan@codesourcery.com> |
1373 | ||
1374 | * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Use TYPE_LANG_SLOT_1. | |
1375 | * dwarf2out.c (add_data_member_location_attribute): Check for | |
1376 | TREE_BINFO. | |
1377 | * tree.c (tree_node_kinds): Add "binfos". | |
1378 | (binfo_lang_slots): New. | |
1379 | (make_node_stat): Add TREE_BINFO. | |
1380 | (make_tree_binfo_stat): New. | |
1381 | (tree_node_structure): Add TREE_BINFO. | |
1382 | * tree.def (TREE_BINFO): New. | |
1383 | * tree.h (REC_OR_UNION_CHECK): Rename to ... | |
1384 | (RECORD_OR_UNION_CHECK): ... here. | |
1385 | (NOT_RECORD_OR_UNION_CHECK): New. | |
1386 | (TRE_VIA_VIRTUAL): Allow TREE_LIST or TREE_BINFO. | |
1387 | (TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD): Adjust for | |
1388 | RECORD_OR_UNION_CHECK. | |
1389 | (TYPE_BINFO): Use RECORD_OR_UNION_CHECK. | |
1390 | (TYPE_LANG_SLOT_1): New. | |
1391 | (BINFO_TYPE, BINFO_OFFSET, BINFO_VTABLE, BINFO_VIRTUALS, | |
1392 | BINFO_BASETYPES, TYPE_BINFO_BASETYPES, BINFO_VPTR_FIELD, | |
1393 | BINFO_BASEACCESSES, BINFO_INHERITANCE_CHAIN): Adjust. | |
1394 | (BINFO_ELTS): Remove. | |
1395 | (BINFO_LANG_SLOT): New. | |
1396 | (struct tree_binfo): New. | |
1397 | (binfo_lang_slots): Declare. | |
1398 | (enum tree_node_structure_enum): Add TS_BINFO. | |
1399 | (union tree_node): Add binfo. | |
1400 | (make_tree_binfo_stat): Declare. | |
1401 | (make_tree_binfo): New. | |
1402 | (enum tree_node_kind): Add binfo_kind. | |
6de66680 | 1403 | |
95b4aca6 NS |
1404 | * objc/objc-act.c (start_class, objc_declare_protocols, |
1405 | start_protocols): Use TYPE_LANG_SLOT_1. | |
1406 | * objc/objc-act.h (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): Rename | |
1407 | to ... | |
1408 | (CLASS_LANG_SLOT_ELTS, PROTOCOL_LANG_SLOT_ELTS): ... here. | |
1409 | (CLASS_IVARS, CLASS_RAW_IVARS, CLASS_STATIC_TEMPLATE, | |
1410 | CLASS_CATEGORY_LIST, CLASS_PROTOCOL_LIST, CLASS_OWN_IVARS, | |
1411 | PROTOCOL_LIST, PROTOCOL_FORWARD_DECL): Use TYPE_LANG_SLOT_1. | |
1412 | ||
acf8677f SB |
1413 | 2004-07-05 Steven Bosscher <stevenb@suse.de> |
1414 | ||
1415 | * rtl.h (struct rtx_def): Remove the integrated flag. | |
1416 | Use the return_val flag for MEM_SCALAR_P. | |
1417 | Reshuffle and update flags in CLEAR_RTX_FLAGS. | |
1418 | ||
e0ec4c3b RS |
1419 | 2004-07-05 Richard Sandiford <rsandifo@redhat.com> |
1420 | ||
1421 | PR target/16357 | |
1422 | * config/mips/mips.c (mips_block_move_straight): Pass BLKmode memrefs | |
1423 | to mips_expand_unaligned_load, mips_expand_unaligned_store, and | |
1424 | move_by_pieces. | |
1425 | ||
feb61729 JZ |
1426 | 2004-07-05 Josef Zlomek <zlomekj@suse.cz> |
1427 | ||
1428 | * var-tracking.c: Fix some comments. | |
1429 | (frame_stack_adjust): New. | |
1430 | (vt_stack_adjustments): Init stack_adjust of entry block to | |
1431 | minus stack adjustment of function prologue. | |
1432 | (adjust_stack_reference): Do not adjust if adjustment == 0. | |
1433 | (compute_bb_dataflow): Use plus_constant instead of gen_rtx_PLUS. | |
1434 | (emit_notes_in_bb): Likewise. | |
1435 | (vt_add_function_parameters): Do not adjust locations of | |
1436 | function arguments. | |
1437 | (vt_initialize): Compute the stack adjustment of function | |
1438 | prologue and offset the initial "location" of frame_base_decl | |
1439 | from the stack pointer after prologue. | |
1440 | ||
6071dc7f RH |
1441 | 2004-07-04 Richard Henderson <rth@redhat.com> |
1442 | ||
1443 | * function.c (struct assign_parm_data_all): New. | |
1444 | (struct assign_parm_data_one): New. | |
1445 | (assign_parms_initialize_all, assign_parms_augmented_arg_list, | |
1446 | assign_parm_find_data_types, assign_parms_setup_varargs, | |
6de66680 | 1447 | assign_parm_find_entry_rtl, assign_parm_is_stack_parm, |
6071dc7f RH |
1448 | assign_parm_find_stack_rtl, assign_parm_adjust_entry_rtl, |
1449 | assign_parm_adjust_stack_rtl, assign_parm_setup_block_p, | |
1450 | assign_parm_setup_block, assign_parm_setup_reg, | |
1451 | assign_parm_setup_stack, assign_parms_unsplit_complex): Split from ... | |
1452 | (assign_parms): ... here. | |
1453 | ||
6b416da1 DB |
1454 | 2004-07-04 Daniel Berlin <dberlin@dberlin.org> |
1455 | ||
1456 | * tree-ssa-pre.c (bb_value_sets): phi_gen, tmp_gen, new_sets | |
1457 | now are bitmap_set_t's. | |
1458 | (bitmap_insert_into_set): No point in inserting the value if | |
1459 | it's invariant. | |
1460 | (bitmap_set_contains): New function. | |
6de66680 | 1461 | (bitmap_set_replace_value): Add comment on why we do it |
6b416da1 DB |
1462 | this way. |
1463 | (set_contains): Removed. | |
1464 | (bitmap_set_subtract_from_value_set): New name of | |
1465 | set_subtract now that it's arguments are two different | |
1466 | types of sets. | |
1467 | Update callers. | |
1468 | (bitmap_find_leader): Change algorithm used. | |
1469 | (find_or_generate_expression): Update use of functions for new | |
1470 | bitmap sets. | |
1471 | (create_expression_by_pieces): Ditto. | |
1472 | (insert_aux): Ditto. | |
1473 | (insert): Ditto. | |
1474 | (add_to_sets): Ditto. | |
1475 | (init_pre): Ditto. | |
1476 | (execute_pre): Ditto. | |
1477 | (compute_avail): Ditto. | |
1478 | Also ignore virtual phis. | |
1479 | ||
b8ff6ca0 RS |
1480 | 2004-07-04 Richard Sandiford <rsandifo@redhat.com> |
1481 | ||
1482 | * combine.c (simplify_comparison): Fix comment typo. | |
1483 | ||
6244b14e EB |
1484 | 2004-07-04 Eric Botcazou <ebotcazou@libertysurf.fr> |
1485 | ||
1486 | * config/sparc/sparc.c (SIBCALL_SLOT_EMPTY_P): Rename | |
1487 | into LEAF_SIBCALL_SLOT_RESERVED_P after negation. | |
1488 | (eligible_for_sibcall_delay): Adjust use of SIBCALL_SLOT_EMPTY_P. | |
1489 | (output_restore): Change parameter from 'insn' to 'pat'. | |
1490 | (output_return): Adjust call to output_restore. | |
1491 | (output_sibcall): Adjust use of SIBCALL_SLOT_EMPTY_P. | |
1492 | Adjust call to output_restore. | |
1493 | ||
0188c218 NB |
1494 | 2004-07-04 Neil Booth <neil@duron.akihabara.co.uk> |
1495 | ||
1496 | * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_COMMON): Define __unix__ | |
1497 | and assert system is bsd. | |
1498 | ||
b3583df6 RS |
1499 | 2004-07-04 Richard Sandiford <rsandifo@redhat.com> |
1500 | ||
1501 | * config/mips/mips.h (MASK_DEBUG_C, TARGET_DEBUG_C_MODE): Delete. | |
1502 | (TARGET_SWITCHES): Remove -mdebugc. | |
1503 | * config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu) | |
1504 | (sltu, sleu): Remove TARGET_DEBUG_C_MODE handling. | |
1505 | (seq_[sd]i, sne_[sd]i, sge_[sd]i, sle_[sd]i_reg, sgeu_[sd]i) | |
1506 | (sle_[sd]i_reg): Delete. | |
1507 | ||
78c21202 SB |
1508 | 2004-07-04 Steven Bosscher <stevenb@suse.de> |
1509 | ||
1510 | * config/iq2000/iq2000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): | |
1511 | Define. | |
1512 | * config/iq2000/iq2000.md: Translate old pipeline description to an | |
1513 | equivalent new one. | |
1514 | ||
06a9b53f RS |
1515 | 2004-07-04 Roger Sayle <roger@eyesopen.com> |
1516 | ||
1517 | * tree-ssa-ccp.c (set_rhs): Change function to return a bool. | |
1518 | Ensure the replacement rhs is valid gimple before performing | |
1519 | the substitution. Return false if these sanity checks fail. | |
1520 | (fold_stmt): Only set changed to true, if set_rhs returns true. | |
1521 | (execute_fold_all_builtins): Only call modify_stmt if set_rhs | |
1522 | succeeds. | |
1523 | ||
1ec7a978 RH |
1524 | 2004-07-04 Richard Henderson <rth@redhat.com> |
1525 | ||
1526 | PR c/16348 | |
1527 | * c-typeck.c (c_finish_loop): Don't clear cond for cond_is_first loops. | |
1528 | ||
343a6100 MM |
1529 | 2004-07-04 Mark Mitchell <mark@codesourcery.com> |
1530 | ||
1531 | * configure.ac (ranlib_flags): New variable. | |
1532 | * Makefile.in (RANLIB_FLAGS): New variable. | |
1533 | (libbackend.a): Use it. | |
1534 | * configure: Regenerated. | |
1535 | ||
b75941cb RS |
1536 | 2004-07-04 Roger Sayle <roger@eyesopen.com> |
1537 | ||
1538 | * ifcvt.c (noce_try_sign_mask): Call emit_store_flag to generate | |
1539 | a "sign mask" instead of using ashr_optab directly. | |
1540 | ||
a09d4744 NB |
1541 | 2004-07-04 Neil Booth <neil@duron.akihabara.co.uk> |
1542 | ||
1543 | * doc/cpp.texi: Don't document what we do for ill-formed expressions. | |
1544 | * doc/cppopts.texi: Clarify processing of command-line defines. | |
1545 | ||
b25c17bc GP |
1546 | 2004-07-04 Gerald Pfeifer <gerald@pfeifer.com> |
1547 | ||
1548 | * doc/contrib.texi (Contributors): Adjust link for GNU Classpath. | |
1549 | ||
8fff4fc1 RH |
1550 | 2004-07-04 Richard Henderson <rth@redhat.com> |
1551 | ||
1552 | * rtl.def (ADDRESSOF): Remove. | |
1553 | * alias.c (rtx_equal_for_memref_p): Don't handle addressof. | |
1554 | (find_base_term, memrefs_conflict_p): Likewise. | |
1555 | * cse.c (fixed_base_plus_p, find_best_addr: Likewise. | |
1556 | (fold_rtx, cse_insn, set_live_p): Likewise. | |
1557 | * dwarf2out.c (mem_loc_descriptor): Likewise. | |
1558 | (add_location_or_const_value_attribute): Likewise. | |
1559 | * emit-rtl.c (copy_insn_1): Likewise. | |
1560 | * explow.c (memory_address): Likewise. | |
1561 | * expmed.c (store_split_bit_field): Likewise. | |
1562 | * expr.c (expand_expr_real_1): Likewise. | |
1563 | * function.c (instantiate_decl | |
1564 | (instantiate_virtual_regs_1, fix_lexical_addr): Likewise. | |
1565 | * genrecog.c (preds, validate_pattern): Likewise. | |
1566 | * integrate.c (copy_rtx_and_substitute): Likewise. | |
1567 | * recog.c (general_operand, register_operand): Likewise. | |
1568 | (memory_address_p): Likwise. | |
1569 | * reload1.c (eliminate_regs, elimination_effects): Likewise. | |
1570 | * rtl.c (copy_rtx): Likewise. | |
1571 | * rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise. | |
1572 | (rtx_addr_can_trap_p, nonzero_address_p, address_cost): Likewise. | |
1573 | * rtlhooks.c (gen_lowpart_general): Likewise. | |
1574 | * stmt.c (expand_asm_operands): Likewise. | |
1575 | * web.c (entry_register, replace_ref, web_main): Likewise. | |
1576 | * config/alpha/alpha.c (input_operand, alpha_legitimate_address_p, | |
1577 | alpha_expand_block_move, alpha_expand_block_clear): Likewise. | |
1578 | * config/arm/arm.c (thumb_rtx_costs): Likewise. | |
1579 | * config/c4x/c4x.c (c4x_valid_operands): Likewise. | |
1580 | * config/frv/frv.c (move_destination_operand, move_source_operand, | |
1581 | condexec_dest_operand, condexec_source_operand, | |
1582 | condexec_memory_operand): Likewise. | |
1583 | * config/h8300/h8300.h (PREDICATE_CODES): Likewise. | |
1584 | * config/ia64/ia64.c (general_xfmode_operand): Likewise. | |
1585 | (destination_xfmode_operand): Likewise. | |
1586 | * config/mips/mips.h (PREDICATE_CODES): Likewise. | |
1587 | * config/mn10300/mn10300.c (mn10300_address_cost_1): Likewise. | |
1588 | * config/s390/s390.c (general_s_operand): Likewise. | |
1589 | * config/s390/s390.md (mov*): Likewise. | |
1590 | * config/sparc/sparc.h (PREDICATE_CODES): Likewise. | |
1591 | ||
1592 | * c-typeck.c (c_mark_addressable): Don't put_var_into_stack. | |
1593 | * expr.c (expand_expr_real_1): Likewise. | |
1594 | * stmt.c (expand_decl): Likewise. | |
1595 | * config/c4x/c4x.c (c4x_expand_builtin): Likewise. | |
1596 | ||
1597 | * function.c (struct fixup_replacement, struct insns_for_mem_entry, | |
1598 | postponed_insns, put_var_into_stack, put_reg_into_stack, | |
1599 | schedule_fixup_var_refs, fixup_var_refs, find_fixup_replacement, | |
1600 | fixup_var_refs_insns, fixup_var_refs_insns_with_hash, | |
1601 | fixup_var_refs_insn, fixup_var_refs_1, fixup_memory_subreg, | |
1602 | walk_fixup_memory_subreg, fixup_stack_1, optimize_bit_field, | |
1603 | gen_mem_addressof, flush_addressof, put_addressof_into_stack, | |
1604 | purge_bitfield_addressof_replacements, purge_addressof_replacements, | |
1605 | purge_addressof_1, insns_for_mem_hash, insns_for_mem_comp, | |
6de66680 | 1606 | struct insns_for_mem_walk_info, insns_for_mem_walk, |
8fff4fc1 RH |
1607 | compute_insns_for_mem, is_addressof, purge_addressof, setjmp_protect, |
1608 | setjmp_protect_args): Remove. | |
1609 | (push_function_context_to): Don't handle var_refs_queue. | |
1610 | (pop_function_context_from, free_after_compilation): Likewise. | |
1611 | (instantiate_virtual_regs): Don't handle parm_reg_stack_loc. | |
1612 | (assign_parms, allocate_struct_function): Likewise. | |
1613 | (use_register_for_decl): New. | |
1614 | (expand_function_end): Don't setjmp_protect. | |
1615 | * function.h (struct emit_status): Update commentary. | |
1616 | (struct function): Remove x_max_parm_reg, x_parm_reg_stack_loc. | |
1617 | (max_parm_reg, parm_reg_stack_loc): Remove. | |
1618 | * passes.c (DFI_addressof): Remove. | |
1619 | (dump_file_info): Remove addressof. | |
1620 | (rest_of_handle_addressof): Remove. | |
1621 | (rest_of_compilation): Don't call it. | |
1622 | * rtl.h (ADDRESSOF_REGNO, ADDRESSOF_DECL): Remove. | |
1623 | * stmt.c (expand_decl): Use use_register_for_decl. | |
1624 | * tree.h: Update decls. | |
1625 | * web.c (mark_addressof): Remove. | |
1626 | * doc/invoke.texi (-dF): Remove. | |
1627 | ||
68d22aa5 RH |
1628 | 2004-07-03 Richard Henderson <rth@redhat.com> |
1629 | ||
1630 | * config/ia64/ia64.c (spill_xfmode_operand): Use assign_stack_temp | |
1631 | instead of gen_mem_addressof. | |
1632 | * config/ia64/ia64.md (movxf): Use assign_stack_temp to handle | |
1633 | TImode output register. | |
1634 | ||
bdecd334 RH |
1635 | 2004-07-03 Richard Henderson <rth@redhat.com> |
1636 | ||
1637 | PR tree-optimization/16341 | |
1638 | * tree-sra.c (sra_walk_function): Increment to next stmt before | |
1639 | processing the current stmt. | |
1640 | (sra_insert_after): Always use BSI_SAME_STMT. | |
1641 | ||
ca8afd0b RH |
1642 | 2004-07-03 Richard Henderson <rth@redhat.com> |
1643 | ||
1644 | * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Don't fold | |
1645 | fp plus with minus. | |
1646 | ||
614ed70a JM |
1647 | 2004-07-03 Joseph S. Myers <jsm@polyomino.org.uk> |
1648 | ||
1649 | * tree.c (type_hash_eq): Allow TYPE_MIN_VALUE which compares equal | |
1650 | with tree_int_cst_equal. | |
1651 | ||
fa978426 AS |
1652 | 2004-07-03 Andreas Schwab <schwab@suse.de> |
1653 | ||
1654 | * config/ia64/ia64.md: Define new attribute "empty". | |
1655 | (prologue_use, nop_x, insn_group_barrier): Set it. | |
1656 | ||
1657 | * config/ia64/ia64.c (ia64_reorg): When looking for trailing call | |
1658 | skip over "empty" insns. | |
1659 | ||
e30bb772 | 1660 | 2004-07-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
51fa2e5f | 1661 | |
83e113ae RK |
1662 | * tree-inline.c (initialize_inlined_parameters): Pass proper function |
1663 | context to gimplify_body. | |
1664 | (walk_tree): Don't walk into types twice. | |
1665 | (walk_tree, case POINTER_TYPE): Deal with mutually recursive pointers. | |
1666 | ||
51fa2e5f | 1667 | * tree-sra.c (generate_element_init): Remove any useless conversions. |
6de66680 | 1668 | |
73d6ddef RK |
1669 | * gimplify.c (gimplify_conversion): Remove stripping useless |
1670 | conversions from here. | |
1671 | (gimplify_expr): Put it here, in place of call to STRIP_MAIN_TYPE_NOPS. | |
1672 | (gimplify_modify_expr_to_memcpy, gimplify_variable_sized_compare): | |
1673 | Unshare before substituting PLACEHOLDER_EXPR. | |
1674 | (gimplify_modify_expr_to_memset): Likewise. | |
1675 | Pass address of TO to memset, not TO itself. | |
1676 | (gimplify_init_constructor): Make copy of OBJECT so we have it each | |
1677 | time we make an expression (to match a PLACEHOLDER_EXPR). | |
1678 | ||
580d124f RK |
1679 | * tree-ssa.c (tree_ssa_useless_type_conversion): Also look at |
1680 | VIEW_CONVERT_EXPR and NON_LVALUE_EXPR. | |
1681 | * tree-ssa-ccp.c (fold_stmt): Call just STRIP_USELESS_TYPE_CONVERSION. | |
1682 | * tree-ssa-dom.c (local_fold): Likewise. | |
1683 | ||
e30bb772 RK |
1684 | * langhooks-def.h (LANG_HOOKS_TYPE_MAX_SIZE): New langhook. |
1685 | * langhooks.h (strct lang_hooks): New field type_max_size. | |
1686 | * function.c (assign_temp): Call it. | |
1687 | ||
52c27e16 SB |
1688 | 2004-07-03 Steven Bosscher <stevenb@suse.de> |
1689 | ||
1690 | * config/sh/sh.c (sh_use_dfa_interface): Add TARGET_SH1. | |
1691 | * config/sh/sh.md: Convert the SH1 pipeline description to | |
1692 | a DFA model. | |
1693 | ||
9aaabf8a ZW |
1694 | 2004-07-02 Zack Weinberg <zack@codesourcery.com> |
1695 | ||
1696 | * c-decl.c (struct c_binding): Remove contour field; add | |
1697 | depth, invisible, nested fields. | |
1698 | (B_IN_SCOPE, B_IN_CURRENT_SCOPE, B_IN_FILE_SCOPE) | |
1699 | (B_IN_EXTERNAL_SCOPE): New convenience macros. | |
1700 | (bind): Add invisible and nested arguments. Initialize | |
1701 | new fields of struct c_binding; adjust loop scanning for | |
1702 | insertion point. | |
1703 | (free_binding_and_advance): Clear structure with memset. | |
1704 | (pop_scope): Adjust to match. Set DECL_CONTEXT on everything | |
1705 | in file scope, even if it's in external scope too. | |
1706 | (pushdecl): Adjust to match. Create invisible file-scope | |
1707 | declarations for block-scope forward declarations of static functions. | |
1708 | (pushtag, warn_if_shadowing, pushdecl_top_level, implicitly_declare) | |
1709 | (undeclared_variable, lookup_label, declare_label, define_label) | |
1710 | (lookup_tag, lookup_name, lookup_name_in_scope, builtin_function) | |
1711 | (c_make_fname_decl, store_parm_decls_newstyle, identifier_global_value) | |
1712 | (store_parm_decls_oldstyle): Adjust to match. | |
1713 | (diagnose_mismatched_decls): Correct handling of linkage clashes. | |
1714 | (merge_decls): No need to copy C_DECL_IN_EXTERNAL_SCOPE. | |
1715 | ||
1716 | * c-tree.h (C_DECL_IN_EXTERNAL_SCOPE): Delete. | |
1717 | (C_DECL_DECLARED_BUILTIN, C_DECL_REGISTER): Slide down one. | |
1718 | ||
82c82743 RH |
1719 | 2004-07-02 Richard Henderson <rth@redhat.com> |
1720 | ||
1721 | * c-decl.c (grokdeclarator): Don't frob current_function_decl | |
1722 | around variable_size. | |
1723 | (set_decl_nonlocal): Remove. | |
1724 | (store_parm_decls): Add stmts for pending sizes. | |
1725 | * calls.c (calls_function, calls_function_1): Remove. | |
1726 | (precompute_arguments): Don't call it. | |
1727 | * cfgexpand.c (set_save_expr_context): Remove. | |
1728 | (tree_expand_cfg): Don't call it. | |
1729 | * dwarf2out.c (add_bound_info): Don't handle SAVE_EXPR. | |
1730 | (dwarf2out_finish): Likewise. | |
1731 | * expr.c (emit_block_move): Adjust addresses to BLKmode. | |
1732 | (store_constructor): Don't pre-evaluate SAVE_EXPR. | |
1733 | (safe_from_p): Don't queue SAVE_EXPRs. | |
1734 | (expand_expr_real_1 <case SAVE_EXPR>): Rewrite to expect, | |
1735 | or build plain VAR_DECLs. | |
1736 | * fold-const.c (twoval_comparison_p): Don't look at SAVE_EXPR_RTL. | |
1737 | (fold): Likewise. | |
1738 | (fold_checksum_tree): Don't special-case SAVE_EXPR. | |
1739 | * function.c (free_after_compilation): Don't clear x_save_expr_regs. | |
1740 | (put_var_into_stack): Don't handle SAVE_EXPR. | |
1741 | (gen_mem_addressof): Likewise. | |
1742 | * function.h (struct function): Remove x_save_expr_regs. | |
1743 | (save_expr_regs): Remove. | |
1744 | * gengtype.c (adjust_field_tree_exp): Don't special-case SAVE_EXPR. | |
1745 | * print-tree.c (print_node): Don't dump SAVE_EXPR_NOPLACEHOLDER. | |
1746 | * stor-layout.c (variable_size): Don't set it. | |
1747 | (force_type_save_exprs, force_type_save_exprs_1): Remove. | |
1748 | * tree-inline.c (remap_save_expr): Remove fn argument. Update | |
1749 | all callers. Don't set SAVE_EXPR_CONTEXT. | |
1750 | * tree-inline.h (remap_save_expr): Update decl. | |
1751 | * tree.c (save_expr): Update build size. | |
1752 | (first_rtl_op): Don't handle SAVE_EXPR. | |
1753 | (unsave_expr_1, contains_placeholder_p): Likewise. | |
1754 | (decl_function_context): Likewise. | |
1755 | * tree.def (SAVE_EXPR): Remove args 1 and 2. | |
1756 | * tree.h (SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL): Remove. | |
1757 | (SAVE_EXPR_NOPLACEHOLDER, SAVE_EXPR_PERSISTENT_P): Remove. | |
1758 | ||
962e6e00 JM |
1759 | 2004-07-03 Joseph S. Myers <jsm@polyomino.org.uk> |
1760 | ||
1761 | * doc/bugreport.texi, doc/configterms.texi, doc/contrib.texi, | |
1762 | doc/contribute.texi, doc/cpp.texi, doc/cppinternals.texi, | |
1763 | doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/md.texi, | |
1764 | doc/portability.texi, doc/tree-ssa.texi, doc/trouble.texi: Avoid | |
1765 | some first-person references and patronizing comments. Based on | |
1766 | printed manual. | |
1767 | * doc/invoke.texi: Don't reference fortran@gnu.org. | |
1768 | * doc/trouble.texi (Warning when a non-void function value is | |
1769 | ignored): Rewrite. From Russ Allbery and Chris Devers. | |
1770 | ||
bdee7684 DB |
1771 | 2004-07-02 Daniel Berlin <dberlin@dberlin.org) |
1772 | ||
1773 | * tree-ssa-pre.c (bitmap_set_t): New. | |
1774 | (bb_value_sets): avail_out is now a bitmap_set_t. | |
1775 | (bitmap_find_leader): New function. | |
1776 | (bitmap_value_insert_into_set): Ditto. | |
1777 | (bitmap_set_copy): Ditto. | |
1778 | (bitmap_value_replace_in_set): Ditto. | |
1779 | (bitmap_set_contains_value): Ditto. | |
1780 | (bitmap_set_new): Ditto. | |
1781 | (bitmap_set_pool): New pool. | |
1782 | (find_or_generate_expression): Use bitmap_ functions on AVAIL sets. | |
1783 | (insert_aux): Ditto. | |
1784 | (add_to_sets): Ditto. | |
1785 | (compute_avail): Ditto | |
1786 | (eliminate): Ditto. | |
1787 | (init_pre): Ditto. | |
1788 | (fini_pre): Ditto. | |
1789 | (execute_pre): Ditto. | |
1790 | ||
8b897cfa RS |
1791 | 2004-07-02 Roger Sayle <roger@eyesopen.com> |
1792 | ||
1793 | * config/rs6000/rs6000.c (struct processor_costs): New structure | |
1794 | used to hold instruction latencies/sizes for processor types. | |
1795 | (rs6000_cost): New global variable pointing to current CPU's costs. | |
1796 | (rs6000_override_options): Initialize rs6000_cost to point to the | |
1797 | appropriate cost table based upon rs6000_cpu and optimize_size. | |
1798 | (rs6000_rtx_costs): Use rs6000_cost to avoid hardcoding processor | |
1799 | timings inline. | |
1800 | ||
8a0aa06e RH |
1801 | 2004-07-02 Richard Henderson <rth@redhat.com> |
1802 | ||
1803 | * expmed.c (make_tree): Don't use SET_DECL_RTL. | |
1804 | ||
902054ef SB |
1805 | 2004-07-02 Steven Bosscher <stevenb@suse.de> |
1806 | ||
1807 | * tree-flow.h (bb_ann_d): Remove ephi_nodes field. | |
1808 | ||
229aa352 RH |
1809 | 2004-07-01 Richard Henderson <rth@redhat.com> |
1810 | ||
1811 | * config/alpha/alpha.c (struct machine_function): Add gp_save_rtx. | |
1812 | (alpha_gp_save_rtx): Use assign_stack_local instead of | |
1813 | gen_mem_addressof. | |
1814 | ||
8260c194 RH |
1815 | 2004-07-01 Richard Henderson <rth@redhat.com> |
1816 | ||
1817 | * config/alpha/alpha.c (struct alpha_rtx_cost_data): Add int_div. | |
1818 | (alpha_rtx_cost_data): Update to match. | |
1819 | (alpha_rtx_cost_size): New. | |
1820 | (alpha_rtx_costs): Honor optimize_size. | |
1821 | ||
6429e3be RH |
1822 | 2004-07-01 Richard Henderson <rth@redhat.com> |
1823 | ||
8a0aa06e RH |
1824 | * gimple-low.c (lower_function_body): Don't reset_block_changes here. |
1825 | * cfgexpand.c (tree_expand_cfg): Do it here. | |
1826 | * config/alpha/alpha.c (alpha_output_mi_thunk_osf): And here. | |
1827 | * config/ia64/ia64.c (ia64_output_mi_thunk): And here. | |
1828 | * config/mips/mips.c (mips_output_mi_thunk): And here. | |
1829 | * config/rs6000/rs6000.c (rs6000_output_mi_thunk): And here. | |
1830 | * config/sh/sh.c (sh_output_mi_thunk): And here. | |
1831 | * config/sparc/sparc.c (sparc_output_mi_thunk): And here. | |
6429e3be | 1832 | |
4dfa0342 RH |
1833 | 2004-07-01 Richard Henderson <rth@redhat.com> |
1834 | ||
1835 | * tree.def (RTL_EXPR): Remove. | |
1836 | * c-typeck.c (lvalue_p): Don't handle it. | |
1837 | * expr.c (safe_from_p): Likewise. | |
1838 | (expand_expr_real_1): Likewise. | |
9aaabf8a | 1839 | * fold-const.c (non_lvalue, operand_equal_p, fold): Likewise. |
4dfa0342 RH |
1840 | (fold_checksum_tree, tree_expr_nonnegative_p): Likewise. |
1841 | * gengtype.c (adjust_field_tree_exp): Likewise. | |
1842 | * stmt.c (warn_if_unused_value): Likewise. | |
1843 | * tree-gimple.c (recalculate_side_effects): Likewise. | |
1844 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
1845 | * tree.c (make_node_stat, first_rtl_op, unsave_expr_1): Likewise. | |
1846 | (unsafe_for_reeval, stabilize_reference, build1_stat): Likewise. | |
1847 | * tree.h (RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, RTL_EXPR_ALT_RTL): Remove. | |
1848 | ||
1849 | * stmt.c (struct stmt_status): Remove x_last_expr_type, | |
1850 | x_last_expr_value, x_last_expr_alt_rtl, x_expr_stmts_for_value. | |
1851 | (last_expr_type, last_expr_value, last_expr_alt_rtl): Remove. | |
1852 | (expand_expr_stmt): Merge with expand_expr_stmt_value. Remove | |
1853 | all the bits that tracked last_expr. | |
1854 | (expand_end_bindings): Don't track last_expr. | |
1855 | (expand_start_stmt_expr, expand_end_stmt_expr): Remove. | |
1856 | (clear_last_expr): Remove. | |
1857 | (expand_asm): Don't call it. | |
1858 | (expand_asm_operands, expand_end_cond): Likewise. | |
1859 | (expand_naked_return, expand_null_return_1): Likewise. | |
1860 | * c-typeck.c (c_begin_compound_stmt): Likewise. | |
1861 | * cfgexpand.c (expand_block): Use expand_expr_stmt. | |
1862 | * expr.c (expand_expr_real_1): Likewise. | |
1863 | * tree.h: Update prototypes. | |
1864 | ||
1865 | * function.h (struct sequence_stack): Remove sequence_rtl_expr. | |
1866 | (struct emit_status): Remove sequence_rtl_expr. | |
1867 | (struct function): Remove x_rtl_expr_chain. | |
1868 | (seq_rtl_expr, rtl_expr_chain): Remove. | |
1869 | * function.c (struct temp_slot): Remove rtl_expr. | |
1870 | (assign_stack_temp_for_type): Don't set it. | |
1871 | (free_temp_slots, pop_temp_slots): Don't check it. | |
1872 | (free_after_compilation): Don't clear x_rtl_expr_chain. | |
1873 | (fixup_var_refs): Don't search it. | |
1874 | (preserve_rtl_expr_result, free_temps_for_rtl_expr): Remove. | |
1875 | * emit-rtl.c (start_sequence): Don't use sequence_rtl_expr | |
1876 | or seq_rtl_expr. | |
1877 | (push_topmost_sequence): Likewise. | |
1878 | (end_sequence, init_emit): Likewise. | |
1879 | (start_sequence_for_rtl_expr): Remove. | |
1880 | * expmed.c (make_tree): Build a VAR_DECL instead of an RTL_EXPR. | |
1881 | * rtl.h (preserve_rtl_expr_result): Remove. | |
1882 | ||
f6fe65dc KH |
1883 | 2004-07-02 Kazu Hirata <kazu@cs.umass.edu> |
1884 | ||
1885 | * ifcvt.c, modulo-sched.c, tree-alias-common.c, tree-sra.c, | |
1886 | tree-ssa-copy.c, tree-ssa-dom.c, tree-ssa-pre.c: Fix comment | |
1887 | typos. | |
1888 | ||
656c7a3a AL |
1889 | 2004-07-02 Aaron W. LaFramboise <aaronraolete36@aaronwl.com> |
1890 | ||
1891 | * gcc.c (STANDARD_STARTFILE_PREFIX_1): Define. | |
1892 | (STANDARD_STARTFILE_PREFIX_2): Define. | |
1893 | (standard_startfile_prefix_1): Initialize to | |
1894 | STANDARD_STARTFILE_PREFIX_1. | |
1895 | (standard_startfile_prefix_2): Initialize to | |
1896 | STANDARD_STARTFILE_PREFIX_2. | |
1897 | * config/i386/mingw32.h (MD_STARTFILE_PREFIX): Remove. | |
1898 | (STANDARD_STARTFILE_PREFIX_1): Define. | |
1899 | (STANDARD_STARTFILE_PREFIX_2): Define. | |
1900 | * doc/tm.texi (STANDARD_STARTFILE_PREFIX_1): Document. | |
1901 | (STANDARD_STARTFILE_PREFIX_2): Document. | |
1902 | ||
78cc4167 RH |
1903 | 2004-07-01 Richard Henderson <rth@redhat.com> |
1904 | ||
8a0aa06e RH |
1905 | * tree-sra.c (sra_walk_expr): Don't maybe_lookup_element_for_expr |
1906 | in order to disable scalarization. Instead set a flag and wait | |
1907 | for a candidate decl. | |
78cc4167 | 1908 | |
2eac577f JM |
1909 | 2004-07-01 Joseph S. Myers <jsm@polyomino.org.uk> |
1910 | ||
1911 | * doc/cppinternals.texi, doc/install.texi, doc/invoke.texi, | |
1912 | doc/md.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: | |
1913 | Use terminology "testsuite" and "enumerated". | |
1914 | ||
1bac3811 RH |
1915 | 2004-07-01 Richard Henderson <rth@redhat.com> |
1916 | ||
1917 | * dwarf2out.c (reg_save): Use INVALID_REGNUM. | |
1918 | (dwarf2out_reg_save, dwarf2out_return_save): Likewise. | |
1919 | (initial_return_save): Likewise. | |
1920 | (flush_queued_reg_saves): Remap register numbers. | |
1921 | (dwarf2out_return_reg): Likewise. | |
1922 | ||
8e6b96d3 RK |
1923 | 2004-07-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
1924 | ||
1e748a2b RK |
1925 | * gimplify.c (gimplify_one_sizepos): Don't do anything if any VAR_DECL. |
1926 | ||
8e6b96d3 RK |
1927 | * tree-pretty-print.c (dump_generic_node, case ARRAY_REF): Use |
1928 | access functions for lower bound and element size and only output | |
1929 | if lower bound nonzero or element size not same as that of type. | |
1930 | (dump_generic_node, case COMPONENT_REF): Use access func. for offset. | |
1931 | ||
9b61c478 PB |
1932 | 2004-07-01 Paolo Bonzini <bonzini@gnu.org> |
1933 | ||
1934 | * c-pretty-print.c (pp_c_postfix_expression): Fix pasto. | |
1935 | ||
d70dc103 PB |
1936 | 2004-07-01 Per Bothner <per@bothner.com> |
1937 | ||
1938 | * final.c (final): Fix typo reported by Aaron W. LaFramboise. | |
1939 | ||
60ba25bf JJ |
1940 | 2004-07-01 Jakub Jelinek <jakub@redhat.com> |
1941 | ||
1942 | * expr.c (expand_assignment): Optimize bitfld += cst for 1 bit | |
1943 | bitfields as well. STRIP_NOPS from src operand and PLUS_EXPR's | |
1944 | first operand. Don't optimize if the bitfield is volatile. | |
1945 | ||
bd74419f PB |
1946 | 2004-07-01 Paolo Bonzini <bonzini@gnu.org> |
1947 | ||
1948 | * c-pretty-print.c (pp_c_postfix_expression): Handle | |
1949 | floating-point comparison operators. | |
1950 | (pp_c_expression): Pass floating-point comparison | |
1951 | operators to pp_c_postfix_expression. | |
1952 | ||
aec53add RS |
1953 | 2004-07-01 Roger Sayle <roger@eyesopen.com> |
1954 | ||
1955 | * simplify-rtx.c (simplify_binary_operation) <PLUS, MINUS>: Use | |
1956 | rtx_cost instead of "had_mult" to determine whether the transformed | |
1957 | expression is cheaper than the original. | |
1958 | ||
3c0cb5de JQ |
1959 | 2004-07-01 Jerry Quinn <jlquinn@optonline.net> |
1960 | ||
1961 | * alias.c (get_alias_set, canon_rtx, get_addr, | |
1962 | nonoverlapping_memrefs_p, nonlocal_referenced_p_1, memory_modified_1): | |
1963 | Use MEM_P. | |
1964 | * builtins.c (expand_builtin_prefetch, expand_builtin_profile_func, | |
1965 | expand_builtin): Likewise. | |
1966 | * calls.c (expand_call, emit_library_call_value_1, store_one_arg): | |
9aaabf8a | 1967 | Likewise. |
3c0cb5de JQ |
1968 | * combine.c (can_combine_p, combinable_i3pat, try_combine, |
1969 | find_split_point, combine_simplify_rtx, simplify_set, make_extraction, | |
1970 | rtx_equal_for_field_assignment_p, gen_lowpart_for_combine, | |
1971 | record_dead_and_set_regs_1, get_last_value_validate, | |
1972 | mark_used_regs_combine, move_deaths, unmentioned_reg_p_1): Likewise. | |
1973 | * cse.c (check_dependence, canon_hash, equiv_constant, | |
1974 | gen_lowpart_if_possible, cse_insn, invalidate_from_clobbers, | |
1975 | cse_around_loop, cse_check_loop_start, cse_set_around_loop, | |
1976 | count_reg_usage): Likewise. | |
1977 | * cselib.c (rtx_equal_for_cselib_p, add_mem_for_addr, cselib_lookup, | |
1978 | cselib_invalidate_mem, cselib_invalidate_rtx, cselib_record_set, | |
1979 | cselib_record_sets): Likewise. | |
1980 | * dbxout.c (PARM_PASSED_IN_MEMORY, dbxout_symbol, | |
1981 | dbxout_symbol_location, dbxout_parms, dbxout_reg_parms): Likewise. | |
1982 | * ddg.c (mark_mem_use, mark_mem_store, rtx_mem_access_p): Likewise. | |
1983 | * df.c (df_uses_record): Likewise. | |
1984 | * dojump (do_jump): Likewise. | |
1985 | * dwarf2out.c (stack_adjust_offset, mem_loc_descriptor, | |
1986 | loc_descriptor_from_tree, rtl_for_decl_location, add_bound_info, | |
1987 | decl_start_label): Likewise. | |
1988 | * emit-rtl.c (gen_complex_constant_part, gen_highpart, | |
1989 | operand_subword, change_address_1, make_safe_from): Likewise. | |
1990 | * explow.c (break_out_memory_refs, copy_all_regs, validize_mem, | |
1991 | stabilize, force_not_mem): Likewise. | |
1992 | * expmed.c (store_bit_field, store_split_bit_field, extract_bit_field, | |
1993 | expand_mult_const, expand_divmod, emit_store_flag): Likewise. | |
1994 | * expr.c (convert_move, convert_modes, emit_block_move, | |
1995 | emit_group_load, emit_group_store, clear_storage, emit_move_insn, | |
1996 | emit_move_insn_1, expand_assignment, store_expr, | |
1997 | store_constructor_field, store_constructor, store_field, | |
1998 | force_operand, safe_from_p, expand_expr_real_1, expand_increment): | |
9aaabf8a | 1999 | Likewise. |
3c0cb5de JQ |
2000 | * final.c (cleanup_subreg_operands, alter_subreg, |
2001 | get_mem_expr_from_op): Likewise. | |
2002 | * flow.c (notice_stack_pointer_modification_1, | |
2003 | init_propagate_block_info, insn_dead_p, mark_set_1, mark_used_regs): | |
9aaabf8a | 2004 | Likewise. |
3c0cb5de JQ |
2005 | * function.c (mark_temp_addr_taken, preserve_temp_slots, |
2006 | preserve_rtl_expr_result, put_var_into_stack, fixup_var_refs_1, | |
2007 | optimize_bit_field, flush_addressof, purge_addressof_1, | |
2008 | instantiate_decl, instantiate_virtual_regs_1, assign_parms, | |
2009 | setjmp_protect, setjmp_protect_args, fix_lexical_addr, | |
2010 | keep_stack_depressed): Likewise. | |
2011 | * ifcvt.c (noce_try_cmove_arith, noce_try_abs, noce_operand_ok, | |
2012 | noce_process_if_block, find_memory): Likewise. | |
2013 | * integrate.c (subst_constants, allocate_initial_values): Likewise. | |
2014 | * local-alloc.c (validate_equiv_mem_from_store, memref_referenced_p, | |
2015 | update_equiv_regs): Likewise. | |
2016 | * loop.c (scan_loop, prescan_loop, note_addr_stored, check_store, | |
2017 | maybe_eliminate_biv_1, find_mem_in_note_1): Likewise. | |
2018 | * optabs.c (expand_abs, emit_unop_insn): Likewise. | |
2019 | * passes.c (rest_of_handle_final): Likewise. | |
2020 | * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands, | |
2021 | move2add_note_store): Likewise. | |
2022 | * ra-build.c (detect_remat_webs): Likewise. | |
2023 | * ra-debug.c (dump_static_insn_cost): Likewise. | |
2024 | * ra-rewrite.c (slots_overlap_p, insert_stores): Likewise. | |
2025 | * recog.c (validate_change, apply_change_group, cancel_changes, | |
2026 | validate_replace_rtx_1, general_operand, register_operand, | |
2027 | nonmemory_operand, push_operand, pop_operand, memory_operand, | |
2028 | indirect_operand, asm_operand_ok, offsettable_memref_p, | |
2029 | offsettable_nonstrict_memref_p, constrain_operands, | |
2030 | store_data_bypass_p): Likewise. | |
2031 | * reg-stack.c (subst_stack_regs_pat): Likewise. | |
2032 | * regclass.c (record_operand_costs, scan_one_insn, record_reg_classes, | |
2033 | copy_cost, reg_scan_mark_refs): Likewise. | |
2034 | * regmove.c (optimize_reg_copy_3, stack_memref_p, | |
2035 | combine_stack_adjustments_for_block): Likewise. | |
2036 | * regrename.c (copyprop_hardreg_forward_1): Likewise. | |
2037 | * reload.c (can_reload_into, push_reload, decompose, immune_p, | |
2038 | find_reloads, find_reloads_address, find_reloads_address_1, | |
2039 | reg_overlap_mentioned_for_reload_p, refers_to_mem_for_reload_p, | |
2040 | find_equiv_reg): Likewise. | |
2041 | * reload1.c (reload, eliminate_regs, eliminate_regs_in_insn, | |
2042 | reload_as_needed, choose_reload_regs, emit_input_reload_insns, | |
2043 | do_input_reload, emit_reload_insns, gen_reload, delete_output_reload, | |
2044 | delete_address_reloads): Likewise. | |
2045 | * resource.c (mark_referenced_resources): Likewise. | |
2046 | * rtlanal.c (get_jump_table_offset, count_occurrences, | |
2047 | reg_referenced_p, reg_set_p, set_of_1, set_noop_p, | |
2048 | reg_overlap_mentioned_p, note_uses, replace_regs, nonzero_bits1, | |
2049 | num_sign_bit_copies1): Likewise. | |
2050 | * rtlhooks.c (gen_lowpart_general): Likewise. | |
2051 | * sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise. | |
2052 | * sdbout.c (PARM_PASSED_IN_MEMORY, sdbout_symbol, | |
2053 | sdbout_toplevel_data, sdbout_parms, sdbout_reg_parms, | |
2054 | sdbout_global_decl): Likewise. | |
2055 | * simplify-rtx.c (simplify_subreg): Likewise. | |
2056 | * stmt.c (expand_asm_operands, expand_expr_stmt_value, expand_decl, | |
2057 | expand_anon_union_decl, expand_end_case_type): Likewise. | |
2058 | * unroll.c (calculate_giv_inc): Likewise. | |
2059 | * var-tracking.c (stack_adjust_offset_pre_post, | |
2060 | bb_stack_adjust_offset, track_expr_p, count_uses, add_uses, | |
2061 | add_stores, compute_bb_dataflow, vt_get_decl_and_offset, | |
2062 | vt_add_function_parameters): Likewise. | |
2063 | * varasm.c (make_var_volatile, notice_global_symbol, | |
2064 | assemble_external, decode_addr_const, mark_weak, | |
2065 | default_encode_section_info): Likewise. | |
2066 | ||
a0ae6d3b SB |
2067 | 2004-07-01 Steven Bosscher <stevenb@suse.de> |
2068 | ||
2069 | * stmt.c (check_seenlabel): Remove. | |
2070 | (pushcase, pushcase_range, expand_end_case_type): Don't call it. | |
2071 | ||
b79c5284 RH |
2072 | 2004-07-01 Richard Henderson <rth@redhat.com> |
2073 | ||
2074 | * function.h (struct function): Remove x_function_call_count. | |
2075 | (function_call_count): Remove. | |
2076 | * calls.c (expand_call): Don't set it. | |
2077 | * integrate.c (copy_rtx_and_substitute): Likewise. | |
2078 | ||
2079 | * function.h (struct function): Remove x_cleanup_label. | |
2080 | (cleanup_label): Remove. | |
2081 | * stmt.c (expand_value_return): Don't use it. | |
2082 | * function.c (free_after_compilation): Don't set it. | |
2083 | (expand_function_start): Likewise. Remove parms_have_cleanups arg. | |
2084 | * cfgexpand.c (tree_expand_cfg): Update call. | |
2085 | * tree.h (expand_function_start): Update decl. | |
2086 | ||
ede1a387 JM |
2087 | 2004-07-01 Joseph S. Myers <jsm@polyomino.org.uk> |
2088 | ||
2089 | PR c/1027 | |
2090 | * c-lang.c (c_initialize_diagnostics): Move from here ... | |
2091 | * c-objc-common.c: ... to here. Include "c-pretty-print.h". | |
2092 | (c_tree_printer): Use pretty-printer to format %T. | |
2093 | * c-pretty-print.c (pp_c_specifier_qualifier_list): Include space | |
2094 | before '*' if not C++. | |
2095 | (pp_c_direct_abstract_declarator): Don't try to print array upper | |
2096 | bound for flexible array members. | |
2097 | * c-tree.h: Include "diagnostic.h". | |
2098 | (c_initialize_diagnostics): Declare. | |
2099 | * objc/objc-lang.c (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Define. | |
2100 | * c-format.c (format_type_warning): New function. Improve | |
2101 | diagnostics for incorrect format argument types. | |
2102 | (check_format_types): Use it. Add two parameters. Use the | |
2103 | TYPE_MAIN_VARIANT of wanted_type. | |
2104 | (check_format_info_main): Pass new parameters to | |
2105 | check_format_types. | |
2106 | (struct format_wanted_type): Update comment. | |
2107 | ||
d59c7b4b NC |
2108 | 2004-07-01 Nick Clifton <nickc@redhat.com> |
2109 | ||
2110 | * target.h (struct gcc_target): Add new field to struct cxx: | |
2111 | import_export_class. | |
8a0aa06e RH |
2112 | * target-def.h (TARGET_CXX): Initialise the new field. |
2113 | (TARGET_CXX_IMPORT_EXPORT_CLASS): Provide a default value for | |
9aaabf8a | 2114 | the new field. |
8a0aa06e | 2115 | * doc/tm.texi: Document the new target hook. |
d59c7b4b | 2116 | |
e78bb345 PB |
2117 | 2004-07-01 Paolo Bonzini <bonzini@gnu.org> |
2118 | ||
2119 | * builtins.c (fold_builtin_classify): Fix typo. | |
2120 | ||
e3b63af7 RH |
2121 | 2004-07-01 Richard Henderson <rth@redhat.com> |
2122 | ||
2123 | * function.c (identify_blocks, identify_blocks_1): Remove. | |
2124 | * function.h (identify_blocks): Remove. | |
2125 | * rtl.h (NOTE_INSN_BLOCK_BEG): Update comment. | |
2126 | ||
64a9295a PB |
2127 | 2004-07-01 Paolo Bonzini <bonzini@gnu.org> |
2128 | ||
2129 | * builtins.c (fold_builtin_classify): New. | |
2130 | (fold_builtin_unordered_cmp): Fix commentary. | |
2131 | (fold_builtin): Use it. | |
2132 | * builtins.def: Define builtins for isnan, | |
2133 | isnanf, isnanl, finite, finitef, finitel, | |
2134 | isinf, isinff, isinfl. | |
2135 | ||
1ea463a2 RH |
2136 | 2004-07-01 Richard Henderson <rth@redhat.com> |
2137 | ||
2138 | * function.h (struct function): Remove dont_emit_block_notes. | |
2139 | * gimple-low.c (lower_function_body): Don't set it. | |
2140 | * cfgexpand.c (expand_block): Don't check it. | |
2141 | * cfglayout.c (insn_locators_initialize): Likewise. | |
2142 | * expr.c (expand_expr_real, expand_expr_real_1): Likewise. | |
2143 | * passes.c (rest_of_compilation): Likewise. | |
2144 | * stmt.c (expand_start_bindings_and_block): Likewise. | |
2145 | (expand_end_bindings): Likewise. | |
2146 | ||
c9b9aa64 RH |
2147 | 2004-07-01 Richard Henderson <rth@redhat.com> |
2148 | ||
2149 | * cgraph.h (cgraph_build_static_cdtor): Declare. | |
2150 | * cgraphunit.c (cgraph_build_static_cdtor): New. | |
2151 | * c-objc-common.c (build_cdtor): Use it. | |
2152 | * coverage.c (create_coverage): Likewise. | |
2153 | * libfuncs.h (LTI_gcov_init, gcov_init_libfunc): Remove. | |
2154 | * optabs.c (init_optabs): Don't set gcov_init_libfunc. | |
2155 | ||
8436e65a | 2156 | See ChangeLog.11 for earlier changes. |