]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
* config/rs6000/darwin-tramp.asm: Remove stray 'APPLE LOCAL' marker.
[gcc.git] / gcc / ChangeLog
CommitLineData
a7138657
GK
12005-02-18 Geoffrey Keating <geoffk@apple.com>
2
3 * config/rs6000/darwin-tramp.asm: Remove stray 'APPLE LOCAL' marker.
4
0a9c6fdf
RS
52005-02-18 Roger Sayle <roger@eyesopen.com>
6
7 * fold-const.c (constant_boolean_node): Always create values of the
8 specified type, don't bother calling truthvalue_conversion.
9
f6775e78
JM
102005-02-18 Joseph S. Myers <joseph@codesourcery.com>
11
12 * except.c (output_function_exception_table): Call
13 assemble_external_libcall (eh_personality_libfunc).
14
5b4275db
JM
152005-02-18 Joseph S. Myers <joseph@codesourcery.com>
16
17 PR target/19886
18 * config/ia64/ia64.h (struct machine_function): Add state_num.
19 * config/ia64/ia64.c (process_epilogue,
20 process_for_unwind_directive): Use new unwind state numbers each
21 time rather than state 1.
22
d6083c7d
UW
232005-02-18 Ulrich Weigand <uweigand@de.ibm.com>
24
25 PR target/20054
26 * config/s390/s390.md ("*llgt_sidi", "*llgt_sidi_split"): Move to
27 before the "*llgt_didi" pattern.
28
258dba8f
JM
292005-02-18 Jason Merrill <jason@redhat.com>
30
31 * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Revert again.
32
2155b886
RE
332005-02-18 Richard Earnshaw <rearnsha@arm.com>
34
35 * arm/lib1funcs.asm (FUNC_ALIAS): New macro.
36 (div0): Use it in place of ARM_FUNC_ALIAS.
37 (lshrdi3, ashrdi3, ashlrdi3): Likewise.
38
0d56ab33
AP
392005-02-18 Andrew Pinski <pinskia@physics.uc.edu>
40
41 PR middle-end/20030
42 * fold-const.c (fold_indirect_ref_1): Use the correct index for zero access,
43 the lower bound of the array type if it exists.
44
2aabee29
AO
452005-02-18 Alexandre Oliva <aoliva@redhat.com>
46
47 PR c++/20008
48 * stmt.c (expand_case): Don't assume cleanup_tree_cfg will remove
49 cases that are out-of-range for the index type.
50
aeba6c28
JM
512005-02-18 James A. Morrison <phython@gcc.gnu.org>
52
53 * stmt.c (emit_case_bit_tests): Call fold_convert instead of convert.
54 (estimate_case_costs): Don't call convert.
55 * expmed.c (expand_shift): Likewise.
56 (make_tree): Call fold_convert instead of convert.
57
3a96c3b9
JJ
582005-02-18 Jakub Jelinek <jakub@redhat.com>
59
60 PR c++/19813
61 * emit-rtl.c (set_mem_attributes_minus_bitpos): Add assertion
62 that ref to be marked MEM_READONLY_P doesn't have base that needs
63 constructing.
64
9fd64c63
JM
652005-02-18 Joseph S. Myers <joseph@codesourcery.com>
66
67 * genautomata.c (output_get_cpu_unit_code_func,
68 output_cpu_unit_reservation_p): Don't generate old-style function
69 definitions.
70
58203599
JJ
712005-02-18 Jakub Jelinek <jakub@redhat.com>
72
0948e392
JJ
73 PR c++/20023
74 PR tree-optimization/20009
75 * convert.c (convert_to_integer): Revert 2005-02-16 change.
76
58203599
JJ
77 PR tree-optimization/18947
78 * cgraphunit.c (cgraph_finalize_function): When redefining an extern
79 inline, remove all nodes that are inlined into the extern inline
80 being redefined.
81
c8d3e15a
KH
822005-02-17 Kazu Hirata <kazu@cs.umass.edu>
83
84 * bt-load.c, cfgloop.c, convert.c, dominance.c, global.c,
85 loop-invariant.c, stmt.c, tree-ssa-forwprop.c,
86 tree-ssa-live.c, tree-ssanames.c, tree-vn.c,
87 config/host-linux.c, config/arm/fpa.md, config/avr/avr.h:
88 Update copyright.
89
9b396d7c
RS
902005-02-17 Roger Sayle <roger@eyesopen.com>
91
92 PR tree-optimization/19917
93 * tree-eh.c (tree_could_trap_p): Consider calls to weak functions
94 to be potentially trapping.
95
2e681715
KH
962005-02-17 Kazu Hirata <kazu@cs.umass.edu>
97
98 * libgcc2.c, tree-vect-analyze.c: Fix comment typos.
99
c6d01079
AK
1002005-02-17 Andreas Krebbel <krebbel1@de.ibm.com>
101
102 * builtins.c (expand_builtin_return_addr): Remove tem parameter.
103 tem becomes a local variable which is set to the value of the
104 back end defined INITIAL_FRAME_ADDRESS macro.
105 (expand_builtin_frame_address): Omit the base parameter to
106 expand_builtin_return_addr.
107 (expand_builtin_profile_func): Likewise.
108 * config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Define new macro.
109 (DYNAMIC_CHAIN_ADDRESS): Remove the case for the initial frame.
110 * doc/tm.texi: Documentation for INITIAL_FRAME_ADDRESS_RTX added.
111
7b210806
JJ
1122005-02-17 Jakub Jelinek <jakub@redhat.com>
113
114 * config/s390/s390.c (s390_alloc_pool, s390_free_pool,
115 s390_chunkify_start): Use BITMAP_ALLOC and BITMAP_FREE.
116 * config/frv/frv.c (frv_function_epilogue): Likewise.
117
eae600b9
DB
1182005-02-17 Daniel Berlin <dberlin@dberlin.org>
119
120 * lambda-code (perfect_nestify): Remove mark/unmark
121 for rewriting hack.
122 * tree-loop-linear.c (linear_transform_loops): Add
123 rewrite_into_ssa call so that ssa is correct for
124 rewriting into loop closed.
125
8bdbfff5
NS
1262005-02-17 Nathan Sidwell <nathan@codesourcery.com>
127
128 * bitmap.h (BITMAP_XMALLOC, BITMAP_XFREE): Remove.
129 * bb-reorder.c (duplicate_computed_gotos): Use BITMAP_ALLOC and
130 BITMAP_FREE.
131 * bt-load.c (btr_def_live_range, combine_btr_defs,
132 migrate_btr_def, migrate_btr_defs): Likewise.
133 * cfgcleanup.c (thread_jump): Likewise.
134 * cfgloop.c (get_loop_body_in_bfs_order): Likewise.
135 * df.c (df_insn_table_realloc, df_bitmaps_alloc, df_bitmaps_free,
136 df_alloc, df_free, df_du_chain_create, df_bb_rd_local_compute,
137 df_rd_local_compute, df_reg_info_compute): Likewise.
138 * dominance.c (init_dom_info, free_dom_info): Likewise.
139 * flow.c (init_propagate_block_info,
140 free_propagate_block_info): Likewise.
141 * gcse.c (alloc_gcse_mem, free_gcse_mem): Likewise.
142 * global.c (allocate_bb_info, free_bb_info, calculate_reg_pav,
143 modify_reg_pav): Likewise.
144 * loop-invariant.c (find_defs, find_invariant_insn,
145 find_invariants, free_inv_motion_data): Likewise.
146 * predict.c (tree_predict_by_opcode,
147 estimate_bb_frequencies): Likewise.
148 * stmt.c (expand_case): Likewise.
149 * tree-cfg.c (tree_duplicate_sese_region): Likewise.
150 * tree-dfa.c (mark_new_vars_to_rename): Likewise.
151 * tree-if-conv.c (get_loop_body_in_if_conv_order): Likewise.
152 * tree-into-ssa.c (insert_phi_nodes_for, def_blocks_free,
153 get_def_blocks_for, mark_def_site_blocks, rewrite_into_ssa,
154 rewrite_ssa_into_ssa): Likewise.
155 * tree-optimize.c (tree_rest_of_compilation): Likewise.
156 * tree-outof-ssa.c (new_temp_expr_table, free_temp_expr_table,
157 analyze_edges_for_bb, perform_edge_inserts): Likewise.
158 * tree-scalar-evolution.c (scev_initialize, scev_finalize): Likewise.
159 * tree-sra.c (tree_sra): Likewise.
160 * tree-ssa-alias.c (init_alias_info, delete_alias_info): Likewise.
161 * tree-ssa-ccp.c (ccp_fold_builtin): Likewise.
162 * tree-ssa-dce.c (tree_dce_init, tree_dce_done): Likewise.
163 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
164 * tree-ssa-dse.c (tree_ssa_dse): Likewise.
165 * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_var):
166 Likewise.
167 * tree-ssa-live.c (new_tree_live_info, delete_tree_live_info,
168 calculate_live_on_entry, calculate_live_on_exit,
169 build_tree_conflict_graph): Likewise.
170 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize_init, record_use,
171 record_important_candidates, set_use_iv_cost, find_depends,
172 determine_use_iv_costs, iv_ca_new, iv_ca_free, free_loop_data,
173 tree_ssa_iv_optimize_finalize): Likewise.
174 * tree-ssa-loop-manip.c (add_exit_phis_var, get_loops_exit,
175 find_uses_to_rename_use, rewrite_into_loop_closed_ssa,
176 tree_duplicate_loop_to_header_edge): Likewise.
177 * tree-ssa-pre.c (init_pre, fini_pre): Likewise.
178 * tree-ssa.c (verify_flow_insensitive_alias_info,
179 verify_name_tags, verify_ssa, init_tree_ssa,
180 delete_tree_ssa): Likewise.
181 * tree-ssanames.c (marked_ssa_names, init_ssanames,
182 fini_ssanames): Likewise.
183 * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Likewise.
184
3abbb738
RC
1852005-02-17 Ralf Corsepius <ralf.corsepius@rtems.org>
186
187 * config/rs6000/t-rtems: Completely reworked.
188
9d182aa5
IR
1892005-02-17 Ira Rosen <irar@il.ibm.com>
190
191 * tree-data-ref.c (array_base_name_differ_p): Remove gcc_assert.
192
2427fa80
IR
1932005-02-17 Ira Rosen <irar@il.ibm.com>
194
195 * tree-vect-analyze.c (vect_analyze_pointer_ref_access): Use
196 POINTER_TYPE_P when checking that type is a pointer.
197 (vect_get_memtag): Remove.
198 (vect_address_analysis): Use POINTER_TYPE_P. Call
199 vect_object_analysis with dummy parameter for memtag.
200 (vect_object_analysis): Extract memtag (functionality that
201 used to be in vect_get_memtag and moved here). Fix printings.
202 (vect_analyze_data_refs): Fix comment. Call vect_object_analysis
203 with correct parameters. Remove call to vect_get_memtag.
204
f7064d11
DN
2052005-02-17 Dorit Naishlos <dorit@il.ibm.com>
206
207 * Makefile.in (tree-vect-analyze.o, tree-vect-transform.o): New.
208 (tree-vectorizer.o): Added missing dependencies.
209
210 * tree-vectorizer.h (vect_dump, vect_verbosity_level): Added extern
211 decleration.
212 (slpeel_tree_peel_loop_to_edge): Function externalized (had a static
213 declaration in tree-vectorizer.c, now has an extern declaration in
214 tree-vectorizer.h).
215 (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
216 slpeel_verify_cfg_after_peeling, vect_strip_conversion,
217 get_vectype_for_scalar_type, vect_is_simple_use,
218 vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
219 vect_supportable_dr_alignment, new_loop_vec_info, destroy_loop_vec_info,
220 new_stmt_vec_info, vect_analyze_loop, vectorizable_load,
221 vectorizable_store, vectorizable_operation, vectorizable_assignment,
222 vect_transform_loop, vect_print_dump_info, vect_set_verbosity_level,
223 find_loop_location): Likewise.
224
225 * tree-vectorizer.c (langhooks.h): #include removed.
226 (slpeel_tree_peel_loop_to_edge): Function externalized. Declaration
227 moved to tree-vectorized.h.
228 (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
229 slpeel_verify_cfg_after_peeling, vect_strip_conversion,
230 get_vectype_for_scalar_type, vect_is_simple_use,
231 vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
232 vect_supportable_dr_alignment, new_loop_vec_info,
233 destroy_loop_vec_info, new_stmt_vec_info, vect_print_dump_info,
234 vect_set_verbosity_level, find_loop_location): Likewise.
235
236 (vect_analyze_loop): Function externalized. Declaration moved to
237 tree-vectorized.h. Function definition moved to tree-vect-analyze.c.
238 (vect_analyze_loop_form): Moved to tree-vect-analyze.c.
239 (vect_mark_stmts_to_be_vectorized, vect_analyze_scalar_cycles,
240 vect_analyze_data_ref_accesses, vect_analyze_data_ref_dependences,
241 vect_analyze_data_refs_alignment, vect_compute_data_refs_alignment,
242 vect_enhance_data_refs_alignment, vect_analyze_operations,
243 exist_non_indexing_operands_for_use_p, vect_mark_relevant,
244 vect_stmt_relevant_p, vect_get_loop_niters,
245 vect_analyze_data_ref_dependence, vect_compute_data_ref_alignment,
246 vect_analyze_data_ref_access, vect_analyze_pointer_ref_access,
247 vect_can_advance_ivs_p, vect_get_ptr_offset, vect_analyze_offset_expr,
248 vect_base_addr_differ_p, vect_object_analysis, vect_address_analysis,
249 vect_get_memtag): Likewise.
250
251 (vectorizable_load): Function externalized. Declaration moved to
252 tree-vectorized.h. Function definition moved to tree-vect-transform.c.
253 (vectorizable_store, vectorizable_operation, vectorizable_assignment,
254 vect_transform_loop): Likewise.
255 (vect_transform_stmt): Moved to tree-vect-transform.c.
256 (vect_align_data_ref, vect_create_destination_var,
257 vect_create_data_ref_ptr, vect_create_index_for_vector_ref,
258 vect_create_addr_base_for_vector_ref, vect_get_new_vect_var,
259 vect_get_vec_def_for_operand, vect_init_vector,
260 vect_finish_stmt_generation, vect_generate_tmps_on_preheader,
261 vect_build_loop_niters, vect_update_ivs_after_vectorizer,
262 vect_gen_niters_for_prolog_loop, vect_update_inits_of_dr,
263 vect_update_inits_of_drs, vect_do_peeling_for_alignment,
264 vect_do_peeling_for_loop_bound): Likewise.
265
266 * tree-vect-analyze.c: New file.
267 * tree-vect-transform.c: New file.
268
eff9a5d0
JM
2692005-02-17 Jason Merrill <jason@redhat.com>
270
271 PR mudflap/19319, c++/19317
272 * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
273 slot explicit.
274
beb5f807
GP
2752005-02-17 Gerald Pfeifer <gerald@pfeifer.com>
276
277 * doc/install.texi (Specific): Update link for Darwin-specific
278 tool binary site.
279
9ace7f9e
JM
2802005-02-16 James A. Morrison <phython@gcc.gnu.org>
281
282 * fold-const.c (invert_truthvalue): <INTEGER_CST>: Call
283 constant_boolean_node.
284
ee01c339 2852005-02-16 David Edelsohn <edelsohn@gnu.org>
53de343a
DE
286
287 PR target/19019
288 * config/rs6000/t-aix43 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
289 * config/rs6000/t-aix52 (SHLIB_MAPFILES): Same.
290
4f2e0d5e
RH
2912005-02-16 Richard Henderson <rth@redhat.com>
292
293 PR 19920
294 * libgcc2.c (WORD_SIZE): Remove all definitions; replace uses
295 with W_TYPE_SIZE.
296 (HIGH_WORD_COEFF, HIGH_HALFWORD_COEFF): Remove all definitions;
297 replace uses with Wtype_MAXp1_F.
298 (L_fixunstfdi, L_fixtfdi, L_floatditf, L_fixunsxfdi, L_fixxfdi,
299 L_floatdixf, L_fixunsxfsi, L_fixunsdfdi, L_floatdidf, L_fixunsdfsi,
300 L_powidf2, L_powixf2, L_powitf2, L_muldc3, L_divdc3, L_mulxc3,
301 L_divxc3, L_multc3, L_divtc3): Protect with HAVE_DFMODE, HAVE_XFMODE,
302 and HAVE_TFMODE as appropriate.
303 (__fixunssfDI): Provide an implementation that doesn't need DFmode.
304 (__floatdisf): Likewise.
305 * libgcc2.h (LIBGCC2_DOUBLE_TYPE_SIZE): New.
306 (HAVE_DFMODE, HAVE_XFMODE, HAVE_TFMODE): New.
307 (Wtype_MAXp1_F): New.
308 (DFtype, DCtype, __fixdfdi, __floatdidf, __fixunsdfSI, __fixunsdfDI,
309 __powidf2, __divdc3, __muldc3): Protect with HAVE_DFMODE.
310
9f7bf991
RE
3112005-02-16 Richard Earnshaw <rearnsha@arm.com>
312
313 * PR target/19162
314 * arm.c (arm_apply_result_size): New function.
315 * arm.h (APPLY_RESULT_SIZE): Define.
316 * arm-protos.h (arm_apply_result_size): Add prototype.
317 * arm.md (RO_REGNUM, FPA_F0_REGNUM, FPA_F7_REGNUM): New constants.
318 (movxf): New expand.
319 (ldmsi_postinc4_thumb, stmsi_postinc4_thumb): New patterns for Thumb.
320 (call_value_symbol): Remove predicate for operand 0.
321 (call_value_insn, sibcall_value, sibcall_value_insn): Likewise.
322 (untyped_call): Rework to correclty return values for any type.
323 (untyped_return): New expand.
324 * fpa.md (movxf_fpa): Simplify and use sfm/lfm when appropriate.
325
f0b81cbc
SS
3262005-02-16 Stan Shebs <shebs@apple.com>
327
328 * config.gcc (powerpc-*-darwin*): Use fragment for Darwin 8 or later.
329 * config/rs6000/t-darwin8: New, for 64-bit multilib.
330
25c62e24
EB
3312005-02-16 Eric Botcazou <ebotcazou@libertysurf.fr>
332
927c8259 333 * doc/install.texi (sparc-sun-solaris2*): Document required GMP
25c62e24
EB
334 configure settings on Solaris 7 and later.
335
3bd09563
DN
3362005-02-16 Diego Novillo <dnovillo@redhat.com>
337
338 PR tree-optimization/19865
339 * tree-optimize.c (init_tree_optimization_passes): Run
340 pass_may_alias after pass_sra.
341
847d0c08
RH
3422005-02-16 Richard Henderson <rth@redhat.com>
343 Stuart Hastings <stuart@apple.com>
344
345 PR debug/19521
346 * dbxout.c (dbxout_function_end): Take decl parameter; update callers.
347 Do nothing if debug info suppressed for this function.
348 (dbxout_begin_function): Early exit if debug info suppressed for
349 this function.
350
de332a85
KH
3512005-02-16 Kazu Hirata <kazu@cs.umass.edu>
352
353 PR target/20007
354 * config/ip2k/ip2k.c (ip2k_reorg): Adjust calls to
355 find_basic_blocks.
356 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
357
5fcfe0b2
KH
358 PR tree-optimization/19967
359 * builtins.c (expand_builtin_strstr, expand_builtin_strpbrk,
360 expand_builtin_strchr, expand_builtin_strrchr): Take a new
361 argument TYPE. Adjust calls to fold_builtin_XXX.
362 (expand_builtin, fold_builtin_1): Adjust calls to
363 expand_builtin_XXX.
364 (fold_builtin_strchr, fold_builtin_strpbrk,
365 fold_builtin_strstr, fold_builtin_strrchr): Convert the folded
366 result to a requested type TYPE.
367
8940b3b2
JJ
3682005-02-16 Jakub Jelinek <jakub@redhat.com>
369
370 PR middle-end/19857
371 * fold-const.c (fold): Don't optimize (T)(x & cst) to
372 (T)x & (T)cst if (T)cst overflows.
373 * convert.c (convert_to_integer) <case POINTER_TYPE>: Pass
374 TYPE_UNSIGNED (type) as type_for_size's UNSIGNEDP argument.
375
aa47fcfa
JL
3762005-02-15 Jeff Law <law@redhat.com>
377
378 * gcse.c (blocks_with_calls): New bitmap.
379 (alloc_gcse_mem): Allocate it.
380 (free_gcse_mem): Free it.
381 (clear_modifY_mem_tables): Clear it.
382 (record_last_mem_set_info): Set the proper bit in BLOCK_WITH_CALLS
383 when we encounter CALL_INSNs.
384 (compute_transp, case MEM): Handle blocks with calls separate
385 from blocks without calls. Use bitmap iterators rather than
386 FOR_EACH_BB.
387
489ce9e7
PG
3882005-02-15 Peter O'Gorman <peter@pogma.com>
389
390 PR bootstrap/18810
391 * mklibgcc.in (vis_hide): Use a temporary object file, not
392 -o /dev/null.
393
1dd8ce20
AH
3942005-02-15 Andy Hutchinson <HutchinsonAndy@netscape.net>
395
396 PR target/19924
397 * config/avr/avr.h (MODES_TIEABLE_P): Define to 1 to allow subreg
398 access optimization.
399
6f85d0c4 4002005-02-15 David Edelsohn <edelsohn@gnu.org>
fd9850d5 401 Alan Modra <amodra@bigpond.net.au>
6f85d0c4
DE
402
403 PR target/19019
404 * config/rs6000/darwin-ldouble.c (_xlqadd): Rename to __gcc_qadd.
405 (_xlqsub): Rename to __gcc_qsub.
406 (_xlqmul): Rename to __gcc_qmul.
407 (_xlqdiv): Rename to __gcc_qdiv.
408 Provide versioned symbol aliases with old names.
409 * config/rs6000/libgcc-ppc64.ver: Rename symbols.
410 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Rename symbols.
411 * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): New.
412 * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): New.
413 * config/rs6000/t-newas (LIB2FUNCS_EXTRA): New.
414
40f84775
JM
4152005-02-15 James A. Morrison <phython@gcc.gnu.org>
416
417 * fold-const.c (fold): Fold -(~A) to A + 1. Fold ~(-A) to A - 1.
418 Fold ~(A - 1) and ~(A + -1) to -A.
419
14be52a2
JM
4202005-02-15 James A. Morrison <phython@gcc.gnu.org>
421
422 PR pch/14940
423 PR target/19300
424 * config/host-linux.c (linux_gt_pch_use_address): Copy from
425 config/pa/pa-host.c:pa_gt_pch_use_address.
426
eace8c18
DB
4272005-02-15 Daniel Berlin <dberlin@dberlin.org>
428
429 * tree-vn.c (get_value_handle): Make sure that given an
430 is_gimple_min_invariant expression, we always return it.
431
83cc36c8
KH
4322005-02-15 Kazu Hirata <kazu@cs.umass.edu>
433
434 * passes.c (rest_of_handle_gcse): Fix a comment.
435
9a6cf911
JL
4362005-02-15 Jeff Law <law@redhat.com>
437
438 * gcse.c (canon_modify_mem_set_list_set): Kill unnecessary
439 bitmap.
440 (alloc_gcse_mem, free_gcse_mem): Corresponding changes.
441 (canon_list_insert, record_last_mem_set_info): Similarly.
442 (clear_modify_mem_tables): Similarly.
443
6a6305e4
KH
4442005-02-15 Kazu Hirata <kazu@cs.umass.edu>
445
446 * bitmap.c, bitmap.h, lambda-code.c, tree-dfa.c, tree-dump.c,
447 tree-dump.h, tree-ssa-loop-manip.c, value-prof.c,
448 config/mips/mips.md, config/rs6000/aix.h,
449 config/rs6000/beos.h, config/rs6000/sysv4.h: Update copyright.
450
934677f9
RH
4512005-02-15 Richard Henderson <rth@redhat.com>
452
453 * bb-reorder.c (find_traces_1_round): Force fallthru edge from a
454 call to be best_edge.
455
2e09ee33
KH
4562005-02-14 Kazu Hirata <kazu@cs.umass.edu>
457
458 * basic-block.h: Adjust the prototype for find_basic_blocks.
459 * cfgbuild.c (find_basic_blocks): Remove unused arguments.
460 * passes.c (rest_of_handle_loop_optimize): Adjust the call to
461 find_basic_blocks.
462
e22857eb
KH
463 * flow.c (recompute_reg_usage): Remove all arguments.
464 * passes.c (rest_of_compilation): Adjust the call to
465 recompute_reg_usage.
466 * rtl.h: Adjust the prototype for recompute_reg_usage.
467
f46fe224
DB
4682005-02-14 Daniel Berlin <dberlin@dberlin.org>
469
470 * tree-dump.c (dump_files): Update to reflect new member
471 of dump_file_info.
472 (dump_register): Add new argument.
473 Set glob name.
474 (dump_switch_p_1): Check against glob name if doglob was passed.
475 (dump_switch_p): Check against regular first, then glob if
476 we didn't have any hits on the dump name.
477 * tree-optimize.c (register_one_dump_file):
478 Pass in glob name as well.
479 * tree-pass.h (struct dump_file_info): Add glob
480 member.
481
90689ae1
JM
4822005-02-14 Joseph S. Myers <joseph@codesourcery.com>
483
484 PR preprocessor/16323
485 * doc/invoke.texi: Document that -Wendif-labels is on by default.
486
8cb320b8
DE
4872005-02-14 David Edelsohn <edelsohn@gnu.org>
488
489 PR target/19019
2fe433c2 490 * config/rs6000/rs6000.md (trunctfdf2): Change to define_expand.
8cb320b8 491 (trunctfdf2_internal1): New.
2fe433c2 492 (trunctfdf2_internal2): Renamed from trunctfdf2.
8cb320b8 493
9a06c1cb
DN
4942005-02-14 Diego Novillo <dnovillo@redhat.com>
495
496 PR tree-optimization/19853
497 * tree-dfa.c (add_referenced_var): Always examine DECL_INITIAL.
498
0c86d709
KH
4992005-02-14 Kazu Hirata <kazu@cs.umass.edu>
500
501 * passes.c (rest_of_handle_loop_optimize): Remove calls to
502 delete_dead_jumptables and cleanup_cfg.
503
e88d55cd
UW
5042005-02-14 Ulrich Weigand <uweigand@de.ibm.com>
505
506 * reload.c (find_reloads): Swap address_reloaded flags when
507 swapping commutative operands.
508
92d2b330 5092005-02-14 Sebastian Pop <pop@cri.ensmp.fr>
9a06c1cb 510
92d2b330
SP
511 * lambda-code.c (lambda_loopnest_to_gcc_loopnest, perfect_nestify):
512 Use standard_iv_increment_position for computing the bsi position
513 for create_iv.
514 * tree-ssa-loop-manip.c (create_iv): Add a comment on how to compute
515 the bsi position.
516
af9ecd0c
ZD
5172005-02-13 Zdenek Dvorak <dvorakz@suse.cz>
518
519 PR target/17428
9a06c1cb
DN
520 * cfgrtl.c (safe_insert_insn_on_edge): Avoid extending
521 life range of hard registers.
522 * value-prof.c (insn_prefetch_values_to_profile): Only
523 scan normal insns.
af9ecd0c
ZD
524
525 * value-prof.c (rtl_find_values_to_profile): Do not look for values to
526 profile in libcalls.
527
90bb1c1f
NS
5282005-02-13 Nathan Sidwell <nathan@codesourcery.com>
529
530 * bitmap.h (bitmap_and_compl_into): Return bool.
531 * bitmap.c (bitmap_and_compl_into): Return changed flag.
532
623049aa
JM
5332005-02-13 James A. Morrison <phython@gcc.gnu.org>
534
535 PR tree-optimization/19944
536 * fold-const.c (fold): Re-add ABS_EXPR folding.
537
de17c25f
DE
5382005-02-13 David Edelsohn <edelsohn@gnu.org>
539
540 PR target/19019
541 * config/rs6000/aix.h ({TARGET,MASK}_XL_CALL): Rename to
542 {TARGET,MASK}_XL_COMPAT.
543 (SUBTARGET_SWITCHES): Rename xl-call to xl-compat. Use
544 MASK_XL_COMPAT.
545 * config/rs6000/beos.h ({TARGET,MASK}_XL_CALL): Remove.
546 * config/rs6000/rs6000.c (function_arg): Change TARGET_XL_CALL to
547 TARGET_XL_COMPAT.
548 (rs6000_arg_partial_bytes): Same.
549 (rs6000_generate_compare): Generate PARALLEL for compare if TFmode
550 and XL compatibility enabled.
551 * config/rs6000/rs6000.h (TARGET_XL_CALL): Rename to TARGET_XL_COMPAT.
552 * config/rs6000/rs6000.md (cmptf_internal1): Add !TARGET_XL_COMPAT
553 test to final condition.
554 (cmptf_internal2): New.
555 * doc/invoke.texi (RS/6000 Subtarget Options): Change xl-call to
556 xl-compat. Add TFmode information to description.
557
e04369ac
KH
5582005-02-13 Kazu Hirata <kazu@cs.umass.edu>
559
560 * flags.h, read-rtl.c, tree-ssa-live.h: Update copyright.
561
38116e3d
JM
5622005-02-13 Jason Merrill <jason@redhat.com>
563
38116e3d
JM
564 PR c++/16405
565 * fold-const.c (fold_indirect_ref_1): Split out from...
566 (build_fold_indirect_ref): Here.
567 (fold_indirect_ref): New fn.
568 * tree.h: Declare it.
569 * gimplify.c (gimplify_compound_lval): Call fold_indirect_ref.
570 (gimplify_modify_expr_rhs): Likewise.
571 (gimplify_expr): Likewise.
572
60a8fb5e
JM
5732005-02-13 James A. Morrison <phython@gcc.gnu.org>
574
575 PR tree-optimization/14303
576 PR tree-optimization/15784
577 * fold-const.c (fold): Fold ABS_EXPR<x> >= 0 to true, when possible.
578 Fold ABS_EXPR<x> < 0 to false. Fold ABS_EXPR<x> == 0 to x == 0 and
579 ABS_EXPR<x> != 0 to x != 0.
580
647eea9d
KH
5812005-02-12 Kazu Hirata <kazu@cs.umass.edu>
582
583 * c-tree.h, combine.c, expmed.c, flow.c, libgcc2.c,
584 simplify-rtx.c, tree-ssa-live.h: Fix comment typos. Follow
585 spelling conventions.
586
6f9087d7
KH
587 * passes.c (rest_of_handle_gcse): Don't run cse_main and
588 delete_trivially_dead_insns too many times.
589
ea24f64b
KH
590 * passes.c (rest_of_handle_gcse): Remove dead assignments to
591 tem and tem2.
592
8ad833ac
IR
5932005-02-12 Ira Rosen <irar@il.ibm.com>
594
595 * tree-vectorizer.c (vect_get_base_and_offset): Remove.
596 (vect_is_simple_iv_evolution): Remove redundant parameter
597 and step check.
598 (vect_analyze_scalar_cycles): Call vect_is_simple_iv_evolution
599 without last parameter.
600 (vect_analyze_pointer_ref_access): Get access_fn as parameter.
601 Return pointer step. Call vect_is_simple_iv_evolution without
602 last parameter. Check only that the step is multiple of size
603 type. Remove stmt_vinfo updates.
604 (vect_get_memtag_and_dr): Remove.
605 (vect_get_memtag): New function.
606 (vect_address_analysis): New function.
607 (vect_object_analysis): New function.
608 (vect_analyze_data_refs): Call vect_object_analysis and
609 vect_get_memtag. Update stmt_vinfo fields.
610
e3a8a4ed
IR
6112005-02-12 Ira Rosen <irar@il.ibm.com>
612
613 * tree-data-ref.c (array_base_name_differ_p): Check that the bases
614 exist and are objects. Remove checks for pointer.
615 * tree-vectorizer.c (vect_create_addr_base_for_vector_ref): Use
616 STMT_VINFO_VECT_DR_BASE_ADDRESS instead of DR_BASE_NAME.
617 (vect_create_data_ref_ptr): Likewise.
618 (vect_base_addr_differ_p): New function.
619 (vect_analyze_data_ref_dependence): Call vect_base_addr_differ_p.
620 (vect_analyze_pointer_ref_access): Add output parameter - ptr_init.
621 Don't set the DR_BASE_NAME field of data-ref.
622 (vect_get_memtag_and_dr): Use ptr_init instead of DR_BASE_NAME.
623
c94a75af
UB
6242005-02-12 Uros Bizjak <uros@kss-loka.si>
625
626 * optabs.h (enum optab_index): Add new OTI_ldexp.
627 (ldexp_optab): Define corresponding macro.
628 * optabs.c (init_optabs): Initialize ldexp_optab.
629 * genopinit.c (optabs): Implement ldexp_optab using ldexp?f3
630 patterns.
631 * builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_LDEXP{,F,L}
632 using ldexp_optab.
633 (expand_builtin): Expand BUILT_IN_LDEXP{,F,L} using
634 expand_builtin_mathfn_2 if flag_unsafe_math_optimizations is set.
635
636 * config/i386/i386.md (ldexpsf3, ldexpdf3, ldexpxf3): New expanders
637 to implement ldexpf, ldexp and ldexpl built-ins as inline x87
638 intrinsics.
639
e3a8a4ed 6402005-02-12 Ira Rosen <irar@il.ibm.com>
a5ae3ad6
IR
641
642 * tree-vectorizer.h (struct _stmt_vec_info): Rename a field: base
643 to base_address.
644 * tree-vectorizer.c (new_stmt_vec_info): Rename the above field of
645 stmt_vec_info.
646 (vect_get_base_and_offset): Always return an address.
647 (vect_create_addr_base_for_vector_ref): Remove treatment for
648 different data reference types.
649 (vect_compute_data_ref_alignment): Rename base to base_address in
650 stmt_vec_info. Get the object in order to force its alignment.
651 (vect_get_memtag_and_dr): Rename base to base_address in
652 stmt_vec_info. Extract the object for memtag analysis.
653
f4ddaddd
HPN
6542005-02-12 Hans-Peter Nilsson <hp@axis.com>
655
656 PR regression/19898.
657 * config/cris/cris.c (cris_notice_update_cc): When testing if insn
658 changes cc_status, use apply modified_in_p to part of cc_status
659 and insn, not cris_reg_overlap_mentioned_p on SET_DEST of insn
660 body.
661
7e7e470f
RH
6622005-02-11 Richard Henderson <rth@redhat.com>
663
664 * tree-complex.c (expand_complex_libcall): New.
665 (expand_complex_multiplication): Use it for c99 compliance.
666 (expand_complex_division): Likewise.
667 * fold-const.c (fold_complex_add, fold_complex_mult): New.
668 (fold): Call them.
669 * builtins.c (built_in_names): Remove const.
670 * tree.c (build_common_builtin_nodes): Build complex arithmetic
671 builtins.
672 * tree.h (BUILT_IN_COMPLEX_MUL_MIN, BUILT_IN_COMPLEX_MUL_MAX): New.
673 (BUILT_IN_COMPLEX_DIV_MIN, BUILT_IN_COMPLEX_DIV_MAX): New.
674 (built_in_names): Remove const.
675 * c-common.c (c_common_type_for_mode): Handle complex modes.
676 * flags.h, toplev.c (flag_complex_method): Rename from
677 flag_complex_divide_method.
678 * libgcc2.c (__divsc3, __divdc3, __divxc3, __divtc3,
679 __mulsc3, __muldc3, __mulxc3, __multc3): New.
680 * libgcc2.h: Declare them.
681 * libgcc-std.ver: Export them.
682 * mklibgcc.in (lib2funcs): Build them.
683
c33bae88
SB
6842005-02-11 Steven Bosscher <stevenb@suse.de>
685
686 PR tree-optimization/19876
687 Partially revert my change from 2005-01-14
688 * tree-ssa-pre.c (compute_antic_aux): Make recursive once again...
689 (compute_antic): ...and remove the loop here.
690
28f8ecf9
JJ
6912005-02-11 Jakub Jelinek <jakub@redhat.com>
692
97e9692b
JJ
693 PR middle-end/19858
694 * fold-const.c (make_bit_field_ref): If bitpos == 0 and bitsize
695 is number of inner's bits, avoid creating a BIT_FIELD_REF.
696
28f8ecf9
JJ
697 * config/rs6000/sysv4.h (ENDFILE_LINUX_SPEC): Use crtendS.o instead of
698 crtend.o if -pie. Use %{x:a;:b} spec syntax.
699
d04b77ac
DJ
7002005-02-11 Daniel Jacobowitz <dan@codesourcery.com>
701
702 * config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust
703 offsets for the big-endian 32-bit case.
704
70406574
JM
7052005-02-11 Joseph S. Myers <joseph@codesourcery.com>
706
707 * config/ia64/hpux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
708
7e42db17
DJ
7092005-02-11 Dale Johannesen <dalej@apple.com>
710
711 * cselib.c (cselib_process_insn): Clear out regs where
712 HARD_REGNO_CALL_PART_CLOBBERED is true at a call.
713 * reload.c (find_equiv_reg): Ditto.
714
f6254da4
ILT
7152005-02-11 Ian Lance Taylor <ian@airs.com>
716
c5d97f6e
ILT
717 * read-rtl.c (read_rtx_1): Give fatal error if we see a vector
718 with no elements.
719
f6254da4
ILT
720 * tree.c (build_function_type_list): Work correctly if there are
721 no arguments.
722
f4f41b4e
UW
7232005-02-11 Ulrich Weigand <uweigand@de.ibm.com>
724
725 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs",
726 "*cmpsi_ccs"): Use %h instead of %c to print immediate operand.
727 ("*zero_extendhisi2_64", "*zero_extendhisi2_31"): Choose based on
728 TARGET_ZARCH instead of TARGET_64BIT.
729
f203217e
RC
7302005-02-11 Ralf Corsepius <ralf.corsepius@rtems.org>
731
732 * config/rs6000/t-rtems:
733 (MULTILIB_OPTIONS): Remove mcpu=602.
734 (MUTLILIB_DIRNAMES): Remove m602.
735 (MULTILIB_MATCHES): Add ${MULTILIB_MATCHES_FLOAT}.
736 Let mcpu=602 match mcpu=603.
737 (MULTILIB_NEW_EXCEPTIONS_ONLY): Add mcpu=601, mcpu=602, mcpu=m603.
738
9dcab61e
JDA
7392005-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
740
741 * pa/linux-unwind.h (pa32_fallback_frame_state): Handle misaligned
742 signal trampolines.
743
70ad1f9f
DD
7442005-02-10 David Daney <ddaney@avtrex.com>
745
746 * config/alpha/linux-unwind.h: Add exception clause to copyright.
747 * config/i386/linux-unwind.h: Likewise.
748 * config/ia64/linux-unwind.h: Likewise.
749 * config/mips/linux-unwind.h: Likewise.
750 * config/pa/linux-unwind.h: Likewise.
751 * config/rs6000/linux-unwind.h: Likewise.
752 * config/s390/linux-unwind.h: Likewise.
753 * config/sh/linux-unwind.h: Likewise.
754 * config/sparc/linux-unwind.h: Likewise.
755
3b6616dd
SB
7562005-02-10 Steven Bosscher <stevenb@suse.de>
757
758 PR tree-optimization/17549
759 * tree-outof-ssa.c (find_replaceable_in_bb): Do not allow
760 TER to replace a DEF with its expression if the DEF and the
761 rhs of the expression we replace into have the same root
762 variable.
763
a0c5992a
RS
7642005-02-10 Richard Sandiford <rsandifo@redhat.com>
765
766 * config/mips/mips.md: Fix the placement of the match_scratch in the
767 lea64 peephole2.
768
0388d40a
KH
7692005-02-10 Kazu Hirata <kazu@cs.umass.edu>
770
771 * cse.c, tree-ssa-loop-ivopts.c, config/rs6000/linux-unwind.h:
772 Fix comment typos.
773
f5e2738c
ZD
7742005-02-10 Zdenek Dvorak <dvorakz@suse.cz>
775
776 * tree-ssa-loop-ivopts.c (determine_base_object): Ignore casts.
777 (strip_offset): Handle addresses.
778 (add_address_candidates): Use strip_offset.
779 (difference_cost): Reflect strip_offset change.
780 (force_var_cost, difference_cost): Strip nops.
781
33d6a74c
KH
7822005-02-10 Kazu Hirata <kazu@cs.umass.edu>
783
784 * df.h (DF_REF_MODE_CHANGE, DF_REF_MEM_OK): Remove.
785
c486021d
KH
786 * builtins.def, haifa-sched.c, libgcc2.c, libgcc2.h,
787 tree-ssa-loop-ivcanon.c, tree-ssa-loop-niter.c,
788 config/cris/cris-protos.h, config/cris/cris.c: Update
789 copyright.
790
8d6f7195
JL
7912005-02-10 Jeff Law <law@redhat.com>
792
793 * tree-ssa-dom.c (thread_across_edge): Use xmalloc, not xcalloc.
794 (lookup_avail_expr): Similarly.
795
ba78d452
RG
7962005-02-10 Richard Guenther <rguenth@gcc.gnu.org>
797
798 * builtins.c (fold_builtin_powi): New function.
799 (fold_builtin_1): Call it.
800
0d3e9f35
SB
8012005-02-10 Steven Bosscher <stevenb@suse.de>
802
803 PR documentation/19309
804 * doc/cpp.texi: The __GNUC__ and related predefined macros
805 are also defined for the "standalone" cpp.
806 Some non-GCC compilers may also define __GNUC__.
807
ccf7f880
JJ
8082005-02-10 Jakub Jelinek <jakub@redhat.com>
809
810 PR c/19342
811 * c-typeck.c (common_type): New routine. Old common_type renamed
812 to...
813 (c_common_type): ...this.
814 (build_conditional_expr, build_binary_op): Use c_common_type instead
815 of common_type.
816
b49900cc
SB
8172005-02-10 Steven Bosscher <stevenb@suse.de>
818
819 * doc/md.texi: Replace @samp{length} with @code{length}.
820
ca4c3169
ZD
8212005-02-09 Zdenek Dvorak <dvorakz@suse.cz>
822
823 PR tree-optimization/18687
824 * tree-flow.h (find_loop_niter): Declare.
825 * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
826 Try using scev even for loops with more than one exit.
827 * tree-ssa-loop-ivopts.c (struct loop_data): Removed niter field.
828 (struct ivopts_data): Added niters field.
829 (struct nfe_cache_elt): New.
830 (nfe_hash, nfe_eq, niter_for_exit, niter_for_single_dom_exit): New
831 functions.
832 (tree_ssa_iv_optimize_init): Initialize niters cache.
833 (determine_number_of_iterations): Removed.
834 (find_induction_variables): Do not call determine_number_of_iterations.
835 Access niters for single exit through niter_for_single_dom_exit.
836 (add_iv_outer_candidates): Access niters for single exit through
837 niter_for_single_dom_exit.
838 (may_eliminate_iv): Take data argument. Use niter_for_exit. Do not use
839 number_of_iterations_cond.
840 (iv_period): New function.
841 (determine_use_iv_cost_condition): Pass data to may_eliminate_iv.
842 (may_replace_final_value): Take data argument. Use
843 niter_for_single_dom_exit.
844 (determine_use_iv_cost_outer): Pass data to may_replace_final_value.
845 (rewrite_use_compare): Pass data to may_eliminate_iv.
846 (rewrite_use_outer): Pass data to may_replace_final_value.
847 (free_loop_data): Clean up the niters cache.
848 (tree_ssa_iv_optimize_finalize): Free the niters cache.
849 (tree_ssa_iv_optimize_loop): Do not call loop_commit_inserts.
850 * tree-ssa-loop-niter.c (find_loop_niter): New function.
851 (find_loop_niter_by_eval): Use tree_int_cst_lt.
852 (num_ending_zeros): Moved to tree.c.
853 * tree.h (num_ending_zeros): Declare.
854 * tree.c (num_ending_zeros): Moved from tree.c.
855
c6a912da
RH
8562005-02-09 Richard Henderson <rth@redhat.com>
857
858 * builtins.c (DEF_BUILTIN): Add COND argument.
859 * tree.h (DEF_BUILTIN): Likewise.
860 * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN, DEF_EXT_LIB_BUILTIN,
861 DEF_C94_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN): Update to
862 match.
863 (DEF_BUILTIN_STUB): New.
864 (BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE, BUILT_IN_INIT_TRAMPOLINE,
865 BUILT_IN_ADJUST_TRAMPOLINE, BUILT_IN_NONLOCAL_GOTO,
866 BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT): Use it.
867 * c-common.c (DEF_BUILTIN): Add COND argument.
868 * tree.c (local_define_builtin): New.
869 (build_common_builtin_nodes): New.
870
e3bb43c0
RS
8712005-02-09 Roger Sayle <roger@eyesopen.com>
872
873 * fold-const.c (fold_strip_sign_ops): New function to simplify a
874 floating point expression ignoring the sign of the result.
875 (fold) <ABS_EXPR>: Use it to simplify fabs(x).
876 (fold) <MULT_EXPR>: Use it to simplify x*x.
877 * tree.h (fold_strip_sign_ops): Prototype here.
878 * builtins.c (fold_builtin_copysign): Take an additional FNDECL
879 argument. Use fold_strip_sign_ops to simplify the first argument.
880 (fold_builtin_pow): Use fold_strip_sign_ops to simplify the
881 first argument when the second argument is an even integer
882 constant, but only with -funsafe_math_optimizations.
883 (fold_builtin_1): Update call to fold_builtin_copysign.
884
5eefcf2f
ILT
8852005-02-09 Ian Lance Taylor <ian@airs.com>
886
887 PR middle-end/19583
888 * gimple-low.c (try_catch_may_fallthru): In EH_FILTER_EXPR case,
889 just check whether EH_FILTER_FAILURE falls through.
890
dab80c81
AK
8912005-02-09 Andreas Krebbel <krebbel1@de.ibm.com>
892
893 * gcc/haifa-sched.c (schedule_block): Make queued sched group
894 insns return to ready list in the next turn.
895
17684d46
RG
8962005-02-09 Richard Guenther <rguenth@gcc.gnu.org>
897
898 PR middle-end/19402
899 * builtins.def: New __builtin_powi[lf].
900 * builtins.c (mathfn_built_in): Handle BUILT_IN_POWI.
901 (expand_builtin_powi): New function.
902 (expand_builtin): Dispatch to expand_builtin_powi.
903 * libgcc2.h: Add prototypes for __builtin_powi[lf].
904 * libgcc2.c: Add __builtin_powi[lf] implementation.
905 * mklibgcc.in: Add __builtin_powi[lf] to lib2funcs.
906 * optabs.h: Add powi_optab.
907 * optabs.c (init_optabs): Initialize powi_optab.
908 * doc/extend.texi: Document __builtin_powi[lf].
909
8ca3515f
DN
9102005-02-09 Dorit Naishlos <dorit@il.ibm.com>
911
912 * tree-vectorizer.c (vect_set_dump_settings): Check that dump_file
913 exists.
914
0c6c135b
RG
9152005-02-09 Richard Guenther <rguenth@gcc.gnu.org>
916
917 PR middle-end/19854
918 * fold-const.c (try_move_mult_to_index): Remove redundant
919 type argument. Create ADDR_EXPR with correct type.
920 (fold): Update callers of try_move_mult_to_index. Convert
921 result to the appropriate type.
922
8f2bf9f1
RS
9232005-02-09 Roger Sayle <roger@eyesopen.com>
924
925 PR target/19597
926 * config/avr/avr.c (default_rtx_costs): Delete.
927 (avr_operand_rtx_cost): New function.
928 (avr_rtx_costs): Completely rewrite.
929
453bd0f5
HPN
9302005-02-08 Hans-Peter Nilsson <hp@axis.com>
931
932 PR target/19806
933 * config/cris/cris.c (in_code): New variable.
934 (cris_output_addr_const): Now a static function, a wrapper for
935 output_addr_const.
936 (cris_asm_output_symbol_ref): New function, broken out SYMBOL_REF
937 case from old cris_output_addr_const.
938 (cris_asm_output_label_ref): Similar for LABEL_REF.
939 (cris_output_addr_const_extra): Similar for UNSPEC.
940 * config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA)
941 (ASM_OUTPUT_SYMBOL_REF, ASM_OUTPUT_LABEL_REF): Define.
942 * config/cris/cris-protos.h (cris_output_addr_const): Remove
943 declaration.
944 (cris_asm_output_symbol_ref, cris_output_addr_const_extra)
945 (cris_asm_output_label_ref): Declare.
946
749c6ef9
PB
9472005-02-08 Paolo Bonzini <bonzini@gnu.org>
948
949 PR preprocessor/19801
950 * doc/cppinternals.texi (Conventions, Lexer, Files): Adjust
951 filenames that changed when libcpp was moved to the toplevel.
952
f8eacd97
RS
9532005-02-07 Roger Sayle <roger@eyesopen.com>
954
955 * simplify-rtx.c (simplify_relational_operation_1): Avoid creating
956 zero extensions of BImode operands. Call lowpart_subreg instead
957 of gen_lowpart_common and gen_lowpart_SUBREG.
958
1e3fad21
NN
9592005-02-07 Nathanael Nerode <neroden@gcc.gnu.org>
960
961 PR ada/19489
962 * libada-mk.in: Use cc_for_cross_gnattools, not cc_set_by_configure.
963 * configure.ac: Set cc_for_cross_gnattools.
964 * configure: Regenerate.
965
b0ad2de2
AM
9662005-02-08 Alan Modra <amodra@bigpond.net.au>
967
968 PR target/19803
969 * predict.c (PROB_VERY_UNLIKELY): Use 1% instead of 10%.
970
b950a32e
EB
9712005-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
972
973 PR debug/19327
974 * dbxout.c (dbxout_symbol) <FUNCTION_DECL>: Skip inline instance
975 of nested functions.
976
6871294a
JW
9772005-02-07 Jonathan Wakely <redi@gcc.gnu.org>
978
979 * doc/extend.texi: Document deprecated extensions allowing
980 static floating-point members to have initializers and allowing
981 floating-point literals in integral constant expressions.
982
17385e0d
KH
9832005-02-07 Kazu Hirata <kazu@cs.umass.edu>
984
985 * cfgcleanup.c, df.h, diagnostic.c, rtl.c, tree-vectorizer.h,
986 config/darwin7.h, config/mips/mips.c,
987 config/rs6000/altivec.md, config/rs6000/darwin-tramp.asm:
988 Update copyright.
989
459281be
KH
990 * cse.c: Update comments.
991
6a96f5c1
RG
9922005-02-07 Richard Guenther <rguenth@gcc.gnu.org>
993
994 PR middle-end/19775
995 * builtins.c (fold_builtin_sqrt): Transform
996 sqrt(pow(x,y)) to pow(fabs(x),y*0.5), not
997 pow(x,y*0.5).
998
c866976a
LB
9992005-02-07 Leehod Baruch <leehod@il.ibm.com>
1000 Dorit Naishlos <dorit@il.ibm.com>
1001
1002 * doc/invoke.texi (ftree-vectorizer-verbose): New.
1003 * opts.c (OPT_ftree_vectorizer_verbose_): New case for switch.
1004 * common.opt (ftree-vectorizer-verbose): New Flag for the vectorizer
1005 was added.
1006 * tree.h (vect_set_verbosity_level): New extern function declaration
1007 added.
1008 * tree-vectorizer.h (verbosity_levels): New enum type.
1009 * tree-vectorizer.c (vect_debug_stats): Function removed.
1010 (vect_debug_details): Likewise.
1011 (vect_verbosity_level): Global variable was defined and initialized.
1012 (vect_dump): Global variable definition.
1013 (vect_print_dump_info): New function.
1014 (vect_set_dump_settings): New function.
1015 (vect_set_verbosity_level): New function.
1016 (vectorize_loops): Add call to vect_set_dump_settings.
1017
1018 (slpeel_make_loop_iterate_ntimes): Dump condition was changed.
1019 (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
1020 (slpeel_tree_peel_loop_to_edge): Likewise.
1021
1022 (vect_analyze_offset_expr): Call to vect_print_dump_info with
1023 appropriate verbosity level instead of call to vect_debug_details
1024 or vect_debug_stats.
1025 (vect_get_base_and_offset):
1026 (vect_create_addr_base_for_vector_ref):
1027 (get_vectype_for_scalar_type):
1028 (vect_create_data_ref_ptr):
1029 (vect_init_vector):
1030 (vect_get_vec_def_for_operand):
1031 (vect_finish_stmt_generation):
1032 (vectorizable_assignment):
1033 (vectorizable_operation):
1034 (vectorizable_store):
1035 (vectorizable_load):
1036 (vect_transform_stmt):
1037 (vect_update_ivs_after_vectorizer):
1038 (vect_do_peeling_for_loop_bound):
1039 (vect_update_inits_of_drs):
1040 (vect_do_peeling_for_alignment):
1041 (vect_transform_loop):
1042 (vect_is_simple_use):
1043 (vect_analyze_operations):
1044 (vect_is_simple_iv_evolution):
1045 (vect_analyze_scalar_cycles):
1046 (vect_analyze_data_ref_dependence):
1047 (vect_analyze_data_ref_dependences):
1048 (vect_compute_data_ref_alignment):
1049 (vect_enhance_data_refs_alignment):
1050 (vect_analyze_data_refs_alignment):
1051 (vect_analyze_data_ref_access):
1052 (vect_analyze_data_ref_accesses):
1053 (vect_analyze_pointer_ref_access):
1054 (vect_get_memtag_and_dr):
1055 (vect_analyze_data_refs):
1056 (vect_mark_relevant):
1057 (vect_stmt_relevant_p):
1058 (vect_mark_stmts_to_be_vectorized):
1059 (vect_can_advance_ivs_p):
1060 (vect_get_loop_niters):
1061 (vect_analyze_loop_form):
1062 (vect_analyze_loop):
1063 (vectorize_loops): Likewise.
1064
1065 (vect_do_peeling_for_loop_bound): Dump format slightly changed.
1066 (vect_update_inits_of_drs):
1067 (vect_do_peeling_for_alignment):
1068 (vect_transform_loop):
1069 (vect_analyze_operations):
1070 (vect_analyze_scalar_cycles):
1071 (vect_analyze_data_ref_dependences):
1072 (vect_analyze_data_refs_alignment):
1073 (vect_analyze_data_ref_accesses):
1074 (vect_analyze_data_refs):
1075 (vect_mark_stmts_to_be_vectorized):
1076 (vect_get_loop_niters):
1077 (vect_analyze_loop_form):
1078 (vect_analyze_loop): Likewise.
1079 (vect_mark_stmts_to_be_vectorized): Add call to print_generic_expr.
1080
88ab13d6
RS
10812005-02-07 Richard Sandiford <rsandifo@redhat.com>
1082
1083 PR bootstrap/19796
1084 Revert:
1085 2005-01-26 Richard Sandiford <rsandifo@redhat.com>
1086 * config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if
1087 either -ffast-math or -funsafe-math-optimizations is in use.
1088
1089 2005-01-24 Richard Sandiford <rsandifo@redhat.com>
1090 * config/mips/irix-csr.c: New file.
1091 * config/mips/t-iris6 (irix-csr.o): New rule to build it.
1092 (EXTRA_MULTILIB_PARTS): Add irix-csr.o.
1093 * config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64
1094 executables.
1095
a701780f
AO
10962005-02-07 Alexandre Oliva <aoliva@redhat.com>
1097
dcb15c6c
AO
1098 * config/mn10300/linux.h (LIB_SPEC, STARTFILE_SPEC): Remove
1099 redundant, incorrect definitions.
1100
a701780f
AO
1101 * config/frv/frv.md ("tls_indirect_call"): Turn into libcall-like
1102 expand.
1103 ("*tls_indirect_call"): New, reference hard regs directly.
1104 * config/frv/frv.c (gen_inlined_tls_plt): Adjust.
1105
888b0310
RC
11062005-02-07 Ralf Corsepius <ralf.corsepius@rtems.org>
1107
1108 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC):
1109 Let !-mhard-float !-msoft-float imply -mfpu=softfpa.
1110
b1a22407
RS
11112005-02-06 Roger Sayle <roger@eyesopen.com>
1112
1113 PR rtl-optimization/19800
7f5c93ac 1114 * simplify_rtx.c (simplify_relational_operation_1): Explicitly
b1a22407
RS
1115 call gen_lowpart_common and gen_lowpart_SUBREG instead of calling
1116 gen_lowpart.
1117
149056b0
RC
11182005-02-07 Ralf Corsepius <ralf.corsepius@rtems.org>
1119
1120 * config/m68k/t-rtems (MULTILIB_MATCHES): Let m528x match m5200.
1121
3e8cb558
JM
11222005-02-07 Joseph S. Myers <joseph@codesourcery.com>
1123
1124 PR other/17135
1125 * doc/invoke.texi: Correct documentation of -freorder-functions.
1126
ee86feaf
JM
11272005-02-06 Joseph S. Myers <joseph@codesourcery.com>
1128
1129 PR other/14402
1130 * doc/invoke.texi: Don't mention gccbug.
1131
1419a885
RS
11322005-02-06 Roger Sayle <roger@eyesopen.com>
1133 Andrew Pinski <pinskia@physics.uc.edu>
1134 Paolo Bonzini <paolo.bonzini@lu.unisi.ch>
1135
1136 * simplify-rtx.c (simplify_relational_operation_1): Simplify
1137 (ne:SI (zero_extract:SI FOO (const_int 1) BAR) (const_int 0))
1138 into just (zero_extract:SI FOO (const_int 1) BAR).
1139
706bb773
JM
11402005-02-06 Joseph S. Myers <joseph@codesourcery.com>
1141
1142 * doc/cpp.texi: Include gcc-common.texi. Don't define gcctabopt
1143 macro locally. Don't give last revision date. Use GCC version
1144 number from gcc-common.texi.
1145 * doc/cppinternals.texi: Include gcc-common.texi. Don't give last
1146 revision date. Use GCC version number from gcc-common.texi.
1147 Describe being a library as current state rather than as 3.x
1148 history.
1149 * doc/gcc.texi: Remove last update date.
1150 * doc/gccint.texi: Likewise. Update copyright dates.
1151 * doc/install.texi: Update copyright dates.
1152
69cdf050
JM
11532005-02-06 Joseph S. Myers <joseph@codesourcery.com>
1154
1155 PR other/7549
1156 * doc/invoke.texi: Mention for each option included in -Wall that
1157 it is included in -Wall.
1158 * doc/gcc.texi: Update copyright and last modification date.
1159
3520b745
ZD
11602005-02-06 Zdenek Dvorak <dvorakz@suse.cz>
1161
1162 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Do not add
1163 unnecessary cast to original induction variable increments.
1164
b0a168b6
ZD
11652005-02-06 Zdenek Dvorak <dvorakz@suse.cz>
1166
1167 PR tree-optimization/18219
1168 * tree-ssa-loop-ivopts.c (get_computation_at): Produce computations
1169 in distributed form.
1170
2c58f7dd
RS
11712005-02-06 Richard Sandiford <rsandifo@redhat.com>
1172
1173 * expmed.c (store_bit_field): Make the SUBREG code adjust bitnum.
1174 Set bitpos and offset later in the function. Do nothing if the
1175 target is a register and if the bitfield lies completely outside
1176 that register.
1177 (extract_bit_field): Make the same SUBREG, bitpos and offset changes
1178 here. Return an uninitialised register if the source value is stored
1179 in a register and the bitfield lies completely outside that register.
1180
55c4ae3f
SB
11812005-02-06 Steven Bosscher <stevenb@suse.de>
1182
1183 * df.c (df_insn_refs_record): Use XEXP to get the operand of a USE,
1184 not SET_DEST.
1185
cbd13f8a
MD
11862005-02-06 Marcin Dalecki <martin@dalecki.de>
1187
1188 * diagnostic.c (default_diagnostic_finalizer): Fix use of attribute.
1189
f1b4c8d8
GK
11902005-02-06 Geoffrey Keating <geoffk@apple.com>
1191
1192 * config.gcc (*-*-darwin*): Separate darwin7 and darwin8 configs.
1193 * config/darwin8.h: New.
1194 * config/darwin7.h: Update comment.
1195
773af5d0
LB
11962005-02-03 Leehod Baruch <leehod@il.ibm.com>
1197 Dorit Naishlos <dorit@il.ibm.com>
1198
1199 * tree-vectorizer.h (LOC): New type.
1200 (UNKNOWN_LOC, EXPR_LOC, LOC_FILE, LOC_LINE): New macros.
1201 (loop_line_number): New field in struct _loop_vec_info.
1202 (LOOP_VINFO_LOC, LOOP_LOC): New macros.
1203
1204 * tree-vectorizer.c (input.h): Included.
1205 (find_loop_location): New function.
1206 (vect_debug_stats): Argument changed from loop to LOC. Computation of
1207 loop line number removed.
1208 (vect_debug_details): Likewise.
1209 (new_loop_vec_info): Initialize new field LOOP_VINFO_LOC.
1210
1211 (slpeel_make_loop_iterate_ntimes): Call find_loop_location. Argument in
1212 call to vect_debug_details/stats changed from loop to loop_loc.
1213 (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
1214 (slpeel_tree_peel_loop_to_edge): Likewise.
1215
1216 (vect_analyze_offset_expr): Argument in call to vect_debug_details/stats
1217 changed from NULL to UNKNOWN_LOC.
1218 (vect_get_base_and_offset):
1219 (vect_create_addr_base_for_vector_ref):
1220 (get_vectype_for_scalar_type):
1221 (vect_create_data_ref_ptr):
1222 (vect_init_vector):
1223 (vect_get_vec_def_for_operand):
1224 (vect_finish_stmt_generation):
1225 (vectorizable_assignment):
1226 (vectorizable_operation):
1227 (vectorizable_store):
1228 (vectorizable_load):
1229 (vect_transform_stmt):
1230 (vect_update_ivs_after_vectorizer):
1231 (vect_do_peeling_for_loop_bound):
1232 (vect_do_peeling_for_alignment):
1233 (vect_transform_loop):
1234 (vect_is_simple_use):
1235 (vect_analyze_operations):
1236 (vect_is_simple_iv_evolution):
1237 (vect_analyze_scalar_cycles):
1238 (vect_analyze_data_ref_dependences):
1239 (vect_compute_data_ref_alignment):
1240 (vect_enhance_data_refs_alignment):
1241 (vect_analyze_data_ref_access):
1242 (vect_analyze_data_ref_accesses):
1243 (vect_analyze_pointer_ref_access):
1244 (vect_get_memtag_and_dr):
1245 (vect_analyze_data_refs):
1246 (vect_mark_relevant):
1247 (vect_stmt_relevant_p):
1248 (vect_mark_stmts_to_be_vectorized):
1249 (vect_can_advance_ivs_p):
1250 (vect_get_loop_niters):
1251 (vect_analyze_loop):
1252 (vectorize_loops): Likewise.
1253
1254 (vectorizable_load): Argument in call to vect_debug_details/stats
1255 changed from loop to LOOP_LOC (loop_vinfo).
1256 (vect_transform_loop):
1257 (vect_analyze_operations):
1258 (vect_analyze_scalar_cycles):
1259 (vect_analyze_data_ref_dependence):
1260 (vect_enhance_data_refs_alignment):
1261 (vect_analyze_data_ref_accesses):
1262 (vect_analyze_pointer_ref_access):
1263 (vect_analyze_data_refs):
1264 (vect_analyze_loop): Likewise.
1265
1266 (vect_analyze_loop_form): Argument in call to vect_debug_details/stats
1267 changed from loop to loop_loc.
1268
1269 (vect_enhance_data_refs_alignment): Removed unused variable loop.
1270
ef302293
LB
12712005-02-03 Leehod Baruch <leehod@il.ibm.com>
1272 Dorit Naishlos <dorit@il.ibm.com>
1273
1274 * tree-vectorizer.c (vect_analyze_data_ref_dependence): Function
1275 declaration added.
1276 (vect_analyze_data_ref_dependences): Likewise.
1277
1278 (vect_is_simple_use): Argument changed from loop structure to
1279 loop_vect_info structure.
1280 (vect_can_advance_ivs_p): Likewise.
1281 (vect_create_index_for_vector_ref): Likewise.
1282 (vect_update_ivs_after_vectorizer): Likewise.
1283 (new_stmt_vec_info): Likewise.
1284
1285 (new_loop_vec_info): Second argument in call to new_stmt_vec_info was
1286 changed from loop to loop_vinfo.
1287 (vect_create_data_ref_ptr): First argument in call to
1288 vect_create_index_for_vector_ref was changed from loop to loop_vinfo.
1289 (vectorizable_assignment): Second argument in call to vect_is_simple_use
1290 was changed from loop to loop_vinfo.
1291 (vectorizable_operation): Likewise.
1292 (vectorizable_store): Likewise.
1293 (vect_mark_stmts_to_be_vectorized): Likewise.
1294 (vect_do_peeling_for_loop_bound): First argument in call to
1295 vect_update_ivs_after_vectorizer was changed from loop to loop_vinfo.
1296 (vect_analyze_operations): Argument in call to vect_can_advance_ivs_p
1297 was changed from loop to loop_vinfo.
1298 (vect_analyze_data_ref_dependences): Third argument in call to
1299 vect_analyze_data_ref_dependence was changed from loop to loop_vinfo.
1300
1301 (vect_create_index_for_vector_ref): Get the loop from loop_vinfo.
1302 (vect_create_data_ref_ptr): Likewise.
1303 (vect_init_vector): Likewise.
1304 (vect_get_vec_def_for_operand): Likewise.
1305 (vectorizable_assignment): Likewise.
1306 (vectorizable_operation): Likewise.
1307 (vectorizable_store): Likewise.
1308 (vectorizable_load): Likewise.
1309 (vect_update_ivs_after_vectorizer): Likewise.
1310 (vect_is_simple_use): Likewise.
1311 (vect_analyze_data_ref_dependence): Likewise.
1312 (vect_analyze_pointer_ref_access): Likewise.
1313 (vect_can_advance_ivs_p): Likewise.
1314
1315 * tree-vectorizer.h: (_loop_vec_info): Definition and macros moved
1316 before _stmt_vec_info.
1317 (_stmt_vec_info): Loop field replaced by loop_vec_info.
1318 (STMT_VINFO_LOOP): Replaced with STMT_VINFO_LOOP_VINFO.
1319 (new_stmt_vec_info): Argument changed from loop structure to
1320 loop_vect_info structure
1321
1322 (vect_analyze_data_ref_dependences): Unnecessary line was removed.
1323 (vect_analyze_offset_expr): Avoid 80 columns overflow.
1324 (vect_create_addr_base_for_vector_ref): Likewise.
1325 (vect_analyze_pointer_ref_access): Likewise.
1326
9df935d8
AP
13272005-02-03 Andrew Pinski <pinskia@physics.uc.edu>
1328
1329 PR tree-opt/19768
1330 * tree-ssa-dse.c (fix_phi_uses): Update the occurs in abnormal
1331 phi flag if the phi is abnormal.
1332
50d4a707
AP
13332005-02-03 Andrew Pinski <pinskia@physics.uc.edu>
1334
1335 PR tree-opt/19736
1336 * tree-ssa.c (replace_immediate_uses): Update the immediate_uses
1337 information for the new statement.
1338
cd21f044
JM
13392005-02-03 Joseph S. Myers <joseph@codesourcery.com>
1340
1341 PR driver/19117
1342 * gcc.c (main): Include the target in -v output.
1343
aa2d0bc3
AO
13442005-02-03 Alexandre Oliva <aoliva@redhat.com>
1345
1346 * combine.c (simplify_comparison, case SIGN_EXTEND, ZERO_EXTEND):
1347 Do not drop the extend if we'd have to add a paradoxical subreg
1348 later. Include optabs.h and insn-codes.h.
1349 * Makefile.in (combine.o): Depend on $(OPTABS_H).
1350
762297d9
RS
13512005-02-02 Roger Sayle <roger@eyesopen.com>
1352
1353 PR middle-end/19405
1354 * real.h (REAL_MODE_FORMAT_COMPOSITE_P): New macro.
1355 * fold-const.c (const_binop): Avoid constant folding floating
1356 point operations in modes that use composite representations.
1357 * simplify-rtx.c (simplify_binary_operation): Likewise.
1358
666158b9
GK
13592005-02-02 Geoffrey Keating <geoffk@apple.com>
1360
1361 * config/rs6000/altivec.md (altivec_dst): Make the first operand
1362 a REG, not a MEM.
1363 (altivec_dstt): Likewise.
1364 (altivec_dstst): Likewise.
1365 (altivec_dststt): Likewise.
1366 * config/rs6000/rs6000.c (altivec_expand_dst_builtin): Adjust creation
1367 of first operand.
1368
cce4ca55
DN
13692005-02-03 Dorit Naishlos <dorit@il.ibm.com>
1370
1371 * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Copy
1372 EXPR_LOCUS from orig_cond to the new cond_stmt.
1373 (vect_finish_stmt_generation): Copy EXPR_LOCUS from stmt to
1374 the new vec_stmt.
1375
13762005-02-03 Dorit Naishlos <dorit@il.ibm.com>
1377
1378 * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Call
1379 standard_iv_increment_position. Remove call to bsi_next
1380 (no need to bump the iterator anymore).
1381 (vect_create_index_for_vector_ref): Call
1382 standard_iv_increment_position. Remove second function argument.
1383 (vect_finish_stmt_generation): Remove call to bsi_next
1384 (no need to bump the iterator anymore).
1385 (vect_create_data_ref_ptr): Remove second argument (bsi) in call
1386 to vect_create_index_for_vector_ref.
1387
13882005-02-03 Dorit Naishlos <dorit@il.ibm.com>
1389
1390 * tree-vectorizer.c (vect_mark_stmts_to_be_vectorized): Check if
1391 phis are used out of the loop.
1392
73aea290
JM
13932005-02-03 Joseph S. Myers <joseph@codesourcery.com>
1394
1395 PR c/17807
1396 * c-decl.c (undef_nested_function): New variable.
1397 (pop_scope): Diagnose undefined nested functions.
1398 (finish_function): Don't attempt cgraph processing or genericizing
1399 if current top-level function contained an undefined nested
1400 function. Reset undef_nested_function at the end of a top-level
1401 function.
1402
89d12f5d
ZD
14032005-02-02 Zdenek Dvorak <dvorakz@suse.cz>
1404
1405 * tree.c (build_int_cst_type): Take sign of the value into account
1406 when deciding whether sign extend the value.
1407
740ca4b2
JM
14082005-02-02 Joseph S. Myers <joseph@codesourcery.com>
1409
1410 PR c/18502
1411 * gcc.c (cpp_unique_options): Remove %{trigraphs}.
1412 (cpp_options, cc1_options): Change %{std*&ansi} to
1413 %{std*&ansi&trigraphs}.
1414
a52aff23
KH
14152005-02-02 Kazu Hirata <kazu@cs.umass.edu>
1416
1417 * cse.c: Update comments.
1418
cf676baa
AH
14192005-02-02 Aldy Hernandez <aldyh@redhat.com>
1420
1421 * config/rs6000/rs6000.c (rs6000_spe_function_arg): Multi-reg
1422 arguments go on the stack. Do not put complex doubles in odd/even
1423 pairs.
1424
08711fdf
SB
14252005-02-02 Steven Bosscher <stevenb@suse.de>
1426
1427 * doc/invoke.texi: Update the options enabled at -O1, -O2,
1428 and -O3. Update the documentation for -fgcse-sm, -fgcse-las,
1429 -ftree-pre, and -fthread-jumps.
1430
7ded35b4
RS
14312005-02-02 Richard Sandiford <rsandifo@redhat.com>
1432
1433 PR tree-optimization/19578
1434 * tree-flow.h (modified_noreturn_calls): Declare.
1435 (noreturn_call_p): Declare.
1436 * tree-flow-inline.h (noreturn_call_p): New function.
1437 (modify_stmt): Add modified noreturn calls to modified_noreturn_calls.
1438 * tree-cfg.c (modified_noreturn_calls): New variable.
1439 (cleanup_control_flow): Use noreturn_call_p. Split basic blocks
1440 that contain a mid-block noreturn call.
1441 * tree-ssa.c (delete_tree_ssa): Clear modified_noreturn_calls.
1442
d01da8bd
KH
14432005-02-02 Kazu Hirata <kazu@cs.umass.edu>
1444
1445 * df.c (df_def_record_1, df_uses_record): Don't use
1446 DF_FOR_REGALLOC.
1447 * df.h (DF_FOR_REGALLOC): Remove.
1448
493179da
JM
14492005-02-02 Joseph S. Myers <joseph@codesourcery.com>
1450
1451 PR c/19435
1452 * c-typeck.c (really_start_incremental_init): Reset
1453 constructor_max_index for arrays of incomplete type.
1454
ed425871
JL
14552005-02-02 Jeff Law <law@redhat.com>
1456
1457 * gcse.c (struct reg_set): Store the block index where the register
1458 was set rather than the setting insn.
1459 (record_one_set, compute_transp): Corresponding changes.
1460 (pre_insert_copy_insn): Do not call replace_one_set.
1461 (replace_one_set): Remove.
1462
d02d7104
JM
14632005-02-02 Joseph S. Myers <joseph@codesourcery.com>
1464
1465 PR other/15514
1466 * doc/gcov.texi: Fix typo.
1467
c1c5b5e3
RH
14682005-02-01 Richard Henderson <rth@redhat.com
1469
1470 PR target/19680
1471 * config/i386/i386.h (MODES_TIEABLE_P): Use ix86_modes_tieable_p.
1472 * config/i386/i386.c (ix86_hard_regno_mode_ok): Change return
1473 type to bool.
1474 (ix86_tieable_integer_mode_p, ix86_modes_tieable_p): New.
1475 * config/i386/i386-protos.h: Update.
1476
7a442a1d
SB
14772005-02-01 Steven Bosscher <stevenb@suse.de>
1478
1479 PR tree-optimization/19217
1480 * tree-cfg.c (verify_expr): Use the data field to see if TP was
1481 seen inside a PHI node. Do not do the ADDR_EXPR check if it was.
1482 (verify_stmts): Pass (void*)1 as data to verify_expr to signal
1483 that it is walking a PHI node.
1484
475b6e22
JM
14852005-02-01 Joseph S. Myers <joseph@codesourcery.com>
1486
1487 * doc/extend.texi (Nested Functions): Update.
1488
ca58f2bc
RH
14892005-02-01 Richard Henderson <rth@redhat.com>
1490
1491 PR 19696
1492 * optabs.c (expand_copysign_absneg): Export.
1493 * optabs.h (expand_copysign_absneg): Declare.
1494 * config/rs6000/rs6000.md (copysigntf3): New.
1495
a1d13fa1
DN
14962005-02-01 Diego Novillo <dnovillo@redhat.com>
1497
1498 PR tree-optimization/19633
1499 * tree-flow.h (struct ptr_info_def): Add field 'pt_null'.
1500 * tree-ssa-alias.c (init_alias_info): Initialize.
1501 (merge_pointed_to_info): Set.
1502 (add_pointed_to_expr): Set pt_null if EXPR is a NULL pointer.
1503 (dump_points_to_info_for): Show value of pt_null.
1504 (struct count_ptr_d): Declare.
1505 (find_ptr_dereference): Remove.
1506 (ptr_is_dereferenced_by): Remove.
1507 (count_ptr_derefs): New local function.
1508 (count_uses_and_derefs): New local function.
1509 (compute_points_to_and_addr_escape): Call it. If the number
1510 of dereferences is greater than zero, mark the pointer as
1511 dereferenced. If there are fewer dereferences than uses of
1512 the pointer, the pointer's value escapes.
1513
28a3618f
DN
15142005-02-01 Diego Novillo <dnovillo@redhat.com>
1515
1516 PR tree-optimization/19670
1517 * tree-ssa.c (verify_ssa_name): Don't set TREE_VISITED
1518 here...
1519 (verify_use): ... set it here, instead.
1520
8d2d2ec6
JJ
15212005-02-01 Janis Johnson <janis187@us.ibm.com>
1522
cc95a845
JJ
1523 * doc/sourcebuild.texi (Test directives): Fix formatting.
1524
8d2d2ec6
JJ
1525 * doc/sourcebuild.texi (Test directives): Describe selector
1526 expressions.
1527
d1c8addb
SB
15282005-02-01 Segher Boessenkool <segher@kernel.crashing.org>
1529
1530 * config.gcc (powerpc64-*-linux*): Default to -m64 also for
1531 specific 64-bit CPUs.
1532
6555b6bd
RE
15332005-02-01 Richard Earnshaw <rearnsha@arm.com>
1534
1535 PR target/16201
1536 * arm.c (arm_eliminable_register): New function.
1537 (adjacent_mem_locations): Don't allow eliminable registers. Use
1538 HOST_WIDE_INT for address offsets.
1539 * arm-protos.h (arm_eliminable_register): Add prototype.
1540
bbcb0c05
SB
15412005-02-01 Steven Bosscher <stevenb@suse.de>
1542
1543 PR optimization/15242
1544 * params.def (PARAM_MAX_GOTO_DUPLICATION_INSNS): New param.
1545 * basic-block.h (duplicate_computed_gotos): Add prototype.
1546 * bb-reorder.c (duplicate_computed_gotos): New function to
1547 duplicate sufficiently small blocks ending in a computed jump.
1548 * passes.c (rest_of_compilation): Call duplicate_computed_gotos
1549 if not optimizing for size.
1550 * cfgcleanup.c (try_crossjump_bb): If not optimizing for size,
1551 never do tail merging for blocks ending in a computed jump.
1552 * doc/invoke.texi: Document the max-goto-duplication-insns param.
1553
9c0a30c3
EB
15542005-02-01 Eric Botcazou <ebotcazou@libertysurf.fr>
1555
1556 Patch from Richard Sandiford <rsandifo@redhat.com>
1557 * reload1.c (choose_reload_regs): Prevent the find_equiv_reg() code
1558 from inheriting a subreg equivalence with a non-spill register.
1559
1560 * tree.h (DECL_FUNCTION_CODE): Document that it is overloaded.
1561
7b150713
AO
15622005-02-01 Alexandre Oliva <aoliva@redhat.com>
1563
1564 * config/frv/frv.c (movcc_fp_destination_operand): New.
1565 (gpr_or_memory_operand): Fix typo in comment.
1566 (gpr_or_memory_operand_with_scratch): New.
1567 * config/frv/frv.h (PREDICATE_CODES): Add the two new predicates.
1568 * config/frv/frv.md (movcc_fp, movcc_fp_internal): Use
1569 movcc_fp_destination_operand.
1570 (reload_incc_fp): Use gpr_or_memory_operand_with_scratch.
1571 Legitimize memory addresses using a scratch register.
1572
dc5d4efb
JL
15732005-01-31 Jeff Law <law@redhat.com>
1574
7d793e36
JL
1575 * tree-into-ssa.c (mark_def_sites_global_data): Make KILLS
1576 bitmap a sparse bitmap instead of a simple bitmap.
1577 (mark_def_sites_initialize_block): Corresponding changes.
1578 (ssa_mark_def_sites_initialize_block): Likewise.
1579 (ssa_mark_phi_uses): Likewise.
1580 (mark_def_site, ssa_mark_def_sites): Likewise.
1581 (mark_def_site_blocks): Likewise.
1582 (rewrite_ssa_into_ssa): Likewise.
1583
5746637c
JL
1584 * tree-ssa-dom.c (record_cond): Pass correct variable type
1585 for last argument to htab_find_slot_with_hash.
1586
1587 * fold-const.c (fold, case CEIL_MOD_EXPR): Do not lose side
1588 effects when optimizing 0 % X. Do not try to optimize X % 0.
dc5d4efb 1589
3dcec1e9
JW
15902005-01-31 James E. Wilson <wilson@specifixinc.com>
1591
1592 * config/ia64/itanium1.md (1_scall bypass): Change 2_mmalua to
1593 1_mmalua.
1594
fc474307
EC
15952005-02-01 Eric Christopher <echristo@redhat.com>
1596
1597 * config/mips/mips.c (override_options): Warn if -mint64
1598 is used.
1599 * doc/invoke.texi (MIPS Options): Document that -mint64 is
1600 deprecated.
1601
bc5e3b54
KH
16022005-02-01 Kazu Hirata <kazu@cs.umass.edu>
1603
1604 * cse.c (cse_reg_info): Remove hash_next, next, regno. Add
1605 timestamp.
1606 (cse_reg_info_list, cse_reg_info_list_free, REGHASH_SHIFT,
1607 REGHASH_SIZE, REGHASH_MASK, reg_hash, REGHASH_FN,
1608 cached_cse_reg_info, GET_CSE_REG_INFO): Remove.
1609 (cached_regno): Initialize to INVALID_REGNUM.
1610 (cse_reg_info_table_size,
1611 cse_reg_info_table_first_uninitialized,
1612 cse_reg_info_timestamp): New.
1613 (REG_TICK, REG_IN_TABLE, SUBREG_TICKED, REG_QTY): Use
1614 get_cse_reg_info.
1615 (init_cse_reg_info, get_cse_reg_info_1): New.
1616 (get_cse_reg_info): Cache the last look-up.
1617 (new_basic_block): Update the code to clear mappings from
1618 registers to cse_reg_info entries.
1619 (cse_main): Call init_cse_reg_info.
1620
782c0a3e
KH
1621 * cse.c (get_cse_reg_info): Update a comment.
1622
b4519d39
SB
16232005-01-31 Steven Bosscher <stevenb@suse.de>
1624
1625 PR c/19333
1626 * c-decl.c (start_decl): Do not warn about arrays of elements with
1627 an incomplete type here.
1628 (grokdeclarator): Do it here by making a pedwarn an error.
1629 * c-typeck.c (push_init_level): If there were previous errors with
1630 the constructor type, do not warn about braces for initializers.
1631 (process_init_element): Likewise for excess initializer elements.
1632
65e9fa10
KH
16332005-01-31 Kazu Hirata <kazu@cs.umass.edu>
1634
1635 * cse.c (delete_trivially_dead_insn): Don't iterate.
1636
0530bc70
AP
16372005-01-31 Andrew Pinski <pinskia@physics.uc.edu>
1638
1639 * config/rs6000/rs6000.md (copysignsf3): New expand.
1640 (copysigndf3): Likewise.
1641
9ea88834
SB
16422005-01-31 Steven Bosscher <stevenb@suse.de>
1643
1644 * recog.c (constrain_operands): Only look for earlyclobber operand
1645 conflicts if an '&' constraint was seen.
1646
75a3bd9d
ME
16472005-01-31 Marc Espie <espie@openbsd.org>
1648
1649 * config.gcc: Don't include embedded systems fragment, switches default
1650 debugging format to ELF.
1651 * config/i386/openbsdelf.h: Add DBX_REGISTER_NUMBER since we no
1652 longer pick it up there.
1653
28697267
DJ
16542005-01-31 Dale Johannesen <dalej@apple.com>
1655
1656 * doc/extend.texi (nested functions): Fix linkage description.
1657 Clarify that static is not allowed.
1658
e87d92f4
DJ
16592005-01-31 Dale Johannesen <dalej@apple.com>
1660
1661 * config/rs6000/darwin.md (movsf_low_di): Make work.
1662 (movdf_low_di): Make work.
1663
42d262fa
DJ
16642005-01-31 Dale Johannesen <dalej@apple.com>
1665
1666 * config/rs6000/darwin-tramp.asm (__trampoline_setup):
1667 Make work for 64 bit.
1668
3b70b82a
DJ
16692005-01-31 Roger Sayle <roger@eyesopen.com>
1670 Dale Johannesen <dalej@apple.com>
1671
1672 PR middle-end/19650
1673 * fold-const.c (fold_binary_op_with_conditional_arg):
1674 Make types match original operands, before STRIP_NOPS.
1675
a7a52913
AM
16762005-01-31 Alan Modra <amodra@bigpond.net.au>
1677
1678 * config/rs6000/linux-unwind.h (struct gcc_vregs): New.
1679 (struct gcc_regs): Rename from gcc_pt_regs. Add more regs.
1680 (struct gcc_sigcontext): Delete. Merge contents to..
1681 (struct gcc_ucontext): ..here.
1682 (get_sigcontext): Delete.
1683 (get_regs): New function, like get_sigcontext but return regs ptr.
1684 64-bit version finds regs from r1 to support vdso.
1685 (ppc_linux_aux_vector): New function.
1686 (ppc_fallback_frame_state): Modify for get_regs. Restore fprs
1687 and vector regs.
1688
261ba0c8
IR
16892005-01-31 Ira Rosen <irar@il.ibm.com>
1690
1691 * tree-vectorizer.c (vect_analyze_offset_expr): Use ssizetype instead
1692 sizetype.
1693 (vect_get_base_and_offset): Use ssizetype instead sizetype. Remove
1694 redundant fold. Fix misalignment for MINUS_EXPR.
1695 (vect_compute_data_ref_alignment): Use ssizetype instead sizetype.
1696 (vect_analyze_pointer_ref_access): Likewise.
1697 (vect_get_memtag_and_dr): Likewise.
1698
2ae1ac77
RH
16992005-01-31 Richard Henderson <rth@redhat.com>
1700
1701 * config/i386/i386.c (absnegsf2_mixed): Remove all of the # hackery.
1702 (absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed, absnegdf2_sse,
1703 absnegdf2_i387, absnegxf2_i387): Likewise.
1704
ae394659
RH
17052005-01-31 Richard Henderson <rth@redhat.com>
1706
1707 PR 19696
1708 * optabs.c (expand_copysign_absneg): New.
1709 (expand_copysign_bit): Split out from ...
1710 (expand_copysign): ... here. Use expand_copysign_absneg.
1711
ebcaaa21
RS
17122005-01-30 Roger Sayle <roger@eyesopen.com>
1713
1714 PR middle-end/19697
1715 * config/pa/pa.md (anddi3, iordi3): On HPPA64, disallow an integer
1716 constant as the second operand and a register as the third.
1717
6cc37e7e
DS
17182005-01-31 Danny Smith <dannysmith@users.sourceforge.net>
1719
1720 PR target/19704
1721 * config/i386/i386.c (ix86_function_ok_for_sibcall): Also check
1722 that dllimport'd functions do not use all call-clobbered registers
1723 to pass parameters.
1724
8c55a142
RH
17252005-01-30 Richard Henderson <rth@redhat.com>
1726
1727 PR 19696
1728 * optabs.c (expand_absneg_bit): Split out from expand_unop and
1729 expand_abs_nojump and generalize. Use operand_subword and
1730 emit_no_conflict_block. Support large modes.
1731 (expand_abs_nojump): Use it. Use HONOR_SIGNED_ZEROS to fall
1732 back to maximum.
1733 (expand_unop): Likewise. Use HONOR_SIGNED_ZEROS to fall back
1734 negation to subtraction.
1735 (expand_copysign): Check that the format has signed zeros.
1736 Use operand_subword and emit_no_conflict_block. Support large modes.
1737
338bc65e
DB
17382005-01-30 Daniel Berlin <dberlin@dberlin.org>
1739
1740 Fix PR tree-optimization/19624
1741
1742 * Makefile.in (tree-ssa-pre.o): Add CFGLOOP_H.
1743 * tree-ssa-pre.c: Add cfgloop.h.
1744 Update comment.
1745 (pre_stats): New member, constified.
1746 (inserted_exprs): New static variable.
1747 (NECESSARY): New macro.
1748 (create_expression_by_pieces): Fold the expression, and
1749 mark it as defaulting to not necessary. Also put in
1750 inserted_exprs.
1751 (fully_constant_expression): New function.
1752 (insert_into_preds_of_block): Modify to not insert phis when we
1753 are playing with induction variables.
1754 Push phis onto the inserted_exprs vector, and mark them as not
1755 necessary by default.
1756 (insert_aux): Call fully_constant_expression on eprime.
1757 If all edges produce the same value, mark it constant.
1758 (mark_operand_necessary): New function.
1759 (remove_dead_inserted_code): New function.
1760 (init_pre): Init loop optimizer to get loop info.
1761 (fini_pre): Free loop_optimizer, and inserted_exprs vec.
1762 (execute_pre): Commit edge inserts, then remove dead code.
1763
237f420b
RH
17642005-01-30 Richard Henderson <rth@redhat.com>
1765
1766 * rtl.c (rtx_equal_p): No early exit for CONST_VECTOR.
1767 * varasm.c (const_rtx_hash_1): Handle CONST_VECTOR.
1768
b99d6d2b
RH
17692005-01-30 Richard Henderson <rth@redhat.com>
1770
1771 PR target/19700
1772 * config/i386/i386.c (ix86_expand_copysign): New.
1773 (ix86_split_copysign_const): New.
1774 (ix86_split_copysign_var): Rename from ix86_split_copysign,
1775 rearrange op1/nmask operands.
1776 * config/i386/i386-protos.h: Update.
1777 * config/i386/i386.md (copysignsf3): Use ix86_expand_copysign.
1778 (copysigndf3): Likewise.
1779 (copysignsf3_const, copysigndf3_const): New.
1780 (copysignsf3_var): Rename from copysignsf3, split out splitter
1781 and fix split predicate for X constraint.
1782 (copysigndf3_var): Similarly.
1783
c5c367ac
KH
17842005-01-30 Kazu Hirata <kazu@cs.umass.edu>
1785
1786 * optabs.c, doc/c-tree.texi, doc/install.texi, doc/md.texi,
1787 doc/passes.texi, doc/rtl.texi, doc/sourcebuild.texi,
1788 doc/tm.texi, doc/tree-ssa.texi: Update copyright.
1789
d6eabd43
RH
17902005-01-29 Richard Henderson <rth@redhat.com>
1791
1792 PR target/19690
1793 * config/i386/i386.md (movdf_nointeger, movdf_integer): Fix ordering
1794 of # and * in constraints.
1795
8d740330
RH
17962005-01-29 Richard Henderson <rth@redhat.com>
1797
1798 PR middle-end/19689
1799 * expr.c (store_field): Don't strip sub-mode cast when the input
1800 data is even smaller.
1801
486e4326
RH
18022005-01-29 Richard Henderson <rth@redhat.com>
1803
1804 PR middle-end/19687
1805 * expr.c (categorize_ctor_elements_1): Check for CONSTRUCTOR of a
1806 union being empty.
1807
eb2ab511
RH
18082005-01-29 Richard Henderson <rth@redhat.com>
1809
1810 * combine.c (make_field_assignment): Fix argument order
1811 to gen_int_mode.
1812
020d90ee
RG
18132005-01-29 Richard Guenther <richard.guenther@uni-tuebingen.de>
1814
1815 PR tree-optimization/15791
1816 * fold-const.c (extract_array_ref): New function.
1817 (fold): Fold comparisons between &a[i] and &a[j] or
1818 semantically equivalent trees.
1819
b6e47ceb
JL
18202005-01-29 Jeff Law <law@redhat.com>
1821
1822 * gcse.c (insert_expr_in_table): Revamp handling of available
1823 and anticipatable occurrence lists to avoid unnecessary list
1824 walking.
1825 (insert_set_in_table): Similarly.
1826
46df2823
JM
18272005-01-29 Joseph S. Myers <joseph@codesourcery.com>
1828
1829 * c-common.c (fix_string_type): Just use c_build_qualified_type to
1830 build string type.
1831 (c_build_qualified_type): Build qualified array types with
1832 TYPE_MAIN_VARIANT pointing to corresponding unqualified type.
1833 * c-decl.c (c_make_fname_decl): Build unqualified array type
1834 before qualified type.
1835 (grokdeclarator): Use TYPE_MAIN_VARIANT of typedef type if element
1836 type is qualified, not just if type itself is. Don't apply
1837 qualifiers to array type when declarator is processed. Apply
1838 qualifiers to field type whether or not it is an array type.
1839 Don't handle array types specially for applying qualifiers to
1840 variables.
1841 * c-typeck.c (composite_type): Build unqualified element type and
1842 array type when forming composite of array types.
1843 (common_pointer_type, comptypes, comp_target_types,
1844 type_lists_compatible_p, build_indirect_ref, build_array_ref,
1845 convert_for_assignment): Don't apply TYPE_MAIN_VARIANT to array
1846 types.
1847 (type_lists_compatible_p): Cache TREE_VALUE (args1) and TREE_VALUE
1848 (args2) in variables a1 and a2.
1849
26af0046
KH
18502005-01-29 Kazu Hirata <kazu@cs.umass.edu>
1851
1852 * cse.c (n_elements_made, max_elements_made): Remove.
1853 (insert): Don't touch n_elements_made.
1854 (cse_main): Don't touch n_elements_made or max_elements_made.
1855
3a951664
SC
18562005-01-28 Stephane Carrez <stcarrez@nerim.fr>
1857
1858 PR target/15384
1859 * config/m68hc11/t-m68hc11-gas (dp-bit.c): Fix typo causing a
1860 configuration part of dp-bit.c to be lost.
1861
82dfb9a5
RS
18622005-01-28 Roger Sayle <roger@eyesopen.com>
1863
1864 * expmed.c (expand_mult_highpart_optab): When attempting to use
1865 a non-widening multiplication in a wider mode, the operands need
1866 to be converted (zero or sign extended) to that mode.
1867
09f8cf2d
ILT
18682005-01-28 Ian Lance Taylor <ian@airs.com>
1869
1870 PR middle-end/16558
1871 PR middle-end/19583
1872 * gimple-low.c (block_may_fallthru): TRY_FINALLY_EXPR only falls
1873 through if both operands fall through.
1874
01aa1d43
KH
18752005-01-28 Kazu Hirata <kazu@cs.umass.edu>
1876
1877 * cse.c (fold_rtx) <PC>: Don't optimize.
1878
139c978a
JL
18792005-01-28 Jeff Law <law@redhat.com>
1880
1881 * fold-const.c (fold, case CEIL_MOD_EXPR): Optimize 0 % X.
1882 (case FLOOR_MOD_EXPR, ROUND_MOD_EXPR, TRUNC_MOD_EXPR): Similarly.
1883
1590d0d4
KH
18842005-01-28 Kazu Hirata <kazu@cs.umass.edu>
1885
1886 * cse.c (cse_reg_info_free_list, cse_reg_info_used_list,
1887 cse_reg_info_used_list_end): Remove.
1888 (cse_reg_info_list, cse_reg_info_list_free): New.
1889 (get_cse_reg_info): When allocating an instance of
1890 cse_reg_info, add it to the beginning of the cse_reg_info_list
1891 list. Remove code to maintain cse_reg_info_used_list.
1892 (new_basic_block): Reset the free list to the beginning of
1893 cse_reg_info_list.
1894
a738d848
RS
18952005-01-28 Richard Sandiford <rsandifo@redhat.com>
1896
1897 * config/frv/frv.c (bdesc_2arg): Remove __MDPACKH.
1898 (frv_init_builtins): Change its prototype to take 4 uhalf arguments.
1899 (frv_expand_mdpackh_builtin): New function.
1900 (frv_expand_builtin): Use it to expand __MDPACKH.
a738d848
RS
1901 * doc/extend.texi (__MDPACKH): Update documentation.
1902
2aa3d033
UB
19032005-01-28 Uros Bizjak <uros@kss-loka.si>
1904
1905 * config/i386/i386.c (ix86_expand_fp_absneg_operator): Use
1906 SSE_FLOAT_MODE_P for use_sse computation.
1907
7d7f3b95
RC
19082005-01-28 Ralf Corsepius <ralf.corsepius@rtems.org>
1909
1910 PR target/19663
1911 * config/sparc/rtemself.h (LINK_GCC_C_SEQUENCE_SPEC): undefine.
1912
046625fa
RH
19132005-01-27 Richard Henderson <rth@redhat.com>
1914
1915 * builtins.c (expand_builtin_copysign): New.
1916 (expand_builtin): Call it.
1917 * genopinit.c (optabs): Add copysign_optab.
1918 * optabs.c (init_optabs): Initialize it.
1919 (expand_copysign): New.
1920 * optabs.h (OTI_copysign, copysign_optab): New.
1921 (expand_copysign): Declare.
1922
1923 * config/alpha/alpha.md (UNSPEC_COPYSIGN): New.
1924 (copysignsf3, ncopysignsf3, copysigndf3, ncopysigndf3): New.
1925
1926 * config/i386/i386.c (ix86_build_signbit_mask): Split from ...
1927 (ix86_expand_fp_absneg_operator): ... here.
1928 (ix86_split_copysign): New.
1929 * config/i386/i386-protos.h: Update.
1930 * config/i386/i386.md (UNSPEC_COPYSIGN): New.
1931 (copysignsf3, copysigndf3): New.
1932
1933 * config/ia64/ia64.md (UNSPEC_COPYSIGN): New.
1934 (copysignsf3, ncopysignsf3): New.
1935 (copysigndf3, ncopysigndf3): New.
1936 (copysignxf3, ncopysignxf3): New.
1937 * config/ia64/ia64.c (rtx_needs_barrier): Handle UNSPEC_COPYSIGN.
1938
6c667859
AB
19392005-01-27 Arend Bayer <arend.bayer@web.de>
1940 Kazu Hirata <kazu@cs.umass.edu>
1941
1942 * cse.c: (find_best_addr): Don't call copy_rtx before calling
1943 fold_rtx. Save cost recomputation if fold_rtx did nothing.
1944 (fold_rtx) <ASM_OPERANDS>: Don't do anything if INSN is
1945 NULL_RTX.
1946
88af764e
JL
19472005-01-27 Jeff Law <law@redhat.com>
1948
1949 * tree-into-ssa.c (ssa_rewrite_initialize_block): Do not register
1950 definitions of SSA_NAMEs which are not being rewritten.
1951 (rewrite_ssa_into_ssa): Only initialize the current definition
1952 of an SSA_NAME if that SSA_NAME has been marked for rewriting.
1953 If checking is enabled, assert that SSA_NAME_AUX is clear for all
1954 SSA_NAMEs before returning.
1955
f93089d2
KH
19562005-01-27 Kazu Hirata <kazu@cs.umass.edu>
1957
1958 * c-common.def, c-dump.c, c-gimplify.c, c-objc-common.c,
1959 cfgexpand.c, dbxout.c, function.h, opts.c, tree-flow-inline.h,
1960 tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-tailcall.c,
1961 config/avr/avr.md, config/cris/aout.h, config/cris/cris.h,
1962 config/mips/iris6.h, config/sh/sh.c: Update copyright.
1963
116cb604
SB
19642005-01-27 Steven Bosscher <stevenb@suse.de>
1965
1966 PR middle-end/17278
1967 * opts.c (decode_options): Move flag_thread_jumps from -O1 and
1968 higher to -O2 and higher. Likewise for tree PRE.
1969 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only iterate at -O2
1970 and better.
1971
09f8cf2d 19722005-01-27 Ian Lance Taylor <ian@airs.com>
6737ba67
ILT
1973
1974 PR middle-end/19583
1975 * gimple-low.c (try_catch_may_fallthru): New static function.
1976 (block_may_fallthru): Handle TRY_CATCH_EXPR.
1977 * tree-inline.c (expand_call_inline): Don't warn about reaching
1978 the end of a non-void function being inlined if the function uses
1979 a return slot.
1980
d8dd2f3a
JJ
19812005-01-27 Jakub Jelinek <jakub@redhat.com>
1982
9d72d996
JJ
1983 * config/i386/i386.h (CALL_USED_REGISTERS): Fix comment pastos.
1984
d8dd2f3a
JJ
1985 PR c/18946
1986 * c-decl.c (warn_if_shadowing): Handle old_decl error_mark_node.
1987 (pushdecl): Only use DECL_FILE_SCOPE_P if DECL_P.
1988 (implicitly_declare): Handle error_mark_node.
1989
dad2a933
RH
19902005-01-27 Richard Henderson <rth@redhat.com>
1991
1992 PR tree-opt/14329
1993 * tree.h (struct tree_decl): Add debug_expr_is_from.
1994 (DECL_DEBUG_EXPR_IS_FROM): New.
1995 (DECL_DEBUG_EXPR): Rename from DECL_DEBUG_ALIAS_OF.
1996 * dwarf2out.c (dwarf2out_var_location): Update to match.
1997 * tree-outof-ssa.c (create_temp): Likewise.
1998 * var-tracking.c (track_expr_p): Likewise.
1999 * tree-sra.c (instantiate_element): Set DECL_DEBUG_EXPR.
2000 * c-objc-common.c (c_tree_printer) <'D'>: Handle DECL_DEBUG_EXPR.
2001 * toplev.c (default_tree_printer): Likewise.
2002
17c21957
AO
20032005-01-27 Alexandre Oliva <aoliva@redhat.com>
2004
2005 * config/frv/frv.c (frv_class_likely_spilled_p): Add GR8_REGS,
2006 GR9_REGS, GR89_REGS, FDPIC_FPTR_REGS, FDPIC_REGS.
2007
ebaae582
SB
20082005-01-27 Steven Bosscher <stevenb@suse.de>
2009
2010 * tree.h (SWITCH_COND, SWITCH_BODY, SWITCH_LABELS, CASE_LOW,
2011 CASE_HIGH, CASE_LABEL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS,
2012 ASM_CLOBBERS): Add tree checks.
2013
2014 * c-common.h (SWITCH_TYPE): Rename to SWITCH_STMT_TYPE.
2015 (SWITCH_STMT_COND, SWITCH_STMT_BODY): New.
2016 * c-common.def (SWITCH_STMT): Update to match.
2017 * c-common.c (c_do_switch_warnings): Use SWITCH_STMT accessor
2018 macros instead of SWITCH_EXPR ones.
2019 * c-dump.c (c_dump_tree): Likewise.
2020 * c-gimplify.c (gimplify_switch_stmt): Likewise.
2021 * c-typeck.c (c_start_case, do_case, c_finish_case): Likewise.
2022
2023 * doc/c-tree.texi (SWITCH_STMT): Update accessor macro names.
2024
7a706738
AM
20252005-01-27 Alan Modra <amodra@bigpond.net.au>
2026
2027 * unwind-dw2.c (execute_stack_op): Add missing cases for
2028 DW_OP_shl, DW_OP_shr, DW_OP_shra, DW_OP_xor.
2029
fe15407d
EB
20302005-01-27 Eric Botcazou <ebotcazou@libertysurf.fr>
2031
2032 * config.gcc (Obsolete configurations): Remove 'dummy', add
2033 sparclite-*-coff*, sparclite-*-elf*, sparc86x-*-elf* and
2034 sparc-*-openbsd*.
2035
87637d21
DN
20362005-01-26 Diego Novillo <dnovillo@redhat.com>
2037
2038 PR tree-optimization/19633
2039 * tree-ssa-alias.c (ptr_is_dereferenced_by): Also handle
2040 CALL_EXPRs.
2041 (maybe_create_global_var): Do not create .GLOBAL_VAR if there
2042 are no call-clobbered variables.
2043 * tree-outof-ssa.c (check_replaceable): Return false for calls
2044 with side-effects.
2045
9ff93eb0
UW
20462005-01-26 Ulrich Weigand <uweigand@de.ibm.com>
2047
2048 * dbxout.c (dbxout_symbol_location): Resolve constant pool references
2049 even for variables with NULL DECL_INITIAL.
2050
4356a1bf
SH
20512005-01-26 Stuart Hastings <stuart@apple.com>
2052
00adda9f 2053 * gimplify.c (shortcut_cond_expr): Re-compute side-effects.
4356a1bf 2054
48cc8d3b
RH
20552005-01-26 Richard Henderson <rth@redhat.com>
2056
2057 PR middle-end/18008
2058 * c-decl.c (finish_struct): Set DECL_MODE after resetting a
2059 field's type.
2060 * expr.c (store_field): Strip conversions to odd-bit-sized types
2061 if the destination field width matches.
2062
eec6bb06
RH
20632005-01-26 Richard Henderson <rth@redhat.com>
2064
2065 * c-decl.c, expmed.c, expr.c: Revert last change.
2066
78ef1e3d
RH
20672005-01-26 Richard Henderson <rth@redhat.com>
2068
2069 PR middle-end/18008
2070 * c-decl.c (finish_struct): Set DECL_MODE after resetting a
2071 field's type.
2072 * expmed.c (store_fixed_bit_field): Create a paradoxical subreg
2073 if we don't need the bits above those present in the current mode.
2074 * expr.c (store_field): Strip conversions to odd-bit-sized types
2075 if the destination field width matches.
2076
5596990f
RS
20772005-01-26 Richard Sandiford <rsandifo@redhat.com>
2078
2079 * config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if
2080 either -ffast-math or -funsafe-math-optimizations is in use.
2081
a3cf5992
MM
20822005-01-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
2083
2084 PR target/19293
2085 PR target/19329
2086 * config/avr/avr.c (notice_update_cc): Only set condition code for
2087 ashrqi3 if shift count > 0.
2088 (out_shift_with_cnt): Handle shift count <= 0 as a no-op.
2089 (ashlqi3_out, ashlhi3_out, ashlsi3_out, ashrqi3_out, ashrhi3_out,
2090 ashrsi3_out, lshrqi3_out, lshrhi3_out, lshrsi3_out): Handle shift
2091 count <= 0 as a no-op, and shift count >= width by copying zero
2092 or sign bit to all bits of the result.
2093 * config/avr/avr.md (all shifts): Add alternatives for zero shift
2094 count, with attribute "length" set to 0 and "cc" set to "none".
2095
e4dd71de
AH
20962005-01-26 Aldy Hernandez <aldyh@redhat.com>
2097
2098 * doc/invoke.texi: Document -mTLS.
2099
2100 * testsuite/gcc.target/frv/all-tls-global-dynamic.c: New.
2101 * testsuite/gcc.target/frv/all-tls-initial-exec.c: New.
2102 * testsuite/gcc.target/frv/all-tls-initial-exec-pic.c: New.
2103 * testsuite/gcc.target/frv/all-tls-local-dynamic.c: New.
2104 * testsuite/gcc.target/frv/all-tls-local-dynamic-plt.c: New.
2105 * testsuite/gcc.target/frv/all-tls-local-dynamic-plt-pic.c: New.
2106 * testsuite/gcc.target/frv/all-tls-local-exec.c: New.
2107 * testsuite/gcc.target/frv/all-tls-local-exec-TLS.c: New.
2108
2109 * configure.ac: Check for a TLS capable gas.
2110
2111 * configure: Regenerate.
78ef1e3d 2112
55e79aef
RH
21132005-01-26 Richard Henderson <rth@redhat.com>
2114
2115 PR middle-end/18008
2116 * combine.c (make_field_assignment): Simplify store to zero_extract
2117 from a source with an overlapping mask.
2118
af30facd
AH
21192005-01-26 Aldy Hernandez <aldyh@redhat.com>
2120
2121 2004-11-11 Eric Christopher <echristo@redhat.com>
2122
ebaae582
SB
2123 * config/frv/frv.md: Add fr400_integer automaton. Don't
2124 allow TYPE_MUL, TYPE_MACC, or TYPE_CUT to issue in parallel
2125 to TYPE_MACC.
af30facd 2126
f7aa1423
SB
21272005-01-26 Steven Bosscher <stevenb@suse.de>
2128
2129 PR middle-end/16585
2130 * cfgbuild.c (make_edges): Do not clear or set
2131 current_function_has_computed_jump.
2132 * function.h (struct function): Remove the has_computed_jump field.
2133 (current_function_has_computed_jump): Do not define.
2134 * sched-rgn.c (is_cfg_nonregular): Return true if a basic block ends
2135 in a computed jump. Ignore current_function_has_computed_jump.
2136
6f642f98
RH
21372005-01-26 Richard Henderson <rth@redhat.com>
2138
2139 PR middle-end/19515
2140 * expr.c (categorize_ctor_elements): New argument p_must_clear.
2141 (categorize_ctor_elements_1): Likewise. Detect a union that isn't
2142 fully initialized.
2143 (mostly_zeros_p): Update for new categorize_ctor_elements argument.
2144 * gimplify.c (gimplify_init_constructor): Likewise. Only shove
2145 objects into static storage if they have more than one non-zero value.
2146 * tree.h (categorize_ctor_elements): Update decl.
2147
ead553a1
SB
21482005-01-26 Steven Bosscher <stevenb@suse.de>
2149
2150 PR middle-end/19616
2151 * tree.h (CALL_EXPR_TAILCALL): Add comment.
2152 * calls.c (check_sibcall_argument_overlap_1): Revert the change
2153 to this function from 2004-07-10.
2154 * tree-tailcall.c (suitable_for_tail_opt_p): Do not consider the
2155 the current function for tail call optimizations if the address
2156 of one of it its arguments is taken.
2157
75335440
KH
21582005-01-26 Kazu Hirata <kazu@cs.umass.edu>
2159
2160 * cse.c (fold_rtx): Call equiv_constant only when necessary.
2161
40184445
BS
21622005-01-26 Bernd Schmidt <bernd.schmidt@analog.com>
2163
2164 * function.c (expand_function_end): If current_function_calls_alloca,
2165 emit stack restore in a place that is reached when the function falls
2166 through at the end.
2167
144023ad
AO
21682005-01-26 Alexandre Oliva <aoliva@redhat.com>
2169
2170 * Makefile.in (../$(build_subdir)/fixincludes/fixincl): Add dummy
2171 rule to avoid matching inappropriate suffix rule.
2172
e4cf29ae
JH
21732005-01-26 Jan Hubicka <jh@suse.cz>
2174
97bd954f 2175 PR tree-optimization/19241
e4cf29ae
JH
2176 * tree-inline.c (copy_body_r): Do not walk subtrees after substituting.
2177
fe04ce06
HPN
21782005-01-26 Hans-Peter Nilsson <hp@axis.com>
2179
2180 * config/cris/cris.h (LIB_SPEC) <sim*>: Use -lsyslinux, not
2181 -lsyssim. Wrap -lc -lsyssim in --start-group --end-group instead
2182 of doubling.
2183 (STARTFILE_SPEC): Add crti.o, before crtbegin.o.
ead553a1 2184 <sim*>: Always use crt1.o, regardless of N in simN.
fe04ce06
HPN
2185 <!sim>: Drop support for -pg and -p variants; always use crt0.o.
2186 (ENDFILE_SPEC): Add crtn.o, after crtend.o.
2187 (CRT_CALL_STATIC_FUNCTION): Remove.
2188 * config/cris/aout.h (STARTFILE_SPEC): <!melinux && sim*>: Always
2189 use crt1.o, regardless of N in simN.
2190 <!sim>: Drop support for -pg and -p variants; always use crt0.o.
2191 (LIB_SPEC): Do not define; default to the one in config/cris/cris.h.
2192 (CRIS_CPP_SUBTARGET_SPEC) <melinux && !nostdinc>: Remove special
2193 case isystem setting.
2194 (MAX_OFILE_ALIGNMENT): Correct to 32, not 16.
2195
6a03afdf
ILT
21962005-01-25 Ian Lance Taylor <ian@airs.com>
2197
2198 * gimple-low.c (block_may_fallthru): Correct handling of
2199 SWITCH_EXPR--may fall through if SWITCH_LABELS is NULL.
2200
c555b47f
HPN
22012005-01-26 Hans-Peter Nilsson <hp@axis.com>
2202
2203 * config/cris/cris.h (CPP_SPEC): Adjust the various mtune=
2204 handlers to match indentation; nested under the mtune=* handler.
2205 Similar for mcpu= and march=.
2206
9841a1a7
DJ
22072005-01-25 Daniel Jacobowitz <dan@codesourcery.com>
2208
2209 * config/mips/linux.h (LIB_SPEC): Remove -rpath-link.
2210 * config/mips/linux64.h (LIB_SPEC): Likewise.
2211 * config/mn10300/linux.h (LIB_SPEC): Likewise.
2212 * config/sh/linux.h (LIB_SPEC): Likewise.
2213
bef8809e
AH
22142005-01-25 Aldy Hernandez <aldyh@redhat.com>
2215
2216 * config/frv/frv.c (frv_legitimize_tls_address): New.
2217 (TARGET_HAVE_TLS): Define.
2218 (FRV_SYMBOL_REF_TLS_P): Define.
2219 (frv_override_options): Handle new register classes.
2220 (frv_legitimate_address_p): Reject tls addresses.
2221 (frv_legitimize_address): Handle TLS addresses.
2222 (gen_inlined_tls_plt): New.
2223 (gen_tlsmoff): New.
2224 (frv_legitimize_tls_address): New.
2225 (unspec_got_name): Add TLS entries.
2226 (got12_operand): Add R_FRV_TLSMOFF12 case.
2227 (frv_emit_move): Fixup TLS addresses.
2228 (frv_emit_movsi): Legitimize TLS addresses.
2229
2230 * config/frv/frv.h (MASK_BIG_TLS): New.
2231 (TARGET_BIG_TLS): New.
2232 (HAVE_AS_TLS): Define.
2233 (TARGET_SWITCHES): Add -mTLS and -mtls options.
2234 (enum reg_class): Add GR8_REGS, GR9_REGS, GR89_REGS.
2235 (REG_CLASS_NAMES): Same.
2236 (REG_CLASS_CONTENTS): Same.
2237 (CONSTRAINT_LEN): New.
2238 (REG_CLASS_FROM_CONSTRAINT): New.
2239 (PREDICATE_CODES): Add symbolic_operand.
2240
2241 * config/frv/frv.md (define_constants): Add UNSPEC_GETTLSOFF,
2242 UNSPEC_TLS_LOAD_GOTTLSOFF12, UNSPEC_TLS_INDIRECT_CALL,
2243 UNSPEC_TLS_TLSDESC_LDD, UNSPEC_TLS_TLSDESC_LDD_AUX,
2244 UNSPEC_TLS_TLSOFF_LD, UNSPEC_TLS_LDDI, UNSPEC_TLSOFF_HILO,
2245 R_FRV_GOTTLSOFF_HI, R_FRV_GOTTLSOFF_LO, R_FRV_TLSMOFFHI,
2246 R_FRV_TLSMOFFLO, R_FRV_TLSMOFF12, R_FRV_TLSDESCHI,
2247 R_FRV_TLSDESCLO, R_FRV_GOTTLSDESCHI, R_FRV_GOTTLSDESCLO, GR8_REG,
2248 GR9_REG, GR14_REG, LRREG.
2249 (type): Add load_or_call attribute.
2250 ("load_or_call"): New reservation.
2251 ("call_gettlsoff"): New.
2252 ("tls_indirect_call"): New.
2253 ("tls_load_gottlsoff12"): New.
2254 ("tlsoff_hilo"): New.
2255 ("tls_tlsdesc_ldd"): New.
2256 ("tls_tlsoff_ld"): New.
2257 ("tls_lddi"): New.
2258
2259 * config/frv/frv-protos.h (symbolic_operand): Protoize.
2260
2261 2005-01-25 Alexandre Oliva <aoliva@redhat.com>
2262
ead553a1
SB
2263 * config/frv/frv.h (ASM_OUTPUT_DWARF_DTPREL): Define.
2264 * config/frv/frv-protos.h (frv_output_dwarf_dtprel): Declare.
2265 * config/frv/frv.c (TLS_BIAS): Define.
2266 (frv_output_dwarf_dtprel): New.
bef8809e 2267
b8e48b98
JJ
22682005-01-26 Jakub Jelinek <jakub@redhat.com>
2269
2270 PR rtl-optimization/19579
2271 * ifcvt.c (noce_try_cmove_arith): If emitting instructions to set up
2272 both A and B, see if they don't clobber registers the other expr uses.
2273
1c673473
R
22742005-01-25 J"orn Rennecke <joern.rennecke@st.com>
2275
2276 * real.c (do_add): Initialize signalling and canonical members.
2277
2278 * real.c (real_from_integer): Zero out destination.
2279
ed464869
JH
22802005-01-18 Jan Hubicka <jh@suse.cz>
2281
2282 PR tree-optimize/19337
2283 * tree-inline.c (initialize_inlined_parameters): Copy
2284 saved_static_chain_decl only.
2285
51df7179
RH
22862005-01-25 Richard Henderson <rth@redhat.com>
2287
2288 PR target/19556
2289 PR target/19584
2290 * config/i386/i386.c (x86_inter_unit_moves): Zero.
2291 (ix86_preferred_reload_class): Rewrite fp-constant section, with
2292 80387 enabled, to return a proper subclass. Return the subset that
2293 overlaps with GENERAL_REGS for PLUS.
2294 * config/i386/i386.md (movsi_1, movdi_2): Set type to "mmx" for pxor.
2295
c63f5a42
RH
22962005-01-25 Richard Henderson <rth@redhat.com>
2297
2298 PR middle-end/19609
2299 * tree-complex.c (expand_complex_div_wide): Use the correct formulae.
2300
e71c0aa7
RS
23012005-01-25 Roger Sayle <roger@eyesopen.com>
2302
2303 * expmed.c (choose_multiplier): Change interface to return the
2304 multiplier lowpart as an rtx instead of an unsigned HOST_WIDE_INT.
2305 (expand_divmod): Update calls to choose_multiplier.
2306
a6d2976a
JDA
23072005-01-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2308
2309 PR middle-end/19330
2310 * expmed.c (extract_bit_field): Use adjust_address instead of
2311 gen_lowpart when op0 is a MEM.
2312
7315a949
SB
23132005-01-24 Steven Bosscher <stevenb@suse.de>
2314
2315 * cfgexpand.c (expand_gimple_tailcall): Fix typo.
2316
c0fd73a9
RS
23172005-01-24 Richard Sandiford <rsandifo@redhat.com>
2318
2319 * config/mips/irix-csr.c: New file.
2320 * config/mips/t-iris6 (irix-csr.o): New rule to build it.
2321 (EXTRA_MULTILIB_PARTS): Add irix-csr.o.
2322 * config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64
2323 executables.
2324
81b47219
EB
23252005-01-24 Eric Botcazou <ebotcazou@libertysurf.fr>
2326
2327 PR bootstrap/19364
2328 * config.gcc (sparc-*-elf*): Remove sol2.h, sparc/sol2.h and
2329 sparc/elf.h, add sparc/sp-elf.h.
2330 (sparc-*-rtems*): Likewise.
2331 (sparclite-*-elf*): Remove sol2.h, sparc/sol2.h, sparc/elf.h and
2332 tm-dwarf2.h, add sparc/sp-elf.h.
2333 (sparc86x-*-elf): Likewise.
2334 (sparc64-*-elf*): Remove sol2.h, sparc/sol2.h and tm-dwarf2.h.
2335 * config/sparc/liteelf.h (TARGET_SUB_OS_CPP_BUILTINS): Rename into
2336 TARGET_OS_CPP_BUILTINS.
2337 * config/sparc/sp86x-elf (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
2338 * config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
2339 Undefine it.
2340 * config/sparc/openbsd64.h (NO_IMPLICIT_EXTERN_C): Undefine.
2341 * config/sparc/sp64-elf.h (NO_IMPLICIT_EXTERN_C): New macro.
2342 (SWITCH_TAKES_ARG): Likewise.
2343 (LOCAL_LABEL_PREFIX): Likewise.
2344 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2345 (TARGET_N_FORMAT_TYPES): Delete.
2346 (TARGET_FORMAT_TYPES): Likewise.
2347 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
2348 * config/sparc/elf.h: Delete.
2349 * config/sparc/sp-elf.h: New file.
2350
3a2f1f06
KH
23512005-01-24 Kazu Hirata <kazu@cs.umass.edu>
2352
2353 * tree-flow-inline.h (phi_arg_from_edge): Remove.
2354 * tree-flow.h: Remove the corresponding prototype.
2355 * tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-ssa.c,
2356 tree-vectorizer.c: Use dest_idx instead of phi_arg_from_edge.
2357
b723e82f
JJ
23582005-01-24 Jakub Jelinek <jakub@redhat.com>
2359
2360 PR target/17751
2361 * config/rs6000/rs6000.c (rs6000_file_start): Create toc section
2362 for AIX ABI or ELF -fPIC.
2363 (rs6000_emit_load_toc_table): Don't create toc_section here.
2364 (rs6000_xcoff_file_start): Nor here.
2365
1a9ce0b7
JR
23662005-01-24 J"orn Rennecke <joern.rennecke@st.com>
2367
2368 * sh.c (ra.h): Don't #include.
2369 (hard_regs_intersect_p): New function, resurrected from ra.c.
2370
2371 * sh.c: Fix 1996 Copyright.
2372
226c62c7 23732005-01-24 Richard Henderson <rth@redhat.com>
97bd954f 2374 Aldy Hernandez <aldyh@redhat.com>
226c62c7 2375
97bd954f 2376 * regrename.c (note_sets): Handle subregs.
226c62c7 2377
2429f3d4
JM
23782005-01-24 Joseph S. Myers <joseph@codesourcery.com>
2379
2380 PR bootstrap/18058
2381 * genconditions.c (write_header, write_conditions): Elide file if
2382 not GCC >= 3.0.1.
2383
deeec1d8
KH
23842005-01-24 Kazu Hirata <kazu@cs.umass.edu>
2385
2386 * c-opts.c, expmed.c, gengtype.c, tree-complex.c,
2387 config/arm/iwmmxt.md, config/avr/avr.c, config/s390/s390.h:
2388 Update copyright.
2389
7b922122
JJ
23902005-01-24 Jakub Jelinek <jakub@redhat.com>
2391
2392 * builtins.c (get_pointer_alignment, gimplify_va_arg_expr,
2393 expand_builtin_printf, expand_builtin_fprintf,
2394 expand_builtin_sprintf): Use POINTER_TYPE_P instead TREE_CODE
2395 checking against POINTER_TYPE.
2396 (validate_arglist): Handle POINTER_TYPE code by checking
2397 POINTER_TYPE_P.
2398
cf94b0fc
PB
23992005-01-24 Paolo Bonzini <bonzini@gnu.org>
2400
2401 * rtlanal.c (non_rtx_starting_operands, for_each_rtx_1,
2402 init_rtlanal): New.
2403 (for_each_rtx): Call for_each_rtx_1.
2404 * rtl.h (init_rtlanal): Declare.
2405 * toplev.c (backend_init): Call init_rtlanal.
2406
b77302be
JJ
24072005-01-24 Jakub Jelinek <jakub@redhat.com>
2408
2409 * flow.c (propagate_one_insn): Formatting.
2410
2411 PR middle-end/19551
2412 * flow.c (libcall_dead_p): Be more conservative if unsure.
2413 If there are any instructions between insn and call, see if they are
2414 all dead before saying the libcall is dead.
2415
11c56af5
UB
24162005-01-24 Uros Bizjak <uros@kss-loka.si>
2417
2418 * config/i386/i386.md (*extendsfdf2_sse): Use "nonimmediate_operand"
2419 operand constraint for operand 0.
2420
520f34fa
RH
24212005-01-23 Richard Henderson <rth@redhat.com>
2422
2423 PR 19486
2424 * tree-complex.c (expand_complex_div_wide): Set EDGE_FALLTHRU on
2425 edges leading to join block.
2426
0d282692
RS
24272005-01-23 Roger Sayle <roger@eyesopen.com>
2428
2429 * expmed.c (expand_mult_highpart): Make static. Change type of
2430 constant multiplier argument from unsigned HOST_WIDE_INT to rtx.
2431 (expand_divmod): Updates calls to expand_mult_highpart by using
2432 gen_int_mode to pass a CONST_INT rtx.
2433 * rtl.h (expand_mult_highpart): Remove prototype.
2434
edd517b1
KH
24352005-01-23 Kazu Hirata <kazu@cs.umass.edu>
2436
2437 * flow.c (regset_bytes, regset_size): Remove.
2438
708bde14
KH
2439 * cfganal.c: Fix a reference to Harvey's paper.
2440
85840349
SB
24412005-01-23 Steven Bosscher <stevenb@suse.de>
2442
2443 PR rtl-optimization/19464
2444 * tree-optimize.c (init_tree_optimization_passes): Add one more
2445 copyrename pass just before out-of-ssa.
2446
9fcdd891
JM
24472005-01-23 Joseph S. Myers <joseph@codesourcery.com>
2448
2449 PR bootstrap/18058
2450 * recog.c (recog_memoized): Don't define if GENERATOR_FILE.
2451 * ggc-none.c (ggc_free): Define.
2452
d0754bc6
KH
24532005-01-23 Kazu Hirata <kazu@cs.umass.edu>
2454
2455 * cse.c (max_reg, max_insn_uid): Remove.
2456 (cse_main): Don't access max_reg or max_insn_uid.
2457
f3b303fd
KH
2458 * c-common.c (explicit_flag_signed_bitfields,
2459 lang_statement_code_p, lang_expand_function_end): Remove.
2460 * c-common.h: Remove the corresponding declarations.
2461 * c-opts.c (c_common_handle_option): Remove all write access
2462 to explicit_flag_signed_bitfields.
2463
15f0d971
KH
2464 * cgraph.c (cgraph_varpool_n_nodes): Remove.
2465 (cgraph_varpool_node): Don't access cgraph_varpool_n_nodes.
2466 * cgraph.h: Remove the corresponding declaration.
2467
6d77cdc3
KH
2468 * gcse.c (null_pointer_info): Remove.
2469
b9750434
RS
24702005-01-23 Roger Sayle <roger@eyesopen.com>
2471 Eric Botcazou <ebotcazou@libertysurf.fr>
2472
2473 * combine.c (simplify_logical): Only simplify logical expressions
2474 of the form ior(and(x,y),z) by the inverse distributive law if the
2475 result is cheaper than the original.
2476
35fd3193
KH
24772005-01-23 Kazu Hirata <kazu@cs.umass.edu>
2478
2479 * alias.c, c-common.h, c-incpath.c, c-incpath.h, expr.c,
2480 fold-const.c, gimplify.c, params.h, tree-data-ref.c,
2481 tree-if-conv.c, tree-nested.c, tree-outof-ssa.c,
2482 tree-ssa-dom.c, tree-vectorizer.c, tree.def, config/darwin.c,
2483 config/freebsd-spec.h, config/arm/arm.h,
2484 config/h8300/h8300.md, config/i386/i386.md,
2485 config/i386/predicates.md, config/i386/sse.md,
2486 config/ia64/ia64.c, config/ip2k/ip2k.c, config/s390/s390.c,
2487 config/vax/vax.md: Fix comment typos. Follow spelling
2488 conventions.
2489
a62a0172
SB
24902005-01-23 Steven Bosscher <stevenb@suse.de>
2491
2492 * gengtype.c (walk_type): Produce `not equal to' compares for loop
2493 tests, instead of `less than'.
2494
a561d88b
RS
24952005-01-23 Richard Sandiford <rsandifo@redhat.com>
2496
2497 * function.c (assign_parm_setup_block): When creating a new stack slot
2498 for a parameter, get its alignment from the parameter's DECL_ALIGN
2499 rather than the type's TYPE_ALIGN. Make sure that the parameter
2500 is at least word aligned.
2501
d2ebe27c
RS
25022005-01-22 Roger Sayle <roger@eyesopen.com>
2503
2504 PR middle-end/19378
2505 * config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite.
2506
a059cdb8
RH
25072005-01-22 Richard Henderson <rth@redhat.com>
2508
2509 PR target/19506
2510 * config/i386/i386.md (movsfcc_1_sse_max): Use nonimmediate_operand
2511 in both compare operands.
2512 (movdfcc_1_sse_max): Likewise.
2513 (movsfcc_1_sse): Likewise. Add earlyclobber for scratch.
2514 (movdfcc_1_sse): Likewise.
2515 * config/i386/i386.c (ix86_split_sse_movcc): Emit copies into the
2516 scratch register as needed.
2517
eabd294f
RH
25182005-01-22 Richard Henderson <rth@redhat.com>
2519
b8f06586
RH
2520 * config/i386/i386.md (smaxsf3): Fix mnemonic typo.
2521
eabd294f
RH
2522 * config/i386/i386.c (ix86_prepare_fp_compare_args): Fix is_sse test.
2523
5ccbd309
RH
25242005-01-22 Richard Henderson <rth@redhat.com>
2525
2526 * genopinit.c (optabs): Use smin/smax for floating point too.
2527 * doc/md.texi: Update to match. Clarify that floating point
2528 results are undefined for +0/-0 and NaN.
2529 * doc/rtl.texi: Likewise.
2530 * rtl.def (SMIN, SMAX): Likewise
2531 * tree.def (MIN_EXPR, MAX_EXPR): Likewise.
2532
2533 * config/alpha/alpha.md (smaxdf3, smindf3, smaxsf3, sminsf3): Add
2534 leading 's' to the name.
2535 * config/ia64/ia64.md (smaxsf3, sminsf3, smaxdf3, smindf3,
2536 smaxxf3, sminxf3): Likewise.
2537 * config/rs6000/rs6000.md (smaxdf3, smindf3, smaxsf3, sminsf3):
2538 Likewise.
2539
b4b2332c
PB
25402005-01-22 Paul Brook <paul@codesourcery.com>
2541
2542 * config/arm/arm.md: Use "Uy" constraint for wcgr load/stores.
2543
6fa5b390
MD
25442005-01-21 Mark Dettinger <dettinge@de.ibm.com>
2545
2546 * config/s390/s390.c (struct processor_costs): New fields
2547 dlgr, dlr, dr, dsgfr, dsgr.
2548 (z900_cost, z990_cost): Values for new fields.
2549 (s390_rtx_costs): New cases MEM und COMPARE in switch
2550 statement. Modified handling of SIGN_EXTEND, ZERO_EXTEND,
2551 DIV, MOD, UDIV, UMOD.
2552
eb862a88
UW
25532005-01-21 Ulrich Weigand <uweigand@de.ibm.com>
2554
2555 * config/s390/s390.md ("doloop_si64"): Reload input value directly
2556 into the register being decremented.
2557 ("doloop_si31", "doloop_di"): Likewise.
2558 ("*doloop_si_long"): Adapt pattern.
2559
3776ada0
UW
25602005-01-21 Ulrich Weigand <uweigand@de.ibm.com>
2561
2562 * config/s390/s390.h (HARD_REGNO_NREGS): Fix computation for
2563 access registers.
2564 (CLASS_MAX_NREGS): Likewise.
2565
d7c71ee3
DB
25662005-01-21 Daniel Berlin <dberlin@dberlin.org>
2567
2568 * doc/tree-ssa.texi (Statement Operands): Add example for new
2569 must-def macro. Note deprecation of old operands interface.
2570
d7f3fc19
RS
25712005-01-22 Richard Sandiford <rsandifo@redhat.com>
2572
2573 PR tree-optimization/19484
2574 * tree-cfg.c (remove_fallthru_edge): New function.
2575 (cleanup_control_flow): Remove fallthru edges from calls that are
2576 now known not to return.
2577
111e0c9f
DB
25782005-01-20 Daniel Berlin <dberlin@dberlin.org>
2579
2580 Fix PR tree-optimization/19038
2581 * tree-ssa-dom.c (cprop_operand): Don't replace loop invaeriant
2582 copies with loop variant ones.
2583
1e052c19
KH
25842005-01-22 Kazu Hirata <kazu@cs.umass.edu>
2585
2586 * cfganal.c, real.h, reorg.c, timevar.def, tree-ssa-ccp.c,
2587 config/alpha/alpha-protos.h, config/alpha/alpha.h,
2588 config/alpha/alpha.md, config/alpha/predicates.md,
2589 config/sparc/freebsd.h, config/sparc/netbsd-elf.h,
2590 config/sparc/sol2.h: Update copyright.
2591
28773f15
KH
2592 * tree-cfg.c (remove_forwarder_block_with_phi): Look at the
2593 first label to see if it is a nonlocal label.
2594
1e052c19 25952005-01-22 David Edelsohn <edelsohn@gnu.org>
ead553a1 2596 Andrew Pinski <pinskia@physics.uc.edu>
987732e0
DE
2597
2598 PR target/19491
2599 * config/rs6000/rs6000.c (rs6000_va_start): Saturate n_gpr at
2600 maximum number of GPRs. Saturate n_fpr at maximum number of FPRs.
2601
80d15bce
RC
26022005-01-22 Ralf Corsepius <ralf.corsepius@rtems.org>
2603
2604 * config/rs6000/rtems.h: Update copyright.
2605
b9d13999
RC
26062005-01-22 Ralf Corsepius <ralf.corsepius@rtems.org>
2607
2608 PR target/19548
2609 * config/rs6000/rtems.h: Resurrect cpp_os_rtems_spec from gcc < 3.4.
2610 (CPP_OS_RTEMS_SPEC): New (From gcc-3.3's config/rs6000/sys4.h).
2611 (SUBSUBTARGET_EXTRA_SPECS): Use CPP_OS_RTEMS_SPEC.
2612
20913689
VR
26132005-01-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2614
2615 PR c/18809
2616 * c-typeck.c (convert_arguments): Check for error_mark_node.
2617
1e052c19 26182005-01-21 Ian Lance Taylor <ian@airs.com>
089efaa4
ILT
2619
2620 PR tree-optimization/13000
2621 * tree-inline.c: Include "tree-flow.h".
2622 (expand_call_inline): If warn_return_type, warn if non-void inline
2623 function falls through.
2624 * tree-cfg.c (execute_warn_function_return): Don't warn about
2625 control reaching end if TREE_NO_WARNING is set. Set
2626 TREE_NO_WARNING.
2627 * gimple-low.c (block_may_fallthru): Don't assume that SWITCH_EXPR
2628 has been lowered.
2629 * gimplify.c (shortcut_cond_expr): Don't emit a jump over the else
2630 branch if we don't need one.
2631 * c-typeck.c: Include "tree-flow.h"
2632 (c_finish_bc_stmt): Don't add a goto if the current statement
2633 list doesn't fall through to the current point.
2634
d284eb28
RS
26352005-01-21 Roger Sayle <roger@eyesopen.com>
2636
2637 PR rtl-optimization/576
2638 * real.c (real_arithmetic): Change return type from void to bool
2639 to return an indication that the result may be inexact.
2640 * real.h (real_arithmeric): Update prototype.
2641 * fold-const.c (const_binop): Don't constant fold floating
2642 point expressions when the user specifies -frounding-math and
2643 the result may depend upon the run-time rounding mode.
2644 (fold_convert_const_real_from_real): Clean-up.
2645 (fold_initializer): Ignore flag_rounding_math for initializers.
2646 * simplify-rtx.c (simplify_binary_operation): Likewise, don't
2647 constant fold FP operations with flag_rounding_math if the
2648 result may depend upon the run-time rounding mode.
2649
a101957b
TT
26502005-01-21 Tom Tromey <tromey@redhat.com>
2651
2652 * c-cppbuiltin.c (define__GNUC__): Correct assertion.
2653
a85ba5a8
KH
26542005-01-21 Kazu Hirata <kazu@cs.umass.edu>
2655
2656 * tree-cfg.c: Fix comment typos.
2657
5b5e3a31
R
26582005-01-21 J"orn Rennecke <joern.rennecke@st.com>
2659
2660 * passes.c (rest_of_handle_flow2): Close / open the flow2 dump file
2661 around the call to rest_of_handle_branch_target_load_optimize.
2662
0b85af22
EB
26632005-01-21 Eric Botcazou <ebotcazou@libertysurf.fr>
2664
2665 * config.gcc (sparc-*-netbsdelf*): Include dbxelf.h
2666 (sparc64-*-openbsd*): Likewise.
2667 (sparclite-*-elf*): Include tm-dwarf2.h.
2668 (sparc86x-*-elf*): Likewise.
2669 (sparc64-*-elf*): Likewise.
2670 * config/sparc/linux64.h (DWARF2_DEBUGGING_INFO): Delete.
2671 (DBX_DEBUGGING_INFO): Likewise.
2672 * config/sparc/liteelf.h (DWARF2_DEBUGGING_INFO): Likewise.
2673 (PREFERRED_DEBUGGING_TYPE): Likewise.
2674 * config/sparc/netbsd-elf.h (PREFERRED_DEBUGGING_TYPE): Likewise.
2675 * config/sparc/sp64-elf.h (DBX_DEBUGGING_INFO): Likewise.
2676 (PREFERRED_DEBUGGING_TYPE): Likewise.
ac11d73b 2677 * config/sparc/sp86x-elf.h (DWARF2_DEBUGGING_INFO): Likewise.
0b85af22
EB
2678 (PREFERRED_DEBUGGING_TYPE): Likewise.
2679 * config/sparc/sparc.h (DBX_DEBUGGING_INFO): Likewise.
2680
3eacd71f
HPN
26812005-01-21 Hans-Peter Nilsson <hp@bitrange.com>
2682
2683 PR target/18701
2684 * combine.c (combine_simplify_rtx): Revert change of 2004-12-31.
2685
eacf8912
PB
26862005-01-20 Paul Brook <paul@codesourcery.com>
2687
2688 * doc/rtl.texi: Document value extension requirements for CONST_INT.
2689
548414c6
KH
26902005-01-20 Kazu Hirata <kazu@cs.umass.edu>
2691
2692 * tree-cfg.c (tree_verify_flow_info): Check that a nonlocal
2693 label is first in a sequence of labels.
2694
cde68236
KH
2695 * tree-cfg.c (tree_verify_flow_info): Fix a typo.
2696
35fdf04e
JJ
26972005-01-20 Janis Johnson <janis187@us.ibm.com>
2698 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2699
2700 * doc/sourcebuild.texi (Test Directives): New.
2701
8ffeac67
RS
27022005-01-20 Roger Sayle <roger@eyesopen.com>
2703
2704 * real.c (real_floor): Don't leave the result uninitialized when
2705 mode is VOIDMode, but return the unrounded intermediate value.
2706 (real_ceil): Likewise.
2707
07ff6dac 27082005-01-20 Paul Brook <paul@codesourcery.com>
b65e6318
PB
2709
2710 * config/arm/arm.md (insv): Use gen_int_mode.
2711
62da8647
EB
27122005-01-20 Eric Botcazou <ebotcazou@libertysurf.fr>
2713
2714 * config/sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABELREF): Delete.
2715 * config/sparc/linux.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
2716 * config/sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
2717 * config/sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
2718 * config/sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
2719
3c46c513
DB
27202005-01-20 Daniel Berlin <dberlin@dberlin.org>
2721
2722 Fix PR debug/19124
2723 * dwarf2out.c (concat_loc_descriptor): We don't know we can use
2724 fbreg, so we have to assume we can't.
2725 (loc_descriptor_from_tree_1): Ditto.
2726 (containing_function_has_frame_base): New function.
2727 (add_location_or_const_value_attribute): Use it.
2728 Also try to generate a frame_base from a single element location
2729 list.
2730
23ab2e4e
KH
27312005-01-20 Kazu Hirata <kazu@cs.umass.edu>
2732
2733 PR tree-optimization/15349
2734 * timevar.def (TV_TREE_MERGE_PHI): New.
2735 * tree-cfg.c (tree_forwarder_block_p): Add a new argument
2736 PHI_WANTED.
2737 (remove_forwarder_block, cleanup_forwarder_blocks): Adjust the
2738 calls to tree_forwarder_block_p.
2739 (remove_forwarder_block_with_phi, merge_phi_nodes,
2740 gate_merge_phi, pass_merge_phi): New.
2741 * tree-optimize.c (init_tree_optimization_passes): Add
2742 pass_merge_phi.
2743 * tree-pass.h: Add an extern for pass_merge_phi;
2744
edd5b7da
RH
27452005-01-20 Richard Henderson <rth@redhat.com>
2746
2747 PR target/19418
2748 * config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128): New.
2749 (_mm_castps_pd, _mm_castps_si128): New.
2750 (_mm_castsi128_ps, _mm_castsi128_pd): New.
2751
0f2698d0
RH
27522005-01-20 Richard Henderson <rth@redhat.com>
2753
2754 PR target/19530
2755 * config/i386/mmintrin.h (_mm_cvtsi32_si64): Use
2756 __builtin_ia32_vec_init_v2si.
2757 (_mm_cvtsi64_si32): Use __builtin_ia32_vec_ext_v2si.
2758 * config/i386/i386.c (IX86_BUILTIN_VEC_EXT_V2SI): New.
2759 (ix86_init_mmx_sse_builtins): Create it.
2760 (ix86_expand_builtin): Expand it.
2761 (ix86_expand_vector_set): Handle V2SFmode and V2SImode.
2762 * config/i386/mmx.md (vec_extractv2sf_0, vec_extractv2sf_1): New.
2763 (vec_extractv2si_0, vec_extractv2si_1): New.
2764
6b79c03c
RH
27652005-01-20 Richard Henderson <rth@redhat.com>
2766
58b03a2d 2767 PR target/16533
6b79c03c
RH
2768 * config/i386/i386.c (ix86_expand_push): New.
2769 * config/i386/mmx.md (push<MMXMODE>1): New.
2770 * config/i386/sse.md (push<SSEMODE>1): New.
2771 * config/i386/i386-protos.h: Update.
2772
e42febca
KH
27732005-01-20 Kazu Hirata <kazu@cs.umass.edu>
2774
2775 * params.def, params.h, predict.c, tree-ssa-loop-im.c: Update
2776 copyright.
2777
f4770271
RH
27782005-01-20 Richard Henderson <rth@redhat.com>
2779
2780 * rtl.def (CONST_VECTOR): Use RTX_CONST_OBJ.
2781 * rtl.h (CONSTANT_P): Don't special case CONST_VECTOR.
2782
b4bb3199
RH
27832005-01-19 Richard Henderson <rth@redhat.com>
2784
2785 PR target/19350
2786 * config/i386/i386.c (ix86_expand_vector_move_misalign): Convert
2787 to V4SFmode in SSE1 fallback load path.
2788
ceda96fc
RH
27892005-01-19 Richard Henderson <rth@redhat.com>
2790
2791 * config/i386/i386.c (ix86_expand_vector_init_one_var): Fix typo
2792 in QImode expansion to ix86_expand_vector_set.
2793 (ix86_expand_vector_init_general): Fix typo in V8HImode recursive call.
2794
f75959a6
RH
27952005-01-19 Richard Henderson <rth@redhat.com>
2796
2797 PR target/19511
2798 * config/i386/i386.c (ix86_preferred_reload_class): Return a proper
2799 subclass of the input class.
2800 (ix86_secondary_memory_needed): Always true for cross-MMX classes.
2801 Always true for cross-SSE1 classes. Rationalize conditionals.
2802 * config/i386/i386.h (SSE_CLASS_P, MMX_CLASS_P): Use straight equality.
2803 * config/i386/i386.md (movsi_1): Add MMX/SSE zeros. Fix alternatives
2804 for SSE1. Don't check TARGET_INTER_UNIT_MOVES.
2805 (movdi_2): Add MMX/SSE zeros.
2806 (movdi_1_rex64): Likewise. Don't check TARGET_INTER_UNIT_MOVES.
2807 (movsf_1): Don't check TARGET_INTER_UNIT_MOVES.
2808 (zero_extendsidi2_32, zero_extendsidi2_rex64): Likewise.
2809 (movsi_1_nointernunit, movdi_1_rex64_nointerunit): Remove.
2810 (movsf_1_nointerunit, zero_extendsidi2_32_1): Remove.
2811 (zero_extendsidi2_rex64_1): Remove.
2812 (MOV0 peephole): Check GENERAL_REG_P.
2813
b100079f
RH
28142005-01-19 Richard Henderson <rth@redhat.com>
2815
2816 PR target/19427
2817 * config/i386/i386.c (ix86_expand_vector_set): Fix third and fourth
2818 shufps elements.
2819 (ix86_expand_vector_extract): Likewise.
2820
539eaa3a
RH
28212005-01-19 Richard Henderson <rth@redhat.com>
2822
2823 PR middle-end/19304
2824 * expr.c (emit_move_change_mode): New argument force; use
2825 simplify_gen_subreg if true.
2826 (emit_move_via_alt_mode): Merge into ...
2827 (emit_move_via_integer): ... here.
2828 (emit_move_ccmode): Use emit_move_change_mode directly.
2829
72910a0b
RH
28302005-01-19 Richard Henderson <rth@redhat.com>
2831
2832 PR target/19518
2833 * config/alpha/alpha.c (alpha_rtx_costs): Handle HIGH.
2834 (alpha_preferred_reload_class): Handle CONST_VECTOR.
2835 (alpha_emit_set_const_1): Add no_output parameter; don't emit
2836 rtl if true.
2837 (alpha_emit_set_const): Likewise. Make static.
2838 (alpha_emit_set_long_const): Make static.
2839 (alpha_extract_integer): Split out from alpha_expand_mov.
2840 (alpha_split_const_mov): Likewise.
2841 (alpha_expand_mov): Use them. Handle CONST_VECTOR.
2842 (alpha_legitimate_constant_p): New.
2843 * config/alpha/alpha-protos.h: Update.
2844 * config/alpha/alpha.h (REGISTER_MOVE_COST): Correct fp<->gp cost.
2845 (LEGITIMATE_CONSTANT_P): Re-implement with a function.
2846 * config/alpha/alpha.md (movsi): Add n alternative.
2847 (movsi_nt_vms, movdi_er_nofix, movdi_er_fix, movdi_fix): Likewise.
2848 (mov<VEC>_fix, mov<VEC>_nofix): Add i alternative.
2849 (splitters for all of the above): Use alpha_split_const_mov.
2850 * config/alpha/predicates.md (non_add_const_operand): New.
2851 (non_zero_const_operand): New.
2852 (input_operand): Use alpha_legitimate_constant_p after reload.
2853
4366cf6d
ZD
28542005-01-19 Zdenek Dvorak <dvorakz@suse.cz>
2855
2856 PR tree-optimization/19038
2857 * tree-ssa-loop-ivopts.c (allow_ip_end_pos_p): New function.
2858 (add_candidate): Add ivs with increment in latch only if
2859 allow_ip_end_pos_p is true.
2860 (determine_iv_cost): Use empty_block_p.
2861
4c7f5fea
DB
28622005-01-19 Daniel Berlin <dberlin@dberlin.org>
2863
2864 * cfganal.c (compute_dominance_frontiers_1): Replace with new algorithm
2865 (compute_dominance_frontiers): Ditto.
2866
be33b729
RC
28672005-01-19 Ralf Corsepius <ralf.corsepius@rtems.org>
2868
2869 PR target/19529
2870 * config/sh/t-rtems: New.
2871 * config.gcc (sh-*-rtems*): Reflect having added config/sh/t-rtems.
2872
53dba802
ZD
28732005-01-19 Zdenek Dvorak <dvorakz@suse.cz>
2874
2875 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Always subtract
2876 the offset of the selected field.
2877
04d38c3b
KH
28782005-01-19 Kazu Hirata <kazu@cs.umass.edu>
2879
2880 * tree-cfg.c (remove_forwarder_block): Fix the check to
2881 prevent a nonlocal label from appearing in the middle of a
2882 basic block.
2883
09f9e288
HPN
28842005-01-19 Hans-Peter Nilsson <hp@axis.com>
2885
2886 PR rtl-optimization/19462
2887 * reorg.c (find_end_label): Create return insn only if
2888 current_function_epilogue_delay_list is empty.
2889
625d4524
PB
28902005-01-19 Paolo Bonzini <bonzini@gnu.org>
2891
2892 * doc/passes.texi: Remove paragraph mentioning new-ra.
2893
e89be13b
JJ
28942005-01-19 Jakub Jelinek <jakub@redhat.com>
2895
49c3b9a8
JJ
2896 PR rtl-optimization/15139
2897 * combine.c: Include params.h.
2898 (count_rtxs): New function.
2899 (record_value_for_reg): If replace_rtx would replace at least
2900 2 occurrences of REG in VALUE and TEM is really large, replace REG with
2901 (clobber (const_int 0)) instead of TEM.
2902 * params.def (PARAM_MAX_LAST_VALUE_RTL): New.
2903 * params.h (MAX_LAST_VALUE_RTL): New.
2904 * Makefile.in (combine.o): Depend on $(PARAMS_H).
2905 * doc/invoke.texi (--param max-last-value-rtl=N): Document.
2906
e89be13b
JJ
2907 PR c/17297
2908 * c-typeck.c (digest_init): Only call build_vector if all constructor
2909 elements are *_CST nodes.
2910 * gimplify.c (gimplify_init_constructor): Likewise.
2911
2912 PR middle-end/19164
2913 * c-typeck.c (digest_init): Only call build_vector if inside_init
2914 is a CONSTRUCTOR.
2915
d74e09c6
TS
29162005-01-18 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
2917
2918 * toplev.c (init_asm_output): Remove dead #ifdef.
2919
e35b30c7
KK
29202005-01-18 Kaz Kojima <kkojima@gcc.gnu.org>
2921
2922 * config/sh/linux.h (TARGET_C99_FUNCTIONS): Define.
2923
8c96cd51
EB
29242005-01-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2925
2926 * calls.c (expand_call): Check DECL_BUILT_IN_CLASS before
2927 accessing DECL_FUNCTION_CODE.
2928 * dojump.c (do_jump): Likewise.
2929 * gimplify.c (gimplify_call_expr): Likewise.
2930 * predict.c (expr_expected_value): Likewise.
2931 (strip_builtin_expect): Likewise.
2932 * tree-inline.c (estimate_num_insns_1): Likewise.
2933 * tree-ssa-loop-im.c (stmt_cost): Likewise
2934 * fold-const.c (fold): Test for BUILT_IN_NORMAL.
2935 (tree_expr_nonnegative_p): Likewise.
2936
eb7a7903
EB
29372005-01-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2938
2939 * config/sparc/sparc.c (load_pic_register): Emit the appropriate
2940 variant of the load_pcrel_sym pattern.
2941 * config/sparc/sparc.md (P macro): Move to the top.
2942 (load_pcrel_sym): Macroize using P.
2943 (save_register_window): Likewise.
2944
7836a61f
AH
29452005-01-18 Aldy Hernandez <aldyh@redhat.com>
2946
2947 * config/rs6000/rs6000.md ("sunordered"): Disable for e500.
2948 ("sordered"): Same.
2949
b4c33883
AP
29502005-01-18 Andrew Pinski <pinskia@physics.uc.edu>
2951
2952 PR C/19472
2953 * c-typeck.c (build_asm_expr): Strip nops off
2954 input memory operands.
2955
56015cee
DE
29562005-01-18 David Edelsohn <edelsohn@gnu.org>
2957
2958 * config/rs6000/aix43.h (CPLUSPLUS_CPP_SPEC): Delete
2959 _XOPEN_SOURCE, _XOPEN_SOURCE_EXTENDED, _LARGE_FILE_API.
2960 * config/rs6000/aix51.h (CPLUSPLUS_CPP_SPEC): Same.
2961 * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Same.
2962
de004e6d
JS
29632005-01-18 Joel Sherrill <joel.sherrill@oarcorp.com>
2964
2965 PR target/19379
2966 * config/i386/i386.c (override_options): If the 80387 is disabled,
2967 then do not return FP values using FP registers.
2968
ad616de1
KH
29692005-01-18 Kazu Hirata <kazu@cs.umass.edu>
2970
2971 * basic-block.h, c-common.c, c-cppbuiltin.c, c-lang.c,
2972 c-tree.h, cfgbuild.c, cgraph.c, cgraph.h, collect2.c,
2973 combine.c, config.gcc, coverage.h, cse.c, cselib.c,
2974 defaults.h, df.c, dwarf2asm.c, dwarf2out.c, explow.c, expr.c,
2975 flow.c, fold-const.c, gcse.c, ggc-page.c, gimple-low.c,
2976 gimplify.c, ifcvt.c, langhooks-def.h, lcm.c, optabs.h,
2977 output.h, postreload-gcse.c, postreload.c, recog.c,
2978 resource.c, rtl.def, rtlanal.c, sched-deps.c, sched-rgn.c,
2979 targhooks.h, toplev.c, tree-data-ref.c, tree-eh.c,
2980 tree-flow.h, tree-loop-linear.c, tree-mudflap.h, tree-nrv.c,
2981 tree-optimize.c, tree-outof-ssa.c, tree-pass.h,
2982 tree-scalar-evolution.c, tree-ssa-copy.c, tree-ssa-dce.c,
2983 tree-ssa-dse.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c,
2984 tree-ssa-pre.c, tree-ssa.c, tree-vectorizer.c, tree.def,
2985 unwind-dw2-fde-darwin.c, var-tracking.c: Update copyright.
2986
5b86a469
KH
2987 * config/darwin.c, config/darwin.h, config/freebsd-spec.h,
2988 config/alpha/alpha.c, config/arm/vfp.md,
2989 config/i386/emmintrin.h, config/i386/i386-modes.def,
2990 config/i386/i386-protos.h, config/i386/i386.h,
2991 config/i386/pmmintrin.h, config/i386/ppro.md,
2992 config/i386/predicates.md, config/i386/xmmintrin.h,
2993 config/i860/i860.c, config/ia64/ia64-modes.def,
2994 config/ia64/ia64-protos.h, config/ia64/ia64.h,
2995 config/ia64/ia64.md, config/ia64/itanium1.md,
2996 config/ia64/itanium2.md, config/ia64/predicates.md,
2997 config/iq2000/iq2000.h, config/mips/linux64.h,
2998 config/rs6000/aix41.h, config/rs6000/aix43.h,
2999 config/rs6000/aix52.h, config/rs6000/darwin-fallback.c,
3000 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
3001 config/rs6000/spe.md, config/sh/sh.md, config/sparc/linux.h,
3002 config/sparc/linux64.h, config/sparc/litecoff.h,
3003 config/sparc/sp64-elf.h, config/sparc/sparc.c,
3004 config/sparc/sparc.h, config/sparc/sparc.md,
3005 config/sparc/sysv4-only.h: Update copyright.
3006
51d7bae6
RH
30072005-01-18 Richard Henderson <rth@redhat.com>
3008
3009 PR target/19496
3010 * config/i386/i386.c (ix86_expand_fp_movcc): Fail for LTGT and UNEQ.
3011
f5975bd5
ME
30122005-01-18 Marc Espie <espie@openbsd.org>
3013 * config/i386/openbsdelf.h: Typo.
3014
9f61886e
RH
30152005-01-18 Richard Henderson <rth@redhat.com>
3016
3017 * config/i386/i386.c (ix86_expand_fp_movcc): Remove TARGET_IEEE_FP
3018 special case for sse.
3019 * config/i386/predicates.md (sse_comparison_operator): Likewise.
3020
16630a2c
DN
30212005-01-18 Dorit Naishlos <dorit@il.ibm.com>
3022
3023 * tree-inline.c (estimate_num_insns_1): Added cases for
3024 ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF, and REALIGN_LOAD_EXPR.
3025
f917ae96
EB
30262005-01-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3027
3028 PR rtl-optimization/19296
3029 * combine.c (simplify_comparison): Rewrite the condition under
3030 which a non-paradoxical SUBREG of a PLUS can be lifted when
3031 compared against a constant.
3032
06da3c24
AK
30332005-01-18 Andi Kleen <ak@muc.de>
3034
3035 * c-typeck.c: (convert_for_assignment): Check warn_pointer_sign.
3036 * c.opt (-Wpointer-sign): Add.
3037 * doc/invoke.texi: (-Wpointer-sign): Add.
3038
ded1c605
UB
30392005-01-18 Uros Bizjak <uros@kss-loka.si>
3040
3041 * config/i386/i386.c (override_options): Revert 2004-11-24 change.
3042 * config/i386/i386.md (fmodsf3, dremsf3, *sinsf2, *cossf2, sincossf3,
3043 *tansf3_1, tansf2, atan2sf3_1, atan2sf3, atansf2, asinsf2, acossf2,
3044 logsf2, log10sf2, log2sf2, log1psf2, logbsf2, ilogbsf2, expsf2,
3045 exp10sf2, exp2sf2, expm1sf2, rintsf2, floorsf2, ceilsf2, btruncsf2,
3046 nearbyintsf2): Disable for TARGET_SSE_MATH. Leave patterns enabled
3047 for TARGET_MIX_SSE_I387.
3048 (fmoddf3, dremdf3, *sindf2, *sinextendsfdf2, *cosdf2, *cosextendsfdf2,
3049 sincosdf3, *sincosextendsfdf3, *tandf3_1, tandf2, atan2df3_1,
3050 atan2df3, atandf2, asindf2, acosdf2, logdf2, log10df2, log2df2,
3051 log1pdf2, logbdf2, expdf2, exp10df2, exp2df2, expm1df2, rintdf2,
3052 floordf2, ceildf2, btruncdf2, nearbyintdf2): Disable for
3053 (TARGET_SSE2 && TARGET_SSE_MATH). Leave patterns enabled for
3054 TARGET_MIX_SSE_I387.
3055 (atan2sf3, atan2df3, atan2xf3): Remove register constraints
3056 from expander.
3057
d0405259
UB
30582005-01-18 Uros Bizjak <uros@kss-loka.si>
3059
3060 PR target/19424
3061 * config/i386/mmx.md (*movv2sf_internal_rex64, *movv2sf_internal):
3062 Add movaps alternative for xmm reg->reg move.
3063
0bd65483
JL
30642005-01-17 Jeff Law <law@redhat.com>
3065
3066 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Clear SSA_NAME_VALUE
3067 at the end of the main DOM loop rather than just before DOM exits.
3068
e03a46f5
DN
30692005-01-17 Diego Novillo <dnovillo@redhat.com>
3070
3071 PR tree-optimization/19121
3072 * tree-ssa-alias.c (compute_flow_sensitive_aliasing): When
3073 adding aliases to a name tag, also add them to the pointer's
3074 type tag.
3075 * tree-ssa-copy.c (merge_alias_info): Do not merge flow
3076 sensitive alias info at all. Only check that the two pointers
3077 have compatible pointed-to sets.
3078 * tree-ssa.c (verify_name_tags): Verify that the alias set of
3079 a pointer's type tag is a superset of the alias set of the
3080 pointer's name tag.
3081
696a2ca1
JW
30822005-01-17 James E Wilson <wilson@specifixinc.com>
3083
3084 PR target/19357
3085 * config/ia64/ia64.md (movxf): Handle general register source. Adjust
3086 comment to document why.
3087
115a33c2
RH
30882005-01-17 Richard Henderson <rth@redhat.com>
3089
3090 * config/i386/sse.md (smaxv4sf3_finite, sse_vmsmaxv4sf3_finite,
3091 sminv4sf3_finite, sse_vmsminv4sf3_finite, smaxv2df3_finite,
3092 sse2_vmsmaxv2df3_finite, sminv2df3_finite,
3093 sse2_vmsminv2df3_finite): New.
3094 (smaxv4sf3, sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, smaxv2df3,
3095 sse2_vmsmaxv2df3, sminv2df3, sse2_vmsminv2df3): Remove commutative.
3096 Force op1 into register.
3097
ded73657
KC
30982005-01-17 Kelley Cook <kcook@gcc.gnu.org>
3099
3100 * Makefile.in (STAGEMOVESTUFF): Stage all the stamp files to prevent
3101 bubblestrap from always rebuilding build directory.
3102
d4f52f0e
UW
31032005-01-17 Ulrich Weigand <uweigand@de.ibm.com>
3104
3105 * config/s390/s390.md ("*clc"): Remove incorrect '='.
3106 ("*cmpmem_short"): Likewise.
3107
740ce53d
SB
31082005-01-17 Steven Bosscher <stevenb@suse.de>
3109
3110 * basic-block.h: Document BB_* flags.
3111 * regrename.c (copyprop_hardreg_forward): Don't use BB_VISITED,
3112 use an sbitmap instead.
3113 * sched-rgn.c (compute_trg_info): Likewise.
3114
2184a120
RS
31152005-01-17 Richard Sandiford <rsandifo@redhat.com>
3116
3117 * config.gcc (mips64*-*-linux*): Set the default abi to n32. Remove
3118 redundant target_cpu_default and extra_parts lines. Use the default
3119 "from-abi" ISA.
3120 * config/mips/linux64.h (DRIVER_DEFAULT_ABI_SELF_SPEC): Delete.
3121 (SUBTARGET_EXTRA_SPECS): Delete.
3122 (DRIVER_SELF_SPECS): Remove architecture lines. Set the ABI directly.
3123 (SUBTARGET_ASM_SPEC): Remove -mabi=n32 and -mabi=64 mappings.
3124 * config/mips/t-linux64 (MULTILIB_DIRNAMES): Use "32" for -mabi=32
3125 and "n32" for -mabi=n32.
3126
812ad338
ILT
31272005-01-17 Ian Lance Taylor <ian@airs.com>
3128
3129 PR c/5675
3130 * c-typeck.c (build_c_cast): Revert patch of 2003-02-16: don't
3131 fold constant variables into initial values.
3132
26e75214
KH
31332005-01-17 Kazu Hirata <kazu@cs.umass.edu>
3134
3135 * tree-cfg.c (tree_can_merge_blocks_p): Reorder two checks.
3136
f8ef82ea
KH
3137 * tree-cfg.c (tree_forwarder_block_p): Speed up by walking
3138 through the statements backward.
3139
81bafd36
ILT
31402005-01-17 Ian Lance Taylor <ian@airs.com>
3141
3142 PR middle-end/13127:
3143 * tree-inline.c (expand_call_inline): Set TREE_NO_WARNING on
3144 a variable set to the return value of the inlined function.
3145
edb81165
MD
31462005-01-17 Mark Dettinger <dettinge@de.ibm.com>
3147
3148 * rtlanal.c (rtx_cost): Assign cost of 0 to a SUBREG
3149 when modes are tieable.
3150
658acbb2
RM
31512005-01-17 Ranjit Mathew <rmathew@hotmail.com>
3152
3153 * gthr-posix.h (__gthread_active_p): Use pthread_cancel instead
3154 of pthread_create to find out if threads are enabled.
3155 * gthr-posix95.h (__gthread_active_p): Likewise.
3156
cd280abb
PB
31572005-01-17 Paolo Bonzini <bonzini@gnu.org>
3158
3159 * common.opt (-fnew-ra): Remove.
3160 * ra*.*: Remove.
3161 * toplev.h (flag_new_regalloc): Remove.
3162 * Makefile.in (ra*.*): Don't mention.
3163 * passes.c (rest_of_handle_new_regalloc): Remove.
3164 (rest_of_handle_combine, rest_of_compilation): Always consider
3165 flag_new_regalloc as false.
3166 * doc/invoke.texi: Don't document -fnew-ra.
3167
31682005-01-17 Paolo Bonzini <bonzini@gnu.org>
c80a0f26
PB
3169
3170 * bb-reorder.c (fix_edges_for_rarely_executed_code): Remove
3171 last parameter to reg_scan.
3172 * loop.c (loop_optimize): Likewise.
3173 * passes.c (rest_of_handle_tracer, rest_of_handle_if_conversion,
3174 rest_of_handle_web, rest_of_handle_cfg, rest_of_handle_jump_bypass,
3175 rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
3176 rest_of_handle_gcse, rest_of_handle_loop_optimize,
3177 rest_of_handle_loop2, rest_of_handle_jump2): Likewise.
3178 * regclass.c (reg_scan): Likewise, for the declaration.
3179 * rtl.h (reg_scan): Likewise, for the prototype.
3180
724e4d44
KH
31812005-01-17 Kazu Hirata <kazu@cs.umass.edu>
3182
3183 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Don't call
3184 mark_dfs_back_edges.
3185
7f233d9f
DB
31862005-01-16 Daniel Berlin <dberlin@dberlin.org>
3187
3188 * tree-ssa-pre.c (add_to_sets): s1 may be NULL.
3189 (compute_avail): Uses don't go in tmp_gen.
3190
6f0947e4
SB
31912005-01-16 Steven Bosscher <stevenb@suse.de>
3192
3193 * ggc-page.c (ggc_alloc_stat): Use __builtin_ctzl instead of a
3194 loop to look for a free slot in a page entry.
3195
083b6717
JDA
31962005-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3197
3198 PR target/16304
3199 * defaults.h (TARGET_DEFERRED_OUTPUT_DEFS): Provide default.
3200 * toplev.c (compile_file): Call process_pending_assemble_output_defs
3201 just before targetm.asm_out.file_end.
3202 * tree.h (process_pending_assemble_output_defs): Declare.
3203 * varasm.c (assemble_output_def, process_pending_assemble_output_defs):
3204 New functions.
3205 (assemble_alias): Defer generation of assembly code for defines when
3206 TARGET_DEFERRED_OUTPUT_DEFS is true.
3207 * config/rs6000/aix41.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
3208 * config/rs6000/aix43.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
3209 * doc/tm.texi (TARGET_DEFERRED_OUTPUT_DEFS): document.
3210
2d5ca9a0
JDA
32112005-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3212
83c32f2e
JDA
3213 PR target/19336
3214 * pa.c (pa_scalar_mode_supported_p): New function.
3215 (TARGET_SCALAR_MODE_SUPPORTED_P): Define.
3216 * pa.h (MIN_UNITS_PER_WORD): Add comment.
3217
2d5ca9a0
JDA
3218 * pa-protos.h (prefetch_operand): Delete.
3219 (prefetch_cc_operand, prefetch_nocc_operand): New declations.
3220 * pa.c (prefetch_operand): Delete.
3221 (prefetch_cc_operand, prefetch_nocc_operand): New functions.
3222 * pa.h (EXTRA_CONSTRAINT): Add `W' constraint.
3223 (PREDICATE_CODES): Delete prefetch_operand. Add prefetch_cc_operand
3224 and prefetch_nocc_operand.
3225 * pa.md (prefetch): Rework to avoid reload problems handling short
3226 displacements when a cache control completer needs to be provided.
3227 (prefetch_32, prefetch_64): Delete.
3228 (prefetch_cc, prefetch_nocc): New patterns.
3229
6a9836b1
DE
32302005-01-15 David Edelsohn <edelsohn@gnu.org>
3231
3232 * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Revert previous change.
3233
22f549fd
JDA
32342005-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3235
3236 PR ada/19388
3237 * pa.c (pa_asm_output_aligned_common): Warn if specified alignment
3238 exceeds maximum alignment for global common data.
3239 * pa64-hpux.h (MAX_OFILE_ALIGNMENT): Define to 32768.
3240 * som.h (MAX_OFILE_ALIGNMENT): Likewise.
3241
19e1af6e
RS
32422004-01-15 Roger Sayle <roger@eyesopen.com>
3243
3244 * tree-ssa-dom.c (extract_range_from_cond): Correct condition.
3245
778f72f2
RS
32462004-01-15 Roger Sayle <roger@eyesopen.com>
3247
3248 * harg-reg-set.h (reg_class_names): Prototype global array.
3249 * regclass.c (reg_class_names): Declare here and initialize to
3250 REG_CLASS_NAMES.
3251 (dump_regclass): Remove local declaration of reg_class_names.
3252 (regclass): Likewise.
3253 * cfg.c (dump_flow_info): Likewise.
3254 * ra-debug.c (reg_class_names): Likewise.
3255 * regrename.c (reg_class_names): Likewise.
3256 * reload.c (reg_class_names): Likewise.
3257 * reload1.c (spill_failure): Likewise.
3258 * config/m68hc11/m68hc11.c (reg_class_names): Likewise.
3259
9c3c3dcc
UW
32602005-01-15 Ulrich Weigand <uweigand@de.ibm.com>
3261
3262 * config/s390/s390.md ("reload_outti"): Remove predicate for
3263 output operand. Abort if operand is not a MEM.
3264 ("reload_outdi", "reload_outdf"): Likewise.
3265
378b66d4
ME
32662005-01-15 Marc Espie <espie@openbsd.org>
3267
3268 * config.gcc (*-*-openbsd*): Set HAS_LIBC_R for OpenBSD <= 3.2.
3269 (i[34567]86-*-openbsd*): Switch to ELF for OpenBSD >= 3.4.
3270 * config/openbsd.h: Fix C++ includes for native configurations.
3271 Add proper OS_CPP_BUILTINS. Fix libspec for recent OpenBSD.
3272 Add trampoline support.
3273 * config/i386/openbsdelf.h: New.
3274
60828cbd
ME
32752005-01-15 Marc Espie <espie@openbsd.org>
3276
3277 * collect2.c (main): Explicitly parse -dynamic-linker option.
3278
75b9aa9f
JJ
32792005-01-15 Jakub Jelinek <jakub@redhat.com>
3280
3281 PR tree-optimization/19060
3282 * tree-ssa-dom.c (extract_range_from_cond) <case LT_EXPR, GT_EXPR>:
3283 Return 0 if op1 <= TYPE_MIN_VALUE () resp. op1 >= TYPE_MAX_VALUE ().
3284 (simplify_cond_and_lookup_avail_expr): Add assert for dummy == 0
3285 and handle extract_range_from_cond returning false.
3286 * fold-const.c (fold): Optimize comparisons with min/max even for
3287 width > HOST_BITS_PER_WIDE_INT.
3288
4ba9f2a1
RC
32892005-01-15 Ralf Corsepius <ralf.corsepius@rtems.org>
3290
3291 * config/mips/rtems.h (MIPS_DEFAULT_GVALUE): Set to 0.
3292 * config/mips/t-rtems (MULTILIBS_DIRNAMES,MULTILIB_OPTIONS):
3293 Remove little endian multilib variants.
3294 Add mips32 multilib variant.
3295
bbc8fb00
KH
32962005-01-15 Kazu Hirata <kazu@cs.umass.edu>
3297
3298 * explow.c (copy_all_reg, stabilize): Remove.
3299 * expr.h: Remove the corresponding prototypes.
3300
6a29dc8b
KH
3301 * rtlanal.c (regs_set_between_p): Remove.
3302 * rtl.h: Remove the corresponding prototype.
3303
165a5bad
DE
33042005-01-14 David Edelsohn <edelsohn@gnu.org>
3305
3306 * config/rs6000/rs6000.c (rs6k_nonimmediate_operand): Rename
3307 to rs6000_nonimmediate_operand.
3308 * config/rs6000/rs6000.h (PREDICATE_CODES): Rename
3309 rs6k_nonimmediate_operand to rs6000_nonimmediate_operand.
3310 * config/rs6000/rs6000.md (movsi_internal1): Rename predicate to
3311 rs6000_nonimmediate_operand.
3312 * config/rs6000/spe.md (movdf_e500_double): Rename predicate to
3313 rs6000_nonimmediate_operand.
3314
7f9e6d2a
AP
33152005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
3316
3317 * tree-ssa-alias.c (pass_may_alias): Add TODO_verify_stmts.
3318
54b695e7
AH
33192005-01-14 Aldy Hernandez <aldyh@redhat.com>
3320
3321 * config/rs6000/rs6000.h (CLASS_MAX_NREGS): DF goes in 1 register
3322 on e500v2.
3323 (CANNOT_CHANGE_MODE_CLASS): Restrict DI mode changes on e500v2.
3324 (PREDICATE_CODES): Add rs6k_nonimmediate_operand.
3325
3326 * config/rs6000/rs6000.c (invalid_e500_subreg): New.
3327 (rs6k_nonimmediate_operand): New.
3328 (rs6000_legitimate_offset_address_p): Handle DI modes on e500v2
3329 correctly.
3330 (legitimate_lo_sum_address_p): Same.
3331 (rs6000_legitimize_address): Same.
3332 (rs6000_legitimize_reload_address): Same.
3333 (rs6000_legitimate_address): Same.
3334 (spe_build_register_parallel): Pass DF and DC modes in a DI
3335 register.
3336
3337 * config/rs6000/rs6000.md ("*movsi_internal1"): Change predicate
3338 to rs6k_nonimmediate_operand.
3339
3340 * config/rs6000/spe.md ("*frob_df_di"): New.
3341 ("*frob_di_df"): New.
3342 ("*frob_di_df_2"): New.
3343 ("*mov_sidf_e500_subreg0"): New.
3344 ("*mov_sidf_e500_subreg4"): New.
3345 ("*movdf_e500_double"): Change predicate to
3346 rs6k_nonimmediate_operand.
3347
05075d4e
AH
33482005-01-14 Aldy Hernandez <aldyh@redhat.com>
3349
3350 * postreload.c (move2add_note_store): Only call
3351 trunc_int_for_mode on scalar integers.
3352
a28fee03
SB
33532005-01-14 Steven Bosscher <stevenb@suse.de>
3354
3355 * tree-ssa-dce.c (visited_control_parents): New sbitmap to
3356 replace BB_VISITED uses.
3357 (find_obviously_necessary_stmts): Don't clear BB_VISITED.
3358 (propagate_necessity): Check the bitmap instead of BB_VISITED.
3359 (tree_dce_done): Free visited_control_parents.
3360 (perform_tree_ssa_dce): Allocate and clear it.
3361 * tree-ssa-pre.c (compute_antic_aux): Make non-recursive.
3362 (compute_antic): Iterate from here using a DFS. Use an sbitmap
3363 instead of BB_VISITED.
3364
103a83e0
KH
33652005-01-14 Kazu Hirata <kazu@cs.umass.edu>
3366
3367 * c-tree.h, coverage.h, langhooks-def.h, optabs.h, output.h,
3368 rtl.h, targhooks.h, tree-flow.h, tree-mudflap.h, tree.h:
3369 Remove unused prototypes.
3370
b5a5beb9
AH
33712005-01-14 Aldy Hernandez <aldyh@redhat.com>
3372
3373 * config/rs6000/rs6000.c (rs6000_stack_info): Fix caching of SPE
3374 64-bit register usage.
3375 (spe_func_has_64bit_regs_p): Add FIXME note.
3376
5ca18999
AH
33772005-01-14 Aldy Hernandez <aldyh@redhat.com>
3378
3379 * config/rs6000/rs6000.c (rs6000_generate_compare): Replace
3380 flag_finite_math_only with flag_unsafe_math_optimizations.
3381
783d2650
J
33822005-01-14 J. D. Johnston <jjohnst@us.ibm.com>
3383
3384 * config/s390/tpf-unwind.h (s390_fallback_frame_state): Correct
3385 end-of-stack check.
3386 (__tpf_eh_return): Copy TPF private stack area from the module
3387 boundary stack frame. Add check for when module addresses are
3388 equal, but no stub address is found.
3389
b12a00f1
RE
33902005-01-14 Richard Earnshaw <rearnsha@arm.com>
3391
3392 PR target/7525
3393 * arm.h (struct machine_function): Add call_via field.
3394 (thumb_call_via_label): Declare.
3395 * arm.c (thumb_call_via_label): New variable.
3396 (thumb_call_reg_needed): New variable.
3397 (arm_output_function_epilogue): For Thumb code, output any per-function
3398 call-indirect trampolines.
3399 (thumb_call_via_reg): New function.
3400 (arm_file_end): New function.
3401 (TARGET_ASM_FILE_END): Call arm_file_end.
3402 (aof_file_end): Likewise.
3403 * arm-protos.h (thumb_call_via_reg): Declare.
3404 * arm.md (call_reg_thumb, call_value_reg_thumb): Call
3405 thumb_call_via_reg in normal case.
3406
08a0c536
JJ
34072005-01-14 Jakub Jelinek <jakub@redhat.com>
3408
3409 PR middle-end/19084
3410 PR rtl-optimization/19348
3411 * recog.c (peephole2_optimize): Do global life update if some peephole
3412 decides it doesn't need at least one of its inputs and that change
3413 influences liveness at the start of the basic block.
3414
3415 * basic-block.h (EXECUTE_IF_AND_COMPL_IN_REG_SET): Needs 2 REGSET
3416 arguments instead of 1.
3417
eebeecac
EB
34182005-01-14 Eric Botcazou <ebotcazou@libertysurf.fr>
3419
3420 PR middle-end/18820
3421 * varasm.c (initializer_constant_valid_p) <ADDR_EXPR>: Return
3422 zero for nested functions needing a static chain or functions
3423 with a non-constant address.
3424
a0ee8b5f
RS
34252005-01-13 Roger Sayle <roger@eyesopen.com>
3426
3427 * simplify-rtx.c (simplify_binary_operation) <AND>: Optimize
3428 (and (sign_extend X) C) into (zero_extend (and X C)).
3429
92018897
DB
34302005-01-13 David O'Brien <obrien@FreeBSD.org>
3431
3432 * config/freebsd-spec.h: Make KSE pthread lib logic the default.
3433
eaa49b49
RH
34342005-01-13 Richard Henderson <rth@redhat.com>
3435
2d1d3cb2 3436 PR target/19009
eaa49b49
RH
3437 PR target/19250
3438 PR target/19252
3439 * config/i386/i386.md (cmpdf, cmpsf, bunordered, bordered, buneq,
3440 bunge, bungt, bunle, bunlt, bltgt): Enable for TARGET_SSE_MATH,
3441 not just TARGET_SSE.
3442 (cmpfp_i_387): Rename from cmpfp_i. Move after sse patterns.
3443 (cmpfp_i_mixed): Rename from cmpfp_i_sse; use for TARGET_MIX_SSE_I387.
3444 (cmpfp_i_sse): Rename from cmpfp_i_sse_only; use for TARGET_SSE_MATH.
3445 (cmpfp_iu_mixed, cmpfp_iu_sse, cmpfp_iu_387): Similarly.
3446 (fp_jcc_1_mixed, fp_jcc_1_sse, fp_jcc_1_387): Similarly.
3447 (fp_jcc_2_mixed, fp_jcc_2_sse, fp_jcc_2_387): Similarly.
3448 (fp_jcc_3_387, fp_jcc_4_387, fp_jcc_5_387, fp_jcc_6_387,
3449 fp_jcc_7_387, fp_jcc_8_387): Rename from fp_jcc_N.
3450 (movdicc_c_rex64): Rename with '*'.
3451 (movsfcc, movdfcc): Add checks for 387 and sse math to condition.
3452 (movsfcc_1_sse_min, movsfcc_1_sse_max, movsfcc_1_sse): New.
3453 (movsfcc_1_387): Rename from movsfcc_1.
3454 (movdfcc_1_sse_min, movdfcc_1_sse_max, movdfcc_1_sse): New.
3455 (movdfcc_1, movdfcc_1_rex64): Add check for 387.
3456 (sminsf3, smaxsf3, smindf3, smaxdf3): New.
3457 (minsf3, minsf, minsf_nonieee, minsf_sse, mindf3, mindf,
3458 mindf_nonieee, mindf_sse, maxsf3, maxsf, maxsf_nonieee, maxsf_sse,
3459 maxdf3, maxdf, maxdf_nonieee, maxdf_sse, sse_movsfcc, sse_movsfcc_eq,
3460 sse_movdfcc, sse_movdfcc_eq, sse_movsfcc_const0_1,
3461 sse_movsfcc_const0_2, sse_movsfcc_const0_3, sse_movsfcc_const0_4,
3462 sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
3463 sse_movdfcc_const0_4): Remove.
3464 * config/i386/i386.c (ix86_expand_fp_movcc): For TARGET_SSE_MATH,
3465 recognize min/max early. Update for changed sse cmove patterns.
3466 (ix86_split_sse_movcc): New.
3467 * config/i386/i386-protos.h: Update.
3468
1dff80c0
SB
34692005-01-13 Steven Bosscher <stevenb@suse.de>
3470
3471 * tree-ssa-dse.c (fix_phi_uses): Use SSA operand iterators.
3472 (fix_stmt_v_may_defs): Likewise.
3473
bb129a4f
RH
34742005-01-13 Richard Henderson <rth@redhat.com>
3475
3476 * config/i386/i386.c (ix86_expand_fp_absneg_operator): Use elt_mode
3477 for converting the mask.
3478
2cba2c8b
DE
34792005-01-13 David Edelsohn <edelsohn@gnu.org>
3480
3481 * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Change _XOPEN_SOURCE
3482 definition to 600.
3483
ed9b5396
RH
34842005-01-13 Richard Henderson <rth@redhat.com>
3485
3486 * config/i386/i386.c (IX86_BUILTIN_MOVQ, IX86_BUILTIN_LOADD,
3487 IX86_BUILTIN_STORED, IX86_BUILTIN_MOVQ2DQ,
3488 IX86_BUILTIN_MOVDQ2Q): Remove.
3489 (IX86_BUILTIN_VEC_EXT_V4SI): New.
3490 (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Update to match.
3491 (ix86_expand_vector_extract): For V4S[FI], extract element 0 after
3492 shuffling.
3493 * config/i386/sse.md (sse_concatv2sf): Accept zero operand 2.
3494 (sse2_pextrw): Fix immediate constraint.
3495 (sse2_loadq, sse2_loadq_rex64): Remove.
3496 * config/i386/emmintrin.h (_mm_cvtsi128_si32, _mm_cvtsi128_si64x):
3497 Use __builtin_ia32_vec_ext_<size>.
3498 (_mm_cvtsi32_si128, _mm_cvtsi64x_si128): Use _mm_set_epi<size>.
3499
17284759
AH
35002005-01-13 Aldy Hernandez <aldyh@redhat.com>
3501
3502 * function.c (assign_parm_setup_block): Look inside original
3503 entry_parm when inspecting PARALLEL.
3504
5d58d2f8
RC
35052005-01-13 Ralf Corsepius <ralf.corsepius@rtems.org>
3506 Joel Sherrill <joel@oarcorp.com>
3507
3508 PR target/19399
3509 * gthr-rtems.h (__gthread_recursive_mutex_t): New type.
3510 (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Define to
3511 rtems_gxx_recursive_mutex_init.
3512 (__gthread_recursive_mutex_lock): New function.
3513 (__gthread_recursive_mutex_trylock): Likewise.
3514 (__gthread_recursive_mutex_unlock): Likewise.
3515
52786878
RC
35162005-01-13 Ralf Corsepius <ralf.corsepius@rtems.org>
3517
3518 * config/i386/t-rtems-i386: Multilib on -mtune instead of -mcpu.
3519
16d8386b
JB
35202005-01-13 Jan Beulich <jbeulich@novell.com>
3521
3522 * config/ia64/ia64.md (ashlti3, ashlti3_internal): New.
3523 (ashrti3_internal): Indicate output is early clobber. Generate result
3524 into output rather than first input. Use move for low word of output
3525 if shift count is exactly 64.
3526 (lshrti3_internal): Likewise.
3527
0149f412
HPN
35282005-01-13 Hans-Peter Nilsson <hp@bitrange.com>
3529
3530 PR target/18329
3531 PR target/18330
3532 * reload1.c (delete_output_reload): Don't delete an output reload
3533 if the pseudo lives longer than a single basic block. Adjust and
3534 improve wording of comment.
3535
e1e04267
AP
35362005-01-12 Andrew Pinski <pinskia@physics.uc.edu>
3537
3538 PR target/19334
3539 * config/darwin.c (machopic_select_section): Use TYPE_SIZE_UNIT instead
3540 of TYPE_SIZE where we mean the number of bytes.
3541
640019aa
AH
35422005-01-12 Aldy Hernandez <aldyh@redhat.com>
3543
3544 * function.c (assign_parm_setup_block): Relax condition on
3545 multi-register optimization.
3546
98e20ffd
NC
35472005-01-12 Nick Clifton <nickc@redhat.com>
3548
3549 * config/sh/sh.md (udivsi3_sh2a, divsi3_sh2a): Give these patterns
3550 an "in_delay_slot" attribute of "no" to prevent them being used in
3551 delay slots. This is forbidden because they might generate
3552 exceptions.
3553
409f61cd
AM
35542005-01-12 Alan Modra <amodra@bigpond.net.au>
3555
3556 PR target/19389
3557 * config/rs6000/rs6000.md (movtf_internal): Replace r->o and m->r
3558 with r->Y and Y->r.
3559
ef6f5655
NC
35602005-01-12 Nick Clifton <nickc@redhat.com>
3561
3562 * config/iq2000/iq2000.h (ASM_SPEC): Undefine (to stop -Qy being
3563 passed on to GAS) but do not define, as GAS no longer supports or
3564 needs the -m2000 option.
3565
157b3890
RS
35662005-01-11 Roger Sayle <roger@eyesopen.com>
3567
3568 * builtins.c (fold_builtin_fabs): Convert argument to the appropriate
3569 type as args of unprototyped builtins aren't automatically promoted.
3570 (fold_builtin_abs): Likewise.
3571
9a43b902
KG
35722005-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3573
3574 * Makefile.in: Set a `build-warn' variable.
3575
0a915e3d
ZD
35762005-01-11 Zdenek Dvorak <dvorakz@suse.cz>
3577
3578 PR tree-optimization/17949
3579 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): New function.
3580 (find_interesting_uses_address): Use it.
3581
f351bfed
AH
35822005-01-11 Aldy Hernandez <aldyh@redhat.com>
3583
3584 * regrename.c (kill_value): Handle subreg's that won't simplify.
3585
eb701deb
RH
35862005-01-11 Richard Henderson <rth@redhat.com>
3587
3588 PR target/13366
3589 * config/i386/i386.h (enum ix86_builtins): Move ...
3590 * config/i386/i386.c: ... here.
3591 (IX86_BUILTIN_MOVDDUP, IX86_BUILTIN_MMX_ZERO, IX86_BUILTIN_PEXTRW,
3592 IX86_BUILTIN_PINSRW, IX86_BUILTIN_LOADAPS, IX86_BUILTIN_LOADSS,
3593 IX86_BUILTIN_STORESS, IX86_BUILTIN_SSE_ZERO, IX86_BUILTIN_PEXTRW128,
3594 IX86_BUILTIN_PINSRW128, IX86_BUILTIN_LOADAPD, IX86_BUILTIN_LOADSD,
3595 IX86_BUILTIN_STOREAPD, IX86_BUILTIN_STORESD, IX86_BUILTIN_STOREHPD,
3596 IX86_BUILTIN_STORELPD, IX86_BUILTIN_SETPD1, IX86_BUILTIN_SETPD,
3597 IX86_BUILTIN_CLRPD, IX86_BUILTIN_LOADPD1, IX86_BUILTIN_LOADRPD,
3598 IX86_BUILTIN_STOREPD1, IX86_BUILTIN_STORERPD, IX86_BUILTIN_LOADDQA,
3599 IX86_BUILTIN_STOREDQA, IX86_BUILTIN_CLRTI,
3600 IX86_BUILTIN_LOADDDUP): Remove.
3601 (IX86_BUILTIN_VEC_INIT_V2SI, IX86_BUILTIN_VEC_INIT_V4HI,
3602 IX86_BUILTIN_VEC_INIT_V8QI, IX86_BUILTIN_VEC_EXT_V2DF,
3603 IX86_BUILTIN_VEC_EXT_V2DI, IX86_BUILTIN_VEC_EXT_V4SF,
3604 IX86_BUILTIN_VEC_EXT_V8HI, IX86_BUILTIN_VEC_EXT_V4HI,
3605 IX86_BUILTIN_VEC_SET_V8HI, IX86_BUILTIN_VEC_SET_V4HI): New.
3606 (ix86_init_builtins): Make static.
3607 (ix86_init_mmx_sse_builtins): Update for changed builtins.
3608 (ix86_expand_binop_builtin): Only use ix86_fixup_binary_operands
3609 if all the modes match. Otherwise, fake it.
3610 (get_element_number, ix86_expand_vec_init_builtin,
3611 ix86_expand_vec_ext_builtin, ix86_expand_vec_set_builtin): New.
3612 (ix86_expand_builtin): Make static. Update for changed builtins.
3613 (ix86_expand_vector_move_misalign): Use sse2_loadlpd with zero
3614 operand instead of sse2_loadsd. Cast sse1 fallback to V4SFmode.
3615 (ix86_expand_vector_init_duplicate): New.
3616 (ix86_expand_vector_init_low_nonzero): New.
3617 (ix86_expand_vector_init_one_var, ix86_expand_vector_init_general):
3618 Split out from ix86_expand_vector_init; handle integer modes.
3619 (ix86_expand_vector_init): Use them.
3620 (ix86_expand_vector_set, ix86_expand_vector_extract): New.
3621 * config/i386/i386-protos.h: Update.
3622 * config/i386/predicates.md (reg_or_0_operand): New.
3623 * config/i386/mmx.md (mov<MMXMODEI>_internal): Add 'r' variants.
3624 (movv2sf_internal): Likewise. And a splitter to match them all.
3625 (vec_dupv2sf, mmx_concatv2sf, vec_setv2sf, vec_extractv2sf,
3626 vec_initv2sf, vec_dupv4hi, vec_dupv2si, mmx_concatv2si, vec_setv2si,
3627 vec_extractv2si, vec_initv2si, vec_setv4hi, vec_extractv4hi,
3628 vec_initv4hi, vec_setv8qi, vec_extractv8qi, vec_initv8qi): New.
3629 (mmx_pinsrw): Fix operand ordering.
3630 * config/i386/sse.md (movv4sf splitter): Use direct pattern,
3631 rather than sse_loadss expander.
3632 (movv2df splitter): Similarly.
3633 (sse_loadss, sse_loadlss): Remove.
3634 (vec_dupv4sf, sse_concatv2sf, sse_concatv4sf, vec_extractv4sf_0): New.
3635 (vec_setv4sf, vec_setv2df): Use ix86_expand_vector_set.
3636 (vec_extractv4sf, vec_extractv2df): Use ix86_expand_vector_extract.
3637 (sse3_movddup): Rename with '*'.
3638 (sse3_movddup splitter): Use gen_rtx_REG instead of gen_lowpart.
3639 (sse2_loadsd): Remove.
3640 (vec_dupv2df_sse3): Rename from sse3_loadddup.
3641 (vec_dupv2df, vec_concatv2df_sse3, vec_concatv2df): New.
3642 (sse2_pinsrw): Fix argument ordering.
3643 (sse2_loadld, sse2_loadq): Add sse1 alternatives.
3644 (sse2_stored): Remove 'r' destination.
3645 (vec_dupv4si, vec_dupv2di, sse2_concatv2si, sse1_concatv2si,
3646 vec_concatv4si_1, vec_concatv2di, vec_setv2di, vec_extractv2di,
3647 vec_initv2di, vec_setv4si, vec_extractv4si, vec_initv4si,
3648 vec_setv8hi, vec_extractv8hi, vec_initv8hi, vec_setv16qi,
3649 vec_extractv16qi, vec_initv16qi): New.
3650
3651 * config/i386/emmintrin.h (__m128i, __m128d): Use typedef, not define.
3652 (_mm_set_sd, _mm_set1_pd, _mm_setzero_pd, _mm_set_epi64x,
3653 _mm_set_epi32, _mm_set_epi16, _mm_set_epi8, _mm_setzero_si128): Use
3654 constructor form.
3655 (_mm_load_pd, _mm_store_pd): Use plain dereference.
3656 (_mm_load_si128, _mm_store_si128): Likewise.
3657 (_mm_load1_pd): Use _mm_set1_pd.
3658 (_mm_load_sd): Use _mm_set_sd.
3659 (_mm_store_sd, _mm_storeh_pd): Use __builtin_ia32_vec_ext_v2df.
3660 (_mm_store1_pd, _mm_storer_pd): Use _mm_store_pd.
3661 (_mm_set_epi64): Use _mm_set_epi64x.
3662 (_mm_set1_epi64x, _mm_set1_epi64, _mm_set1_epi32, _mm_set_epi16,
3663 _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
3664 _mm_setr_epi8): Use _mm_set_foo form.
3665 (_mm_loadl_epi64, _mm_movpi64_epi64, _mm_move_epi64): Use _mm_set_epi64.
3666 (_mm_storel_epi64, _mm_movepi64_pi64): Use __builtin_ia32_vec_ext_v2di.
3667 (_mm_extract_epi16): Use __builtin_ia32_vec_ext_v8hi.
3668 (_mm_insert_epi16): Use __builtin_ia32_vec_set_v8hi.
3669 * config/i386/mmintrin.h (_mm_setzero_si64): Use plain cast.
3670 (_mm_set_pi32): Use __builtin_ia32_vec_init_v2si.
3671 (_mm_set_pi16): Use __builtin_ia32_vec_init_v4hi.
3672 (_mm_set_pi8): Use __builtin_ia32_vec_init_v8qi.
3673 (_mm_set1_pi16, _mm_set1_pi8): Use _mm_set_piN variant.
3674 * config/i386/pmmintrin.h (_mm_loaddup_pd): Use _mm_load1_pd.
3675 (_mm_movedup_pd): Use _mm_shuffle_pd.
3676 * config/i386/xmmintrin.h (_mm_setzero_ps, _mm_set_ss,
3677 _mm_set1_ps, _mm_set_ps, _mm_setr_ps): Use constructor form.
3678 (_mm_cvtpi16_ps, _mm_cvtpu16_ps, _mm_cvtpi8_ps, _mm_cvtpu8_ps,
3679 _mm_cvtps_pi8, _mm_cvtpi32x2_ps): Avoid __builtin_ia32_mmx_zero;
3680 Use _mm_setzero_ps.
3681 (_mm_load_ss, _mm_load1_ps): Use _mm_set* form.
3682 (_mm_load_ps, _mm_loadr_ps): Use raw dereference.
3683 (_mm_store_ss): Use __builtin_ia32_vec_ext_v4sf.
3684 (_mm_store_ps): Use raw dereference.
3685 (_mm_store1_ps): Use _mm_storeu_ps.
3686 (_mm_storer_ps): Use _mm_store_ps.
3687 (_mm_extract_pi16): Use __builtin_ia32_vec_ext_v4hi.
3688 (_mm_insert_pi16): Use __builtin_ia32_vec_set_v4hi.
3689
d9e4e4f5
SS
36902005-01-11 Stan Shebs <shebs@apple.com>
3691
3692 * config/rs6000/rs6000.c (machopic_output_stub): Issue
3693 ldu instead of lwzu if 64-bit -mdynamic-no-pic.
3694
85962ac8
AP
36952005-01-11 Andrew Pinski <pinskia@physics.uc.edu>
3696
3697 PR target/18761
3698 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
3699 Skip all DECLs except for FIELD_DECLs.
3700
6b78f6be
AK
37012005-01-11 Andreas Krebbel <krebbel1@de.ibm.com>
3702
3703 * config/s390/s390.c (override_options): Return error if
3704 -mbackchain, -mpacked-stack and -mhard-float are used together.
3705 (s390_va_start): Remove the backchain && packed-stack special case.
3706 (s390_gimplify_va_arg): Likewise.
3707 * doc/invoke.texi: Remove the ABI incompatibility note.
3708
66480e91
AK
37092005-01-11 Andreas Krebbel <krebbel1@de.ibm.com>
3710
fc474307 3711 * config/s390/s390.c (struct s390_frame_layout): Remove
66480e91
AK
3712 save_backchain_p.
3713 (s390_frame_info, s390_emit_prologue): Replace occurrences of
3714 save_backchain_p with TARGET_BACKCHAIN.
3715
bfc45551
AM
37162005-01-11 Alan Modra <amodra@bigpond.net.au>
3717
3718 PR target/18916
3719 * builtins.c (std_gimplify_va_arg_expr): Adjust alignment of *ap.
3720 * expr.h (struct locate_and_pad_arg_data): Add "boundary".
3721 * function.c (locate_and_pad_parm): Set new field.
3722 (assign_parm_find_stack_rtl): Use it instead of FUNCTION_ARG_BOUNDARY.
3723 Tweak where_pad test to include "none". Always set mem align for
3724 stack_parm.
3725 (assign_parm_adjust_stack_rtl): Discard stack_parm if alignment
3726 not sufficient for type.
3727 (assign_parm_setup_block): If stack_parm is zero on entry, always
3728 make a new stack local. Block move old stack parm if necessary
3729 to new aligned stack local.
3730 (assign_parm_setup_stack): Use a block move to handle
3731 potentially misaligned entry_parm.
3732 (assign_parms_unsplit_complex): Specify required alignment when
3733 creating stack local.
3734 * calls.c (compute_argument_addresses): Override alignment of stack
3735 arg calculated from its type with the alignment given by
3736 FUNCTION_ARG_BOUNDARY.
3737 (store_one_arg): Likewise.
3738
d3f6e07b 37392005-01-11 Jan Beulich <jbeulich@novell.com>
bfc45551 3740
d3f6e07b
JB
3741 * config/ia64/ia64.md (zero_extendsidi2): Replace zxt4 by addp4.
3742 Change respective itanium_class attribute to ialu.
3743 (shladdp4_internal): New.
3744 * config/ia64/predicates.md (shladd_log2_operand): New.
3745
201dd46b
RH
37462005-01-11 Richard Henderson <rth@redhat.com>
3747
3748 * expr.c (store_constructor): Use rtvec_alloc instead of
3749 alloca+gen_rtvec_v, and an incorrect number passed to alloca.
3750
35c0104b
KH
37512005-01-11 Kazu Hirata <kazu@cs.umass.edu>
3752
3753 * config/alpha/alpha.c, config/i386/mmx.md: Fix comment typos.
3754
abb8b19a
AM
37552005-01-11 Alan Modra <amodra@bigpond.net.au>
3756
3757 * varasm.c (default_section_type_flags_1): Don't set SECTION_SMALL.
3758 * config/ia64/ia64.c (TARGET_SECTION_TYPE_FLAGS): Define.
3759 (TARGET_RWRELOC): Define.
3760 (ia64_rwreloc_section_type_flags): Delete.
3761 (ia64_section_type_flags): New function.
3762 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): Don't define.
3763 (TARGET_RWRELOC): Define.
3764
b1eae416
DM
37652005-01-10 David Mosberger <davidm@hpl.hp.com>
3766
3767 PR target/18987
3768 * config/ia64/ia64.c (process_set): For alloc insn, only call
3769 process_epilogue is !frame_pointer_needed.
3770
18d00205
RS
37712005-01-10 Roger Sayle <roger@eyesopen.com>
3772
3773 PR c++/19355
3774 * c-common.c (c_common_truthvalue_conversion): TRUTH_NOT_EXPR is a
3775 unary operator and can't be treated as a binary/comparison operator.
3776
b3a1ca49
RH
37772005-01-10 Richard Henderson <rth@redhat.com>
3778
3779 * config/i386/i386.c (ix86_function_value): Use type_natural_mode.
3780 (ix86_return_in_memory): Likewise.
3781 (function_arg_advance): Likewise. Mirror structure in function_arg
3782 for choosing register to advance.
3783
1618f948
KH
37842005-01-10 Kazu Hirata <kazu@cs.umass.edu>
3785
3786 * tree-vectorizer.c, tree.def: Fix comment typos.
3787
98fd0d70
MD
37882005-01-10 Mark Dettinger <dettinge@de.ibm.com>
3789
3790 * config/s390/s390.c (struct processor_costs): 4 new fields:
3791 ddbr, ddr, debr, der.
3792 (s390_rtx_costs): More precise handling of divide instructions.
3793
99757961
DE
37942005-01-10 David Edelsohn <edelsohn@gnu.org>
3795
3796 * config/rs6000/t-aix43 (BOOT_LDFLAGS): Define.
3797
826eb7ed
JB
37982005-01-10 Jan Beulich <jbeulich@novell.com>
3799
3800 * config/ia64/ia64.c (ia64_in_small_data_p): Also handle the section
3801 names resulting from -ffunction-sections/-fdata-sections and linkonce
3802 ones.
3803 * varasm.c (default_section_type_flags_1): Also set SECTION_SMALL
3804 based on the section name. Rearrange the section name comparison logic
3805 slightly so that each section name is compared against at most once.
3806
068d4f38
BE
38072005-01-10 Ben Elliston <bje@au.ibm.com>
3808
3809 * doc/invoke.texi (Code Gen Options): Add PowerPC to the list of
3810 targets for which -fPIC reduces limitations on the GOT size.
3811
351bae3d
FH
38122005-01-09 Falk Hueffner <falk@debian.org>
3813
3814 * fold-const.c (fold): Also handle EXACT_DIV_EXPR when folding
3815 X/C1 cmpop C2.
3816
7142ae77
DE
38172005-01-09 David Edelsohn <edelsohn@gnu.org>
3818
3819 PR target/18720
3820 * collect2.c (main): Set aixrtl_flag for -brtl option.
3821 (resolve_lib_name): Search for .so file extension before .a
3822 if aixrtl_flag set.
3823
5a3ed97a
DN
38242005-01-09 Dorit Naishlos <dorit@il.ibm.com>
3825
3826 * tree-vectorizer.c (vect_enhance_data_refs_alignment): Add dump prints.
3827 (vect_analyze_data_refs_alignment): Add dump prints.
3828
db5dc63d
IR
38292005-01-09 Ira Rosen <irar@il.ibm.com>
3830
fc474307 3831 * tree-vectorizer.c (vect_analyze_offset_expr): Use
db5dc63d
IR
3832 expr_invariant_in_loop_p.
3833 Initialize outputs first thing in the function.
3834 (vect_update_ivs_after_vectorizer): Call initial_condition_in_loop_num.
3835 (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
fc474307 3836 (vect_analyze_pointer_ref_access): Check that the initial condition of
db5dc63d
IR
3837 the access function is loop invariant.
3838
80e8bb90
RH
38392005-01-09 Richard Henderson <rth@redhat.com>
3840
3841 * config/i386/i386.c (bdesc_2arg): Update names for mmx_ prefixes.
3842 (ix86_expand_builtin): Likewise. Frob MASKMOVQ wrt the input mem
3843 just like MASKMOVDQU. Return plain zero for MMX_ZERO.
3844 * config/i386/i386.md (MMXMODEI, mov<MMXMODEI>,
3845 mov<MMXMODEI>_internal_rex64, mov<MMXMODEI>_internal, movv2sf,
3846 movv2sf_internal_rex64, movv2sf_internal, MMXMODE,
3847 movmisalign<MMXMODE>, mmx_pmovmskb, mmx_maskmovq, mmx_maskmovq_rex,
3848 sse_movntdi, addv8qi3, addv4hi3, addv2si3, mmx_adddi3, ssaddv8qi3,
3849 ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3, subv4hi3, subv2si3,
3850 mmx_subdi3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3,
3851 mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd,
3852 sse2_umulsidi3, mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3,
3853 mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pinsrw,
3854 mmx_pextrw, mmx_pshufw, eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3,
3855 gtv2si3, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3,
3856 ashrv2si3, lshrv4hi3, lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3,
3857 mmx_ashldi3, mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw,
fc474307 3858 mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd,
80e8bb90
RH
3859 mmx_punpckldq, emms, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3,
3860 eqv2sf3, pfmaxv2sf3, pfminv2sf3, mulv2sf3, femms, pf2id, pf2iw,
3861 pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pfrcpv2sf2, pfrcpit1v2sf3,
3862 pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3, pmulhrwv4hi3, pswapdv2si2,
3863 pswapdv2sf2): Move to mmx.md; rename as necessary with leading
3864 mmx_ prefix.
3865 (mmx_clrdi, pavgusb): Remove.
fc474307 3866 (ldmxcsr, stmxcsr, sfence, sfence_insn): Move to sse.md; rename
80e8bb90
RH
3867 with leading sse_ prefix.
3868 * config/i386/sse.md: Receive them.
3869 * config/i386/mmx.md: New file.
3870 (MMXMODE12, MMXMODE24, mmxvecsize): New.
3871 (subrv2sf3): Turn into expander for normal subtraction.
3872 (mmx_addv2sf3, mmx_mulv2sf3, mmx_smaxv2sf3, mmx_sminv2sf3,
3873 mmx_eqv2sf3, mmx_mulv4hi3, mmx_smulv4hi3_highpart,
3874 mmx_umulv4hi3_highpart, mmx_pmaddwd, mmx_pmulhrwv4hi3, sse2_umulsidi3,
3875 mmx_umaxv8qi3, mmx_smaxv4hi3, mmx_uminv8qi3, mmx_sminv4hi3): Mark
3876 commutative; use ix86_binary_operator_ok.
3877 (mmx_add<MMXMODEI>3, mmx_ssadd<MMXMODE12>3, mmx_usadd<MMXMODE12>3,
3878 mmx_sub<MMXMODEI>3, mmx_sssub<MMXMODE12>3, mmx_ussub<MMXMODE12>3
3879 mmx_ashr<MMXMODE24>3, mmx_lshr<MMXMODE23>3, mmx_ashl<MMXMODE24>3
fc474307 3880 mmx_eq<MMXMODEI>3, mmx_gt<MMXMODEI>3, mmx_and<MMXMODEI>3,
80e8bb90
RH
3881 mmx_nand<MMXMODEI>3, mmx_ior<MMXMODEI>3, mmx_xor<MMXMODEI>3):
3882 Macroize from existing patterns; use ix86_binary_operator_ok.
3883 (mmx_packsswb, mmx_packssdw, mmx_packuswb): Add memory alternative.
3884 (mmx_punpckhbw, mmx_punpcklbw, mmx_punpckhwd, mmx_punpcklwd,
3885 mmx_punpckhdq, mmx_punpckhdq, mmx_punpckldq): Likewise. Model
3886 with vec_select+vec_concat.
3887 (mmx_pshufw, mmx_pshufw_1): Likewise.
3888 (mmx_uavgv8qi3): Merge pavgusb. Model correcty.
3889 (mmx_uavgv4hi3): Model correctly.
3890 * config/i386/mmintrin.h (_mm_and_si64, _mm_andnot_si64, _mm_or_si64,
3891 _mm_xor_si64): Remove casts.
3892
eb0bc7af
ZD
38932005-01-09 Zdenek Dvorak <dvorakz@suse.cz>
3894
3895 PR tree-optimization/19224
3896 * tree-scalar-evolution.c (get_instantiated_value,
3897 set_instantiated_value): New functions.
3898 (instantiate_parameters_1): Cache the results.
3899 (instantiate_parameters, resolve_mixers): Initialize and free
3900 the cache.
3901
d1c9ce9f
DE
39022005-01-08 David Edelsohn <edelsohn@gnu.org>
3903
3904 * config/i386/i386.md (addhi_4): Correct reference in comment.
3905 (addqi_4): Same.
3906
ef719a44
RH
39072005-01-08 Richard Henderson <rth@redhat.com>
3908
3909 * config/i386/emmintrin.h (_mm_cvtsi128_si32): Move earlier.
3910 (_mm_cvtsi128_si64x): Likewise.
3911 (_mm_srl_epi64, _mm_srl_epi32, _mm_srl_epi16, _mm_sra_epi32,
3912 _mm_sra_epi16, _mm_sll_epi64, _mm_sll_epi32, _mm_sll_epi16): Use
3913 the _mm_{srl,sll}i_foo counterpart, and _mm_cvtsi128_si32.
3914 * config/i386/i386-modes.def: Add V16HI, V32QI, V4DF, V8SF.
3915 * config/i386/i386-protos.h: Update.
3916 * config/i386/i386.c (print_operand): Add 'H'.
3917 (ix86_fixup_binary_operands): Split out from ...
3918 (ix86_expand_binary_operator): ... here.
3919 (ix86_fixup_binary_operands_no_copy): New.
3920 (ix86_expand_fp_absneg_operator): Handle vector mode results.
3921 (bdesc_2arg): Update names for sse{,2,3}_ prefixes.
3922 (ix86_init_mmx_sse_builtins): Remove *maskncmp* special cases.
3923 (safe_vector_operand): Use CONST0_RTX.
3924 (ix86_expand_binop_builtin): Use ix86_fixup_binary_operands.
3925 (ix86_expand_builtin): Merge CODE_FOR_sse2_maskmovdqu_rex64 and
3926 CODE_FOR_sse2_maskmovdqu. Special case SSE version of MASKMOVDQU
3927 expansion. Update names for sse{,2,3}_ prefixes. Remove *maskncmp*
3928 special cases.
3929 * config/i386/i386.h (IX86_BUILTIN_CMPNGTSS): New.
3930 (IX86_BUILTIN_CMPNGESS): New.
3931 * config/i386/i386.md (UNSPEC_FIX_NOTRUNC): New.
3932 (attr type): Add sselog1.
3933 (attr unit, attr memory): Handle it.
3934 (movti, movti_internal, movti_rex64): Move near other integer moves.
3935 (movtf, movtf_internal): Move near other fp moves.
3936 (SSEMODE, SSEMODEI, vec_setv2df, vec_extractv2df, vec_initv2df,
3937 vec_setv4sf, vec_extractv4sf, vec_initv4sf, movv4sf, movv4sf_internal,
fc474307 3938 movv2df, movv2df_internal, mov<SSEMODEI>, mov<SSEMODEI>_internal,
ef719a44
RH
3939 movmisalign<SSEMODE>, sse_movups_1, sse_movmskps, sse_movntv4sf,
3940 sse_movhlps, sse_movlhps, sse_storehps, sse_loadhps, sse_storelps,
3941 sse_loadlps, sse_loadss, sse_loadss_1, sse_movss, sse_storess,
3942 sse_shufps, addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, negv4sf2,
3943 mulv4sf3, vmmulv4sf3, divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2,
3944 rsqrtv4sf2, vmrsqrtv4sf2, sqrtv4sf2, vmsqrtv4sf2, sse_andv4sf3,
fc474307
EC
3945 sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3, sse2_andv2df3,
3946 sse2_nandv2df3, sse2_iorv2df3, sse2_xorv2df3, sse2_andv2di3,
3947 sse2_nandv2di3, sse2_iorv2di3, sse2_xorv2di3, maskcmpv4sf3,
ef719a44
RH
3948 vmmaskcmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
3949 smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi,
3950 cvttps2pi, cvtsi2ss, cvtsi2ssq, cvtss2si, cvtss2siq, cvttss2si,
3951 cvttss2siq, addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3,
3952 vmmulv2df3, divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3,
3953 vmsminv2df3, sqrtv2df2, vmsqrtv2df2, maskcmpv2df3, vmmaskcmpv2df3,
3954 sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb, sse2_maskmovdqu,
3955 sse2_maskmovdqu_rex64, sse2_movntv2df, sse2_movntv2di, sse2_movntsi,
3956 cvtdq2ps, cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq,
3957 cvtpd2pi, cvttpd2pi, cvtpi2pd, cvtsd2si, cvtsd2siq, cvttsd2si,
3958 cvttsd2siq, cvtsi2sd, cvtsi2sdq, cvtsd2ss, cvtss2sd, cvtpd2ps,
3959 cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3, ssaddv16qi3,
3960 ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3, subv4si3,
3961 subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3, mulv8hi3,
3962 smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
3963 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_uavgv16qi3, sse2_uavgv8hi3,
3964 sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd, sse2_pshuflw,
fc474307 3965 sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3, gtv8hi3,
ef719a44
RH
3966 gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3, ashrv8hi3,
3967 ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3, ashlv4si3,
3968 ashlv2di3, sse2_ashlti3, sse2_lshrti3, sse2_unpckhpd, sse2_unpcklpd,
fc474307 3969 sse2_packsswb, sse2_packssdw, sse2_packuswb, sse2_punpckhbw,
ef719a44
RH
3970 sse2_punpckhwd, sse2_punpckhdq, sse2_punpcklbw, sse2_punpcklwd,
3971 sse2_punpckldq, sse2_punpcklqdq, sse2_punpckhqdq, sse2_movupd,
fc474307 3972 sse2_movdqu, sse2_movdq2q, sse2_movdq2q_rex64, sse2_movq2dq,
ef719a44
RH
3973 sse2_movq2dq_rex64, sse2_loadd, sse2_stored, sse2_storehpd,
3974 sse2_loadhpd, sse2_storelpd, sse2_loadlpd, sse2_movsd, sse2_loadsd,
3975 sse2_loadsd_1, sse2_storesd, sse2_shufpd, sse2_clflush, sse2_mfence,
3976 mfence_insn, sse2_lfence, lfence_insn, mwait, monitor, addsubv4sf3,
3977 addsubv2df3, haddv4sf3, haddv2df3, hsubv4sf3, hsubv2df3, movshdup,
3978 movsldup, lddqu, loadddup, movddup): Move to sse.md. Any with
3979 non-optabs meanings renamed with an "sse{,2,3}_" prefix at the
3980 same time.
3981 (SSEPUSH, push<SSEPUSH>): Remove.
3982 (MMXPUSH, push<MMXPUSH>): Remove.
3983 (sse_movaps, sse_movaps_1, sse_movups): Remove.
3984 (sse2_movapd, sse2_movdqa, sse2_movq): Remove.
3985 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Remove.
3986 (sse_clrv4sf, sse_clrv2df, sse2_clrti): Remove.
3987 (maskncmpv4sf3, vmmaskncmpv4sf3): Remove.
3988 (maskncmpv2df3, vmmaskncmpv2df3): Remove.
3989 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti): Remove.
3990 (lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti): Remove.
3991 * config/i386/athlon.md (athlon_sselog_load): Handle sselog1.
3992 (athlon_sselog_load_k8, athlon_sselog, athlon_sselog_k8): Likewise.
3993 * config/i386/ppro.md (ppro_sse_div_V4SF_load): Fix memory attr.
3994 (ppro_sse_log_V4SF_load): Similarly. Handle sselog1.
3995 (ppro_sse_log_V4SF): Handle sselog1.
3996 * config/i386/predicates.md (const_0_to_1_operand): New.
3997 (const_0_to_255_mul_8_operand): New.
3998 (const_1_to_31_operand): Rename from const_int_1_31_operand.
3999 (const_2_to_3_operand, const_4_to_7_operand): New.
4000 * config/i386/sse.md: New file.
4001 (SSEMODE12, SSEMODE24, SSEMODE124, SSEMODE248, ssevecsize): New.
4002 (sse_movups): Rename from sse_movups_1.
4003 (sse_loadlss): Rename from sse_loadss_1.
4004 (andv4sf3, iorv4sf3, xorv4sf3, andv2df3): Remove the sse prefix
4005 from the name.
4006 (negv4sf2): Use ix86_expand_fp_absneg_operator.
4007 (absv4sf2, negv2df, absv2df): New.
4008 (addv4sf3): Add expander to call ix86_fixup_binary_operands_no_copy.
4009 (subv4sf3, mulv4sf3, divv4sf3, smaxv4sf3, sminv4sf3, andv4sf3,
4010 iorv4sf3, xorv4sf3, addv2df3, subv2df3, mulv2df3, divv2df3,
4011 smaxv2df3, sminv2df3, andv2df3, iorv2df3, xorv2df3, mulv8hi3,
4012 umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3): Likewise.
4013 (sse3_addsubv4sf3): Model correctly.
4014 sse3_haddv4sf3, sse3_hsubv4sf3, sse3_addsubv2df3, sse3_haddv2df3,
4015 sse3_hsubv2df3, sse2_ashlti3, sse2_lshrti3): Likewise.
4016 (sse_movhlps): Model with vec_select+vec_concat.
fc474307 4017 (sse_movlhps, sse_unpckhps, sse_unpcklps, sse3_movshdup,
ef719a44
RH
4018 sse3_movsldup, sse_shufps, sse_shufps_1, sse2_unpckhpd, sse3_movddup,
4019 sse2_unpcklpd, sse2_shufpd, sse2_shufpd_1, sse2_punpckhbw,
4020 sse2_punpcklbw, sse2_punpckhwd, sse2_punpcklwd, sse2_punpckhdq,
4021 sse2_punpckldq, sse2_punpckhqdq, sse2_punpcklqdq, sse2_pshufd,
fc474307 4022 sse2_pshufd_1, sse2_pshuflw, sse2_pshuflw_1, sse2_pshufhw,
ef719a44
RH
4023 sse2_pshufhw_1): Likewise.
4024 (neg<SSEMODEI>2, one_cmpl<SSEMODEI>2): New.
4025 (add<SSEMODEI>3, sse2_ssadd<SSEMODE12>3, sse2_usadd<SSEMODE12>3,
4026 sub<SSEMODEI>3, sse2_sssub<SSEMODE12>3, sse2_ussub<SSEMODE12>3,
4027 ashr<SSEMODE24>3, lshr<SSEMODE248>3, sse2_eq<SSEMODE124>3,
4028 sse2_gt<SSEMODDE124>3, and<SSEMODEI>3, sse_nand<SSEMODEI>3,
fc474307 4029 ior<SSEMODEI>3, xor<SSEMODEI>3): Macroize from existing patterns.
ef719a44
RH
4030 (addv4sf3, sse_vmaddv4sf3, mulv4sf3, sse_vmmulv4sf3, smaxv4sf3,
4031 sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, addv2df3, sse2_vmaddv2df3,
4032 mulv2df3, sse2_vmmulv2df3, smaxv2df3, sse2_vmsmaxv2df3, sminv2df3,
4033 sse2_vmsminv2df3, umaxv16qi3, smaxv8hi3, uminv16qi3
4034 sminv8hi3): Mark commutative
4035 operands. Use ix86_binary_operator_ok.
4036 (sse_unpckhps, sse_unpcklps, sse2_packsswb, sse2_packssdw,
4037 sse2_packuswb, sse2_punpckhbw, sse2_punpcklbw, sse2_punpckhwd,
4038 sse2_punpcklwd, sse2_punpckhdq, sse2_punpckldq, sse2_punpckhqdq,
4039 sse2_punpcklqdq): Allow operand2 in memory.
4040 (sse_movhlps, sse_movlhps, sse2_unpckhpd, sse2_unpcklpd
4041 sse2_movsd): Add memory alternatives.
4042 (sse_storelps): Turn expander into an insn; split after reload.
4043 (sse_storess, sse2_loadhpd, sse2_loadlpd): Add non-xmm inputs.
4044 (sse2_storehpd, sse2_storelpd): Add non-xmm outputs.
4045
080a5bb0
EB
40462005-01-08 Eric Botcazou <ebotcazou@libertysurf.fr>
4047
4048 * configure.ac (DWARF-2 debug_line): Use objdump.
4049 * configure: Regenerate.
4050
e79b60a7
DN
40512005-01-08 Jeff Law <law@redhat.com>
4052 Diego Novillo <dnovillo@redhat.com>
4053
a6331d85 4054 PR tree-optimization/18241
e79b60a7
DN
4055 * tree-nrv.c (tree_nrv): Ignore volatile return values.
4056 * tree-ssa-dse.c (dse_optimize_stmt): Do not optimize
4057 statements with volatile operands.
4058 * tree-ssa-operands.c (add_stmt_operand): Do add volatile
4059 operands after marking a statement with has_volatile_ops.
4060
4634cf7e
RS
40612005-01-08 Roger Sayle <roger@eyesopen.com>
4062
4063 * tree.c (int_fits_type_p): Always honor integer constant
4064 TYPE_MIN_VALUE and TYPE_MAX_VALUE if they exist.
4065
88c0f1c6
RS
40662005-01-08 Roger Sayle <roger@eyesopen.com>
4067
4068 * ifcvt.c (find_if_case_1): Reinstate 2005-01-04 change, now that
4069 the latent bug in rtl_delete_block has been resolved.
4070
37e30acc
RS
40712005-01-08 Richard Sandiford <rsandifo@redhat.com>
4072
4073 * config/mips/t-iris6 (MULTILIB_DIRNAMES): Use -mabi argument values.
4074 (MULTILIB_OSDIRNAMES): Use the standard lib, lib32 and lib64.
4075
943cb1d0
RS
40762005-01-08 Richard Sandiford <rsandifo@redhat.com>
4077
4078 * config/mips/t-slibgcc-irix (SHLIB_LINK): Install a copy of the
4079 library as @multilib_dir@/$(SHLIB_SONAME).
4080
1b5c0152
EB
40812005-01-07 Eric Botcazou <ebotcazou@libertysurf.fr>
4082
4083 * configure.ac (HAVE_AS_OFFSETABLE_LO10): Fix typo.
4084 * configure: Regenerate.
4085
b827788f
JJ
40862005-01-07 Jakub Jelinek <jakub@redhat.com>
4087
4088 * c-common.c (handle_mode_attribute): For ENUMERAL_TYPE, also copy
4089 TYPE_MODE.
4090
4937d02d
DE
40912005-01-07 David Edelsohn <edelsohn@gnu.org>
4092
4093 PR target/13674
4094 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
4095 Convert non-word aligned offset address using ld/std into
4096 indirect address.
4097
db396999
RH
40982005-01-07 Richard Henderson <rth@redhat.com>
4099
4100 * config/i386/i386.md (sse_loadhps splitter): Fix operand number typo.
4101
4600cc14
RS
41022005-01-07 Richard SAndiford <rsandifo@redhat.com>
4103
4104 * tree.h (IS_EXPR_CODE_CLASS): Use a straight-forward range check.
4105
8870e212
JJ
41062005-01-07 Jakub Jelinek <jakub@redhat.com>
4107
2a0958c5
JJ
4108 PR tree-optimization/19283
4109 * fold-const.c (fold_widened_comparison): Return NULL if shorter_type
4110 is not shorter than the original type.
4111
ebc0c8bb
JJ
4112 PR rtl-optimization/19012
4113 * config/i386/i386.md (addqi_1_slp): Set memory attribute.
4114
0210ae14
JJ
4115 PR rtl-optimization/18861
4116 * cfgbuild.c (BLOCK_USED_BY_TABLEJUMP): Define.
4117 (FULL_STATE): Define.
4118 (mark_tablejump_edge): New function.
4119 (purge_dead_tablejump_edges): New function.
4120 (find_bb_boundaries): Use it.
4121
8870e212
JJ
4122 PR tree-optimization/18828
4123 * builtins.c (expand_builtin_next_arg): Remove argument and all
4124 the argument checking.
4125 (expand_builtin): Adjust caller.
4126 (expand_builtin_va_start): Likewise. Remove error for too many
4127 arguments.
4128 (fold_builtin_next_arg): Issue error for too many arguments.
4129 After checking arguments, replace them with magic arguments that
4130 prevent further checking of the args.
4131
9fb29c46
JDA
41322005-01-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4133
4134 * pa64-hpux.h (STARTFILE_SPEC): Fix typo in spec.
4135
9a3bf943
RS
41362005-01-06 Roger Sayle <roger@eyesopen.com>
4137
4138 PR target/6077
4139 * gcc.c (input_suffix_matches): Tweak the semantics of %{.s:...}
4140 and %{.S:...} (and their negative variants) to test whether the
4141 input file is assembler or pre-processed-assembler independent of
4142 the actual filename extension.
4143
c79fc296
RS
41442005-01-06 Roger Sayle <roger@eyesopen.com>
4145
4146 * simplify-rtx.c (simplify_subreg): Simplify truncations of shifts
4147 of sign or zero extended values.
4148
59d7d767
GK
41492005-01-06 Geoffrey Keating <geoffk@apple.com>
4150
4151 * c-cppbuiltin.c (builtin_define_float_constants): Set __*_EPSILON__
4152 for IBM long double format correctly.
4153
1f24dd47 41542005-01-06 Daniel Berlin <dberlin@dberlin.org>
fc474307 4155
1f24dd47
DB
4156 Fix PR tree-optimization/18792
4157
4158 * tree-data-ref.c (build_classic_dist_vector): Change first_loop
4159 to first_loop_depth, and use loop depth instead of loop number.
4160 (build_classic_dir_vector): Ditto.
4161 (compute_data_dependences_for_loop): Use depth, not loop number.
fc474307 4162 * tree-loop-linear.c (try_interchange_loops): Use loop depth, not loop
1f24dd47
DB
4163 number. Pass in loops, instead of loop numbers.
4164 (gather_interchange_stats): Ditto.
4165 (linear_transform_loops): Ditto.
4166
27916b83
RS
41672005-01-06 Richard Sandiford <rsandifo@redhat.com>
4168
4169 PR rtl-opt/13299
4170 * loop.c (get_monotonic_increment, biased_biv_fits_mode_p,
4171 biv_fits_mode_p, extension_within_bounds_p): New functions.
4172 (check_ext_dependent_givs): Use them.
4173
4ab80063
RS
41742005-01-06 Roger Sayle <roger@eyesopen.com>
4175
4176 * cfgrtl.c (rtl_delete_block): A basic block may be followed by
4177 more than one barrier, in which case we should delete them all.
4178
12d3e34b
TS
41792005-01-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
4180
4181 * gcc.c (process_command): Change year in 'gcc --version' to 2005.
4182
9acf766f 41832005-01-05 Daniel Berlin <dberlin@dberlin.org>
fc474307 4184
9acf766f
DB
4185 Fix PR middle-end/19286
4186 Fix PR debug/19267
4187 * dwarf2out.c (gen_subprogram_die): If we've already tried to
4188 output this subprogram, simply ignore this attempt to do it again.
4189 (add_abstract_origin_attribute): Don't abort trying to add the abstract
4190 origin attribute if it's not possible.
4191 (gen_block_die): Don't ignore subblocks of "unused" blocks.
4192 (decls_for_scope): Ditto.
4193 * gimple-low.c (mark_blocks_with_used_subblocks): Remove.
4194 (mark_used_blocks): Don't call mark_blocks_with_used_subblocks.
fc474307 4195
e358acde
RH
41962005-01-05 Richard Henderson <rth@redhat.com>
4197
4198 PR target/11327
4199 * config/i386/i386.c (BUILTIN_DESC_SWAP_OPERANDS): New.
4200 (bdesc_2arg): Use it.
4201 (ix86_expand_binop_builtin): Force operands into registers
4202 when optimizing.
4203 (ix86_expand_unop_builtin, ix86_expand_unop1_builtin,
fc474307 4204 ix86_expand_sse_compare, ix86_expand_sse_comi,
e358acde
RH
4205 ix86_expand_builtin): Likewise.
4206
051d8245
RH
42072005-01-05 Richard Henderson <rth@redhat.com>
4208
4209 * config/ia64/ia64.c (rtx_needs_barrier): Handle CONST_VECTOR
4210 and VEC_SELECT.
4211 * config/ia64/vect.md (mulv8qi3): Re-implement with mix_[rl].
4212 (mulv4hi3): Set itanium_class mmmul.
4213 (fpack_sfxf, fpack_xfsf, fpack_xfxf): Remove.
4214 (fpack): Rename from fpack_sfsf.
4215
19f17bb9
RH
42162005-01-05 Richard Henderson <rth@redhat.com>
4217
4218 PR rtl-opt/10692
4219 * reload1.c (do_input_reload): Restrict the optimization deleteing
4220 a previous output reload to RELOAD_FOR_INPUT.
4221
46d096a3
SB
42222005-01-05 Steven Bosscher <stevenb@suse.de>
4223
4224 * combine.c (expand_compound_operation) <ZERO_EXTRACT>: Add
4225 comment that we fall through after case.
4226 (mark_used_regs_combine): Don't expect a SIGN_EXTRACT in a SET_DEST.
4227 (distribute_links): Likewise.
4228 * cse.c (cse_insn): Likewise.
4229 * cselib.c (cselib_invalidate_mem): Likewise.
4230 * df.c: Update comments at the top of the file.
4231 (read_modify_subreg_p): Update comments here too.
4232 (df_def_record_1): Don't expect a SIGN_EXTRACT in a SET_DEST.
4233 * flow.c (mark_set_1): Likewise.
4234 (mark_used_regs): Likewise.
4235 * gcse.c (mems_conflict_for_gcse_p): Likewise.
4236 (canon_list_insert): Likewise.
4237 (mark_set): Likewise.
4238 (try_replace_reg): Likewise.
4239 (store_killed_in_insn): Likewise.
4240 * loop.c (count_one_set): Likewise.
4241 (basic_induction_var): Likewise.
4242 * postreload-gcse.c (find_mem_conflicts): Likewise.
4243 * postreload.c (reload_combine_note_store): Likewise.
4244 (move2add_note_store): Likewise.
4245 * reload.c (find_equiv_reg): Likewise.
4246 (mark_referenced_resources): Likewise.
4247 * rtlanal.c (set_noop_p): Likewise.
4248 (note_stores): Likewise.
4249 (note_uses): Likewise.
4250 * sched-deps.c (sched_analyze_1): Likewise.
4251 * sched-rgn.c (check_live_1): Likewise.
4252 (update_live_1): Likewise.
4253 * config/i860/i860.c: Likewise.
4254
4255 * rtl.dec (SIGN_EXTRACT): Document that this cannot appear as
4256 an lvalue.
4257 (ZERO_EXTRACT): Mention that this one can be an lvalue.
4258
4259 * doc/rtl.texi: Update documentation for bit-fields and SET.
4260
65a878f5
RS
42612005-01-05 Roger Sayle <roger@eyesopen.com>
4262
4263 * ifcvt.c (find_if_case_1): Revert 2005-01-04 change.
4264
d2ad2c8a
JH
42652005-01-05 Jan Hubicka <jh@suse.cz>
4266 Richard Henderson <rth@redhat.com>
4267
4268 PR target/18910
fc474307 4269 * config/i386/i386.c (ix86_expand_move): Handle tls symbols
d2ad2c8a
JH
4270 with an offset.
4271
2cdb3148
RH
42722005-01-05 Richard Henderson <rth@redhat.com>
4273
4274 PR target/12902
4275 * config/i386/i386.md (sse_movhps, sse_movlps): Remove.
4276 (sse_shufps): Change operand 3 to const_int_operand.
4277 (sse2_storelps): Fix typo in template.
4278 (sse_storehps, sse_loadhps, sse_storelps, sse_loadlps): New.
4279 * config/i386/i386.c (ix86_expand_vector_move_misalign): Use them.
4280 (ix86_expand_builtin): Likewise.
4281
42822005-01-05 Julian Brown <julian@codesourcery.com>
3dd7ab65
JB
4283
4284 * config/arm/arm.c (arm_return_in_memory): Treat complex types
4285 as aggregates for AAPCS ABIs.
4286
59d8fe27
SS
42872005-01-05 Stan Shebs <shebs@apple.com>
4288
4289 * unwind-dw2-fde-darwin.c (examine_objects): Use 64-bit
4290 Mach-O getters if ppc64.
4291 * config/darwin.c (darwin_asm_output_dwarf_delta): Obey
4292 size argument.
4293 * config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
4294 signed four-byte field for global code case.
4295 (STARTFILE_SPEC): Avoid crt2.o for 64-bit compilation.
4296
010c4d9c
RS
42972005-01-05 Roger Sayle <roger@eyesopen.com>
4298
4299 PR middle-end/19100
4300 * c-common.c: Include real.h.
4301 (c_common_truthvalue_conversion): Avoid destructively modifying expr.
4302 Correctly handle TREE_CONSTANT_OVERFLOW for INTEGER_CST.
4303 Correctly handle TREE_CONSTANT_OVERFLOW and NaNs for REAL_CST.
4304 * Makefile.in (c-common.o): Update dependencies.
4305
9368fb8f
JM
43062005-01-05 Joseph S. Myers <joseph@codesourcery.com>
4307
4308 * c-parse.in (asm_string): Add trailing semicolon.
4309
9143de5c
JM
43102005-01-05 Joseph S. Myers <joseph@codesourcery.com>
4311
4312 * c-parse.in (asm_string): New. Don't allow wide strings in
4313 'asm'.
4314 (simple_asm_expr, asm_argument, asm_operand, asm_clobbers): Use
4315 asm_string instead of STRING.
4316
0953878d
JM
43172005-01-05 Joseph S. Myers <joseph@codesourcery.com>
4318
4319 * c-typeck.c (constructor_no_implicit): Remove.
4320 (set_designator, process_init_element): Don't check
4321 constructor_no_implicit.
4322
cf99f196
R
43232005-01-05 J"orn Rennecke <joern.rennecke@st.com>
4324 Kaz Kojima <kkojima@gcc.gnu.org>
4325
4326 PR target/16482
4327 * lcm.c (create_pre_exit): New.
4328 (optimize_mode_switching): In MODE_ENTRY / MODE_EXIT case, set
4329 ENTRY_EXIT_EXTRA to 3. Use create_pre_exit.
4330
712ecf4d
RE
43312004-01-05 Richard Earnshaw <rearnsha@arm.com>
4332
4333 * arm.h (TARGET_OPTIONS): Correctly record -mhard-float and
4334 -msoft-float in target_float_switch.
4335 * arm.c (arm_override_options): Fix processing of target_float_switch.
4336
082cca25
RE
43372004-01-05 Richard Earnshaw <rearnsha@arm.com>
4338
4339 * arm/vfp.md (arm_movsi_vfp): Hide VFP register classes from register
4340 preferencing.
4341
c2b43d7a
UB
43422004-01-05 Uros Bizjak <uros@kss-loka.si>
4343
4344 * doc/invoke.texi (Intel 386 and AMD x86-64 Options):
ead553a1 4345 Replace i387 with 'i386 compiler' in -mfpmath=sse option.
c2b43d7a 4346
e82f5749
RS
43472005-01-04 Roger Sayle <roger@eyesopen.com>
4348
4349 * ifcvt.c (find_if_case_1): Avoid creating an empty forwarder block,
4350 if deleting the then-block allows the test-block to fallthru to the
4351 else-block.
4352
f8f5c4b3
AP
43532005-01-04 Andrew Pinski <pinskia@physics.uc.edu>
4354
4355 PR c/19152
4356 * c-decl.c (diagnose_mismatched_decls): Accept "extern inline" declared
4357 after the full declaration if the are in two different TUs.
4358
43592005-01-04 Richard Henderson <rth@redhat.com>
fa588429
RH
4360
4361 PR tree-opt/19158
4362 * tree-sra.c (generate_one_element_init): Just
4363 call gimplify_and_add.
4364 (generate_element_init): Record the
4365 new referenced variables and mark them for renaming
4366 and split out to ...
4367 (generate_element_init_1): This.
4368 (scalarize_init): Don't call push_gimplify_context/
4369 pop_gimplify_context.
4370
5f0c48ed
GK
43712005-01-04 Geoffrey Keating <geoffk@apple.com>
4372
4373 * toplev.c (get_src_pwd): Handle failure of getpwd().
4374
e3523f56
RS
43752005-01-04 Roger Sayle <roger@eyesopen.com>
4376
4377 * fold-const.c (fold_single_bit_test): Delete unreachable handling
4378 of TRUTH_NOT_EXPR.
4379 (fold): Don't call fold_single_bit_test with a TRUTH_NOT_EXPR, as
4380 all the cases handled by it are inverted by invert_truthvalue.
4381
9746bb27
EB
43822005-01-04 Eric Botcazou <ebotcazou@libertysurf.fr>
4383
4384 * config/sparc/sparc.md (save_register_windowdi): Add missing mode.
4385 (save_register_windowsi): Likewise.
4386
bfee926b
RH
43872005-01-04 Richard Henderson <rth@redhat.com>
4388
4389 * tree-mudflap.c (mf_varname_tree): Fix thinko setting declname.
4390
21e5076a
UB
43912005-01-04 Uros Bizjak <uros@kss-loka.si>
4392
4393 PR middle-end/17767
4394 * cse.c (fold_rtx) [RTX_COMPARE, RTX_COMM_COMPARE]: Don't attempt
4395 any simplifications of vector mode comparison operators.
4396 * simplify-rtx.c (simplify_relational_operation): Fix variable name.
4397
8ea9d0c7
PB
43982005-01-04 Paolo Bonzini <bonzini@gnu.org>
4399 Devang Patel <dpatel@apple.com>
4400
4401 PR tree-optimization/18308
8ea9d0c7
PB
4402 * tree-if-conv.c (add_to_dst_predicate_list): Gimplify
4403 the operands before creating a new expression.
4404 * dojump.c (do_jump): Make drop_through_label available
4405 for all cases. Add expansion of COND_EXPR.
4406
8c427b58
IR
44072005-01-04 Ira Rosen <irar@il.ibm.com>
4408
4409 * tree-vectorizer.c (vect_analyze_offset_expr): Test for
4410 INTEGER_CST instead of TREE_CONSTANT.
4411 (vect_gen_niters_for_prolog_loop): Test for INTEGER_CST
4412 instead of TREE_CONSTANT.
4413 (vect_analyze_pointer_ref_access): Test for INTEGER_CST
4414 instead of TREE_CONSTANT.
4415
8287d24a
EB
44162005-01-04 Eric Botcazou <ebotcazou@libertysurf.fr>
4417
4418 * tree-eh.c (replace_goto_queue): Return early if the queue is empty.
4419
9e4ae64b
UB
44202005-01-04 Uros Bizjak <uros@kss-loka.si>
4421
4422 PR target/19240
4423 * config/i386/i386.md (*fop_df_1_i387): Disable for TARGET_SSE_MATH.
4424 (*fop_df_1_i387): Disable for (TARGET_SSE2 && TARGET_SSE_MATH).
4425
c756af79
RH
44262005-01-03 Richard Henderson <rth@redhat.com>
4427
4428 * fold-const.c (force_fit_type): Cope with types larger than 2 HWI.
4429 (fold_convert_const_int_from_int, fold_convert_const_int_from_real,
4430 fold_convert_const_real_from_real): Split out from ...
4431 (fold_convert_const): ... here.
4432
d30c9461
RH
44332005-01-03 Richard Henderson <rth@redhat.com>
4434
4435 PR target/19235
4436 * config/i386/i386.md (movdi_2): Separate SSE1 and SSE2 alternatives.
4437 (mov<MMXMODEI>_internal): Likewise.
4438 (movdf_nointeger): Prefer Y while not preferring, but allowing, x.
4439 Add V2SF case; use it for SSE1; don't use TI.
4440 (movdf_integer): Likewise.
4441 (mov<SSEMODEI>_internal, movti_internal): Force V4SF for SSE1.
4442
7d23434b
IR
44432005-01-03 Ira Rosen <irar@il.ibm.com>
4444
4445 * tree-vectorizer.c (vect_strip_conversions): New function.
4446 (vect_analyze_offset_expr): Call vect_strip_conversions. Add
fc474307 4447 check for binary class.
7d23434b 4448
1eb3331e
DB
44492005-01-03 Daniel Berlin <dberlin@dberlin.org>
4450
4451 Fix PR debug/17924
4452 Fix PR debug/19191
4453 * dwarf2out.c (block_ultimate_origin): Follow decl origin if origin
4454 is a decl.
4455 * gimple-low.c (mark_blocks_with_used_vars): New function.
4456 (mark_blocks_with_used_subblocks): Ditto.
4457 (mark_used_blocks): Ditto.
4458 (pass_mark_used_blocks): New pass.
4459 * tree-inline.c: Include debug.h.
4460 (expand_call_inline): Call outlining_inline_function here.
4461 * tree-optimize.c (init_tree_optimization_passes): Add
fc474307 4462 pass_mark_used_blocks.
1eb3331e
DB
4463 * tree-pass.h (pass_mark_used_blocks): New.
4464 * Makefile.in (tree-inline.o): Add debug.h dependency.
4465
a035080c
GK
44662005-01-03 Geoffrey Keating <geoffk@apple.com>
4467
d7001ae5
GK
4468 * config/darwin.c (darwin_handle_weak_import_attribute): Permit
4469 VAR_DECLs to have weak_import attribute.
4470
a035080c
GK
4471 * config/rs6000/darwin-fallback.c: Use 'ucontext_t' rather than
4472 'struct ucontext'.
4473
1ab219d3
SB
44742004-01-03 Steven Bosscher <stevenb@suse.de>
4475
4476 * passes.c (rest_of_compilation): Don't run regmove if only
4477 flag_expensive_optimizations, require flag_regmove instead.
4478
e6abef61
EB
44792005-01-03 Eric Botcazou <ebotcazou@libertysurf.fr>
4480
4481 * config/sparc/litecoff.h (TARGET_OS_CPP_BUILTINS): Do not
4482 register "sparc".
4483 * config/sparc/sysv4-only.h (TARGET_OS_CPP_BUILTINS): Likewise.
4484 * config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
4485 * config/sparc/sol2-64.h (TARGET_SUB_OS_CPP_BUILTINS): Delete.
4486 * config/sparc/sp64-elf.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
4487
f61134e8
RH
44882005-01-03 Richard Henderson <rth@redhat.com>
4489
4490 * config/ia64/ia64.c (TARGET_VECTOR_MODE_SUPPORTED_P): New.
4491 (ia64_const_ok_for_letter_p): New.
4492 (ia64_const_double_ok_for_letter_p): New.
4493 (ia64_extra_constraint): New.
4494 (ia64_expand_vecint_compare): New.
4495 (ia64_expand_vcondu_v2si): New.
4496 (ia64_expand_vecint_cmov): New.
4497 (ia64_expand_vecint_minmax): New.
4498 (ia64_print_operand): Add 'v'.
4499 (ia64_preferred_reload_class): New.
4500 (ia64_vector_mode_supported_p): New.
4501 * config/ia64/ia64.h (UNITS_PER_SIMD_WORD): New.
4502 (PREFERRED_RELOAD_CLASS): Move to function.
4503 (CONST_OK_FOR_LETTER_P): Move to function.
4504 (CONST_DOUBLE_OK_FOR_LETTER_P): Move to function.
4505 (CONSTRAINT_OK_FOR_Q, CONSTRAINT_OK_FOR_R): Remove.
4506 (CONSTRAINT_OK_FOR_S, CONSTRAINT_OK_FOR_T): Remove.
4507 (EXTRA_CONSTRAINT): Move to function.
4508 * config/ia64/ia64.md: Include vect.md.
4509 (itanium_class): Add mmalua.
4510 (type): Handle it.
4511 * config/ia64/itanium1.md (1_mmalua): New. Add it to bypasses.
4512 (1b_mmalua): New.
4513 * config/ia64/itanium2.md (2_mmalua, 2b_mmalua): Similarly.
4514 * config/ia64/predicates.md (gr_reg_or_0_operand): Accept any
4515 CONST0_RTX.
4516 (const_int_2bit_operand): New.
4517 (fr_reg_or_0_operand): New.
4518 * config/ia64/ia64-modes.def: Add vector modes.
4519 * config/ia64/ia64-protos.h: Update.
4520 * config/ia64/vect.md: New file.
4521
3198b947
RH
45222005-01-03 Richard Henderson <rth@redhat.com>
4523
4524 * simplify-rtx.c (simplify_binary_operation): Handle VEC_CONCAT.
4525
088df4c2
UB
45262005-01-03 Uros Bizjak <uros@kss-loka.si>
4527
4528 PR target/19236
4529 * config/i386/i386.c (log1psf2): Change mode of operands[0,1]
4530 to SFmode.
4531 (log1pdf2): Change mode of operands[0,1] to DFmode.
4532
548a6c4f
EB
45332005-01-03 Eric Botcazou <ebotcazou@libertysurf.fr>
4534
4535 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Define to false.
4536 * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Define to true.
4537 * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
4538 * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define to
4539 SPARC_RELAXED_ORDERING.
4540
0703dceb
RH
45412005-01-03 Richard Henderson <rth@redhat.com>
4542 Uros Bizjak <uros@kss-loka.si>
4543
4544 PR target/14631
4545 * config/i386/i386.c (ix86_expand_builtin): [IX86_BUILTIN_PINSRW,
4546 IX86_BUILTIN_PINSRW128]: Fix wrong selector range in error message.
4547 * config/i386/i386.md (mmx_pinsrw, sse2_pinsrw): Fix selector
4548 handling.
4549 (*mmx_pinsrw, *sse2_pinsrw): New patterns.
4550 * config/i386/i386/predicates.md (const_pow2_1_to_8_operand,
4551 const_pow2_1_to_128_operand): New predicates.
4552
97236777
GM
45532005-01-02 Greg McGary <greg@mcgary.org>
4554
4555 * tree-mudflap.c (mf_varname_tree): decl_printable_name handles
4556 anonymous decls.
4557 (mf_xform_derefs_1) [RESULT_DECL, STRING_CST]: Handle as innermost
4558 object. [ptr_type]: Remove unused variable.
4559 Remember nearest addressable array-element or record-component
4560 when checking bitfield components. Tolerate empty BIND_EXPR.
4561
155a8213
RH
45622005-01-01 Richard Henderson <rth@redhat.com>
4563
4564 * tree-vectorizer.c (vect_analyze_offset_expr): Strip conversions
4565 that don't narrow the value. Fail for other conversions.
4566
bedb9fc0
RH
45672005-01-01 Richard Henderson <rth@redhat.com>
4568
4569 PR c/19031
4570 * c-decl.c (pop_file_scope): Call maybe_apply_pending_pragma_weaks.
4571 * c-lang.c (finish_file): Don't do it here.
4572 * objc/objc-act.c (objc_finish_file): Likewise.
4573
4574 * cgraph.c (decl_assembler_name_equal): New.
4575 (cgraph_node_for_asm, cgraph_varpool_node_for_asm): New.
4576 (cgraph_varpool_node): Actually link up cgraph_varpool_nodes.
4577 * cgraph.h (struct cgraph_varpool_node): Add next.
4578 (cgraph_node_for_asm, cgraph_varpool_node_for_asm): Declare.
4579 * varasm.c (assemble_alias): Mark the target as needed.
4580
1cb2fc7b
AP
45812005-01-01 Andrew Pinski <pinskia@physics.uc.edu>
4582
4583 PR middle-end/19221
4584 * function.c (get_arg_pointer_save_area): Use entry_of_function
4585 instead of get_insns.
4586
0ca5fbc0
RS
45872005-01-01 Roger Sayle <roger@eyesopen.com>
4588 Andrew Pinski <pinskia@physics.uc.edu>
4589 James E. Wilson <wilson@specifixinc.com>
4590
4591 PR rtl-optimization/12092
4592 * loop.c (emit_prefetch_instructions): Do nothing if PREFETCH_BLOCK
4593 is zero.
4594
91c537b7
RS
45952005-01-01 Roger Sayle <roger@eyesopen.com>
4596 Olivier Hainque <hainque@act-europe.fr>
4597
4598 * tree.c (int_fits_type_p): A narrower type always fits in a
4599 wider one, except for negative values into unsigned types.
4600
69618c49
RS
46012005-01-01 Roger Sayle <roger@eyesopen.com>
4602
4603 * tree.c (int_fits_type_p): Compare the result of force_fit_type
4604 with the original constant rather than require TREE_OVERFLOW.
4605
43e05e45
SB
46062005-01-01 Steven Bosscher <stevenb@suse.de>
4607
4608 PR middle-end/17544
4609 * c-decl.c (finish_function): If compiling C99, annotate the
4610 compiler generated return with the current file name and line 0.
4611 * tree-cfg.c (remove_useless_stmts_warn_notreached): Only warn if
4612 the source line is greater than 0.
4613 (remove_bb): Likewise.
4614
7a4515d7 4615See ChangeLog.12 for earlier changes.
This page took 0.590325 seconds and 5 git commands to generate.