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