]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
simplify-rtx.c (simplify_unary_operation_1, [...]): New, extracted from...
[gcc.git] / gcc / ChangeLog
CommitLineData
0a67e02c
PB
12005-02-28 Paolo Bonzini <bonzini@gnu.org>
2
3 * simplify-rtx.c (simplify_unary_operation_1,
4 simplify_const_unary_operation): New, extracted from...
5 (simplify_unary_operation): ... this one.
6 (simplify_binary_operation_1,
7 simplify_const_binary_operation): New, extracted from...
8 (simplify_binary_operation): ... this one.
9 * rtl.h (simplify_const_unary_operation,
10 simplify_const_binary_operation): Add prototypes.
11
920b9c8d
JB
122005-02-28 Julian Brown <julian@codesourcery.com>
13
14 * config/elfos.h: Revert my patch from 2005-02-25 since it broke
15 building libjava and caused PR regression/20228.
16
215c351a
PB
172005-02-28 Paolo Bonzini <bonzini@gnu.org>
18
19 PR bootstrap/17383
20 * Makefile.in (host_subdir): New.
21 (build_objdir): New. Replace ../$(build_subdir) with it throughout.
22 * configure: Regenerate.
23
f51d6cb4
ZW
242005-02-27 Zack Weinberg <zack@codesourcery.com>
25
26 * config/alpha/t-osf4, config/arm/t-netbsd, config/ia64/t-hpux
27 * config/pa/t-hpux-shlib (SHLIB_INSTALL): Create the
28 installation directory first.
29
23369bef
HPN
302005-02-28 Hans-Peter Nilsson <hp@axis.com>
31
32 PR target/19065.
33 * config/cris/cris.h (EXTRA_CONSTRAINT_Q): Accept only (mem (reg)),
34 not including (reg). Do not check for reg being CRIS_PC_REGNUM.
35 (EXTRA_MEMORY_CONSTRAINT): Define as 'Q'.
36 * config/cris/cris.md: Tweak comments referring to Q.
37 ("cmpsi", "cmphi", "cmpqi", "*movsi_internal", "movhi")
38 ("movstricthi", "movqi", "movstrictqi", "movsf", "addsi3")
39 ("addhi3", "addqi3", "subsi3", "subhi3", "subqi3")
40 ("*expanded_andsi", "*expanded_andhi", "*andhi_lowpart", "andqi3")
41 ("*andqi_lowpart", "iorsi3", "iorhi3", "iorqi3", "uminsi3"):
42 Insert spaces in constraints to align alternatives vertically for
43 readability.
44 ("cmphi"): Ditto. Add separate alternative for operand 0 "Q>",
45 operand 1: "M".
46
c0d12712
JDA
472005-02-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
48
49 PR rtl-optimization/17728
50 * pa.md (mulsi3, divsi3, udivsi3, modsi3): Change predicate for
51 operand 0 from general_operand to move_dest_operand.
52
478a1f5e
JDA
532005-02-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
54
55 * pa/elf.h, pa/som.h (ASM_OUTPUT_EXTERNAL): Use assemble_name_raw
56 instead of trying to save and restore TREE_SYMBOL_REFERENCED.
57 * pa/pa64-hpux.h (ASM_OUTPUT_TYPE_DIRECTIVE): Define.
58 (ASM_OUTPUT_EXTERNAL): Don't save and restore TREE_SYMBOL_REFERENCED.
59
5395b47b
NN
602005-02-26 Nathanael Nerode <neroden@gcc.gnu.org>
61
62 * configure.ac: Rename cc_for_cross_gnattools to host_cc_for_libada.
63 * configure: Regenerate.
f51d6cb4 64 * libada-mk.in: Remove CC; rename
5395b47b
NN
65 cc_for_cross_gnattools / cc_set_by_configure to host_cc_for_libada.
66
c529e0fe
AP
672005-02-26 Andrew Pinski <pinskia@physics.uc.edu>
68
69 PR tree-opt/20188
70 * tree-ssa-alias.c (count_uses_and_derefs): If we have TREE_LIST
71 for the lhs, also walk over the tree. Likewise for rhs.
72
f67e783f
ZD
732005-02-26 Zdenek Dvorak <dvorakz@suse.cz>
74
75 * tree-ssa-dom.c (simple_iv_increment_p): New function.
76 (simplify_rhs_and_lookup_avail_expr, eliminate_redundant_computations):
77 Do not propagate value of iv before increment over the increment.
78
27bf414c
JM
792005-02-25 Joseph S. Myers <joseph@codesourcery.com>
80
81 * c-parser.c: New file.
82 * c-parse.in: Remove.
83 * Makefile.in (c-parse.o-warn, c-parse.o, c-parse.c, c-parse.y):
84 Remove.
85 (c-parser.o): Add dependencies.
86 (C_AND_OBJC_OBJC, C_OBJS, gcc.srcextra, GTFILES, distclean,
87 maintainer-clean, TAGS): Update.
88 * c-config-lang.in (gtfiles): Update.
89 * gengtype-lex.l: Don't handle "@@".
90 * stub-objc.c (objc_get_class_ivars, objc_build_throw_stmt,
91 objc_build_synchronized, objc_begin_try_stmt,
92 objc_begin_catch_clause, objc_finish_catch_clause,
93 objc_build_finally_clause, objc_finish_try_stmt): New.
94 * c-tree.h (struct c_declspecs): Add declspecs_seen_p and
95 type_seen_p.
96 (c_parse_init): Update comment.
97 * c-decl.c (c_init_decl_processing): Update comment.
98 (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
99 declspecs_add_scspec, declspecs_add_attrs): Initialize and update
100 new c_declspecs members.
101
d8652772
JB
1022005-02-25 Julian Brown <julian@codesourcery.com>
103
104 * config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK
105 from being used for symbols with vague linkage when
106 HAVE_GAS_COMDAT_GROUP is true.
107
04270aa4
MM
1082005-02-25 Mark Mitchell <mark@codesourcery.com>
109
110 * doc/include/gcc-common.texi (version-GCC): Update to 4.1.
111
4e9db8b2
SE
1122005-02-25 Steve Ellcey <sje@cup.hp.com>
113
114 PR target/19930
115 * doc/tm.texi (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Document.
116 (LIBGCC2_HAS_DF_MODE): New.
117 (LIBGCC2_HAS_XF_MODE): New.
118 (LIBGCC2_HAS_TF_MODE): New.
119 * libgcc2.h (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
120 (LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
121 * libgcc2.c (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
122 (LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
123 (LIBGCC2_HAS_DF_MODE): New name for HAVE_DFMODE.
124 * config/ia64/t-ia64 (LIB1ASMFUNCS): Remove __compat
125 and add _fixtfdi, _fixunstfdi, _floatditf
126 * lib1funcs.asm: Remove L__compat. Add L_fixtfdi,
127 L_fixunstfdi, L_floatditf.
128 * config/ia64/hpux.h (LIBGCC2_HAS_XF_MODE): Define.
129 (LIBGCC2_HAS_TF_MODE): Define.
130
736c86ad
DN
1312005-02-25 Diego Novillo <dnovillo@redhat.com>
132
133 PR tree-optimization/20204
134 * tree-into-ssa.c (insert_phi_nodes_for): Do not use
135 REWRITE_THIS_STMT markers on PHI nodes.
136 (rewrite_initialize_block): Likewise.
137
3bf4da72
MM
1382005-02-25 Mark Mitchell <mark@codesourcery.com>
139
140 * version.c (version_string): Update to 4.1.
141
a1e73046
PC
1422005-02-25 Paolo Carlini <pcarlini@suse.de>
143
144 * doc/extend.texi (5.24 Declaring Attributes of Functions)<noreturn>:
145 Clarify that the alternative way doesn't work in GNU C++.
146
9e7376e5
ZD
1472005-02-25 Zdenek Dvorak <dvorakz@suse.cz>
148
149 PR tree-optimization/19937
150 * tree-ssa-loop-ivopts.c (rewrite_use_compare): Cast the final value
151 to the type of the induction variable.
152
bd182be8
KK
1532005-02-25 Kaz Kojima <kkojima@gcc.gnu.org>
154
155 PR rtl-optimization/20117
156 * bb-reorder.c (duplicate_computed_gotos): Don't duplicate
157 the block including noncopyable insn.
158
2b5936fd
KH
1592005-02-24 Kazu Hirata <kazu@cs.umass.edu>
160
161 * cse.c (delete_trivially_dead_insns): Speed up by minimizing
162 calls to find_reg_note.
163
964a9831
RH
1642005-02-24 Richard Henderson <rth@redhat.com>
165
166 PR tree-opt/20127
167 * tree-sra.c (instantiate_element): Copy TREE_THIS_VOLATILE from
168 the type.
169
78796ad5
FJ
1702005-02-24 Fariborz Jahanian <fjahanian@apple.com>
171
172 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Check for
173 vector types if to use base reg for misaligned non-word ld/std.
174
b2142ad8
HPN
1752005-02-24 Hans-Peter Nilsson <hp@axis.com>
176
177 PR target/14619
178 * config/cris/cris.c (cris_target_asm_function_prologue): Create
179 dwarf2 label manually and put it after, not before the prologue.
180
b436d712
DE
1812005-02-24 David Edelsohn <edelsohn@gnu.org>
182
183 PR target/19019
184 * reload.c (operands_match_p): Only increment register number for
185 SCALAR_INT_MODE_P modes in multiple hard registers.
186
589b3fda
DE
187 * config/rs6000/rs6000.md (trunctfdf2): Remove register constraints.
188 Fix formatting.
189
3f117656
VR
1902005-02-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
191
192 * ChangeLog.5: Fix log message typo(s).
193 * ChangeLog.7: Likewise.
194 * ChangeLog.tree-ssa: Likewise.
195 * cfgexpand.c: Fix comment typo(s).
196 * conflict.c: Likewise.
197 * defaults.h: Likewise.
198 * dwarf2out.c: Likewise.
199 * gcse.c: Likewise.
200 * ggc-page.c: Likewise.
201 * tree-eh.c: Likewise.
202 * tree-ssa-dom.c: Likewise.
203
04fa46cf
JJ
2042005-02-24 Jakub Jelinek <jakub@redhat.com>
205
df8a7c49
JJ
206 PR target/19019
207 * mklibgcc.in: Pass -DSHARED when compiling all *_s${objext} objects.
208 * config/rs6000/darwin-ldouble.c: Only use the .symver directives
209 if SHARED is defined.
210
04fa46cf
JJ
211 PR target/20196
212 * config/rs6000/rs6000.md (LTU, GTU sCC splitters): Add earlyclobber,
213 allow splitting only if operands 0 and 3 don't overlap.
214
a0d2281e
RH
2152005-02-24 Richard Henderson <rth@redhat.com>
216
217 PR middle-end/19953
218 * builtins.c (fold_builtin_complex_mul, fold_builtin_complex_div): New.
219 (fold_builtin_1): Call them.
220 * fold-const.c (fold_complex_mult_parts): Split out from ...
221 (fold_complex_mult): ... here. Fix typo in both imaginary case.
222 (fold_complex_div_parts, fold_complex_div): New.
223 (fold): Use them.
224 * tree.h (fold_complex_mult_parts, fold_complex_div_parts): Declare.
225
4961152d
RK
2262005-02-24 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
227
ae95537a
RK
228 * tree-ssa-ccp.c (visit_assignment): Verify that result of
229 VIEW_CONVERT_EXPR is_gimple_min_invariant.
230
4961152d
RK
231 * print-tree.c (print_node_brief): Print LABEL_DECL_UID.
232 (print_node): Likewise.
233 Print TYPE_SIZES_GIMPLIFIED.
234
ef6201a6
HPN
2352005-02-24 Hans-Peter Nilsson <hp@axis.com>
236
237 * config/cris/cris.md ("umulhisi3", "umulqihi3", "mulsi3")
238 ("mulqihi3", "mulhisi3", "mulsidi3", "umulsidi3"): Mark input
239 operands as commutative in constraints.
240
7256233c
DN
2412005-02-24 Diego Novillo <dnovillo@redhat.com>
242
243 * tree-into-ssa.c: Re-organize internal functions.
244
c7463669
RH
2452005-02-24 Richard Henderson <rth@redhat.com>
246
247 PR middle-end/18902
248 * c-opts.c (c_common_post_options): Set flag_complex_method to 2
249 for c99.
250 * common.opt (fcx-limited-range): New.
251 * opts.c (set_fast_math_flags): Set flag_cx_limited_range.
252 * toplev.c (flag_complex_method): Initialize to 1.
253 (process_options): Set flag_complex_method to 0 if
254 flag_cx_limited_range.
255 * doc/invoke.texi (-fcx-limited-range): New.
256
03ce14db
KH
2572005-02-24 Kazu Hirata <kazu@cs.umass.edu>
258
259 * cse.c (delete_trivially_dead_insns): Speed up by using
260 NEXT_INSN and PREV_INSN directly instead of next_real_insn and
261 prev_real_insn.
262
b86ba8a3
AT
2632005-02-24 Andrea Tarani <andrea.tarani@gilbarco.com>
264
265 * config/m68k/m68k.c (m68k_save_reg): Also save A5 for non-leaf
266 functions when -mid-shared-library is being used.
267
57642751
DJ
2682005-02-23 Daniel Jacobowitz <dan@codesourcery.com>
269
270 * doc/tm.texi (LINK_LIBGCC_SPECIAL): Remove.
271 (LINK_LIBGCC_SPECIAL_1): Don't mention it.
272 * gcc.c: Don't check for LINK_LIBGCC_SPECIAL.
273 * system.h: Poison LINK_LIBGCC_SPECIAL.
274
79e4e6a6
JW
2752005-02-23 James E Wilson <wilson@specifixinc.com>
276
277 * gengtype.c (note_insn_name): Make 1 element larger.
278
61961eff
RS
2792005-02-23 Roger Sayle <roger@eyesopen.com>
280
281 PR target/20018
282 PR rtl-optimization/20097
283 * simplify-rtx.c (simplify_relational_operation_1): Avoid creating
284 BImode SUBREGs of SImode registers which confuse the ia64 backend.
285
1628a835
DE
2862005-02-23 David Edelsohn <edelsohn@gnu.org>
287
288 * t-aix43 (SHLIB_INSTALL): Create directory for shared library.
289 * t-aix52 (SHLIB_INSTALL): Same.
290
f439764f
KH
2912005-02-23 Kazu Hirata <kazu@cs.umass.edu>
292
293 * genpreds.c: Update copyright.
294
3f9f087b
MB
2952005-02-23 Michael Beach <michaelb@ieee.org>
296
297 PR target/20159
298 * config/sparc/t-elf (startup files): Assemble with CPP.
299
bb56fc39
PB
3002005-02-23 Paolo Bonzini <bonzini@gnu.org>
301
302 * genpreds.c (mark_mode_tests): Handle non-VOIDmode match_operands.
303 (write_predicate_expr): Likewise.
304
90c1d75a
DN
3052005-02-22 Diego Novillo <dnovillo@redhat.com>
306
307 PR tree-optimization/20100
308 PR tree-optimization/20115
309 * tree-optimize.c (init_tree_optimization_passes): Remove
310 pass_maybe_create_global_var.
311 * tree-pass.h (pass_maybe_create_global_var): Remove.
312 * tree-ssa-alias.c (aliases_computed_p): Declare.
313 (struct alias_info): Add field NUM_PURE_CONST_CALLS_FOUND.
314 (count_calls_and_maybe_create_global_var): Remove.
315 (pass_maybe_create_global_var): Remove.
316 (init_alias_info): Do not declare aliases_computed_p.
317 (maybe_create_global_var): If the function contains no
318 call-clobbered variables and a mix of pure/const and regular
319 function calls, create .GLOBAL_VAR.
320 Mark all call-clobbered variables for renaming.
321 (merge_pointed_to_info): Update comment.
322 (add_pointed_to_var): Likewise.
323 (is_escape_site): Likewise.
324 Accept struct alias_info * instead of size_t *.
325 Update all users.
326 Update AI->NUM_CALLS_FOUND and AI->NUM_PURE_CONST_CALLS_FOUND
327 as necessary.
328 * tree-ssa-operands.c (get_call_expr_operands): If
329 ALIASES_COMPUTED_P is false, do not add call-clobbering
330 operands.
331 * tree-ssa.c (init_tree_ssa): Set ALIASES_COMPUTED_P to false.
332 (delete_tree_ssa): Likewise.
333
e59ba1bc
JW
3342005-02-22 James E Wilson <wilson@specifixinc.com>
335
336 * toplev.c (backend_init): Don't call init_adjust_machine_modes here.
337 (do_compile): Do call it here.
338
78d5a34b
KH
3392005-02-22 Kazu Hirata <kazu@cs.umass.edu>
340
341 PR rtl-optimization/20017.
342 * passes.c (rest_of_handle_combine, rest_of_handle_cse,
343 rest_of_handle_cse2, rest_of_handle_gcse): Call
344 delete_dead_jumptables immediately before calling cleanup_cfg.
345
263fb23d
DP
3462005-02-22 Devang Patel <dpatel@apple.com>
347
348 PR 19952
f51d6cb4 349 * tree-if-conv.c (process_phi_nodes): Use bsi_after_labels and skip
263fb23d 350 all labels
f51d6cb4 351
466db3c1
DE
3522005-02-22 David Edelsohn <edelsohn@gnu.org>
353
354 * config/rs6000/aix.h (WINT_TYPE): Define.
355
d9168963
SS
3562005-02-22 Stan Shebs <shebs@apple.com>
357
358 * config/rs6000/rs6000.c (rs6000_override_options): Default to
359 natural alignment for 64-bit Darwin.
360 (rs6000_parse_alignment_option): Warn about uses of -malign-power
361 on 64-bit Darwin.
362 * doc/invoke.texi: Document this.
363
19b3ffbc
DD
3642005-02-22 DJ Delorie <dj@redhat.com>
365
366 * c-common.c (c_common_type_for_mode): Pass the mode's precision
367 to make_[un]signed_type, not the mode itself.
368
e2c879a1
KH
3692005-02-22 Kazu Hirata <kazu@cs.umass.edu>
370
371 * cfg.c (cached_make_edge): Call make_edge if edge cache is
372 not available. Use tail calls wherever possible.
373 (make_edge): Call unchecked_make_edge to create an edge.
374
35bea171
KH
375 * tree-outof-ssa.c (SSANORM_USE_COALESCE_LIST): Remove.
376 (coalesce_ssa_name): Don't check for
377 SSANORM_USE_COALESCE_LIST.
378 (rewrite_out_of_ssa): Don't use SSANORM_USE_COALESCE_LIST.
379
554beb3a
DN
3802005-02-22 Diego Novillo <dnovillo@redhat.com>
381
382 * tree-into-ssa.c (rewrite_blocks): Move debug dumps from ...
383 (rewrite_into_ssa): ... here.
384
bb2e1640
AO
3852005-02-21 Alexandre Oliva <aoliva@redhat.com>
386
387 PR tree-optimization/19786
388 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add one
389 tag to another's may-alias bitmap when adding to the other's list.
390
1d27fed4
DD
3912005-02-21 DJ Delorie <dj@redhat.com>
392
393 * tree-ssa-loop-ivopts.c (computation_cost): Start register
394 numbering at LAST_VIRTUAL_REGISTER+1 to avoid possibly using hard
395 registers in unsupported ways.
396 * expmed.c (init_expmed): Likewise.
f51d6cb4 397
10e70392
SC
3982005-02-21 Stan Cox <scox@redhat.com>
399
400 * config/iq2000/iq2000.h (DWARF_FRAME_RETURN_COLUMN): Change to 31.
401
fca01525
KH
4022005-02-21 Kazu Hirata <kazu@cs.umass.edu>
403
404 * tree-cfg.c (fold_cond_expr_cond): New.
405 (make_edges): Call fold_cond_expr_cond.
406 (find_taken_edge): Accept nothing but INTEGER_CST.
407 (find_taken_edge_cond_expr): Reject INTEGER_CST other than 0
408 and 1.
409 (find_taken_edge_switch_expr): Remove a check for INTEGER_CST.
410
88312d26
KH
411 * flow.c (delete_dead_jumptables): Speed up by scanning insns
412 that do not belong to any basic block.
413
0b612e0b
JL
4142005-02-21 Jeff Law <law@redhat.com>
415
416 * cfganal.c (find_unreachable_blocks): Manually CSE load of
417 e->dest.
418
dfd9f74c
KH
4192005-02-21 Kazu Hirata <kazu@cs.umass.edu>
420
421 * tree-outof-ssa.c (SSANORM_REMOVE_ALL_PHIS): Remove.
422 (SSANORM_COALESCE_PARTITIONS, SSANORM_USE_COALESCE_LIST):
423 Adjust their definitions.
424 (remove_ssa_form): Don't check for SSANORM_REMOVE_ALL_PHIS.
425 (rewrite_out_of_ssa): Don't use SSANORM_REMOVE_ALL_PHIS.
426
a4de48bc
KH
427 * c-objc-common.h, c-pretty-print.c, cgraphunit.c, except.c,
428 genautomata.c, langhooks.c, langhooks.h, system.h,
429 config/arm/lib1funcs.asm: Update copyright.
430
4a22dcdd
UW
4312005-02-21 Ulrich Weigand <uweigand@de.ibm.com>
432
433 * dbxout.c (dbxout_function_end): Emit Lscope label always.
434
5dd90688
RG
4352005-02-21 Richard Guenther <rguenth@gcc.gnu.org>
436
437 PR bootstrap/13770
438 * doc/install.texi: Document --with-gc.
439
35ef372d
PB
4402005-02-21 Paolo Bonzini <bonzini@gnu.org>
441
442 * simplify-rtx.c (simplify_unary_operation): Add a missing
443 "break" statement.
444
ee167207
EB
4452005-02-21 Eric Botcazou <ebotcazou@libertysurf.fr>
446
447 PR tree-optimization/18663
448 * tree-ssa-dom.c (extract_range_from_cond): Return 0
449 if the type has variable bounds.
450
a3c28ba2
KH
4512005-02-20 Kazu Hirata <kazu@cs.umass.edu>
452
453 * gcse.c: Remove an obsolete comment.
454
a811c672
KH
455 * cse.c (init_cse_reg_info): Use xmalloc instead of xrealloc.
456
50c177f7
HPN
4572005-02-20 Hans-Peter Nilsson <hp@axis.com>
458
459 * doc/extend.texi (Function Attributes) <Attribute const>: The
460 attribute "pure" is below this text, not above.
461
cdcb88d7
JDA
4622005-02-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
463
464 * pa.c (pa_assemble_integer, get_plabel): Small cleanups.
465 (pa_asm_output_mi_thunk): Use asm_output_insn instead of fprintf.
466 * som.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Small cleanup.
467
c5ff069d
ZW
4682005-02-20 Zack Weinberg <zack@codesourcery.com>
469
470 PR 18785
471 * langhooks.h (struct lang_hooks): Add to_target_charset.
472 * langhooks.c (lhd_to_target_charset): New function.
473 * langhooks-def.h: Declare lhd_to_target_charset.
474 (LANG_HOOKS_TO_TARGET_CHARSET): New macro.
475 (LANG_HOOKS_INITIALIZER): Update.
476 * c-common.c (c_common_to_target_charset): New function.
477 * c-common.h: Declare it.
478 * c-objc-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to
479 c_common_to_target_charset.
480
481 * defaults.c (TARGET_BELL, TARGET_BS, TARGET_CR, TARGET_DIGIT0)
482 (TARGET_ESC, TARGET_FF, TARGET_NEWLINE, TARGET_TAB, TARGET_VT):
483 Delete definitions.
484 * system.h: Poison them.
485 * doc/tm.texi: Don't discuss them.
486 * builtins.c (fold_builtin_isdigit): Use lang_hooks.to_target_charset.
487 * c-pretty-print.c (pp_c_integer_constant): Don't use pp_c_char.
488 (pp_c_char): Do not attempt to generate letter escapes for
489 newline, tab, etc.
490 * config/arm/arm.c (output_ascii_pseudo_op): Likewise.
491 * config/mips/mips.c (mips_output_ascii): Likewise.
492
ac59a959
DN
4932005-02-20 Dorit Naishlos <dorit@il.ibm.com>
494
495 PR tree-optimization/19951
496 * tree-vect-analyze.c (vect_analyze_loop_form): Check if loop exit edge
497 is abnormal.
c5ff069d 498
a310245f
SB
4992005-02-19 Steven Bosscher <stevenb@suse.de>
500
c5ff069d 501 PR middle-end/19698
a310245f
SB
502 * function.h (struct function): New field `max_loop_depth'.
503 * cfgloop.c (establish_preds): Update maximum loop depth seen so far.
504 (flow_loops_find): Reset the max loop depth count before finding loops.
505 * flow.c (MAX_LIVENESS_ROUNDS): New constant.
506 (update_life_info_in_dirty_blocks): Remove 2002-05-28 workaround.
507 (calculate_global_regs_live): Make sure the loop will terminate
508 when the initial sets are not empty.
509
2cdc2073
ZW
5102005-02-19 Zack Weinberg <zack@codesourcery.com>
511
512 * mklibgcc.in: If libgcc_eh.a would be empty, put a dummy
513 object inside.
514 * config/ia64/hpux.h: Don't define LIBGCC_SPEC.
515
4e8d0554
RS
5162005-02-19 Richard Sandiford <rsandifo@redhat.com>
517
518 PR other/19525
519 * doc/invoke.texi: Remove documentation of %M spec.
520 * gcc.c: Likewise.
521 (init_spec): Remove %M suffix from -lgcc_s.
522 (do_spec_1): Remove 'M' case.
523 * mklibgcc.in: Remove SHLIB_MULTILIB handling. Expect SHLIB_LINK
524 to put shared libraries in the multilib directory. Remove the
525 shlib_so_soname substitution variable. Don't add a multilib encoding
526 to shlib_base_name. Set shlib_slibdir_qual to the full pathname
527 reported by -print-multi-os-directory. Pass @multilib_dir@ to
528 SHLIB_INSTALL as well as SHLIB_LINK.
529 * config/t-slibgcc-elf-ver (SHLIB_SONAME): Use @shlib_base_name@.
530 (SHLIB_NAME): Delete.
531 (SHLIB_DIR): New macro.
532 (SHLIB_LINK): Put $(SHLIB_SONAME) and $(SHLIB_SOLINK) in $(SHLIB_DIR).
533 (SHLIB_INSTALL): Adjust accordingly.
534 * config/t-slibgcc-darwin: As for t-slibgcc-elf-ver.
535 * config/t-slibgcc-sld: Likewise.
536 * config/t-libunwind-elf (SHLIBUNWIND_NAME): Delete.
537 (SHLIBUNWIND_SONAME): Use @shlib_base_name@.
538 (SHLIBUNWIND_LINK): Put $(SHLIBUNWIND_SONAME) and $(SHLIB_SOLINK)
539 in $(SHLIB_DIR).
540 (SHLIBUNWIND_INSTALL): Adjust accordingly.
541 * config/i386/t-nwld (SHLIB_SONAME): Delete.
542 (SHLIB_LINK, SHLIB_INSTALL): Use SHLIB_NAME instead of SHLIB_SONAME.
543 Use @shlib_base_name@ instead of @shlib_so_name@.
544 * config/ia64/t-hpux (SHLIB_LINK): Put @shlib_base_name@.so.0
545 and @shlib_base_name@.so in @multilib_dir@.
546 (SHLIB_INSTALL): Adjust accordingly. Add @shlib_slibdir_qual@
547 to the install path.
548 * config/mips/t-slibgcc-irix: As for t-slibgcc-elf-ver.
549 (SHLIB_LINK): Remove previous workaround.
550 * config/pa/t-hpux-shlib (SHLIB_DIR, SHLIB_SLIBDIR_QUAL): New macros.
551 (SHLIB_LINK): Put $(SHLIB_SONAME) and $(SHLIB_NAME) in $(SHLIB_DIR).
552 (SHLIB_INSTALL): Adjust accordingly. Add $(SHLIB_SLIBDIR_QUAL) to
553 the install path.
554 * config/rs6000/t-aix43 (SHLIB_LINK): Put @shlib_base_name@.a in
555 @multilib_dir@. Use @multilib_dir@ to check for threading libraries.
556 (SHLIB_INSTALL): Adjust accordingly.
557 (SHLIB_LIBS): Use @multilib_dir@ to check for threading libraries.
558 * config/rs6000/t-aix52: As for config/rs6000/t-aix43.
559 * config/sh/t-linux (SHLIB_LINK, SHLIB_INSTALL): As for
560 config/t-slibgcc-elf-ver.
561
f10a6654
ZD
5622005-02-19 Zdenek Dvorak <dvorakz@suse.cz>
563 Jakub Jelinek <jakub@redhat.com>
564
565 PR tree-optimization/19828
566 * tree-ssa-loop-im.c: Add a TODO comment.
567 (movement_possibility): Return MOVE_PRESERVE_EXECUTION for calls
568 without side-effects.
569
5ff489f1
JM
5702005-02-18 James A. Morrison <phython@gcc.gnu.org>
571
572 * tree-ssa-ccp.c (widen_bitfield): Pass type to build_int_cst and don't
573 call fold_convert.
574
4c334b37
JW
5752005-02-18 James E. Wilson <wilson@specifixinc.com>
576
577 * doc/invoke.texi (IA-64 Options): Delete -mb-step.
578 * config/ia64/ia64.c (last_group, group_idx): Delete variables.
579 (errata_find_address_regs, errata_emit_nops, fixup_errata): Delete
580 functions.
581 (ia64_reorg): Delete fixup_errata call.
582 * config/ia64/ia64.h (MASK_B_STEP, TARGET_B_STEP): Delete.
583 (TARGET_SWITCHES): Delete -mb-step entry.
584
58cb41e6
JJ
5852005-02-19 Jakub Jelinek <jakub@redhat.com>
586
587 PR c/20043
588 * c-typeck.c (composite_type): Handle quals in transparent unions.
589 (type_lists_compatible_p): Likewise.
590
b79d4265
SS
5912005-02-18 Stan Shebs <shebs@apple.com>
592
593 * config/darwin.c (machopic_select_rtx_section): Don't put relocatable
594 expressions in the .literal8 section.
595
a7138657
GK
5962005-02-18 Geoffrey Keating <geoffk@apple.com>
597
598 * config/rs6000/darwin-tramp.asm: Remove stray 'APPLE LOCAL' marker.
599
0a9c6fdf
RS
6002005-02-18 Roger Sayle <roger@eyesopen.com>
601
602 * fold-const.c (constant_boolean_node): Always create values of the
603 specified type, don't bother calling truthvalue_conversion.
604
f6775e78
JM
6052005-02-18 Joseph S. Myers <joseph@codesourcery.com>
606
607 * except.c (output_function_exception_table): Call
608 assemble_external_libcall (eh_personality_libfunc).
609
5b4275db
JM
6102005-02-18 Joseph S. Myers <joseph@codesourcery.com>
611
612 PR target/19886
613 * config/ia64/ia64.h (struct machine_function): Add state_num.
614 * config/ia64/ia64.c (process_epilogue,
615 process_for_unwind_directive): Use new unwind state numbers each
616 time rather than state 1.
617
d6083c7d
UW
6182005-02-18 Ulrich Weigand <uweigand@de.ibm.com>
619
620 PR target/20054
621 * config/s390/s390.md ("*llgt_sidi", "*llgt_sidi_split"): Move to
622 before the "*llgt_didi" pattern.
623
258dba8f
JM
6242005-02-18 Jason Merrill <jason@redhat.com>
625
626 * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Revert again.
627
2155b886
RE
6282005-02-18 Richard Earnshaw <rearnsha@arm.com>
629
630 * arm/lib1funcs.asm (FUNC_ALIAS): New macro.
631 (div0): Use it in place of ARM_FUNC_ALIAS.
632 (lshrdi3, ashrdi3, ashlrdi3): Likewise.
633
0d56ab33
AP
6342005-02-18 Andrew Pinski <pinskia@physics.uc.edu>
635
636 PR middle-end/20030
a310245f
SB
637 * fold-const.c (fold_indirect_ref_1): Use the correct index for zero
638 access, the lower bound of the array type if it exists.
0d56ab33 639
2aabee29
AO
6402005-02-18 Alexandre Oliva <aoliva@redhat.com>
641
642 PR c++/20008
643 * stmt.c (expand_case): Don't assume cleanup_tree_cfg will remove
644 cases that are out-of-range for the index type.
645
aeba6c28
JM
6462005-02-18 James A. Morrison <phython@gcc.gnu.org>
647
648 * stmt.c (emit_case_bit_tests): Call fold_convert instead of convert.
649 (estimate_case_costs): Don't call convert.
650 * expmed.c (expand_shift): Likewise.
2cdc2073 651 (make_tree): Call fold_convert instead of convert.
aeba6c28 652
3a96c3b9
JJ
6532005-02-18 Jakub Jelinek <jakub@redhat.com>
654
655 PR c++/19813
656 * emit-rtl.c (set_mem_attributes_minus_bitpos): Add assertion
657 that ref to be marked MEM_READONLY_P doesn't have base that needs
658 constructing.
659
9fd64c63
JM
6602005-02-18 Joseph S. Myers <joseph@codesourcery.com>
661
662 * genautomata.c (output_get_cpu_unit_code_func,
663 output_cpu_unit_reservation_p): Don't generate old-style function
664 definitions.
665
58203599
JJ
6662005-02-18 Jakub Jelinek <jakub@redhat.com>
667
0948e392
JJ
668 PR c++/20023
669 PR tree-optimization/20009
670 * convert.c (convert_to_integer): Revert 2005-02-16 change.
671
58203599
JJ
672 PR tree-optimization/18947
673 * cgraphunit.c (cgraph_finalize_function): When redefining an extern
674 inline, remove all nodes that are inlined into the extern inline
675 being redefined.
676
c8d3e15a
KH
6772005-02-17 Kazu Hirata <kazu@cs.umass.edu>
678
679 * bt-load.c, cfgloop.c, convert.c, dominance.c, global.c,
680 loop-invariant.c, stmt.c, tree-ssa-forwprop.c,
681 tree-ssa-live.c, tree-ssanames.c, tree-vn.c,
682 config/host-linux.c, config/arm/fpa.md, config/avr/avr.h:
683 Update copyright.
684
9b396d7c
RS
6852005-02-17 Roger Sayle <roger@eyesopen.com>
686
687 PR tree-optimization/19917
688 * tree-eh.c (tree_could_trap_p): Consider calls to weak functions
689 to be potentially trapping.
690
2e681715
KH
6912005-02-17 Kazu Hirata <kazu@cs.umass.edu>
692
693 * libgcc2.c, tree-vect-analyze.c: Fix comment typos.
694
c6d01079
AK
6952005-02-17 Andreas Krebbel <krebbel1@de.ibm.com>
696
697 * builtins.c (expand_builtin_return_addr): Remove tem parameter.
2cdc2073 698 tem becomes a local variable which is set to the value of the
c6d01079 699 back end defined INITIAL_FRAME_ADDRESS macro.
2cdc2073 700 (expand_builtin_frame_address): Omit the base parameter to
c6d01079
AK
701 expand_builtin_return_addr.
702 (expand_builtin_profile_func): Likewise.
703 * config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Define new macro.
704 (DYNAMIC_CHAIN_ADDRESS): Remove the case for the initial frame.
705 * doc/tm.texi: Documentation for INITIAL_FRAME_ADDRESS_RTX added.
706
7b210806
JJ
7072005-02-17 Jakub Jelinek <jakub@redhat.com>
708
709 * config/s390/s390.c (s390_alloc_pool, s390_free_pool,
710 s390_chunkify_start): Use BITMAP_ALLOC and BITMAP_FREE.
711 * config/frv/frv.c (frv_function_epilogue): Likewise.
712
eae600b9
DB
7132005-02-17 Daniel Berlin <dberlin@dberlin.org>
714
715 * lambda-code (perfect_nestify): Remove mark/unmark
716 for rewriting hack.
717 * tree-loop-linear.c (linear_transform_loops): Add
718 rewrite_into_ssa call so that ssa is correct for
719 rewriting into loop closed.
720
8bdbfff5
NS
7212005-02-17 Nathan Sidwell <nathan@codesourcery.com>
722
723 * bitmap.h (BITMAP_XMALLOC, BITMAP_XFREE): Remove.
724 * bb-reorder.c (duplicate_computed_gotos): Use BITMAP_ALLOC and
725 BITMAP_FREE.
726 * bt-load.c (btr_def_live_range, combine_btr_defs,
727 migrate_btr_def, migrate_btr_defs): Likewise.
728 * cfgcleanup.c (thread_jump): Likewise.
729 * cfgloop.c (get_loop_body_in_bfs_order): Likewise.
730 * df.c (df_insn_table_realloc, df_bitmaps_alloc, df_bitmaps_free,
731 df_alloc, df_free, df_du_chain_create, df_bb_rd_local_compute,
732 df_rd_local_compute, df_reg_info_compute): Likewise.
733 * dominance.c (init_dom_info, free_dom_info): Likewise.
734 * flow.c (init_propagate_block_info,
735 free_propagate_block_info): Likewise.
736 * gcse.c (alloc_gcse_mem, free_gcse_mem): Likewise.
737 * global.c (allocate_bb_info, free_bb_info, calculate_reg_pav,
738 modify_reg_pav): Likewise.
739 * loop-invariant.c (find_defs, find_invariant_insn,
740 find_invariants, free_inv_motion_data): Likewise.
741 * predict.c (tree_predict_by_opcode,
742 estimate_bb_frequencies): Likewise.
743 * stmt.c (expand_case): Likewise.
744 * tree-cfg.c (tree_duplicate_sese_region): Likewise.
745 * tree-dfa.c (mark_new_vars_to_rename): Likewise.
746 * tree-if-conv.c (get_loop_body_in_if_conv_order): Likewise.
747 * tree-into-ssa.c (insert_phi_nodes_for, def_blocks_free,
748 get_def_blocks_for, mark_def_site_blocks, rewrite_into_ssa,
749 rewrite_ssa_into_ssa): Likewise.
750 * tree-optimize.c (tree_rest_of_compilation): Likewise.
751 * tree-outof-ssa.c (new_temp_expr_table, free_temp_expr_table,
752 analyze_edges_for_bb, perform_edge_inserts): Likewise.
753 * tree-scalar-evolution.c (scev_initialize, scev_finalize): Likewise.
754 * tree-sra.c (tree_sra): Likewise.
755 * tree-ssa-alias.c (init_alias_info, delete_alias_info): Likewise.
756 * tree-ssa-ccp.c (ccp_fold_builtin): Likewise.
757 * tree-ssa-dce.c (tree_dce_init, tree_dce_done): Likewise.
758 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
759 * tree-ssa-dse.c (tree_ssa_dse): Likewise.
760 * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_var):
761 Likewise.
762 * tree-ssa-live.c (new_tree_live_info, delete_tree_live_info,
763 calculate_live_on_entry, calculate_live_on_exit,
764 build_tree_conflict_graph): Likewise.
765 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize_init, record_use,
766 record_important_candidates, set_use_iv_cost, find_depends,
767 determine_use_iv_costs, iv_ca_new, iv_ca_free, free_loop_data,
768 tree_ssa_iv_optimize_finalize): Likewise.
769 * tree-ssa-loop-manip.c (add_exit_phis_var, get_loops_exit,
770 find_uses_to_rename_use, rewrite_into_loop_closed_ssa,
771 tree_duplicate_loop_to_header_edge): Likewise.
772 * tree-ssa-pre.c (init_pre, fini_pre): Likewise.
773 * tree-ssa.c (verify_flow_insensitive_alias_info,
774 verify_name_tags, verify_ssa, init_tree_ssa,
775 delete_tree_ssa): Likewise.
776 * tree-ssanames.c (marked_ssa_names, init_ssanames,
777 fini_ssanames): Likewise.
778 * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Likewise.
779
3abbb738
RC
7802005-02-17 Ralf Corsepius <ralf.corsepius@rtems.org>
781
2cdc2073 782 * config/rs6000/t-rtems: Completely reworked.
3abbb738 783
9d182aa5
IR
7842005-02-17 Ira Rosen <irar@il.ibm.com>
785
2cdc2073 786 * tree-data-ref.c (array_base_name_differ_p): Remove gcc_assert.
9d182aa5 787
2427fa80
IR
7882005-02-17 Ira Rosen <irar@il.ibm.com>
789
790 * tree-vect-analyze.c (vect_analyze_pointer_ref_access): Use
791 POINTER_TYPE_P when checking that type is a pointer.
792 (vect_get_memtag): Remove.
793 (vect_address_analysis): Use POINTER_TYPE_P. Call
794 vect_object_analysis with dummy parameter for memtag.
795 (vect_object_analysis): Extract memtag (functionality that
796 used to be in vect_get_memtag and moved here). Fix printings.
797 (vect_analyze_data_refs): Fix comment. Call vect_object_analysis
798 with correct parameters. Remove call to vect_get_memtag.
799
f7064d11
DN
8002005-02-17 Dorit Naishlos <dorit@il.ibm.com>
801
802 * Makefile.in (tree-vect-analyze.o, tree-vect-transform.o): New.
803 (tree-vectorizer.o): Added missing dependencies.
804
805 * tree-vectorizer.h (vect_dump, vect_verbosity_level): Added extern
806 decleration.
807 (slpeel_tree_peel_loop_to_edge): Function externalized (had a static
808 declaration in tree-vectorizer.c, now has an extern declaration in
809 tree-vectorizer.h).
810 (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
2cdc2073
ZW
811 slpeel_verify_cfg_after_peeling, vect_strip_conversion,
812 get_vectype_for_scalar_type, vect_is_simple_use,
f7064d11
DN
813 vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
814 vect_supportable_dr_alignment, new_loop_vec_info, destroy_loop_vec_info,
2cdc2073 815 new_stmt_vec_info, vect_analyze_loop, vectorizable_load,
f7064d11
DN
816 vectorizable_store, vectorizable_operation, vectorizable_assignment,
817 vect_transform_loop, vect_print_dump_info, vect_set_verbosity_level,
818 find_loop_location): Likewise.
819
820 * tree-vectorizer.c (langhooks.h): #include removed.
821 (slpeel_tree_peel_loop_to_edge): Function externalized. Declaration
822 moved to tree-vectorized.h.
823 (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
824 slpeel_verify_cfg_after_peeling, vect_strip_conversion,
825 get_vectype_for_scalar_type, vect_is_simple_use,
826 vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
827 vect_supportable_dr_alignment, new_loop_vec_info,
828 destroy_loop_vec_info, new_stmt_vec_info, vect_print_dump_info,
829 vect_set_verbosity_level, find_loop_location): Likewise.
830
2cdc2073 831 (vect_analyze_loop): Function externalized. Declaration moved to
f7064d11
DN
832 tree-vectorized.h. Function definition moved to tree-vect-analyze.c.
833 (vect_analyze_loop_form): Moved to tree-vect-analyze.c.
834 (vect_mark_stmts_to_be_vectorized, vect_analyze_scalar_cycles,
835 vect_analyze_data_ref_accesses, vect_analyze_data_ref_dependences,
836 vect_analyze_data_refs_alignment, vect_compute_data_refs_alignment,
837 vect_enhance_data_refs_alignment, vect_analyze_operations,
838 exist_non_indexing_operands_for_use_p, vect_mark_relevant,
839 vect_stmt_relevant_p, vect_get_loop_niters,
840 vect_analyze_data_ref_dependence, vect_compute_data_ref_alignment,
841 vect_analyze_data_ref_access, vect_analyze_pointer_ref_access,
842 vect_can_advance_ivs_p, vect_get_ptr_offset, vect_analyze_offset_expr,
843 vect_base_addr_differ_p, vect_object_analysis, vect_address_analysis,
844 vect_get_memtag): Likewise.
845
2cdc2073 846 (vectorizable_load): Function externalized. Declaration moved to
f7064d11
DN
847 tree-vectorized.h. Function definition moved to tree-vect-transform.c.
848 (vectorizable_store, vectorizable_operation, vectorizable_assignment,
849 vect_transform_loop): Likewise.
850 (vect_transform_stmt): Moved to tree-vect-transform.c.
2cdc2073 851 (vect_align_data_ref, vect_create_destination_var,
f7064d11
DN
852 vect_create_data_ref_ptr, vect_create_index_for_vector_ref,
853 vect_create_addr_base_for_vector_ref, vect_get_new_vect_var,
854 vect_get_vec_def_for_operand, vect_init_vector,
855 vect_finish_stmt_generation, vect_generate_tmps_on_preheader,
856 vect_build_loop_niters, vect_update_ivs_after_vectorizer,
857 vect_gen_niters_for_prolog_loop, vect_update_inits_of_dr,
858 vect_update_inits_of_drs, vect_do_peeling_for_alignment,
859 vect_do_peeling_for_loop_bound): Likewise.
2cdc2073 860
f7064d11
DN
861 * tree-vect-analyze.c: New file.
862 * tree-vect-transform.c: New file.
863
eff9a5d0
JM
8642005-02-17 Jason Merrill <jason@redhat.com>
865
866 PR mudflap/19319, c++/19317
867 * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
868 slot explicit.
869
beb5f807
GP
8702005-02-17 Gerald Pfeifer <gerald@pfeifer.com>
871
872 * doc/install.texi (Specific): Update link for Darwin-specific
873 tool binary site.
2cdc2073 874
9ace7f9e
JM
8752005-02-16 James A. Morrison <phython@gcc.gnu.org>
876
877 * fold-const.c (invert_truthvalue): <INTEGER_CST>: Call
878 constant_boolean_node.
879
ee01c339 8802005-02-16 David Edelsohn <edelsohn@gnu.org>
53de343a
DE
881
882 PR target/19019
883 * config/rs6000/t-aix43 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
884 * config/rs6000/t-aix52 (SHLIB_MAPFILES): Same.
885
4f2e0d5e
RH
8862005-02-16 Richard Henderson <rth@redhat.com>
887
888 PR 19920
889 * libgcc2.c (WORD_SIZE): Remove all definitions; replace uses
890 with W_TYPE_SIZE.
891 (HIGH_WORD_COEFF, HIGH_HALFWORD_COEFF): Remove all definitions;
892 replace uses with Wtype_MAXp1_F.
893 (L_fixunstfdi, L_fixtfdi, L_floatditf, L_fixunsxfdi, L_fixxfdi,
894 L_floatdixf, L_fixunsxfsi, L_fixunsdfdi, L_floatdidf, L_fixunsdfsi,
895 L_powidf2, L_powixf2, L_powitf2, L_muldc3, L_divdc3, L_mulxc3,
896 L_divxc3, L_multc3, L_divtc3): Protect with HAVE_DFMODE, HAVE_XFMODE,
897 and HAVE_TFMODE as appropriate.
898 (__fixunssfDI): Provide an implementation that doesn't need DFmode.
899 (__floatdisf): Likewise.
900 * libgcc2.h (LIBGCC2_DOUBLE_TYPE_SIZE): New.
901 (HAVE_DFMODE, HAVE_XFMODE, HAVE_TFMODE): New.
902 (Wtype_MAXp1_F): New.
903 (DFtype, DCtype, __fixdfdi, __floatdidf, __fixunsdfSI, __fixunsdfDI,
904 __powidf2, __divdc3, __muldc3): Protect with HAVE_DFMODE.
905
9f7bf991
RE
9062005-02-16 Richard Earnshaw <rearnsha@arm.com>
907
908 * PR target/19162
909 * arm.c (arm_apply_result_size): New function.
910 * arm.h (APPLY_RESULT_SIZE): Define.
911 * arm-protos.h (arm_apply_result_size): Add prototype.
912 * arm.md (RO_REGNUM, FPA_F0_REGNUM, FPA_F7_REGNUM): New constants.
913 (movxf): New expand.
914 (ldmsi_postinc4_thumb, stmsi_postinc4_thumb): New patterns for Thumb.
915 (call_value_symbol): Remove predicate for operand 0.
916 (call_value_insn, sibcall_value, sibcall_value_insn): Likewise.
917 (untyped_call): Rework to correclty return values for any type.
918 (untyped_return): New expand.
919 * fpa.md (movxf_fpa): Simplify and use sfm/lfm when appropriate.
920
f0b81cbc
SS
9212005-02-16 Stan Shebs <shebs@apple.com>
922
923 * config.gcc (powerpc-*-darwin*): Use fragment for Darwin 8 or later.
924 * config/rs6000/t-darwin8: New, for 64-bit multilib.
925
25c62e24
EB
9262005-02-16 Eric Botcazou <ebotcazou@libertysurf.fr>
927
927c8259 928 * doc/install.texi (sparc-sun-solaris2*): Document required GMP
25c62e24
EB
929 configure settings on Solaris 7 and later.
930
3bd09563
DN
9312005-02-16 Diego Novillo <dnovillo@redhat.com>
932
933 PR tree-optimization/19865
934 * tree-optimize.c (init_tree_optimization_passes): Run
935 pass_may_alias after pass_sra.
936
847d0c08
RH
9372005-02-16 Richard Henderson <rth@redhat.com>
938 Stuart Hastings <stuart@apple.com>
939
940 PR debug/19521
941 * dbxout.c (dbxout_function_end): Take decl parameter; update callers.
942 Do nothing if debug info suppressed for this function.
943 (dbxout_begin_function): Early exit if debug info suppressed for
944 this function.
945
de332a85
KH
9462005-02-16 Kazu Hirata <kazu@cs.umass.edu>
947
948 PR target/20007
949 * config/ip2k/ip2k.c (ip2k_reorg): Adjust calls to
950 find_basic_blocks.
951 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
952
5fcfe0b2
KH
953 PR tree-optimization/19967
954 * builtins.c (expand_builtin_strstr, expand_builtin_strpbrk,
955 expand_builtin_strchr, expand_builtin_strrchr): Take a new
956 argument TYPE. Adjust calls to fold_builtin_XXX.
957 (expand_builtin, fold_builtin_1): Adjust calls to
958 expand_builtin_XXX.
959 (fold_builtin_strchr, fold_builtin_strpbrk,
960 fold_builtin_strstr, fold_builtin_strrchr): Convert the folded
961 result to a requested type TYPE.
962
8940b3b2
JJ
9632005-02-16 Jakub Jelinek <jakub@redhat.com>
964
965 PR middle-end/19857
966 * fold-const.c (fold): Don't optimize (T)(x & cst) to
967 (T)x & (T)cst if (T)cst overflows.
968 * convert.c (convert_to_integer) <case POINTER_TYPE>: Pass
969 TYPE_UNSIGNED (type) as type_for_size's UNSIGNEDP argument.
970
aa47fcfa
JL
9712005-02-15 Jeff Law <law@redhat.com>
972
973 * gcse.c (blocks_with_calls): New bitmap.
974 (alloc_gcse_mem): Allocate it.
975 (free_gcse_mem): Free it.
976 (clear_modifY_mem_tables): Clear it.
977 (record_last_mem_set_info): Set the proper bit in BLOCK_WITH_CALLS
978 when we encounter CALL_INSNs.
979 (compute_transp, case MEM): Handle blocks with calls separate
980 from blocks without calls. Use bitmap iterators rather than
981 FOR_EACH_BB.
982
489ce9e7
PG
9832005-02-15 Peter O'Gorman <peter@pogma.com>
984
985 PR bootstrap/18810
986 * mklibgcc.in (vis_hide): Use a temporary object file, not
987 -o /dev/null.
988
1dd8ce20
AH
9892005-02-15 Andy Hutchinson <HutchinsonAndy@netscape.net>
990
991 PR target/19924
992 * config/avr/avr.h (MODES_TIEABLE_P): Define to 1 to allow subreg
993 access optimization.
994
6f85d0c4 9952005-02-15 David Edelsohn <edelsohn@gnu.org>
fd9850d5 996 Alan Modra <amodra@bigpond.net.au>
6f85d0c4
DE
997
998 PR target/19019
999 * config/rs6000/darwin-ldouble.c (_xlqadd): Rename to __gcc_qadd.
1000 (_xlqsub): Rename to __gcc_qsub.
1001 (_xlqmul): Rename to __gcc_qmul.
1002 (_xlqdiv): Rename to __gcc_qdiv.
1003 Provide versioned symbol aliases with old names.
1004 * config/rs6000/libgcc-ppc64.ver: Rename symbols.
1005 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Rename symbols.
1006 * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): New.
1007 * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): New.
1008 * config/rs6000/t-newas (LIB2FUNCS_EXTRA): New.
1009
40f84775
JM
10102005-02-15 James A. Morrison <phython@gcc.gnu.org>
1011
1012 * fold-const.c (fold): Fold -(~A) to A + 1. Fold ~(-A) to A - 1.
1013 Fold ~(A - 1) and ~(A + -1) to -A.
1014
14be52a2
JM
10152005-02-15 James A. Morrison <phython@gcc.gnu.org>
1016
1017 PR pch/14940
1018 PR target/19300
1019 * config/host-linux.c (linux_gt_pch_use_address): Copy from
1020 config/pa/pa-host.c:pa_gt_pch_use_address.
1021
eace8c18
DB
10222005-02-15 Daniel Berlin <dberlin@dberlin.org>
1023
1024 * tree-vn.c (get_value_handle): Make sure that given an
1025 is_gimple_min_invariant expression, we always return it.
1026
83cc36c8
KH
10272005-02-15 Kazu Hirata <kazu@cs.umass.edu>
1028
1029 * passes.c (rest_of_handle_gcse): Fix a comment.
1030
9a6cf911
JL
10312005-02-15 Jeff Law <law@redhat.com>
1032
1033 * gcse.c (canon_modify_mem_set_list_set): Kill unnecessary
1034 bitmap.
1035 (alloc_gcse_mem, free_gcse_mem): Corresponding changes.
1036 (canon_list_insert, record_last_mem_set_info): Similarly.
1037 (clear_modify_mem_tables): Similarly.
1038
6a6305e4
KH
10392005-02-15 Kazu Hirata <kazu@cs.umass.edu>
1040
1041 * bitmap.c, bitmap.h, lambda-code.c, tree-dfa.c, tree-dump.c,
1042 tree-dump.h, tree-ssa-loop-manip.c, value-prof.c,
1043 config/mips/mips.md, config/rs6000/aix.h,
1044 config/rs6000/beos.h, config/rs6000/sysv4.h: Update copyright.
1045
934677f9
RH
10462005-02-15 Richard Henderson <rth@redhat.com>
1047
2cdc2073 1048 * bb-reorder.c (find_traces_1_round): Force fallthru edge from a
934677f9
RH
1049 call to be best_edge.
1050
2e09ee33
KH
10512005-02-14 Kazu Hirata <kazu@cs.umass.edu>
1052
1053 * basic-block.h: Adjust the prototype for find_basic_blocks.
1054 * cfgbuild.c (find_basic_blocks): Remove unused arguments.
1055 * passes.c (rest_of_handle_loop_optimize): Adjust the call to
1056 find_basic_blocks.
1057
e22857eb
KH
1058 * flow.c (recompute_reg_usage): Remove all arguments.
1059 * passes.c (rest_of_compilation): Adjust the call to
1060 recompute_reg_usage.
1061 * rtl.h: Adjust the prototype for recompute_reg_usage.
1062
f46fe224 10632005-02-14 Daniel Berlin <dberlin@dberlin.org>
2cdc2073 1064
f46fe224
DB
1065 * tree-dump.c (dump_files): Update to reflect new member
1066 of dump_file_info.
1067 (dump_register): Add new argument.
1068 Set glob name.
1069 (dump_switch_p_1): Check against glob name if doglob was passed.
1070 (dump_switch_p): Check against regular first, then glob if
1071 we didn't have any hits on the dump name.
1072 * tree-optimize.c (register_one_dump_file):
1073 Pass in glob name as well.
1074 * tree-pass.h (struct dump_file_info): Add glob
1075 member.
1076
90689ae1
JM
10772005-02-14 Joseph S. Myers <joseph@codesourcery.com>
1078
1079 PR preprocessor/16323
1080 * doc/invoke.texi: Document that -Wendif-labels is on by default.
1081
8cb320b8
DE
10822005-02-14 David Edelsohn <edelsohn@gnu.org>
1083
1084 PR target/19019
2fe433c2 1085 * config/rs6000/rs6000.md (trunctfdf2): Change to define_expand.
8cb320b8 1086 (trunctfdf2_internal1): New.
2fe433c2 1087 (trunctfdf2_internal2): Renamed from trunctfdf2.
8cb320b8 1088
9a06c1cb
DN
10892005-02-14 Diego Novillo <dnovillo@redhat.com>
1090
1091 PR tree-optimization/19853
1092 * tree-dfa.c (add_referenced_var): Always examine DECL_INITIAL.
1093
0c86d709
KH
10942005-02-14 Kazu Hirata <kazu@cs.umass.edu>
1095
1096 * passes.c (rest_of_handle_loop_optimize): Remove calls to
1097 delete_dead_jumptables and cleanup_cfg.
1098
e88d55cd
UW
10992005-02-14 Ulrich Weigand <uweigand@de.ibm.com>
1100
1101 * reload.c (find_reloads): Swap address_reloaded flags when
1102 swapping commutative operands.
1103
92d2b330 11042005-02-14 Sebastian Pop <pop@cri.ensmp.fr>
9a06c1cb 1105
92d2b330
SP
1106 * lambda-code.c (lambda_loopnest_to_gcc_loopnest, perfect_nestify):
1107 Use standard_iv_increment_position for computing the bsi position
1108 for create_iv.
1109 * tree-ssa-loop-manip.c (create_iv): Add a comment on how to compute
1110 the bsi position.
1111
af9ecd0c
ZD
11122005-02-13 Zdenek Dvorak <dvorakz@suse.cz>
1113
1114 PR target/17428
9a06c1cb
DN
1115 * cfgrtl.c (safe_insert_insn_on_edge): Avoid extending
1116 life range of hard registers.
1117 * value-prof.c (insn_prefetch_values_to_profile): Only
1118 scan normal insns.
af9ecd0c
ZD
1119
1120 * value-prof.c (rtl_find_values_to_profile): Do not look for values to
1121 profile in libcalls.
1122
90bb1c1f
NS
11232005-02-13 Nathan Sidwell <nathan@codesourcery.com>
1124
1125 * bitmap.h (bitmap_and_compl_into): Return bool.
1126 * bitmap.c (bitmap_and_compl_into): Return changed flag.
1127
623049aa
JM
11282005-02-13 James A. Morrison <phython@gcc.gnu.org>
1129
1130 PR tree-optimization/19944
1131 * fold-const.c (fold): Re-add ABS_EXPR folding.
1132
de17c25f
DE
11332005-02-13 David Edelsohn <edelsohn@gnu.org>
1134
1135 PR target/19019
1136 * config/rs6000/aix.h ({TARGET,MASK}_XL_CALL): Rename to
1137 {TARGET,MASK}_XL_COMPAT.
1138 (SUBTARGET_SWITCHES): Rename xl-call to xl-compat. Use
1139 MASK_XL_COMPAT.
1140 * config/rs6000/beos.h ({TARGET,MASK}_XL_CALL): Remove.
1141 * config/rs6000/rs6000.c (function_arg): Change TARGET_XL_CALL to
1142 TARGET_XL_COMPAT.
1143 (rs6000_arg_partial_bytes): Same.
1144 (rs6000_generate_compare): Generate PARALLEL for compare if TFmode
1145 and XL compatibility enabled.
1146 * config/rs6000/rs6000.h (TARGET_XL_CALL): Rename to TARGET_XL_COMPAT.
1147 * config/rs6000/rs6000.md (cmptf_internal1): Add !TARGET_XL_COMPAT
1148 test to final condition.
1149 (cmptf_internal2): New.
1150 * doc/invoke.texi (RS/6000 Subtarget Options): Change xl-call to
1151 xl-compat. Add TFmode information to description.
1152
e04369ac
KH
11532005-02-13 Kazu Hirata <kazu@cs.umass.edu>
1154
1155 * flags.h, read-rtl.c, tree-ssa-live.h: Update copyright.
1156
38116e3d
JM
11572005-02-13 Jason Merrill <jason@redhat.com>
1158
38116e3d
JM
1159 PR c++/16405
1160 * fold-const.c (fold_indirect_ref_1): Split out from...
1161 (build_fold_indirect_ref): Here.
1162 (fold_indirect_ref): New fn.
1163 * tree.h: Declare it.
1164 * gimplify.c (gimplify_compound_lval): Call fold_indirect_ref.
1165 (gimplify_modify_expr_rhs): Likewise.
1166 (gimplify_expr): Likewise.
1167
60a8fb5e
JM
11682005-02-13 James A. Morrison <phython@gcc.gnu.org>
1169
1170 PR tree-optimization/14303
1171 PR tree-optimization/15784
1172 * fold-const.c (fold): Fold ABS_EXPR<x> >= 0 to true, when possible.
1173 Fold ABS_EXPR<x> < 0 to false. Fold ABS_EXPR<x> == 0 to x == 0 and
1174 ABS_EXPR<x> != 0 to x != 0.
1175
647eea9d
KH
11762005-02-12 Kazu Hirata <kazu@cs.umass.edu>
1177
1178 * c-tree.h, combine.c, expmed.c, flow.c, libgcc2.c,
1179 simplify-rtx.c, tree-ssa-live.h: Fix comment typos. Follow
1180 spelling conventions.
1181
6f9087d7
KH
1182 * passes.c (rest_of_handle_gcse): Don't run cse_main and
1183 delete_trivially_dead_insns too many times.
1184
ea24f64b
KH
1185 * passes.c (rest_of_handle_gcse): Remove dead assignments to
1186 tem and tem2.
1187
8ad833ac
IR
11882005-02-12 Ira Rosen <irar@il.ibm.com>
1189
1190 * tree-vectorizer.c (vect_get_base_and_offset): Remove.
1191 (vect_is_simple_iv_evolution): Remove redundant parameter
1192 and step check.
1193 (vect_analyze_scalar_cycles): Call vect_is_simple_iv_evolution
1194 without last parameter.
1195 (vect_analyze_pointer_ref_access): Get access_fn as parameter.
1196 Return pointer step. Call vect_is_simple_iv_evolution without
1197 last parameter. Check only that the step is multiple of size
1198 type. Remove stmt_vinfo updates.
1199 (vect_get_memtag_and_dr): Remove.
1200 (vect_get_memtag): New function.
1201 (vect_address_analysis): New function.
1202 (vect_object_analysis): New function.
1203 (vect_analyze_data_refs): Call vect_object_analysis and
1204 vect_get_memtag. Update stmt_vinfo fields.
1205
e3a8a4ed
IR
12062005-02-12 Ira Rosen <irar@il.ibm.com>
1207
1208 * tree-data-ref.c (array_base_name_differ_p): Check that the bases
1209 exist and are objects. Remove checks for pointer.
1210 * tree-vectorizer.c (vect_create_addr_base_for_vector_ref): Use
1211 STMT_VINFO_VECT_DR_BASE_ADDRESS instead of DR_BASE_NAME.
1212 (vect_create_data_ref_ptr): Likewise.
1213 (vect_base_addr_differ_p): New function.
1214 (vect_analyze_data_ref_dependence): Call vect_base_addr_differ_p.
1215 (vect_analyze_pointer_ref_access): Add output parameter - ptr_init.
1216 Don't set the DR_BASE_NAME field of data-ref.
1217 (vect_get_memtag_and_dr): Use ptr_init instead of DR_BASE_NAME.
1218
c94a75af
UB
12192005-02-12 Uros Bizjak <uros@kss-loka.si>
1220
1221 * optabs.h (enum optab_index): Add new OTI_ldexp.
1222 (ldexp_optab): Define corresponding macro.
1223 * optabs.c (init_optabs): Initialize ldexp_optab.
1224 * genopinit.c (optabs): Implement ldexp_optab using ldexp?f3
1225 patterns.
1226 * builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_LDEXP{,F,L}
1227 using ldexp_optab.
1228 (expand_builtin): Expand BUILT_IN_LDEXP{,F,L} using
1229 expand_builtin_mathfn_2 if flag_unsafe_math_optimizations is set.
1230
1231 * config/i386/i386.md (ldexpsf3, ldexpdf3, ldexpxf3): New expanders
1232 to implement ldexpf, ldexp and ldexpl built-ins as inline x87
1233 intrinsics.
1234
e3a8a4ed 12352005-02-12 Ira Rosen <irar@il.ibm.com>
a5ae3ad6
IR
1236
1237 * tree-vectorizer.h (struct _stmt_vec_info): Rename a field: base
1238 to base_address.
1239 * tree-vectorizer.c (new_stmt_vec_info): Rename the above field of
1240 stmt_vec_info.
1241 (vect_get_base_and_offset): Always return an address.
1242 (vect_create_addr_base_for_vector_ref): Remove treatment for
1243 different data reference types.
1244 (vect_compute_data_ref_alignment): Rename base to base_address in
1245 stmt_vec_info. Get the object in order to force its alignment.
1246 (vect_get_memtag_and_dr): Rename base to base_address in
1247 stmt_vec_info. Extract the object for memtag analysis.
1248
f4ddaddd
HPN
12492005-02-12 Hans-Peter Nilsson <hp@axis.com>
1250
1251 PR regression/19898.
1252 * config/cris/cris.c (cris_notice_update_cc): When testing if insn
1253 changes cc_status, use apply modified_in_p to part of cc_status
1254 and insn, not cris_reg_overlap_mentioned_p on SET_DEST of insn
1255 body.
1256
7e7e470f
RH
12572005-02-11 Richard Henderson <rth@redhat.com>
1258
1259 * tree-complex.c (expand_complex_libcall): New.
1260 (expand_complex_multiplication): Use it for c99 compliance.
1261 (expand_complex_division): Likewise.
1262 * fold-const.c (fold_complex_add, fold_complex_mult): New.
1263 (fold): Call them.
1264 * builtins.c (built_in_names): Remove const.
1265 * tree.c (build_common_builtin_nodes): Build complex arithmetic
1266 builtins.
1267 * tree.h (BUILT_IN_COMPLEX_MUL_MIN, BUILT_IN_COMPLEX_MUL_MAX): New.
1268 (BUILT_IN_COMPLEX_DIV_MIN, BUILT_IN_COMPLEX_DIV_MAX): New.
1269 (built_in_names): Remove const.
1270 * c-common.c (c_common_type_for_mode): Handle complex modes.
1271 * flags.h, toplev.c (flag_complex_method): Rename from
1272 flag_complex_divide_method.
1273 * libgcc2.c (__divsc3, __divdc3, __divxc3, __divtc3,
1274 __mulsc3, __muldc3, __mulxc3, __multc3): New.
1275 * libgcc2.h: Declare them.
a310245f 1276 * libgcc-std.ver: Export them.
7e7e470f
RH
1277 * mklibgcc.in (lib2funcs): Build them.
1278
c33bae88
SB
12792005-02-11 Steven Bosscher <stevenb@suse.de>
1280
1281 PR tree-optimization/19876
1282 Partially revert my change from 2005-01-14
1283 * tree-ssa-pre.c (compute_antic_aux): Make recursive once again...
1284 (compute_antic): ...and remove the loop here.
1285
28f8ecf9
JJ
12862005-02-11 Jakub Jelinek <jakub@redhat.com>
1287
97e9692b
JJ
1288 PR middle-end/19858
1289 * fold-const.c (make_bit_field_ref): If bitpos == 0 and bitsize
1290 is number of inner's bits, avoid creating a BIT_FIELD_REF.
1291
28f8ecf9
JJ
1292 * config/rs6000/sysv4.h (ENDFILE_LINUX_SPEC): Use crtendS.o instead of
1293 crtend.o if -pie. Use %{x:a;:b} spec syntax.
1294
d04b77ac
DJ
12952005-02-11 Daniel Jacobowitz <dan@codesourcery.com>
1296
1297 * config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust
1298 offsets for the big-endian 32-bit case.
1299
70406574
JM
13002005-02-11 Joseph S. Myers <joseph@codesourcery.com>
1301
1302 * config/ia64/hpux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
1303
7e42db17
DJ
13042005-02-11 Dale Johannesen <dalej@apple.com>
1305
1306 * cselib.c (cselib_process_insn): Clear out regs where
1307 HARD_REGNO_CALL_PART_CLOBBERED is true at a call.
1308 * reload.c (find_equiv_reg): Ditto.
1309
f6254da4
ILT
13102005-02-11 Ian Lance Taylor <ian@airs.com>
1311
c5d97f6e
ILT
1312 * read-rtl.c (read_rtx_1): Give fatal error if we see a vector
1313 with no elements.
1314
f6254da4
ILT
1315 * tree.c (build_function_type_list): Work correctly if there are
1316 no arguments.
1317
f4f41b4e
UW
13182005-02-11 Ulrich Weigand <uweigand@de.ibm.com>
1319
1320 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs",
1321 "*cmpsi_ccs"): Use %h instead of %c to print immediate operand.
1322 ("*zero_extendhisi2_64", "*zero_extendhisi2_31"): Choose based on
1323 TARGET_ZARCH instead of TARGET_64BIT.
1324
f203217e
RC
13252005-02-11 Ralf Corsepius <ralf.corsepius@rtems.org>
1326
1327 * config/rs6000/t-rtems:
1328 (MULTILIB_OPTIONS): Remove mcpu=602.
1329 (MUTLILIB_DIRNAMES): Remove m602.
2cdc2073 1330 (MULTILIB_MATCHES): Add ${MULTILIB_MATCHES_FLOAT}.
f203217e
RC
1331 Let mcpu=602 match mcpu=603.
1332 (MULTILIB_NEW_EXCEPTIONS_ONLY): Add mcpu=601, mcpu=602, mcpu=m603.
1333
9dcab61e
JDA
13342005-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1335
1336 * pa/linux-unwind.h (pa32_fallback_frame_state): Handle misaligned
1337 signal trampolines.
1338
70ad1f9f
DD
13392005-02-10 David Daney <ddaney@avtrex.com>
1340
1341 * config/alpha/linux-unwind.h: Add exception clause to copyright.
1342 * config/i386/linux-unwind.h: Likewise.
1343 * config/ia64/linux-unwind.h: Likewise.
1344 * config/mips/linux-unwind.h: Likewise.
1345 * config/pa/linux-unwind.h: Likewise.
1346 * config/rs6000/linux-unwind.h: Likewise.
1347 * config/s390/linux-unwind.h: Likewise.
1348 * config/sh/linux-unwind.h: Likewise.
1349 * config/sparc/linux-unwind.h: Likewise.
1350
3b6616dd
SB
13512005-02-10 Steven Bosscher <stevenb@suse.de>
1352
1353 PR tree-optimization/17549
1354 * tree-outof-ssa.c (find_replaceable_in_bb): Do not allow
1355 TER to replace a DEF with its expression if the DEF and the
1356 rhs of the expression we replace into have the same root
1357 variable.
1358
a0c5992a
RS
13592005-02-10 Richard Sandiford <rsandifo@redhat.com>
1360
1361 * config/mips/mips.md: Fix the placement of the match_scratch in the
1362 lea64 peephole2.
1363
0388d40a
KH
13642005-02-10 Kazu Hirata <kazu@cs.umass.edu>
1365
1366 * cse.c, tree-ssa-loop-ivopts.c, config/rs6000/linux-unwind.h:
1367 Fix comment typos.
1368
f5e2738c
ZD
13692005-02-10 Zdenek Dvorak <dvorakz@suse.cz>
1370
1371 * tree-ssa-loop-ivopts.c (determine_base_object): Ignore casts.
1372 (strip_offset): Handle addresses.
1373 (add_address_candidates): Use strip_offset.
1374 (difference_cost): Reflect strip_offset change.
1375 (force_var_cost, difference_cost): Strip nops.
1376
33d6a74c
KH
13772005-02-10 Kazu Hirata <kazu@cs.umass.edu>
1378
1379 * df.h (DF_REF_MODE_CHANGE, DF_REF_MEM_OK): Remove.
1380
c486021d
KH
1381 * builtins.def, haifa-sched.c, libgcc2.c, libgcc2.h,
1382 tree-ssa-loop-ivcanon.c, tree-ssa-loop-niter.c,
1383 config/cris/cris-protos.h, config/cris/cris.c: Update
1384 copyright.
1385
8d6f7195
JL
13862005-02-10 Jeff Law <law@redhat.com>
1387
1388 * tree-ssa-dom.c (thread_across_edge): Use xmalloc, not xcalloc.
1389 (lookup_avail_expr): Similarly.
1390
ba78d452
RG
13912005-02-10 Richard Guenther <rguenth@gcc.gnu.org>
1392
1393 * builtins.c (fold_builtin_powi): New function.
1394 (fold_builtin_1): Call it.
1395
0d3e9f35
SB
13962005-02-10 Steven Bosscher <stevenb@suse.de>
1397
1398 PR documentation/19309
1399 * doc/cpp.texi: The __GNUC__ and related predefined macros
1400 are also defined for the "standalone" cpp.
1401 Some non-GCC compilers may also define __GNUC__.
1402
ccf7f880
JJ
14032005-02-10 Jakub Jelinek <jakub@redhat.com>
1404
1405 PR c/19342
1406 * c-typeck.c (common_type): New routine. Old common_type renamed
1407 to...
1408 (c_common_type): ...this.
1409 (build_conditional_expr, build_binary_op): Use c_common_type instead
1410 of common_type.
1411
b49900cc
SB
14122005-02-10 Steven Bosscher <stevenb@suse.de>
1413
1414 * doc/md.texi: Replace @samp{length} with @code{length}.
1415
ca4c3169
ZD
14162005-02-09 Zdenek Dvorak <dvorakz@suse.cz>
1417
1418 PR tree-optimization/18687
1419 * tree-flow.h (find_loop_niter): Declare.
1420 * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
1421 Try using scev even for loops with more than one exit.
1422 * tree-ssa-loop-ivopts.c (struct loop_data): Removed niter field.
1423 (struct ivopts_data): Added niters field.
1424 (struct nfe_cache_elt): New.
1425 (nfe_hash, nfe_eq, niter_for_exit, niter_for_single_dom_exit): New
1426 functions.
1427 (tree_ssa_iv_optimize_init): Initialize niters cache.
1428 (determine_number_of_iterations): Removed.
1429 (find_induction_variables): Do not call determine_number_of_iterations.
1430 Access niters for single exit through niter_for_single_dom_exit.
1431 (add_iv_outer_candidates): Access niters for single exit through
1432 niter_for_single_dom_exit.
1433 (may_eliminate_iv): Take data argument. Use niter_for_exit. Do not use
1434 number_of_iterations_cond.
1435 (iv_period): New function.
1436 (determine_use_iv_cost_condition): Pass data to may_eliminate_iv.
1437 (may_replace_final_value): Take data argument. Use
1438 niter_for_single_dom_exit.
1439 (determine_use_iv_cost_outer): Pass data to may_replace_final_value.
1440 (rewrite_use_compare): Pass data to may_eliminate_iv.
1441 (rewrite_use_outer): Pass data to may_replace_final_value.
1442 (free_loop_data): Clean up the niters cache.
1443 (tree_ssa_iv_optimize_finalize): Free the niters cache.
1444 (tree_ssa_iv_optimize_loop): Do not call loop_commit_inserts.
1445 * tree-ssa-loop-niter.c (find_loop_niter): New function.
1446 (find_loop_niter_by_eval): Use tree_int_cst_lt.
1447 (num_ending_zeros): Moved to tree.c.
1448 * tree.h (num_ending_zeros): Declare.
1449 * tree.c (num_ending_zeros): Moved from tree.c.
1450
c6a912da
RH
14512005-02-09 Richard Henderson <rth@redhat.com>
1452
1453 * builtins.c (DEF_BUILTIN): Add COND argument.
1454 * tree.h (DEF_BUILTIN): Likewise.
1455 * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN, DEF_EXT_LIB_BUILTIN,
1456 DEF_C94_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN): Update to
1457 match.
1458 (DEF_BUILTIN_STUB): New.
1459 (BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE, BUILT_IN_INIT_TRAMPOLINE,
1460 BUILT_IN_ADJUST_TRAMPOLINE, BUILT_IN_NONLOCAL_GOTO,
1461 BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT): Use it.
1462 * c-common.c (DEF_BUILTIN): Add COND argument.
1463 * tree.c (local_define_builtin): New.
1464 (build_common_builtin_nodes): New.
1465
e3bb43c0
RS
14662005-02-09 Roger Sayle <roger@eyesopen.com>
1467
1468 * fold-const.c (fold_strip_sign_ops): New function to simplify a
1469 floating point expression ignoring the sign of the result.
1470 (fold) <ABS_EXPR>: Use it to simplify fabs(x).
1471 (fold) <MULT_EXPR>: Use it to simplify x*x.
1472 * tree.h (fold_strip_sign_ops): Prototype here.
1473 * builtins.c (fold_builtin_copysign): Take an additional FNDECL
1474 argument. Use fold_strip_sign_ops to simplify the first argument.
1475 (fold_builtin_pow): Use fold_strip_sign_ops to simplify the
1476 first argument when the second argument is an even integer
1477 constant, but only with -funsafe_math_optimizations.
1478 (fold_builtin_1): Update call to fold_builtin_copysign.
1479
5eefcf2f
ILT
14802005-02-09 Ian Lance Taylor <ian@airs.com>
1481
1482 PR middle-end/19583
1483 * gimple-low.c (try_catch_may_fallthru): In EH_FILTER_EXPR case,
1484 just check whether EH_FILTER_FAILURE falls through.
1485
dab80c81
AK
14862005-02-09 Andreas Krebbel <krebbel1@de.ibm.com>
1487
1488 * gcc/haifa-sched.c (schedule_block): Make queued sched group
1489 insns return to ready list in the next turn.
1490
17684d46
RG
14912005-02-09 Richard Guenther <rguenth@gcc.gnu.org>
1492
1493 PR middle-end/19402
1494 * builtins.def: New __builtin_powi[lf].
1495 * builtins.c (mathfn_built_in): Handle BUILT_IN_POWI.
1496 (expand_builtin_powi): New function.
1497 (expand_builtin): Dispatch to expand_builtin_powi.
1498 * libgcc2.h: Add prototypes for __builtin_powi[lf].
1499 * libgcc2.c: Add __builtin_powi[lf] implementation.
1500 * mklibgcc.in: Add __builtin_powi[lf] to lib2funcs.
1501 * optabs.h: Add powi_optab.
1502 * optabs.c (init_optabs): Initialize powi_optab.
1503 * doc/extend.texi: Document __builtin_powi[lf].
1504
8ca3515f
DN
15052005-02-09 Dorit Naishlos <dorit@il.ibm.com>
1506
2cdc2073 1507 * tree-vectorizer.c (vect_set_dump_settings): Check that dump_file
8ca3515f
DN
1508 exists.
1509
0c6c135b
RG
15102005-02-09 Richard Guenther <rguenth@gcc.gnu.org>
1511
1512 PR middle-end/19854
1513 * fold-const.c (try_move_mult_to_index): Remove redundant
1514 type argument. Create ADDR_EXPR with correct type.
1515 (fold): Update callers of try_move_mult_to_index. Convert
1516 result to the appropriate type.
1517
8f2bf9f1
RS
15182005-02-09 Roger Sayle <roger@eyesopen.com>
1519
1520 PR target/19597
1521 * config/avr/avr.c (default_rtx_costs): Delete.
1522 (avr_operand_rtx_cost): New function.
1523 (avr_rtx_costs): Completely rewrite.
1524
453bd0f5
HPN
15252005-02-08 Hans-Peter Nilsson <hp@axis.com>
1526
1527 PR target/19806
1528 * config/cris/cris.c (in_code): New variable.
1529 (cris_output_addr_const): Now a static function, a wrapper for
1530 output_addr_const.
1531 (cris_asm_output_symbol_ref): New function, broken out SYMBOL_REF
1532 case from old cris_output_addr_const.
1533 (cris_asm_output_label_ref): Similar for LABEL_REF.
1534 (cris_output_addr_const_extra): Similar for UNSPEC.
1535 * config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA)
1536 (ASM_OUTPUT_SYMBOL_REF, ASM_OUTPUT_LABEL_REF): Define.
1537 * config/cris/cris-protos.h (cris_output_addr_const): Remove
1538 declaration.
1539 (cris_asm_output_symbol_ref, cris_output_addr_const_extra)
1540 (cris_asm_output_label_ref): Declare.
1541
749c6ef9
PB
15422005-02-08 Paolo Bonzini <bonzini@gnu.org>
1543
1544 PR preprocessor/19801
1545 * doc/cppinternals.texi (Conventions, Lexer, Files): Adjust
1546 filenames that changed when libcpp was moved to the toplevel.
1547
f8eacd97
RS
15482005-02-07 Roger Sayle <roger@eyesopen.com>
1549
1550 * simplify-rtx.c (simplify_relational_operation_1): Avoid creating
1551 zero extensions of BImode operands. Call lowpart_subreg instead
1552 of gen_lowpart_common and gen_lowpart_SUBREG.
1553
1e3fad21
NN
15542005-02-07 Nathanael Nerode <neroden@gcc.gnu.org>
1555
1556 PR ada/19489
1557 * libada-mk.in: Use cc_for_cross_gnattools, not cc_set_by_configure.
1558 * configure.ac: Set cc_for_cross_gnattools.
1559 * configure: Regenerate.
1560
b0ad2de2
AM
15612005-02-08 Alan Modra <amodra@bigpond.net.au>
1562
1563 PR target/19803
1564 * predict.c (PROB_VERY_UNLIKELY): Use 1% instead of 10%.
1565
b950a32e
EB
15662005-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1567
1568 PR debug/19327
1569 * dbxout.c (dbxout_symbol) <FUNCTION_DECL>: Skip inline instance
1570 of nested functions.
1571
6871294a
JW
15722005-02-07 Jonathan Wakely <redi@gcc.gnu.org>
1573
1574 * doc/extend.texi: Document deprecated extensions allowing
1575 static floating-point members to have initializers and allowing
1576 floating-point literals in integral constant expressions.
1577
17385e0d
KH
15782005-02-07 Kazu Hirata <kazu@cs.umass.edu>
1579
1580 * cfgcleanup.c, df.h, diagnostic.c, rtl.c, tree-vectorizer.h,
1581 config/darwin7.h, config/mips/mips.c,
1582 config/rs6000/altivec.md, config/rs6000/darwin-tramp.asm:
1583 Update copyright.
1584
459281be
KH
1585 * cse.c: Update comments.
1586
6a96f5c1
RG
15872005-02-07 Richard Guenther <rguenth@gcc.gnu.org>
1588
1589 PR middle-end/19775
1590 * builtins.c (fold_builtin_sqrt): Transform
1591 sqrt(pow(x,y)) to pow(fabs(x),y*0.5), not
1592 pow(x,y*0.5).
1593
c866976a
LB
15942005-02-07 Leehod Baruch <leehod@il.ibm.com>
1595 Dorit Naishlos <dorit@il.ibm.com>
1596
1597 * doc/invoke.texi (ftree-vectorizer-verbose): New.
1598 * opts.c (OPT_ftree_vectorizer_verbose_): New case for switch.
1599 * common.opt (ftree-vectorizer-verbose): New Flag for the vectorizer
1600 was added.
1601 * tree.h (vect_set_verbosity_level): New extern function declaration
1602 added.
1603 * tree-vectorizer.h (verbosity_levels): New enum type.
1604 * tree-vectorizer.c (vect_debug_stats): Function removed.
1605 (vect_debug_details): Likewise.
1606 (vect_verbosity_level): Global variable was defined and initialized.
1607 (vect_dump): Global variable definition.
1608 (vect_print_dump_info): New function.
1609 (vect_set_dump_settings): New function.
1610 (vect_set_verbosity_level): New function.
1611 (vectorize_loops): Add call to vect_set_dump_settings.
1612
1613 (slpeel_make_loop_iterate_ntimes): Dump condition was changed.
1614 (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
1615 (slpeel_tree_peel_loop_to_edge): Likewise.
1616
1617 (vect_analyze_offset_expr): Call to vect_print_dump_info with
2cdc2073
ZW
1618 appropriate verbosity level instead of call to vect_debug_details
1619 or vect_debug_stats.
c866976a
LB
1620 (vect_get_base_and_offset):
1621 (vect_create_addr_base_for_vector_ref):
1622 (get_vectype_for_scalar_type):
1623 (vect_create_data_ref_ptr):
1624 (vect_init_vector):
1625 (vect_get_vec_def_for_operand):
1626 (vect_finish_stmt_generation):
1627 (vectorizable_assignment):
1628 (vectorizable_operation):
1629 (vectorizable_store):
1630 (vectorizable_load):
1631 (vect_transform_stmt):
1632 (vect_update_ivs_after_vectorizer):
1633 (vect_do_peeling_for_loop_bound):
1634 (vect_update_inits_of_drs):
1635 (vect_do_peeling_for_alignment):
1636 (vect_transform_loop):
1637 (vect_is_simple_use):
1638 (vect_analyze_operations):
1639 (vect_is_simple_iv_evolution):
1640 (vect_analyze_scalar_cycles):
1641 (vect_analyze_data_ref_dependence):
1642 (vect_analyze_data_ref_dependences):
1643 (vect_compute_data_ref_alignment):
1644 (vect_enhance_data_refs_alignment):
1645 (vect_analyze_data_refs_alignment):
1646 (vect_analyze_data_ref_access):
1647 (vect_analyze_data_ref_accesses):
1648 (vect_analyze_pointer_ref_access):
1649 (vect_get_memtag_and_dr):
1650 (vect_analyze_data_refs):
1651 (vect_mark_relevant):
1652 (vect_stmt_relevant_p):
1653 (vect_mark_stmts_to_be_vectorized):
1654 (vect_can_advance_ivs_p):
1655 (vect_get_loop_niters):
1656 (vect_analyze_loop_form):
1657 (vect_analyze_loop):
1658 (vectorize_loops): Likewise.
1659
1660 (vect_do_peeling_for_loop_bound): Dump format slightly changed.
1661 (vect_update_inits_of_drs):
1662 (vect_do_peeling_for_alignment):
1663 (vect_transform_loop):
1664 (vect_analyze_operations):
1665 (vect_analyze_scalar_cycles):
1666 (vect_analyze_data_ref_dependences):
1667 (vect_analyze_data_refs_alignment):
1668 (vect_analyze_data_ref_accesses):
1669 (vect_analyze_data_refs):
1670 (vect_mark_stmts_to_be_vectorized):
1671 (vect_get_loop_niters):
1672 (vect_analyze_loop_form):
2cdc2073 1673 (vect_analyze_loop): Likewise.
c866976a
LB
1674 (vect_mark_stmts_to_be_vectorized): Add call to print_generic_expr.
1675
88ab13d6
RS
16762005-02-07 Richard Sandiford <rsandifo@redhat.com>
1677
1678 PR bootstrap/19796
1679 Revert:
1680 2005-01-26 Richard Sandiford <rsandifo@redhat.com>
1681 * config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if
1682 either -ffast-math or -funsafe-math-optimizations is in use.
1683
1684 2005-01-24 Richard Sandiford <rsandifo@redhat.com>
1685 * config/mips/irix-csr.c: New file.
1686 * config/mips/t-iris6 (irix-csr.o): New rule to build it.
1687 (EXTRA_MULTILIB_PARTS): Add irix-csr.o.
1688 * config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64
1689 executables.
1690
a701780f
AO
16912005-02-07 Alexandre Oliva <aoliva@redhat.com>
1692
dcb15c6c
AO
1693 * config/mn10300/linux.h (LIB_SPEC, STARTFILE_SPEC): Remove
1694 redundant, incorrect definitions.
1695
a701780f
AO
1696 * config/frv/frv.md ("tls_indirect_call"): Turn into libcall-like
1697 expand.
1698 ("*tls_indirect_call"): New, reference hard regs directly.
1699 * config/frv/frv.c (gen_inlined_tls_plt): Adjust.
1700
888b0310
RC
17012005-02-07 Ralf Corsepius <ralf.corsepius@rtems.org>
1702
2cdc2073 1703 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC):
888b0310
RC
1704 Let !-mhard-float !-msoft-float imply -mfpu=softfpa.
1705
b1a22407
RS
17062005-02-06 Roger Sayle <roger@eyesopen.com>
1707
1708 PR rtl-optimization/19800
7f5c93ac 1709 * simplify_rtx.c (simplify_relational_operation_1): Explicitly
b1a22407
RS
1710 call gen_lowpart_common and gen_lowpart_SUBREG instead of calling
1711 gen_lowpart.
1712
149056b0
RC
17132005-02-07 Ralf Corsepius <ralf.corsepius@rtems.org>
1714
1715 * config/m68k/t-rtems (MULTILIB_MATCHES): Let m528x match m5200.
1716
3e8cb558
JM
17172005-02-07 Joseph S. Myers <joseph@codesourcery.com>
1718
1719 PR other/17135
1720 * doc/invoke.texi: Correct documentation of -freorder-functions.
1721
ee86feaf
JM
17222005-02-06 Joseph S. Myers <joseph@codesourcery.com>
1723
1724 PR other/14402
1725 * doc/invoke.texi: Don't mention gccbug.
1726
1419a885
RS
17272005-02-06 Roger Sayle <roger@eyesopen.com>
1728 Andrew Pinski <pinskia@physics.uc.edu>
1729 Paolo Bonzini <paolo.bonzini@lu.unisi.ch>
1730
1731 * simplify-rtx.c (simplify_relational_operation_1): Simplify
1732 (ne:SI (zero_extract:SI FOO (const_int 1) BAR) (const_int 0))
1733 into just (zero_extract:SI FOO (const_int 1) BAR).
1734
706bb773
JM
17352005-02-06 Joseph S. Myers <joseph@codesourcery.com>
1736
1737 * doc/cpp.texi: Include gcc-common.texi. Don't define gcctabopt
1738 macro locally. Don't give last revision date. Use GCC version
1739 number from gcc-common.texi.
1740 * doc/cppinternals.texi: Include gcc-common.texi. Don't give last
1741 revision date. Use GCC version number from gcc-common.texi.
1742 Describe being a library as current state rather than as 3.x
1743 history.
1744 * doc/gcc.texi: Remove last update date.
1745 * doc/gccint.texi: Likewise. Update copyright dates.
1746 * doc/install.texi: Update copyright dates.
1747
69cdf050
JM
17482005-02-06 Joseph S. Myers <joseph@codesourcery.com>
1749
1750 PR other/7549
1751 * doc/invoke.texi: Mention for each option included in -Wall that
1752 it is included in -Wall.
1753 * doc/gcc.texi: Update copyright and last modification date.
1754
3520b745
ZD
17552005-02-06 Zdenek Dvorak <dvorakz@suse.cz>
1756
1757 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Do not add
1758 unnecessary cast to original induction variable increments.
1759
b0a168b6
ZD
17602005-02-06 Zdenek Dvorak <dvorakz@suse.cz>
1761
1762 PR tree-optimization/18219
1763 * tree-ssa-loop-ivopts.c (get_computation_at): Produce computations
1764 in distributed form.
1765
2c58f7dd
RS
17662005-02-06 Richard Sandiford <rsandifo@redhat.com>
1767
1768 * expmed.c (store_bit_field): Make the SUBREG code adjust bitnum.
1769 Set bitpos and offset later in the function. Do nothing if the
1770 target is a register and if the bitfield lies completely outside
1771 that register.
1772 (extract_bit_field): Make the same SUBREG, bitpos and offset changes
1773 here. Return an uninitialised register if the source value is stored
1774 in a register and the bitfield lies completely outside that register.
1775
55c4ae3f
SB
17762005-02-06 Steven Bosscher <stevenb@suse.de>
1777
1778 * df.c (df_insn_refs_record): Use XEXP to get the operand of a USE,
1779 not SET_DEST.
1780
cbd13f8a
MD
17812005-02-06 Marcin Dalecki <martin@dalecki.de>
1782
1783 * diagnostic.c (default_diagnostic_finalizer): Fix use of attribute.
1784
f1b4c8d8
GK
17852005-02-06 Geoffrey Keating <geoffk@apple.com>
1786
1787 * config.gcc (*-*-darwin*): Separate darwin7 and darwin8 configs.
1788 * config/darwin8.h: New.
1789 * config/darwin7.h: Update comment.
1790
773af5d0
LB
17912005-02-03 Leehod Baruch <leehod@il.ibm.com>
1792 Dorit Naishlos <dorit@il.ibm.com>
1793
1794 * tree-vectorizer.h (LOC): New type.
1795 (UNKNOWN_LOC, EXPR_LOC, LOC_FILE, LOC_LINE): New macros.
1796 (loop_line_number): New field in struct _loop_vec_info.
1797 (LOOP_VINFO_LOC, LOOP_LOC): New macros.
1798
1799 * tree-vectorizer.c (input.h): Included.
1800 (find_loop_location): New function.
1801 (vect_debug_stats): Argument changed from loop to LOC. Computation of
1802 loop line number removed.
1803 (vect_debug_details): Likewise.
1804 (new_loop_vec_info): Initialize new field LOOP_VINFO_LOC.
1805
1806 (slpeel_make_loop_iterate_ntimes): Call find_loop_location. Argument in
1807 call to vect_debug_details/stats changed from loop to loop_loc.
1808 (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
1809 (slpeel_tree_peel_loop_to_edge): Likewise.
1810
1811 (vect_analyze_offset_expr): Argument in call to vect_debug_details/stats
1812 changed from NULL to UNKNOWN_LOC.
1813 (vect_get_base_and_offset):
1814 (vect_create_addr_base_for_vector_ref):
1815 (get_vectype_for_scalar_type):
1816 (vect_create_data_ref_ptr):
1817 (vect_init_vector):
1818 (vect_get_vec_def_for_operand):
1819 (vect_finish_stmt_generation):
1820 (vectorizable_assignment):
1821 (vectorizable_operation):
1822 (vectorizable_store):
1823 (vectorizable_load):
1824 (vect_transform_stmt):
1825 (vect_update_ivs_after_vectorizer):
1826 (vect_do_peeling_for_loop_bound):
1827 (vect_do_peeling_for_alignment):
1828 (vect_transform_loop):
1829 (vect_is_simple_use):
1830 (vect_analyze_operations):
1831 (vect_is_simple_iv_evolution):
1832 (vect_analyze_scalar_cycles):
1833 (vect_analyze_data_ref_dependences):
1834 (vect_compute_data_ref_alignment):
1835 (vect_enhance_data_refs_alignment):
1836 (vect_analyze_data_ref_access):
1837 (vect_analyze_data_ref_accesses):
1838 (vect_analyze_pointer_ref_access):
1839 (vect_get_memtag_and_dr):
1840 (vect_analyze_data_refs):
1841 (vect_mark_relevant):
1842 (vect_stmt_relevant_p):
1843 (vect_mark_stmts_to_be_vectorized):
1844 (vect_can_advance_ivs_p):
1845 (vect_get_loop_niters):
1846 (vect_analyze_loop):
1847 (vectorize_loops): Likewise.
1848
1849 (vectorizable_load): Argument in call to vect_debug_details/stats
1850 changed from loop to LOOP_LOC (loop_vinfo).
1851 (vect_transform_loop):
1852 (vect_analyze_operations):
1853 (vect_analyze_scalar_cycles):
1854 (vect_analyze_data_ref_dependence):
1855 (vect_enhance_data_refs_alignment):
1856 (vect_analyze_data_ref_accesses):
1857 (vect_analyze_pointer_ref_access):
1858 (vect_analyze_data_refs):
1859 (vect_analyze_loop): Likewise.
1860
1861 (vect_analyze_loop_form): Argument in call to vect_debug_details/stats
1862 changed from loop to loop_loc.
1863
2cdc2073 1864 (vect_enhance_data_refs_alignment): Removed unused variable loop.
773af5d0 1865
ef302293
LB
18662005-02-03 Leehod Baruch <leehod@il.ibm.com>
1867 Dorit Naishlos <dorit@il.ibm.com>
1868
1869 * tree-vectorizer.c (vect_analyze_data_ref_dependence): Function
1870 declaration added.
1871 (vect_analyze_data_ref_dependences): Likewise.
1872
1873 (vect_is_simple_use): Argument changed from loop structure to
1874 loop_vect_info structure.
1875 (vect_can_advance_ivs_p): Likewise.
1876 (vect_create_index_for_vector_ref): Likewise.
1877 (vect_update_ivs_after_vectorizer): Likewise.
1878 (new_stmt_vec_info): Likewise.
2cdc2073 1879
ef302293
LB
1880 (new_loop_vec_info): Second argument in call to new_stmt_vec_info was
1881 changed from loop to loop_vinfo.
1882 (vect_create_data_ref_ptr): First argument in call to
1883 vect_create_index_for_vector_ref was changed from loop to loop_vinfo.
1884 (vectorizable_assignment): Second argument in call to vect_is_simple_use
1885 was changed from loop to loop_vinfo.
1886 (vectorizable_operation): Likewise.
1887 (vectorizable_store): Likewise.
1888 (vect_mark_stmts_to_be_vectorized): Likewise.
1889 (vect_do_peeling_for_loop_bound): First argument in call to
1890 vect_update_ivs_after_vectorizer was changed from loop to loop_vinfo.
1891 (vect_analyze_operations): Argument in call to vect_can_advance_ivs_p
1892 was changed from loop to loop_vinfo.
1893 (vect_analyze_data_ref_dependences): Third argument in call to
1894 vect_analyze_data_ref_dependence was changed from loop to loop_vinfo.
2cdc2073 1895
ef302293
LB
1896 (vect_create_index_for_vector_ref): Get the loop from loop_vinfo.
1897 (vect_create_data_ref_ptr): Likewise.
1898 (vect_init_vector): Likewise.
1899 (vect_get_vec_def_for_operand): Likewise.
1900 (vectorizable_assignment): Likewise.
1901 (vectorizable_operation): Likewise.
1902 (vectorizable_store): Likewise.
1903 (vectorizable_load): Likewise.
1904 (vect_update_ivs_after_vectorizer): Likewise.
1905 (vect_is_simple_use): Likewise.
1906 (vect_analyze_data_ref_dependence): Likewise.
1907 (vect_analyze_pointer_ref_access): Likewise.
1908 (vect_can_advance_ivs_p): Likewise.
1909
1910 * tree-vectorizer.h: (_loop_vec_info): Definition and macros moved
1911 before _stmt_vec_info.
1912 (_stmt_vec_info): Loop field replaced by loop_vec_info.
1913 (STMT_VINFO_LOOP): Replaced with STMT_VINFO_LOOP_VINFO.
1914 (new_stmt_vec_info): Argument changed from loop structure to
1915 loop_vect_info structure
1916
1917 (vect_analyze_data_ref_dependences): Unnecessary line was removed.
1918 (vect_analyze_offset_expr): Avoid 80 columns overflow.
1919 (vect_create_addr_base_for_vector_ref): Likewise.
1920 (vect_analyze_pointer_ref_access): Likewise.
1921
9df935d8
AP
19222005-02-03 Andrew Pinski <pinskia@physics.uc.edu>
1923
1924 PR tree-opt/19768
1925 * tree-ssa-dse.c (fix_phi_uses): Update the occurs in abnormal
1926 phi flag if the phi is abnormal.
1927
50d4a707
AP
19282005-02-03 Andrew Pinski <pinskia@physics.uc.edu>
1929
1930 PR tree-opt/19736
1931 * tree-ssa.c (replace_immediate_uses): Update the immediate_uses
1932 information for the new statement.
1933
cd21f044
JM
19342005-02-03 Joseph S. Myers <joseph@codesourcery.com>
1935
1936 PR driver/19117
1937 * gcc.c (main): Include the target in -v output.
1938
aa2d0bc3
AO
19392005-02-03 Alexandre Oliva <aoliva@redhat.com>
1940
1941 * combine.c (simplify_comparison, case SIGN_EXTEND, ZERO_EXTEND):
1942 Do not drop the extend if we'd have to add a paradoxical subreg
1943 later. Include optabs.h and insn-codes.h.
1944 * Makefile.in (combine.o): Depend on $(OPTABS_H).
1945
762297d9
RS
19462005-02-02 Roger Sayle <roger@eyesopen.com>
1947
1948 PR middle-end/19405
1949 * real.h (REAL_MODE_FORMAT_COMPOSITE_P): New macro.
1950 * fold-const.c (const_binop): Avoid constant folding floating
1951 point operations in modes that use composite representations.
1952 * simplify-rtx.c (simplify_binary_operation): Likewise.
1953
666158b9
GK
19542005-02-02 Geoffrey Keating <geoffk@apple.com>
1955
1956 * config/rs6000/altivec.md (altivec_dst): Make the first operand
1957 a REG, not a MEM.
1958 (altivec_dstt): Likewise.
1959 (altivec_dstst): Likewise.
1960 (altivec_dststt): Likewise.
1961 * config/rs6000/rs6000.c (altivec_expand_dst_builtin): Adjust creation
1962 of first operand.
1963
cce4ca55
DN
19642005-02-03 Dorit Naishlos <dorit@il.ibm.com>
1965
1966 * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Copy
1967 EXPR_LOCUS from orig_cond to the new cond_stmt.
1968 (vect_finish_stmt_generation): Copy EXPR_LOCUS from stmt to
1969 the new vec_stmt.
1970
19712005-02-03 Dorit Naishlos <dorit@il.ibm.com>
1972
1973 * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Call
2cdc2073 1974 standard_iv_increment_position. Remove call to bsi_next
cce4ca55
DN
1975 (no need to bump the iterator anymore).
1976 (vect_create_index_for_vector_ref): Call
1977 standard_iv_increment_position. Remove second function argument.
2cdc2073 1978 (vect_finish_stmt_generation): Remove call to bsi_next
cce4ca55
DN
1979 (no need to bump the iterator anymore).
1980 (vect_create_data_ref_ptr): Remove second argument (bsi) in call
1981 to vect_create_index_for_vector_ref.
1982
19832005-02-03 Dorit Naishlos <dorit@il.ibm.com>
1984
1985 * tree-vectorizer.c (vect_mark_stmts_to_be_vectorized): Check if
1986 phis are used out of the loop.
1987
73aea290
JM
19882005-02-03 Joseph S. Myers <joseph@codesourcery.com>
1989
1990 PR c/17807
1991 * c-decl.c (undef_nested_function): New variable.
1992 (pop_scope): Diagnose undefined nested functions.
1993 (finish_function): Don't attempt cgraph processing or genericizing
1994 if current top-level function contained an undefined nested
1995 function. Reset undef_nested_function at the end of a top-level
1996 function.
1997
89d12f5d
ZD
19982005-02-02 Zdenek Dvorak <dvorakz@suse.cz>
1999
2000 * tree.c (build_int_cst_type): Take sign of the value into account
2001 when deciding whether sign extend the value.
2002
740ca4b2
JM
20032005-02-02 Joseph S. Myers <joseph@codesourcery.com>
2004
2005 PR c/18502
2006 * gcc.c (cpp_unique_options): Remove %{trigraphs}.
2007 (cpp_options, cc1_options): Change %{std*&ansi} to
2008 %{std*&ansi&trigraphs}.
2009
a52aff23
KH
20102005-02-02 Kazu Hirata <kazu@cs.umass.edu>
2011
2012 * cse.c: Update comments.
2013
cf676baa
AH
20142005-02-02 Aldy Hernandez <aldyh@redhat.com>
2015
2016 * config/rs6000/rs6000.c (rs6000_spe_function_arg): Multi-reg
2017 arguments go on the stack. Do not put complex doubles in odd/even
2018 pairs.
2019
08711fdf
SB
20202005-02-02 Steven Bosscher <stevenb@suse.de>
2021
2022 * doc/invoke.texi: Update the options enabled at -O1, -O2,
2023 and -O3. Update the documentation for -fgcse-sm, -fgcse-las,
2024 -ftree-pre, and -fthread-jumps.
2025
7ded35b4
RS
20262005-02-02 Richard Sandiford <rsandifo@redhat.com>
2027
2028 PR tree-optimization/19578
2029 * tree-flow.h (modified_noreturn_calls): Declare.
2030 (noreturn_call_p): Declare.
2031 * tree-flow-inline.h (noreturn_call_p): New function.
2032 (modify_stmt): Add modified noreturn calls to modified_noreturn_calls.
2033 * tree-cfg.c (modified_noreturn_calls): New variable.
2034 (cleanup_control_flow): Use noreturn_call_p. Split basic blocks
2035 that contain a mid-block noreturn call.
2036 * tree-ssa.c (delete_tree_ssa): Clear modified_noreturn_calls.
2037
d01da8bd
KH
20382005-02-02 Kazu Hirata <kazu@cs.umass.edu>
2039
2040 * df.c (df_def_record_1, df_uses_record): Don't use
2041 DF_FOR_REGALLOC.
2042 * df.h (DF_FOR_REGALLOC): Remove.
2043
493179da
JM
20442005-02-02 Joseph S. Myers <joseph@codesourcery.com>
2045
2046 PR c/19435
2047 * c-typeck.c (really_start_incremental_init): Reset
2048 constructor_max_index for arrays of incomplete type.
2049
ed425871
JL
20502005-02-02 Jeff Law <law@redhat.com>
2051
2052 * gcse.c (struct reg_set): Store the block index where the register
2053 was set rather than the setting insn.
2054 (record_one_set, compute_transp): Corresponding changes.
2055 (pre_insert_copy_insn): Do not call replace_one_set.
2056 (replace_one_set): Remove.
2057
d02d7104
JM
20582005-02-02 Joseph S. Myers <joseph@codesourcery.com>
2059
2060 PR other/15514
2061 * doc/gcov.texi: Fix typo.
2062
c1c5b5e3
RH
20632005-02-01 Richard Henderson <rth@redhat.com
2064
2065 PR target/19680
2066 * config/i386/i386.h (MODES_TIEABLE_P): Use ix86_modes_tieable_p.
2067 * config/i386/i386.c (ix86_hard_regno_mode_ok): Change return
2068 type to bool.
2069 (ix86_tieable_integer_mode_p, ix86_modes_tieable_p): New.
2070 * config/i386/i386-protos.h: Update.
2071
7a442a1d
SB
20722005-02-01 Steven Bosscher <stevenb@suse.de>
2073
2074 PR tree-optimization/19217
2075 * tree-cfg.c (verify_expr): Use the data field to see if TP was
2076 seen inside a PHI node. Do not do the ADDR_EXPR check if it was.
2077 (verify_stmts): Pass (void*)1 as data to verify_expr to signal
2078 that it is walking a PHI node.
2079
475b6e22
JM
20802005-02-01 Joseph S. Myers <joseph@codesourcery.com>
2081
2082 * doc/extend.texi (Nested Functions): Update.
2083
ca58f2bc
RH
20842005-02-01 Richard Henderson <rth@redhat.com>
2085
2086 PR 19696
2087 * optabs.c (expand_copysign_absneg): Export.
2088 * optabs.h (expand_copysign_absneg): Declare.
2089 * config/rs6000/rs6000.md (copysigntf3): New.
2090
a1d13fa1
DN
20912005-02-01 Diego Novillo <dnovillo@redhat.com>
2092
2093 PR tree-optimization/19633
2094 * tree-flow.h (struct ptr_info_def): Add field 'pt_null'.
2095 * tree-ssa-alias.c (init_alias_info): Initialize.
2096 (merge_pointed_to_info): Set.
2097 (add_pointed_to_expr): Set pt_null if EXPR is a NULL pointer.
2098 (dump_points_to_info_for): Show value of pt_null.
2099 (struct count_ptr_d): Declare.
2100 (find_ptr_dereference): Remove.
2101 (ptr_is_dereferenced_by): Remove.
2102 (count_ptr_derefs): New local function.
2103 (count_uses_and_derefs): New local function.
2104 (compute_points_to_and_addr_escape): Call it. If the number
2105 of dereferences is greater than zero, mark the pointer as
2106 dereferenced. If there are fewer dereferences than uses of
2107 the pointer, the pointer's value escapes.
2108
28a3618f
DN
21092005-02-01 Diego Novillo <dnovillo@redhat.com>
2110
2111 PR tree-optimization/19670
2112 * tree-ssa.c (verify_ssa_name): Don't set TREE_VISITED
2113 here...
2114 (verify_use): ... set it here, instead.
2115
8d2d2ec6
JJ
21162005-02-01 Janis Johnson <janis187@us.ibm.com>
2117
cc95a845
JJ
2118 * doc/sourcebuild.texi (Test directives): Fix formatting.
2119
8d2d2ec6
JJ
2120 * doc/sourcebuild.texi (Test directives): Describe selector
2121 expressions.
2122
d1c8addb
SB
21232005-02-01 Segher Boessenkool <segher@kernel.crashing.org>
2124
2125 * config.gcc (powerpc64-*-linux*): Default to -m64 also for
2126 specific 64-bit CPUs.
2127
6555b6bd
RE
21282005-02-01 Richard Earnshaw <rearnsha@arm.com>
2129
2130 PR target/16201
2131 * arm.c (arm_eliminable_register): New function.
2132 (adjacent_mem_locations): Don't allow eliminable registers. Use
2133 HOST_WIDE_INT for address offsets.
2134 * arm-protos.h (arm_eliminable_register): Add prototype.
2135
bbcb0c05
SB
21362005-02-01 Steven Bosscher <stevenb@suse.de>
2137
2138 PR optimization/15242
2139 * params.def (PARAM_MAX_GOTO_DUPLICATION_INSNS): New param.
2140 * basic-block.h (duplicate_computed_gotos): Add prototype.
2141 * bb-reorder.c (duplicate_computed_gotos): New function to
2142 duplicate sufficiently small blocks ending in a computed jump.
2143 * passes.c (rest_of_compilation): Call duplicate_computed_gotos
2144 if not optimizing for size.
2145 * cfgcleanup.c (try_crossjump_bb): If not optimizing for size,
2146 never do tail merging for blocks ending in a computed jump.
2147 * doc/invoke.texi: Document the max-goto-duplication-insns param.
2148
9c0a30c3
EB
21492005-02-01 Eric Botcazou <ebotcazou@libertysurf.fr>
2150
2151 Patch from Richard Sandiford <rsandifo@redhat.com>
2152 * reload1.c (choose_reload_regs): Prevent the find_equiv_reg() code
2153 from inheriting a subreg equivalence with a non-spill register.
2154
2155 * tree.h (DECL_FUNCTION_CODE): Document that it is overloaded.
2156
7b150713
AO
21572005-02-01 Alexandre Oliva <aoliva@redhat.com>
2158
2159 * config/frv/frv.c (movcc_fp_destination_operand): New.
2160 (gpr_or_memory_operand): Fix typo in comment.
2161 (gpr_or_memory_operand_with_scratch): New.
2162 * config/frv/frv.h (PREDICATE_CODES): Add the two new predicates.
2163 * config/frv/frv.md (movcc_fp, movcc_fp_internal): Use
2164 movcc_fp_destination_operand.
2165 (reload_incc_fp): Use gpr_or_memory_operand_with_scratch.
2166 Legitimize memory addresses using a scratch register.
2167
dc5d4efb
JL
21682005-01-31 Jeff Law <law@redhat.com>
2169
7d793e36
JL
2170 * tree-into-ssa.c (mark_def_sites_global_data): Make KILLS
2171 bitmap a sparse bitmap instead of a simple bitmap.
2172 (mark_def_sites_initialize_block): Corresponding changes.
2173 (ssa_mark_def_sites_initialize_block): Likewise.
2174 (ssa_mark_phi_uses): Likewise.
2175 (mark_def_site, ssa_mark_def_sites): Likewise.
2176 (mark_def_site_blocks): Likewise.
2177 (rewrite_ssa_into_ssa): Likewise.
2178
5746637c
JL
2179 * tree-ssa-dom.c (record_cond): Pass correct variable type
2180 for last argument to htab_find_slot_with_hash.
2181
2182 * fold-const.c (fold, case CEIL_MOD_EXPR): Do not lose side
2183 effects when optimizing 0 % X. Do not try to optimize X % 0.
dc5d4efb 2184
3dcec1e9
JW
21852005-01-31 James E. Wilson <wilson@specifixinc.com>
2186
2187 * config/ia64/itanium1.md (1_scall bypass): Change 2_mmalua to
2188 1_mmalua.
2189
fc474307
EC
21902005-02-01 Eric Christopher <echristo@redhat.com>
2191
2192 * config/mips/mips.c (override_options): Warn if -mint64
2193 is used.
2194 * doc/invoke.texi (MIPS Options): Document that -mint64 is
2195 deprecated.
2196
bc5e3b54
KH
21972005-02-01 Kazu Hirata <kazu@cs.umass.edu>
2198
2199 * cse.c (cse_reg_info): Remove hash_next, next, regno. Add
2200 timestamp.
2201 (cse_reg_info_list, cse_reg_info_list_free, REGHASH_SHIFT,
2202 REGHASH_SIZE, REGHASH_MASK, reg_hash, REGHASH_FN,
2203 cached_cse_reg_info, GET_CSE_REG_INFO): Remove.
2204 (cached_regno): Initialize to INVALID_REGNUM.
2205 (cse_reg_info_table_size,
2206 cse_reg_info_table_first_uninitialized,
2207 cse_reg_info_timestamp): New.
2208 (REG_TICK, REG_IN_TABLE, SUBREG_TICKED, REG_QTY): Use
2209 get_cse_reg_info.
2210 (init_cse_reg_info, get_cse_reg_info_1): New.
2211 (get_cse_reg_info): Cache the last look-up.
2212 (new_basic_block): Update the code to clear mappings from
2213 registers to cse_reg_info entries.
2214 (cse_main): Call init_cse_reg_info.
2215
782c0a3e
KH
2216 * cse.c (get_cse_reg_info): Update a comment.
2217
b4519d39
SB
22182005-01-31 Steven Bosscher <stevenb@suse.de>
2219
2220 PR c/19333
2221 * c-decl.c (start_decl): Do not warn about arrays of elements with
2222 an incomplete type here.
2223 (grokdeclarator): Do it here by making a pedwarn an error.
2224 * c-typeck.c (push_init_level): If there were previous errors with
2225 the constructor type, do not warn about braces for initializers.
2226 (process_init_element): Likewise for excess initializer elements.
2227
65e9fa10
KH
22282005-01-31 Kazu Hirata <kazu@cs.umass.edu>
2229
2230 * cse.c (delete_trivially_dead_insn): Don't iterate.
2231
0530bc70
AP
22322005-01-31 Andrew Pinski <pinskia@physics.uc.edu>
2233
2234 * config/rs6000/rs6000.md (copysignsf3): New expand.
2235 (copysigndf3): Likewise.
2236
9ea88834
SB
22372005-01-31 Steven Bosscher <stevenb@suse.de>
2238
2239 * recog.c (constrain_operands): Only look for earlyclobber operand
2240 conflicts if an '&' constraint was seen.
2241
75a3bd9d
ME
22422005-01-31 Marc Espie <espie@openbsd.org>
2243
2244 * config.gcc: Don't include embedded systems fragment, switches default
2245 debugging format to ELF.
2cdc2073 2246 * config/i386/openbsdelf.h: Add DBX_REGISTER_NUMBER since we no
75a3bd9d
ME
2247 longer pick it up there.
2248
28697267 22492005-01-31 Dale Johannesen <dalej@apple.com>
2cdc2073 2250
28697267
DJ
2251 * doc/extend.texi (nested functions): Fix linkage description.
2252 Clarify that static is not allowed.
2253
e87d92f4 22542005-01-31 Dale Johannesen <dalej@apple.com>
2cdc2073 2255
e87d92f4
DJ
2256 * config/rs6000/darwin.md (movsf_low_di): Make work.
2257 (movdf_low_di): Make work.
2258
42d262fa
DJ
22592005-01-31 Dale Johannesen <dalej@apple.com>
2260
2261 * config/rs6000/darwin-tramp.asm (__trampoline_setup):
2262 Make work for 64 bit.
2263
3b70b82a
DJ
22642005-01-31 Roger Sayle <roger@eyesopen.com>
2265 Dale Johannesen <dalej@apple.com>
2266
2267 PR middle-end/19650
2268 * fold-const.c (fold_binary_op_with_conditional_arg):
2269 Make types match original operands, before STRIP_NOPS.
2270
a7a52913
AM
22712005-01-31 Alan Modra <amodra@bigpond.net.au>
2272
2273 * config/rs6000/linux-unwind.h (struct gcc_vregs): New.
2274 (struct gcc_regs): Rename from gcc_pt_regs. Add more regs.
2275 (struct gcc_sigcontext): Delete. Merge contents to..
2276 (struct gcc_ucontext): ..here.
2277 (get_sigcontext): Delete.
2278 (get_regs): New function, like get_sigcontext but return regs ptr.
2279 64-bit version finds regs from r1 to support vdso.
2280 (ppc_linux_aux_vector): New function.
2281 (ppc_fallback_frame_state): Modify for get_regs. Restore fprs
2282 and vector regs.
2283
261ba0c8
IR
22842005-01-31 Ira Rosen <irar@il.ibm.com>
2285
2286 * tree-vectorizer.c (vect_analyze_offset_expr): Use ssizetype instead
2287 sizetype.
2288 (vect_get_base_and_offset): Use ssizetype instead sizetype. Remove
2289 redundant fold. Fix misalignment for MINUS_EXPR.
2290 (vect_compute_data_ref_alignment): Use ssizetype instead sizetype.
2291 (vect_analyze_pointer_ref_access): Likewise.
2292 (vect_get_memtag_and_dr): Likewise.
2293
2ae1ac77
RH
22942005-01-31 Richard Henderson <rth@redhat.com>
2295
2296 * config/i386/i386.c (absnegsf2_mixed): Remove all of the # hackery.
2297 (absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed, absnegdf2_sse,
2298 absnegdf2_i387, absnegxf2_i387): Likewise.
2299
ae394659
RH
23002005-01-31 Richard Henderson <rth@redhat.com>
2301
2302 PR 19696
2303 * optabs.c (expand_copysign_absneg): New.
2304 (expand_copysign_bit): Split out from ...
2305 (expand_copysign): ... here. Use expand_copysign_absneg.
2306
ebcaaa21
RS
23072005-01-30 Roger Sayle <roger@eyesopen.com>
2308
2309 PR middle-end/19697
2310 * config/pa/pa.md (anddi3, iordi3): On HPPA64, disallow an integer
2311 constant as the second operand and a register as the third.
2312
6cc37e7e
DS
23132005-01-31 Danny Smith <dannysmith@users.sourceforge.net>
2314
2315 PR target/19704
2316 * config/i386/i386.c (ix86_function_ok_for_sibcall): Also check
2317 that dllimport'd functions do not use all call-clobbered registers
2318 to pass parameters.
2319
8c55a142
RH
23202005-01-30 Richard Henderson <rth@redhat.com>
2321
2322 PR 19696
2323 * optabs.c (expand_absneg_bit): Split out from expand_unop and
2324 expand_abs_nojump and generalize. Use operand_subword and
2325 emit_no_conflict_block. Support large modes.
2326 (expand_abs_nojump): Use it. Use HONOR_SIGNED_ZEROS to fall
2327 back to maximum.
2328 (expand_unop): Likewise. Use HONOR_SIGNED_ZEROS to fall back
2329 negation to subtraction.
2330 (expand_copysign): Check that the format has signed zeros.
2331 Use operand_subword and emit_no_conflict_block. Support large modes.
2332
338bc65e
DB
23332005-01-30 Daniel Berlin <dberlin@dberlin.org>
2334
2335 Fix PR tree-optimization/19624
2cdc2073 2336
338bc65e
DB
2337 * Makefile.in (tree-ssa-pre.o): Add CFGLOOP_H.
2338 * tree-ssa-pre.c: Add cfgloop.h.
2339 Update comment.
2340 (pre_stats): New member, constified.
2341 (inserted_exprs): New static variable.
2342 (NECESSARY): New macro.
2343 (create_expression_by_pieces): Fold the expression, and
2344 mark it as defaulting to not necessary. Also put in
2345 inserted_exprs.
2346 (fully_constant_expression): New function.
2347 (insert_into_preds_of_block): Modify to not insert phis when we
2348 are playing with induction variables.
2349 Push phis onto the inserted_exprs vector, and mark them as not
2350 necessary by default.
2351 (insert_aux): Call fully_constant_expression on eprime.
2352 If all edges produce the same value, mark it constant.
2353 (mark_operand_necessary): New function.
2354 (remove_dead_inserted_code): New function.
2355 (init_pre): Init loop optimizer to get loop info.
2356 (fini_pre): Free loop_optimizer, and inserted_exprs vec.
2357 (execute_pre): Commit edge inserts, then remove dead code.
2358
237f420b
RH
23592005-01-30 Richard Henderson <rth@redhat.com>
2360
2361 * rtl.c (rtx_equal_p): No early exit for CONST_VECTOR.
2362 * varasm.c (const_rtx_hash_1): Handle CONST_VECTOR.
2363
b99d6d2b
RH
23642005-01-30 Richard Henderson <rth@redhat.com>
2365
2366 PR target/19700
2367 * config/i386/i386.c (ix86_expand_copysign): New.
2368 (ix86_split_copysign_const): New.
2cdc2073 2369 (ix86_split_copysign_var): Rename from ix86_split_copysign,
b99d6d2b
RH
2370 rearrange op1/nmask operands.
2371 * config/i386/i386-protos.h: Update.
2372 * config/i386/i386.md (copysignsf3): Use ix86_expand_copysign.
2373 (copysigndf3): Likewise.
2374 (copysignsf3_const, copysigndf3_const): New.
2375 (copysignsf3_var): Rename from copysignsf3, split out splitter
2376 and fix split predicate for X constraint.
2377 (copysigndf3_var): Similarly.
2378
c5c367ac
KH
23792005-01-30 Kazu Hirata <kazu@cs.umass.edu>
2380
2381 * optabs.c, doc/c-tree.texi, doc/install.texi, doc/md.texi,
2382 doc/passes.texi, doc/rtl.texi, doc/sourcebuild.texi,
2383 doc/tm.texi, doc/tree-ssa.texi: Update copyright.
2384
d6eabd43
RH
23852005-01-29 Richard Henderson <rth@redhat.com>
2386
2387 PR target/19690
2388 * config/i386/i386.md (movdf_nointeger, movdf_integer): Fix ordering
2389 of # and * in constraints.
2390
8d740330
RH
23912005-01-29 Richard Henderson <rth@redhat.com>
2392
2393 PR middle-end/19689
2394 * expr.c (store_field): Don't strip sub-mode cast when the input
2395 data is even smaller.
2396
486e4326
RH
23972005-01-29 Richard Henderson <rth@redhat.com>
2398
2399 PR middle-end/19687
2400 * expr.c (categorize_ctor_elements_1): Check for CONSTRUCTOR of a
2401 union being empty.
2402
eb2ab511
RH
24032005-01-29 Richard Henderson <rth@redhat.com>
2404
2405 * combine.c (make_field_assignment): Fix argument order
2406 to gen_int_mode.
2407
020d90ee
RG
24082005-01-29 Richard Guenther <richard.guenther@uni-tuebingen.de>
2409
2410 PR tree-optimization/15791
2411 * fold-const.c (extract_array_ref): New function.
2412 (fold): Fold comparisons between &a[i] and &a[j] or
2413 semantically equivalent trees.
2414
b6e47ceb
JL
24152005-01-29 Jeff Law <law@redhat.com>
2416
2417 * gcse.c (insert_expr_in_table): Revamp handling of available
2418 and anticipatable occurrence lists to avoid unnecessary list
2419 walking.
2420 (insert_set_in_table): Similarly.
2421
46df2823
JM
24222005-01-29 Joseph S. Myers <joseph@codesourcery.com>
2423
2424 * c-common.c (fix_string_type): Just use c_build_qualified_type to
2425 build string type.
2426 (c_build_qualified_type): Build qualified array types with
2427 TYPE_MAIN_VARIANT pointing to corresponding unqualified type.
2428 * c-decl.c (c_make_fname_decl): Build unqualified array type
2429 before qualified type.
2430 (grokdeclarator): Use TYPE_MAIN_VARIANT of typedef type if element
2431 type is qualified, not just if type itself is. Don't apply
2432 qualifiers to array type when declarator is processed. Apply
2433 qualifiers to field type whether or not it is an array type.
2434 Don't handle array types specially for applying qualifiers to
2435 variables.
2436 * c-typeck.c (composite_type): Build unqualified element type and
2437 array type when forming composite of array types.
2438 (common_pointer_type, comptypes, comp_target_types,
2439 type_lists_compatible_p, build_indirect_ref, build_array_ref,
2440 convert_for_assignment): Don't apply TYPE_MAIN_VARIANT to array
2441 types.
2442 (type_lists_compatible_p): Cache TREE_VALUE (args1) and TREE_VALUE
2443 (args2) in variables a1 and a2.
2444
26af0046
KH
24452005-01-29 Kazu Hirata <kazu@cs.umass.edu>
2446
2447 * cse.c (n_elements_made, max_elements_made): Remove.
2448 (insert): Don't touch n_elements_made.
2449 (cse_main): Don't touch n_elements_made or max_elements_made.
2450
3a951664
SC
24512005-01-28 Stephane Carrez <stcarrez@nerim.fr>
2452
2453 PR target/15384
2454 * config/m68hc11/t-m68hc11-gas (dp-bit.c): Fix typo causing a
2455 configuration part of dp-bit.c to be lost.
2456
82dfb9a5
RS
24572005-01-28 Roger Sayle <roger@eyesopen.com>
2458
2459 * expmed.c (expand_mult_highpart_optab): When attempting to use
2460 a non-widening multiplication in a wider mode, the operands need
2461 to be converted (zero or sign extended) to that mode.
2462
09f8cf2d
ILT
24632005-01-28 Ian Lance Taylor <ian@airs.com>
2464
2465 PR middle-end/16558
2466 PR middle-end/19583
2467 * gimple-low.c (block_may_fallthru): TRY_FINALLY_EXPR only falls
2468 through if both operands fall through.
2469
01aa1d43
KH
24702005-01-28 Kazu Hirata <kazu@cs.umass.edu>
2471
2472 * cse.c (fold_rtx) <PC>: Don't optimize.
2473
139c978a
JL
24742005-01-28 Jeff Law <law@redhat.com>
2475
2476 * fold-const.c (fold, case CEIL_MOD_EXPR): Optimize 0 % X.
2477 (case FLOOR_MOD_EXPR, ROUND_MOD_EXPR, TRUNC_MOD_EXPR): Similarly.
2478
1590d0d4
KH
24792005-01-28 Kazu Hirata <kazu@cs.umass.edu>
2480
2481 * cse.c (cse_reg_info_free_list, cse_reg_info_used_list,
2482 cse_reg_info_used_list_end): Remove.
2483 (cse_reg_info_list, cse_reg_info_list_free): New.
2484 (get_cse_reg_info): When allocating an instance of
2485 cse_reg_info, add it to the beginning of the cse_reg_info_list
2486 list. Remove code to maintain cse_reg_info_used_list.
2487 (new_basic_block): Reset the free list to the beginning of
2488 cse_reg_info_list.
2489
a738d848
RS
24902005-01-28 Richard Sandiford <rsandifo@redhat.com>
2491
2492 * config/frv/frv.c (bdesc_2arg): Remove __MDPACKH.
2493 (frv_init_builtins): Change its prototype to take 4 uhalf arguments.
2494 (frv_expand_mdpackh_builtin): New function.
2495 (frv_expand_builtin): Use it to expand __MDPACKH.
a738d848
RS
2496 * doc/extend.texi (__MDPACKH): Update documentation.
2497
2aa3d033
UB
24982005-01-28 Uros Bizjak <uros@kss-loka.si>
2499
2500 * config/i386/i386.c (ix86_expand_fp_absneg_operator): Use
2501 SSE_FLOAT_MODE_P for use_sse computation.
2502
7d7f3b95
RC
25032005-01-28 Ralf Corsepius <ralf.corsepius@rtems.org>
2504
2505 PR target/19663
2506 * config/sparc/rtemself.h (LINK_GCC_C_SEQUENCE_SPEC): undefine.
2507
046625fa
RH
25082005-01-27 Richard Henderson <rth@redhat.com>
2509
2510 * builtins.c (expand_builtin_copysign): New.
2511 (expand_builtin): Call it.
2512 * genopinit.c (optabs): Add copysign_optab.
2513 * optabs.c (init_optabs): Initialize it.
2514 (expand_copysign): New.
2515 * optabs.h (OTI_copysign, copysign_optab): New.
2516 (expand_copysign): Declare.
2517
2518 * config/alpha/alpha.md (UNSPEC_COPYSIGN): New.
2519 (copysignsf3, ncopysignsf3, copysigndf3, ncopysigndf3): New.
2520
2521 * config/i386/i386.c (ix86_build_signbit_mask): Split from ...
2522 (ix86_expand_fp_absneg_operator): ... here.
2523 (ix86_split_copysign): New.
2524 * config/i386/i386-protos.h: Update.
2525 * config/i386/i386.md (UNSPEC_COPYSIGN): New.
2526 (copysignsf3, copysigndf3): New.
2527
2528 * config/ia64/ia64.md (UNSPEC_COPYSIGN): New.
2529 (copysignsf3, ncopysignsf3): New.
2530 (copysigndf3, ncopysigndf3): New.
2531 (copysignxf3, ncopysignxf3): New.
2532 * config/ia64/ia64.c (rtx_needs_barrier): Handle UNSPEC_COPYSIGN.
2533
6c667859
AB
25342005-01-27 Arend Bayer <arend.bayer@web.de>
2535 Kazu Hirata <kazu@cs.umass.edu>
2536
2537 * cse.c: (find_best_addr): Don't call copy_rtx before calling
2538 fold_rtx. Save cost recomputation if fold_rtx did nothing.
2539 (fold_rtx) <ASM_OPERANDS>: Don't do anything if INSN is
2540 NULL_RTX.
2541
88af764e
JL
25422005-01-27 Jeff Law <law@redhat.com>
2543
2544 * tree-into-ssa.c (ssa_rewrite_initialize_block): Do not register
2545 definitions of SSA_NAMEs which are not being rewritten.
2546 (rewrite_ssa_into_ssa): Only initialize the current definition
2547 of an SSA_NAME if that SSA_NAME has been marked for rewriting.
2548 If checking is enabled, assert that SSA_NAME_AUX is clear for all
2549 SSA_NAMEs before returning.
2550
f93089d2
KH
25512005-01-27 Kazu Hirata <kazu@cs.umass.edu>
2552
2553 * c-common.def, c-dump.c, c-gimplify.c, c-objc-common.c,
2554 cfgexpand.c, dbxout.c, function.h, opts.c, tree-flow-inline.h,
2555 tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-tailcall.c,
2556 config/avr/avr.md, config/cris/aout.h, config/cris/cris.h,
2557 config/mips/iris6.h, config/sh/sh.c: Update copyright.
2558
116cb604
SB
25592005-01-27 Steven Bosscher <stevenb@suse.de>
2560
2561 PR middle-end/17278
2562 * opts.c (decode_options): Move flag_thread_jumps from -O1 and
2563 higher to -O2 and higher. Likewise for tree PRE.
2564 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only iterate at -O2
2565 and better.
2566
09f8cf2d 25672005-01-27 Ian Lance Taylor <ian@airs.com>
6737ba67
ILT
2568
2569 PR middle-end/19583
2570 * gimple-low.c (try_catch_may_fallthru): New static function.
2571 (block_may_fallthru): Handle TRY_CATCH_EXPR.
2572 * tree-inline.c (expand_call_inline): Don't warn about reaching
2573 the end of a non-void function being inlined if the function uses
2574 a return slot.
2575
d8dd2f3a
JJ
25762005-01-27 Jakub Jelinek <jakub@redhat.com>
2577
9d72d996
JJ
2578 * config/i386/i386.h (CALL_USED_REGISTERS): Fix comment pastos.
2579
d8dd2f3a
JJ
2580 PR c/18946
2581 * c-decl.c (warn_if_shadowing): Handle old_decl error_mark_node.
2582 (pushdecl): Only use DECL_FILE_SCOPE_P if DECL_P.
2583 (implicitly_declare): Handle error_mark_node.
2584
dad2a933
RH
25852005-01-27 Richard Henderson <rth@redhat.com>
2586
2587 PR tree-opt/14329
2588 * tree.h (struct tree_decl): Add debug_expr_is_from.
2589 (DECL_DEBUG_EXPR_IS_FROM): New.
2590 (DECL_DEBUG_EXPR): Rename from DECL_DEBUG_ALIAS_OF.
2591 * dwarf2out.c (dwarf2out_var_location): Update to match.
2592 * tree-outof-ssa.c (create_temp): Likewise.
2593 * var-tracking.c (track_expr_p): Likewise.
2594 * tree-sra.c (instantiate_element): Set DECL_DEBUG_EXPR.
2595 * c-objc-common.c (c_tree_printer) <'D'>: Handle DECL_DEBUG_EXPR.
2596 * toplev.c (default_tree_printer): Likewise.
2597
17c21957
AO
25982005-01-27 Alexandre Oliva <aoliva@redhat.com>
2599
2600 * config/frv/frv.c (frv_class_likely_spilled_p): Add GR8_REGS,
2601 GR9_REGS, GR89_REGS, FDPIC_FPTR_REGS, FDPIC_REGS.
2602
ebaae582
SB
26032005-01-27 Steven Bosscher <stevenb@suse.de>
2604
2605 * tree.h (SWITCH_COND, SWITCH_BODY, SWITCH_LABELS, CASE_LOW,
2606 CASE_HIGH, CASE_LABEL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS,
2607 ASM_CLOBBERS): Add tree checks.
2608
2609 * c-common.h (SWITCH_TYPE): Rename to SWITCH_STMT_TYPE.
2610 (SWITCH_STMT_COND, SWITCH_STMT_BODY): New.
2611 * c-common.def (SWITCH_STMT): Update to match.
2612 * c-common.c (c_do_switch_warnings): Use SWITCH_STMT accessor
2613 macros instead of SWITCH_EXPR ones.
2614 * c-dump.c (c_dump_tree): Likewise.
2615 * c-gimplify.c (gimplify_switch_stmt): Likewise.
2616 * c-typeck.c (c_start_case, do_case, c_finish_case): Likewise.
2617
2618 * doc/c-tree.texi (SWITCH_STMT): Update accessor macro names.
2619
7a706738
AM
26202005-01-27 Alan Modra <amodra@bigpond.net.au>
2621
2622 * unwind-dw2.c (execute_stack_op): Add missing cases for
2623 DW_OP_shl, DW_OP_shr, DW_OP_shra, DW_OP_xor.
2624
fe15407d
EB
26252005-01-27 Eric Botcazou <ebotcazou@libertysurf.fr>
2626
2627 * config.gcc (Obsolete configurations): Remove 'dummy', add
2628 sparclite-*-coff*, sparclite-*-elf*, sparc86x-*-elf* and
2629 sparc-*-openbsd*.
2630
87637d21
DN
26312005-01-26 Diego Novillo <dnovillo@redhat.com>
2632
2633 PR tree-optimization/19633
2634 * tree-ssa-alias.c (ptr_is_dereferenced_by): Also handle
2635 CALL_EXPRs.
2636 (maybe_create_global_var): Do not create .GLOBAL_VAR if there
2637 are no call-clobbered variables.
2638 * tree-outof-ssa.c (check_replaceable): Return false for calls
2639 with side-effects.
2640
9ff93eb0
UW
26412005-01-26 Ulrich Weigand <uweigand@de.ibm.com>
2642
2643 * dbxout.c (dbxout_symbol_location): Resolve constant pool references
2644 even for variables with NULL DECL_INITIAL.
2645
4356a1bf
SH
26462005-01-26 Stuart Hastings <stuart@apple.com>
2647
00adda9f 2648 * gimplify.c (shortcut_cond_expr): Re-compute side-effects.
4356a1bf 2649
48cc8d3b
RH
26502005-01-26 Richard Henderson <rth@redhat.com>
2651
2652 PR middle-end/18008
2653 * c-decl.c (finish_struct): Set DECL_MODE after resetting a
2654 field's type.
2655 * expr.c (store_field): Strip conversions to odd-bit-sized types
2656 if the destination field width matches.
2657
eec6bb06
RH
26582005-01-26 Richard Henderson <rth@redhat.com>
2659
2660 * c-decl.c, expmed.c, expr.c: Revert last change.
2661
78ef1e3d
RH
26622005-01-26 Richard Henderson <rth@redhat.com>
2663
2664 PR middle-end/18008
2665 * c-decl.c (finish_struct): Set DECL_MODE after resetting a
2666 field's type.
2667 * expmed.c (store_fixed_bit_field): Create a paradoxical subreg
2668 if we don't need the bits above those present in the current mode.
2669 * expr.c (store_field): Strip conversions to odd-bit-sized types
2670 if the destination field width matches.
2671
5596990f
RS
26722005-01-26 Richard Sandiford <rsandifo@redhat.com>
2673
2674 * config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if
2675 either -ffast-math or -funsafe-math-optimizations is in use.
2676
a3cf5992
MM
26772005-01-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
2678
2679 PR target/19293
2680 PR target/19329
2681 * config/avr/avr.c (notice_update_cc): Only set condition code for
2682 ashrqi3 if shift count > 0.
2683 (out_shift_with_cnt): Handle shift count <= 0 as a no-op.
2684 (ashlqi3_out, ashlhi3_out, ashlsi3_out, ashrqi3_out, ashrhi3_out,
2685 ashrsi3_out, lshrqi3_out, lshrhi3_out, lshrsi3_out): Handle shift
2686 count <= 0 as a no-op, and shift count >= width by copying zero
2687 or sign bit to all bits of the result.
2688 * config/avr/avr.md (all shifts): Add alternatives for zero shift
2689 count, with attribute "length" set to 0 and "cc" set to "none".
2690
e4dd71de
AH
26912005-01-26 Aldy Hernandez <aldyh@redhat.com>
2692
2693 * doc/invoke.texi: Document -mTLS.
2694
2695 * testsuite/gcc.target/frv/all-tls-global-dynamic.c: New.
2696 * testsuite/gcc.target/frv/all-tls-initial-exec.c: New.
2697 * testsuite/gcc.target/frv/all-tls-initial-exec-pic.c: New.
2698 * testsuite/gcc.target/frv/all-tls-local-dynamic.c: New.
2699 * testsuite/gcc.target/frv/all-tls-local-dynamic-plt.c: New.
2700 * testsuite/gcc.target/frv/all-tls-local-dynamic-plt-pic.c: New.
2701 * testsuite/gcc.target/frv/all-tls-local-exec.c: New.
2702 * testsuite/gcc.target/frv/all-tls-local-exec-TLS.c: New.
2703
2704 * configure.ac: Check for a TLS capable gas.
2705
2706 * configure: Regenerate.
78ef1e3d 2707
55e79aef
RH
27082005-01-26 Richard Henderson <rth@redhat.com>
2709
2710 PR middle-end/18008
2711 * combine.c (make_field_assignment): Simplify store to zero_extract
2712 from a source with an overlapping mask.
2713
af30facd
AH
27142005-01-26 Aldy Hernandez <aldyh@redhat.com>
2715
2716 2004-11-11 Eric Christopher <echristo@redhat.com>
2717
ebaae582
SB
2718 * config/frv/frv.md: Add fr400_integer automaton. Don't
2719 allow TYPE_MUL, TYPE_MACC, or TYPE_CUT to issue in parallel
2720 to TYPE_MACC.
af30facd 2721
f7aa1423
SB
27222005-01-26 Steven Bosscher <stevenb@suse.de>
2723
2724 PR middle-end/16585
2725 * cfgbuild.c (make_edges): Do not clear or set
2726 current_function_has_computed_jump.
2727 * function.h (struct function): Remove the has_computed_jump field.
2728 (current_function_has_computed_jump): Do not define.
2729 * sched-rgn.c (is_cfg_nonregular): Return true if a basic block ends
2730 in a computed jump. Ignore current_function_has_computed_jump.
2731
6f642f98
RH
27322005-01-26 Richard Henderson <rth@redhat.com>
2733
2734 PR middle-end/19515
2735 * expr.c (categorize_ctor_elements): New argument p_must_clear.
2736 (categorize_ctor_elements_1): Likewise. Detect a union that isn't
2737 fully initialized.
2738 (mostly_zeros_p): Update for new categorize_ctor_elements argument.
2739 * gimplify.c (gimplify_init_constructor): Likewise. Only shove
2740 objects into static storage if they have more than one non-zero value.
2741 * tree.h (categorize_ctor_elements): Update decl.
2742
ead553a1
SB
27432005-01-26 Steven Bosscher <stevenb@suse.de>
2744
2cdc2073 2745 PR middle-end/19616
ead553a1
SB
2746 * tree.h (CALL_EXPR_TAILCALL): Add comment.
2747 * calls.c (check_sibcall_argument_overlap_1): Revert the change
2748 to this function from 2004-07-10.
2749 * tree-tailcall.c (suitable_for_tail_opt_p): Do not consider the
2750 the current function for tail call optimizations if the address
2751 of one of it its arguments is taken.
2752
75335440
KH
27532005-01-26 Kazu Hirata <kazu@cs.umass.edu>
2754
2755 * cse.c (fold_rtx): Call equiv_constant only when necessary.
2756
40184445
BS
27572005-01-26 Bernd Schmidt <bernd.schmidt@analog.com>
2758
2759 * function.c (expand_function_end): If current_function_calls_alloca,
2760 emit stack restore in a place that is reached when the function falls
2761 through at the end.
2762
144023ad
AO
27632005-01-26 Alexandre Oliva <aoliva@redhat.com>
2764
2765 * Makefile.in (../$(build_subdir)/fixincludes/fixincl): Add dummy
2766 rule to avoid matching inappropriate suffix rule.
2767
e4cf29ae
JH
27682005-01-26 Jan Hubicka <jh@suse.cz>
2769
97bd954f 2770 PR tree-optimization/19241
e4cf29ae
JH
2771 * tree-inline.c (copy_body_r): Do not walk subtrees after substituting.
2772
fe04ce06
HPN
27732005-01-26 Hans-Peter Nilsson <hp@axis.com>
2774
2775 * config/cris/cris.h (LIB_SPEC) <sim*>: Use -lsyslinux, not
2776 -lsyssim. Wrap -lc -lsyssim in --start-group --end-group instead
2777 of doubling.
2778 (STARTFILE_SPEC): Add crti.o, before crtbegin.o.
ead553a1 2779 <sim*>: Always use crt1.o, regardless of N in simN.
fe04ce06
HPN
2780 <!sim>: Drop support for -pg and -p variants; always use crt0.o.
2781 (ENDFILE_SPEC): Add crtn.o, after crtend.o.
2782 (CRT_CALL_STATIC_FUNCTION): Remove.
2783 * config/cris/aout.h (STARTFILE_SPEC): <!melinux && sim*>: Always
2784 use crt1.o, regardless of N in simN.
2785 <!sim>: Drop support for -pg and -p variants; always use crt0.o.
2786 (LIB_SPEC): Do not define; default to the one in config/cris/cris.h.
2787 (CRIS_CPP_SUBTARGET_SPEC) <melinux && !nostdinc>: Remove special
2788 case isystem setting.
2789 (MAX_OFILE_ALIGNMENT): Correct to 32, not 16.
2790
6a03afdf
ILT
27912005-01-25 Ian Lance Taylor <ian@airs.com>
2792
2793 * gimple-low.c (block_may_fallthru): Correct handling of
2794 SWITCH_EXPR--may fall through if SWITCH_LABELS is NULL.
2795
c555b47f
HPN
27962005-01-26 Hans-Peter Nilsson <hp@axis.com>
2797
2798 * config/cris/cris.h (CPP_SPEC): Adjust the various mtune=
2799 handlers to match indentation; nested under the mtune=* handler.
2800 Similar for mcpu= and march=.
2801
9841a1a7
DJ
28022005-01-25 Daniel Jacobowitz <dan@codesourcery.com>
2803
2804 * config/mips/linux.h (LIB_SPEC): Remove -rpath-link.
2805 * config/mips/linux64.h (LIB_SPEC): Likewise.
2806 * config/mn10300/linux.h (LIB_SPEC): Likewise.
2807 * config/sh/linux.h (LIB_SPEC): Likewise.
2808
bef8809e
AH
28092005-01-25 Aldy Hernandez <aldyh@redhat.com>
2810
2811 * config/frv/frv.c (frv_legitimize_tls_address): New.
2812 (TARGET_HAVE_TLS): Define.
2813 (FRV_SYMBOL_REF_TLS_P): Define.
2814 (frv_override_options): Handle new register classes.
2815 (frv_legitimate_address_p): Reject tls addresses.
2816 (frv_legitimize_address): Handle TLS addresses.
2817 (gen_inlined_tls_plt): New.
2818 (gen_tlsmoff): New.
2819 (frv_legitimize_tls_address): New.
2820 (unspec_got_name): Add TLS entries.
2821 (got12_operand): Add R_FRV_TLSMOFF12 case.
2822 (frv_emit_move): Fixup TLS addresses.
2823 (frv_emit_movsi): Legitimize TLS addresses.
2824
2825 * config/frv/frv.h (MASK_BIG_TLS): New.
2826 (TARGET_BIG_TLS): New.
2827 (HAVE_AS_TLS): Define.
2828 (TARGET_SWITCHES): Add -mTLS and -mtls options.
2829 (enum reg_class): Add GR8_REGS, GR9_REGS, GR89_REGS.
2830 (REG_CLASS_NAMES): Same.
2831 (REG_CLASS_CONTENTS): Same.
2832 (CONSTRAINT_LEN): New.
2833 (REG_CLASS_FROM_CONSTRAINT): New.
2834 (PREDICATE_CODES): Add symbolic_operand.
2835
2836 * config/frv/frv.md (define_constants): Add UNSPEC_GETTLSOFF,
2837 UNSPEC_TLS_LOAD_GOTTLSOFF12, UNSPEC_TLS_INDIRECT_CALL,
2838 UNSPEC_TLS_TLSDESC_LDD, UNSPEC_TLS_TLSDESC_LDD_AUX,
2839 UNSPEC_TLS_TLSOFF_LD, UNSPEC_TLS_LDDI, UNSPEC_TLSOFF_HILO,
2840 R_FRV_GOTTLSOFF_HI, R_FRV_GOTTLSOFF_LO, R_FRV_TLSMOFFHI,
2841 R_FRV_TLSMOFFLO, R_FRV_TLSMOFF12, R_FRV_TLSDESCHI,
2842 R_FRV_TLSDESCLO, R_FRV_GOTTLSDESCHI, R_FRV_GOTTLSDESCLO, GR8_REG,
2843 GR9_REG, GR14_REG, LRREG.
2844 (type): Add load_or_call attribute.
2845 ("load_or_call"): New reservation.
2846 ("call_gettlsoff"): New.
2847 ("tls_indirect_call"): New.
2848 ("tls_load_gottlsoff12"): New.
2849 ("tlsoff_hilo"): New.
2850 ("tls_tlsdesc_ldd"): New.
2851 ("tls_tlsoff_ld"): New.
2852 ("tls_lddi"): New.
2853
2854 * config/frv/frv-protos.h (symbolic_operand): Protoize.
2855
2856 2005-01-25 Alexandre Oliva <aoliva@redhat.com>
2857
ead553a1
SB
2858 * config/frv/frv.h (ASM_OUTPUT_DWARF_DTPREL): Define.
2859 * config/frv/frv-protos.h (frv_output_dwarf_dtprel): Declare.
2860 * config/frv/frv.c (TLS_BIAS): Define.
2861 (frv_output_dwarf_dtprel): New.
bef8809e 2862
b8e48b98
JJ
28632005-01-26 Jakub Jelinek <jakub@redhat.com>
2864
2865 PR rtl-optimization/19579
2866 * ifcvt.c (noce_try_cmove_arith): If emitting instructions to set up
2867 both A and B, see if they don't clobber registers the other expr uses.
2868
1c673473
R
28692005-01-25 J"orn Rennecke <joern.rennecke@st.com>
2870
2871 * real.c (do_add): Initialize signalling and canonical members.
2872
2873 * real.c (real_from_integer): Zero out destination.
2874
ed464869
JH
28752005-01-18 Jan Hubicka <jh@suse.cz>
2876
2877 PR tree-optimize/19337
2878 * tree-inline.c (initialize_inlined_parameters): Copy
2879 saved_static_chain_decl only.
2880
51df7179
RH
28812005-01-25 Richard Henderson <rth@redhat.com>
2882
2883 PR target/19556
2884 PR target/19584
2885 * config/i386/i386.c (x86_inter_unit_moves): Zero.
2886 (ix86_preferred_reload_class): Rewrite fp-constant section, with
2887 80387 enabled, to return a proper subclass. Return the subset that
2888 overlaps with GENERAL_REGS for PLUS.
2889 * config/i386/i386.md (movsi_1, movdi_2): Set type to "mmx" for pxor.
2890
c63f5a42
RH
28912005-01-25 Richard Henderson <rth@redhat.com>
2892
2893 PR middle-end/19609
2894 * tree-complex.c (expand_complex_div_wide): Use the correct formulae.
2895
e71c0aa7
RS
28962005-01-25 Roger Sayle <roger@eyesopen.com>
2897
2898 * expmed.c (choose_multiplier): Change interface to return the
2899 multiplier lowpart as an rtx instead of an unsigned HOST_WIDE_INT.
2900 (expand_divmod): Update calls to choose_multiplier.
2901
a6d2976a
JDA
29022005-01-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2903
2904 PR middle-end/19330
2905 * expmed.c (extract_bit_field): Use adjust_address instead of
2906 gen_lowpart when op0 is a MEM.
2907
7315a949
SB
29082005-01-24 Steven Bosscher <stevenb@suse.de>
2909
2910 * cfgexpand.c (expand_gimple_tailcall): Fix typo.
2911
c0fd73a9
RS
29122005-01-24 Richard Sandiford <rsandifo@redhat.com>
2913
2914 * config/mips/irix-csr.c: New file.
2915 * config/mips/t-iris6 (irix-csr.o): New rule to build it.
2916 (EXTRA_MULTILIB_PARTS): Add irix-csr.o.
2917 * config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64
2918 executables.
2919
81b47219
EB
29202005-01-24 Eric Botcazou <ebotcazou@libertysurf.fr>
2921
2922 PR bootstrap/19364
2923 * config.gcc (sparc-*-elf*): Remove sol2.h, sparc/sol2.h and
2924 sparc/elf.h, add sparc/sp-elf.h.
2925 (sparc-*-rtems*): Likewise.
2926 (sparclite-*-elf*): Remove sol2.h, sparc/sol2.h, sparc/elf.h and
2927 tm-dwarf2.h, add sparc/sp-elf.h.
2928 (sparc86x-*-elf): Likewise.
2929 (sparc64-*-elf*): Remove sol2.h, sparc/sol2.h and tm-dwarf2.h.
2930 * config/sparc/liteelf.h (TARGET_SUB_OS_CPP_BUILTINS): Rename into
2931 TARGET_OS_CPP_BUILTINS.
2932 * config/sparc/sp86x-elf (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
2933 * config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
2934 Undefine it.
2935 * config/sparc/openbsd64.h (NO_IMPLICIT_EXTERN_C): Undefine.
2936 * config/sparc/sp64-elf.h (NO_IMPLICIT_EXTERN_C): New macro.
2937 (SWITCH_TAKES_ARG): Likewise.
2938 (LOCAL_LABEL_PREFIX): Likewise.
2939 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2940 (TARGET_N_FORMAT_TYPES): Delete.
2941 (TARGET_FORMAT_TYPES): Likewise.
2942 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
2943 * config/sparc/elf.h: Delete.
2944 * config/sparc/sp-elf.h: New file.
2945
3a2f1f06
KH
29462005-01-24 Kazu Hirata <kazu@cs.umass.edu>
2947
2948 * tree-flow-inline.h (phi_arg_from_edge): Remove.
2949 * tree-flow.h: Remove the corresponding prototype.
2950 * tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-ssa.c,
2951 tree-vectorizer.c: Use dest_idx instead of phi_arg_from_edge.
2952
b723e82f
JJ
29532005-01-24 Jakub Jelinek <jakub@redhat.com>
2954
2955 PR target/17751
2956 * config/rs6000/rs6000.c (rs6000_file_start): Create toc section
2957 for AIX ABI or ELF -fPIC.
2958 (rs6000_emit_load_toc_table): Don't create toc_section here.
2959 (rs6000_xcoff_file_start): Nor here.
2960
1a9ce0b7
JR
29612005-01-24 J"orn Rennecke <joern.rennecke@st.com>
2962
2963 * sh.c (ra.h): Don't #include.
2964 (hard_regs_intersect_p): New function, resurrected from ra.c.
2965
2966 * sh.c: Fix 1996 Copyright.
2967
226c62c7 29682005-01-24 Richard Henderson <rth@redhat.com>
97bd954f 2969 Aldy Hernandez <aldyh@redhat.com>
226c62c7 2970
97bd954f 2971 * regrename.c (note_sets): Handle subregs.
226c62c7 2972
2429f3d4
JM
29732005-01-24 Joseph S. Myers <joseph@codesourcery.com>
2974
2975 PR bootstrap/18058
2976 * genconditions.c (write_header, write_conditions): Elide file if
2977 not GCC >= 3.0.1.
2978
deeec1d8
KH
29792005-01-24 Kazu Hirata <kazu@cs.umass.edu>
2980
2981 * c-opts.c, expmed.c, gengtype.c, tree-complex.c,
2982 config/arm/iwmmxt.md, config/avr/avr.c, config/s390/s390.h:
2983 Update copyright.
2984
7b922122
JJ
29852005-01-24 Jakub Jelinek <jakub@redhat.com>
2986
2987 * builtins.c (get_pointer_alignment, gimplify_va_arg_expr,
2988 expand_builtin_printf, expand_builtin_fprintf,
2989 expand_builtin_sprintf): Use POINTER_TYPE_P instead TREE_CODE
2990 checking against POINTER_TYPE.
2991 (validate_arglist): Handle POINTER_TYPE code by checking
2992 POINTER_TYPE_P.
2993
cf94b0fc
PB
29942005-01-24 Paolo Bonzini <bonzini@gnu.org>
2995
2996 * rtlanal.c (non_rtx_starting_operands, for_each_rtx_1,
2997 init_rtlanal): New.
2998 (for_each_rtx): Call for_each_rtx_1.
2999 * rtl.h (init_rtlanal): Declare.
3000 * toplev.c (backend_init): Call init_rtlanal.
3001
b77302be
JJ
30022005-01-24 Jakub Jelinek <jakub@redhat.com>
3003
3004 * flow.c (propagate_one_insn): Formatting.
3005
3006 PR middle-end/19551
3007 * flow.c (libcall_dead_p): Be more conservative if unsure.
3008 If there are any instructions between insn and call, see if they are
3009 all dead before saying the libcall is dead.
3010
11c56af5
UB
30112005-01-24 Uros Bizjak <uros@kss-loka.si>
3012
3013 * config/i386/i386.md (*extendsfdf2_sse): Use "nonimmediate_operand"
3014 operand constraint for operand 0.
3015
520f34fa
RH
30162005-01-23 Richard Henderson <rth@redhat.com>
3017
3018 PR 19486
3019 * tree-complex.c (expand_complex_div_wide): Set EDGE_FALLTHRU on
3020 edges leading to join block.
3021
0d282692
RS
30222005-01-23 Roger Sayle <roger@eyesopen.com>
3023
3024 * expmed.c (expand_mult_highpart): Make static. Change type of
3025 constant multiplier argument from unsigned HOST_WIDE_INT to rtx.
3026 (expand_divmod): Updates calls to expand_mult_highpart by using
3027 gen_int_mode to pass a CONST_INT rtx.
3028 * rtl.h (expand_mult_highpart): Remove prototype.
3029
edd517b1
KH
30302005-01-23 Kazu Hirata <kazu@cs.umass.edu>
3031
3032 * flow.c (regset_bytes, regset_size): Remove.
3033
708bde14
KH
3034 * cfganal.c: Fix a reference to Harvey's paper.
3035
85840349
SB
30362005-01-23 Steven Bosscher <stevenb@suse.de>
3037
3038 PR rtl-optimization/19464
3039 * tree-optimize.c (init_tree_optimization_passes): Add one more
3040 copyrename pass just before out-of-ssa.
3041
9fcdd891
JM
30422005-01-23 Joseph S. Myers <joseph@codesourcery.com>
3043
3044 PR bootstrap/18058
3045 * recog.c (recog_memoized): Don't define if GENERATOR_FILE.
3046 * ggc-none.c (ggc_free): Define.
3047
d0754bc6
KH
30482005-01-23 Kazu Hirata <kazu@cs.umass.edu>
3049
3050 * cse.c (max_reg, max_insn_uid): Remove.
3051 (cse_main): Don't access max_reg or max_insn_uid.
3052
f3b303fd
KH
3053 * c-common.c (explicit_flag_signed_bitfields,
3054 lang_statement_code_p, lang_expand_function_end): Remove.
3055 * c-common.h: Remove the corresponding declarations.
3056 * c-opts.c (c_common_handle_option): Remove all write access
3057 to explicit_flag_signed_bitfields.
3058
15f0d971
KH
3059 * cgraph.c (cgraph_varpool_n_nodes): Remove.
3060 (cgraph_varpool_node): Don't access cgraph_varpool_n_nodes.
3061 * cgraph.h: Remove the corresponding declaration.
3062
6d77cdc3
KH
3063 * gcse.c (null_pointer_info): Remove.
3064
b9750434
RS
30652005-01-23 Roger Sayle <roger@eyesopen.com>
3066 Eric Botcazou <ebotcazou@libertysurf.fr>
3067
3068 * combine.c (simplify_logical): Only simplify logical expressions
3069 of the form ior(and(x,y),z) by the inverse distributive law if the
3070 result is cheaper than the original.
3071
35fd3193
KH
30722005-01-23 Kazu Hirata <kazu@cs.umass.edu>
3073
3074 * alias.c, c-common.h, c-incpath.c, c-incpath.h, expr.c,
3075 fold-const.c, gimplify.c, params.h, tree-data-ref.c,
3076 tree-if-conv.c, tree-nested.c, tree-outof-ssa.c,
3077 tree-ssa-dom.c, tree-vectorizer.c, tree.def, config/darwin.c,
3078 config/freebsd-spec.h, config/arm/arm.h,
3079 config/h8300/h8300.md, config/i386/i386.md,
3080 config/i386/predicates.md, config/i386/sse.md,
3081 config/ia64/ia64.c, config/ip2k/ip2k.c, config/s390/s390.c,
3082 config/vax/vax.md: Fix comment typos. Follow spelling
3083 conventions.
3084
a62a0172
SB
30852005-01-23 Steven Bosscher <stevenb@suse.de>
3086
3087 * gengtype.c (walk_type): Produce `not equal to' compares for loop
3088 tests, instead of `less than'.
3089
a561d88b
RS
30902005-01-23 Richard Sandiford <rsandifo@redhat.com>
3091
3092 * function.c (assign_parm_setup_block): When creating a new stack slot
3093 for a parameter, get its alignment from the parameter's DECL_ALIGN
3094 rather than the type's TYPE_ALIGN. Make sure that the parameter
3095 is at least word aligned.
3096
d2ebe27c
RS
30972005-01-22 Roger Sayle <roger@eyesopen.com>
3098
3099 PR middle-end/19378
3100 * config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite.
3101
a059cdb8
RH
31022005-01-22 Richard Henderson <rth@redhat.com>
3103
3104 PR target/19506
3105 * config/i386/i386.md (movsfcc_1_sse_max): Use nonimmediate_operand
3106 in both compare operands.
3107 (movdfcc_1_sse_max): Likewise.
3108 (movsfcc_1_sse): Likewise. Add earlyclobber for scratch.
3109 (movdfcc_1_sse): Likewise.
3110 * config/i386/i386.c (ix86_split_sse_movcc): Emit copies into the
3111 scratch register as needed.
3112
eabd294f
RH
31132005-01-22 Richard Henderson <rth@redhat.com>
3114
b8f06586
RH
3115 * config/i386/i386.md (smaxsf3): Fix mnemonic typo.
3116
eabd294f
RH
3117 * config/i386/i386.c (ix86_prepare_fp_compare_args): Fix is_sse test.
3118
5ccbd309
RH
31192005-01-22 Richard Henderson <rth@redhat.com>
3120
3121 * genopinit.c (optabs): Use smin/smax for floating point too.
3122 * doc/md.texi: Update to match. Clarify that floating point
3123 results are undefined for +0/-0 and NaN.
3124 * doc/rtl.texi: Likewise.
3125 * rtl.def (SMIN, SMAX): Likewise
3126 * tree.def (MIN_EXPR, MAX_EXPR): Likewise.
3127
3128 * config/alpha/alpha.md (smaxdf3, smindf3, smaxsf3, sminsf3): Add
3129 leading 's' to the name.
3130 * config/ia64/ia64.md (smaxsf3, sminsf3, smaxdf3, smindf3,
3131 smaxxf3, sminxf3): Likewise.
3132 * config/rs6000/rs6000.md (smaxdf3, smindf3, smaxsf3, sminsf3):
3133 Likewise.
3134
b4b2332c
PB
31352005-01-22 Paul Brook <paul@codesourcery.com>
3136
3137 * config/arm/arm.md: Use "Uy" constraint for wcgr load/stores.
3138
6fa5b390
MD
31392005-01-21 Mark Dettinger <dettinge@de.ibm.com>
3140
2cdc2073 3141 * config/s390/s390.c (struct processor_costs): New fields
6fa5b390
MD
3142 dlgr, dlr, dr, dsgfr, dsgr.
3143 (z900_cost, z990_cost): Values for new fields.
3144 (s390_rtx_costs): New cases MEM und COMPARE in switch
3145 statement. Modified handling of SIGN_EXTEND, ZERO_EXTEND,
3146 DIV, MOD, UDIV, UMOD.
3147
eb862a88
UW
31482005-01-21 Ulrich Weigand <uweigand@de.ibm.com>
3149
3150 * config/s390/s390.md ("doloop_si64"): Reload input value directly
3151 into the register being decremented.
3152 ("doloop_si31", "doloop_di"): Likewise.
3153 ("*doloop_si_long"): Adapt pattern.
3154
3776ada0
UW
31552005-01-21 Ulrich Weigand <uweigand@de.ibm.com>
3156
3157 * config/s390/s390.h (HARD_REGNO_NREGS): Fix computation for
3158 access registers.
3159 (CLASS_MAX_NREGS): Likewise.
3160
d7c71ee3
DB
31612005-01-21 Daniel Berlin <dberlin@dberlin.org>
3162
3163 * doc/tree-ssa.texi (Statement Operands): Add example for new
3164 must-def macro. Note deprecation of old operands interface.
3165
d7f3fc19
RS
31662005-01-22 Richard Sandiford <rsandifo@redhat.com>
3167
3168 PR tree-optimization/19484
3169 * tree-cfg.c (remove_fallthru_edge): New function.
3170 (cleanup_control_flow): Remove fallthru edges from calls that are
3171 now known not to return.
3172
111e0c9f
DB
31732005-01-20 Daniel Berlin <dberlin@dberlin.org>
3174
3175 Fix PR tree-optimization/19038
3176 * tree-ssa-dom.c (cprop_operand): Don't replace loop invaeriant
3177 copies with loop variant ones.
3178
1e052c19
KH
31792005-01-22 Kazu Hirata <kazu@cs.umass.edu>
3180
3181 * cfganal.c, real.h, reorg.c, timevar.def, tree-ssa-ccp.c,
3182 config/alpha/alpha-protos.h, config/alpha/alpha.h,
3183 config/alpha/alpha.md, config/alpha/predicates.md,
3184 config/sparc/freebsd.h, config/sparc/netbsd-elf.h,
3185 config/sparc/sol2.h: Update copyright.
3186
28773f15
KH
3187 * tree-cfg.c (remove_forwarder_block_with_phi): Look at the
3188 first label to see if it is a nonlocal label.
3189
1e052c19 31902005-01-22 David Edelsohn <edelsohn@gnu.org>
ead553a1 3191 Andrew Pinski <pinskia@physics.uc.edu>
987732e0
DE
3192
3193 PR target/19491
3194 * config/rs6000/rs6000.c (rs6000_va_start): Saturate n_gpr at
3195 maximum number of GPRs. Saturate n_fpr at maximum number of FPRs.
3196
80d15bce
RC
31972005-01-22 Ralf Corsepius <ralf.corsepius@rtems.org>
3198
3199 * config/rs6000/rtems.h: Update copyright.
3200
b9d13999
RC
32012005-01-22 Ralf Corsepius <ralf.corsepius@rtems.org>
3202
3203 PR target/19548
3204 * config/rs6000/rtems.h: Resurrect cpp_os_rtems_spec from gcc < 3.4.
3205 (CPP_OS_RTEMS_SPEC): New (From gcc-3.3's config/rs6000/sys4.h).
3206 (SUBSUBTARGET_EXTRA_SPECS): Use CPP_OS_RTEMS_SPEC.
3207
20913689
VR
32082005-01-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3209
3210 PR c/18809
3211 * c-typeck.c (convert_arguments): Check for error_mark_node.
3212
1e052c19 32132005-01-21 Ian Lance Taylor <ian@airs.com>
089efaa4
ILT
3214
3215 PR tree-optimization/13000
3216 * tree-inline.c: Include "tree-flow.h".
3217 (expand_call_inline): If warn_return_type, warn if non-void inline
3218 function falls through.
3219 * tree-cfg.c (execute_warn_function_return): Don't warn about
3220 control reaching end if TREE_NO_WARNING is set. Set
3221 TREE_NO_WARNING.
3222 * gimple-low.c (block_may_fallthru): Don't assume that SWITCH_EXPR
3223 has been lowered.
3224 * gimplify.c (shortcut_cond_expr): Don't emit a jump over the else
3225 branch if we don't need one.
3226 * c-typeck.c: Include "tree-flow.h"
3227 (c_finish_bc_stmt): Don't add a goto if the current statement
3228 list doesn't fall through to the current point.
3229
d284eb28
RS
32302005-01-21 Roger Sayle <roger@eyesopen.com>
3231
3232 PR rtl-optimization/576
3233 * real.c (real_arithmetic): Change return type from void to bool
3234 to return an indication that the result may be inexact.
3235 * real.h (real_arithmeric): Update prototype.
3236 * fold-const.c (const_binop): Don't constant fold floating
3237 point expressions when the user specifies -frounding-math and
3238 the result may depend upon the run-time rounding mode.
3239 (fold_convert_const_real_from_real): Clean-up.
3240 (fold_initializer): Ignore flag_rounding_math for initializers.
3241 * simplify-rtx.c (simplify_binary_operation): Likewise, don't
3242 constant fold FP operations with flag_rounding_math if the
3243 result may depend upon the run-time rounding mode.
3244
a101957b
TT
32452005-01-21 Tom Tromey <tromey@redhat.com>
3246
3247 * c-cppbuiltin.c (define__GNUC__): Correct assertion.
3248
a85ba5a8
KH
32492005-01-21 Kazu Hirata <kazu@cs.umass.edu>
3250
3251 * tree-cfg.c: Fix comment typos.
3252
5b5e3a31
R
32532005-01-21 J"orn Rennecke <joern.rennecke@st.com>
3254
3255 * passes.c (rest_of_handle_flow2): Close / open the flow2 dump file
3256 around the call to rest_of_handle_branch_target_load_optimize.
3257
0b85af22
EB
32582005-01-21 Eric Botcazou <ebotcazou@libertysurf.fr>
3259
3260 * config.gcc (sparc-*-netbsdelf*): Include dbxelf.h
3261 (sparc64-*-openbsd*): Likewise.
3262 (sparclite-*-elf*): Include tm-dwarf2.h.
3263 (sparc86x-*-elf*): Likewise.
3264 (sparc64-*-elf*): Likewise.
3265 * config/sparc/linux64.h (DWARF2_DEBUGGING_INFO): Delete.
3266 (DBX_DEBUGGING_INFO): Likewise.
3267 * config/sparc/liteelf.h (DWARF2_DEBUGGING_INFO): Likewise.
3268 (PREFERRED_DEBUGGING_TYPE): Likewise.
3269 * config/sparc/netbsd-elf.h (PREFERRED_DEBUGGING_TYPE): Likewise.
3270 * config/sparc/sp64-elf.h (DBX_DEBUGGING_INFO): Likewise.
3271 (PREFERRED_DEBUGGING_TYPE): Likewise.
ac11d73b 3272 * config/sparc/sp86x-elf.h (DWARF2_DEBUGGING_INFO): Likewise.
0b85af22
EB
3273 (PREFERRED_DEBUGGING_TYPE): Likewise.
3274 * config/sparc/sparc.h (DBX_DEBUGGING_INFO): Likewise.
3275
3eacd71f
HPN
32762005-01-21 Hans-Peter Nilsson <hp@bitrange.com>
3277
3278 PR target/18701
3279 * combine.c (combine_simplify_rtx): Revert change of 2004-12-31.
3280
eacf8912
PB
32812005-01-20 Paul Brook <paul@codesourcery.com>
3282
3283 * doc/rtl.texi: Document value extension requirements for CONST_INT.
3284
548414c6
KH
32852005-01-20 Kazu Hirata <kazu@cs.umass.edu>
3286
3287 * tree-cfg.c (tree_verify_flow_info): Check that a nonlocal
3288 label is first in a sequence of labels.
3289
cde68236
KH
3290 * tree-cfg.c (tree_verify_flow_info): Fix a typo.
3291
35fdf04e
JJ
32922005-01-20 Janis Johnson <janis187@us.ibm.com>
3293 Giovanni Bajo <giovannibajo@gcc.gnu.org>
3294
3295 * doc/sourcebuild.texi (Test Directives): New.
3296
8ffeac67
RS
32972005-01-20 Roger Sayle <roger@eyesopen.com>
3298
3299 * real.c (real_floor): Don't leave the result uninitialized when
3300 mode is VOIDMode, but return the unrounded intermediate value.
3301 (real_ceil): Likewise.
3302
07ff6dac 33032005-01-20 Paul Brook <paul@codesourcery.com>
b65e6318
PB
3304
3305 * config/arm/arm.md (insv): Use gen_int_mode.
3306
62da8647
EB
33072005-01-20 Eric Botcazou <ebotcazou@libertysurf.fr>
3308
3309 * config/sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABELREF): Delete.
3310 * config/sparc/linux.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
3311 * config/sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
3312 * config/sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
3313 * config/sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
3314
3c46c513
DB
33152005-01-20 Daniel Berlin <dberlin@dberlin.org>
3316
3317 Fix PR debug/19124
3318 * dwarf2out.c (concat_loc_descriptor): We don't know we can use
3319 fbreg, so we have to assume we can't.
3320 (loc_descriptor_from_tree_1): Ditto.
3321 (containing_function_has_frame_base): New function.
3322 (add_location_or_const_value_attribute): Use it.
3323 Also try to generate a frame_base from a single element location
3324 list.
2cdc2073 3325
23ab2e4e
KH
33262005-01-20 Kazu Hirata <kazu@cs.umass.edu>
3327
3328 PR tree-optimization/15349
3329 * timevar.def (TV_TREE_MERGE_PHI): New.
3330 * tree-cfg.c (tree_forwarder_block_p): Add a new argument
3331 PHI_WANTED.
3332 (remove_forwarder_block, cleanup_forwarder_blocks): Adjust the
3333 calls to tree_forwarder_block_p.
3334 (remove_forwarder_block_with_phi, merge_phi_nodes,
3335 gate_merge_phi, pass_merge_phi): New.
3336 * tree-optimize.c (init_tree_optimization_passes): Add
3337 pass_merge_phi.
3338 * tree-pass.h: Add an extern for pass_merge_phi;
3339
edd5b7da
RH
33402005-01-20 Richard Henderson <rth@redhat.com>
3341
3342 PR target/19418
3343 * config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128): New.
3344 (_mm_castps_pd, _mm_castps_si128): New.
3345 (_mm_castsi128_ps, _mm_castsi128_pd): New.
3346
0f2698d0
RH
33472005-01-20 Richard Henderson <rth@redhat.com>
3348
3349 PR target/19530
3350 * config/i386/mmintrin.h (_mm_cvtsi32_si64): Use
3351 __builtin_ia32_vec_init_v2si.
3352 (_mm_cvtsi64_si32): Use __builtin_ia32_vec_ext_v2si.
3353 * config/i386/i386.c (IX86_BUILTIN_VEC_EXT_V2SI): New.
3354 (ix86_init_mmx_sse_builtins): Create it.
3355 (ix86_expand_builtin): Expand it.
3356 (ix86_expand_vector_set): Handle V2SFmode and V2SImode.
3357 * config/i386/mmx.md (vec_extractv2sf_0, vec_extractv2sf_1): New.
3358 (vec_extractv2si_0, vec_extractv2si_1): New.
3359
6b79c03c
RH
33602005-01-20 Richard Henderson <rth@redhat.com>
3361
58b03a2d 3362 PR target/16533
6b79c03c
RH
3363 * config/i386/i386.c (ix86_expand_push): New.
3364 * config/i386/mmx.md (push<MMXMODE>1): New.
3365 * config/i386/sse.md (push<SSEMODE>1): New.
3366 * config/i386/i386-protos.h: Update.
3367
e42febca
KH
33682005-01-20 Kazu Hirata <kazu@cs.umass.edu>
3369
3370 * params.def, params.h, predict.c, tree-ssa-loop-im.c: Update
3371 copyright.
3372
f4770271
RH
33732005-01-20 Richard Henderson <rth@redhat.com>
3374
3375 * rtl.def (CONST_VECTOR): Use RTX_CONST_OBJ.
3376 * rtl.h (CONSTANT_P): Don't special case CONST_VECTOR.
3377
b4bb3199
RH
33782005-01-19 Richard Henderson <rth@redhat.com>
3379
3380 PR target/19350
3381 * config/i386/i386.c (ix86_expand_vector_move_misalign): Convert
3382 to V4SFmode in SSE1 fallback load path.
3383
ceda96fc
RH
33842005-01-19 Richard Henderson <rth@redhat.com>
3385
3386 * config/i386/i386.c (ix86_expand_vector_init_one_var): Fix typo
3387 in QImode expansion to ix86_expand_vector_set.
3388 (ix86_expand_vector_init_general): Fix typo in V8HImode recursive call.
3389
f75959a6
RH
33902005-01-19 Richard Henderson <rth@redhat.com>
3391
3392 PR target/19511
3393 * config/i386/i386.c (ix86_preferred_reload_class): Return a proper
3394 subclass of the input class.
3395 (ix86_secondary_memory_needed): Always true for cross-MMX classes.
3396 Always true for cross-SSE1 classes. Rationalize conditionals.
3397 * config/i386/i386.h (SSE_CLASS_P, MMX_CLASS_P): Use straight equality.
3398 * config/i386/i386.md (movsi_1): Add MMX/SSE zeros. Fix alternatives
3399 for SSE1. Don't check TARGET_INTER_UNIT_MOVES.
3400 (movdi_2): Add MMX/SSE zeros.
3401 (movdi_1_rex64): Likewise. Don't check TARGET_INTER_UNIT_MOVES.
3402 (movsf_1): Don't check TARGET_INTER_UNIT_MOVES.
3403 (zero_extendsidi2_32, zero_extendsidi2_rex64): Likewise.
3404 (movsi_1_nointernunit, movdi_1_rex64_nointerunit): Remove.
3405 (movsf_1_nointerunit, zero_extendsidi2_32_1): Remove.
3406 (zero_extendsidi2_rex64_1): Remove.
3407 (MOV0 peephole): Check GENERAL_REG_P.
3408
b100079f
RH
34092005-01-19 Richard Henderson <rth@redhat.com>
3410
3411 PR target/19427
3412 * config/i386/i386.c (ix86_expand_vector_set): Fix third and fourth
3413 shufps elements.
3414 (ix86_expand_vector_extract): Likewise.
3415
539eaa3a
RH
34162005-01-19 Richard Henderson <rth@redhat.com>
3417
3418 PR middle-end/19304
3419 * expr.c (emit_move_change_mode): New argument force; use
3420 simplify_gen_subreg if true.
3421 (emit_move_via_alt_mode): Merge into ...
3422 (emit_move_via_integer): ... here.
3423 (emit_move_ccmode): Use emit_move_change_mode directly.
3424
72910a0b
RH
34252005-01-19 Richard Henderson <rth@redhat.com>
3426
3427 PR target/19518
3428 * config/alpha/alpha.c (alpha_rtx_costs): Handle HIGH.
3429 (alpha_preferred_reload_class): Handle CONST_VECTOR.
3430 (alpha_emit_set_const_1): Add no_output parameter; don't emit
3431 rtl if true.
3432 (alpha_emit_set_const): Likewise. Make static.
3433 (alpha_emit_set_long_const): Make static.
3434 (alpha_extract_integer): Split out from alpha_expand_mov.
3435 (alpha_split_const_mov): Likewise.
3436 (alpha_expand_mov): Use them. Handle CONST_VECTOR.
3437 (alpha_legitimate_constant_p): New.
3438 * config/alpha/alpha-protos.h: Update.
3439 * config/alpha/alpha.h (REGISTER_MOVE_COST): Correct fp<->gp cost.
3440 (LEGITIMATE_CONSTANT_P): Re-implement with a function.
3441 * config/alpha/alpha.md (movsi): Add n alternative.
3442 (movsi_nt_vms, movdi_er_nofix, movdi_er_fix, movdi_fix): Likewise.
3443 (mov<VEC>_fix, mov<VEC>_nofix): Add i alternative.
3444 (splitters for all of the above): Use alpha_split_const_mov.
3445 * config/alpha/predicates.md (non_add_const_operand): New.
3446 (non_zero_const_operand): New.
3447 (input_operand): Use alpha_legitimate_constant_p after reload.
3448
4366cf6d
ZD
34492005-01-19 Zdenek Dvorak <dvorakz@suse.cz>
3450
3451 PR tree-optimization/19038
3452 * tree-ssa-loop-ivopts.c (allow_ip_end_pos_p): New function.
3453 (add_candidate): Add ivs with increment in latch only if
3454 allow_ip_end_pos_p is true.
3455 (determine_iv_cost): Use empty_block_p.
3456
4c7f5fea
DB
34572005-01-19 Daniel Berlin <dberlin@dberlin.org>
3458
3459 * cfganal.c (compute_dominance_frontiers_1): Replace with new algorithm
3460 (compute_dominance_frontiers): Ditto.
3461
be33b729
RC
34622005-01-19 Ralf Corsepius <ralf.corsepius@rtems.org>
3463
3464 PR target/19529
2cdc2073 3465 * config/sh/t-rtems: New.
be33b729
RC
3466 * config.gcc (sh-*-rtems*): Reflect having added config/sh/t-rtems.
3467
53dba802
ZD
34682005-01-19 Zdenek Dvorak <dvorakz@suse.cz>
3469
3470 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Always subtract
3471 the offset of the selected field.
3472
04d38c3b
KH
34732005-01-19 Kazu Hirata <kazu@cs.umass.edu>
3474
3475 * tree-cfg.c (remove_forwarder_block): Fix the check to
3476 prevent a nonlocal label from appearing in the middle of a
3477 basic block.
3478
09f9e288
HPN
34792005-01-19 Hans-Peter Nilsson <hp@axis.com>
3480
3481 PR rtl-optimization/19462
3482 * reorg.c (find_end_label): Create return insn only if
3483 current_function_epilogue_delay_list is empty.
3484
625d4524
PB
34852005-01-19 Paolo Bonzini <bonzini@gnu.org>
3486
3487 * doc/passes.texi: Remove paragraph mentioning new-ra.
3488
e89be13b
JJ
34892005-01-19 Jakub Jelinek <jakub@redhat.com>
3490
49c3b9a8
JJ
3491 PR rtl-optimization/15139
3492 * combine.c: Include params.h.
3493 (count_rtxs): New function.
3494 (record_value_for_reg): If replace_rtx would replace at least
3495 2 occurrences of REG in VALUE and TEM is really large, replace REG with
3496 (clobber (const_int 0)) instead of TEM.
3497 * params.def (PARAM_MAX_LAST_VALUE_RTL): New.
3498 * params.h (MAX_LAST_VALUE_RTL): New.
3499 * Makefile.in (combine.o): Depend on $(PARAMS_H).
3500 * doc/invoke.texi (--param max-last-value-rtl=N): Document.
3501
e89be13b
JJ
3502 PR c/17297
3503 * c-typeck.c (digest_init): Only call build_vector if all constructor
3504 elements are *_CST nodes.
3505 * gimplify.c (gimplify_init_constructor): Likewise.
3506
3507 PR middle-end/19164
3508 * c-typeck.c (digest_init): Only call build_vector if inside_init
3509 is a CONSTRUCTOR.
3510
d74e09c6
TS
35112005-01-18 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
3512
3513 * toplev.c (init_asm_output): Remove dead #ifdef.
3514
e35b30c7
KK
35152005-01-18 Kaz Kojima <kkojima@gcc.gnu.org>
3516
3517 * config/sh/linux.h (TARGET_C99_FUNCTIONS): Define.
3518
8c96cd51
EB
35192005-01-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3520
3521 * calls.c (expand_call): Check DECL_BUILT_IN_CLASS before
3522 accessing DECL_FUNCTION_CODE.
3523 * dojump.c (do_jump): Likewise.
3524 * gimplify.c (gimplify_call_expr): Likewise.
3525 * predict.c (expr_expected_value): Likewise.
3526 (strip_builtin_expect): Likewise.
3527 * tree-inline.c (estimate_num_insns_1): Likewise.
3528 * tree-ssa-loop-im.c (stmt_cost): Likewise
3529 * fold-const.c (fold): Test for BUILT_IN_NORMAL.
3530 (tree_expr_nonnegative_p): Likewise.
3531
eb7a7903
EB
35322005-01-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3533
3534 * config/sparc/sparc.c (load_pic_register): Emit the appropriate
3535 variant of the load_pcrel_sym pattern.
3536 * config/sparc/sparc.md (P macro): Move to the top.
3537 (load_pcrel_sym): Macroize using P.
3538 (save_register_window): Likewise.
3539
7836a61f
AH
35402005-01-18 Aldy Hernandez <aldyh@redhat.com>
3541
3542 * config/rs6000/rs6000.md ("sunordered"): Disable for e500.
3543 ("sordered"): Same.
3544
b4c33883
AP
35452005-01-18 Andrew Pinski <pinskia@physics.uc.edu>
3546
3547 PR C/19472
3548 * c-typeck.c (build_asm_expr): Strip nops off
3549 input memory operands.
3550
56015cee
DE
35512005-01-18 David Edelsohn <edelsohn@gnu.org>
3552
3553 * config/rs6000/aix43.h (CPLUSPLUS_CPP_SPEC): Delete
3554 _XOPEN_SOURCE, _XOPEN_SOURCE_EXTENDED, _LARGE_FILE_API.
3555 * config/rs6000/aix51.h (CPLUSPLUS_CPP_SPEC): Same.
3556 * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Same.
3557
de004e6d
JS
35582005-01-18 Joel Sherrill <joel.sherrill@oarcorp.com>
3559
3560 PR target/19379
3561 * config/i386/i386.c (override_options): If the 80387 is disabled,
3562 then do not return FP values using FP registers.
3563
ad616de1
KH
35642005-01-18 Kazu Hirata <kazu@cs.umass.edu>
3565
3566 * basic-block.h, c-common.c, c-cppbuiltin.c, c-lang.c,
3567 c-tree.h, cfgbuild.c, cgraph.c, cgraph.h, collect2.c,
3568 combine.c, config.gcc, coverage.h, cse.c, cselib.c,
3569 defaults.h, df.c, dwarf2asm.c, dwarf2out.c, explow.c, expr.c,
3570 flow.c, fold-const.c, gcse.c, ggc-page.c, gimple-low.c,
3571 gimplify.c, ifcvt.c, langhooks-def.h, lcm.c, optabs.h,
3572 output.h, postreload-gcse.c, postreload.c, recog.c,
3573 resource.c, rtl.def, rtlanal.c, sched-deps.c, sched-rgn.c,
3574 targhooks.h, toplev.c, tree-data-ref.c, tree-eh.c,
3575 tree-flow.h, tree-loop-linear.c, tree-mudflap.h, tree-nrv.c,
3576 tree-optimize.c, tree-outof-ssa.c, tree-pass.h,
3577 tree-scalar-evolution.c, tree-ssa-copy.c, tree-ssa-dce.c,
3578 tree-ssa-dse.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c,
3579 tree-ssa-pre.c, tree-ssa.c, tree-vectorizer.c, tree.def,
3580 unwind-dw2-fde-darwin.c, var-tracking.c: Update copyright.
3581
5b86a469
KH
3582 * config/darwin.c, config/darwin.h, config/freebsd-spec.h,
3583 config/alpha/alpha.c, config/arm/vfp.md,
3584 config/i386/emmintrin.h, config/i386/i386-modes.def,
3585 config/i386/i386-protos.h, config/i386/i386.h,
3586 config/i386/pmmintrin.h, config/i386/ppro.md,
3587 config/i386/predicates.md, config/i386/xmmintrin.h,
3588 config/i860/i860.c, config/ia64/ia64-modes.def,
3589 config/ia64/ia64-protos.h, config/ia64/ia64.h,
3590 config/ia64/ia64.md, config/ia64/itanium1.md,
3591 config/ia64/itanium2.md, config/ia64/predicates.md,
3592 config/iq2000/iq2000.h, config/mips/linux64.h,
3593 config/rs6000/aix41.h, config/rs6000/aix43.h,
3594 config/rs6000/aix52.h, config/rs6000/darwin-fallback.c,
3595 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
3596 config/rs6000/spe.md, config/sh/sh.md, config/sparc/linux.h,
3597 config/sparc/linux64.h, config/sparc/litecoff.h,
3598 config/sparc/sp64-elf.h, config/sparc/sparc.c,
3599 config/sparc/sparc.h, config/sparc/sparc.md,
3600 config/sparc/sysv4-only.h: Update copyright.
3601
51d7bae6
RH
36022005-01-18 Richard Henderson <rth@redhat.com>
3603
3604 PR target/19496
3605 * config/i386/i386.c (ix86_expand_fp_movcc): Fail for LTGT and UNEQ.
3606
f5975bd5
ME
36072005-01-18 Marc Espie <espie@openbsd.org>
3608 * config/i386/openbsdelf.h: Typo.
3609
9f61886e
RH
36102005-01-18 Richard Henderson <rth@redhat.com>
3611
3612 * config/i386/i386.c (ix86_expand_fp_movcc): Remove TARGET_IEEE_FP
3613 special case for sse.
3614 * config/i386/predicates.md (sse_comparison_operator): Likewise.
3615
16630a2c
DN
36162005-01-18 Dorit Naishlos <dorit@il.ibm.com>
3617
3618 * tree-inline.c (estimate_num_insns_1): Added cases for
3619 ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF, and REALIGN_LOAD_EXPR.
3620
f917ae96
EB
36212005-01-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3622
3623 PR rtl-optimization/19296
3624 * combine.c (simplify_comparison): Rewrite the condition under
3625 which a non-paradoxical SUBREG of a PLUS can be lifted when
3626 compared against a constant.
3627
06da3c24
AK
36282005-01-18 Andi Kleen <ak@muc.de>
3629
3630 * c-typeck.c: (convert_for_assignment): Check warn_pointer_sign.
3631 * c.opt (-Wpointer-sign): Add.
3632 * doc/invoke.texi: (-Wpointer-sign): Add.
3633
ded1c605
UB
36342005-01-18 Uros Bizjak <uros@kss-loka.si>
3635
3636 * config/i386/i386.c (override_options): Revert 2004-11-24 change.
3637 * config/i386/i386.md (fmodsf3, dremsf3, *sinsf2, *cossf2, sincossf3,
3638 *tansf3_1, tansf2, atan2sf3_1, atan2sf3, atansf2, asinsf2, acossf2,
3639 logsf2, log10sf2, log2sf2, log1psf2, logbsf2, ilogbsf2, expsf2,
3640 exp10sf2, exp2sf2, expm1sf2, rintsf2, floorsf2, ceilsf2, btruncsf2,
3641 nearbyintsf2): Disable for TARGET_SSE_MATH. Leave patterns enabled
3642 for TARGET_MIX_SSE_I387.
3643 (fmoddf3, dremdf3, *sindf2, *sinextendsfdf2, *cosdf2, *cosextendsfdf2,
3644 sincosdf3, *sincosextendsfdf3, *tandf3_1, tandf2, atan2df3_1,
3645 atan2df3, atandf2, asindf2, acosdf2, logdf2, log10df2, log2df2,
3646 log1pdf2, logbdf2, expdf2, exp10df2, exp2df2, expm1df2, rintdf2,
3647 floordf2, ceildf2, btruncdf2, nearbyintdf2): Disable for
3648 (TARGET_SSE2 && TARGET_SSE_MATH). Leave patterns enabled for
3649 TARGET_MIX_SSE_I387.
3650 (atan2sf3, atan2df3, atan2xf3): Remove register constraints
3651 from expander.
3652
d0405259
UB
36532005-01-18 Uros Bizjak <uros@kss-loka.si>
3654
3655 PR target/19424
3656 * config/i386/mmx.md (*movv2sf_internal_rex64, *movv2sf_internal):
3657 Add movaps alternative for xmm reg->reg move.
3658
0bd65483
JL
36592005-01-17 Jeff Law <law@redhat.com>
3660
3661 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Clear SSA_NAME_VALUE
3662 at the end of the main DOM loop rather than just before DOM exits.
3663
e03a46f5
DN
36642005-01-17 Diego Novillo <dnovillo@redhat.com>
3665
3666 PR tree-optimization/19121
3667 * tree-ssa-alias.c (compute_flow_sensitive_aliasing): When
3668 adding aliases to a name tag, also add them to the pointer's
3669 type tag.
3670 * tree-ssa-copy.c (merge_alias_info): Do not merge flow
3671 sensitive alias info at all. Only check that the two pointers
3672 have compatible pointed-to sets.
3673 * tree-ssa.c (verify_name_tags): Verify that the alias set of
3674 a pointer's type tag is a superset of the alias set of the
3675 pointer's name tag.
3676
696a2ca1
JW
36772005-01-17 James E Wilson <wilson@specifixinc.com>
3678
3679 PR target/19357
3680 * config/ia64/ia64.md (movxf): Handle general register source. Adjust
3681 comment to document why.
3682
115a33c2
RH
36832005-01-17 Richard Henderson <rth@redhat.com>
3684
3685 * config/i386/sse.md (smaxv4sf3_finite, sse_vmsmaxv4sf3_finite,
3686 sminv4sf3_finite, sse_vmsminv4sf3_finite, smaxv2df3_finite,
3687 sse2_vmsmaxv2df3_finite, sminv2df3_finite,
3688 sse2_vmsminv2df3_finite): New.
3689 (smaxv4sf3, sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, smaxv2df3,
3690 sse2_vmsmaxv2df3, sminv2df3, sse2_vmsminv2df3): Remove commutative.
3691 Force op1 into register.
3692
ded73657
KC
36932005-01-17 Kelley Cook <kcook@gcc.gnu.org>
3694
3695 * Makefile.in (STAGEMOVESTUFF): Stage all the stamp files to prevent
3696 bubblestrap from always rebuilding build directory.
3697
d4f52f0e
UW
36982005-01-17 Ulrich Weigand <uweigand@de.ibm.com>
3699
3700 * config/s390/s390.md ("*clc"): Remove incorrect '='.
3701 ("*cmpmem_short"): Likewise.
3702
740ce53d
SB
37032005-01-17 Steven Bosscher <stevenb@suse.de>
3704
3705 * basic-block.h: Document BB_* flags.
3706 * regrename.c (copyprop_hardreg_forward): Don't use BB_VISITED,
3707 use an sbitmap instead.
3708 * sched-rgn.c (compute_trg_info): Likewise.
3709
2184a120
RS
37102005-01-17 Richard Sandiford <rsandifo@redhat.com>
3711
3712 * config.gcc (mips64*-*-linux*): Set the default abi to n32. Remove
3713 redundant target_cpu_default and extra_parts lines. Use the default
3714 "from-abi" ISA.
3715 * config/mips/linux64.h (DRIVER_DEFAULT_ABI_SELF_SPEC): Delete.
3716 (SUBTARGET_EXTRA_SPECS): Delete.
3717 (DRIVER_SELF_SPECS): Remove architecture lines. Set the ABI directly.
3718 (SUBTARGET_ASM_SPEC): Remove -mabi=n32 and -mabi=64 mappings.
3719 * config/mips/t-linux64 (MULTILIB_DIRNAMES): Use "32" for -mabi=32
3720 and "n32" for -mabi=n32.
3721
812ad338
ILT
37222005-01-17 Ian Lance Taylor <ian@airs.com>
3723
3724 PR c/5675
3725 * c-typeck.c (build_c_cast): Revert patch of 2003-02-16: don't
3726 fold constant variables into initial values.
3727
26e75214
KH
37282005-01-17 Kazu Hirata <kazu@cs.umass.edu>
3729
3730 * tree-cfg.c (tree_can_merge_blocks_p): Reorder two checks.
3731
f8ef82ea
KH
3732 * tree-cfg.c (tree_forwarder_block_p): Speed up by walking
3733 through the statements backward.
3734
81bafd36
ILT
37352005-01-17 Ian Lance Taylor <ian@airs.com>
3736
3737 PR middle-end/13127:
3738 * tree-inline.c (expand_call_inline): Set TREE_NO_WARNING on
3739 a variable set to the return value of the inlined function.
3740
edb81165
MD
37412005-01-17 Mark Dettinger <dettinge@de.ibm.com>
3742
3743 * rtlanal.c (rtx_cost): Assign cost of 0 to a SUBREG
3744 when modes are tieable.
3745
658acbb2
RM
37462005-01-17 Ranjit Mathew <rmathew@hotmail.com>
3747
3748 * gthr-posix.h (__gthread_active_p): Use pthread_cancel instead
3749 of pthread_create to find out if threads are enabled.
3750 * gthr-posix95.h (__gthread_active_p): Likewise.
3751
cd280abb
PB
37522005-01-17 Paolo Bonzini <bonzini@gnu.org>
3753
3754 * common.opt (-fnew-ra): Remove.
3755 * ra*.*: Remove.
3756 * toplev.h (flag_new_regalloc): Remove.
3757 * Makefile.in (ra*.*): Don't mention.
3758 * passes.c (rest_of_handle_new_regalloc): Remove.
3759 (rest_of_handle_combine, rest_of_compilation): Always consider
3760 flag_new_regalloc as false.
3761 * doc/invoke.texi: Don't document -fnew-ra.
3762
37632005-01-17 Paolo Bonzini <bonzini@gnu.org>
c80a0f26
PB
3764
3765 * bb-reorder.c (fix_edges_for_rarely_executed_code): Remove
3766 last parameter to reg_scan.
3767 * loop.c (loop_optimize): Likewise.
3768 * passes.c (rest_of_handle_tracer, rest_of_handle_if_conversion,
3769 rest_of_handle_web, rest_of_handle_cfg, rest_of_handle_jump_bypass,
3770 rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
3771 rest_of_handle_gcse, rest_of_handle_loop_optimize,
3772 rest_of_handle_loop2, rest_of_handle_jump2): Likewise.
3773 * regclass.c (reg_scan): Likewise, for the declaration.
3774 * rtl.h (reg_scan): Likewise, for the prototype.
3775
724e4d44
KH
37762005-01-17 Kazu Hirata <kazu@cs.umass.edu>
3777
3778 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Don't call
3779 mark_dfs_back_edges.
3780
7f233d9f
DB
37812005-01-16 Daniel Berlin <dberlin@dberlin.org>
3782
3783 * tree-ssa-pre.c (add_to_sets): s1 may be NULL.
3784 (compute_avail): Uses don't go in tmp_gen.
3785
6f0947e4
SB
37862005-01-16 Steven Bosscher <stevenb@suse.de>
3787
3788 * ggc-page.c (ggc_alloc_stat): Use __builtin_ctzl instead of a
3789 loop to look for a free slot in a page entry.
3790
083b6717
JDA
37912005-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3792
3793 PR target/16304
3794 * defaults.h (TARGET_DEFERRED_OUTPUT_DEFS): Provide default.
3795 * toplev.c (compile_file): Call process_pending_assemble_output_defs
3796 just before targetm.asm_out.file_end.
3797 * tree.h (process_pending_assemble_output_defs): Declare.
3798 * varasm.c (assemble_output_def, process_pending_assemble_output_defs):
3799 New functions.
3800 (assemble_alias): Defer generation of assembly code for defines when
3801 TARGET_DEFERRED_OUTPUT_DEFS is true.
3802 * config/rs6000/aix41.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
3803 * config/rs6000/aix43.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
3804 * doc/tm.texi (TARGET_DEFERRED_OUTPUT_DEFS): document.
3805
2d5ca9a0
JDA
38062005-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3807
83c32f2e
JDA
3808 PR target/19336
3809 * pa.c (pa_scalar_mode_supported_p): New function.
3810 (TARGET_SCALAR_MODE_SUPPORTED_P): Define.
3811 * pa.h (MIN_UNITS_PER_WORD): Add comment.
3812
2d5ca9a0
JDA
3813 * pa-protos.h (prefetch_operand): Delete.
3814 (prefetch_cc_operand, prefetch_nocc_operand): New declations.
3815 * pa.c (prefetch_operand): Delete.
3816 (prefetch_cc_operand, prefetch_nocc_operand): New functions.
3817 * pa.h (EXTRA_CONSTRAINT): Add `W' constraint.
3818 (PREDICATE_CODES): Delete prefetch_operand. Add prefetch_cc_operand
3819 and prefetch_nocc_operand.
3820 * pa.md (prefetch): Rework to avoid reload problems handling short
3821 displacements when a cache control completer needs to be provided.
3822 (prefetch_32, prefetch_64): Delete.
3823 (prefetch_cc, prefetch_nocc): New patterns.
3824
6a9836b1
DE
38252005-01-15 David Edelsohn <edelsohn@gnu.org>
3826
3827 * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Revert previous change.
3828
22f549fd
JDA
38292005-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3830
3831 PR ada/19388
3832 * pa.c (pa_asm_output_aligned_common): Warn if specified alignment
3833 exceeds maximum alignment for global common data.
3834 * pa64-hpux.h (MAX_OFILE_ALIGNMENT): Define to 32768.
3835 * som.h (MAX_OFILE_ALIGNMENT): Likewise.
3836
19e1af6e
RS
38372004-01-15 Roger Sayle <roger@eyesopen.com>
3838
3839 * tree-ssa-dom.c (extract_range_from_cond): Correct condition.
3840
778f72f2
RS
38412004-01-15 Roger Sayle <roger@eyesopen.com>
3842
3843 * harg-reg-set.h (reg_class_names): Prototype global array.
3844 * regclass.c (reg_class_names): Declare here and initialize to
3845 REG_CLASS_NAMES.
3846 (dump_regclass): Remove local declaration of reg_class_names.
3847 (regclass): Likewise.
3848 * cfg.c (dump_flow_info): Likewise.
3849 * ra-debug.c (reg_class_names): Likewise.
3850 * regrename.c (reg_class_names): Likewise.
3851 * reload.c (reg_class_names): Likewise.
3852 * reload1.c (spill_failure): Likewise.
3853 * config/m68hc11/m68hc11.c (reg_class_names): Likewise.
3854
9c3c3dcc
UW
38552005-01-15 Ulrich Weigand <uweigand@de.ibm.com>
3856
3857 * config/s390/s390.md ("reload_outti"): Remove predicate for
3858 output operand. Abort if operand is not a MEM.
3859 ("reload_outdi", "reload_outdf"): Likewise.
3860
378b66d4
ME
38612005-01-15 Marc Espie <espie@openbsd.org>
3862
3863 * config.gcc (*-*-openbsd*): Set HAS_LIBC_R for OpenBSD <= 3.2.
3864 (i[34567]86-*-openbsd*): Switch to ELF for OpenBSD >= 3.4.
3865 * config/openbsd.h: Fix C++ includes for native configurations.
3866 Add proper OS_CPP_BUILTINS. Fix libspec for recent OpenBSD.
3867 Add trampoline support.
3868 * config/i386/openbsdelf.h: New.
3869
60828cbd
ME
38702005-01-15 Marc Espie <espie@openbsd.org>
3871
3872 * collect2.c (main): Explicitly parse -dynamic-linker option.
3873
75b9aa9f
JJ
38742005-01-15 Jakub Jelinek <jakub@redhat.com>
3875
3876 PR tree-optimization/19060
3877 * tree-ssa-dom.c (extract_range_from_cond) <case LT_EXPR, GT_EXPR>:
3878 Return 0 if op1 <= TYPE_MIN_VALUE () resp. op1 >= TYPE_MAX_VALUE ().
3879 (simplify_cond_and_lookup_avail_expr): Add assert for dummy == 0
3880 and handle extract_range_from_cond returning false.
3881 * fold-const.c (fold): Optimize comparisons with min/max even for
3882 width > HOST_BITS_PER_WIDE_INT.
3883
4ba9f2a1
RC
38842005-01-15 Ralf Corsepius <ralf.corsepius@rtems.org>
3885
3886 * config/mips/rtems.h (MIPS_DEFAULT_GVALUE): Set to 0.
2cdc2073 3887 * config/mips/t-rtems (MULTILIBS_DIRNAMES,MULTILIB_OPTIONS):
4ba9f2a1
RC
3888 Remove little endian multilib variants.
3889 Add mips32 multilib variant.
3890
bbc8fb00
KH
38912005-01-15 Kazu Hirata <kazu@cs.umass.edu>
3892
3893 * explow.c (copy_all_reg, stabilize): Remove.
3894 * expr.h: Remove the corresponding prototypes.
3895
6a29dc8b
KH
3896 * rtlanal.c (regs_set_between_p): Remove.
3897 * rtl.h: Remove the corresponding prototype.
3898
165a5bad
DE
38992005-01-14 David Edelsohn <edelsohn@gnu.org>
3900
3901 * config/rs6000/rs6000.c (rs6k_nonimmediate_operand): Rename
3902 to rs6000_nonimmediate_operand.
3903 * config/rs6000/rs6000.h (PREDICATE_CODES): Rename
3904 rs6k_nonimmediate_operand to rs6000_nonimmediate_operand.
3905 * config/rs6000/rs6000.md (movsi_internal1): Rename predicate to
3906 rs6000_nonimmediate_operand.
3907 * config/rs6000/spe.md (movdf_e500_double): Rename predicate to
3908 rs6000_nonimmediate_operand.
3909
7f9e6d2a
AP
39102005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
3911
3912 * tree-ssa-alias.c (pass_may_alias): Add TODO_verify_stmts.
3913
54b695e7
AH
39142005-01-14 Aldy Hernandez <aldyh@redhat.com>
3915
3916 * config/rs6000/rs6000.h (CLASS_MAX_NREGS): DF goes in 1 register
3917 on e500v2.
3918 (CANNOT_CHANGE_MODE_CLASS): Restrict DI mode changes on e500v2.
3919 (PREDICATE_CODES): Add rs6k_nonimmediate_operand.
3920
3921 * config/rs6000/rs6000.c (invalid_e500_subreg): New.
3922 (rs6k_nonimmediate_operand): New.
3923 (rs6000_legitimate_offset_address_p): Handle DI modes on e500v2
3924 correctly.
3925 (legitimate_lo_sum_address_p): Same.
3926 (rs6000_legitimize_address): Same.
3927 (rs6000_legitimize_reload_address): Same.
3928 (rs6000_legitimate_address): Same.
3929 (spe_build_register_parallel): Pass DF and DC modes in a DI
3930 register.
3931
3932 * config/rs6000/rs6000.md ("*movsi_internal1"): Change predicate
3933 to rs6k_nonimmediate_operand.
3934
3935 * config/rs6000/spe.md ("*frob_df_di"): New.
3936 ("*frob_di_df"): New.
3937 ("*frob_di_df_2"): New.
3938 ("*mov_sidf_e500_subreg0"): New.
3939 ("*mov_sidf_e500_subreg4"): New.
3940 ("*movdf_e500_double"): Change predicate to
3941 rs6k_nonimmediate_operand.
3942
05075d4e
AH
39432005-01-14 Aldy Hernandez <aldyh@redhat.com>
3944
3945 * postreload.c (move2add_note_store): Only call
3946 trunc_int_for_mode on scalar integers.
3947
a28fee03
SB
39482005-01-14 Steven Bosscher <stevenb@suse.de>
3949
3950 * tree-ssa-dce.c (visited_control_parents): New sbitmap to
3951 replace BB_VISITED uses.
3952 (find_obviously_necessary_stmts): Don't clear BB_VISITED.
3953 (propagate_necessity): Check the bitmap instead of BB_VISITED.
3954 (tree_dce_done): Free visited_control_parents.
3955 (perform_tree_ssa_dce): Allocate and clear it.
3956 * tree-ssa-pre.c (compute_antic_aux): Make non-recursive.
3957 (compute_antic): Iterate from here using a DFS. Use an sbitmap
3958 instead of BB_VISITED.
3959
103a83e0
KH
39602005-01-14 Kazu Hirata <kazu@cs.umass.edu>
3961
3962 * c-tree.h, coverage.h, langhooks-def.h, optabs.h, output.h,
3963 rtl.h, targhooks.h, tree-flow.h, tree-mudflap.h, tree.h:
3964 Remove unused prototypes.
3965
b5a5beb9
AH
39662005-01-14 Aldy Hernandez <aldyh@redhat.com>
3967
3968 * config/rs6000/rs6000.c (rs6000_stack_info): Fix caching of SPE
3969 64-bit register usage.
3970 (spe_func_has_64bit_regs_p): Add FIXME note.
3971
5ca18999
AH
39722005-01-14 Aldy Hernandez <aldyh@redhat.com>
3973
3974 * config/rs6000/rs6000.c (rs6000_generate_compare): Replace
3975 flag_finite_math_only with flag_unsafe_math_optimizations.
3976
783d2650
J
39772005-01-14 J. D. Johnston <jjohnst@us.ibm.com>
3978
3979 * config/s390/tpf-unwind.h (s390_fallback_frame_state): Correct
3980 end-of-stack check.
3981 (__tpf_eh_return): Copy TPF private stack area from the module
3982 boundary stack frame. Add check for when module addresses are
3983 equal, but no stub address is found.
3984
b12a00f1
RE
39852005-01-14 Richard Earnshaw <rearnsha@arm.com>
3986
3987 PR target/7525
3988 * arm.h (struct machine_function): Add call_via field.
3989 (thumb_call_via_label): Declare.
3990 * arm.c (thumb_call_via_label): New variable.
3991 (thumb_call_reg_needed): New variable.
3992 (arm_output_function_epilogue): For Thumb code, output any per-function
3993 call-indirect trampolines.
3994 (thumb_call_via_reg): New function.
3995 (arm_file_end): New function.
3996 (TARGET_ASM_FILE_END): Call arm_file_end.
3997 (aof_file_end): Likewise.
3998 * arm-protos.h (thumb_call_via_reg): Declare.
2cdc2073 3999 * arm.md (call_reg_thumb, call_value_reg_thumb): Call
b12a00f1
RE
4000 thumb_call_via_reg in normal case.
4001
08a0c536
JJ
40022005-01-14 Jakub Jelinek <jakub@redhat.com>
4003
4004 PR middle-end/19084
4005 PR rtl-optimization/19348
4006 * recog.c (peephole2_optimize): Do global life update if some peephole
4007 decides it doesn't need at least one of its inputs and that change
4008 influences liveness at the start of the basic block.
4009
4010 * basic-block.h (EXECUTE_IF_AND_COMPL_IN_REG_SET): Needs 2 REGSET
4011 arguments instead of 1.
4012
eebeecac
EB
40132005-01-14 Eric Botcazou <ebotcazou@libertysurf.fr>
4014
4015 PR middle-end/18820
4016 * varasm.c (initializer_constant_valid_p) <ADDR_EXPR>: Return
4017 zero for nested functions needing a static chain or functions
4018 with a non-constant address.
4019
a0ee8b5f
RS
40202005-01-13 Roger Sayle <roger@eyesopen.com>
4021
4022 * simplify-rtx.c (simplify_binary_operation) <AND>: Optimize
4023 (and (sign_extend X) C) into (zero_extend (and X C)).
4024
92018897
DB
40252005-01-13 David O'Brien <obrien@FreeBSD.org>
4026
4027 * config/freebsd-spec.h: Make KSE pthread lib logic the default.
4028
eaa49b49
RH
40292005-01-13 Richard Henderson <rth@redhat.com>
4030
2d1d3cb2 4031 PR target/19009
eaa49b49
RH
4032 PR target/19250
4033 PR target/19252
4034 * config/i386/i386.md (cmpdf, cmpsf, bunordered, bordered, buneq,
4035 bunge, bungt, bunle, bunlt, bltgt): Enable for TARGET_SSE_MATH,
4036 not just TARGET_SSE.
4037 (cmpfp_i_387): Rename from cmpfp_i. Move after sse patterns.
4038 (cmpfp_i_mixed): Rename from cmpfp_i_sse; use for TARGET_MIX_SSE_I387.
4039 (cmpfp_i_sse): Rename from cmpfp_i_sse_only; use for TARGET_SSE_MATH.
4040 (cmpfp_iu_mixed, cmpfp_iu_sse, cmpfp_iu_387): Similarly.
4041 (fp_jcc_1_mixed, fp_jcc_1_sse, fp_jcc_1_387): Similarly.
4042 (fp_jcc_2_mixed, fp_jcc_2_sse, fp_jcc_2_387): Similarly.
4043 (fp_jcc_3_387, fp_jcc_4_387, fp_jcc_5_387, fp_jcc_6_387,
4044 fp_jcc_7_387, fp_jcc_8_387): Rename from fp_jcc_N.
4045 (movdicc_c_rex64): Rename with '*'.
4046 (movsfcc, movdfcc): Add checks for 387 and sse math to condition.
4047 (movsfcc_1_sse_min, movsfcc_1_sse_max, movsfcc_1_sse): New.
4048 (movsfcc_1_387): Rename from movsfcc_1.
4049 (movdfcc_1_sse_min, movdfcc_1_sse_max, movdfcc_1_sse): New.
4050 (movdfcc_1, movdfcc_1_rex64): Add check for 387.
4051 (sminsf3, smaxsf3, smindf3, smaxdf3): New.
4052 (minsf3, minsf, minsf_nonieee, minsf_sse, mindf3, mindf,
4053 mindf_nonieee, mindf_sse, maxsf3, maxsf, maxsf_nonieee, maxsf_sse,
4054 maxdf3, maxdf, maxdf_nonieee, maxdf_sse, sse_movsfcc, sse_movsfcc_eq,
4055 sse_movdfcc, sse_movdfcc_eq, sse_movsfcc_const0_1,
4056 sse_movsfcc_const0_2, sse_movsfcc_const0_3, sse_movsfcc_const0_4,
4057 sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
4058 sse_movdfcc_const0_4): Remove.
4059 * config/i386/i386.c (ix86_expand_fp_movcc): For TARGET_SSE_MATH,
4060 recognize min/max early. Update for changed sse cmove patterns.
4061 (ix86_split_sse_movcc): New.
4062 * config/i386/i386-protos.h: Update.
4063
1dff80c0
SB
40642005-01-13 Steven Bosscher <stevenb@suse.de>
4065
4066 * tree-ssa-dse.c (fix_phi_uses): Use SSA operand iterators.
4067 (fix_stmt_v_may_defs): Likewise.
4068
bb129a4f
RH
40692005-01-13 Richard Henderson <rth@redhat.com>
4070
4071 * config/i386/i386.c (ix86_expand_fp_absneg_operator): Use elt_mode
4072 for converting the mask.
4073
2cba2c8b
DE
40742005-01-13 David Edelsohn <edelsohn@gnu.org>
4075
4076 * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Change _XOPEN_SOURCE
4077 definition to 600.
4078
ed9b5396
RH
40792005-01-13 Richard Henderson <rth@redhat.com>
4080
4081 * config/i386/i386.c (IX86_BUILTIN_MOVQ, IX86_BUILTIN_LOADD,
4082 IX86_BUILTIN_STORED, IX86_BUILTIN_MOVQ2DQ,
4083 IX86_BUILTIN_MOVDQ2Q): Remove.
4084 (IX86_BUILTIN_VEC_EXT_V4SI): New.
4085 (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Update to match.
2cdc2073 4086 (ix86_expand_vector_extract): For V4S[FI], extract element 0 after
ed9b5396
RH
4087 shuffling.
4088 * config/i386/sse.md (sse_concatv2sf): Accept zero operand 2.
4089 (sse2_pextrw): Fix immediate constraint.
4090 (sse2_loadq, sse2_loadq_rex64): Remove.
4091 * config/i386/emmintrin.h (_mm_cvtsi128_si32, _mm_cvtsi128_si64x):
4092 Use __builtin_ia32_vec_ext_<size>.
4093 (_mm_cvtsi32_si128, _mm_cvtsi64x_si128): Use _mm_set_epi<size>.
4094
17284759
AH
40952005-01-13 Aldy Hernandez <aldyh@redhat.com>
4096
4097 * function.c (assign_parm_setup_block): Look inside original
4098 entry_parm when inspecting PARALLEL.
4099
5d58d2f8
RC
41002005-01-13 Ralf Corsepius <ralf.corsepius@rtems.org>
4101 Joel Sherrill <joel@oarcorp.com>
4102
4103 PR target/19399
4104 * gthr-rtems.h (__gthread_recursive_mutex_t): New type.
4105 (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Define to
4106 rtems_gxx_recursive_mutex_init.
4107 (__gthread_recursive_mutex_lock): New function.
4108 (__gthread_recursive_mutex_trylock): Likewise.
4109 (__gthread_recursive_mutex_unlock): Likewise.
4110
52786878
RC
41112005-01-13 Ralf Corsepius <ralf.corsepius@rtems.org>
4112
4113 * config/i386/t-rtems-i386: Multilib on -mtune instead of -mcpu.
4114
16d8386b
JB
41152005-01-13 Jan Beulich <jbeulich@novell.com>
4116
4117 * config/ia64/ia64.md (ashlti3, ashlti3_internal): New.
4118 (ashrti3_internal): Indicate output is early clobber. Generate result
4119 into output rather than first input. Use move for low word of output
4120 if shift count is exactly 64.
4121 (lshrti3_internal): Likewise.
4122
0149f412
HPN
41232005-01-13 Hans-Peter Nilsson <hp@bitrange.com>
4124
4125 PR target/18329
4126 PR target/18330
4127 * reload1.c (delete_output_reload): Don't delete an output reload
4128 if the pseudo lives longer than a single basic block. Adjust and
4129 improve wording of comment.
4130
e1e04267
AP
41312005-01-12 Andrew Pinski <pinskia@physics.uc.edu>
4132
4133 PR target/19334
4134 * config/darwin.c (machopic_select_section): Use TYPE_SIZE_UNIT instead
4135 of TYPE_SIZE where we mean the number of bytes.
4136
640019aa
AH
41372005-01-12 Aldy Hernandez <aldyh@redhat.com>
4138
4139 * function.c (assign_parm_setup_block): Relax condition on
4140 multi-register optimization.
4141
98e20ffd
NC
41422005-01-12 Nick Clifton <nickc@redhat.com>
4143
4144 * config/sh/sh.md (udivsi3_sh2a, divsi3_sh2a): Give these patterns
4145 an "in_delay_slot" attribute of "no" to prevent them being used in
4146 delay slots. This is forbidden because they might generate
4147 exceptions.
4148
409f61cd
AM
41492005-01-12 Alan Modra <amodra@bigpond.net.au>
4150
4151 PR target/19389
4152 * config/rs6000/rs6000.md (movtf_internal): Replace r->o and m->r
4153 with r->Y and Y->r.
4154
ef6f5655
NC
41552005-01-12 Nick Clifton <nickc@redhat.com>
4156
4157 * config/iq2000/iq2000.h (ASM_SPEC): Undefine (to stop -Qy being
4158 passed on to GAS) but do not define, as GAS no longer supports or
4159 needs the -m2000 option.
4160
157b3890
RS
41612005-01-11 Roger Sayle <roger@eyesopen.com>
4162
4163 * builtins.c (fold_builtin_fabs): Convert argument to the appropriate
4164 type as args of unprototyped builtins aren't automatically promoted.
4165 (fold_builtin_abs): Likewise.
4166
9a43b902
KG
41672005-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4168
4169 * Makefile.in: Set a `build-warn' variable.
4170
0a915e3d
ZD
41712005-01-11 Zdenek Dvorak <dvorakz@suse.cz>
4172
4173 PR tree-optimization/17949
4174 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): New function.
4175 (find_interesting_uses_address): Use it.
4176
f351bfed
AH
41772005-01-11 Aldy Hernandez <aldyh@redhat.com>
4178
4179 * regrename.c (kill_value): Handle subreg's that won't simplify.
4180
eb701deb
RH
41812005-01-11 Richard Henderson <rth@redhat.com>
4182
4183 PR target/13366
4184 * config/i386/i386.h (enum ix86_builtins): Move ...
4185 * config/i386/i386.c: ... here.
4186 (IX86_BUILTIN_MOVDDUP, IX86_BUILTIN_MMX_ZERO, IX86_BUILTIN_PEXTRW,
4187 IX86_BUILTIN_PINSRW, IX86_BUILTIN_LOADAPS, IX86_BUILTIN_LOADSS,
4188 IX86_BUILTIN_STORESS, IX86_BUILTIN_SSE_ZERO, IX86_BUILTIN_PEXTRW128,
4189 IX86_BUILTIN_PINSRW128, IX86_BUILTIN_LOADAPD, IX86_BUILTIN_LOADSD,
4190 IX86_BUILTIN_STOREAPD, IX86_BUILTIN_STORESD, IX86_BUILTIN_STOREHPD,
4191 IX86_BUILTIN_STORELPD, IX86_BUILTIN_SETPD1, IX86_BUILTIN_SETPD,
4192 IX86_BUILTIN_CLRPD, IX86_BUILTIN_LOADPD1, IX86_BUILTIN_LOADRPD,
4193 IX86_BUILTIN_STOREPD1, IX86_BUILTIN_STORERPD, IX86_BUILTIN_LOADDQA,
4194 IX86_BUILTIN_STOREDQA, IX86_BUILTIN_CLRTI,
4195 IX86_BUILTIN_LOADDDUP): Remove.
4196 (IX86_BUILTIN_VEC_INIT_V2SI, IX86_BUILTIN_VEC_INIT_V4HI,
4197 IX86_BUILTIN_VEC_INIT_V8QI, IX86_BUILTIN_VEC_EXT_V2DF,
4198 IX86_BUILTIN_VEC_EXT_V2DI, IX86_BUILTIN_VEC_EXT_V4SF,
4199 IX86_BUILTIN_VEC_EXT_V8HI, IX86_BUILTIN_VEC_EXT_V4HI,
4200 IX86_BUILTIN_VEC_SET_V8HI, IX86_BUILTIN_VEC_SET_V4HI): New.
4201 (ix86_init_builtins): Make static.
4202 (ix86_init_mmx_sse_builtins): Update for changed builtins.
4203 (ix86_expand_binop_builtin): Only use ix86_fixup_binary_operands
4204 if all the modes match. Otherwise, fake it.
4205 (get_element_number, ix86_expand_vec_init_builtin,
4206 ix86_expand_vec_ext_builtin, ix86_expand_vec_set_builtin): New.
4207 (ix86_expand_builtin): Make static. Update for changed builtins.
4208 (ix86_expand_vector_move_misalign): Use sse2_loadlpd with zero
4209 operand instead of sse2_loadsd. Cast sse1 fallback to V4SFmode.
4210 (ix86_expand_vector_init_duplicate): New.
4211 (ix86_expand_vector_init_low_nonzero): New.
4212 (ix86_expand_vector_init_one_var, ix86_expand_vector_init_general):
4213 Split out from ix86_expand_vector_init; handle integer modes.
4214 (ix86_expand_vector_init): Use them.
4215 (ix86_expand_vector_set, ix86_expand_vector_extract): New.
4216 * config/i386/i386-protos.h: Update.
4217 * config/i386/predicates.md (reg_or_0_operand): New.
4218 * config/i386/mmx.md (mov<MMXMODEI>_internal): Add 'r' variants.
4219 (movv2sf_internal): Likewise. And a splitter to match them all.
4220 (vec_dupv2sf, mmx_concatv2sf, vec_setv2sf, vec_extractv2sf,
4221 vec_initv2sf, vec_dupv4hi, vec_dupv2si, mmx_concatv2si, vec_setv2si,
4222 vec_extractv2si, vec_initv2si, vec_setv4hi, vec_extractv4hi,
4223 vec_initv4hi, vec_setv8qi, vec_extractv8qi, vec_initv8qi): New.
4224 (mmx_pinsrw): Fix operand ordering.
4225 * config/i386/sse.md (movv4sf splitter): Use direct pattern,
4226 rather than sse_loadss expander.
4227 (movv2df splitter): Similarly.
4228 (sse_loadss, sse_loadlss): Remove.
4229 (vec_dupv4sf, sse_concatv2sf, sse_concatv4sf, vec_extractv4sf_0): New.
4230 (vec_setv4sf, vec_setv2df): Use ix86_expand_vector_set.
4231 (vec_extractv4sf, vec_extractv2df): Use ix86_expand_vector_extract.
4232 (sse3_movddup): Rename with '*'.
4233 (sse3_movddup splitter): Use gen_rtx_REG instead of gen_lowpart.
4234 (sse2_loadsd): Remove.
4235 (vec_dupv2df_sse3): Rename from sse3_loadddup.
4236 (vec_dupv2df, vec_concatv2df_sse3, vec_concatv2df): New.
4237 (sse2_pinsrw): Fix argument ordering.
4238 (sse2_loadld, sse2_loadq): Add sse1 alternatives.
4239 (sse2_stored): Remove 'r' destination.
4240 (vec_dupv4si, vec_dupv2di, sse2_concatv2si, sse1_concatv2si,
4241 vec_concatv4si_1, vec_concatv2di, vec_setv2di, vec_extractv2di,
4242 vec_initv2di, vec_setv4si, vec_extractv4si, vec_initv4si,
4243 vec_setv8hi, vec_extractv8hi, vec_initv8hi, vec_setv16qi,
4244 vec_extractv16qi, vec_initv16qi): New.
4245
4246 * config/i386/emmintrin.h (__m128i, __m128d): Use typedef, not define.
2cdc2073 4247 (_mm_set_sd, _mm_set1_pd, _mm_setzero_pd, _mm_set_epi64x,
eb701deb
RH
4248 _mm_set_epi32, _mm_set_epi16, _mm_set_epi8, _mm_setzero_si128): Use
4249 constructor form.
4250 (_mm_load_pd, _mm_store_pd): Use plain dereference.
4251 (_mm_load_si128, _mm_store_si128): Likewise.
4252 (_mm_load1_pd): Use _mm_set1_pd.
4253 (_mm_load_sd): Use _mm_set_sd.
4254 (_mm_store_sd, _mm_storeh_pd): Use __builtin_ia32_vec_ext_v2df.
4255 (_mm_store1_pd, _mm_storer_pd): Use _mm_store_pd.
4256 (_mm_set_epi64): Use _mm_set_epi64x.
4257 (_mm_set1_epi64x, _mm_set1_epi64, _mm_set1_epi32, _mm_set_epi16,
4258 _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
4259 _mm_setr_epi8): Use _mm_set_foo form.
4260 (_mm_loadl_epi64, _mm_movpi64_epi64, _mm_move_epi64): Use _mm_set_epi64.
4261 (_mm_storel_epi64, _mm_movepi64_pi64): Use __builtin_ia32_vec_ext_v2di.
4262 (_mm_extract_epi16): Use __builtin_ia32_vec_ext_v8hi.
4263 (_mm_insert_epi16): Use __builtin_ia32_vec_set_v8hi.
4264 * config/i386/mmintrin.h (_mm_setzero_si64): Use plain cast.
4265 (_mm_set_pi32): Use __builtin_ia32_vec_init_v2si.
4266 (_mm_set_pi16): Use __builtin_ia32_vec_init_v4hi.
4267 (_mm_set_pi8): Use __builtin_ia32_vec_init_v8qi.
4268 (_mm_set1_pi16, _mm_set1_pi8): Use _mm_set_piN variant.
4269 * config/i386/pmmintrin.h (_mm_loaddup_pd): Use _mm_load1_pd.
4270 (_mm_movedup_pd): Use _mm_shuffle_pd.
4271 * config/i386/xmmintrin.h (_mm_setzero_ps, _mm_set_ss,
4272 _mm_set1_ps, _mm_set_ps, _mm_setr_ps): Use constructor form.
4273 (_mm_cvtpi16_ps, _mm_cvtpu16_ps, _mm_cvtpi8_ps, _mm_cvtpu8_ps,
4274 _mm_cvtps_pi8, _mm_cvtpi32x2_ps): Avoid __builtin_ia32_mmx_zero;
4275 Use _mm_setzero_ps.
4276 (_mm_load_ss, _mm_load1_ps): Use _mm_set* form.
4277 (_mm_load_ps, _mm_loadr_ps): Use raw dereference.
4278 (_mm_store_ss): Use __builtin_ia32_vec_ext_v4sf.
4279 (_mm_store_ps): Use raw dereference.
4280 (_mm_store1_ps): Use _mm_storeu_ps.
4281 (_mm_storer_ps): Use _mm_store_ps.
4282 (_mm_extract_pi16): Use __builtin_ia32_vec_ext_v4hi.
4283 (_mm_insert_pi16): Use __builtin_ia32_vec_set_v4hi.
4284
d9e4e4f5
SS
42852005-01-11 Stan Shebs <shebs@apple.com>
4286
4287 * config/rs6000/rs6000.c (machopic_output_stub): Issue
4288 ldu instead of lwzu if 64-bit -mdynamic-no-pic.
4289
85962ac8
AP
42902005-01-11 Andrew Pinski <pinskia@physics.uc.edu>
4291
4292 PR target/18761
4293 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
4294 Skip all DECLs except for FIELD_DECLs.
4295
6b78f6be
AK
42962005-01-11 Andreas Krebbel <krebbel1@de.ibm.com>
4297
4298 * config/s390/s390.c (override_options): Return error if
4299 -mbackchain, -mpacked-stack and -mhard-float are used together.
4300 (s390_va_start): Remove the backchain && packed-stack special case.
4301 (s390_gimplify_va_arg): Likewise.
4302 * doc/invoke.texi: Remove the ABI incompatibility note.
4303
66480e91
AK
43042005-01-11 Andreas Krebbel <krebbel1@de.ibm.com>
4305
fc474307 4306 * config/s390/s390.c (struct s390_frame_layout): Remove
66480e91
AK
4307 save_backchain_p.
4308 (s390_frame_info, s390_emit_prologue): Replace occurrences of
4309 save_backchain_p with TARGET_BACKCHAIN.
4310
bfc45551
AM
43112005-01-11 Alan Modra <amodra@bigpond.net.au>
4312
4313 PR target/18916
4314 * builtins.c (std_gimplify_va_arg_expr): Adjust alignment of *ap.
4315 * expr.h (struct locate_and_pad_arg_data): Add "boundary".
4316 * function.c (locate_and_pad_parm): Set new field.
4317 (assign_parm_find_stack_rtl): Use it instead of FUNCTION_ARG_BOUNDARY.
4318 Tweak where_pad test to include "none". Always set mem align for
4319 stack_parm.
4320 (assign_parm_adjust_stack_rtl): Discard stack_parm if alignment
4321 not sufficient for type.
4322 (assign_parm_setup_block): If stack_parm is zero on entry, always
4323 make a new stack local. Block move old stack parm if necessary
4324 to new aligned stack local.
4325 (assign_parm_setup_stack): Use a block move to handle
4326 potentially misaligned entry_parm.
4327 (assign_parms_unsplit_complex): Specify required alignment when
4328 creating stack local.
4329 * calls.c (compute_argument_addresses): Override alignment of stack
4330 arg calculated from its type with the alignment given by
4331 FUNCTION_ARG_BOUNDARY.
4332 (store_one_arg): Likewise.
4333
d3f6e07b 43342005-01-11 Jan Beulich <jbeulich@novell.com>
bfc45551 4335
d3f6e07b
JB
4336 * config/ia64/ia64.md (zero_extendsidi2): Replace zxt4 by addp4.
4337 Change respective itanium_class attribute to ialu.
4338 (shladdp4_internal): New.
4339 * config/ia64/predicates.md (shladd_log2_operand): New.
4340
201dd46b
RH
43412005-01-11 Richard Henderson <rth@redhat.com>
4342
4343 * expr.c (store_constructor): Use rtvec_alloc instead of
4344 alloca+gen_rtvec_v, and an incorrect number passed to alloca.
4345
35c0104b
KH
43462005-01-11 Kazu Hirata <kazu@cs.umass.edu>
4347
4348 * config/alpha/alpha.c, config/i386/mmx.md: Fix comment typos.
4349
abb8b19a
AM
43502005-01-11 Alan Modra <amodra@bigpond.net.au>
4351
4352 * varasm.c (default_section_type_flags_1): Don't set SECTION_SMALL.
4353 * config/ia64/ia64.c (TARGET_SECTION_TYPE_FLAGS): Define.
4354 (TARGET_RWRELOC): Define.
4355 (ia64_rwreloc_section_type_flags): Delete.
4356 (ia64_section_type_flags): New function.
4357 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): Don't define.
4358 (TARGET_RWRELOC): Define.
4359
b1eae416
DM
43602005-01-10 David Mosberger <davidm@hpl.hp.com>
4361
4362 PR target/18987
4363 * config/ia64/ia64.c (process_set): For alloc insn, only call
4364 process_epilogue is !frame_pointer_needed.
4365
18d00205
RS
43662005-01-10 Roger Sayle <roger@eyesopen.com>
4367
4368 PR c++/19355
4369 * c-common.c (c_common_truthvalue_conversion): TRUTH_NOT_EXPR is a
4370 unary operator and can't be treated as a binary/comparison operator.
4371
b3a1ca49
RH
43722005-01-10 Richard Henderson <rth@redhat.com>
4373
4374 * config/i386/i386.c (ix86_function_value): Use type_natural_mode.
4375 (ix86_return_in_memory): Likewise.
4376 (function_arg_advance): Likewise. Mirror structure in function_arg
4377 for choosing register to advance.
4378
1618f948
KH
43792005-01-10 Kazu Hirata <kazu@cs.umass.edu>
4380
4381 * tree-vectorizer.c, tree.def: Fix comment typos.
4382
98fd0d70
MD
43832005-01-10 Mark Dettinger <dettinge@de.ibm.com>
4384
4385 * config/s390/s390.c (struct processor_costs): 4 new fields:
4386 ddbr, ddr, debr, der.
4387 (s390_rtx_costs): More precise handling of divide instructions.
4388
99757961
DE
43892005-01-10 David Edelsohn <edelsohn@gnu.org>
4390
4391 * config/rs6000/t-aix43 (BOOT_LDFLAGS): Define.
4392
826eb7ed
JB
43932005-01-10 Jan Beulich <jbeulich@novell.com>
4394
4395 * config/ia64/ia64.c (ia64_in_small_data_p): Also handle the section
4396 names resulting from -ffunction-sections/-fdata-sections and linkonce
4397 ones.
4398 * varasm.c (default_section_type_flags_1): Also set SECTION_SMALL
4399 based on the section name. Rearrange the section name comparison logic
4400 slightly so that each section name is compared against at most once.
4401
068d4f38
BE
44022005-01-10 Ben Elliston <bje@au.ibm.com>
4403
4404 * doc/invoke.texi (Code Gen Options): Add PowerPC to the list of
4405 targets for which -fPIC reduces limitations on the GOT size.
4406
351bae3d
FH
44072005-01-09 Falk Hueffner <falk@debian.org>
4408
4409 * fold-const.c (fold): Also handle EXACT_DIV_EXPR when folding
4410 X/C1 cmpop C2.
4411
7142ae77
DE
44122005-01-09 David Edelsohn <edelsohn@gnu.org>
4413
4414 PR target/18720
4415 * collect2.c (main): Set aixrtl_flag for -brtl option.
4416 (resolve_lib_name): Search for .so file extension before .a
4417 if aixrtl_flag set.
4418
5a3ed97a
DN
44192005-01-09 Dorit Naishlos <dorit@il.ibm.com>
4420
4421 * tree-vectorizer.c (vect_enhance_data_refs_alignment): Add dump prints.
4422 (vect_analyze_data_refs_alignment): Add dump prints.
4423
db5dc63d
IR
44242005-01-09 Ira Rosen <irar@il.ibm.com>
4425
fc474307 4426 * tree-vectorizer.c (vect_analyze_offset_expr): Use
db5dc63d
IR
4427 expr_invariant_in_loop_p.
4428 Initialize outputs first thing in the function.
4429 (vect_update_ivs_after_vectorizer): Call initial_condition_in_loop_num.
4430 (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
fc474307 4431 (vect_analyze_pointer_ref_access): Check that the initial condition of
db5dc63d
IR
4432 the access function is loop invariant.
4433
80e8bb90
RH
44342005-01-09 Richard Henderson <rth@redhat.com>
4435
4436 * config/i386/i386.c (bdesc_2arg): Update names for mmx_ prefixes.
4437 (ix86_expand_builtin): Likewise. Frob MASKMOVQ wrt the input mem
4438 just like MASKMOVDQU. Return plain zero for MMX_ZERO.
4439 * config/i386/i386.md (MMXMODEI, mov<MMXMODEI>,
4440 mov<MMXMODEI>_internal_rex64, mov<MMXMODEI>_internal, movv2sf,
4441 movv2sf_internal_rex64, movv2sf_internal, MMXMODE,
4442 movmisalign<MMXMODE>, mmx_pmovmskb, mmx_maskmovq, mmx_maskmovq_rex,
4443 sse_movntdi, addv8qi3, addv4hi3, addv2si3, mmx_adddi3, ssaddv8qi3,
4444 ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3, subv4hi3, subv2si3,
4445 mmx_subdi3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3,
4446 mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd,
4447 sse2_umulsidi3, mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3,
4448 mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pinsrw,
4449 mmx_pextrw, mmx_pshufw, eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3,
4450 gtv2si3, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3,
4451 ashrv2si3, lshrv4hi3, lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3,
4452 mmx_ashldi3, mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw,
fc474307 4453 mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd,
80e8bb90
RH
4454 mmx_punpckldq, emms, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3,
4455 eqv2sf3, pfmaxv2sf3, pfminv2sf3, mulv2sf3, femms, pf2id, pf2iw,
4456 pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pfrcpv2sf2, pfrcpit1v2sf3,
4457 pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3, pmulhrwv4hi3, pswapdv2si2,
4458 pswapdv2sf2): Move to mmx.md; rename as necessary with leading
4459 mmx_ prefix.
4460 (mmx_clrdi, pavgusb): Remove.
fc474307 4461 (ldmxcsr, stmxcsr, sfence, sfence_insn): Move to sse.md; rename
80e8bb90
RH
4462 with leading sse_ prefix.
4463 * config/i386/sse.md: Receive them.
4464 * config/i386/mmx.md: New file.
4465 (MMXMODE12, MMXMODE24, mmxvecsize): New.
4466 (subrv2sf3): Turn into expander for normal subtraction.
4467 (mmx_addv2sf3, mmx_mulv2sf3, mmx_smaxv2sf3, mmx_sminv2sf3,
4468 mmx_eqv2sf3, mmx_mulv4hi3, mmx_smulv4hi3_highpart,
4469 mmx_umulv4hi3_highpart, mmx_pmaddwd, mmx_pmulhrwv4hi3, sse2_umulsidi3,
4470 mmx_umaxv8qi3, mmx_smaxv4hi3, mmx_uminv8qi3, mmx_sminv4hi3): Mark
4471 commutative; use ix86_binary_operator_ok.
4472 (mmx_add<MMXMODEI>3, mmx_ssadd<MMXMODE12>3, mmx_usadd<MMXMODE12>3,
4473 mmx_sub<MMXMODEI>3, mmx_sssub<MMXMODE12>3, mmx_ussub<MMXMODE12>3
4474 mmx_ashr<MMXMODE24>3, mmx_lshr<MMXMODE23>3, mmx_ashl<MMXMODE24>3
fc474307 4475 mmx_eq<MMXMODEI>3, mmx_gt<MMXMODEI>3, mmx_and<MMXMODEI>3,
80e8bb90
RH
4476 mmx_nand<MMXMODEI>3, mmx_ior<MMXMODEI>3, mmx_xor<MMXMODEI>3):
4477 Macroize from existing patterns; use ix86_binary_operator_ok.
4478 (mmx_packsswb, mmx_packssdw, mmx_packuswb): Add memory alternative.
4479 (mmx_punpckhbw, mmx_punpcklbw, mmx_punpckhwd, mmx_punpcklwd,
4480 mmx_punpckhdq, mmx_punpckhdq, mmx_punpckldq): Likewise. Model
4481 with vec_select+vec_concat.
4482 (mmx_pshufw, mmx_pshufw_1): Likewise.
4483 (mmx_uavgv8qi3): Merge pavgusb. Model correcty.
4484 (mmx_uavgv4hi3): Model correctly.
4485 * config/i386/mmintrin.h (_mm_and_si64, _mm_andnot_si64, _mm_or_si64,
4486 _mm_xor_si64): Remove casts.
4487
eb0bc7af
ZD
44882005-01-09 Zdenek Dvorak <dvorakz@suse.cz>
4489
4490 PR tree-optimization/19224
4491 * tree-scalar-evolution.c (get_instantiated_value,
4492 set_instantiated_value): New functions.
4493 (instantiate_parameters_1): Cache the results.
4494 (instantiate_parameters, resolve_mixers): Initialize and free
4495 the cache.
4496
d1c9ce9f
DE
44972005-01-08 David Edelsohn <edelsohn@gnu.org>
4498
4499 * config/i386/i386.md (addhi_4): Correct reference in comment.
4500 (addqi_4): Same.
4501
ef719a44
RH
45022005-01-08 Richard Henderson <rth@redhat.com>
4503
4504 * config/i386/emmintrin.h (_mm_cvtsi128_si32): Move earlier.
4505 (_mm_cvtsi128_si64x): Likewise.
4506 (_mm_srl_epi64, _mm_srl_epi32, _mm_srl_epi16, _mm_sra_epi32,
4507 _mm_sra_epi16, _mm_sll_epi64, _mm_sll_epi32, _mm_sll_epi16): Use
4508 the _mm_{srl,sll}i_foo counterpart, and _mm_cvtsi128_si32.
4509 * config/i386/i386-modes.def: Add V16HI, V32QI, V4DF, V8SF.
4510 * config/i386/i386-protos.h: Update.
4511 * config/i386/i386.c (print_operand): Add 'H'.
4512 (ix86_fixup_binary_operands): Split out from ...
4513 (ix86_expand_binary_operator): ... here.
4514 (ix86_fixup_binary_operands_no_copy): New.
4515 (ix86_expand_fp_absneg_operator): Handle vector mode results.
4516 (bdesc_2arg): Update names for sse{,2,3}_ prefixes.
4517 (ix86_init_mmx_sse_builtins): Remove *maskncmp* special cases.
4518 (safe_vector_operand): Use CONST0_RTX.
4519 (ix86_expand_binop_builtin): Use ix86_fixup_binary_operands.
4520 (ix86_expand_builtin): Merge CODE_FOR_sse2_maskmovdqu_rex64 and
4521 CODE_FOR_sse2_maskmovdqu. Special case SSE version of MASKMOVDQU
4522 expansion. Update names for sse{,2,3}_ prefixes. Remove *maskncmp*
4523 special cases.
4524 * config/i386/i386.h (IX86_BUILTIN_CMPNGTSS): New.
4525 (IX86_BUILTIN_CMPNGESS): New.
4526 * config/i386/i386.md (UNSPEC_FIX_NOTRUNC): New.
4527 (attr type): Add sselog1.
4528 (attr unit, attr memory): Handle it.
4529 (movti, movti_internal, movti_rex64): Move near other integer moves.
4530 (movtf, movtf_internal): Move near other fp moves.
4531 (SSEMODE, SSEMODEI, vec_setv2df, vec_extractv2df, vec_initv2df,
4532 vec_setv4sf, vec_extractv4sf, vec_initv4sf, movv4sf, movv4sf_internal,
fc474307 4533 movv2df, movv2df_internal, mov<SSEMODEI>, mov<SSEMODEI>_internal,
ef719a44
RH
4534 movmisalign<SSEMODE>, sse_movups_1, sse_movmskps, sse_movntv4sf,
4535 sse_movhlps, sse_movlhps, sse_storehps, sse_loadhps, sse_storelps,
4536 sse_loadlps, sse_loadss, sse_loadss_1, sse_movss, sse_storess,
4537 sse_shufps, addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, negv4sf2,
4538 mulv4sf3, vmmulv4sf3, divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2,
4539 rsqrtv4sf2, vmrsqrtv4sf2, sqrtv4sf2, vmsqrtv4sf2, sse_andv4sf3,
fc474307
EC
4540 sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3, sse2_andv2df3,
4541 sse2_nandv2df3, sse2_iorv2df3, sse2_xorv2df3, sse2_andv2di3,
4542 sse2_nandv2di3, sse2_iorv2di3, sse2_xorv2di3, maskcmpv4sf3,
ef719a44
RH
4543 vmmaskcmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
4544 smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi,
4545 cvttps2pi, cvtsi2ss, cvtsi2ssq, cvtss2si, cvtss2siq, cvttss2si,
4546 cvttss2siq, addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3,
4547 vmmulv2df3, divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3,
4548 vmsminv2df3, sqrtv2df2, vmsqrtv2df2, maskcmpv2df3, vmmaskcmpv2df3,
4549 sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb, sse2_maskmovdqu,
4550 sse2_maskmovdqu_rex64, sse2_movntv2df, sse2_movntv2di, sse2_movntsi,
4551 cvtdq2ps, cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq,
4552 cvtpd2pi, cvttpd2pi, cvtpi2pd, cvtsd2si, cvtsd2siq, cvttsd2si,
4553 cvttsd2siq, cvtsi2sd, cvtsi2sdq, cvtsd2ss, cvtss2sd, cvtpd2ps,
4554 cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3, ssaddv16qi3,
4555 ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3, subv4si3,
4556 subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3, mulv8hi3,
4557 smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
4558 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_uavgv16qi3, sse2_uavgv8hi3,
4559 sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd, sse2_pshuflw,
fc474307 4560 sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3, gtv8hi3,
ef719a44
RH
4561 gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3, ashrv8hi3,
4562 ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3, ashlv4si3,
4563 ashlv2di3, sse2_ashlti3, sse2_lshrti3, sse2_unpckhpd, sse2_unpcklpd,
fc474307 4564 sse2_packsswb, sse2_packssdw, sse2_packuswb, sse2_punpckhbw,
ef719a44
RH
4565 sse2_punpckhwd, sse2_punpckhdq, sse2_punpcklbw, sse2_punpcklwd,
4566 sse2_punpckldq, sse2_punpcklqdq, sse2_punpckhqdq, sse2_movupd,
fc474307 4567 sse2_movdqu, sse2_movdq2q, sse2_movdq2q_rex64, sse2_movq2dq,
ef719a44
RH
4568 sse2_movq2dq_rex64, sse2_loadd, sse2_stored, sse2_storehpd,
4569 sse2_loadhpd, sse2_storelpd, sse2_loadlpd, sse2_movsd, sse2_loadsd,
4570 sse2_loadsd_1, sse2_storesd, sse2_shufpd, sse2_clflush, sse2_mfence,
4571 mfence_insn, sse2_lfence, lfence_insn, mwait, monitor, addsubv4sf3,
4572 addsubv2df3, haddv4sf3, haddv2df3, hsubv4sf3, hsubv2df3, movshdup,
4573 movsldup, lddqu, loadddup, movddup): Move to sse.md. Any with
4574 non-optabs meanings renamed with an "sse{,2,3}_" prefix at the
4575 same time.
4576 (SSEPUSH, push<SSEPUSH>): Remove.
4577 (MMXPUSH, push<MMXPUSH>): Remove.
4578 (sse_movaps, sse_movaps_1, sse_movups): Remove.
4579 (sse2_movapd, sse2_movdqa, sse2_movq): Remove.
4580 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Remove.
4581 (sse_clrv4sf, sse_clrv2df, sse2_clrti): Remove.
4582 (maskncmpv4sf3, vmmaskncmpv4sf3): Remove.
4583 (maskncmpv2df3, vmmaskncmpv2df3): Remove.
4584 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti): Remove.
4585 (lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti): Remove.
4586 * config/i386/athlon.md (athlon_sselog_load): Handle sselog1.
4587 (athlon_sselog_load_k8, athlon_sselog, athlon_sselog_k8): Likewise.
4588 * config/i386/ppro.md (ppro_sse_div_V4SF_load): Fix memory attr.
4589 (ppro_sse_log_V4SF_load): Similarly. Handle sselog1.
4590 (ppro_sse_log_V4SF): Handle sselog1.
4591 * config/i386/predicates.md (const_0_to_1_operand): New.
4592 (const_0_to_255_mul_8_operand): New.
4593 (const_1_to_31_operand): Rename from const_int_1_31_operand.
4594 (const_2_to_3_operand, const_4_to_7_operand): New.
4595 * config/i386/sse.md: New file.
4596 (SSEMODE12, SSEMODE24, SSEMODE124, SSEMODE248, ssevecsize): New.
4597 (sse_movups): Rename from sse_movups_1.
4598 (sse_loadlss): Rename from sse_loadss_1.
4599 (andv4sf3, iorv4sf3, xorv4sf3, andv2df3): Remove the sse prefix
4600 from the name.
4601 (negv4sf2): Use ix86_expand_fp_absneg_operator.
4602 (absv4sf2, negv2df, absv2df): New.
4603 (addv4sf3): Add expander to call ix86_fixup_binary_operands_no_copy.
4604 (subv4sf3, mulv4sf3, divv4sf3, smaxv4sf3, sminv4sf3, andv4sf3,
4605 iorv4sf3, xorv4sf3, addv2df3, subv2df3, mulv2df3, divv2df3,
4606 smaxv2df3, sminv2df3, andv2df3, iorv2df3, xorv2df3, mulv8hi3,
4607 umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3): Likewise.
4608 (sse3_addsubv4sf3): Model correctly.
4609 sse3_haddv4sf3, sse3_hsubv4sf3, sse3_addsubv2df3, sse3_haddv2df3,
4610 sse3_hsubv2df3, sse2_ashlti3, sse2_lshrti3): Likewise.
4611 (sse_movhlps): Model with vec_select+vec_concat.
fc474307 4612 (sse_movlhps, sse_unpckhps, sse_unpcklps, sse3_movshdup,
ef719a44
RH
4613 sse3_movsldup, sse_shufps, sse_shufps_1, sse2_unpckhpd, sse3_movddup,
4614 sse2_unpcklpd, sse2_shufpd, sse2_shufpd_1, sse2_punpckhbw,
4615 sse2_punpcklbw, sse2_punpckhwd, sse2_punpcklwd, sse2_punpckhdq,
4616 sse2_punpckldq, sse2_punpckhqdq, sse2_punpcklqdq, sse2_pshufd,
fc474307 4617 sse2_pshufd_1, sse2_pshuflw, sse2_pshuflw_1, sse2_pshufhw,
ef719a44
RH
4618 sse2_pshufhw_1): Likewise.
4619 (neg<SSEMODEI>2, one_cmpl<SSEMODEI>2): New.
4620 (add<SSEMODEI>3, sse2_ssadd<SSEMODE12>3, sse2_usadd<SSEMODE12>3,
4621 sub<SSEMODEI>3, sse2_sssub<SSEMODE12>3, sse2_ussub<SSEMODE12>3,
4622 ashr<SSEMODE24>3, lshr<SSEMODE248>3, sse2_eq<SSEMODE124>3,
4623 sse2_gt<SSEMODDE124>3, and<SSEMODEI>3, sse_nand<SSEMODEI>3,
fc474307 4624 ior<SSEMODEI>3, xor<SSEMODEI>3): Macroize from existing patterns.
ef719a44
RH
4625 (addv4sf3, sse_vmaddv4sf3, mulv4sf3, sse_vmmulv4sf3, smaxv4sf3,
4626 sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, addv2df3, sse2_vmaddv2df3,
4627 mulv2df3, sse2_vmmulv2df3, smaxv2df3, sse2_vmsmaxv2df3, sminv2df3,
4628 sse2_vmsminv2df3, umaxv16qi3, smaxv8hi3, uminv16qi3
4629 sminv8hi3): Mark commutative
4630 operands. Use ix86_binary_operator_ok.
4631 (sse_unpckhps, sse_unpcklps, sse2_packsswb, sse2_packssdw,
4632 sse2_packuswb, sse2_punpckhbw, sse2_punpcklbw, sse2_punpckhwd,
4633 sse2_punpcklwd, sse2_punpckhdq, sse2_punpckldq, sse2_punpckhqdq,
4634 sse2_punpcklqdq): Allow operand2 in memory.
4635 (sse_movhlps, sse_movlhps, sse2_unpckhpd, sse2_unpcklpd
4636 sse2_movsd): Add memory alternatives.
4637 (sse_storelps): Turn expander into an insn; split after reload.
4638 (sse_storess, sse2_loadhpd, sse2_loadlpd): Add non-xmm inputs.
4639 (sse2_storehpd, sse2_storelpd): Add non-xmm outputs.
4640
080a5bb0
EB
46412005-01-08 Eric Botcazou <ebotcazou@libertysurf.fr>
4642
4643 * configure.ac (DWARF-2 debug_line): Use objdump.
4644 * configure: Regenerate.
4645
e79b60a7
DN
46462005-01-08 Jeff Law <law@redhat.com>
4647 Diego Novillo <dnovillo@redhat.com>
4648
a6331d85 4649 PR tree-optimization/18241
e79b60a7
DN
4650 * tree-nrv.c (tree_nrv): Ignore volatile return values.
4651 * tree-ssa-dse.c (dse_optimize_stmt): Do not optimize
4652 statements with volatile operands.
4653 * tree-ssa-operands.c (add_stmt_operand): Do add volatile
4654 operands after marking a statement with has_volatile_ops.
4655
4634cf7e
RS
46562005-01-08 Roger Sayle <roger@eyesopen.com>
4657
4658 * tree.c (int_fits_type_p): Always honor integer constant
4659 TYPE_MIN_VALUE and TYPE_MAX_VALUE if they exist.
4660
88c0f1c6
RS
46612005-01-08 Roger Sayle <roger@eyesopen.com>
4662
4663 * ifcvt.c (find_if_case_1): Reinstate 2005-01-04 change, now that
4664 the latent bug in rtl_delete_block has been resolved.
4665
37e30acc
RS
46662005-01-08 Richard Sandiford <rsandifo@redhat.com>
4667
4668 * config/mips/t-iris6 (MULTILIB_DIRNAMES): Use -mabi argument values.
4669 (MULTILIB_OSDIRNAMES): Use the standard lib, lib32 and lib64.
4670
943cb1d0
RS
46712005-01-08 Richard Sandiford <rsandifo@redhat.com>
4672
4673 * config/mips/t-slibgcc-irix (SHLIB_LINK): Install a copy of the
4674 library as @multilib_dir@/$(SHLIB_SONAME).
4675
1b5c0152
EB
46762005-01-07 Eric Botcazou <ebotcazou@libertysurf.fr>
4677
4678 * configure.ac (HAVE_AS_OFFSETABLE_LO10): Fix typo.
4679 * configure: Regenerate.
4680
b827788f
JJ
46812005-01-07 Jakub Jelinek <jakub@redhat.com>
4682
4683 * c-common.c (handle_mode_attribute): For ENUMERAL_TYPE, also copy
4684 TYPE_MODE.
4685
4937d02d
DE
46862005-01-07 David Edelsohn <edelsohn@gnu.org>
4687
4688 PR target/13674
4689 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
4690 Convert non-word aligned offset address using ld/std into
4691 indirect address.
4692
db396999
RH
46932005-01-07 Richard Henderson <rth@redhat.com>
4694
4695 * config/i386/i386.md (sse_loadhps splitter): Fix operand number typo.
4696
4600cc14
RS
46972005-01-07 Richard SAndiford <rsandifo@redhat.com>
4698
4699 * tree.h (IS_EXPR_CODE_CLASS): Use a straight-forward range check.
4700
8870e212
JJ
47012005-01-07 Jakub Jelinek <jakub@redhat.com>
4702
2a0958c5
JJ
4703 PR tree-optimization/19283
4704 * fold-const.c (fold_widened_comparison): Return NULL if shorter_type
4705 is not shorter than the original type.
4706
ebc0c8bb
JJ
4707 PR rtl-optimization/19012
4708 * config/i386/i386.md (addqi_1_slp): Set memory attribute.
4709
0210ae14
JJ
4710 PR rtl-optimization/18861
4711 * cfgbuild.c (BLOCK_USED_BY_TABLEJUMP): Define.
4712 (FULL_STATE): Define.
4713 (mark_tablejump_edge): New function.
4714 (purge_dead_tablejump_edges): New function.
4715 (find_bb_boundaries): Use it.
4716
8870e212
JJ
4717 PR tree-optimization/18828
4718 * builtins.c (expand_builtin_next_arg): Remove argument and all
4719 the argument checking.
4720 (expand_builtin): Adjust caller.
4721 (expand_builtin_va_start): Likewise. Remove error for too many
4722 arguments.
4723 (fold_builtin_next_arg): Issue error for too many arguments.
4724 After checking arguments, replace them with magic arguments that
4725 prevent further checking of the args.
4726
9fb29c46
JDA
47272005-01-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4728
4729 * pa64-hpux.h (STARTFILE_SPEC): Fix typo in spec.
4730
9a3bf943
RS
47312005-01-06 Roger Sayle <roger@eyesopen.com>
4732
4733 PR target/6077
4734 * gcc.c (input_suffix_matches): Tweak the semantics of %{.s:...}
4735 and %{.S:...} (and their negative variants) to test whether the
4736 input file is assembler or pre-processed-assembler independent of
4737 the actual filename extension.
4738
c79fc296
RS
47392005-01-06 Roger Sayle <roger@eyesopen.com>
4740
4741 * simplify-rtx.c (simplify_subreg): Simplify truncations of shifts
4742 of sign or zero extended values.
4743
59d7d767
GK
47442005-01-06 Geoffrey Keating <geoffk@apple.com>
4745
4746 * c-cppbuiltin.c (builtin_define_float_constants): Set __*_EPSILON__
4747 for IBM long double format correctly.
4748
1f24dd47 47492005-01-06 Daniel Berlin <dberlin@dberlin.org>
fc474307 4750
1f24dd47
DB
4751 Fix PR tree-optimization/18792
4752
4753 * tree-data-ref.c (build_classic_dist_vector): Change first_loop
4754 to first_loop_depth, and use loop depth instead of loop number.
4755 (build_classic_dir_vector): Ditto.
4756 (compute_data_dependences_for_loop): Use depth, not loop number.
fc474307 4757 * tree-loop-linear.c (try_interchange_loops): Use loop depth, not loop
1f24dd47
DB
4758 number. Pass in loops, instead of loop numbers.
4759 (gather_interchange_stats): Ditto.
4760 (linear_transform_loops): Ditto.
4761
27916b83
RS
47622005-01-06 Richard Sandiford <rsandifo@redhat.com>
4763
4764 PR rtl-opt/13299
4765 * loop.c (get_monotonic_increment, biased_biv_fits_mode_p,
4766 biv_fits_mode_p, extension_within_bounds_p): New functions.
4767 (check_ext_dependent_givs): Use them.
4768
4ab80063
RS
47692005-01-06 Roger Sayle <roger@eyesopen.com>
4770
4771 * cfgrtl.c (rtl_delete_block): A basic block may be followed by
4772 more than one barrier, in which case we should delete them all.
4773
12d3e34b
TS
47742005-01-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
4775
4776 * gcc.c (process_command): Change year in 'gcc --version' to 2005.
4777
9acf766f 47782005-01-05 Daniel Berlin <dberlin@dberlin.org>
fc474307 4779
9acf766f
DB
4780 Fix PR middle-end/19286
4781 Fix PR debug/19267
4782 * dwarf2out.c (gen_subprogram_die): If we've already tried to
4783 output this subprogram, simply ignore this attempt to do it again.
4784 (add_abstract_origin_attribute): Don't abort trying to add the abstract
4785 origin attribute if it's not possible.
4786 (gen_block_die): Don't ignore subblocks of "unused" blocks.
4787 (decls_for_scope): Ditto.
4788 * gimple-low.c (mark_blocks_with_used_subblocks): Remove.
4789 (mark_used_blocks): Don't call mark_blocks_with_used_subblocks.
fc474307 4790
e358acde
RH
47912005-01-05 Richard Henderson <rth@redhat.com>
4792
4793 PR target/11327
4794 * config/i386/i386.c (BUILTIN_DESC_SWAP_OPERANDS): New.
4795 (bdesc_2arg): Use it.
4796 (ix86_expand_binop_builtin): Force operands into registers
4797 when optimizing.
4798 (ix86_expand_unop_builtin, ix86_expand_unop1_builtin,
fc474307 4799 ix86_expand_sse_compare, ix86_expand_sse_comi,
e358acde
RH
4800 ix86_expand_builtin): Likewise.
4801
051d8245
RH
48022005-01-05 Richard Henderson <rth@redhat.com>
4803
4804 * config/ia64/ia64.c (rtx_needs_barrier): Handle CONST_VECTOR
4805 and VEC_SELECT.
4806 * config/ia64/vect.md (mulv8qi3): Re-implement with mix_[rl].
4807 (mulv4hi3): Set itanium_class mmmul.
4808 (fpack_sfxf, fpack_xfsf, fpack_xfxf): Remove.
4809 (fpack): Rename from fpack_sfsf.
4810
19f17bb9
RH
48112005-01-05 Richard Henderson <rth@redhat.com>
4812
4813 PR rtl-opt/10692
4814 * reload1.c (do_input_reload): Restrict the optimization deleteing
4815 a previous output reload to RELOAD_FOR_INPUT.
4816
46d096a3
SB
48172005-01-05 Steven Bosscher <stevenb@suse.de>
4818
4819 * combine.c (expand_compound_operation) <ZERO_EXTRACT>: Add
4820 comment that we fall through after case.
4821 (mark_used_regs_combine): Don't expect a SIGN_EXTRACT in a SET_DEST.
4822 (distribute_links): Likewise.
4823 * cse.c (cse_insn): Likewise.
4824 * cselib.c (cselib_invalidate_mem): Likewise.
4825 * df.c: Update comments at the top of the file.
4826 (read_modify_subreg_p): Update comments here too.
4827 (df_def_record_1): Don't expect a SIGN_EXTRACT in a SET_DEST.
4828 * flow.c (mark_set_1): Likewise.
4829 (mark_used_regs): Likewise.
4830 * gcse.c (mems_conflict_for_gcse_p): Likewise.
4831 (canon_list_insert): Likewise.
4832 (mark_set): Likewise.
4833 (try_replace_reg): Likewise.
4834 (store_killed_in_insn): Likewise.
4835 * loop.c (count_one_set): Likewise.
4836 (basic_induction_var): Likewise.
4837 * postreload-gcse.c (find_mem_conflicts): Likewise.
4838 * postreload.c (reload_combine_note_store): Likewise.
4839 (move2add_note_store): Likewise.
4840 * reload.c (find_equiv_reg): Likewise.
4841 (mark_referenced_resources): Likewise.
4842 * rtlanal.c (set_noop_p): Likewise.
4843 (note_stores): Likewise.
4844 (note_uses): Likewise.
4845 * sched-deps.c (sched_analyze_1): Likewise.
4846 * sched-rgn.c (check_live_1): Likewise.
4847 (update_live_1): Likewise.
4848 * config/i860/i860.c: Likewise.
4849
4850 * rtl.dec (SIGN_EXTRACT): Document that this cannot appear as
4851 an lvalue.
4852 (ZERO_EXTRACT): Mention that this one can be an lvalue.
4853
4854 * doc/rtl.texi: Update documentation for bit-fields and SET.
4855
65a878f5
RS
48562005-01-05 Roger Sayle <roger@eyesopen.com>
4857
4858 * ifcvt.c (find_if_case_1): Revert 2005-01-04 change.
4859
d2ad2c8a
JH
48602005-01-05 Jan Hubicka <jh@suse.cz>
4861 Richard Henderson <rth@redhat.com>
4862
4863 PR target/18910
fc474307 4864 * config/i386/i386.c (ix86_expand_move): Handle tls symbols
d2ad2c8a
JH
4865 with an offset.
4866
2cdb3148
RH
48672005-01-05 Richard Henderson <rth@redhat.com>
4868
4869 PR target/12902
4870 * config/i386/i386.md (sse_movhps, sse_movlps): Remove.
4871 (sse_shufps): Change operand 3 to const_int_operand.
4872 (sse2_storelps): Fix typo in template.
4873 (sse_storehps, sse_loadhps, sse_storelps, sse_loadlps): New.
4874 * config/i386/i386.c (ix86_expand_vector_move_misalign): Use them.
4875 (ix86_expand_builtin): Likewise.
4876
48772005-01-05 Julian Brown <julian@codesourcery.com>
3dd7ab65
JB
4878
4879 * config/arm/arm.c (arm_return_in_memory): Treat complex types
4880 as aggregates for AAPCS ABIs.
4881
59d8fe27
SS
48822005-01-05 Stan Shebs <shebs@apple.com>
4883
4884 * unwind-dw2-fde-darwin.c (examine_objects): Use 64-bit
4885 Mach-O getters if ppc64.
4886 * config/darwin.c (darwin_asm_output_dwarf_delta): Obey
4887 size argument.
4888 * config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
4889 signed four-byte field for global code case.
4890 (STARTFILE_SPEC): Avoid crt2.o for 64-bit compilation.
4891
010c4d9c
RS
48922005-01-05 Roger Sayle <roger@eyesopen.com>
4893
4894 PR middle-end/19100
4895 * c-common.c: Include real.h.
4896 (c_common_truthvalue_conversion): Avoid destructively modifying expr.
4897 Correctly handle TREE_CONSTANT_OVERFLOW for INTEGER_CST.
4898 Correctly handle TREE_CONSTANT_OVERFLOW and NaNs for REAL_CST.
4899 * Makefile.in (c-common.o): Update dependencies.
4900
9368fb8f
JM
49012005-01-05 Joseph S. Myers <joseph@codesourcery.com>
4902
4903 * c-parse.in (asm_string): Add trailing semicolon.
4904
9143de5c
JM
49052005-01-05 Joseph S. Myers <joseph@codesourcery.com>
4906
4907 * c-parse.in (asm_string): New. Don't allow wide strings in
4908 'asm'.
4909 (simple_asm_expr, asm_argument, asm_operand, asm_clobbers): Use
4910 asm_string instead of STRING.
4911
0953878d
JM
49122005-01-05 Joseph S. Myers <joseph@codesourcery.com>
4913
4914 * c-typeck.c (constructor_no_implicit): Remove.
4915 (set_designator, process_init_element): Don't check
4916 constructor_no_implicit.
4917
cf99f196
R
49182005-01-05 J"orn Rennecke <joern.rennecke@st.com>
4919 Kaz Kojima <kkojima@gcc.gnu.org>
4920
4921 PR target/16482
4922 * lcm.c (create_pre_exit): New.
4923 (optimize_mode_switching): In MODE_ENTRY / MODE_EXIT case, set
4924 ENTRY_EXIT_EXTRA to 3. Use create_pre_exit.
4925
712ecf4d
RE
49262004-01-05 Richard Earnshaw <rearnsha@arm.com>
4927
4928 * arm.h (TARGET_OPTIONS): Correctly record -mhard-float and
4929 -msoft-float in target_float_switch.
4930 * arm.c (arm_override_options): Fix processing of target_float_switch.
4931
082cca25
RE
49322004-01-05 Richard Earnshaw <rearnsha@arm.com>
4933
4934 * arm/vfp.md (arm_movsi_vfp): Hide VFP register classes from register
4935 preferencing.
4936
c2b43d7a
UB
49372004-01-05 Uros Bizjak <uros@kss-loka.si>
4938
4939 * doc/invoke.texi (Intel 386 and AMD x86-64 Options):
ead553a1 4940 Replace i387 with 'i386 compiler' in -mfpmath=sse option.
c2b43d7a 4941
e82f5749
RS
49422005-01-04 Roger Sayle <roger@eyesopen.com>
4943
4944 * ifcvt.c (find_if_case_1): Avoid creating an empty forwarder block,
4945 if deleting the then-block allows the test-block to fallthru to the
4946 else-block.
4947
f8f5c4b3
AP
49482005-01-04 Andrew Pinski <pinskia@physics.uc.edu>
4949
4950 PR c/19152
4951 * c-decl.c (diagnose_mismatched_decls): Accept "extern inline" declared
4952 after the full declaration if the are in two different TUs.
4953
49542005-01-04 Richard Henderson <rth@redhat.com>
fa588429
RH
4955
4956 PR tree-opt/19158
4957 * tree-sra.c (generate_one_element_init): Just
4958 call gimplify_and_add.
4959 (generate_element_init): Record the
4960 new referenced variables and mark them for renaming
4961 and split out to ...
4962 (generate_element_init_1): This.
4963 (scalarize_init): Don't call push_gimplify_context/
4964 pop_gimplify_context.
4965
5f0c48ed
GK
49662005-01-04 Geoffrey Keating <geoffk@apple.com>
4967
4968 * toplev.c (get_src_pwd): Handle failure of getpwd().
4969
e3523f56
RS
49702005-01-04 Roger Sayle <roger@eyesopen.com>
4971
4972 * fold-const.c (fold_single_bit_test): Delete unreachable handling
4973 of TRUTH_NOT_EXPR.
4974 (fold): Don't call fold_single_bit_test with a TRUTH_NOT_EXPR, as
4975 all the cases handled by it are inverted by invert_truthvalue.
4976
9746bb27
EB
49772005-01-04 Eric Botcazou <ebotcazou@libertysurf.fr>
4978
4979 * config/sparc/sparc.md (save_register_windowdi): Add missing mode.
4980 (save_register_windowsi): Likewise.
4981
bfee926b
RH
49822005-01-04 Richard Henderson <rth@redhat.com>
4983
4984 * tree-mudflap.c (mf_varname_tree): Fix thinko setting declname.
4985
21e5076a
UB
49862005-01-04 Uros Bizjak <uros@kss-loka.si>
4987
4988 PR middle-end/17767
4989 * cse.c (fold_rtx) [RTX_COMPARE, RTX_COMM_COMPARE]: Don't attempt
4990 any simplifications of vector mode comparison operators.
4991 * simplify-rtx.c (simplify_relational_operation): Fix variable name.
4992
8ea9d0c7
PB
49932005-01-04 Paolo Bonzini <bonzini@gnu.org>
4994 Devang Patel <dpatel@apple.com>
4995
4996 PR tree-optimization/18308
8ea9d0c7
PB
4997 * tree-if-conv.c (add_to_dst_predicate_list): Gimplify
4998 the operands before creating a new expression.
4999 * dojump.c (do_jump): Make drop_through_label available
5000 for all cases. Add expansion of COND_EXPR.
5001
8c427b58
IR
50022005-01-04 Ira Rosen <irar@il.ibm.com>
5003
5004 * tree-vectorizer.c (vect_analyze_offset_expr): Test for
5005 INTEGER_CST instead of TREE_CONSTANT.
5006 (vect_gen_niters_for_prolog_loop): Test for INTEGER_CST
5007 instead of TREE_CONSTANT.
5008 (vect_analyze_pointer_ref_access): Test for INTEGER_CST
5009 instead of TREE_CONSTANT.
5010
8287d24a
EB
50112005-01-04 Eric Botcazou <ebotcazou@libertysurf.fr>
5012
5013 * tree-eh.c (replace_goto_queue): Return early if the queue is empty.
5014
9e4ae64b
UB
50152005-01-04 Uros Bizjak <uros@kss-loka.si>
5016
5017 PR target/19240
5018 * config/i386/i386.md (*fop_df_1_i387): Disable for TARGET_SSE_MATH.
5019 (*fop_df_1_i387): Disable for (TARGET_SSE2 && TARGET_SSE_MATH).
5020
c756af79
RH
50212005-01-03 Richard Henderson <rth@redhat.com>
5022
5023 * fold-const.c (force_fit_type): Cope with types larger than 2 HWI.
5024 (fold_convert_const_int_from_int, fold_convert_const_int_from_real,
5025 fold_convert_const_real_from_real): Split out from ...
5026 (fold_convert_const): ... here.
5027
d30c9461
RH
50282005-01-03 Richard Henderson <rth@redhat.com>
5029
5030 PR target/19235
5031 * config/i386/i386.md (movdi_2): Separate SSE1 and SSE2 alternatives.
5032 (mov<MMXMODEI>_internal): Likewise.
5033 (movdf_nointeger): Prefer Y while not preferring, but allowing, x.
5034 Add V2SF case; use it for SSE1; don't use TI.
5035 (movdf_integer): Likewise.
5036 (mov<SSEMODEI>_internal, movti_internal): Force V4SF for SSE1.
5037
7d23434b
IR
50382005-01-03 Ira Rosen <irar@il.ibm.com>
5039
5040 * tree-vectorizer.c (vect_strip_conversions): New function.
5041 (vect_analyze_offset_expr): Call vect_strip_conversions. Add
fc474307 5042 check for binary class.
7d23434b 5043
1eb3331e
DB
50442005-01-03 Daniel Berlin <dberlin@dberlin.org>
5045
5046 Fix PR debug/17924
5047 Fix PR debug/19191
5048 * dwarf2out.c (block_ultimate_origin): Follow decl origin if origin
5049 is a decl.
5050 * gimple-low.c (mark_blocks_with_used_vars): New function.
5051 (mark_blocks_with_used_subblocks): Ditto.
5052 (mark_used_blocks): Ditto.
5053 (pass_mark_used_blocks): New pass.
5054 * tree-inline.c: Include debug.h.
5055 (expand_call_inline): Call outlining_inline_function here.
5056 * tree-optimize.c (init_tree_optimization_passes): Add
fc474307 5057 pass_mark_used_blocks.
1eb3331e
DB
5058 * tree-pass.h (pass_mark_used_blocks): New.
5059 * Makefile.in (tree-inline.o): Add debug.h dependency.
5060
a035080c
GK
50612005-01-03 Geoffrey Keating <geoffk@apple.com>
5062
d7001ae5
GK
5063 * config/darwin.c (darwin_handle_weak_import_attribute): Permit
5064 VAR_DECLs to have weak_import attribute.
5065
a035080c
GK
5066 * config/rs6000/darwin-fallback.c: Use 'ucontext_t' rather than
5067 'struct ucontext'.
5068
1ab219d3
SB
50692004-01-03 Steven Bosscher <stevenb@suse.de>
5070
5071 * passes.c (rest_of_compilation): Don't run regmove if only
5072 flag_expensive_optimizations, require flag_regmove instead.
5073
e6abef61
EB
50742005-01-03 Eric Botcazou <ebotcazou@libertysurf.fr>
5075
5076 * config/sparc/litecoff.h (TARGET_OS_CPP_BUILTINS): Do not
5077 register "sparc".
5078 * config/sparc/sysv4-only.h (TARGET_OS_CPP_BUILTINS): Likewise.
5079 * config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
5080 * config/sparc/sol2-64.h (TARGET_SUB_OS_CPP_BUILTINS): Delete.
5081 * config/sparc/sp64-elf.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
5082
f61134e8
RH
50832005-01-03 Richard Henderson <rth@redhat.com>
5084
5085 * config/ia64/ia64.c (TARGET_VECTOR_MODE_SUPPORTED_P): New.
5086 (ia64_const_ok_for_letter_p): New.
5087 (ia64_const_double_ok_for_letter_p): New.
5088 (ia64_extra_constraint): New.
5089 (ia64_expand_vecint_compare): New.
5090 (ia64_expand_vcondu_v2si): New.
5091 (ia64_expand_vecint_cmov): New.
5092 (ia64_expand_vecint_minmax): New.
5093 (ia64_print_operand): Add 'v'.
5094 (ia64_preferred_reload_class): New.
5095 (ia64_vector_mode_supported_p): New.
5096 * config/ia64/ia64.h (UNITS_PER_SIMD_WORD): New.
5097 (PREFERRED_RELOAD_CLASS): Move to function.
5098 (CONST_OK_FOR_LETTER_P): Move to function.
5099 (CONST_DOUBLE_OK_FOR_LETTER_P): Move to function.
5100 (CONSTRAINT_OK_FOR_Q, CONSTRAINT_OK_FOR_R): Remove.
5101 (CONSTRAINT_OK_FOR_S, CONSTRAINT_OK_FOR_T): Remove.
5102 (EXTRA_CONSTRAINT): Move to function.
5103 * config/ia64/ia64.md: Include vect.md.
5104 (itanium_class): Add mmalua.
5105 (type): Handle it.
5106 * config/ia64/itanium1.md (1_mmalua): New. Add it to bypasses.
5107 (1b_mmalua): New.
5108 * config/ia64/itanium2.md (2_mmalua, 2b_mmalua): Similarly.
5109 * config/ia64/predicates.md (gr_reg_or_0_operand): Accept any
5110 CONST0_RTX.
5111 (const_int_2bit_operand): New.
5112 (fr_reg_or_0_operand): New.
5113 * config/ia64/ia64-modes.def: Add vector modes.
5114 * config/ia64/ia64-protos.h: Update.
5115 * config/ia64/vect.md: New file.
5116
3198b947
RH
51172005-01-03 Richard Henderson <rth@redhat.com>
5118
5119 * simplify-rtx.c (simplify_binary_operation): Handle VEC_CONCAT.
5120
088df4c2
UB
51212005-01-03 Uros Bizjak <uros@kss-loka.si>
5122
5123 PR target/19236
5124 * config/i386/i386.c (log1psf2): Change mode of operands[0,1]
5125 to SFmode.
5126 (log1pdf2): Change mode of operands[0,1] to DFmode.
5127
548a6c4f
EB
51282005-01-03 Eric Botcazou <ebotcazou@libertysurf.fr>
5129
5130 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Define to false.
5131 * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Define to true.
5132 * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
5133 * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define to
5134 SPARC_RELAXED_ORDERING.
5135
0703dceb
RH
51362005-01-03 Richard Henderson <rth@redhat.com>
5137 Uros Bizjak <uros@kss-loka.si>
5138
5139 PR target/14631
5140 * config/i386/i386.c (ix86_expand_builtin): [IX86_BUILTIN_PINSRW,
5141 IX86_BUILTIN_PINSRW128]: Fix wrong selector range in error message.
5142 * config/i386/i386.md (mmx_pinsrw, sse2_pinsrw): Fix selector
5143 handling.
5144 (*mmx_pinsrw, *sse2_pinsrw): New patterns.
5145 * config/i386/i386/predicates.md (const_pow2_1_to_8_operand,
5146 const_pow2_1_to_128_operand): New predicates.
5147
97236777
GM
51482005-01-02 Greg McGary <greg@mcgary.org>
5149
5150 * tree-mudflap.c (mf_varname_tree): decl_printable_name handles
5151 anonymous decls.
5152 (mf_xform_derefs_1) [RESULT_DECL, STRING_CST]: Handle as innermost
5153 object. [ptr_type]: Remove unused variable.
5154 Remember nearest addressable array-element or record-component
5155 when checking bitfield components. Tolerate empty BIND_EXPR.
5156
155a8213
RH
51572005-01-01 Richard Henderson <rth@redhat.com>
5158
5159 * tree-vectorizer.c (vect_analyze_offset_expr): Strip conversions
5160 that don't narrow the value. Fail for other conversions.
5161
bedb9fc0
RH
51622005-01-01 Richard Henderson <rth@redhat.com>
5163
5164 PR c/19031
5165 * c-decl.c (pop_file_scope): Call maybe_apply_pending_pragma_weaks.
5166 * c-lang.c (finish_file): Don't do it here.
5167 * objc/objc-act.c (objc_finish_file): Likewise.
5168
5169 * cgraph.c (decl_assembler_name_equal): New.
5170 (cgraph_node_for_asm, cgraph_varpool_node_for_asm): New.
5171 (cgraph_varpool_node): Actually link up cgraph_varpool_nodes.
5172 * cgraph.h (struct cgraph_varpool_node): Add next.
5173 (cgraph_node_for_asm, cgraph_varpool_node_for_asm): Declare.
5174 * varasm.c (assemble_alias): Mark the target as needed.
5175
1cb2fc7b
AP
51762005-01-01 Andrew Pinski <pinskia@physics.uc.edu>
5177
5178 PR middle-end/19221
5179 * function.c (get_arg_pointer_save_area): Use entry_of_function
5180 instead of get_insns.
5181
0ca5fbc0
RS
51822005-01-01 Roger Sayle <roger@eyesopen.com>
5183 Andrew Pinski <pinskia@physics.uc.edu>
5184 James E. Wilson <wilson@specifixinc.com>
5185
5186 PR rtl-optimization/12092
5187 * loop.c (emit_prefetch_instructions): Do nothing if PREFETCH_BLOCK
5188 is zero.
5189
91c537b7
RS
51902005-01-01 Roger Sayle <roger@eyesopen.com>
5191 Olivier Hainque <hainque@act-europe.fr>
5192
5193 * tree.c (int_fits_type_p): A narrower type always fits in a
5194 wider one, except for negative values into unsigned types.
5195
69618c49
RS
51962005-01-01 Roger Sayle <roger@eyesopen.com>
5197
5198 * tree.c (int_fits_type_p): Compare the result of force_fit_type
5199 with the original constant rather than require TREE_OVERFLOW.
5200
43e05e45
SB
52012005-01-01 Steven Bosscher <stevenb@suse.de>
5202
5203 PR middle-end/17544
5204 * c-decl.c (finish_function): If compiling C99, annotate the
5205 compiler generated return with the current file name and line 0.
5206 * tree-cfg.c (remove_useless_stmts_warn_notreached): Only warn if
5207 the source line is greater than 0.
5208 (remove_bb): Likewise.
5209
7a4515d7 5210See ChangeLog.12 for earlier changes.
This page took 0.726272 seconds and 5 git commands to generate.