]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
12658_thread-1.cc: Don't XFAIL on GNU/Linux.
[gcc.git] / gcc / ChangeLog
CommitLineData
4cfdf48f
BW
12005-03-09 Bob Wilson <bob.wilson@acm.org>
2
3 * config/xtensa/xtensa.h (TRAMPOLINE_TEMPLATE): Use "no-transform"
4 assembly directive instead of deprecated "no-generics".
5
9c90a97e
UW
62005-03-09 Ulrich Weigand <uweigand@de.ibm.com>
7
8 * config/s390/s390.c (s390_secondary_output_reload_class): Adapt check
9 for non-offsettable memory references to cope with outstanding reload
10 replacements.
11 * config/s390/s390.md ("reload_outti"): Call find_replacement to
12 avoid losing outstanding address reloads.
13 ("reload_outdi", "reload_outdf"): Likewise.
14
d86dc303
KG
152005-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16
17 * builtins.c (fold_builtin_cbrt, fold_builtin_pow): Rearrange
18 code. Add more cbrt transformations.
19
d3592adf
KG
202005-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21
22 * fold-const.c (fold_unary_to_constant): Add FIX_ROUND_EXPR case.
23
62ab45cc
KH
242005-03-09 Kazu Hirata <kazu@cs.umass.edu>
25
26 * fold-const.c (fold_unary, fold_binary, fold_ternary): Return
27 NULL_TREE when a given tree is not simplified.
28 (fold): Return the original tree when any of the functions
29 mentioned above NULL_TREE.
30
fbaa905c
KH
31 * fold-const.c (fold_unary, fold_binary): Take decomposed
32 arguments, code, type, op0, and op1 in case of fold_binary.
33 (fold): Update calls to fold_unary and fold_binary.
34
a35da91f
RS
352005-03-09 Roger Sayle <roger@eyesopen.com>
36
37 * builtins.c (fold_builtin_unordered_cmp): Change prototype to take
38 a fndecl and an arglist instead of a CALL_EXPR, exp.
39
2b410855
KH
402005-03-09 Kazu Hirata <kazu@cs.umass.edu>
41
42 * cfglayout.c (fixup_reorder_chain): Remove old_bb.
43
a9b2ee88
KH
44 * cfgrtl.c (cfg_layout_merge_blocks): Remove new_e.
45
b258008a
KH
46 * expr.c (expand_assignment): Remove orig_to_rtx.
47
5758c0f1
KH
48 * fold-const.c (int_const_binop): Remove no_overflow.
49
40e48138
KH
50 * ifcvt.c (noce_emit_move_insn): Remove inmode.
51
3c3f4b56
KH
52 * loop-iv.c (get_biv_step_1): Remove lhs.
53
d300f6bb
KH
54 * loop-unroll.c (analyze_insns_in_loop): Remove preheader.
55
e140d617
KH
56 * real.c (real_nan): Remove neg.
57
5e35992a
KH
58 * function.c (thread_prologue_and_epilogue_insns): Remove i
59 and newinsn.
60
1d846d0d
KH
61 * tree-data-ref.c (array_base_name_differ_p): Remove ta and
62 tb.
63
29b86a49
KH
64 * tree-eh.c (tree_could_trap_p): Remove idx.
65
184d1bb5
KH
66 * tree-into-ssa.c (ann): Remove ann.
67
df0159b7
KH
68 * tree-outof-ssa.c (num_nodes): Remove num_nodes.
69
dc3fcf39
KH
70 * tree-sra.c (decide_block_copy): Remove inst_count.
71
a92b9bdf
KH
72 * tree-ssa-alias.c (may_alias_p): Remove v_ann.
73
e2b8bd6c
KH
74 * tree-ssa-loop-im.c (lhs): Remove.
75
5e91f7a3
KH
76 * cfgbuild.c (state, STATE, SET_STATE,
77 BLOCK_USED_BY_TABLEJUMP, FULL_STATE): Move just before
78 make_edges.
79 (make_edges): Speed up by skipping blocks with BLOCK_ORIGINAL.
80 (find_basic_blocks): Set the state of each basic block to
81 BLOCK_NEW.
82
b0c32a73
JL
832005-03-08 Jeff Law <law@redhat.com>
84
85 * tree-cfg.c (cleanup_control_flow): If removal of a computed
86 goto results in the removal of edges in the CFG, then we need
87 to recompute dominators.
88
b735d54b
BE
892005-03-09 Ben Elliston <bje@au.ibm.com>
90
91 * c-common.c (c_do_switch_warnings): Comment fix.
92
1fbbc055
JB
932005-03-08 Julian Brown <julian@codesourcery.com>
94
95 * Patch from 2005-03-08 reverted for causing regressions and
96 ppc-darwin bootstrap failure.
97
4d3e6fae
FJ
982005-03-08 Fariborz Jahanian <fjahanian@apple.com>
99
100 * config/rs6000/rs6000.c (invalid_arg_for_unprototyped_fn):
101 Define the real function for ppc-darwin.
102 * c-typeck.c (convert_arguments): Check for target-specific
103 invalid argument call to unprototyped function.
104 * target-def.h (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
105 New Macro.
106 * target.h (invalid_arg_for_unprototyped_fn): New field
107 in struct calls.
108 * targhooks.c (hook_invalid_arg_for_unprototyped_fn): New
109 default target hook.
110 * targhooks.h (hook_invalid_arg_for_unprototyped_fn):
111 Declare.
112
802415d1
KH
1132005-03-08 Kazu Hirata <kazu@cs.umass.edu>
114
115 * c-typeck.c (constructor_stack, constructor_range_stack,
116 initializer_stack): Make them static.
117
06c8f57b
KH
118 * cfg.c (rbi_pool): Make it static.
119
1ebf7687
KH
120 * gimple-low.c (lower_stmt_body): Make it static.
121 * tree-flow.h: Remove the corresponding prototype. Don't
122 declare lower_data.
123
392c64a0
KH
124 * sched-deps.c (cache_size): Make it static.
125
1bb11558
KH
126 * stor-layout.c (lang_adjust_rli): Make it static.
127
323f0b8f
JB
1282005-03-08 Julian Brown <julian@codesourcery.com>
129
130 * config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK
131 from being used for symbols with vague linkage when
132 HAVE_GAS_COMDAT_GROUP is true.
133
77fb4cc1
R
1342005-03-08 J"orn Rennecke <joern.rennecke@st.com>
135
136 * jump.c (invert_jump_1): Don't call redirect_jump_1 with
137 nlabel == JUMP_LABEL (jump).
138
6c6cfbfd
KH
1392005-03-08 Kazu Hirata <kazu@cs.umass.edu>
140
141 * c-common.c, c-opts.c, combine.c, cse.c, dojump.c,
142 gimplify.c, tree-dfa.c, tree-ssa-loop-ivopts.c,
143 tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-sink.c,
144 tree-vect-analyze.c, tree.def, tree.h: Fix comment formatting.
145
6e9a3221
AN
1462005-03-08 Alexey Neyman <alex.neyman@auriga.ru>
147
148 PR c/14411
149 * calls.c (flags_from_decl_or_type): Handle eturns_twice' attribute.
150 * c-common.c (handle_returns_twice): New function.
151 (c_common_attribute_table): Declare eturns_twice' attribute.
152 * doc/extend.texi: Document eturns_twice' attribute.
153 * tree.h (DECL_IS_RETURNS_TWICE): New macro.
154 (struct tree_decl): Add returns_twice_flag.
155
4b2bb87d
KH
1562005-03-08 Kazu Hirata <kazu@cs.umass.edu>
157
158 * tree-ssa-phiopt.c: Fix a comment typo.
159
25d8d27d
KH
160 * c-semantics.c, cfghooks.c, diagnostic.h, loop-iv.c,
161 loop-unswitch.c, modulo-sched.c, stor-layout.c, tree-gimple.h,
162 config/i386/cygwin1.c, doc/cfg.texi, doc/objc.texi: Update
163 copyright.
164
36013987
RH
1652005-03-08 Richard Henderson <rth@redhat.com>
166
167 * config/alpha/alpha.c (code_for_builtin): Replace special-case
168 builtin codes with ctzdi2, clzdi2, popcountdi2.
169 (struct alpha_builtin_def): Add is_const.
170 (zero_arg_builtins, one_arg_builtins, two_arg_builtins): Init it.
171 (alpha_v8qi_u, alpha_v8qi_s, alpha_v4hi_u, alpha_v4hi_s): New.
172 (alpha_init_builtins): Init them. Set nothrow and const attributes
173 on builtins.
174 (alpha_fold_builtin_cmpbge, alpha_fold_builtin_zapnot,
175 alpha_fold_builtin_extxx, alpha_fold_builtin_insxx,
176 alpha_fold_builtin_mskxx, alpha_fold_builtin_umulh,
177 alpha_fold_vector_minmax, alpha_fold_builtin_perr,
178 alpha_fold_builtin_pklb, alpha_fold_builtin_pkwb,
179 alpha_fold_builtin_unpkbl, alpha_fold_builtin_unpkbw,
180 alpha_fold_builtin_cttz, alpha_fold_builtin_ctlz,
181 alpha_fold_builtin_ctpop, alpha_fold_builtin): New.
182 (TARGET_FOLD_BUILTIN): New.
183 * config/alpha/alpha.md (UNSPEC_CTTZ): Remove.
184 (UNSPEC_CTLZ, UNSPEC_CTPOP): Remove.
185 (ffsdi2): Use ctz.
186 (cttz, builtin_cttz, builtin_ctlz, builtin_ctpop): Remove.
187
6cd3dd5b
IR
1882005-03-08 Ira Rosen <irar@il.ibm.com>
189
190 PR tree-optimization/20122
191 * tree-vect-analyze.c (vect_object_analysis): Analyze initial
192 condition of access function instead of base.
193
be477406 1942005-03-07 Jeff Law <law@redhat.com>
e7afe656 195 Steven Bosscher <stevenb@suse.de>
be477406
JL
196
197 * tree-cfg.c (find_taken_edge_computed_goto): New function.
198 (find_taken_edge): Call find_taken_edge_computed_goto as
199 appropriate. Allow any gimple invariant rather than just
200 INTEGER_CST for VAL.
201 (cleanup_control_flow): Cleanup a computed goto which has turned
202 into a simple goto.
203 (tree_merge_blocks): If block B has any forced labels, move
204 them to the start of block A.
205 * tree-ssa-dom.c (thread_across_edge): Allow threading across
206 computed gotos as well.
207 * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Handle
208 removal of unnecessary computed gotos too.
209 (lookup_redirection_data): Fix type of INSERT argument. Callers
210 updated.
211
0385f644
KH
2122005-03-08 Kazu Hirata <kazu@cs.umass.edu>
213
214 * tree-ssa-phiopt.c: Update copyright. Fix indentations.
215 Remove trailing spaces.
216
c24b7de9
KH
217 * gimplify.c (gimple_push_bind_expr, gimple_pop_bind_expr,
218 unshare_all_trees): Make them static.
219 * tree-gimple.h: Remove the corresponding prototypes.
220
2863ddd2
KH
221 * diagnostic.h: Remove unused prototype
222 debug_output_buffer.
223 * modulo-sched.c: Remove unused prototype
224 set_row_column_for_ps.
225
58261bc2
KH
226 * tree-ssa-phiopt.c (tree_ssa_phiopt,
227 replace_phi_edge_with_variable): Remove unused variable i.
228
685ae8c9
PB
2292005-03-07 Per Bothner <per@bothner.com>
230
231 * tree.h (DECL_IS_BUILTIN): Reverted my patch from earlier today.
232
80c4ed35
AP
2332005-03-06 Andrew Pinski <pinskia@physics.uc.edu>
234
235 PR tree-opt/17671
236 * tree-ssa-phiopt.c (tree_ssa_phiopt): Rewrite so we base the
237 bbs on the COND_EXPR instead of the PHI_NODEs.
238 (candidate_bb_for_phi_optimization): Remove.
239 (replace_phi_with_stmt): Rename to ...
240 (replace_phi_edge_with_variable): this and change so that we
241 replace the phi argument instead of removing the PHI.
242 (conditional_replacement): Change so we deal with PHI with more
243 than two arguments.
244 (value_replacement): Likewise.
245 (abs_replacement): Likewise.
246
64022b5d
AH
2472005-03-07 Aldy Hernandez <aldyh@redhat.com>
248
249 * config/rs6000/rs6000-protos.h: Rename output_e500_flip_eq_bit to
250 output_e500_flip_gt_bit.
251
252 * config/rs6000/rs6000.c (print_operand): case D: Print out bit 31
253 as bit 31.
254 (rs6000_generate_compare): Fix logic to look at the correct bits.
255 (output_e500_flip_eq_bit): Rename to output_e500_flip_gt_bit.
256 Look at GT bit.
257 (rs6000_emit_sCOND): Rename gen_e500_flip_eq_bit to
258 gen_e500_flip_gt_bit. Rename gen_move_from_CR_eq_bit to
259 gen_move_from_CR_gt_bit.
260
261 * config/rs6000/rs6000.md ("move_from_CR_eq_bit"): Change bit
262 ("move_from_CR_eq_bit"): Rename to move_from_CR_gt_bit.
263 (UNSPEC_MV_CR_EQ): Rename to UNSPEC_MV_CR_GT.
264
265 * config/rs6000/spe.md ("e500_cr_ior_compare"): New.
266 (E500_CR_IOR_COMPARE): New constant.
267
5fa09df4
EC
2682005-03-08 Earl Chew <earl_chew@agilent.com>
269 David Billinghurst <David.Billinghurst@riotinto.com>
270
271 * config/i386/host-cygwin.c: New file to support precompiled
272 headers on cygwin
273 * config/i386/x-cygwin: Use host-cygwin.c on cygwin host
274 * config.host: Use above files for cygwin host.
275
92db3ec9
DE
2762005-03-07 David Edelsohn <edelsohn@gnu.org>
277
278 * fold-const.c (fold_binary_op_with_conditional_arg): Fix typo
279 ordering ops from earlier change.
280
dbce1570
PB
2812005-03-07 Per Bothner <per@bothner.com>
282
283 Various fixes to allow us to again build if --enable-mapped-location:
284 * c-decl.c (finish_function): Use SET_EXPR_LOCATION instead of
285 unavailable annotate_with_file_line, if USE_MAPPED_LOCATION.
286 * tree-cfg.c (remove_bb): If USE_MAPPED_LOCATION, change type of
287 local variable loc. Change logic appropriately.
288 * tree-vect-transform.c (vect_finish_stmt_generation): Use
289 EXPR_LOCATION rather than EXPR_LOCUS if USE_MAPPED_LOCATION.
290 * c-parser.c (c_parser_for_statement): Initialize loc variable.
291 * tree.h (DECL_IS_BUILTIN): Temporarily revert definition of
292 DECL_IS_BUILTIN in the USE_MAPPED_LOCATION because of jc1 issues.
293
1de80b0e
RS
2942005-03-07 Richard Sandiford <rsandifo@redhat.com>
295
296 PR rtl-optimization/19683
297 * reload1.c (choose_reload_regs): Pass the number of bits, not the
298 number of bytes, to smallest_int_for_mode. Fix arguments to
299 REG_CANNOT_CHANGE_MODE_P.
300
4cdc2a35
EB
3012005-03-07 Eric Botcazou <ebotcazou@libertysurf.fr>
302
303 * reorg.c (relax_delay_slots): Check that the jump is
304 conditional before trying to invert it.
305
cd735ab8
KH
3062005-03-07 Kazu Hirata <kazu@cs.umass.edu>
307
308 * bb-reorder.c (max_entry_frequency, max_entry_frequency):
309 Make them static.
310
0405cc0e
KH
311 * calls (stack_arg_under_construction): Make it static.
312
fa8718d7
KH
313 * flow.c (regs_live_at_setjmp): Make it static.
314 * flow.h: Remove the corresponding prototype.
315
cf0fa607
KH
316 * reload1.c (reload_startobj, reload_firstobj,
317 something_needs_operands_changed, reload_inherited,
318 reload_inheritance_insn, reload_override_in,
319 reload_spill_index): Make them static.
320
6db31844
KH
321 * recog.c (verify_changes): Make it static.
322 * recog.h: Remove the corresponding prototype.
323
12eff7b7
KH
324 * cfgbuild.c (find_sub_basic_blocks): Remove.
325 * basic-block.h: Remove the corresponding prototype.
326 * cfgexpand.c, cfgrtl.c: Don't mention find_sub_basic_blocks
327 in comments.
328 * doc/cfg.texi: Don't mention find_sub_basic_blocks.
329
249e538f
KH
330 * tree-ssa-operands.c (check_build_stmt): Remove.
331
2e56d969
KH
332 * stor-layout.c (set_alignment): Remove.
333 * tree.h: Remove the corresponding prototype.
334
d4222d43
KH
335 * tree-ssa-pre.c (has_abnormal_preds): Make it static.
336
8c80c4aa
KH
337 * tree-ssa-dce.c (control_dependence_map,
338 visited_control_parents): Make them static.
339
50f63b1a
KH
340 * cfghooks.c (verify_flow_info): Remove local variable
341 num_bb_notes.
342
94eb5ddb
KH
343 * cfgrtl.c (rtl_verify_flow_info_1): Remove local variable
344 last_bb_seen.
345
0d48fcd1
KH
346 * loop-unswitch.c (unswitch_loop): Remove local variable src.
347
01c65e8a
DB
3482005-03-07 David Billinghurst <David.Billinghurst@riotinto.com>
349
350 * config/i386/cygwin1.c(mingw_scan): Use xstrdup in calls to putenv.
351
543144ed
JM
3522005-03-07 Joseph S. Myers <joseph@codesourcery.com>
353
354 * config/ia64/hpux.h (LINK_SPEC): Add -z.
355 * config/ia64/ia64.c (ia64_function_value): Return a REG not a
356 PARALLEL for an empty structure.
357
209eaaff
KH
3582005-03-07 Kazu Hirata <kazu@cs.umass.edu>
359
360 * fold-const.c (fold_binary): Remove handling of RANGE_EXPR.
361
1eaea409
KH
362 * fold-const.c (fold_binary): Unroll the very first "for"
363 loop.
364
ede62875
DE
3652005-03-06 David Edelsohn <edelsohn@gnu.org>
366
367 * config/rs6000/predicates.md (branch_comparison_operator): Remove
368 redundant match_code test.
369 (scc_comparison_operator): Swap match_operand and match_code
370 tests.
371 (branch_positive_comparison_operator): Same.
372 (trap_comparison_operator): Use comparison_operator and swap with
373 match_code test.
374
a6990185
MM
3752005-03-06 Marek Michalkiewicz <marekm@amelek.gda.pl>
376
377 PR target/20288
378 * config/avr/avr.c (print_operand): Add 'p' and 'r'.
379 (out_movhi_r_mr): Read low byte of volatile MEM first.
380 (out_movhi_mr_r): Write high byte of volatile MEM first.
381
5211d65a
KH
3822005-03-05 Kazu Hirata <kazu@cs.umass.edu>
383
384 * cselib.c (reg_values, reg_values_size): Make them static.
f00822b2
KH
385
386 * cse.c (cse_reg_info_table): Make it static.
5211d65a 387
c1a408fd
KH
388 * fold-const.c (fold_unary): Use build1 instead of copy_node.
389
21cf294f
ZD
3902005-03-06 Zdenek Dvorak <dvorakz@suse.cz>
391
392 * cse.c (find_best_addr): Use canon_for_address.
393
25910ca4
KH
3942005-03-06 Kazu Hirata <kazu@cs.umass.edu>
395
396 * cse.c (fold_rtx_subreg, fold_rtx_mem): New.
397 (fold_rtx): Call fold_rtx_subreg and fold_rtx_mem to handle
398 SUBREG and MEM, respectively.
399
c933f71e
KH
400 * fold-const.c (fold_binary): Use code instead of t.
401
d7e5b287
KH
402 * fold-const.c (optimize_minmax_comparison): Take decomposed
403 arguments code, type, op0, and op1 instead of t.
404 (fold_binary): Update a call to optimize_minmax_comparison.
405
e1f04615
KH
406 * fold-const.c (fold_range_test): Take decomposed arguments
407 code, type, op0, and op1 instead of t.
408 (fold_binary): Update a call to fold_range_test.
409
e9da788c
KH
410 * fold-const.c (fold_binary_op_with_conditional_arg): Take
411 decomposed arguments code, type, op0, and op1 instead of t.
412 (fold_binary): Update a call to fold_range_test.
413
71047303
KH
4142005-03-06 Kazu Hirata <kazu@cs.umass.edu>
415
416 * fold-const.c (fold_binary): Avoid directly using the original
417 expression t as much as possible.
418
3f724eb8
KH
4192005-03-05 Kazu Hirata <kazu@cs.umass.edu>
420
421 * c-semantics.c (build_stmt): Use TYPE_P instead of
422 IS_NON_TYPE_CODE_CLASS.
423 * tree.h (IS_NON_TYPE_CODE_CLASS): Remove.
424 (NON_TYPE_CHECK): Use TYPE_P instead of
425 IS_NON_TYPE_CODE_CLASS.
426
75505450
KH
427 * fold-const.c (fold): Remove handling of binary expressions.
428
12bcfaa1
JM
4292005-03-05 James A. Morrison <phython@gcc.gnu.org>
430
431 * doc/c-tree.texi: Wrap comments in @r{}.
432 * doc/cpp.texi: Likewise.
433 * doc/cppinternals.texi: Likewise.
434 * doc/extend.texi: Likewise.
435 * doc/md.texi: Likewise.
436 * doc/objc.texi: Likewise.
437 * doc/sourcebuild.texi: Likewise.
438 * doc/tm.texi: Likewise.
439 * doc/tree-ssa.texi
440
52c3e649
KH
4412005-03-05 Kazu Hirata <kazu@cs.umass.edu>
442
443 * predict.c (apply_return_prediction): Standardize PHI chain
444 walking.
445 * tree-ssa.c (ssa_redirect_edge): Likewise.
446
25f99665
KH
447 * genattrtab.c, genemit.c, genoutput.c, genrecog.c,
448 gensupport.c, jump.c, tree-phinodes.c, unwind-dw2-fde-glibc.c:
449 Update copyright.
450
d19e3ef6
KH
451 * tree-phinodes.c (remove_phi_node): Drop the last argument.
452 * tree-flow.h: Adjust the prototype for remove_phi_node.
453 * lambda-code.c (perfect_nestify): Adjust a call to
454 remove_phi_node.
455 * tree-cfg.c
456 (remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
457 * tree-outof-ssa.c (eliminate_virtual_phis, remove_ssa_form):
458 Likewise.
459 * tree-ssa-dce.c (remove_dead_phis): Likewise.
460 * tree-ssa-loop-ivopts.c (remove_statement): Likewise.
461 * tree-ssa-pre.c (remove_dead_inserted_code): Likewise.
462 * tree-ssa.c (kill_redundant_phi_nodes): Likewise.
463
bb80db7b
KH
464 * combine.c (simplify_and_const_int): Use gen_int_mode instead
465 of GEN_INT (trunc_int_for_mode (...)).
466 * loop-iv.c (iv_number_of_iterations): Likewise.
467 * postreload.c (reload_cse_move2add): Likewise.
468 * simplify-rtx.c (simplify_const_unary_operation,
469 simplify_const_binary_operation): Likewise.
470 * stor-layout.c (get_mode_bounds): Likewise.
471
0aee4751
KH
472 * fold-const.c (fold_binary): New.
473 (fold): Call fold_binary on binary expressions.
474
acda0e26
RS
4752005-03-05 Richard Sandiford <rsandifo@redhat.com>
476
477 * doc/invoke.texi: Document new MIPS -msym32 and -mno-sym32 options.
478 * config/mips/mips.h (MASK_SYM32, TARGET_SYM32): New macros.
479 (TARGET_SWITCHES): Add -msym32 and -mno-sym32.
480 (ABI_HAS_64BIT_SYMBOLS): Set to false if TARGET_SYM32.
481 (ASM_SPEC): Pass down -msym32 and -mno-sym32.
482
537a2904
DP
4832005-03-04 Devang Patel <dpatel@apple.com>
484
485 PR tree-optimization/18815
486 * tree-if-conv.c (combine_blocks): Adjust loop header edges for
487 loops with zero exit edges.
488
c533f56b
DP
4892005-03-04 Devang Patel <dpatel@apple.com>
490
491 * doc/invoke.texi: Remove reference to webpage that does not exist.
492
744b2d61
JDA
4932005-03-04 John David Anglin <dave.danglin@nrc-cnrc.gc.ca>
494 Joseph S. Myers <joseph@codesourcery.com>
495
496 PR c++/19797
0022eee3 497 * pa/elf.h, pa64-hpux.h, som.h (ASM_OUTPUT_EXTERNAL_REAL): Define.
744b2d61
JDA
498 (ASM_OUTPUT_EXTERNAL): Call pa_hpux_asm_output_external.
499 * pa-protos.h (pa_hpux_asm_output_external): Add prototype.
500 * pa.c (get_plabel): Change argument to symbol_ref. Call
501 maybe_get_identifier instead of get_identifier.
502 (pa_hpux_asm_output_external, pa_hpux_file_end): New functions.
503 (struct deferred_plabel): Replace name field with symbol field.
504 (TARGET_ASM_FILE_END): Define as pa_hpux_file_end if
505 ASM_OUTPUT_EXTERNAL_REAL is defined.
506 (output_global_address): Use output_addr_const for output of all
507 symbol_refs.
508 (output_deferred_plabels): Use symbol_ref instead of name for address
509 output.
510 * pa.h (SYMBOL_FLAG_REFERENCED, SYMBOL_REF_REFERENCED_P,
511 ASM_OUTPUT_SYMBOL_REF): New macros.
512 * som.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use assemble_name_raw. Update
513 comment.
514 (ASM_WEAKEN_LABEL): Use targetm.asm_out.globalize_label to globalize
515 label.
516
1fb641a1
JM
5172005-03-05 Joseph S. Myers <joseph@codesourcery.com>
518
519 * config.gcc (hppa*64*-*-hpux11*): Use pa/pa-hpux1111.h for
520 *-*-hpux11.[1-9]*, not just for *-*-hpux11.11.
521
d38ffc55
JL
5222005-03-04 Jeff Law <law@redhat.com>
523
524 * basic-block.h (rediscover_loops_after_threading): Declare.
525 * tree-ssa-dom.c: Include cfgloop.h.
526 (tree_ssa_dominator_optimize): Discover loops and some basic
527 properties. Remove forwarder blocks recreated by loop header
528 canonicalization. Also mark backedges in the CFG.
529 * tree-ssa-threadupdate.c: Include cfgloop.h
530 (rediscover_loops_after_threading): Define.
531 (struct local_info): New field, JUMP_THREADED.
532 (prune_undesirable_thread_requests): New function.
533 (redirect_edges): Clear EDGE_ABNORMAL. If edges were threaded
534 then record that fact for the callers of redirct_edges.
535 (thread_block): If BB has incoming backedges, then call
536 prune_undesirable_thraed_requests. Note when we are
537 going to have to rediscover loop information. Return a
538 boolean indicating if any jumps were threaded.
539 (thread_through_all_blocks): Bubble up boolean indicating
540 if any jumps were threaded.
541 * Makefile.in (tree-ssa-dom.o): Depend on cfgloop.h
542 (tree-ssa-threadupdate.o): Similarly.
543
3ea2c264
KH
5442005-03-04 Kazu Hirata <kazu@cs.umass.edu>
545
546 * fold-const.c (fold_ternary): Unroll the "for" loop to
547 extract operands.
548
b120f3b7
AH
5492005-03-04 Andrew Haley <aph@redhat.com>
550
551 * unwind-dw2-fde-glibc.c (struct
552 unw_eh_callback_data.check_cache): New field.
553 (frame_hdr_cache): New.
554 (_Unwind_IteratePhdrCallback): Add ext_dl_phdr_info.
555 Cache frame header info.
556
7445392c
RS
5572005-03-04 Richard Sandiford <rsandifo@redhat.com>
558
559 * rtl.h (copy_rtx_ptr_loc, print_rtx_ptr_loc, join_c_conditions)
560 (print_c_condition): Declare.
561 * read-rtl.c (ptr_loc): New structure.
562 (ptr_locs, ptr_loc_obstack, joined_conditions)
563 (joined_conditions_obstack): New variables.
564 (leading_ptr_hash, leading_ptr_eq_p, set_rtx_ptr_loc)
565 (get_rtx_ptr_loc, copy_rtx_ptr_loc, print_rtx_ptr_loc)
566 (join_c_conditions, print_c_condition): New functions.
567 (apply_macro_to_string): Associate the new string with the same
568 source location as the old one.
569 (add_condition_to_string): Use join_c_conditions.
570 (read_string): Use set_rtx_ptr_loc to record a filename and line
571 number for the string.
572 (read_rtx): Initialize the new variables above.
573 * genattrtab.c (write_test_expr, write_attr_value): Use
574 print_c_condition.
575 * genconditions.c (write_header): Don't define MAYBE_EVAL. Move its
576 comment above the GCC_VERSION check.
577 (write_one_condition): Use print_rtx_ptr_loc and print_c_condition.
578 Inline the definition of MAYBE_EVAL.
579 * genemit.c (gen_expand, gen_split): Use print_rtx_ptr_loc.
580 * genoutput.c (process_template): Likewise.
581 * genpreds.c (write_predicate_subfunction): Likewise.
582 (write_predicate_expr): Use print_c_condition.
583 * genrecog.c (write_cond): Likewise.
584 * gensupport.c (process_rtx): Use join_c_conditions to join the
585 conditions of a define_insn_and_split. Record a source location
586 for the string after the "&&".
587 (alter_test_for_insn): Use join_c_conditions.
588
93516733
AP
5892005-03-04 Andrew Pinski <pinskia@physics.uc.edu>
590
591 Revert for now:
592 2005-03-03 James A. Morrison <phython@gcc.gnu.org>
593 PR tree-optimization/15784
594 * fold-const.c (fold): Fold ~A + 1 to -1. Fold -A - 1
595 and -1 - A to ~A.
596
ee4c708e
BE
5972005-03-04 Ben Elliston <bje@au.ibm.com>
598
599 * gcc.c (option_map): Add --coverage.
600 (LINK_COMMAND_SPEC): Pass -lgcov for `coverage'.
601 (cc1_options): Pass -fprofile-arcs -ftest-coverage for `coverage'.
602 * config/darwin.h: Pass -lgcov for `coverage'.
603 * doc/invoke.texi (Debugging Options): Document --coverage.
604
c7d1b449
KH
6052005-03-04 Kazu Hirata <kazu@cs.umass.edu>
606
607 * gcse.c (bypass_block): Use find_edge wherever possible.
608
3c0d1020
DB
6092005-03-03 Daniel Berlin <dberlin@dbrelin.org>
610
611 Fix PR debug/20253
612
613 * c-opts.c (c_common_parse_file): Call start_source_file
614 and end_source_file at the approriate times.
615
616 * dwarf2out.c (dwarf2out_finish): Don't auto-end
617 the main file, it will be done for us now.
618
9bdae6af
KH
6192005-03-04 Kazu Hirata <kazu@cs.umass.edu>
620
621 * fold-const.c (fold_ternary): New.
622 (fold): Call fold_ternary on ternary expressions. Remove
623 handling of ternary expressions.
624
8d06c809
JM
6252005-03-03 James A. Morrison <phython@gcc.gnu.org>
626
627 PR tree-optimization/15784
628 * fold-const.c (fold): Fold ~A + 1 to -1. Fold -A - 1
629 and -1 - A to ~A.
630
57a71826
DE
6312005-03-03 David Edelsohn <edelsohn@gnu.org>
632
633 * config/rs6000/predicates.md (branch_comparison_operator):
634 Convert from C block to conditional format.
635
59c982fe
JH
6362005-03-03 Jan Hubicka <jh@suse.cz>
637
638 * tree-dfa.c (add_referenced_var): Don't walk initializer of external
639 and non-constant public variables.
640
229cc11f
KH
6412005-03-03 Kazu Hirata <kazu@cs.umass.edu>
642
643 * tree-cfg.c (stmt_starts_bb_p): Clean up by replacing code
644 with LABEL_EXPR.
645
8fb790fd
KH
646 * cfgexpand.c (construct_exit_block): Use EDGE_PRED instead of
647 EDGE_I.
648
4430da7f
KH
649 * tree-phinodes.c (remove_phi_node): Clean up by factoring out
650 calls to release_ssa_name and release_phi_node.
651
af85b8e4
KH
652 * fold-const.c (fold): Remove handling of unary expressions.
653
4b58fc4d
KH
654 * fold-const.c (fold_unary): Avoid directly using the original
655 expression t as much as possible.
656
9550206b
RS
6572005-03-03 Roger Sayle <roger@eyesopen.com>
658 Andrew Pinski <pinskia@physics.uc.edu>
659
660 * jump.c (redirect_exp_1): If nlabel is a NULL pointer create a
661 RETURN rtx, and not a LABEL_REF containing a NULL pointer.
662
f60c7155
HPN
6632005-03-03 Hans-Peter Nilsson <hp@axis.com>
664
665 Describe special registers SRP and MOF as allocatable registers.
666 * config/cris/cris.c (cris_md_asm_clobbers): New function.
667 (TARGET_MD_ASM_CLOBBERS): Define to cris_md_asm_clobbers.
668 (cris_conditional_register_usage): Enable CRIS_MOF_REGNUM if
669 TARGET_HAS_MUL_INSNS.
670 (cris_print_operand) <case 'd'>: New case.
671 <case REG>: Allow CRIS_MOF_REGNUM and CRIS_SRP_REGNUM.
672 * config/cris/cris.h (CRIS_PC_REGNUM, CRIS_SRP_REGNUM): Don't
673 define.
674 (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS)
675 (REG_ALLOC_ORDER): Update for MOF.
676 (enum reg_class): New members MOF_REGS, GENERAL_REGS and
677 SPECIAL_REGS.
678 (GENERAL_REGS): No longer a define of ALL_REGS.
679 (REGNO_REG_CLASS, REG_CLASS_CONTENTS, REG_CLASS_NAMES)
680 (PREFERRED_RELOAD_CLASS, REGISTER_NAMES, DBX_REGISTER_NUMBER):
681 Adjust accordingly.
682 (CRIS_SPECIAL_REGS_CONTENTS): New macro.
683 (REG_CLASS_FROM_LETTER): Allocate 'h' and 'x'.
684 (SECONDARY_RELOAD_CLASS): Define.
685 (STACK_POINTER_REGNUM): Define as CRIS_SP_REGNUM.
686 (FRAME_POINTER_REGNUM): Define as CRIS_FP_REGNUM.
687 (ARG_POINTER_REGNUM): Define as CRIS_AP_REGNUM.
688 (STATIC_CHAIN_REGNUM): Define as CRIS_STATIC_CHAIN_REGNUM.
689 (REGISTER_MOVE_COST): Define.
690 (PIC_OFFSET_TABLE_REGNUM): Define in terms of CRIS_GOT_REGNUM.
691 * config/cris/cris.md (CRIS_GOT_REGNUM, CRIS_STATIC_CHAIN_REGNUM)
692 (CRIS_FP_REGNUM, CRIS_SP_REGNUM, CRIS_SRP_REGNUM, CRIS_AP_REGNUM)
693 (CRIS_MOF_REGNUM): New define_constants.
694 ("*movsi_internal", "movhi", "movqi", "movsf"): Add alternatives for
695 special registers.
2a60a1b1
HPN
696 ("reload_inhi", "reload_outhi", "reload_inqi", "reload_outqi"):
697 New patterns.
f60c7155
HPN
698 ("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3")
699 ("mulsidi3", "umulsidi3", "smulsi3_highpart", "umulsi3_highpart"):
700 Adjust for MOF being properly described as a register.
701 (indir_to_reg_split): Name this split. Conditionalize on the
702 destination register being a general register.
703 (movei): Conditionalize on on operands 0 and 1 having the same
704 register class.
705
768875a8
AM
7062005-03-03 Alan Modra <amodra@bigpond.net.au>
707
708 PR target/20277
709 * config/rs6000/rs6000.c (rs6000_override_options): Don't allow
710 -mcpu to override any other explicitly given flags.
711
0a634832
R
7122005-03-02 J"orn Rennecke <joern.rennecke@st.com>
713
714 * recog.c (verify_changes, confirm_change_group): New functions,
715 broken out of apply_change_group.
716 (apply_change_group): Use them.
717 * recog.h (verify_change, confirm_change_group): Declare.
718 * rtl.h (redirect_jump_2): Declare.
719 * jump.c (redirect_exp, invert_exp): Delete.
720 (invert_exp_1): Take second parameter. Return value. Changed caller.
721 (redirect_jump_2): New function, broken out of redirect_jump.
722 (redirect_jump): Use redirect_jump_1 and redirect_jump_2.
723 (invert_jump): Use invert_jump_1 and redirect_jump_2.
724 * ifcvt.c (dead_or_predicable): Use redirect_jump_2.
725
0aca3a61
GK
7262005-03-02 Geoffrey Keating <geoffk@apple.com>
727
7df74013
GK
728 * varasm.c (named_section): Use xstrdup rather than doing it by
729 hand.
730
0aca3a61
GK
731 * config/darwin8.h (LIB_SPEC): Switch -lmx and -lSystem.
732
2af51b88
DP
7332005-03-02 Devang Patel <dpatel@apple.com>
734
735 Undo PR tree-optimization/18815 fix.
736
ac0bd801
DP
7372005-03-02 Devang Patel <dpatel@apple.com>
738
739 PR tree-optimization/18815
740 * tree-if-conv.c (combine_blocks): Adjust loop header edges for
741 loops with zero exit edges.
742
adf4a335
KH
7432005-03-02 Kazu Hirata <kazu@cs.umass.edu>
744
745 * cfg.c (connect_src, connect_dest, disconnect_src,
746 disconnct_dest): New.
747 (unchecked_make_edge, remove_edge, redirect_edge_succ,
748 redirect_edge_pred): Use the new functions.
749
13396b14
KH
750 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Call
751 free_dominance_info only when needed.
752
94dcded2
DE
7532005-03-02 David Edelsohn <edelsohn@gnu.org>
754
755 PR target/20276
756 * config/rs6000/predicates.md (reg_or_cint64_operand): Fix typo.
757 (reg_or_sub_cint64_operand): Same.
758
68023570
JL
7592005-03-02 Jeff Law <law@redhat.com>
760
761 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Fix setting of
762 CFG_ALTERED in the main DOM iteration loop.
763
9560cbde
MM
7642005-03-02 Mark Mitchell <mark@codesourcery.com>
765
766 PR c++/19916
767 * varasm.c (initializer_constant_valid_p): Allow conversions
768 between OFFSET_TYPEs. Tidy.
769
bf95bc65
HPN
7702005-03-02 Hans-Peter Nilsson <hp@axis.com>
771
772 * config/cris/cris.md ("return"): Remove epilogue delay list
773 sanity check.
774
f92ba6d1
DJ
7752005-03-02 Daniel Jacobowitz <dan@codesourcery.com>
776
777 * config/arm/linux-elf.h (ARM_FUNCTION_PROFILER): Do not use (PLT)
778 for Thumb.
779 * config/arm/netbsd-elf.h (ARM_FUNCTION_PROFILER): Likewise.
780
613c5cd0
KH
7812005-03-02 Kazu Hirata <kazu@cs.umass.edu>
782
783 * cfgloop.h, cfgloopanal.c, cfgloopmanip.c, conflict.c,
784 loop-init.c, loop-unroll.c, print-tree.c, reg-notes.def,
785 config/m68k/m68k.c, config/mips/mips.h,
786 config/rs6000/rs6000-protos.h, doc/contrib.texi,
787 doc/include/gcc-common.texi: Update copyright.
788
92fb2d32
KH
789 PR middle-end/18029 and PR middle-end/18030
790 * expr.c (optimize_bitfield_assignment_op): Add a special case
791 to handle BIT_IOR_EXPR and BIT_XOR_EXPR.
792
659d8efa
KH
793 * fold-const.c (fold_unary): New.
794 (fold): Call fold_unary on unary expressions.
795
2563c224
RG
7962005-03-02 Richard Guenther <rguenth@gcc.gnu.org>
797
798 * cgraph.h (struct cgraph_edge): Add prev_caller and
799 prev_callee fields.
800 (cgraph_node_remove_callees): Export.
801 * cgraph.c (cgraph_create_edge): Initialize prev_caller
802 and prev_callee.
803 (cgraph_edge_remove_callee): New function.
804 (cgraph_edge_remove_caller): Likewise.
805 (cgraph_remove_edge): Use.
806 (cgraph_redirect_edge_callee): Likewise.
807 (cgraph_node_remove_callees): New function.
808 (cgraph_node_remove_callers): Likewise.
809 (cgraph_remove_node): Use.
810 * tree-optimize.c (tree_rest_of_compilation): Use
811 cgraph_node_remove_callees instead of manual loop.
812 * cgraphunit.c (cgraph_finalize_function): Likewise.
813 (cgraph_expand_function): Likewise.
814 (cgraph_remove_unreachable_nodes): Likewise.
815
766beb40
JM
8162005-03-02 Joseph S. Myers <joseph@codesourcery.com>
817
818 PR c/8927
819 * c-tree.h (undeclared_variable, build_external_ref): Add extra
820 argument.
821 * c-decl.c (undeclared_variable): Take location as argument.
822 * c-typeck.c (build_external_ref): Likewise.
823 * c-parser.c (c_parser_postfix_expression): Pass location of
824 identifier to build_external_ref.
825
364849ee
DE
8262005-03-01 David Edelsohn <edelsohn@gnu.org>
827
828 * config/rs6000/rs6000.md (cceq splitter): Use operand mode, not
829 CCEQ mode for branch_positive_comparison_operator test.
830 * config/rs6000/predicates (branch_comparison_operator): Revert to
831 define_predicate.
832 (scc_comparison_operator): Same.
833 (branch_positive_comparison_operator): Same.
834
b6c8b412
HPN
8352005-03-01 Hans-Peter Nilsson <hp@axis.com>
836
837 * config/cris/cris.c (cris_eligible_for_epilogue_delay)
838 (cris_delay_slots_for_epilogue): Remove.
839 (save_last): Move into cris_target_asm_function_epilogue.
840 (cris_target_asm_function_epilogue): Remove tests for file being
841 NULL.
842 * config/cris/cris-protos.h (cris_eligible_for_epilogue_delay)
843 (cris_delay_slots_for_epilogue): Remove prototypes.
844 * config/cris/cris.h (DELAY_SLOTS_FOR_EPILOGUE)
845 (ELIGIBLE_FOR_EPILOGUE_DELAY): Do not define.
846
4a80dc82
DE
8472005-03-01 David Edelsohn <edelsohn@gnu.org>
848
849 * config/rs6000/predicates.md (branch_comparison_operator): Change
850 to define_special_predicate.
851 (scc_comparison_operator): Same.
852 (branch_positive_comparison_operator): Same.
853
fa555252
DB
8542005-03-01 Daniel Berlin <dberlin@dberlin.org>
855
856 * Makefile.in (tree-ssa-sink.o): New.
857 (OBJS-common): Add tree-ssa-sink.o.
858 * common.opt: Add -ftree-sink
859 * opts.c (decode_options): flag_tree_sink is set at O1 or higher.
860 * timevar.def (TV_TREE_SINK): new timevar.
861 * tree-flow.h (is_hidden_global_store): Prototype.
862 * tree-optimize.c (init_tree_optimization_passes): Add
863 pass_sink_code.
864 * tree-pass.h (pass_sink_code): New.
865 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Move checking
866 for non-obvious global store store to is_hidden_global_store, and
867 call that new function.
868 * tree-ssa-sink.c: New file.
869 * doc/invoke.texi: Document -fdump-tree-sink and -ftree-sink.
870 * doc/passes.texi: Document forward store motion.
871 * testsuite/gcc.dg/tree-ssa/ssa-sink-1.c: New test
872 * testsuite/gcc.dg/tree-ssa/ssa-sink-2.c: New test
873 * testsuite/gcc.dg/tree-ssa/ssa-sink-3.c: New test
874 * testsuite/gcc.dg/tree-ssa/ssa-sink-4.c: New test
875
255508dd
PB
8762005-03-01 Per Bothner <per@bothner.com>
877
878 * diagnostic.c (diagnostic_build_prefix): If USE_MAPPED_LOCATION
879 and we have a non-zero column-number, add it to the message.
880 Also factor out the diagnostic_kind_text.
881
70388d94
ZD
8822005-03-01 Zdenek Dvorak <dvorakz@suse.cz>
883
884 * cfgloop.c (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
885 flow_loop_pre_header_scan, flow_loop_pre_header_find,
886 flow_loop_scan): Removed.
887 (flow_loop_dump): Do not dump removed fields.
888 (flow_loop_free): Do not free removed fields.
889 (flow_loops_find): Flags argument removed. Do not call flow_loop_scan.
890 (loop_exit_edge_p): New function.
891 * cfgloop.h (struct loop): Removed fields pre_header, pre_header_edges,
892 num_pre_header_edges, entry_edges, num_entries, exit_edges,
893 num_exits, exits_doms.
894 (LOOP_TREE, LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
895 LOOP_EDGES, LOOP_ALL): Removed.
896 (flow_loop_scan): Declaration removed.
897 (loop_exit_edge_p, mark_loop_exit_edges): Declare.
898 * cfgloopmanip.c (create_loop_notes): Do not pass flags to
899 flow_loops_find.
900 * ifcvt.c (mark_loop_exit_edges): Moved to cfgloopanal.c.
901 (if_convert): Call flow_loops_find and flow_loops_free
902 when calling mark_loop_exit_edges.
903 * cfgloopanal.c (mark_loop_exit_edges): Moved from
904 ifcvt.c. Removed the flow_loops_find, flow_loops_free and
905 free_dominance_info calls.
906 * loop-init.c (flow_loops_find): Ditto.
907 * passes.c (rest_of_handle_branch_prob): Ditto.
908 * lambda-code.c (perfect_nestify): Do not call flow_loops_find.
909 * loop-unroll.c (analyze_insns_in_loop): Do not use
910 EDGE_LOOP_EXIT.
911 * predict.c (predict_loops): Do not call flow_loop_scan.
912 Use get_loop_exit_edges.
913 (tree_estimate_probability): Do not pass flags to flow_loops_find.
914 * tree-if-conv.c (bb_with_exit_edge_p): Take loop as argument.
915 Do not use EDGE_LOOP_EXIT.
916 (tree_if_convert_cond_expr, if_convertible_modify_expr_p): Pass loop
917 to bb_with_exit_edge_p.
918 (if_convertible_loop_p): Do not call flow_loop_scan. Use
919 loop->single_exit. Do not use EDGE_LOOP_EXIT. Pass loop
920 to bb_with_exit_edge_p.
921 (combine_blocks): Pass loop to bb_with_exit_edge_p. Do not use
922 EDGE_LOOP_EXIT.
923 * tree-loop-linear.c (linear_transform_loops): Do not call
924 flow_loop_scan. Use loop->single_exit.
925 * tree-vect-analyze.c (vect_analyze_operations): Use loop->single_exit.
926 (vect_analyze_loop_form): Do not call flow_loop_scan.
927 * tree-vect-transform.c (vect_update_ivs_after_vectorizer): Use
928 loop->single_exit.
929 (vect_do_peeling_for_loop_bound): Use loop_preheader_edge and
930 loop->single_exit.
931 * tree-vectorizer.c (slpeel_update_phis_for_duplicate_loop,
932 slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
933 slpeel_tree_duplicate_loop_to_edge_cfg,
934 slpeel_verify_cfg_after_peeling, slpeel_tree_peel_loop_to_edge):
935 Use loop_preheader_edge and loop->single_exit. Do not call
936 flow_loop_scan.
937
b279b20a
NC
9382005-03-01 Nick Clifton <nickc@redhat.com>
939
940 * config/arm/arm.c (thumb_find_work_register): Check all of the
941 argument registers to see if they are free, and a couple of
942 special cases where the last argument register but can be proved
943 to be available during the function's prologue.
944 (print_multi_reg, arm_compute_save_reg0_reg12_mask,
945 output_return_instruction, emit_multi_reg_push, thumb_pushpop,
946 thumb_unexpanded_epilogue): Use unsigned long as the type for the
947 register bit-mask.
948 (thumb_compute_save_reg_mask): Likewise. Also use
949 thumb_find_work_register() to ensure that there is agreement about
950 which work register is going to be used in the prologue.
951 (thumb_output_function_prologue): Use unsigned long as the type
952 for the register bit-mask. Also delay pushing the link register if
953 other high registers are going to be pushed.
954 (thumb_compute_save_reg_mask, emit_multi_reg_push,
955 print_multi-reg, number_of_first_bit_set, thumb_pushpop): Remove
956 redundant prototypes.
957
d7459fa8
JDA
9582005-02-28 John David Anglin <dave.anglin#nrc-cnrc.gc.ca>
959
960 PR target/19819
961 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow allow hard registers during
962 and after reload in REG+REG indexed addresses without REG_POINTER
963 set in the base and not set in the index.
964
65f527e0
KK
9652005-02-28 Kaz Kojima <kkojima@gcc.gnu.org>
966
967 * config/sh/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
968 Don't undefine here.
969 (HANDLE_PRAGMA_PACK_PUSH_POP): Delete.
970 (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC): Likewise.
971 (TARGET_OS_CPP_BUILTINS): Use LINUX_TARGET_OS_CPP_BUILTINS.
972 (LIB_SPEC, LINK_EH_SPEC, STARTFILE_SPEC, ENDFILE_SPEC,
973 LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED, TARGET_C99_FUNCTIONS):
974 Delete.
975 * config.gcc (sh*-*-linux*): Use config/linux.h.
976
0b5383eb
DJ
9772005-02-28 Dale Johannesen <dalej@apple.com>
978 Stan Shebs <shebs@apple.com>
979
980 Rewrite of 64-bit Darwin structure-by-value pass/return.
981 * config/rs6000/rs6000.h (CUMULATIVE_ARGS): New fields
982 intoffset, use_stack, named.
983 * config/rs6000/rs6000.c (rs6000_darwin64_function_arg): Remove.
984 (rs6000_darwin64_record_arg_advance_flush): New.
985 (rs6000_darwin64_record_arg_advance_recurse): New.
986 (rs6000_darwin64_record_arg_flush): New.
987 (rs6000_darwin64_record_arg_recurse): New.
988 (rs6000_darwin64_record_arg): New.
989 (rs6000_return_in_memory): Remove AGGREGATE_TYPE_P check.
990 (function_arg_boundary): Handle 128-bit aligned structs.
991 (function_arg_advance): Rewrite darwin64 struct handling.
992 (function_arg): Call rs6000_darwin64_record_arg.
993 (function_arg_partial_nregs): Handle darwin64 structs.
994 (rs6000_darwin64_function_value): Remove.
995 (rs6000_function_value): Call rs6000_darwin64_record_arg.
996
1a9dddad
RS
9972005-02-28 Roger Sayle <roger@eyesopen.com>
998
999 PR tree-optimization/20216
1000 * tree-chrec.c (tree_fold_factorial): Delete.
1001 (tree_fold_binomial): Change argument list to take a return type
1002 and change the type of K to unsigned int. Rewrite to avoid explicit
1003 evaluation of factorials, and (recursively) calling fold to perform
1004 compile-time arithmetic. Return NULL on (internal) overflow.
1005 (chrec_evaluate): Change type of K to an unsigned int. Avoid
1006 calling tree_fold_binomial unnecessarily. Return chrec_dont_know
1007 if any intermediate calculation overflows.
1008 (chrec_apply): Update call to chrec_evaluate.
1009
f50c57ba
JW
10102005-02-28 James E Wilson <wilson@specifixinc.com>
1011
1012 * config/mips/mips.h (NO_PROFILE_COUNTERS): Define.
1013
4e3d9146
JM
10142005-02-28 Joseph S. Myers <joseph@codesourcery.com>
1015
1016 PR c/20245
1017 * c-parser.c (c_parser_compound_statement): Return error_mark_node
1018 instead of NULL_TREE on error.
1019
48d72335
DE
10202005-02-28 David Edelsohn <edelsohn@gnu.org>
1021
1022 * config/rs6000/rs6000.c (EASY_VECTOR_15): Remove.
1023 (EASY_VECTOR_15_ADD_SELF): Remove.
1024 (num_insns_constant_wide): Not static.
1025 (validate_condition_mode): Not static.
1026 (toc_relative_expr_p): Not static.
1027 (legitimate_indirect_address_p): Not static.
1028 (macho_lo_sum_memory_operand): Not static.
1029 (invalid_e500_subreg): Not static.
1030 (easy_vector_same): Not static.
1031 (easy_vector_splat_const): Not static.
1032 (RS6000_SYMBOL_REF_TLS_P): Remove.
1033 (any_operand): Delete.
1034 (any_parallel_operand): Delete.
1035 (count_register_operand): Delete.
1036 (altivec_register_operand): Delete.
1037 (xer_operand): Delete.
1038 (s8bit_cint_operand): Delete.
1039 (short_cint_operand): Delete.
1040 (u_short_cint_operand): Delete.
1041 (non_short_cint_operand): Delete.
1042 (exact_log2_cint_operand): Delete.
1043 (gpc_reg_operand): Delete.
1044 (cc_reg_operand): Delete.
1045 (cc_reg_not_cr0_operand): Delete.
1046 (reg_or_short_operand): Delete.
1047 (reg_or_neg_short_operand): Delete.
1048 (reg_or_aligned_short_operand): Delete.
1049 (reg_or_u_short_operand): Delete.
1050 (reg_or_cint_operand): Delete.
1051 (reg_or_arith_cint_operand): Delete.
1052 (reg_or_add_cint64_operand): Delete.
1053 (reg_or_sub_cint64_operand): Delete.
1054 (reg_or_logical_cint_operand): Delete.
1055 (got_operand): Delete.
1056 (got_no_const_operand): Delete.
1057 (easy_fp_constant): Delete.
1058 (easy_vector_constant): Delete.
1059 (easy_vector_constant_add_self): Delete.
1060 (zero_constant): Delete.
1061 (zero_fp_constant): Delete.
1062 (volatile_mem_operand): Delete.
1063 (offsettable_mem_operand): Delete.
1064 (mem_or_easy_const_operand): Delete.
1065 (add_operand): Delete.
1066 (non_add_cint_operand): Delete.
1067 (logical_operand): Delete.
1068 (non_logical_cint_operand): Delete.
1069 (mask_operand): Delete.
1070 (mask_operand_wrap): Delete.
1071 (mask64_operand): Delete.
1072 (mask64_2_operand): Delete.
1073 (and64_operand): Delete.
1074 (and64_2_operand): Delete.
1075 (and_operand): Delete.
1076 (reg_or_mem_operand): Delete.
1077 (lwa_operand): Delete.
1078 (symbol_ref_operand): Delete.
1079 (call_operand): Delete.
1080 (current_file_function_operand): Delete.
1081 (input_operand): Delete.
1082 (rs6000_nonimmediate_operand): Delete.
1083 (rs6000_tls_symbol_ref): Delete.
1084 (save_world_operation): Delete.
1085 (restore_world_operation): Delete.
1086 (load_multiple_operation): Delete.
1087 (store_multiple_operation): Delete.
1088 (vrsave_operation): Delete.
1089 (mfcr_operation): Delete.
1090 (mtcrf_operation): Delete.
1091 (lmw_operation): Delete.
1092 (stmw_operation): Delete.
1093 (branch_comparison_operator): Delete.
1094 (branch_positive_comparison_operator): Delete.
1095 (scc_comparison_operator): Delete.
1096 (trap_comparison_operator): Delete.
1097 (boolean_operator): Delete.
1098 (boolean_or_operator): Delete.
1099 (min_max_operator): Delete.
1100 * config/rs6000/rs6000.h (RS6000_SYMBOL_REF_TLS_P): Move to here.
1101 (EASY_VECTOR_15): Moved to here.
1102 (EASY_VECTOR_15_ADD_SELF): Move to here.
1103 (PREDICATE_CODES): Delete.
1104 * config/rs6000/rs6000-protos.h: Delete predicate functions.
1105 Declare functions no longer static.
1106 * config/rs6000/predicates.md: New.
1107 * config/rs6000/rs6000.md: Include predicates.md
1108
321cf1f2
KH
11092005-02-28 Kazu Hirata <kazu@cs.umass.edu>
1110
1111 * calls.c (emit_call_1): Don't use REG_ALWAYS_RETURN.
1112 (emit_library_call_value_1): Don't use LCT_ALWAYS_RETURN and
1113 REG_ALWAYS_RETURN.
1114 * cfgrtl.c (need_fake_edge_p): Likewise.
1115 * combine.c (distribute_notes): Likewise.
1116 * emit-rtl.c (try_split): Likewise.
1117 * recog.c (peephole2_opimize): Likewise.
1118 * reg-notes.def (ALWAYS_RETURN): Remove.
1119 * rtl.h (LCT_ALWAYS_RETURN): Remove.
1120 * tree-cfg.c (need_fake_edge_p): Don't use ECF_ALWAYS_RETURN.
1121 * tree.h (ECF_ALWAYS_RETURN): Remove.
1122
4f380bf8
RS
11232005-02-28 Roger Sayle <roger@eyesopen.com>
1124
1125 PR middle-end/19874
1126 * tree-ssa.c (tree_ssa_useless_type_conversion_1): A conversion
1127 between different machine modes is never a "useless" conversion.
1128
11292005-02-28 Geert Bosch <bosch@gnat.com>
dd1f53fb
GB
1130
1131 PR ada/15977
1132 * doc/contrib.texi: List contributors for Ada front end
1133
0a67e02c
PB
11342005-02-28 Paolo Bonzini <bonzini@gnu.org>
1135
1136 * simplify-rtx.c (simplify_unary_operation_1,
1137 simplify_const_unary_operation): New, extracted from...
1138 (simplify_unary_operation): ... this one.
1139 (simplify_binary_operation_1,
1140 simplify_const_binary_operation): New, extracted from...
1141 (simplify_binary_operation): ... this one.
1142 * rtl.h (simplify_const_unary_operation,
1143 simplify_const_binary_operation): Add prototypes.
1144
920b9c8d
JB
11452005-02-28 Julian Brown <julian@codesourcery.com>
1146
1147 * config/elfos.h: Revert my patch from 2005-02-25 since it broke
1148 building libjava and caused PR regression/20228.
1149
215c351a
PB
11502005-02-28 Paolo Bonzini <bonzini@gnu.org>
1151
1152 PR bootstrap/17383
1153 * Makefile.in (host_subdir): New.
1154 (build_objdir): New. Replace ../$(build_subdir) with it throughout.
1155 * configure: Regenerate.
1156
f51d6cb4
ZW
11572005-02-27 Zack Weinberg <zack@codesourcery.com>
1158
1159 * config/alpha/t-osf4, config/arm/t-netbsd, config/ia64/t-hpux
1160 * config/pa/t-hpux-shlib (SHLIB_INSTALL): Create the
1161 installation directory first.
1162
23369bef
HPN
11632005-02-28 Hans-Peter Nilsson <hp@axis.com>
1164
1165 PR target/19065.
1166 * config/cris/cris.h (EXTRA_CONSTRAINT_Q): Accept only (mem (reg)),
1167 not including (reg). Do not check for reg being CRIS_PC_REGNUM.
1168 (EXTRA_MEMORY_CONSTRAINT): Define as 'Q'.
1169 * config/cris/cris.md: Tweak comments referring to Q.
1170 ("cmpsi", "cmphi", "cmpqi", "*movsi_internal", "movhi")
1171 ("movstricthi", "movqi", "movstrictqi", "movsf", "addsi3")
1172 ("addhi3", "addqi3", "subsi3", "subhi3", "subqi3")
1173 ("*expanded_andsi", "*expanded_andhi", "*andhi_lowpart", "andqi3")
1174 ("*andqi_lowpart", "iorsi3", "iorhi3", "iorqi3", "uminsi3"):
1175 Insert spaces in constraints to align alternatives vertically for
1176 readability.
17c1e037 1177 ("cmphi"): Ditto. Add separate alternative for operand 0 "r",
23369bef
HPN
1178 operand 1: "M".
1179
c0d12712
JDA
11802005-02-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1181
1182 PR rtl-optimization/17728
1183 * pa.md (mulsi3, divsi3, udivsi3, modsi3): Change predicate for
1184 operand 0 from general_operand to move_dest_operand.
1185
478a1f5e
JDA
11862005-02-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1187
1188 * pa/elf.h, pa/som.h (ASM_OUTPUT_EXTERNAL): Use assemble_name_raw
1189 instead of trying to save and restore TREE_SYMBOL_REFERENCED.
1190 * pa/pa64-hpux.h (ASM_OUTPUT_TYPE_DIRECTIVE): Define.
1191 (ASM_OUTPUT_EXTERNAL): Don't save and restore TREE_SYMBOL_REFERENCED.
1192
5395b47b
NN
11932005-02-26 Nathanael Nerode <neroden@gcc.gnu.org>
1194
1195 * configure.ac: Rename cc_for_cross_gnattools to host_cc_for_libada.
1196 * configure: Regenerate.
f51d6cb4 1197 * libada-mk.in: Remove CC; rename
5395b47b
NN
1198 cc_for_cross_gnattools / cc_set_by_configure to host_cc_for_libada.
1199
c529e0fe
AP
12002005-02-26 Andrew Pinski <pinskia@physics.uc.edu>
1201
1202 PR tree-opt/20188
1203 * tree-ssa-alias.c (count_uses_and_derefs): If we have TREE_LIST
1204 for the lhs, also walk over the tree. Likewise for rhs.
1205
f67e783f
ZD
12062005-02-26 Zdenek Dvorak <dvorakz@suse.cz>
1207
1208 * tree-ssa-dom.c (simple_iv_increment_p): New function.
1209 (simplify_rhs_and_lookup_avail_expr, eliminate_redundant_computations):
1210 Do not propagate value of iv before increment over the increment.
1211
27bf414c
JM
12122005-02-25 Joseph S. Myers <joseph@codesourcery.com>
1213
1214 * c-parser.c: New file.
1215 * c-parse.in: Remove.
1216 * Makefile.in (c-parse.o-warn, c-parse.o, c-parse.c, c-parse.y):
1217 Remove.
1218 (c-parser.o): Add dependencies.
1219 (C_AND_OBJC_OBJC, C_OBJS, gcc.srcextra, GTFILES, distclean,
1220 maintainer-clean, TAGS): Update.
1221 * c-config-lang.in (gtfiles): Update.
1222 * gengtype-lex.l: Don't handle "@@".
1223 * stub-objc.c (objc_get_class_ivars, objc_build_throw_stmt,
1224 objc_build_synchronized, objc_begin_try_stmt,
1225 objc_begin_catch_clause, objc_finish_catch_clause,
1226 objc_build_finally_clause, objc_finish_try_stmt): New.
1227 * c-tree.h (struct c_declspecs): Add declspecs_seen_p and
1228 type_seen_p.
1229 (c_parse_init): Update comment.
1230 * c-decl.c (c_init_decl_processing): Update comment.
1231 (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
1232 declspecs_add_scspec, declspecs_add_attrs): Initialize and update
1233 new c_declspecs members.
1234
d8652772
JB
12352005-02-25 Julian Brown <julian@codesourcery.com>
1236
1237 * config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK
1238 from being used for symbols with vague linkage when
1239 HAVE_GAS_COMDAT_GROUP is true.
1240
04270aa4
MM
12412005-02-25 Mark Mitchell <mark@codesourcery.com>
1242
1243 * doc/include/gcc-common.texi (version-GCC): Update to 4.1.
1244
4e9db8b2
SE
12452005-02-25 Steve Ellcey <sje@cup.hp.com>
1246
1247 PR target/19930
1248 * doc/tm.texi (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Document.
1249 (LIBGCC2_HAS_DF_MODE): New.
1250 (LIBGCC2_HAS_XF_MODE): New.
1251 (LIBGCC2_HAS_TF_MODE): New.
1252 * libgcc2.h (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
1253 (LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
1254 * libgcc2.c (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
1255 (LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
1256 (LIBGCC2_HAS_DF_MODE): New name for HAVE_DFMODE.
1257 * config/ia64/t-ia64 (LIB1ASMFUNCS): Remove __compat
1258 and add _fixtfdi, _fixunstfdi, _floatditf
1259 * lib1funcs.asm: Remove L__compat. Add L_fixtfdi,
1260 L_fixunstfdi, L_floatditf.
1261 * config/ia64/hpux.h (LIBGCC2_HAS_XF_MODE): Define.
1262 (LIBGCC2_HAS_TF_MODE): Define.
1263
736c86ad
DN
12642005-02-25 Diego Novillo <dnovillo@redhat.com>
1265
1266 PR tree-optimization/20204
1267 * tree-into-ssa.c (insert_phi_nodes_for): Do not use
1268 REWRITE_THIS_STMT markers on PHI nodes.
1269 (rewrite_initialize_block): Likewise.
1270
3bf4da72
MM
12712005-02-25 Mark Mitchell <mark@codesourcery.com>
1272
1273 * version.c (version_string): Update to 4.1.
1274
a1e73046
PC
12752005-02-25 Paolo Carlini <pcarlini@suse.de>
1276
1277 * doc/extend.texi (5.24 Declaring Attributes of Functions)<noreturn>:
1278 Clarify that the alternative way doesn't work in GNU C++.
1279
9e7376e5
ZD
12802005-02-25 Zdenek Dvorak <dvorakz@suse.cz>
1281
1282 PR tree-optimization/19937
1283 * tree-ssa-loop-ivopts.c (rewrite_use_compare): Cast the final value
1284 to the type of the induction variable.
1285
bd182be8
KK
12862005-02-25 Kaz Kojima <kkojima@gcc.gnu.org>
1287
1288 PR rtl-optimization/20117
1289 * bb-reorder.c (duplicate_computed_gotos): Don't duplicate
1290 the block including noncopyable insn.
1291
2b5936fd
KH
12922005-02-24 Kazu Hirata <kazu@cs.umass.edu>
1293
1294 * cse.c (delete_trivially_dead_insns): Speed up by minimizing
1295 calls to find_reg_note.
1296
964a9831
RH
12972005-02-24 Richard Henderson <rth@redhat.com>
1298
1299 PR tree-opt/20127
1300 * tree-sra.c (instantiate_element): Copy TREE_THIS_VOLATILE from
1301 the type.
1302
78796ad5
FJ
13032005-02-24 Fariborz Jahanian <fjahanian@apple.com>
1304
1305 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Check for
1306 vector types if to use base reg for misaligned non-word ld/std.
1307
b2142ad8
HPN
13082005-02-24 Hans-Peter Nilsson <hp@axis.com>
1309
1310 PR target/14619
1311 * config/cris/cris.c (cris_target_asm_function_prologue): Create
1312 dwarf2 label manually and put it after, not before the prologue.
1313
b436d712
DE
13142005-02-24 David Edelsohn <edelsohn@gnu.org>
1315
1316 PR target/19019
1317 * reload.c (operands_match_p): Only increment register number for
1318 SCALAR_INT_MODE_P modes in multiple hard registers.
1319
589b3fda
DE
1320 * config/rs6000/rs6000.md (trunctfdf2): Remove register constraints.
1321 Fix formatting.
1322
3f117656
VR
13232005-02-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1324
1325 * ChangeLog.5: Fix log message typo(s).
1326 * ChangeLog.7: Likewise.
1327 * ChangeLog.tree-ssa: Likewise.
1328 * cfgexpand.c: Fix comment typo(s).
1329 * conflict.c: Likewise.
1330 * defaults.h: Likewise.
1331 * dwarf2out.c: Likewise.
1332 * gcse.c: Likewise.
1333 * ggc-page.c: Likewise.
1334 * tree-eh.c: Likewise.
1335 * tree-ssa-dom.c: Likewise.
1336
04fa46cf
JJ
13372005-02-24 Jakub Jelinek <jakub@redhat.com>
1338
df8a7c49
JJ
1339 PR target/19019
1340 * mklibgcc.in: Pass -DSHARED when compiling all *_s${objext} objects.
1341 * config/rs6000/darwin-ldouble.c: Only use the .symver directives
1342 if SHARED is defined.
1343
04fa46cf
JJ
1344 PR target/20196
1345 * config/rs6000/rs6000.md (LTU, GTU sCC splitters): Add earlyclobber,
1346 allow splitting only if operands 0 and 3 don't overlap.
1347
a0d2281e
RH
13482005-02-24 Richard Henderson <rth@redhat.com>
1349
1350 PR middle-end/19953
1351 * builtins.c (fold_builtin_complex_mul, fold_builtin_complex_div): New.
1352 (fold_builtin_1): Call them.
1353 * fold-const.c (fold_complex_mult_parts): Split out from ...
1354 (fold_complex_mult): ... here. Fix typo in both imaginary case.
1355 (fold_complex_div_parts, fold_complex_div): New.
1356 (fold): Use them.
1357 * tree.h (fold_complex_mult_parts, fold_complex_div_parts): Declare.
1358
4961152d
RK
13592005-02-24 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1360
ae95537a
RK
1361 * tree-ssa-ccp.c (visit_assignment): Verify that result of
1362 VIEW_CONVERT_EXPR is_gimple_min_invariant.
1363
4961152d
RK
1364 * print-tree.c (print_node_brief): Print LABEL_DECL_UID.
1365 (print_node): Likewise.
1366 Print TYPE_SIZES_GIMPLIFIED.
1367
ef6201a6
HPN
13682005-02-24 Hans-Peter Nilsson <hp@axis.com>
1369
1370 * config/cris/cris.md ("umulhisi3", "umulqihi3", "mulsi3")
1371 ("mulqihi3", "mulhisi3", "mulsidi3", "umulsidi3"): Mark input
1372 operands as commutative in constraints.
1373
7256233c
DN
13742005-02-24 Diego Novillo <dnovillo@redhat.com>
1375
1376 * tree-into-ssa.c: Re-organize internal functions.
1377
c7463669
RH
13782005-02-24 Richard Henderson <rth@redhat.com>
1379
1380 PR middle-end/18902
1381 * c-opts.c (c_common_post_options): Set flag_complex_method to 2
1382 for c99.
1383 * common.opt (fcx-limited-range): New.
1384 * opts.c (set_fast_math_flags): Set flag_cx_limited_range.
1385 * toplev.c (flag_complex_method): Initialize to 1.
1386 (process_options): Set flag_complex_method to 0 if
1387 flag_cx_limited_range.
1388 * doc/invoke.texi (-fcx-limited-range): New.
1389
03ce14db
KH
13902005-02-24 Kazu Hirata <kazu@cs.umass.edu>
1391
1392 * cse.c (delete_trivially_dead_insns): Speed up by using
1393 NEXT_INSN and PREV_INSN directly instead of next_real_insn and
1394 prev_real_insn.
1395
b86ba8a3
AT
13962005-02-24 Andrea Tarani <andrea.tarani@gilbarco.com>
1397
1398 * config/m68k/m68k.c (m68k_save_reg): Also save A5 for non-leaf
1399 functions when -mid-shared-library is being used.
1400
57642751
DJ
14012005-02-23 Daniel Jacobowitz <dan@codesourcery.com>
1402
1403 * doc/tm.texi (LINK_LIBGCC_SPECIAL): Remove.
1404 (LINK_LIBGCC_SPECIAL_1): Don't mention it.
1405 * gcc.c: Don't check for LINK_LIBGCC_SPECIAL.
1406 * system.h: Poison LINK_LIBGCC_SPECIAL.
1407
79e4e6a6
JW
14082005-02-23 James E Wilson <wilson@specifixinc.com>
1409
1410 * gengtype.c (note_insn_name): Make 1 element larger.
1411
61961eff
RS
14122005-02-23 Roger Sayle <roger@eyesopen.com>
1413
1414 PR target/20018
1415 PR rtl-optimization/20097
1416 * simplify-rtx.c (simplify_relational_operation_1): Avoid creating
1417 BImode SUBREGs of SImode registers which confuse the ia64 backend.
1418
1628a835
DE
14192005-02-23 David Edelsohn <edelsohn@gnu.org>
1420
1421 * t-aix43 (SHLIB_INSTALL): Create directory for shared library.
1422 * t-aix52 (SHLIB_INSTALL): Same.
1423
f439764f
KH
14242005-02-23 Kazu Hirata <kazu@cs.umass.edu>
1425
1426 * genpreds.c: Update copyright.
1427
3f9f087b
MB
14282005-02-23 Michael Beach <michaelb@ieee.org>
1429
1430 PR target/20159
1431 * config/sparc/t-elf (startup files): Assemble with CPP.
1432
bb56fc39
PB
14332005-02-23 Paolo Bonzini <bonzini@gnu.org>
1434
1435 * genpreds.c (mark_mode_tests): Handle non-VOIDmode match_operands.
1436 (write_predicate_expr): Likewise.
1437
90c1d75a
DN
14382005-02-22 Diego Novillo <dnovillo@redhat.com>
1439
1440 PR tree-optimization/20100
1441 PR tree-optimization/20115
1442 * tree-optimize.c (init_tree_optimization_passes): Remove
1443 pass_maybe_create_global_var.
1444 * tree-pass.h (pass_maybe_create_global_var): Remove.
1445 * tree-ssa-alias.c (aliases_computed_p): Declare.
1446 (struct alias_info): Add field NUM_PURE_CONST_CALLS_FOUND.
1447 (count_calls_and_maybe_create_global_var): Remove.
1448 (pass_maybe_create_global_var): Remove.
1449 (init_alias_info): Do not declare aliases_computed_p.
1450 (maybe_create_global_var): If the function contains no
1451 call-clobbered variables and a mix of pure/const and regular
1452 function calls, create .GLOBAL_VAR.
1453 Mark all call-clobbered variables for renaming.
1454 (merge_pointed_to_info): Update comment.
1455 (add_pointed_to_var): Likewise.
1456 (is_escape_site): Likewise.
1457 Accept struct alias_info * instead of size_t *.
1458 Update all users.
1459 Update AI->NUM_CALLS_FOUND and AI->NUM_PURE_CONST_CALLS_FOUND
1460 as necessary.
1461 * tree-ssa-operands.c (get_call_expr_operands): If
1462 ALIASES_COMPUTED_P is false, do not add call-clobbering
1463 operands.
1464 * tree-ssa.c (init_tree_ssa): Set ALIASES_COMPUTED_P to false.
1465 (delete_tree_ssa): Likewise.
1466
e59ba1bc
JW
14672005-02-22 James E Wilson <wilson@specifixinc.com>
1468
1469 * toplev.c (backend_init): Don't call init_adjust_machine_modes here.
1470 (do_compile): Do call it here.
1471
78d5a34b
KH
14722005-02-22 Kazu Hirata <kazu@cs.umass.edu>
1473
1474 PR rtl-optimization/20017.
1475 * passes.c (rest_of_handle_combine, rest_of_handle_cse,
1476 rest_of_handle_cse2, rest_of_handle_gcse): Call
1477 delete_dead_jumptables immediately before calling cleanup_cfg.
1478
263fb23d
DP
14792005-02-22 Devang Patel <dpatel@apple.com>
1480
1481 PR 19952
f51d6cb4 1482 * tree-if-conv.c (process_phi_nodes): Use bsi_after_labels and skip
263fb23d 1483 all labels
f51d6cb4 1484
466db3c1
DE
14852005-02-22 David Edelsohn <edelsohn@gnu.org>
1486
1487 * config/rs6000/aix.h (WINT_TYPE): Define.
1488
d9168963
SS
14892005-02-22 Stan Shebs <shebs@apple.com>
1490
1491 * config/rs6000/rs6000.c (rs6000_override_options): Default to
1492 natural alignment for 64-bit Darwin.
1493 (rs6000_parse_alignment_option): Warn about uses of -malign-power
1494 on 64-bit Darwin.
1495 * doc/invoke.texi: Document this.
1496
19b3ffbc
DD
14972005-02-22 DJ Delorie <dj@redhat.com>
1498
1499 * c-common.c (c_common_type_for_mode): Pass the mode's precision
1500 to make_[un]signed_type, not the mode itself.
1501
e2c879a1
KH
15022005-02-22 Kazu Hirata <kazu@cs.umass.edu>
1503
1504 * cfg.c (cached_make_edge): Call make_edge if edge cache is
1505 not available. Use tail calls wherever possible.
1506 (make_edge): Call unchecked_make_edge to create an edge.
1507
35bea171
KH
1508 * tree-outof-ssa.c (SSANORM_USE_COALESCE_LIST): Remove.
1509 (coalesce_ssa_name): Don't check for
1510 SSANORM_USE_COALESCE_LIST.
1511 (rewrite_out_of_ssa): Don't use SSANORM_USE_COALESCE_LIST.
1512
554beb3a
DN
15132005-02-22 Diego Novillo <dnovillo@redhat.com>
1514
1515 * tree-into-ssa.c (rewrite_blocks): Move debug dumps from ...
1516 (rewrite_into_ssa): ... here.
1517
bb2e1640
AO
15182005-02-21 Alexandre Oliva <aoliva@redhat.com>
1519
1520 PR tree-optimization/19786
1521 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add one
1522 tag to another's may-alias bitmap when adding to the other's list.
1523
1d27fed4
DD
15242005-02-21 DJ Delorie <dj@redhat.com>
1525
1526 * tree-ssa-loop-ivopts.c (computation_cost): Start register
1527 numbering at LAST_VIRTUAL_REGISTER+1 to avoid possibly using hard
1528 registers in unsupported ways.
1529 * expmed.c (init_expmed): Likewise.
f51d6cb4 1530
10e70392
SC
15312005-02-21 Stan Cox <scox@redhat.com>
1532
1533 * config/iq2000/iq2000.h (DWARF_FRAME_RETURN_COLUMN): Change to 31.
1534
fca01525
KH
15352005-02-21 Kazu Hirata <kazu@cs.umass.edu>
1536
1537 * tree-cfg.c (fold_cond_expr_cond): New.
1538 (make_edges): Call fold_cond_expr_cond.
1539 (find_taken_edge): Accept nothing but INTEGER_CST.
1540 (find_taken_edge_cond_expr): Reject INTEGER_CST other than 0
1541 and 1.
1542 (find_taken_edge_switch_expr): Remove a check for INTEGER_CST.
1543
88312d26
KH
1544 * flow.c (delete_dead_jumptables): Speed up by scanning insns
1545 that do not belong to any basic block.
1546
0b612e0b
JL
15472005-02-21 Jeff Law <law@redhat.com>
1548
1549 * cfganal.c (find_unreachable_blocks): Manually CSE load of
1550 e->dest.
1551
dfd9f74c
KH
15522005-02-21 Kazu Hirata <kazu@cs.umass.edu>
1553
1554 * tree-outof-ssa.c (SSANORM_REMOVE_ALL_PHIS): Remove.
1555 (SSANORM_COALESCE_PARTITIONS, SSANORM_USE_COALESCE_LIST):
1556 Adjust their definitions.
1557 (remove_ssa_form): Don't check for SSANORM_REMOVE_ALL_PHIS.
1558 (rewrite_out_of_ssa): Don't use SSANORM_REMOVE_ALL_PHIS.
1559
a4de48bc
KH
1560 * c-objc-common.h, c-pretty-print.c, cgraphunit.c, except.c,
1561 genautomata.c, langhooks.c, langhooks.h, system.h,
1562 config/arm/lib1funcs.asm: Update copyright.
1563
4a22dcdd
UW
15642005-02-21 Ulrich Weigand <uweigand@de.ibm.com>
1565
1566 * dbxout.c (dbxout_function_end): Emit Lscope label always.
1567
5dd90688
RG
15682005-02-21 Richard Guenther <rguenth@gcc.gnu.org>
1569
1570 PR bootstrap/13770
1571 * doc/install.texi: Document --with-gc.
1572
35ef372d
PB
15732005-02-21 Paolo Bonzini <bonzini@gnu.org>
1574
1575 * simplify-rtx.c (simplify_unary_operation): Add a missing
1576 "break" statement.
1577
ee167207
EB
15782005-02-21 Eric Botcazou <ebotcazou@libertysurf.fr>
1579
1580 PR tree-optimization/18663
1581 * tree-ssa-dom.c (extract_range_from_cond): Return 0
1582 if the type has variable bounds.
1583
a3c28ba2
KH
15842005-02-20 Kazu Hirata <kazu@cs.umass.edu>
1585
1586 * gcse.c: Remove an obsolete comment.
1587
a811c672
KH
1588 * cse.c (init_cse_reg_info): Use xmalloc instead of xrealloc.
1589
50c177f7
HPN
15902005-02-20 Hans-Peter Nilsson <hp@axis.com>
1591
1592 * doc/extend.texi (Function Attributes) <Attribute const>: The
1593 attribute "pure" is below this text, not above.
1594
cdcb88d7
JDA
15952005-02-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1596
1597 * pa.c (pa_assemble_integer, get_plabel): Small cleanups.
1598 (pa_asm_output_mi_thunk): Use asm_output_insn instead of fprintf.
1599 * som.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Small cleanup.
1600
c5ff069d
ZW
16012005-02-20 Zack Weinberg <zack@codesourcery.com>
1602
1603 PR 18785
1604 * langhooks.h (struct lang_hooks): Add to_target_charset.
1605 * langhooks.c (lhd_to_target_charset): New function.
1606 * langhooks-def.h: Declare lhd_to_target_charset.
1607 (LANG_HOOKS_TO_TARGET_CHARSET): New macro.
1608 (LANG_HOOKS_INITIALIZER): Update.
1609 * c-common.c (c_common_to_target_charset): New function.
1610 * c-common.h: Declare it.
1611 * c-objc-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to
1612 c_common_to_target_charset.
1613
1614 * defaults.c (TARGET_BELL, TARGET_BS, TARGET_CR, TARGET_DIGIT0)
1615 (TARGET_ESC, TARGET_FF, TARGET_NEWLINE, TARGET_TAB, TARGET_VT):
1616 Delete definitions.
1617 * system.h: Poison them.
1618 * doc/tm.texi: Don't discuss them.
1619 * builtins.c (fold_builtin_isdigit): Use lang_hooks.to_target_charset.
1620 * c-pretty-print.c (pp_c_integer_constant): Don't use pp_c_char.
1621 (pp_c_char): Do not attempt to generate letter escapes for
1622 newline, tab, etc.
1623 * config/arm/arm.c (output_ascii_pseudo_op): Likewise.
1624 * config/mips/mips.c (mips_output_ascii): Likewise.
1625
ac59a959
DN
16262005-02-20 Dorit Naishlos <dorit@il.ibm.com>
1627
1628 PR tree-optimization/19951
1629 * tree-vect-analyze.c (vect_analyze_loop_form): Check if loop exit edge
1630 is abnormal.
c5ff069d 1631
a310245f
SB
16322005-02-19 Steven Bosscher <stevenb@suse.de>
1633
c5ff069d 1634 PR middle-end/19698
a310245f
SB
1635 * function.h (struct function): New field `max_loop_depth'.
1636 * cfgloop.c (establish_preds): Update maximum loop depth seen so far.
1637 (flow_loops_find): Reset the max loop depth count before finding loops.
1638 * flow.c (MAX_LIVENESS_ROUNDS): New constant.
1639 (update_life_info_in_dirty_blocks): Remove 2002-05-28 workaround.
1640 (calculate_global_regs_live): Make sure the loop will terminate
1641 when the initial sets are not empty.
1642
2cdc2073
ZW
16432005-02-19 Zack Weinberg <zack@codesourcery.com>
1644
1645 * mklibgcc.in: If libgcc_eh.a would be empty, put a dummy
1646 object inside.
1647 * config/ia64/hpux.h: Don't define LIBGCC_SPEC.
1648
4e8d0554
RS
16492005-02-19 Richard Sandiford <rsandifo@redhat.com>
1650
1651 PR other/19525
1652 * doc/invoke.texi: Remove documentation of %M spec.
1653 * gcc.c: Likewise.
1654 (init_spec): Remove %M suffix from -lgcc_s.
1655 (do_spec_1): Remove 'M' case.
1656 * mklibgcc.in: Remove SHLIB_MULTILIB handling. Expect SHLIB_LINK
1657 to put shared libraries in the multilib directory. Remove the
1658 shlib_so_soname substitution variable. Don't add a multilib encoding
1659 to shlib_base_name. Set shlib_slibdir_qual to the full pathname
1660 reported by -print-multi-os-directory. Pass @multilib_dir@ to
1661 SHLIB_INSTALL as well as SHLIB_LINK.
1662 * config/t-slibgcc-elf-ver (SHLIB_SONAME): Use @shlib_base_name@.
1663 (SHLIB_NAME): Delete.
1664 (SHLIB_DIR): New macro.
1665 (SHLIB_LINK): Put $(SHLIB_SONAME) and $(SHLIB_SOLINK) in $(SHLIB_DIR).
1666 (SHLIB_INSTALL): Adjust accordingly.
1667 * config/t-slibgcc-darwin: As for t-slibgcc-elf-ver.
1668 * config/t-slibgcc-sld: Likewise.
1669 * config/t-libunwind-elf (SHLIBUNWIND_NAME): Delete.
1670 (SHLIBUNWIND_SONAME): Use @shlib_base_name@.
1671 (SHLIBUNWIND_LINK): Put $(SHLIBUNWIND_SONAME) and $(SHLIB_SOLINK)
1672 in $(SHLIB_DIR).
1673 (SHLIBUNWIND_INSTALL): Adjust accordingly.
1674 * config/i386/t-nwld (SHLIB_SONAME): Delete.
1675 (SHLIB_LINK, SHLIB_INSTALL): Use SHLIB_NAME instead of SHLIB_SONAME.
1676 Use @shlib_base_name@ instead of @shlib_so_name@.
1677 * config/ia64/t-hpux (SHLIB_LINK): Put @shlib_base_name@.so.0
1678 and @shlib_base_name@.so in @multilib_dir@.
1679 (SHLIB_INSTALL): Adjust accordingly. Add @shlib_slibdir_qual@
1680 to the install path.
1681 * config/mips/t-slibgcc-irix: As for t-slibgcc-elf-ver.
1682 (SHLIB_LINK): Remove previous workaround.
1683 * config/pa/t-hpux-shlib (SHLIB_DIR, SHLIB_SLIBDIR_QUAL): New macros.
1684 (SHLIB_LINK): Put $(SHLIB_SONAME) and $(SHLIB_NAME) in $(SHLIB_DIR).
1685 (SHLIB_INSTALL): Adjust accordingly. Add $(SHLIB_SLIBDIR_QUAL) to
1686 the install path.
1687 * config/rs6000/t-aix43 (SHLIB_LINK): Put @shlib_base_name@.a in
1688 @multilib_dir@. Use @multilib_dir@ to check for threading libraries.
1689 (SHLIB_INSTALL): Adjust accordingly.
1690 (SHLIB_LIBS): Use @multilib_dir@ to check for threading libraries.
1691 * config/rs6000/t-aix52: As for config/rs6000/t-aix43.
1692 * config/sh/t-linux (SHLIB_LINK, SHLIB_INSTALL): As for
1693 config/t-slibgcc-elf-ver.
1694
f10a6654
ZD
16952005-02-19 Zdenek Dvorak <dvorakz@suse.cz>
1696 Jakub Jelinek <jakub@redhat.com>
1697
1698 PR tree-optimization/19828
1699 * tree-ssa-loop-im.c: Add a TODO comment.
1700 (movement_possibility): Return MOVE_PRESERVE_EXECUTION for calls
1701 without side-effects.
1702
5ff489f1
JM
17032005-02-18 James A. Morrison <phython@gcc.gnu.org>
1704
1705 * tree-ssa-ccp.c (widen_bitfield): Pass type to build_int_cst and don't
1706 call fold_convert.
1707
4c334b37
JW
17082005-02-18 James E. Wilson <wilson@specifixinc.com>
1709
1710 * doc/invoke.texi (IA-64 Options): Delete -mb-step.
1711 * config/ia64/ia64.c (last_group, group_idx): Delete variables.
1712 (errata_find_address_regs, errata_emit_nops, fixup_errata): Delete
1713 functions.
1714 (ia64_reorg): Delete fixup_errata call.
1715 * config/ia64/ia64.h (MASK_B_STEP, TARGET_B_STEP): Delete.
1716 (TARGET_SWITCHES): Delete -mb-step entry.
1717
58cb41e6
JJ
17182005-02-19 Jakub Jelinek <jakub@redhat.com>
1719
1720 PR c/20043
1721 * c-typeck.c (composite_type): Handle quals in transparent unions.
1722 (type_lists_compatible_p): Likewise.
1723
b79d4265
SS
17242005-02-18 Stan Shebs <shebs@apple.com>
1725
1726 * config/darwin.c (machopic_select_rtx_section): Don't put relocatable
1727 expressions in the .literal8 section.
1728
a7138657
GK
17292005-02-18 Geoffrey Keating <geoffk@apple.com>
1730
1731 * config/rs6000/darwin-tramp.asm: Remove stray 'APPLE LOCAL' marker.
1732
0a9c6fdf
RS
17332005-02-18 Roger Sayle <roger@eyesopen.com>
1734
1735 * fold-const.c (constant_boolean_node): Always create values of the
1736 specified type, don't bother calling truthvalue_conversion.
1737
f6775e78
JM
17382005-02-18 Joseph S. Myers <joseph@codesourcery.com>
1739
1740 * except.c (output_function_exception_table): Call
1741 assemble_external_libcall (eh_personality_libfunc).
1742
5b4275db
JM
17432005-02-18 Joseph S. Myers <joseph@codesourcery.com>
1744
1745 PR target/19886
1746 * config/ia64/ia64.h (struct machine_function): Add state_num.
1747 * config/ia64/ia64.c (process_epilogue,
1748 process_for_unwind_directive): Use new unwind state numbers each
1749 time rather than state 1.
1750
d6083c7d
UW
17512005-02-18 Ulrich Weigand <uweigand@de.ibm.com>
1752
1753 PR target/20054
1754 * config/s390/s390.md ("*llgt_sidi", "*llgt_sidi_split"): Move to
1755 before the "*llgt_didi" pattern.
1756
258dba8f
JM
17572005-02-18 Jason Merrill <jason@redhat.com>
1758
1759 * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Revert again.
1760
2155b886
RE
17612005-02-18 Richard Earnshaw <rearnsha@arm.com>
1762
1763 * arm/lib1funcs.asm (FUNC_ALIAS): New macro.
1764 (div0): Use it in place of ARM_FUNC_ALIAS.
1765 (lshrdi3, ashrdi3, ashlrdi3): Likewise.
1766
0d56ab33
AP
17672005-02-18 Andrew Pinski <pinskia@physics.uc.edu>
1768
1769 PR middle-end/20030
a310245f
SB
1770 * fold-const.c (fold_indirect_ref_1): Use the correct index for zero
1771 access, the lower bound of the array type if it exists.
0d56ab33 1772
2aabee29
AO
17732005-02-18 Alexandre Oliva <aoliva@redhat.com>
1774
1775 PR c++/20008
1776 * stmt.c (expand_case): Don't assume cleanup_tree_cfg will remove
1777 cases that are out-of-range for the index type.
1778
aeba6c28
JM
17792005-02-18 James A. Morrison <phython@gcc.gnu.org>
1780
1781 * stmt.c (emit_case_bit_tests): Call fold_convert instead of convert.
1782 (estimate_case_costs): Don't call convert.
1783 * expmed.c (expand_shift): Likewise.
2cdc2073 1784 (make_tree): Call fold_convert instead of convert.
aeba6c28 1785
3a96c3b9
JJ
17862005-02-18 Jakub Jelinek <jakub@redhat.com>
1787
1788 PR c++/19813
1789 * emit-rtl.c (set_mem_attributes_minus_bitpos): Add assertion
1790 that ref to be marked MEM_READONLY_P doesn't have base that needs
1791 constructing.
1792
9fd64c63
JM
17932005-02-18 Joseph S. Myers <joseph@codesourcery.com>
1794
1795 * genautomata.c (output_get_cpu_unit_code_func,
1796 output_cpu_unit_reservation_p): Don't generate old-style function
1797 definitions.
1798
58203599
JJ
17992005-02-18 Jakub Jelinek <jakub@redhat.com>
1800
0948e392
JJ
1801 PR c++/20023
1802 PR tree-optimization/20009
1803 * convert.c (convert_to_integer): Revert 2005-02-16 change.
1804
58203599
JJ
1805 PR tree-optimization/18947
1806 * cgraphunit.c (cgraph_finalize_function): When redefining an extern
1807 inline, remove all nodes that are inlined into the extern inline
1808 being redefined.
1809
c8d3e15a
KH
18102005-02-17 Kazu Hirata <kazu@cs.umass.edu>
1811
1812 * bt-load.c, cfgloop.c, convert.c, dominance.c, global.c,
1813 loop-invariant.c, stmt.c, tree-ssa-forwprop.c,
1814 tree-ssa-live.c, tree-ssanames.c, tree-vn.c,
1815 config/host-linux.c, config/arm/fpa.md, config/avr/avr.h:
1816 Update copyright.
1817
9b396d7c
RS
18182005-02-17 Roger Sayle <roger@eyesopen.com>
1819
1820 PR tree-optimization/19917
1821 * tree-eh.c (tree_could_trap_p): Consider calls to weak functions
1822 to be potentially trapping.
1823
2e681715
KH
18242005-02-17 Kazu Hirata <kazu@cs.umass.edu>
1825
1826 * libgcc2.c, tree-vect-analyze.c: Fix comment typos.
1827
c6d01079
AK
18282005-02-17 Andreas Krebbel <krebbel1@de.ibm.com>
1829
1830 * builtins.c (expand_builtin_return_addr): Remove tem parameter.
2cdc2073 1831 tem becomes a local variable which is set to the value of the
c6d01079 1832 back end defined INITIAL_FRAME_ADDRESS macro.
2cdc2073 1833 (expand_builtin_frame_address): Omit the base parameter to
c6d01079
AK
1834 expand_builtin_return_addr.
1835 (expand_builtin_profile_func): Likewise.
1836 * config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Define new macro.
1837 (DYNAMIC_CHAIN_ADDRESS): Remove the case for the initial frame.
1838 * doc/tm.texi: Documentation for INITIAL_FRAME_ADDRESS_RTX added.
1839
7b210806
JJ
18402005-02-17 Jakub Jelinek <jakub@redhat.com>
1841
1842 * config/s390/s390.c (s390_alloc_pool, s390_free_pool,
1843 s390_chunkify_start): Use BITMAP_ALLOC and BITMAP_FREE.
1844 * config/frv/frv.c (frv_function_epilogue): Likewise.
1845
eae600b9
DB
18462005-02-17 Daniel Berlin <dberlin@dberlin.org>
1847
1848 * lambda-code (perfect_nestify): Remove mark/unmark
1849 for rewriting hack.
1850 * tree-loop-linear.c (linear_transform_loops): Add
1851 rewrite_into_ssa call so that ssa is correct for
1852 rewriting into loop closed.
1853
8bdbfff5
NS
18542005-02-17 Nathan Sidwell <nathan@codesourcery.com>
1855
1856 * bitmap.h (BITMAP_XMALLOC, BITMAP_XFREE): Remove.
1857 * bb-reorder.c (duplicate_computed_gotos): Use BITMAP_ALLOC and
1858 BITMAP_FREE.
1859 * bt-load.c (btr_def_live_range, combine_btr_defs,
1860 migrate_btr_def, migrate_btr_defs): Likewise.
1861 * cfgcleanup.c (thread_jump): Likewise.
1862 * cfgloop.c (get_loop_body_in_bfs_order): Likewise.
1863 * df.c (df_insn_table_realloc, df_bitmaps_alloc, df_bitmaps_free,
1864 df_alloc, df_free, df_du_chain_create, df_bb_rd_local_compute,
1865 df_rd_local_compute, df_reg_info_compute): Likewise.
1866 * dominance.c (init_dom_info, free_dom_info): Likewise.
1867 * flow.c (init_propagate_block_info,
1868 free_propagate_block_info): Likewise.
1869 * gcse.c (alloc_gcse_mem, free_gcse_mem): Likewise.
1870 * global.c (allocate_bb_info, free_bb_info, calculate_reg_pav,
1871 modify_reg_pav): Likewise.
1872 * loop-invariant.c (find_defs, find_invariant_insn,
1873 find_invariants, free_inv_motion_data): Likewise.
1874 * predict.c (tree_predict_by_opcode,
1875 estimate_bb_frequencies): Likewise.
1876 * stmt.c (expand_case): Likewise.
1877 * tree-cfg.c (tree_duplicate_sese_region): Likewise.
1878 * tree-dfa.c (mark_new_vars_to_rename): Likewise.
1879 * tree-if-conv.c (get_loop_body_in_if_conv_order): Likewise.
1880 * tree-into-ssa.c (insert_phi_nodes_for, def_blocks_free,
1881 get_def_blocks_for, mark_def_site_blocks, rewrite_into_ssa,
1882 rewrite_ssa_into_ssa): Likewise.
1883 * tree-optimize.c (tree_rest_of_compilation): Likewise.
1884 * tree-outof-ssa.c (new_temp_expr_table, free_temp_expr_table,
1885 analyze_edges_for_bb, perform_edge_inserts): Likewise.
1886 * tree-scalar-evolution.c (scev_initialize, scev_finalize): Likewise.
1887 * tree-sra.c (tree_sra): Likewise.
1888 * tree-ssa-alias.c (init_alias_info, delete_alias_info): Likewise.
1889 * tree-ssa-ccp.c (ccp_fold_builtin): Likewise.
1890 * tree-ssa-dce.c (tree_dce_init, tree_dce_done): Likewise.
1891 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
1892 * tree-ssa-dse.c (tree_ssa_dse): Likewise.
1893 * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_var):
1894 Likewise.
1895 * tree-ssa-live.c (new_tree_live_info, delete_tree_live_info,
1896 calculate_live_on_entry, calculate_live_on_exit,
1897 build_tree_conflict_graph): Likewise.
1898 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize_init, record_use,
1899 record_important_candidates, set_use_iv_cost, find_depends,
1900 determine_use_iv_costs, iv_ca_new, iv_ca_free, free_loop_data,
1901 tree_ssa_iv_optimize_finalize): Likewise.
1902 * tree-ssa-loop-manip.c (add_exit_phis_var, get_loops_exit,
1903 find_uses_to_rename_use, rewrite_into_loop_closed_ssa,
1904 tree_duplicate_loop_to_header_edge): Likewise.
1905 * tree-ssa-pre.c (init_pre, fini_pre): Likewise.
1906 * tree-ssa.c (verify_flow_insensitive_alias_info,
1907 verify_name_tags, verify_ssa, init_tree_ssa,
1908 delete_tree_ssa): Likewise.
1909 * tree-ssanames.c (marked_ssa_names, init_ssanames,
1910 fini_ssanames): Likewise.
1911 * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Likewise.
1912
3abbb738
RC
19132005-02-17 Ralf Corsepius <ralf.corsepius@rtems.org>
1914
2cdc2073 1915 * config/rs6000/t-rtems: Completely reworked.
3abbb738 1916
9d182aa5
IR
19172005-02-17 Ira Rosen <irar@il.ibm.com>
1918
2cdc2073 1919 * tree-data-ref.c (array_base_name_differ_p): Remove gcc_assert.
9d182aa5 1920
2427fa80
IR
19212005-02-17 Ira Rosen <irar@il.ibm.com>
1922
1923 * tree-vect-analyze.c (vect_analyze_pointer_ref_access): Use
1924 POINTER_TYPE_P when checking that type is a pointer.
1925 (vect_get_memtag): Remove.
1926 (vect_address_analysis): Use POINTER_TYPE_P. Call
1927 vect_object_analysis with dummy parameter for memtag.
1928 (vect_object_analysis): Extract memtag (functionality that
1929 used to be in vect_get_memtag and moved here). Fix printings.
1930 (vect_analyze_data_refs): Fix comment. Call vect_object_analysis
1931 with correct parameters. Remove call to vect_get_memtag.
1932
f7064d11
DN
19332005-02-17 Dorit Naishlos <dorit@il.ibm.com>
1934
1935 * Makefile.in (tree-vect-analyze.o, tree-vect-transform.o): New.
1936 (tree-vectorizer.o): Added missing dependencies.
1937
1938 * tree-vectorizer.h (vect_dump, vect_verbosity_level): Added extern
1939 decleration.
1940 (slpeel_tree_peel_loop_to_edge): Function externalized (had a static
1941 declaration in tree-vectorizer.c, now has an extern declaration in
1942 tree-vectorizer.h).
1943 (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
2cdc2073
ZW
1944 slpeel_verify_cfg_after_peeling, vect_strip_conversion,
1945 get_vectype_for_scalar_type, vect_is_simple_use,
f7064d11
DN
1946 vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
1947 vect_supportable_dr_alignment, new_loop_vec_info, destroy_loop_vec_info,
2cdc2073 1948 new_stmt_vec_info, vect_analyze_loop, vectorizable_load,
f7064d11
DN
1949 vectorizable_store, vectorizable_operation, vectorizable_assignment,
1950 vect_transform_loop, vect_print_dump_info, vect_set_verbosity_level,
1951 find_loop_location): Likewise.
1952
1953 * tree-vectorizer.c (langhooks.h): #include removed.
1954 (slpeel_tree_peel_loop_to_edge): Function externalized. Declaration
1955 moved to tree-vectorized.h.
1956 (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
1957 slpeel_verify_cfg_after_peeling, vect_strip_conversion,
1958 get_vectype_for_scalar_type, vect_is_simple_use,
1959 vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
1960 vect_supportable_dr_alignment, new_loop_vec_info,
1961 destroy_loop_vec_info, new_stmt_vec_info, vect_print_dump_info,
1962 vect_set_verbosity_level, find_loop_location): Likewise.
1963
2cdc2073 1964 (vect_analyze_loop): Function externalized. Declaration moved to
f7064d11
DN
1965 tree-vectorized.h. Function definition moved to tree-vect-analyze.c.
1966 (vect_analyze_loop_form): Moved to tree-vect-analyze.c.
1967 (vect_mark_stmts_to_be_vectorized, vect_analyze_scalar_cycles,
1968 vect_analyze_data_ref_accesses, vect_analyze_data_ref_dependences,
1969 vect_analyze_data_refs_alignment, vect_compute_data_refs_alignment,
1970 vect_enhance_data_refs_alignment, vect_analyze_operations,
1971 exist_non_indexing_operands_for_use_p, vect_mark_relevant,
1972 vect_stmt_relevant_p, vect_get_loop_niters,
1973 vect_analyze_data_ref_dependence, vect_compute_data_ref_alignment,
1974 vect_analyze_data_ref_access, vect_analyze_pointer_ref_access,
1975 vect_can_advance_ivs_p, vect_get_ptr_offset, vect_analyze_offset_expr,
1976 vect_base_addr_differ_p, vect_object_analysis, vect_address_analysis,
1977 vect_get_memtag): Likewise.
1978
2cdc2073 1979 (vectorizable_load): Function externalized. Declaration moved to
f7064d11
DN
1980 tree-vectorized.h. Function definition moved to tree-vect-transform.c.
1981 (vectorizable_store, vectorizable_operation, vectorizable_assignment,
1982 vect_transform_loop): Likewise.
1983 (vect_transform_stmt): Moved to tree-vect-transform.c.
2cdc2073 1984 (vect_align_data_ref, vect_create_destination_var,
f7064d11
DN
1985 vect_create_data_ref_ptr, vect_create_index_for_vector_ref,
1986 vect_create_addr_base_for_vector_ref, vect_get_new_vect_var,
1987 vect_get_vec_def_for_operand, vect_init_vector,
1988 vect_finish_stmt_generation, vect_generate_tmps_on_preheader,
1989 vect_build_loop_niters, vect_update_ivs_after_vectorizer,
1990 vect_gen_niters_for_prolog_loop, vect_update_inits_of_dr,
1991 vect_update_inits_of_drs, vect_do_peeling_for_alignment,
1992 vect_do_peeling_for_loop_bound): Likewise.
2cdc2073 1993
f7064d11
DN
1994 * tree-vect-analyze.c: New file.
1995 * tree-vect-transform.c: New file.
1996
eff9a5d0
JM
19972005-02-17 Jason Merrill <jason@redhat.com>
1998
1999 PR mudflap/19319, c++/19317
2000 * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
2001 slot explicit.
2002
beb5f807
GP
20032005-02-17 Gerald Pfeifer <gerald@pfeifer.com>
2004
2005 * doc/install.texi (Specific): Update link for Darwin-specific
2006 tool binary site.
2cdc2073 2007
9ace7f9e
JM
20082005-02-16 James A. Morrison <phython@gcc.gnu.org>
2009
2010 * fold-const.c (invert_truthvalue): <INTEGER_CST>: Call
2011 constant_boolean_node.
2012
ee01c339 20132005-02-16 David Edelsohn <edelsohn@gnu.org>
53de343a
DE
2014
2015 PR target/19019
2016 * config/rs6000/t-aix43 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
2017 * config/rs6000/t-aix52 (SHLIB_MAPFILES): Same.
2018
4f2e0d5e
RH
20192005-02-16 Richard Henderson <rth@redhat.com>
2020
2021 PR 19920
2022 * libgcc2.c (WORD_SIZE): Remove all definitions; replace uses
2023 with W_TYPE_SIZE.
2024 (HIGH_WORD_COEFF, HIGH_HALFWORD_COEFF): Remove all definitions;
2025 replace uses with Wtype_MAXp1_F.
2026 (L_fixunstfdi, L_fixtfdi, L_floatditf, L_fixunsxfdi, L_fixxfdi,
2027 L_floatdixf, L_fixunsxfsi, L_fixunsdfdi, L_floatdidf, L_fixunsdfsi,
2028 L_powidf2, L_powixf2, L_powitf2, L_muldc3, L_divdc3, L_mulxc3,
2029 L_divxc3, L_multc3, L_divtc3): Protect with HAVE_DFMODE, HAVE_XFMODE,
2030 and HAVE_TFMODE as appropriate.
2031 (__fixunssfDI): Provide an implementation that doesn't need DFmode.
2032 (__floatdisf): Likewise.
2033 * libgcc2.h (LIBGCC2_DOUBLE_TYPE_SIZE): New.
2034 (HAVE_DFMODE, HAVE_XFMODE, HAVE_TFMODE): New.
2035 (Wtype_MAXp1_F): New.
2036 (DFtype, DCtype, __fixdfdi, __floatdidf, __fixunsdfSI, __fixunsdfDI,
2037 __powidf2, __divdc3, __muldc3): Protect with HAVE_DFMODE.
2038
9f7bf991
RE
20392005-02-16 Richard Earnshaw <rearnsha@arm.com>
2040
2041 * PR target/19162
2042 * arm.c (arm_apply_result_size): New function.
2043 * arm.h (APPLY_RESULT_SIZE): Define.
2044 * arm-protos.h (arm_apply_result_size): Add prototype.
2045 * arm.md (RO_REGNUM, FPA_F0_REGNUM, FPA_F7_REGNUM): New constants.
2046 (movxf): New expand.
2047 (ldmsi_postinc4_thumb, stmsi_postinc4_thumb): New patterns for Thumb.
2048 (call_value_symbol): Remove predicate for operand 0.
2049 (call_value_insn, sibcall_value, sibcall_value_insn): Likewise.
2050 (untyped_call): Rework to correclty return values for any type.
2051 (untyped_return): New expand.
2052 * fpa.md (movxf_fpa): Simplify and use sfm/lfm when appropriate.
2053
f0b81cbc
SS
20542005-02-16 Stan Shebs <shebs@apple.com>
2055
2056 * config.gcc (powerpc-*-darwin*): Use fragment for Darwin 8 or later.
2057 * config/rs6000/t-darwin8: New, for 64-bit multilib.
2058
25c62e24
EB
20592005-02-16 Eric Botcazou <ebotcazou@libertysurf.fr>
2060
927c8259 2061 * doc/install.texi (sparc-sun-solaris2*): Document required GMP
25c62e24
EB
2062 configure settings on Solaris 7 and later.
2063
3bd09563
DN
20642005-02-16 Diego Novillo <dnovillo@redhat.com>
2065
2066 PR tree-optimization/19865
2067 * tree-optimize.c (init_tree_optimization_passes): Run
2068 pass_may_alias after pass_sra.
2069
847d0c08
RH
20702005-02-16 Richard Henderson <rth@redhat.com>
2071 Stuart Hastings <stuart@apple.com>
2072
2073 PR debug/19521
2074 * dbxout.c (dbxout_function_end): Take decl parameter; update callers.
2075 Do nothing if debug info suppressed for this function.
2076 (dbxout_begin_function): Early exit if debug info suppressed for
2077 this function.
2078
de332a85
KH
20792005-02-16 Kazu Hirata <kazu@cs.umass.edu>
2080
2081 PR target/20007
2082 * config/ip2k/ip2k.c (ip2k_reorg): Adjust calls to
2083 find_basic_blocks.
2084 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
2085
5fcfe0b2
KH
2086 PR tree-optimization/19967
2087 * builtins.c (expand_builtin_strstr, expand_builtin_strpbrk,
2088 expand_builtin_strchr, expand_builtin_strrchr): Take a new
2089 argument TYPE. Adjust calls to fold_builtin_XXX.
2090 (expand_builtin, fold_builtin_1): Adjust calls to
2091 expand_builtin_XXX.
2092 (fold_builtin_strchr, fold_builtin_strpbrk,
2093 fold_builtin_strstr, fold_builtin_strrchr): Convert the folded
2094 result to a requested type TYPE.
2095
8940b3b2
JJ
20962005-02-16 Jakub Jelinek <jakub@redhat.com>
2097
2098 PR middle-end/19857
2099 * fold-const.c (fold): Don't optimize (T)(x & cst) to
2100 (T)x & (T)cst if (T)cst overflows.
2101 * convert.c (convert_to_integer) <case POINTER_TYPE>: Pass
2102 TYPE_UNSIGNED (type) as type_for_size's UNSIGNEDP argument.
2103
aa47fcfa
JL
21042005-02-15 Jeff Law <law@redhat.com>
2105
2106 * gcse.c (blocks_with_calls): New bitmap.
2107 (alloc_gcse_mem): Allocate it.
2108 (free_gcse_mem): Free it.
2109 (clear_modifY_mem_tables): Clear it.
2110 (record_last_mem_set_info): Set the proper bit in BLOCK_WITH_CALLS
2111 when we encounter CALL_INSNs.
2112 (compute_transp, case MEM): Handle blocks with calls separate
2113 from blocks without calls. Use bitmap iterators rather than
2114 FOR_EACH_BB.
2115
489ce9e7
PG
21162005-02-15 Peter O'Gorman <peter@pogma.com>
2117
2118 PR bootstrap/18810
2119 * mklibgcc.in (vis_hide): Use a temporary object file, not
2120 -o /dev/null.
2121
1dd8ce20
AH
21222005-02-15 Andy Hutchinson <HutchinsonAndy@netscape.net>
2123
2124 PR target/19924
2125 * config/avr/avr.h (MODES_TIEABLE_P): Define to 1 to allow subreg
2126 access optimization.
2127
6f85d0c4 21282005-02-15 David Edelsohn <edelsohn@gnu.org>
fd9850d5 2129 Alan Modra <amodra@bigpond.net.au>
6f85d0c4
DE
2130
2131 PR target/19019
2132 * config/rs6000/darwin-ldouble.c (_xlqadd): Rename to __gcc_qadd.
2133 (_xlqsub): Rename to __gcc_qsub.
2134 (_xlqmul): Rename to __gcc_qmul.
2135 (_xlqdiv): Rename to __gcc_qdiv.
2136 Provide versioned symbol aliases with old names.
2137 * config/rs6000/libgcc-ppc64.ver: Rename symbols.
2138 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Rename symbols.
2139 * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): New.
2140 * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): New.
2141 * config/rs6000/t-newas (LIB2FUNCS_EXTRA): New.
2142
40f84775
JM
21432005-02-15 James A. Morrison <phython@gcc.gnu.org>
2144
2145 * fold-const.c (fold): Fold -(~A) to A + 1. Fold ~(-A) to A - 1.
2146 Fold ~(A - 1) and ~(A + -1) to -A.
2147
14be52a2
JM
21482005-02-15 James A. Morrison <phython@gcc.gnu.org>
2149
2150 PR pch/14940
2151 PR target/19300
2152 * config/host-linux.c (linux_gt_pch_use_address): Copy from
2153 config/pa/pa-host.c:pa_gt_pch_use_address.
2154
eace8c18
DB
21552005-02-15 Daniel Berlin <dberlin@dberlin.org>
2156
2157 * tree-vn.c (get_value_handle): Make sure that given an
2158 is_gimple_min_invariant expression, we always return it.
2159
83cc36c8
KH
21602005-02-15 Kazu Hirata <kazu@cs.umass.edu>
2161
2162 * passes.c (rest_of_handle_gcse): Fix a comment.
2163
9a6cf911
JL
21642005-02-15 Jeff Law <law@redhat.com>
2165
2166 * gcse.c (canon_modify_mem_set_list_set): Kill unnecessary
2167 bitmap.
2168 (alloc_gcse_mem, free_gcse_mem): Corresponding changes.
2169 (canon_list_insert, record_last_mem_set_info): Similarly.
2170 (clear_modify_mem_tables): Similarly.
2171
6a6305e4
KH
21722005-02-15 Kazu Hirata <kazu@cs.umass.edu>
2173
2174 * bitmap.c, bitmap.h, lambda-code.c, tree-dfa.c, tree-dump.c,
2175 tree-dump.h, tree-ssa-loop-manip.c, value-prof.c,
2176 config/mips/mips.md, config/rs6000/aix.h,
2177 config/rs6000/beos.h, config/rs6000/sysv4.h: Update copyright.
2178
934677f9
RH
21792005-02-15 Richard Henderson <rth@redhat.com>
2180
2cdc2073 2181 * bb-reorder.c (find_traces_1_round): Force fallthru edge from a
934677f9
RH
2182 call to be best_edge.
2183
2e09ee33
KH
21842005-02-14 Kazu Hirata <kazu@cs.umass.edu>
2185
2186 * basic-block.h: Adjust the prototype for find_basic_blocks.
2187 * cfgbuild.c (find_basic_blocks): Remove unused arguments.
2188 * passes.c (rest_of_handle_loop_optimize): Adjust the call to
2189 find_basic_blocks.
2190
e22857eb
KH
2191 * flow.c (recompute_reg_usage): Remove all arguments.
2192 * passes.c (rest_of_compilation): Adjust the call to
2193 recompute_reg_usage.
2194 * rtl.h: Adjust the prototype for recompute_reg_usage.
2195
f46fe224 21962005-02-14 Daniel Berlin <dberlin@dberlin.org>
2cdc2073 2197
f46fe224
DB
2198 * tree-dump.c (dump_files): Update to reflect new member
2199 of dump_file_info.
2200 (dump_register): Add new argument.
2201 Set glob name.
2202 (dump_switch_p_1): Check against glob name if doglob was passed.
2203 (dump_switch_p): Check against regular first, then glob if
2204 we didn't have any hits on the dump name.
2205 * tree-optimize.c (register_one_dump_file):
2206 Pass in glob name as well.
2207 * tree-pass.h (struct dump_file_info): Add glob
2208 member.
2209
90689ae1
JM
22102005-02-14 Joseph S. Myers <joseph@codesourcery.com>
2211
2212 PR preprocessor/16323
2213 * doc/invoke.texi: Document that -Wendif-labels is on by default.
2214
8cb320b8
DE
22152005-02-14 David Edelsohn <edelsohn@gnu.org>
2216
2217 PR target/19019
2fe433c2 2218 * config/rs6000/rs6000.md (trunctfdf2): Change to define_expand.
8cb320b8 2219 (trunctfdf2_internal1): New.
2fe433c2 2220 (trunctfdf2_internal2): Renamed from trunctfdf2.
8cb320b8 2221
9a06c1cb
DN
22222005-02-14 Diego Novillo <dnovillo@redhat.com>
2223
2224 PR tree-optimization/19853
2225 * tree-dfa.c (add_referenced_var): Always examine DECL_INITIAL.
2226
0c86d709
KH
22272005-02-14 Kazu Hirata <kazu@cs.umass.edu>
2228
2229 * passes.c (rest_of_handle_loop_optimize): Remove calls to
2230 delete_dead_jumptables and cleanup_cfg.
2231
e88d55cd
UW
22322005-02-14 Ulrich Weigand <uweigand@de.ibm.com>
2233
2234 * reload.c (find_reloads): Swap address_reloaded flags when
2235 swapping commutative operands.
2236
92d2b330 22372005-02-14 Sebastian Pop <pop@cri.ensmp.fr>
9a06c1cb 2238
92d2b330
SP
2239 * lambda-code.c (lambda_loopnest_to_gcc_loopnest, perfect_nestify):
2240 Use standard_iv_increment_position for computing the bsi position
2241 for create_iv.
2242 * tree-ssa-loop-manip.c (create_iv): Add a comment on how to compute
2243 the bsi position.
2244
af9ecd0c
ZD
22452005-02-13 Zdenek Dvorak <dvorakz@suse.cz>
2246
2247 PR target/17428
9a06c1cb
DN
2248 * cfgrtl.c (safe_insert_insn_on_edge): Avoid extending
2249 life range of hard registers.
2250 * value-prof.c (insn_prefetch_values_to_profile): Only
2251 scan normal insns.
af9ecd0c
ZD
2252
2253 * value-prof.c (rtl_find_values_to_profile): Do not look for values to
2254 profile in libcalls.
2255
90bb1c1f
NS
22562005-02-13 Nathan Sidwell <nathan@codesourcery.com>
2257
2258 * bitmap.h (bitmap_and_compl_into): Return bool.
2259 * bitmap.c (bitmap_and_compl_into): Return changed flag.
2260
623049aa
JM
22612005-02-13 James A. Morrison <phython@gcc.gnu.org>
2262
2263 PR tree-optimization/19944
2264 * fold-const.c (fold): Re-add ABS_EXPR folding.
2265
de17c25f
DE
22662005-02-13 David Edelsohn <edelsohn@gnu.org>
2267
2268 PR target/19019
2269 * config/rs6000/aix.h ({TARGET,MASK}_XL_CALL): Rename to
2270 {TARGET,MASK}_XL_COMPAT.
2271 (SUBTARGET_SWITCHES): Rename xl-call to xl-compat. Use
2272 MASK_XL_COMPAT.
2273 * config/rs6000/beos.h ({TARGET,MASK}_XL_CALL): Remove.
2274 * config/rs6000/rs6000.c (function_arg): Change TARGET_XL_CALL to
2275 TARGET_XL_COMPAT.
2276 (rs6000_arg_partial_bytes): Same.
2277 (rs6000_generate_compare): Generate PARALLEL for compare if TFmode
2278 and XL compatibility enabled.
2279 * config/rs6000/rs6000.h (TARGET_XL_CALL): Rename to TARGET_XL_COMPAT.
2280 * config/rs6000/rs6000.md (cmptf_internal1): Add !TARGET_XL_COMPAT
2281 test to final condition.
2282 (cmptf_internal2): New.
2283 * doc/invoke.texi (RS/6000 Subtarget Options): Change xl-call to
2284 xl-compat. Add TFmode information to description.
2285
e04369ac
KH
22862005-02-13 Kazu Hirata <kazu@cs.umass.edu>
2287
2288 * flags.h, read-rtl.c, tree-ssa-live.h: Update copyright.
2289
38116e3d
JM
22902005-02-13 Jason Merrill <jason@redhat.com>
2291
38116e3d
JM
2292 PR c++/16405
2293 * fold-const.c (fold_indirect_ref_1): Split out from...
2294 (build_fold_indirect_ref): Here.
2295 (fold_indirect_ref): New fn.
2296 * tree.h: Declare it.
2297 * gimplify.c (gimplify_compound_lval): Call fold_indirect_ref.
2298 (gimplify_modify_expr_rhs): Likewise.
2299 (gimplify_expr): Likewise.
2300
60a8fb5e
JM
23012005-02-13 James A. Morrison <phython@gcc.gnu.org>
2302
2303 PR tree-optimization/14303
2304 PR tree-optimization/15784
2305 * fold-const.c (fold): Fold ABS_EXPR<x> >= 0 to true, when possible.
2306 Fold ABS_EXPR<x> < 0 to false. Fold ABS_EXPR<x> == 0 to x == 0 and
2307 ABS_EXPR<x> != 0 to x != 0.
2308
647eea9d
KH
23092005-02-12 Kazu Hirata <kazu@cs.umass.edu>
2310
2311 * c-tree.h, combine.c, expmed.c, flow.c, libgcc2.c,
2312 simplify-rtx.c, tree-ssa-live.h: Fix comment typos. Follow
2313 spelling conventions.
2314
6f9087d7
KH
2315 * passes.c (rest_of_handle_gcse): Don't run cse_main and
2316 delete_trivially_dead_insns too many times.
2317
ea24f64b
KH
2318 * passes.c (rest_of_handle_gcse): Remove dead assignments to
2319 tem and tem2.
2320
8ad833ac
IR
23212005-02-12 Ira Rosen <irar@il.ibm.com>
2322
2323 * tree-vectorizer.c (vect_get_base_and_offset): Remove.
2324 (vect_is_simple_iv_evolution): Remove redundant parameter
2325 and step check.
2326 (vect_analyze_scalar_cycles): Call vect_is_simple_iv_evolution
2327 without last parameter.
2328 (vect_analyze_pointer_ref_access): Get access_fn as parameter.
2329 Return pointer step. Call vect_is_simple_iv_evolution without
2330 last parameter. Check only that the step is multiple of size
2331 type. Remove stmt_vinfo updates.
2332 (vect_get_memtag_and_dr): Remove.
2333 (vect_get_memtag): New function.
2334 (vect_address_analysis): New function.
2335 (vect_object_analysis): New function.
2336 (vect_analyze_data_refs): Call vect_object_analysis and
2337 vect_get_memtag. Update stmt_vinfo fields.
2338
e3a8a4ed
IR
23392005-02-12 Ira Rosen <irar@il.ibm.com>
2340
2341 * tree-data-ref.c (array_base_name_differ_p): Check that the bases
2342 exist and are objects. Remove checks for pointer.
2343 * tree-vectorizer.c (vect_create_addr_base_for_vector_ref): Use
2344 STMT_VINFO_VECT_DR_BASE_ADDRESS instead of DR_BASE_NAME.
2345 (vect_create_data_ref_ptr): Likewise.
2346 (vect_base_addr_differ_p): New function.
2347 (vect_analyze_data_ref_dependence): Call vect_base_addr_differ_p.
2348 (vect_analyze_pointer_ref_access): Add output parameter - ptr_init.
2349 Don't set the DR_BASE_NAME field of data-ref.
2350 (vect_get_memtag_and_dr): Use ptr_init instead of DR_BASE_NAME.
2351
c94a75af
UB
23522005-02-12 Uros Bizjak <uros@kss-loka.si>
2353
2354 * optabs.h (enum optab_index): Add new OTI_ldexp.
2355 (ldexp_optab): Define corresponding macro.
2356 * optabs.c (init_optabs): Initialize ldexp_optab.
2357 * genopinit.c (optabs): Implement ldexp_optab using ldexp?f3
2358 patterns.
2359 * builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_LDEXP{,F,L}
2360 using ldexp_optab.
2361 (expand_builtin): Expand BUILT_IN_LDEXP{,F,L} using
2362 expand_builtin_mathfn_2 if flag_unsafe_math_optimizations is set.
2363
2364 * config/i386/i386.md (ldexpsf3, ldexpdf3, ldexpxf3): New expanders
2365 to implement ldexpf, ldexp and ldexpl built-ins as inline x87
2366 intrinsics.
2367
e3a8a4ed 23682005-02-12 Ira Rosen <irar@il.ibm.com>
a5ae3ad6
IR
2369
2370 * tree-vectorizer.h (struct _stmt_vec_info): Rename a field: base
2371 to base_address.
2372 * tree-vectorizer.c (new_stmt_vec_info): Rename the above field of
2373 stmt_vec_info.
2374 (vect_get_base_and_offset): Always return an address.
2375 (vect_create_addr_base_for_vector_ref): Remove treatment for
2376 different data reference types.
2377 (vect_compute_data_ref_alignment): Rename base to base_address in
2378 stmt_vec_info. Get the object in order to force its alignment.
2379 (vect_get_memtag_and_dr): Rename base to base_address in
2380 stmt_vec_info. Extract the object for memtag analysis.
2381
f4ddaddd
HPN
23822005-02-12 Hans-Peter Nilsson <hp@axis.com>
2383
2384 PR regression/19898.
2385 * config/cris/cris.c (cris_notice_update_cc): When testing if insn
2386 changes cc_status, use apply modified_in_p to part of cc_status
2387 and insn, not cris_reg_overlap_mentioned_p on SET_DEST of insn
2388 body.
2389
7e7e470f
RH
23902005-02-11 Richard Henderson <rth@redhat.com>
2391
2392 * tree-complex.c (expand_complex_libcall): New.
2393 (expand_complex_multiplication): Use it for c99 compliance.
2394 (expand_complex_division): Likewise.
2395 * fold-const.c (fold_complex_add, fold_complex_mult): New.
2396 (fold): Call them.
2397 * builtins.c (built_in_names): Remove const.
2398 * tree.c (build_common_builtin_nodes): Build complex arithmetic
2399 builtins.
2400 * tree.h (BUILT_IN_COMPLEX_MUL_MIN, BUILT_IN_COMPLEX_MUL_MAX): New.
2401 (BUILT_IN_COMPLEX_DIV_MIN, BUILT_IN_COMPLEX_DIV_MAX): New.
2402 (built_in_names): Remove const.
2403 * c-common.c (c_common_type_for_mode): Handle complex modes.
2404 * flags.h, toplev.c (flag_complex_method): Rename from
2405 flag_complex_divide_method.
2406 * libgcc2.c (__divsc3, __divdc3, __divxc3, __divtc3,
2407 __mulsc3, __muldc3, __mulxc3, __multc3): New.
2408 * libgcc2.h: Declare them.
a310245f 2409 * libgcc-std.ver: Export them.
7e7e470f
RH
2410 * mklibgcc.in (lib2funcs): Build them.
2411
c33bae88
SB
24122005-02-11 Steven Bosscher <stevenb@suse.de>
2413
2414 PR tree-optimization/19876
2415 Partially revert my change from 2005-01-14
2416 * tree-ssa-pre.c (compute_antic_aux): Make recursive once again...
2417 (compute_antic): ...and remove the loop here.
2418
28f8ecf9
JJ
24192005-02-11 Jakub Jelinek <jakub@redhat.com>
2420
97e9692b
JJ
2421 PR middle-end/19858
2422 * fold-const.c (make_bit_field_ref): If bitpos == 0 and bitsize
2423 is number of inner's bits, avoid creating a BIT_FIELD_REF.
2424
28f8ecf9
JJ
2425 * config/rs6000/sysv4.h (ENDFILE_LINUX_SPEC): Use crtendS.o instead of
2426 crtend.o if -pie. Use %{x:a;:b} spec syntax.
2427
d04b77ac
DJ
24282005-02-11 Daniel Jacobowitz <dan@codesourcery.com>
2429
2430 * config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust
2431 offsets for the big-endian 32-bit case.
2432
70406574
JM
24332005-02-11 Joseph S. Myers <joseph@codesourcery.com>
2434
2435 * config/ia64/hpux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
2436
7e42db17
DJ
24372005-02-11 Dale Johannesen <dalej@apple.com>
2438
2439 * cselib.c (cselib_process_insn): Clear out regs where
2440 HARD_REGNO_CALL_PART_CLOBBERED is true at a call.
2441 * reload.c (find_equiv_reg): Ditto.
2442
f6254da4
ILT
24432005-02-11 Ian Lance Taylor <ian@airs.com>
2444
c5d97f6e
ILT
2445 * read-rtl.c (read_rtx_1): Give fatal error if we see a vector
2446 with no elements.
2447
f6254da4
ILT
2448 * tree.c (build_function_type_list): Work correctly if there are
2449 no arguments.
2450
f4f41b4e
UW
24512005-02-11 Ulrich Weigand <uweigand@de.ibm.com>
2452
2453 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs",
2454 "*cmpsi_ccs"): Use %h instead of %c to print immediate operand.
2455 ("*zero_extendhisi2_64", "*zero_extendhisi2_31"): Choose based on
2456 TARGET_ZARCH instead of TARGET_64BIT.
2457
f203217e
RC
24582005-02-11 Ralf Corsepius <ralf.corsepius@rtems.org>
2459
2460 * config/rs6000/t-rtems:
2461 (MULTILIB_OPTIONS): Remove mcpu=602.
2462 (MUTLILIB_DIRNAMES): Remove m602.
2cdc2073 2463 (MULTILIB_MATCHES): Add ${MULTILIB_MATCHES_FLOAT}.
f203217e
RC
2464 Let mcpu=602 match mcpu=603.
2465 (MULTILIB_NEW_EXCEPTIONS_ONLY): Add mcpu=601, mcpu=602, mcpu=m603.
2466
9dcab61e
JDA
24672005-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2468
2469 * pa/linux-unwind.h (pa32_fallback_frame_state): Handle misaligned
2470 signal trampolines.
2471
70ad1f9f
DD
24722005-02-10 David Daney <ddaney@avtrex.com>
2473
2474 * config/alpha/linux-unwind.h: Add exception clause to copyright.
2475 * config/i386/linux-unwind.h: Likewise.
2476 * config/ia64/linux-unwind.h: Likewise.
2477 * config/mips/linux-unwind.h: Likewise.
2478 * config/pa/linux-unwind.h: Likewise.
2479 * config/rs6000/linux-unwind.h: Likewise.
2480 * config/s390/linux-unwind.h: Likewise.
2481 * config/sh/linux-unwind.h: Likewise.
2482 * config/sparc/linux-unwind.h: Likewise.
2483
3b6616dd
SB
24842005-02-10 Steven Bosscher <stevenb@suse.de>
2485
2486 PR tree-optimization/17549
2487 * tree-outof-ssa.c (find_replaceable_in_bb): Do not allow
2488 TER to replace a DEF with its expression if the DEF and the
2489 rhs of the expression we replace into have the same root
2490 variable.
2491
a0c5992a
RS
24922005-02-10 Richard Sandiford <rsandifo@redhat.com>
2493
2494 * config/mips/mips.md: Fix the placement of the match_scratch in the
2495 lea64 peephole2.
2496
0388d40a
KH
24972005-02-10 Kazu Hirata <kazu@cs.umass.edu>
2498
2499 * cse.c, tree-ssa-loop-ivopts.c, config/rs6000/linux-unwind.h:
2500 Fix comment typos.
2501
f5e2738c
ZD
25022005-02-10 Zdenek Dvorak <dvorakz@suse.cz>
2503
2504 * tree-ssa-loop-ivopts.c (determine_base_object): Ignore casts.
2505 (strip_offset): Handle addresses.
2506 (add_address_candidates): Use strip_offset.
2507 (difference_cost): Reflect strip_offset change.
2508 (force_var_cost, difference_cost): Strip nops.
2509
33d6a74c
KH
25102005-02-10 Kazu Hirata <kazu@cs.umass.edu>
2511
2512 * df.h (DF_REF_MODE_CHANGE, DF_REF_MEM_OK): Remove.
2513
c486021d
KH
2514 * builtins.def, haifa-sched.c, libgcc2.c, libgcc2.h,
2515 tree-ssa-loop-ivcanon.c, tree-ssa-loop-niter.c,
2516 config/cris/cris-protos.h, config/cris/cris.c: Update
2517 copyright.
2518
8d6f7195
JL
25192005-02-10 Jeff Law <law@redhat.com>
2520
2521 * tree-ssa-dom.c (thread_across_edge): Use xmalloc, not xcalloc.
2522 (lookup_avail_expr): Similarly.
2523
ba78d452
RG
25242005-02-10 Richard Guenther <rguenth@gcc.gnu.org>
2525
2526 * builtins.c (fold_builtin_powi): New function.
2527 (fold_builtin_1): Call it.
2528
0d3e9f35
SB
25292005-02-10 Steven Bosscher <stevenb@suse.de>
2530
2531 PR documentation/19309
2532 * doc/cpp.texi: The __GNUC__ and related predefined macros
2533 are also defined for the "standalone" cpp.
2534 Some non-GCC compilers may also define __GNUC__.
2535
ccf7f880
JJ
25362005-02-10 Jakub Jelinek <jakub@redhat.com>
2537
2538 PR c/19342
2539 * c-typeck.c (common_type): New routine. Old common_type renamed
2540 to...
2541 (c_common_type): ...this.
2542 (build_conditional_expr, build_binary_op): Use c_common_type instead
2543 of common_type.
2544
b49900cc
SB
25452005-02-10 Steven Bosscher <stevenb@suse.de>
2546
2547 * doc/md.texi: Replace @samp{length} with @code{length}.
2548
ca4c3169
ZD
25492005-02-09 Zdenek Dvorak <dvorakz@suse.cz>
2550
2551 PR tree-optimization/18687
2552 * tree-flow.h (find_loop_niter): Declare.
2553 * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
2554 Try using scev even for loops with more than one exit.
2555 * tree-ssa-loop-ivopts.c (struct loop_data): Removed niter field.
2556 (struct ivopts_data): Added niters field.
2557 (struct nfe_cache_elt): New.
2558 (nfe_hash, nfe_eq, niter_for_exit, niter_for_single_dom_exit): New
2559 functions.
2560 (tree_ssa_iv_optimize_init): Initialize niters cache.
2561 (determine_number_of_iterations): Removed.
2562 (find_induction_variables): Do not call determine_number_of_iterations.
2563 Access niters for single exit through niter_for_single_dom_exit.
2564 (add_iv_outer_candidates): Access niters for single exit through
2565 niter_for_single_dom_exit.
2566 (may_eliminate_iv): Take data argument. Use niter_for_exit. Do not use
2567 number_of_iterations_cond.
2568 (iv_period): New function.
2569 (determine_use_iv_cost_condition): Pass data to may_eliminate_iv.
2570 (may_replace_final_value): Take data argument. Use
2571 niter_for_single_dom_exit.
2572 (determine_use_iv_cost_outer): Pass data to may_replace_final_value.
2573 (rewrite_use_compare): Pass data to may_eliminate_iv.
2574 (rewrite_use_outer): Pass data to may_replace_final_value.
2575 (free_loop_data): Clean up the niters cache.
2576 (tree_ssa_iv_optimize_finalize): Free the niters cache.
2577 (tree_ssa_iv_optimize_loop): Do not call loop_commit_inserts.
2578 * tree-ssa-loop-niter.c (find_loop_niter): New function.
2579 (find_loop_niter_by_eval): Use tree_int_cst_lt.
2580 (num_ending_zeros): Moved to tree.c.
2581 * tree.h (num_ending_zeros): Declare.
2582 * tree.c (num_ending_zeros): Moved from tree.c.
2583
c6a912da
RH
25842005-02-09 Richard Henderson <rth@redhat.com>
2585
2586 * builtins.c (DEF_BUILTIN): Add COND argument.
2587 * tree.h (DEF_BUILTIN): Likewise.
2588 * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN, DEF_EXT_LIB_BUILTIN,
2589 DEF_C94_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN): Update to
2590 match.
2591 (DEF_BUILTIN_STUB): New.
2592 (BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE, BUILT_IN_INIT_TRAMPOLINE,
2593 BUILT_IN_ADJUST_TRAMPOLINE, BUILT_IN_NONLOCAL_GOTO,
2594 BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT): Use it.
2595 * c-common.c (DEF_BUILTIN): Add COND argument.
2596 * tree.c (local_define_builtin): New.
2597 (build_common_builtin_nodes): New.
2598
e3bb43c0
RS
25992005-02-09 Roger Sayle <roger@eyesopen.com>
2600
2601 * fold-const.c (fold_strip_sign_ops): New function to simplify a
2602 floating point expression ignoring the sign of the result.
2603 (fold) <ABS_EXPR>: Use it to simplify fabs(x).
2604 (fold) <MULT_EXPR>: Use it to simplify x*x.
2605 * tree.h (fold_strip_sign_ops): Prototype here.
2606 * builtins.c (fold_builtin_copysign): Take an additional FNDECL
2607 argument. Use fold_strip_sign_ops to simplify the first argument.
2608 (fold_builtin_pow): Use fold_strip_sign_ops to simplify the
2609 first argument when the second argument is an even integer
2610 constant, but only with -funsafe_math_optimizations.
2611 (fold_builtin_1): Update call to fold_builtin_copysign.
2612
5eefcf2f
ILT
26132005-02-09 Ian Lance Taylor <ian@airs.com>
2614
2615 PR middle-end/19583
2616 * gimple-low.c (try_catch_may_fallthru): In EH_FILTER_EXPR case,
2617 just check whether EH_FILTER_FAILURE falls through.
2618
dab80c81
AK
26192005-02-09 Andreas Krebbel <krebbel1@de.ibm.com>
2620
2621 * gcc/haifa-sched.c (schedule_block): Make queued sched group
2622 insns return to ready list in the next turn.
2623
17684d46
RG
26242005-02-09 Richard Guenther <rguenth@gcc.gnu.org>
2625
2626 PR middle-end/19402
2627 * builtins.def: New __builtin_powi[lf].
2628 * builtins.c (mathfn_built_in): Handle BUILT_IN_POWI.
2629 (expand_builtin_powi): New function.
2630 (expand_builtin): Dispatch to expand_builtin_powi.
2631 * libgcc2.h: Add prototypes for __builtin_powi[lf].
2632 * libgcc2.c: Add __builtin_powi[lf] implementation.
2633 * mklibgcc.in: Add __builtin_powi[lf] to lib2funcs.
2634 * optabs.h: Add powi_optab.
2635 * optabs.c (init_optabs): Initialize powi_optab.
2636 * doc/extend.texi: Document __builtin_powi[lf].
2637
8ca3515f
DN
26382005-02-09 Dorit Naishlos <dorit@il.ibm.com>
2639
2cdc2073 2640 * tree-vectorizer.c (vect_set_dump_settings): Check that dump_file
8ca3515f
DN
2641 exists.
2642
0c6c135b
RG
26432005-02-09 Richard Guenther <rguenth@gcc.gnu.org>
2644
2645 PR middle-end/19854
2646 * fold-const.c (try_move_mult_to_index): Remove redundant
2647 type argument. Create ADDR_EXPR with correct type.
2648 (fold): Update callers of try_move_mult_to_index. Convert
2649 result to the appropriate type.
2650
8f2bf9f1
RS
26512005-02-09 Roger Sayle <roger@eyesopen.com>
2652
2653 PR target/19597
2654 * config/avr/avr.c (default_rtx_costs): Delete.
2655 (avr_operand_rtx_cost): New function.
2656 (avr_rtx_costs): Completely rewrite.
2657
453bd0f5
HPN
26582005-02-08 Hans-Peter Nilsson <hp@axis.com>
2659
2660 PR target/19806
2661 * config/cris/cris.c (in_code): New variable.
2662 (cris_output_addr_const): Now a static function, a wrapper for
2663 output_addr_const.
2664 (cris_asm_output_symbol_ref): New function, broken out SYMBOL_REF
2665 case from old cris_output_addr_const.
2666 (cris_asm_output_label_ref): Similar for LABEL_REF.
2667 (cris_output_addr_const_extra): Similar for UNSPEC.
2668 * config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA)
2669 (ASM_OUTPUT_SYMBOL_REF, ASM_OUTPUT_LABEL_REF): Define.
2670 * config/cris/cris-protos.h (cris_output_addr_const): Remove
2671 declaration.
2672 (cris_asm_output_symbol_ref, cris_output_addr_const_extra)
2673 (cris_asm_output_label_ref): Declare.
2674
749c6ef9
PB
26752005-02-08 Paolo Bonzini <bonzini@gnu.org>
2676
2677 PR preprocessor/19801
2678 * doc/cppinternals.texi (Conventions, Lexer, Files): Adjust
2679 filenames that changed when libcpp was moved to the toplevel.
2680
f8eacd97
RS
26812005-02-07 Roger Sayle <roger@eyesopen.com>
2682
2683 * simplify-rtx.c (simplify_relational_operation_1): Avoid creating
2684 zero extensions of BImode operands. Call lowpart_subreg instead
2685 of gen_lowpart_common and gen_lowpart_SUBREG.
2686
1e3fad21
NN
26872005-02-07 Nathanael Nerode <neroden@gcc.gnu.org>
2688
2689 PR ada/19489
2690 * libada-mk.in: Use cc_for_cross_gnattools, not cc_set_by_configure.
2691 * configure.ac: Set cc_for_cross_gnattools.
2692 * configure: Regenerate.
2693
b0ad2de2
AM
26942005-02-08 Alan Modra <amodra@bigpond.net.au>
2695
2696 PR target/19803
2697 * predict.c (PROB_VERY_UNLIKELY): Use 1% instead of 10%.
2698
b950a32e
EB
26992005-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2700
2701 PR debug/19327
2702 * dbxout.c (dbxout_symbol) <FUNCTION_DECL>: Skip inline instance
2703 of nested functions.
2704
6871294a
JW
27052005-02-07 Jonathan Wakely <redi@gcc.gnu.org>
2706
2707 * doc/extend.texi: Document deprecated extensions allowing
2708 static floating-point members to have initializers and allowing
2709 floating-point literals in integral constant expressions.
2710
17385e0d
KH
27112005-02-07 Kazu Hirata <kazu@cs.umass.edu>
2712
2713 * cfgcleanup.c, df.h, diagnostic.c, rtl.c, tree-vectorizer.h,
2714 config/darwin7.h, config/mips/mips.c,
2715 config/rs6000/altivec.md, config/rs6000/darwin-tramp.asm:
2716 Update copyright.
2717
459281be
KH
2718 * cse.c: Update comments.
2719
6a96f5c1
RG
27202005-02-07 Richard Guenther <rguenth@gcc.gnu.org>
2721
2722 PR middle-end/19775
2723 * builtins.c (fold_builtin_sqrt): Transform
2724 sqrt(pow(x,y)) to pow(fabs(x),y*0.5), not
2725 pow(x,y*0.5).
2726
c866976a
LB
27272005-02-07 Leehod Baruch <leehod@il.ibm.com>
2728 Dorit Naishlos <dorit@il.ibm.com>
2729
2730 * doc/invoke.texi (ftree-vectorizer-verbose): New.
2731 * opts.c (OPT_ftree_vectorizer_verbose_): New case for switch.
2732 * common.opt (ftree-vectorizer-verbose): New Flag for the vectorizer
2733 was added.
2734 * tree.h (vect_set_verbosity_level): New extern function declaration
2735 added.
2736 * tree-vectorizer.h (verbosity_levels): New enum type.
2737 * tree-vectorizer.c (vect_debug_stats): Function removed.
2738 (vect_debug_details): Likewise.
2739 (vect_verbosity_level): Global variable was defined and initialized.
2740 (vect_dump): Global variable definition.
2741 (vect_print_dump_info): New function.
2742 (vect_set_dump_settings): New function.
2743 (vect_set_verbosity_level): New function.
2744 (vectorize_loops): Add call to vect_set_dump_settings.
2745
2746 (slpeel_make_loop_iterate_ntimes): Dump condition was changed.
2747 (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
2748 (slpeel_tree_peel_loop_to_edge): Likewise.
2749
2750 (vect_analyze_offset_expr): Call to vect_print_dump_info with
2cdc2073
ZW
2751 appropriate verbosity level instead of call to vect_debug_details
2752 or vect_debug_stats.
c866976a
LB
2753 (vect_get_base_and_offset):
2754 (vect_create_addr_base_for_vector_ref):
2755 (get_vectype_for_scalar_type):
2756 (vect_create_data_ref_ptr):
2757 (vect_init_vector):
2758 (vect_get_vec_def_for_operand):
2759 (vect_finish_stmt_generation):
2760 (vectorizable_assignment):
2761 (vectorizable_operation):
2762 (vectorizable_store):
2763 (vectorizable_load):
2764 (vect_transform_stmt):
2765 (vect_update_ivs_after_vectorizer):
2766 (vect_do_peeling_for_loop_bound):
2767 (vect_update_inits_of_drs):
2768 (vect_do_peeling_for_alignment):
2769 (vect_transform_loop):
2770 (vect_is_simple_use):
2771 (vect_analyze_operations):
2772 (vect_is_simple_iv_evolution):
2773 (vect_analyze_scalar_cycles):
2774 (vect_analyze_data_ref_dependence):
2775 (vect_analyze_data_ref_dependences):
2776 (vect_compute_data_ref_alignment):
2777 (vect_enhance_data_refs_alignment):
2778 (vect_analyze_data_refs_alignment):
2779 (vect_analyze_data_ref_access):
2780 (vect_analyze_data_ref_accesses):
2781 (vect_analyze_pointer_ref_access):
2782 (vect_get_memtag_and_dr):
2783 (vect_analyze_data_refs):
2784 (vect_mark_relevant):
2785 (vect_stmt_relevant_p):
2786 (vect_mark_stmts_to_be_vectorized):
2787 (vect_can_advance_ivs_p):
2788 (vect_get_loop_niters):
2789 (vect_analyze_loop_form):
2790 (vect_analyze_loop):
2791 (vectorize_loops): Likewise.
2792
2793 (vect_do_peeling_for_loop_bound): Dump format slightly changed.
2794 (vect_update_inits_of_drs):
2795 (vect_do_peeling_for_alignment):
2796 (vect_transform_loop):
2797 (vect_analyze_operations):
2798 (vect_analyze_scalar_cycles):
2799 (vect_analyze_data_ref_dependences):
2800 (vect_analyze_data_refs_alignment):
2801 (vect_analyze_data_ref_accesses):
2802 (vect_analyze_data_refs):
2803 (vect_mark_stmts_to_be_vectorized):
2804 (vect_get_loop_niters):
2805 (vect_analyze_loop_form):
2cdc2073 2806 (vect_analyze_loop): Likewise.
c866976a
LB
2807 (vect_mark_stmts_to_be_vectorized): Add call to print_generic_expr.
2808
88ab13d6
RS
28092005-02-07 Richard Sandiford <rsandifo@redhat.com>
2810
2811 PR bootstrap/19796
2812 Revert:
2813 2005-01-26 Richard Sandiford <rsandifo@redhat.com>
2814 * config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if
2815 either -ffast-math or -funsafe-math-optimizations is in use.
2816
2817 2005-01-24 Richard Sandiford <rsandifo@redhat.com>
2818 * config/mips/irix-csr.c: New file.
2819 * config/mips/t-iris6 (irix-csr.o): New rule to build it.
2820 (EXTRA_MULTILIB_PARTS): Add irix-csr.o.
2821 * config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64
2822 executables.
2823
a701780f
AO
28242005-02-07 Alexandre Oliva <aoliva@redhat.com>
2825
dcb15c6c
AO
2826 * config/mn10300/linux.h (LIB_SPEC, STARTFILE_SPEC): Remove
2827 redundant, incorrect definitions.
2828
a701780f
AO
2829 * config/frv/frv.md ("tls_indirect_call"): Turn into libcall-like
2830 expand.
2831 ("*tls_indirect_call"): New, reference hard regs directly.
2832 * config/frv/frv.c (gen_inlined_tls_plt): Adjust.
2833
888b0310
RC
28342005-02-07 Ralf Corsepius <ralf.corsepius@rtems.org>
2835
2cdc2073 2836 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC):
888b0310
RC
2837 Let !-mhard-float !-msoft-float imply -mfpu=softfpa.
2838
b1a22407
RS
28392005-02-06 Roger Sayle <roger@eyesopen.com>
2840
2841 PR rtl-optimization/19800
7f5c93ac 2842 * simplify_rtx.c (simplify_relational_operation_1): Explicitly
b1a22407
RS
2843 call gen_lowpart_common and gen_lowpart_SUBREG instead of calling
2844 gen_lowpart.
2845
149056b0
RC
28462005-02-07 Ralf Corsepius <ralf.corsepius@rtems.org>
2847
2848 * config/m68k/t-rtems (MULTILIB_MATCHES): Let m528x match m5200.
2849
3e8cb558
JM
28502005-02-07 Joseph S. Myers <joseph@codesourcery.com>
2851
2852 PR other/17135
2853 * doc/invoke.texi: Correct documentation of -freorder-functions.
2854
ee86feaf
JM
28552005-02-06 Joseph S. Myers <joseph@codesourcery.com>
2856
2857 PR other/14402
2858 * doc/invoke.texi: Don't mention gccbug.
2859
1419a885
RS
28602005-02-06 Roger Sayle <roger@eyesopen.com>
2861 Andrew Pinski <pinskia@physics.uc.edu>
2862 Paolo Bonzini <paolo.bonzini@lu.unisi.ch>
2863
2864 * simplify-rtx.c (simplify_relational_operation_1): Simplify
2865 (ne:SI (zero_extract:SI FOO (const_int 1) BAR) (const_int 0))
2866 into just (zero_extract:SI FOO (const_int 1) BAR).
2867
706bb773
JM
28682005-02-06 Joseph S. Myers <joseph@codesourcery.com>
2869
2870 * doc/cpp.texi: Include gcc-common.texi. Don't define gcctabopt
2871 macro locally. Don't give last revision date. Use GCC version
2872 number from gcc-common.texi.
2873 * doc/cppinternals.texi: Include gcc-common.texi. Don't give last
2874 revision date. Use GCC version number from gcc-common.texi.
2875 Describe being a library as current state rather than as 3.x
2876 history.
2877 * doc/gcc.texi: Remove last update date.
2878 * doc/gccint.texi: Likewise. Update copyright dates.
2879 * doc/install.texi: Update copyright dates.
2880
69cdf050
JM
28812005-02-06 Joseph S. Myers <joseph@codesourcery.com>
2882
2883 PR other/7549
2884 * doc/invoke.texi: Mention for each option included in -Wall that
2885 it is included in -Wall.
2886 * doc/gcc.texi: Update copyright and last modification date.
2887
3520b745
ZD
28882005-02-06 Zdenek Dvorak <dvorakz@suse.cz>
2889
2890 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Do not add
2891 unnecessary cast to original induction variable increments.
2892
b0a168b6
ZD
28932005-02-06 Zdenek Dvorak <dvorakz@suse.cz>
2894
2895 PR tree-optimization/18219
2896 * tree-ssa-loop-ivopts.c (get_computation_at): Produce computations
2897 in distributed form.
2898
2c58f7dd
RS
28992005-02-06 Richard Sandiford <rsandifo@redhat.com>
2900
2901 * expmed.c (store_bit_field): Make the SUBREG code adjust bitnum.
2902 Set bitpos and offset later in the function. Do nothing if the
2903 target is a register and if the bitfield lies completely outside
2904 that register.
2905 (extract_bit_field): Make the same SUBREG, bitpos and offset changes
2906 here. Return an uninitialised register if the source value is stored
2907 in a register and the bitfield lies completely outside that register.
2908
55c4ae3f
SB
29092005-02-06 Steven Bosscher <stevenb@suse.de>
2910
2911 * df.c (df_insn_refs_record): Use XEXP to get the operand of a USE,
2912 not SET_DEST.
2913
cbd13f8a
MD
29142005-02-06 Marcin Dalecki <martin@dalecki.de>
2915
2916 * diagnostic.c (default_diagnostic_finalizer): Fix use of attribute.
2917
f1b4c8d8
GK
29182005-02-06 Geoffrey Keating <geoffk@apple.com>
2919
2920 * config.gcc (*-*-darwin*): Separate darwin7 and darwin8 configs.
2921 * config/darwin8.h: New.
2922 * config/darwin7.h: Update comment.
2923
773af5d0
LB
29242005-02-03 Leehod Baruch <leehod@il.ibm.com>
2925 Dorit Naishlos <dorit@il.ibm.com>
2926
2927 * tree-vectorizer.h (LOC): New type.
2928 (UNKNOWN_LOC, EXPR_LOC, LOC_FILE, LOC_LINE): New macros.
2929 (loop_line_number): New field in struct _loop_vec_info.
2930 (LOOP_VINFO_LOC, LOOP_LOC): New macros.
2931
2932 * tree-vectorizer.c (input.h): Included.
2933 (find_loop_location): New function.
2934 (vect_debug_stats): Argument changed from loop to LOC. Computation of
2935 loop line number removed.
2936 (vect_debug_details): Likewise.
2937 (new_loop_vec_info): Initialize new field LOOP_VINFO_LOC.
2938
2939 (slpeel_make_loop_iterate_ntimes): Call find_loop_location. Argument in
2940 call to vect_debug_details/stats changed from loop to loop_loc.
2941 (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
2942 (slpeel_tree_peel_loop_to_edge): Likewise.
2943
2944 (vect_analyze_offset_expr): Argument in call to vect_debug_details/stats
2945 changed from NULL to UNKNOWN_LOC.
2946 (vect_get_base_and_offset):
2947 (vect_create_addr_base_for_vector_ref):
2948 (get_vectype_for_scalar_type):
2949 (vect_create_data_ref_ptr):
2950 (vect_init_vector):
2951 (vect_get_vec_def_for_operand):
2952 (vect_finish_stmt_generation):
2953 (vectorizable_assignment):
2954 (vectorizable_operation):
2955 (vectorizable_store):
2956 (vectorizable_load):
2957 (vect_transform_stmt):
2958 (vect_update_ivs_after_vectorizer):
2959 (vect_do_peeling_for_loop_bound):
2960 (vect_do_peeling_for_alignment):
2961 (vect_transform_loop):
2962 (vect_is_simple_use):
2963 (vect_analyze_operations):
2964 (vect_is_simple_iv_evolution):
2965 (vect_analyze_scalar_cycles):
2966 (vect_analyze_data_ref_dependences):
2967 (vect_compute_data_ref_alignment):
2968 (vect_enhance_data_refs_alignment):
2969 (vect_analyze_data_ref_access):
2970 (vect_analyze_data_ref_accesses):
2971 (vect_analyze_pointer_ref_access):
2972 (vect_get_memtag_and_dr):
2973 (vect_analyze_data_refs):
2974 (vect_mark_relevant):
2975 (vect_stmt_relevant_p):
2976 (vect_mark_stmts_to_be_vectorized):
2977 (vect_can_advance_ivs_p):
2978 (vect_get_loop_niters):
2979 (vect_analyze_loop):
2980 (vectorize_loops): Likewise.
2981
2982 (vectorizable_load): Argument in call to vect_debug_details/stats
2983 changed from loop to LOOP_LOC (loop_vinfo).
2984 (vect_transform_loop):
2985 (vect_analyze_operations):
2986 (vect_analyze_scalar_cycles):
2987 (vect_analyze_data_ref_dependence):
2988 (vect_enhance_data_refs_alignment):
2989 (vect_analyze_data_ref_accesses):
2990 (vect_analyze_pointer_ref_access):
2991 (vect_analyze_data_refs):
2992 (vect_analyze_loop): Likewise.
2993
2994 (vect_analyze_loop_form): Argument in call to vect_debug_details/stats
2995 changed from loop to loop_loc.
2996
2cdc2073 2997 (vect_enhance_data_refs_alignment): Removed unused variable loop.
773af5d0 2998
ef302293
LB
29992005-02-03 Leehod Baruch <leehod@il.ibm.com>
3000 Dorit Naishlos <dorit@il.ibm.com>
3001
3002 * tree-vectorizer.c (vect_analyze_data_ref_dependence): Function
3003 declaration added.
3004 (vect_analyze_data_ref_dependences): Likewise.
3005
3006 (vect_is_simple_use): Argument changed from loop structure to
3007 loop_vect_info structure.
3008 (vect_can_advance_ivs_p): Likewise.
3009 (vect_create_index_for_vector_ref): Likewise.
3010 (vect_update_ivs_after_vectorizer): Likewise.
3011 (new_stmt_vec_info): Likewise.
2cdc2073 3012
ef302293
LB
3013 (new_loop_vec_info): Second argument in call to new_stmt_vec_info was
3014 changed from loop to loop_vinfo.
3015 (vect_create_data_ref_ptr): First argument in call to
3016 vect_create_index_for_vector_ref was changed from loop to loop_vinfo.
3017 (vectorizable_assignment): Second argument in call to vect_is_simple_use
3018 was changed from loop to loop_vinfo.
3019 (vectorizable_operation): Likewise.
3020 (vectorizable_store): Likewise.
3021 (vect_mark_stmts_to_be_vectorized): Likewise.
3022 (vect_do_peeling_for_loop_bound): First argument in call to
3023 vect_update_ivs_after_vectorizer was changed from loop to loop_vinfo.
3024 (vect_analyze_operations): Argument in call to vect_can_advance_ivs_p
3025 was changed from loop to loop_vinfo.
3026 (vect_analyze_data_ref_dependences): Third argument in call to
3027 vect_analyze_data_ref_dependence was changed from loop to loop_vinfo.
2cdc2073 3028
ef302293
LB
3029 (vect_create_index_for_vector_ref): Get the loop from loop_vinfo.
3030 (vect_create_data_ref_ptr): Likewise.
3031 (vect_init_vector): Likewise.
3032 (vect_get_vec_def_for_operand): Likewise.
3033 (vectorizable_assignment): Likewise.
3034 (vectorizable_operation): Likewise.
3035 (vectorizable_store): Likewise.
3036 (vectorizable_load): Likewise.
3037 (vect_update_ivs_after_vectorizer): Likewise.
3038 (vect_is_simple_use): Likewise.
3039 (vect_analyze_data_ref_dependence): Likewise.
3040 (vect_analyze_pointer_ref_access): Likewise.
3041 (vect_can_advance_ivs_p): Likewise.
3042
3043 * tree-vectorizer.h: (_loop_vec_info): Definition and macros moved
3044 before _stmt_vec_info.
3045 (_stmt_vec_info): Loop field replaced by loop_vec_info.
3046 (STMT_VINFO_LOOP): Replaced with STMT_VINFO_LOOP_VINFO.
3047 (new_stmt_vec_info): Argument changed from loop structure to
3048 loop_vect_info structure
3049
3050 (vect_analyze_data_ref_dependences): Unnecessary line was removed.
3051 (vect_analyze_offset_expr): Avoid 80 columns overflow.
3052 (vect_create_addr_base_for_vector_ref): Likewise.
3053 (vect_analyze_pointer_ref_access): Likewise.
3054
9df935d8
AP
30552005-02-03 Andrew Pinski <pinskia@physics.uc.edu>
3056
3057 PR tree-opt/19768
3058 * tree-ssa-dse.c (fix_phi_uses): Update the occurs in abnormal
3059 phi flag if the phi is abnormal.
3060
50d4a707
AP
30612005-02-03 Andrew Pinski <pinskia@physics.uc.edu>
3062
3063 PR tree-opt/19736
3064 * tree-ssa.c (replace_immediate_uses): Update the immediate_uses
3065 information for the new statement.
3066
cd21f044
JM
30672005-02-03 Joseph S. Myers <joseph@codesourcery.com>
3068
3069 PR driver/19117
3070 * gcc.c (main): Include the target in -v output.
3071
aa2d0bc3
AO
30722005-02-03 Alexandre Oliva <aoliva@redhat.com>
3073
3074 * combine.c (simplify_comparison, case SIGN_EXTEND, ZERO_EXTEND):
3075 Do not drop the extend if we'd have to add a paradoxical subreg
3076 later. Include optabs.h and insn-codes.h.
3077 * Makefile.in (combine.o): Depend on $(OPTABS_H).
3078
762297d9
RS
30792005-02-02 Roger Sayle <roger@eyesopen.com>
3080
3081 PR middle-end/19405
3082 * real.h (REAL_MODE_FORMAT_COMPOSITE_P): New macro.
3083 * fold-const.c (const_binop): Avoid constant folding floating
3084 point operations in modes that use composite representations.
3085 * simplify-rtx.c (simplify_binary_operation): Likewise.
3086
666158b9
GK
30872005-02-02 Geoffrey Keating <geoffk@apple.com>
3088
3089 * config/rs6000/altivec.md (altivec_dst): Make the first operand
3090 a REG, not a MEM.
3091 (altivec_dstt): Likewise.
3092 (altivec_dstst): Likewise.
3093 (altivec_dststt): Likewise.
3094 * config/rs6000/rs6000.c (altivec_expand_dst_builtin): Adjust creation
3095 of first operand.
3096
cce4ca55
DN
30972005-02-03 Dorit Naishlos <dorit@il.ibm.com>
3098
3099 * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Copy
3100 EXPR_LOCUS from orig_cond to the new cond_stmt.
3101 (vect_finish_stmt_generation): Copy EXPR_LOCUS from stmt to
3102 the new vec_stmt.
3103
31042005-02-03 Dorit Naishlos <dorit@il.ibm.com>
3105
3106 * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Call
2cdc2073 3107 standard_iv_increment_position. Remove call to bsi_next
cce4ca55
DN
3108 (no need to bump the iterator anymore).
3109 (vect_create_index_for_vector_ref): Call
3110 standard_iv_increment_position. Remove second function argument.
2cdc2073 3111 (vect_finish_stmt_generation): Remove call to bsi_next
cce4ca55
DN
3112 (no need to bump the iterator anymore).
3113 (vect_create_data_ref_ptr): Remove second argument (bsi) in call
3114 to vect_create_index_for_vector_ref.
3115
31162005-02-03 Dorit Naishlos <dorit@il.ibm.com>
3117
3118 * tree-vectorizer.c (vect_mark_stmts_to_be_vectorized): Check if
3119 phis are used out of the loop.
3120
73aea290
JM
31212005-02-03 Joseph S. Myers <joseph@codesourcery.com>
3122
3123 PR c/17807
3124 * c-decl.c (undef_nested_function): New variable.
3125 (pop_scope): Diagnose undefined nested functions.
3126 (finish_function): Don't attempt cgraph processing or genericizing
3127 if current top-level function contained an undefined nested
3128 function. Reset undef_nested_function at the end of a top-level
3129 function.
3130
89d12f5d
ZD
31312005-02-02 Zdenek Dvorak <dvorakz@suse.cz>
3132
3133 * tree.c (build_int_cst_type): Take sign of the value into account
3134 when deciding whether sign extend the value.
3135
740ca4b2
JM
31362005-02-02 Joseph S. Myers <joseph@codesourcery.com>
3137
3138 PR c/18502
3139 * gcc.c (cpp_unique_options): Remove %{trigraphs}.
3140 (cpp_options, cc1_options): Change %{std*&ansi} to
3141 %{std*&ansi&trigraphs}.
3142
a52aff23
KH
31432005-02-02 Kazu Hirata <kazu@cs.umass.edu>
3144
3145 * cse.c: Update comments.
3146
cf676baa
AH
31472005-02-02 Aldy Hernandez <aldyh@redhat.com>
3148
3149 * config/rs6000/rs6000.c (rs6000_spe_function_arg): Multi-reg
3150 arguments go on the stack. Do not put complex doubles in odd/even
3151 pairs.
3152
08711fdf
SB
31532005-02-02 Steven Bosscher <stevenb@suse.de>
3154
3155 * doc/invoke.texi: Update the options enabled at -O1, -O2,
3156 and -O3. Update the documentation for -fgcse-sm, -fgcse-las,
3157 -ftree-pre, and -fthread-jumps.
3158
7ded35b4
RS
31592005-02-02 Richard Sandiford <rsandifo@redhat.com>
3160
3161 PR tree-optimization/19578
3162 * tree-flow.h (modified_noreturn_calls): Declare.
3163 (noreturn_call_p): Declare.
3164 * tree-flow-inline.h (noreturn_call_p): New function.
3165 (modify_stmt): Add modified noreturn calls to modified_noreturn_calls.
3166 * tree-cfg.c (modified_noreturn_calls): New variable.
3167 (cleanup_control_flow): Use noreturn_call_p. Split basic blocks
3168 that contain a mid-block noreturn call.
3169 * tree-ssa.c (delete_tree_ssa): Clear modified_noreturn_calls.
3170
d01da8bd
KH
31712005-02-02 Kazu Hirata <kazu@cs.umass.edu>
3172
3173 * df.c (df_def_record_1, df_uses_record): Don't use
3174 DF_FOR_REGALLOC.
3175 * df.h (DF_FOR_REGALLOC): Remove.
3176
493179da
JM
31772005-02-02 Joseph S. Myers <joseph@codesourcery.com>
3178
3179 PR c/19435
3180 * c-typeck.c (really_start_incremental_init): Reset
3181 constructor_max_index for arrays of incomplete type.
3182
ed425871
JL
31832005-02-02 Jeff Law <law@redhat.com>
3184
3185 * gcse.c (struct reg_set): Store the block index where the register
3186 was set rather than the setting insn.
3187 (record_one_set, compute_transp): Corresponding changes.
3188 (pre_insert_copy_insn): Do not call replace_one_set.
3189 (replace_one_set): Remove.
3190
d02d7104
JM
31912005-02-02 Joseph S. Myers <joseph@codesourcery.com>
3192
3193 PR other/15514
3194 * doc/gcov.texi: Fix typo.
3195
c1c5b5e3
RH
31962005-02-01 Richard Henderson <rth@redhat.com
3197
3198 PR target/19680
3199 * config/i386/i386.h (MODES_TIEABLE_P): Use ix86_modes_tieable_p.
3200 * config/i386/i386.c (ix86_hard_regno_mode_ok): Change return
3201 type to bool.
3202 (ix86_tieable_integer_mode_p, ix86_modes_tieable_p): New.
3203 * config/i386/i386-protos.h: Update.
3204
7a442a1d
SB
32052005-02-01 Steven Bosscher <stevenb@suse.de>
3206
3207 PR tree-optimization/19217
3208 * tree-cfg.c (verify_expr): Use the data field to see if TP was
3209 seen inside a PHI node. Do not do the ADDR_EXPR check if it was.
3210 (verify_stmts): Pass (void*)1 as data to verify_expr to signal
3211 that it is walking a PHI node.
3212
475b6e22
JM
32132005-02-01 Joseph S. Myers <joseph@codesourcery.com>
3214
3215 * doc/extend.texi (Nested Functions): Update.
3216
ca58f2bc
RH
32172005-02-01 Richard Henderson <rth@redhat.com>
3218
3219 PR 19696
3220 * optabs.c (expand_copysign_absneg): Export.
3221 * optabs.h (expand_copysign_absneg): Declare.
3222 * config/rs6000/rs6000.md (copysigntf3): New.
3223
a1d13fa1
DN
32242005-02-01 Diego Novillo <dnovillo@redhat.com>
3225
3226 PR tree-optimization/19633
3227 * tree-flow.h (struct ptr_info_def): Add field 'pt_null'.
3228 * tree-ssa-alias.c (init_alias_info): Initialize.
3229 (merge_pointed_to_info): Set.
3230 (add_pointed_to_expr): Set pt_null if EXPR is a NULL pointer.
3231 (dump_points_to_info_for): Show value of pt_null.
3232 (struct count_ptr_d): Declare.
3233 (find_ptr_dereference): Remove.
3234 (ptr_is_dereferenced_by): Remove.
3235 (count_ptr_derefs): New local function.
3236 (count_uses_and_derefs): New local function.
3237 (compute_points_to_and_addr_escape): Call it. If the number
3238 of dereferences is greater than zero, mark the pointer as
3239 dereferenced. If there are fewer dereferences than uses of
3240 the pointer, the pointer's value escapes.
3241
28a3618f
DN
32422005-02-01 Diego Novillo <dnovillo@redhat.com>
3243
3244 PR tree-optimization/19670
3245 * tree-ssa.c (verify_ssa_name): Don't set TREE_VISITED
3246 here...
3247 (verify_use): ... set it here, instead.
3248
8d2d2ec6
JJ
32492005-02-01 Janis Johnson <janis187@us.ibm.com>
3250
cc95a845
JJ
3251 * doc/sourcebuild.texi (Test directives): Fix formatting.
3252
8d2d2ec6
JJ
3253 * doc/sourcebuild.texi (Test directives): Describe selector
3254 expressions.
3255
d1c8addb
SB
32562005-02-01 Segher Boessenkool <segher@kernel.crashing.org>
3257
3258 * config.gcc (powerpc64-*-linux*): Default to -m64 also for
3259 specific 64-bit CPUs.
3260
6555b6bd
RE
32612005-02-01 Richard Earnshaw <rearnsha@arm.com>
3262
3263 PR target/16201
3264 * arm.c (arm_eliminable_register): New function.
3265 (adjacent_mem_locations): Don't allow eliminable registers. Use
3266 HOST_WIDE_INT for address offsets.
3267 * arm-protos.h (arm_eliminable_register): Add prototype.
3268
bbcb0c05
SB
32692005-02-01 Steven Bosscher <stevenb@suse.de>
3270
3271 PR optimization/15242
3272 * params.def (PARAM_MAX_GOTO_DUPLICATION_INSNS): New param.
3273 * basic-block.h (duplicate_computed_gotos): Add prototype.
3274 * bb-reorder.c (duplicate_computed_gotos): New function to
3275 duplicate sufficiently small blocks ending in a computed jump.
3276 * passes.c (rest_of_compilation): Call duplicate_computed_gotos
3277 if not optimizing for size.
3278 * cfgcleanup.c (try_crossjump_bb): If not optimizing for size,
3279 never do tail merging for blocks ending in a computed jump.
3280 * doc/invoke.texi: Document the max-goto-duplication-insns param.
3281
9c0a30c3
EB
32822005-02-01 Eric Botcazou <ebotcazou@libertysurf.fr>
3283
3284 Patch from Richard Sandiford <rsandifo@redhat.com>
3285 * reload1.c (choose_reload_regs): Prevent the find_equiv_reg() code
3286 from inheriting a subreg equivalence with a non-spill register.
3287
3288 * tree.h (DECL_FUNCTION_CODE): Document that it is overloaded.
3289
7b150713
AO
32902005-02-01 Alexandre Oliva <aoliva@redhat.com>
3291
3292 * config/frv/frv.c (movcc_fp_destination_operand): New.
3293 (gpr_or_memory_operand): Fix typo in comment.
3294 (gpr_or_memory_operand_with_scratch): New.
3295 * config/frv/frv.h (PREDICATE_CODES): Add the two new predicates.
3296 * config/frv/frv.md (movcc_fp, movcc_fp_internal): Use
3297 movcc_fp_destination_operand.
3298 (reload_incc_fp): Use gpr_or_memory_operand_with_scratch.
3299 Legitimize memory addresses using a scratch register.
3300
dc5d4efb
JL
33012005-01-31 Jeff Law <law@redhat.com>
3302
7d793e36
JL
3303 * tree-into-ssa.c (mark_def_sites_global_data): Make KILLS
3304 bitmap a sparse bitmap instead of a simple bitmap.
3305 (mark_def_sites_initialize_block): Corresponding changes.
3306 (ssa_mark_def_sites_initialize_block): Likewise.
3307 (ssa_mark_phi_uses): Likewise.
3308 (mark_def_site, ssa_mark_def_sites): Likewise.
3309 (mark_def_site_blocks): Likewise.
3310 (rewrite_ssa_into_ssa): Likewise.
3311
5746637c
JL
3312 * tree-ssa-dom.c (record_cond): Pass correct variable type
3313 for last argument to htab_find_slot_with_hash.
3314
3315 * fold-const.c (fold, case CEIL_MOD_EXPR): Do not lose side
3316 effects when optimizing 0 % X. Do not try to optimize X % 0.
dc5d4efb 3317
3dcec1e9
JW
33182005-01-31 James E. Wilson <wilson@specifixinc.com>
3319
3320 * config/ia64/itanium1.md (1_scall bypass): Change 2_mmalua to
3321 1_mmalua.
3322
fc474307
EC
33232005-02-01 Eric Christopher <echristo@redhat.com>
3324
3325 * config/mips/mips.c (override_options): Warn if -mint64
3326 is used.
3327 * doc/invoke.texi (MIPS Options): Document that -mint64 is
3328 deprecated.
3329
bc5e3b54
KH
33302005-02-01 Kazu Hirata <kazu@cs.umass.edu>
3331
3332 * cse.c (cse_reg_info): Remove hash_next, next, regno. Add
3333 timestamp.
3334 (cse_reg_info_list, cse_reg_info_list_free, REGHASH_SHIFT,
3335 REGHASH_SIZE, REGHASH_MASK, reg_hash, REGHASH_FN,
3336 cached_cse_reg_info, GET_CSE_REG_INFO): Remove.
3337 (cached_regno): Initialize to INVALID_REGNUM.
3338 (cse_reg_info_table_size,
3339 cse_reg_info_table_first_uninitialized,
3340 cse_reg_info_timestamp): New.
3341 (REG_TICK, REG_IN_TABLE, SUBREG_TICKED, REG_QTY): Use
3342 get_cse_reg_info.
3343 (init_cse_reg_info, get_cse_reg_info_1): New.
3344 (get_cse_reg_info): Cache the last look-up.
3345 (new_basic_block): Update the code to clear mappings from
3346 registers to cse_reg_info entries.
3347 (cse_main): Call init_cse_reg_info.
3348
782c0a3e
KH
3349 * cse.c (get_cse_reg_info): Update a comment.
3350
b4519d39
SB
33512005-01-31 Steven Bosscher <stevenb@suse.de>
3352
3353 PR c/19333
3354 * c-decl.c (start_decl): Do not warn about arrays of elements with
3355 an incomplete type here.
3356 (grokdeclarator): Do it here by making a pedwarn an error.
3357 * c-typeck.c (push_init_level): If there were previous errors with
3358 the constructor type, do not warn about braces for initializers.
3359 (process_init_element): Likewise for excess initializer elements.
3360
65e9fa10
KH
33612005-01-31 Kazu Hirata <kazu@cs.umass.edu>
3362
3363 * cse.c (delete_trivially_dead_insn): Don't iterate.
3364
0530bc70
AP
33652005-01-31 Andrew Pinski <pinskia@physics.uc.edu>
3366
3367 * config/rs6000/rs6000.md (copysignsf3): New expand.
3368 (copysigndf3): Likewise.
3369
9ea88834
SB
33702005-01-31 Steven Bosscher <stevenb@suse.de>
3371
3372 * recog.c (constrain_operands): Only look for earlyclobber operand
3373 conflicts if an '&' constraint was seen.
3374
75a3bd9d
ME
33752005-01-31 Marc Espie <espie@openbsd.org>
3376
3377 * config.gcc: Don't include embedded systems fragment, switches default
3378 debugging format to ELF.
2cdc2073 3379 * config/i386/openbsdelf.h: Add DBX_REGISTER_NUMBER since we no
75a3bd9d
ME
3380 longer pick it up there.
3381
28697267 33822005-01-31 Dale Johannesen <dalej@apple.com>
2cdc2073 3383
28697267
DJ
3384 * doc/extend.texi (nested functions): Fix linkage description.
3385 Clarify that static is not allowed.
3386
e87d92f4 33872005-01-31 Dale Johannesen <dalej@apple.com>
2cdc2073 3388
e87d92f4
DJ
3389 * config/rs6000/darwin.md (movsf_low_di): Make work.
3390 (movdf_low_di): Make work.
3391
42d262fa
DJ
33922005-01-31 Dale Johannesen <dalej@apple.com>
3393
3394 * config/rs6000/darwin-tramp.asm (__trampoline_setup):
3395 Make work for 64 bit.
3396
3b70b82a
DJ
33972005-01-31 Roger Sayle <roger@eyesopen.com>
3398 Dale Johannesen <dalej@apple.com>
3399
3400 PR middle-end/19650
3401 * fold-const.c (fold_binary_op_with_conditional_arg):
3402 Make types match original operands, before STRIP_NOPS.
3403
a7a52913
AM
34042005-01-31 Alan Modra <amodra@bigpond.net.au>
3405
3406 * config/rs6000/linux-unwind.h (struct gcc_vregs): New.
3407 (struct gcc_regs): Rename from gcc_pt_regs. Add more regs.
3408 (struct gcc_sigcontext): Delete. Merge contents to..
3409 (struct gcc_ucontext): ..here.
3410 (get_sigcontext): Delete.
3411 (get_regs): New function, like get_sigcontext but return regs ptr.
3412 64-bit version finds regs from r1 to support vdso.
3413 (ppc_linux_aux_vector): New function.
3414 (ppc_fallback_frame_state): Modify for get_regs. Restore fprs
3415 and vector regs.
3416
261ba0c8
IR
34172005-01-31 Ira Rosen <irar@il.ibm.com>
3418
3419 * tree-vectorizer.c (vect_analyze_offset_expr): Use ssizetype instead
3420 sizetype.
3421 (vect_get_base_and_offset): Use ssizetype instead sizetype. Remove
3422 redundant fold. Fix misalignment for MINUS_EXPR.
3423 (vect_compute_data_ref_alignment): Use ssizetype instead sizetype.
3424 (vect_analyze_pointer_ref_access): Likewise.
3425 (vect_get_memtag_and_dr): Likewise.
3426
2ae1ac77
RH
34272005-01-31 Richard Henderson <rth@redhat.com>
3428
3429 * config/i386/i386.c (absnegsf2_mixed): Remove all of the # hackery.
3430 (absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed, absnegdf2_sse,
3431 absnegdf2_i387, absnegxf2_i387): Likewise.
3432
ae394659
RH
34332005-01-31 Richard Henderson <rth@redhat.com>
3434
3435 PR 19696
3436 * optabs.c (expand_copysign_absneg): New.
3437 (expand_copysign_bit): Split out from ...
3438 (expand_copysign): ... here. Use expand_copysign_absneg.
3439
ebcaaa21
RS
34402005-01-30 Roger Sayle <roger@eyesopen.com>
3441
3442 PR middle-end/19697
3443 * config/pa/pa.md (anddi3, iordi3): On HPPA64, disallow an integer
3444 constant as the second operand and a register as the third.
3445
6cc37e7e
DS
34462005-01-31 Danny Smith <dannysmith@users.sourceforge.net>
3447
3448 PR target/19704
3449 * config/i386/i386.c (ix86_function_ok_for_sibcall): Also check
3450 that dllimport'd functions do not use all call-clobbered registers
3451 to pass parameters.
3452
8c55a142
RH
34532005-01-30 Richard Henderson <rth@redhat.com>
3454
3455 PR 19696
3456 * optabs.c (expand_absneg_bit): Split out from expand_unop and
3457 expand_abs_nojump and generalize. Use operand_subword and
3458 emit_no_conflict_block. Support large modes.
3459 (expand_abs_nojump): Use it. Use HONOR_SIGNED_ZEROS to fall
3460 back to maximum.
3461 (expand_unop): Likewise. Use HONOR_SIGNED_ZEROS to fall back
3462 negation to subtraction.
3463 (expand_copysign): Check that the format has signed zeros.
3464 Use operand_subword and emit_no_conflict_block. Support large modes.
3465
338bc65e
DB
34662005-01-30 Daniel Berlin <dberlin@dberlin.org>
3467
3468 Fix PR tree-optimization/19624
2cdc2073 3469
338bc65e
DB
3470 * Makefile.in (tree-ssa-pre.o): Add CFGLOOP_H.
3471 * tree-ssa-pre.c: Add cfgloop.h.
3472 Update comment.
3473 (pre_stats): New member, constified.
3474 (inserted_exprs): New static variable.
3475 (NECESSARY): New macro.
3476 (create_expression_by_pieces): Fold the expression, and
3477 mark it as defaulting to not necessary. Also put in
3478 inserted_exprs.
3479 (fully_constant_expression): New function.
3480 (insert_into_preds_of_block): Modify to not insert phis when we
3481 are playing with induction variables.
3482 Push phis onto the inserted_exprs vector, and mark them as not
3483 necessary by default.
3484 (insert_aux): Call fully_constant_expression on eprime.
3485 If all edges produce the same value, mark it constant.
3486 (mark_operand_necessary): New function.
3487 (remove_dead_inserted_code): New function.
3488 (init_pre): Init loop optimizer to get loop info.
3489 (fini_pre): Free loop_optimizer, and inserted_exprs vec.
3490 (execute_pre): Commit edge inserts, then remove dead code.
3491
237f420b
RH
34922005-01-30 Richard Henderson <rth@redhat.com>
3493
3494 * rtl.c (rtx_equal_p): No early exit for CONST_VECTOR.
3495 * varasm.c (const_rtx_hash_1): Handle CONST_VECTOR.
3496
b99d6d2b
RH
34972005-01-30 Richard Henderson <rth@redhat.com>
3498
3499 PR target/19700
3500 * config/i386/i386.c (ix86_expand_copysign): New.
3501 (ix86_split_copysign_const): New.
2cdc2073 3502 (ix86_split_copysign_var): Rename from ix86_split_copysign,
b99d6d2b
RH
3503 rearrange op1/nmask operands.
3504 * config/i386/i386-protos.h: Update.
3505 * config/i386/i386.md (copysignsf3): Use ix86_expand_copysign.
3506 (copysigndf3): Likewise.
3507 (copysignsf3_const, copysigndf3_const): New.
3508 (copysignsf3_var): Rename from copysignsf3, split out splitter
3509 and fix split predicate for X constraint.
3510 (copysigndf3_var): Similarly.
3511
c5c367ac
KH
35122005-01-30 Kazu Hirata <kazu@cs.umass.edu>
3513
3514 * optabs.c, doc/c-tree.texi, doc/install.texi, doc/md.texi,
3515 doc/passes.texi, doc/rtl.texi, doc/sourcebuild.texi,
3516 doc/tm.texi, doc/tree-ssa.texi: Update copyright.
3517
d6eabd43
RH
35182005-01-29 Richard Henderson <rth@redhat.com>
3519
3520 PR target/19690
3521 * config/i386/i386.md (movdf_nointeger, movdf_integer): Fix ordering
3522 of # and * in constraints.
3523
8d740330
RH
35242005-01-29 Richard Henderson <rth@redhat.com>
3525
3526 PR middle-end/19689
3527 * expr.c (store_field): Don't strip sub-mode cast when the input
3528 data is even smaller.
3529
486e4326
RH
35302005-01-29 Richard Henderson <rth@redhat.com>
3531
3532 PR middle-end/19687
3533 * expr.c (categorize_ctor_elements_1): Check for CONSTRUCTOR of a
3534 union being empty.
3535
eb2ab511
RH
35362005-01-29 Richard Henderson <rth@redhat.com>
3537
3538 * combine.c (make_field_assignment): Fix argument order
3539 to gen_int_mode.
3540
020d90ee
RG
35412005-01-29 Richard Guenther <richard.guenther@uni-tuebingen.de>
3542
3543 PR tree-optimization/15791
3544 * fold-const.c (extract_array_ref): New function.
3545 (fold): Fold comparisons between &a[i] and &a[j] or
3546 semantically equivalent trees.
3547
b6e47ceb
JL
35482005-01-29 Jeff Law <law@redhat.com>
3549
3550 * gcse.c (insert_expr_in_table): Revamp handling of available
3551 and anticipatable occurrence lists to avoid unnecessary list
3552 walking.
3553 (insert_set_in_table): Similarly.
3554
46df2823
JM
35552005-01-29 Joseph S. Myers <joseph@codesourcery.com>
3556
3557 * c-common.c (fix_string_type): Just use c_build_qualified_type to
3558 build string type.
3559 (c_build_qualified_type): Build qualified array types with
3560 TYPE_MAIN_VARIANT pointing to corresponding unqualified type.
3561 * c-decl.c (c_make_fname_decl): Build unqualified array type
3562 before qualified type.
3563 (grokdeclarator): Use TYPE_MAIN_VARIANT of typedef type if element
3564 type is qualified, not just if type itself is. Don't apply
3565 qualifiers to array type when declarator is processed. Apply
3566 qualifiers to field type whether or not it is an array type.
3567 Don't handle array types specially for applying qualifiers to
3568 variables.
3569 * c-typeck.c (composite_type): Build unqualified element type and
3570 array type when forming composite of array types.
3571 (common_pointer_type, comptypes, comp_target_types,
3572 type_lists_compatible_p, build_indirect_ref, build_array_ref,
3573 convert_for_assignment): Don't apply TYPE_MAIN_VARIANT to array
3574 types.
3575 (type_lists_compatible_p): Cache TREE_VALUE (args1) and TREE_VALUE
3576 (args2) in variables a1 and a2.
3577
26af0046
KH
35782005-01-29 Kazu Hirata <kazu@cs.umass.edu>
3579
3580 * cse.c (n_elements_made, max_elements_made): Remove.
3581 (insert): Don't touch n_elements_made.
3582 (cse_main): Don't touch n_elements_made or max_elements_made.
3583
3a951664
SC
35842005-01-28 Stephane Carrez <stcarrez@nerim.fr>
3585
3586 PR target/15384
3587 * config/m68hc11/t-m68hc11-gas (dp-bit.c): Fix typo causing a
3588 configuration part of dp-bit.c to be lost.
3589
82dfb9a5
RS
35902005-01-28 Roger Sayle <roger@eyesopen.com>
3591
3592 * expmed.c (expand_mult_highpart_optab): When attempting to use
3593 a non-widening multiplication in a wider mode, the operands need
3594 to be converted (zero or sign extended) to that mode.
3595
09f8cf2d
ILT
35962005-01-28 Ian Lance Taylor <ian@airs.com>
3597
3598 PR middle-end/16558
3599 PR middle-end/19583
3600 * gimple-low.c (block_may_fallthru): TRY_FINALLY_EXPR only falls
3601 through if both operands fall through.
3602
01aa1d43
KH
36032005-01-28 Kazu Hirata <kazu@cs.umass.edu>
3604
3605 * cse.c (fold_rtx) <PC>: Don't optimize.
3606
139c978a
JL
36072005-01-28 Jeff Law <law@redhat.com>
3608
3609 * fold-const.c (fold, case CEIL_MOD_EXPR): Optimize 0 % X.
3610 (case FLOOR_MOD_EXPR, ROUND_MOD_EXPR, TRUNC_MOD_EXPR): Similarly.
3611
1590d0d4
KH
36122005-01-28 Kazu Hirata <kazu@cs.umass.edu>
3613
3614 * cse.c (cse_reg_info_free_list, cse_reg_info_used_list,
3615 cse_reg_info_used_list_end): Remove.
3616 (cse_reg_info_list, cse_reg_info_list_free): New.
3617 (get_cse_reg_info): When allocating an instance of
3618 cse_reg_info, add it to the beginning of the cse_reg_info_list
3619 list. Remove code to maintain cse_reg_info_used_list.
3620 (new_basic_block): Reset the free list to the beginning of
3621 cse_reg_info_list.
3622
a738d848
RS
36232005-01-28 Richard Sandiford <rsandifo@redhat.com>
3624
3625 * config/frv/frv.c (bdesc_2arg): Remove __MDPACKH.
3626 (frv_init_builtins): Change its prototype to take 4 uhalf arguments.
3627 (frv_expand_mdpackh_builtin): New function.
3628 (frv_expand_builtin): Use it to expand __MDPACKH.
a738d848
RS
3629 * doc/extend.texi (__MDPACKH): Update documentation.
3630
2aa3d033
UB
36312005-01-28 Uros Bizjak <uros@kss-loka.si>
3632
3633 * config/i386/i386.c (ix86_expand_fp_absneg_operator): Use
3634 SSE_FLOAT_MODE_P for use_sse computation.
3635
7d7f3b95
RC
36362005-01-28 Ralf Corsepius <ralf.corsepius@rtems.org>
3637
3638 PR target/19663
3639 * config/sparc/rtemself.h (LINK_GCC_C_SEQUENCE_SPEC): undefine.
3640
046625fa
RH
36412005-01-27 Richard Henderson <rth@redhat.com>
3642
3643 * builtins.c (expand_builtin_copysign): New.
3644 (expand_builtin): Call it.
3645 * genopinit.c (optabs): Add copysign_optab.
3646 * optabs.c (init_optabs): Initialize it.
3647 (expand_copysign): New.
3648 * optabs.h (OTI_copysign, copysign_optab): New.
3649 (expand_copysign): Declare.
3650
3651 * config/alpha/alpha.md (UNSPEC_COPYSIGN): New.
3652 (copysignsf3, ncopysignsf3, copysigndf3, ncopysigndf3): New.
3653
3654 * config/i386/i386.c (ix86_build_signbit_mask): Split from ...
3655 (ix86_expand_fp_absneg_operator): ... here.
3656 (ix86_split_copysign): New.
3657 * config/i386/i386-protos.h: Update.
3658 * config/i386/i386.md (UNSPEC_COPYSIGN): New.
3659 (copysignsf3, copysigndf3): New.
3660
3661 * config/ia64/ia64.md (UNSPEC_COPYSIGN): New.
3662 (copysignsf3, ncopysignsf3): New.
3663 (copysigndf3, ncopysigndf3): New.
3664 (copysignxf3, ncopysignxf3): New.
3665 * config/ia64/ia64.c (rtx_needs_barrier): Handle UNSPEC_COPYSIGN.
3666
6c667859
AB
36672005-01-27 Arend Bayer <arend.bayer@web.de>
3668 Kazu Hirata <kazu@cs.umass.edu>
3669
3670 * cse.c: (find_best_addr): Don't call copy_rtx before calling
3671 fold_rtx. Save cost recomputation if fold_rtx did nothing.
3672 (fold_rtx) <ASM_OPERANDS>: Don't do anything if INSN is
3673 NULL_RTX.
3674
88af764e
JL
36752005-01-27 Jeff Law <law@redhat.com>
3676
3677 * tree-into-ssa.c (ssa_rewrite_initialize_block): Do not register
3678 definitions of SSA_NAMEs which are not being rewritten.
3679 (rewrite_ssa_into_ssa): Only initialize the current definition
3680 of an SSA_NAME if that SSA_NAME has been marked for rewriting.
3681 If checking is enabled, assert that SSA_NAME_AUX is clear for all
3682 SSA_NAMEs before returning.
3683
f93089d2
KH
36842005-01-27 Kazu Hirata <kazu@cs.umass.edu>
3685
3686 * c-common.def, c-dump.c, c-gimplify.c, c-objc-common.c,
3687 cfgexpand.c, dbxout.c, function.h, opts.c, tree-flow-inline.h,
3688 tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-tailcall.c,
3689 config/avr/avr.md, config/cris/aout.h, config/cris/cris.h,
3690 config/mips/iris6.h, config/sh/sh.c: Update copyright.
3691
116cb604
SB
36922005-01-27 Steven Bosscher <stevenb@suse.de>
3693
3694 PR middle-end/17278
3695 * opts.c (decode_options): Move flag_thread_jumps from -O1 and
3696 higher to -O2 and higher. Likewise for tree PRE.
3697 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only iterate at -O2
3698 and better.
3699
09f8cf2d 37002005-01-27 Ian Lance Taylor <ian@airs.com>
6737ba67
ILT
3701
3702 PR middle-end/19583
3703 * gimple-low.c (try_catch_may_fallthru): New static function.
3704 (block_may_fallthru): Handle TRY_CATCH_EXPR.
3705 * tree-inline.c (expand_call_inline): Don't warn about reaching
3706 the end of a non-void function being inlined if the function uses
3707 a return slot.
3708
d8dd2f3a
JJ
37092005-01-27 Jakub Jelinek <jakub@redhat.com>
3710
9d72d996
JJ
3711 * config/i386/i386.h (CALL_USED_REGISTERS): Fix comment pastos.
3712
d8dd2f3a
JJ
3713 PR c/18946
3714 * c-decl.c (warn_if_shadowing): Handle old_decl error_mark_node.
3715 (pushdecl): Only use DECL_FILE_SCOPE_P if DECL_P.
3716 (implicitly_declare): Handle error_mark_node.
3717
dad2a933
RH
37182005-01-27 Richard Henderson <rth@redhat.com>
3719
3720 PR tree-opt/14329
3721 * tree.h (struct tree_decl): Add debug_expr_is_from.
3722 (DECL_DEBUG_EXPR_IS_FROM): New.
3723 (DECL_DEBUG_EXPR): Rename from DECL_DEBUG_ALIAS_OF.
3724 * dwarf2out.c (dwarf2out_var_location): Update to match.
3725 * tree-outof-ssa.c (create_temp): Likewise.
3726 * var-tracking.c (track_expr_p): Likewise.
3727 * tree-sra.c (instantiate_element): Set DECL_DEBUG_EXPR.
3728 * c-objc-common.c (c_tree_printer) <'D'>: Handle DECL_DEBUG_EXPR.
3729 * toplev.c (default_tree_printer): Likewise.
3730
17c21957
AO
37312005-01-27 Alexandre Oliva <aoliva@redhat.com>
3732
3733 * config/frv/frv.c (frv_class_likely_spilled_p): Add GR8_REGS,
3734 GR9_REGS, GR89_REGS, FDPIC_FPTR_REGS, FDPIC_REGS.
3735
ebaae582
SB
37362005-01-27 Steven Bosscher <stevenb@suse.de>
3737
3738 * tree.h (SWITCH_COND, SWITCH_BODY, SWITCH_LABELS, CASE_LOW,
3739 CASE_HIGH, CASE_LABEL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS,
3740 ASM_CLOBBERS): Add tree checks.
3741
3742 * c-common.h (SWITCH_TYPE): Rename to SWITCH_STMT_TYPE.
3743 (SWITCH_STMT_COND, SWITCH_STMT_BODY): New.
3744 * c-common.def (SWITCH_STMT): Update to match.
3745 * c-common.c (c_do_switch_warnings): Use SWITCH_STMT accessor
3746 macros instead of SWITCH_EXPR ones.
3747 * c-dump.c (c_dump_tree): Likewise.
3748 * c-gimplify.c (gimplify_switch_stmt): Likewise.
3749 * c-typeck.c (c_start_case, do_case, c_finish_case): Likewise.
3750
3751 * doc/c-tree.texi (SWITCH_STMT): Update accessor macro names.
3752
7a706738
AM
37532005-01-27 Alan Modra <amodra@bigpond.net.au>
3754
3755 * unwind-dw2.c (execute_stack_op): Add missing cases for
3756 DW_OP_shl, DW_OP_shr, DW_OP_shra, DW_OP_xor.
3757
fe15407d
EB
37582005-01-27 Eric Botcazou <ebotcazou@libertysurf.fr>
3759
3760 * config.gcc (Obsolete configurations): Remove 'dummy', add
3761 sparclite-*-coff*, sparclite-*-elf*, sparc86x-*-elf* and
3762 sparc-*-openbsd*.
3763
87637d21
DN
37642005-01-26 Diego Novillo <dnovillo@redhat.com>
3765
3766 PR tree-optimization/19633
3767 * tree-ssa-alias.c (ptr_is_dereferenced_by): Also handle
3768 CALL_EXPRs.
3769 (maybe_create_global_var): Do not create .GLOBAL_VAR if there
3770 are no call-clobbered variables.
3771 * tree-outof-ssa.c (check_replaceable): Return false for calls
3772 with side-effects.
3773
9ff93eb0
UW
37742005-01-26 Ulrich Weigand <uweigand@de.ibm.com>
3775
3776 * dbxout.c (dbxout_symbol_location): Resolve constant pool references
3777 even for variables with NULL DECL_INITIAL.
3778
4356a1bf
SH
37792005-01-26 Stuart Hastings <stuart@apple.com>
3780
00adda9f 3781 * gimplify.c (shortcut_cond_expr): Re-compute side-effects.
4356a1bf 3782
48cc8d3b
RH
37832005-01-26 Richard Henderson <rth@redhat.com>
3784
3785 PR middle-end/18008
3786 * c-decl.c (finish_struct): Set DECL_MODE after resetting a
3787 field's type.
3788 * expr.c (store_field): Strip conversions to odd-bit-sized types
3789 if the destination field width matches.
3790
eec6bb06
RH
37912005-01-26 Richard Henderson <rth@redhat.com>
3792
3793 * c-decl.c, expmed.c, expr.c: Revert last change.
3794
78ef1e3d
RH
37952005-01-26 Richard Henderson <rth@redhat.com>
3796
3797 PR middle-end/18008
3798 * c-decl.c (finish_struct): Set DECL_MODE after resetting a
3799 field's type.
3800 * expmed.c (store_fixed_bit_field): Create a paradoxical subreg
3801 if we don't need the bits above those present in the current mode.
3802 * expr.c (store_field): Strip conversions to odd-bit-sized types
3803 if the destination field width matches.
3804
5596990f
RS
38052005-01-26 Richard Sandiford <rsandifo@redhat.com>
3806
3807 * config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if
3808 either -ffast-math or -funsafe-math-optimizations is in use.
3809
a3cf5992
MM
38102005-01-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
3811
3812 PR target/19293
3813 PR target/19329
3814 * config/avr/avr.c (notice_update_cc): Only set condition code for
3815 ashrqi3 if shift count > 0.
3816 (out_shift_with_cnt): Handle shift count <= 0 as a no-op.
3817 (ashlqi3_out, ashlhi3_out, ashlsi3_out, ashrqi3_out, ashrhi3_out,
3818 ashrsi3_out, lshrqi3_out, lshrhi3_out, lshrsi3_out): Handle shift
3819 count <= 0 as a no-op, and shift count >= width by copying zero
3820 or sign bit to all bits of the result.
3821 * config/avr/avr.md (all shifts): Add alternatives for zero shift
3822 count, with attribute "length" set to 0 and "cc" set to "none".
3823
e4dd71de
AH
38242005-01-26 Aldy Hernandez <aldyh@redhat.com>
3825
3826 * doc/invoke.texi: Document -mTLS.
3827
3828 * testsuite/gcc.target/frv/all-tls-global-dynamic.c: New.
3829 * testsuite/gcc.target/frv/all-tls-initial-exec.c: New.
3830 * testsuite/gcc.target/frv/all-tls-initial-exec-pic.c: New.
3831 * testsuite/gcc.target/frv/all-tls-local-dynamic.c: New.
3832 * testsuite/gcc.target/frv/all-tls-local-dynamic-plt.c: New.
3833 * testsuite/gcc.target/frv/all-tls-local-dynamic-plt-pic.c: New.
3834 * testsuite/gcc.target/frv/all-tls-local-exec.c: New.
3835 * testsuite/gcc.target/frv/all-tls-local-exec-TLS.c: New.
3836
3837 * configure.ac: Check for a TLS capable gas.
3838
3839 * configure: Regenerate.
78ef1e3d 3840
55e79aef
RH
38412005-01-26 Richard Henderson <rth@redhat.com>
3842
3843 PR middle-end/18008
3844 * combine.c (make_field_assignment): Simplify store to zero_extract
3845 from a source with an overlapping mask.
3846
af30facd
AH
38472005-01-26 Aldy Hernandez <aldyh@redhat.com>
3848
3849 2004-11-11 Eric Christopher <echristo@redhat.com>
3850
ebaae582
SB
3851 * config/frv/frv.md: Add fr400_integer automaton. Don't
3852 allow TYPE_MUL, TYPE_MACC, or TYPE_CUT to issue in parallel
3853 to TYPE_MACC.
af30facd 3854
f7aa1423
SB
38552005-01-26 Steven Bosscher <stevenb@suse.de>
3856
3857 PR middle-end/16585
3858 * cfgbuild.c (make_edges): Do not clear or set
3859 current_function_has_computed_jump.
3860 * function.h (struct function): Remove the has_computed_jump field.
3861 (current_function_has_computed_jump): Do not define.
3862 * sched-rgn.c (is_cfg_nonregular): Return true if a basic block ends
3863 in a computed jump. Ignore current_function_has_computed_jump.
3864
6f642f98
RH
38652005-01-26 Richard Henderson <rth@redhat.com>
3866
3867 PR middle-end/19515
3868 * expr.c (categorize_ctor_elements): New argument p_must_clear.
3869 (categorize_ctor_elements_1): Likewise. Detect a union that isn't
3870 fully initialized.
3871 (mostly_zeros_p): Update for new categorize_ctor_elements argument.
3872 * gimplify.c (gimplify_init_constructor): Likewise. Only shove
3873 objects into static storage if they have more than one non-zero value.
3874 * tree.h (categorize_ctor_elements): Update decl.
3875
ead553a1
SB
38762005-01-26 Steven Bosscher <stevenb@suse.de>
3877
2cdc2073 3878 PR middle-end/19616
ead553a1
SB
3879 * tree.h (CALL_EXPR_TAILCALL): Add comment.
3880 * calls.c (check_sibcall_argument_overlap_1): Revert the change
3881 to this function from 2004-07-10.
3882 * tree-tailcall.c (suitable_for_tail_opt_p): Do not consider the
3883 the current function for tail call optimizations if the address
3884 of one of it its arguments is taken.
3885
75335440
KH
38862005-01-26 Kazu Hirata <kazu@cs.umass.edu>
3887
3888 * cse.c (fold_rtx): Call equiv_constant only when necessary.
3889
40184445
BS
38902005-01-26 Bernd Schmidt <bernd.schmidt@analog.com>
3891
3892 * function.c (expand_function_end): If current_function_calls_alloca,
3893 emit stack restore in a place that is reached when the function falls
3894 through at the end.
3895
144023ad
AO
38962005-01-26 Alexandre Oliva <aoliva@redhat.com>
3897
3898 * Makefile.in (../$(build_subdir)/fixincludes/fixincl): Add dummy
3899 rule to avoid matching inappropriate suffix rule.
3900
e4cf29ae
JH
39012005-01-26 Jan Hubicka <jh@suse.cz>
3902
97bd954f 3903 PR tree-optimization/19241
e4cf29ae
JH
3904 * tree-inline.c (copy_body_r): Do not walk subtrees after substituting.
3905
fe04ce06
HPN
39062005-01-26 Hans-Peter Nilsson <hp@axis.com>
3907
3908 * config/cris/cris.h (LIB_SPEC) <sim*>: Use -lsyslinux, not
3909 -lsyssim. Wrap -lc -lsyssim in --start-group --end-group instead
3910 of doubling.
3911 (STARTFILE_SPEC): Add crti.o, before crtbegin.o.
ead553a1 3912 <sim*>: Always use crt1.o, regardless of N in simN.
fe04ce06
HPN
3913 <!sim>: Drop support for -pg and -p variants; always use crt0.o.
3914 (ENDFILE_SPEC): Add crtn.o, after crtend.o.
3915 (CRT_CALL_STATIC_FUNCTION): Remove.
3916 * config/cris/aout.h (STARTFILE_SPEC): <!melinux && sim*>: Always
3917 use crt1.o, regardless of N in simN.
3918 <!sim>: Drop support for -pg and -p variants; always use crt0.o.
3919 (LIB_SPEC): Do not define; default to the one in config/cris/cris.h.
3920 (CRIS_CPP_SUBTARGET_SPEC) <melinux && !nostdinc>: Remove special
3921 case isystem setting.
3922 (MAX_OFILE_ALIGNMENT): Correct to 32, not 16.
3923
6a03afdf
ILT
39242005-01-25 Ian Lance Taylor <ian@airs.com>
3925
3926 * gimple-low.c (block_may_fallthru): Correct handling of
3927 SWITCH_EXPR--may fall through if SWITCH_LABELS is NULL.
3928
c555b47f
HPN
39292005-01-26 Hans-Peter Nilsson <hp@axis.com>
3930
3931 * config/cris/cris.h (CPP_SPEC): Adjust the various mtune=
3932 handlers to match indentation; nested under the mtune=* handler.
3933 Similar for mcpu= and march=.
3934
9841a1a7
DJ
39352005-01-25 Daniel Jacobowitz <dan@codesourcery.com>
3936
3937 * config/mips/linux.h (LIB_SPEC): Remove -rpath-link.
3938 * config/mips/linux64.h (LIB_SPEC): Likewise.
3939 * config/mn10300/linux.h (LIB_SPEC): Likewise.
3940 * config/sh/linux.h (LIB_SPEC): Likewise.
3941
bef8809e
AH
39422005-01-25 Aldy Hernandez <aldyh@redhat.com>
3943
3944 * config/frv/frv.c (frv_legitimize_tls_address): New.
3945 (TARGET_HAVE_TLS): Define.
3946 (FRV_SYMBOL_REF_TLS_P): Define.
3947 (frv_override_options): Handle new register classes.
3948 (frv_legitimate_address_p): Reject tls addresses.
3949 (frv_legitimize_address): Handle TLS addresses.
3950 (gen_inlined_tls_plt): New.
3951 (gen_tlsmoff): New.
3952 (frv_legitimize_tls_address): New.
3953 (unspec_got_name): Add TLS entries.
3954 (got12_operand): Add R_FRV_TLSMOFF12 case.
3955 (frv_emit_move): Fixup TLS addresses.
3956 (frv_emit_movsi): Legitimize TLS addresses.
3957
3958 * config/frv/frv.h (MASK_BIG_TLS): New.
3959 (TARGET_BIG_TLS): New.
3960 (HAVE_AS_TLS): Define.
3961 (TARGET_SWITCHES): Add -mTLS and -mtls options.
3962 (enum reg_class): Add GR8_REGS, GR9_REGS, GR89_REGS.
3963 (REG_CLASS_NAMES): Same.
3964 (REG_CLASS_CONTENTS): Same.
3965 (CONSTRAINT_LEN): New.
3966 (REG_CLASS_FROM_CONSTRAINT): New.
3967 (PREDICATE_CODES): Add symbolic_operand.
3968
3969 * config/frv/frv.md (define_constants): Add UNSPEC_GETTLSOFF,
3970 UNSPEC_TLS_LOAD_GOTTLSOFF12, UNSPEC_TLS_INDIRECT_CALL,
3971 UNSPEC_TLS_TLSDESC_LDD, UNSPEC_TLS_TLSDESC_LDD_AUX,
3972 UNSPEC_TLS_TLSOFF_LD, UNSPEC_TLS_LDDI, UNSPEC_TLSOFF_HILO,
3973 R_FRV_GOTTLSOFF_HI, R_FRV_GOTTLSOFF_LO, R_FRV_TLSMOFFHI,
3974 R_FRV_TLSMOFFLO, R_FRV_TLSMOFF12, R_FRV_TLSDESCHI,
3975 R_FRV_TLSDESCLO, R_FRV_GOTTLSDESCHI, R_FRV_GOTTLSDESCLO, GR8_REG,
3976 GR9_REG, GR14_REG, LRREG.
3977 (type): Add load_or_call attribute.
3978 ("load_or_call"): New reservation.
3979 ("call_gettlsoff"): New.
3980 ("tls_indirect_call"): New.
3981 ("tls_load_gottlsoff12"): New.
3982 ("tlsoff_hilo"): New.
3983 ("tls_tlsdesc_ldd"): New.
3984 ("tls_tlsoff_ld"): New.
3985 ("tls_lddi"): New.
3986
3987 * config/frv/frv-protos.h (symbolic_operand): Protoize.
3988
3989 2005-01-25 Alexandre Oliva <aoliva@redhat.com>
3990
ead553a1
SB
3991 * config/frv/frv.h (ASM_OUTPUT_DWARF_DTPREL): Define.
3992 * config/frv/frv-protos.h (frv_output_dwarf_dtprel): Declare.
3993 * config/frv/frv.c (TLS_BIAS): Define.
3994 (frv_output_dwarf_dtprel): New.
bef8809e 3995
b8e48b98
JJ
39962005-01-26 Jakub Jelinek <jakub@redhat.com>
3997
3998 PR rtl-optimization/19579
3999 * ifcvt.c (noce_try_cmove_arith): If emitting instructions to set up
4000 both A and B, see if they don't clobber registers the other expr uses.
4001
1c673473
R
40022005-01-25 J"orn Rennecke <joern.rennecke@st.com>
4003
4004 * real.c (do_add): Initialize signalling and canonical members.
4005
4006 * real.c (real_from_integer): Zero out destination.
4007
ed464869
JH
40082005-01-18 Jan Hubicka <jh@suse.cz>
4009
4010 PR tree-optimize/19337
4011 * tree-inline.c (initialize_inlined_parameters): Copy
4012 saved_static_chain_decl only.
4013
51df7179
RH
40142005-01-25 Richard Henderson <rth@redhat.com>
4015
4016 PR target/19556
4017 PR target/19584
4018 * config/i386/i386.c (x86_inter_unit_moves): Zero.
4019 (ix86_preferred_reload_class): Rewrite fp-constant section, with
4020 80387 enabled, to return a proper subclass. Return the subset that
4021 overlaps with GENERAL_REGS for PLUS.
4022 * config/i386/i386.md (movsi_1, movdi_2): Set type to "mmx" for pxor.
4023
c63f5a42
RH
40242005-01-25 Richard Henderson <rth@redhat.com>
4025
4026 PR middle-end/19609
4027 * tree-complex.c (expand_complex_div_wide): Use the correct formulae.
4028
e71c0aa7
RS
40292005-01-25 Roger Sayle <roger@eyesopen.com>
4030
4031 * expmed.c (choose_multiplier): Change interface to return the
4032 multiplier lowpart as an rtx instead of an unsigned HOST_WIDE_INT.
4033 (expand_divmod): Update calls to choose_multiplier.
4034
a6d2976a
JDA
40352005-01-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4036
4037 PR middle-end/19330
4038 * expmed.c (extract_bit_field): Use adjust_address instead of
4039 gen_lowpart when op0 is a MEM.
4040
7315a949
SB
40412005-01-24 Steven Bosscher <stevenb@suse.de>
4042
4043 * cfgexpand.c (expand_gimple_tailcall): Fix typo.
4044
c0fd73a9
RS
40452005-01-24 Richard Sandiford <rsandifo@redhat.com>
4046
4047 * config/mips/irix-csr.c: New file.
4048 * config/mips/t-iris6 (irix-csr.o): New rule to build it.
4049 (EXTRA_MULTILIB_PARTS): Add irix-csr.o.
4050 * config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64
4051 executables.
4052
81b47219
EB
40532005-01-24 Eric Botcazou <ebotcazou@libertysurf.fr>
4054
4055 PR bootstrap/19364
4056 * config.gcc (sparc-*-elf*): Remove sol2.h, sparc/sol2.h and
4057 sparc/elf.h, add sparc/sp-elf.h.
4058 (sparc-*-rtems*): Likewise.
4059 (sparclite-*-elf*): Remove sol2.h, sparc/sol2.h, sparc/elf.h and
4060 tm-dwarf2.h, add sparc/sp-elf.h.
4061 (sparc86x-*-elf): Likewise.
4062 (sparc64-*-elf*): Remove sol2.h, sparc/sol2.h and tm-dwarf2.h.
4063 * config/sparc/liteelf.h (TARGET_SUB_OS_CPP_BUILTINS): Rename into
4064 TARGET_OS_CPP_BUILTINS.
4065 * config/sparc/sp86x-elf (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
4066 * config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
4067 Undefine it.
4068 * config/sparc/openbsd64.h (NO_IMPLICIT_EXTERN_C): Undefine.
4069 * config/sparc/sp64-elf.h (NO_IMPLICIT_EXTERN_C): New macro.
4070 (SWITCH_TAKES_ARG): Likewise.
4071 (LOCAL_LABEL_PREFIX): Likewise.
4072 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4073 (TARGET_N_FORMAT_TYPES): Delete.
4074 (TARGET_FORMAT_TYPES): Likewise.
4075 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
4076 * config/sparc/elf.h: Delete.
4077 * config/sparc/sp-elf.h: New file.
4078
3a2f1f06
KH
40792005-01-24 Kazu Hirata <kazu@cs.umass.edu>
4080
4081 * tree-flow-inline.h (phi_arg_from_edge): Remove.
4082 * tree-flow.h: Remove the corresponding prototype.
4083 * tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-ssa.c,
4084 tree-vectorizer.c: Use dest_idx instead of phi_arg_from_edge.
4085
b723e82f
JJ
40862005-01-24 Jakub Jelinek <jakub@redhat.com>
4087
4088 PR target/17751
4089 * config/rs6000/rs6000.c (rs6000_file_start): Create toc section
4090 for AIX ABI or ELF -fPIC.
4091 (rs6000_emit_load_toc_table): Don't create toc_section here.
4092 (rs6000_xcoff_file_start): Nor here.
4093
1a9ce0b7
JR
40942005-01-24 J"orn Rennecke <joern.rennecke@st.com>
4095
4096 * sh.c (ra.h): Don't #include.
4097 (hard_regs_intersect_p): New function, resurrected from ra.c.
4098
4099 * sh.c: Fix 1996 Copyright.
4100
226c62c7 41012005-01-24 Richard Henderson <rth@redhat.com>
97bd954f 4102 Aldy Hernandez <aldyh@redhat.com>
226c62c7 4103
97bd954f 4104 * regrename.c (note_sets): Handle subregs.
226c62c7 4105
2429f3d4
JM
41062005-01-24 Joseph S. Myers <joseph@codesourcery.com>
4107
4108 PR bootstrap/18058
4109 * genconditions.c (write_header, write_conditions): Elide file if
4110 not GCC >= 3.0.1.
4111
deeec1d8
KH
41122005-01-24 Kazu Hirata <kazu@cs.umass.edu>
4113
4114 * c-opts.c, expmed.c, gengtype.c, tree-complex.c,
4115 config/arm/iwmmxt.md, config/avr/avr.c, config/s390/s390.h:
4116 Update copyright.
4117
7b922122
JJ
41182005-01-24 Jakub Jelinek <jakub@redhat.com>
4119
4120 * builtins.c (get_pointer_alignment, gimplify_va_arg_expr,
4121 expand_builtin_printf, expand_builtin_fprintf,
4122 expand_builtin_sprintf): Use POINTER_TYPE_P instead TREE_CODE
4123 checking against POINTER_TYPE.
4124 (validate_arglist): Handle POINTER_TYPE code by checking
4125 POINTER_TYPE_P.
4126
cf94b0fc
PB
41272005-01-24 Paolo Bonzini <bonzini@gnu.org>
4128
4129 * rtlanal.c (non_rtx_starting_operands, for_each_rtx_1,
4130 init_rtlanal): New.
4131 (for_each_rtx): Call for_each_rtx_1.
4132 * rtl.h (init_rtlanal): Declare.
4133 * toplev.c (backend_init): Call init_rtlanal.
4134
b77302be
JJ
41352005-01-24 Jakub Jelinek <jakub@redhat.com>
4136
4137 * flow.c (propagate_one_insn): Formatting.
4138
4139 PR middle-end/19551
4140 * flow.c (libcall_dead_p): Be more conservative if unsure.
4141 If there are any instructions between insn and call, see if they are
4142 all dead before saying the libcall is dead.
4143
11c56af5
UB
41442005-01-24 Uros Bizjak <uros@kss-loka.si>
4145
4146 * config/i386/i386.md (*extendsfdf2_sse): Use "nonimmediate_operand"
4147 operand constraint for operand 0.
4148
520f34fa
RH
41492005-01-23 Richard Henderson <rth@redhat.com>
4150
4151 PR 19486
4152 * tree-complex.c (expand_complex_div_wide): Set EDGE_FALLTHRU on
4153 edges leading to join block.
4154
0d282692
RS
41552005-01-23 Roger Sayle <roger@eyesopen.com>
4156
4157 * expmed.c (expand_mult_highpart): Make static. Change type of
4158 constant multiplier argument from unsigned HOST_WIDE_INT to rtx.
4159 (expand_divmod): Updates calls to expand_mult_highpart by using
4160 gen_int_mode to pass a CONST_INT rtx.
4161 * rtl.h (expand_mult_highpart): Remove prototype.
4162
edd517b1
KH
41632005-01-23 Kazu Hirata <kazu@cs.umass.edu>
4164
4165 * flow.c (regset_bytes, regset_size): Remove.
4166
708bde14
KH
4167 * cfganal.c: Fix a reference to Harvey's paper.
4168
85840349
SB
41692005-01-23 Steven Bosscher <stevenb@suse.de>
4170
4171 PR rtl-optimization/19464
4172 * tree-optimize.c (init_tree_optimization_passes): Add one more
4173 copyrename pass just before out-of-ssa.
4174
9fcdd891
JM
41752005-01-23 Joseph S. Myers <joseph@codesourcery.com>
4176
4177 PR bootstrap/18058
4178 * recog.c (recog_memoized): Don't define if GENERATOR_FILE.
4179 * ggc-none.c (ggc_free): Define.
4180
d0754bc6
KH
41812005-01-23 Kazu Hirata <kazu@cs.umass.edu>
4182
4183 * cse.c (max_reg, max_insn_uid): Remove.
4184 (cse_main): Don't access max_reg or max_insn_uid.
4185
f3b303fd
KH
4186 * c-common.c (explicit_flag_signed_bitfields,
4187 lang_statement_code_p, lang_expand_function_end): Remove.
4188 * c-common.h: Remove the corresponding declarations.
4189 * c-opts.c (c_common_handle_option): Remove all write access
4190 to explicit_flag_signed_bitfields.
4191
15f0d971
KH
4192 * cgraph.c (cgraph_varpool_n_nodes): Remove.
4193 (cgraph_varpool_node): Don't access cgraph_varpool_n_nodes.
4194 * cgraph.h: Remove the corresponding declaration.
4195
6d77cdc3
KH
4196 * gcse.c (null_pointer_info): Remove.
4197
b9750434
RS
41982005-01-23 Roger Sayle <roger@eyesopen.com>
4199 Eric Botcazou <ebotcazou@libertysurf.fr>
4200
4201 * combine.c (simplify_logical): Only simplify logical expressions
4202 of the form ior(and(x,y),z) by the inverse distributive law if the
4203 result is cheaper than the original.
4204
35fd3193
KH
42052005-01-23 Kazu Hirata <kazu@cs.umass.edu>
4206
4207 * alias.c, c-common.h, c-incpath.c, c-incpath.h, expr.c,
4208 fold-const.c, gimplify.c, params.h, tree-data-ref.c,
4209 tree-if-conv.c, tree-nested.c, tree-outof-ssa.c,
4210 tree-ssa-dom.c, tree-vectorizer.c, tree.def, config/darwin.c,
4211 config/freebsd-spec.h, config/arm/arm.h,
4212 config/h8300/h8300.md, config/i386/i386.md,
4213 config/i386/predicates.md, config/i386/sse.md,
4214 config/ia64/ia64.c, config/ip2k/ip2k.c, config/s390/s390.c,
4215 config/vax/vax.md: Fix comment typos. Follow spelling
4216 conventions.
4217
a62a0172
SB
42182005-01-23 Steven Bosscher <stevenb@suse.de>
4219
4220 * gengtype.c (walk_type): Produce `not equal to' compares for loop
4221 tests, instead of `less than'.
4222
a561d88b
RS
42232005-01-23 Richard Sandiford <rsandifo@redhat.com>
4224
4225 * function.c (assign_parm_setup_block): When creating a new stack slot
4226 for a parameter, get its alignment from the parameter's DECL_ALIGN
4227 rather than the type's TYPE_ALIGN. Make sure that the parameter
4228 is at least word aligned.
4229
d2ebe27c
RS
42302005-01-22 Roger Sayle <roger@eyesopen.com>
4231
4232 PR middle-end/19378
4233 * config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite.
4234
a059cdb8
RH
42352005-01-22 Richard Henderson <rth@redhat.com>
4236
4237 PR target/19506
4238 * config/i386/i386.md (movsfcc_1_sse_max): Use nonimmediate_operand
4239 in both compare operands.
4240 (movdfcc_1_sse_max): Likewise.
4241 (movsfcc_1_sse): Likewise. Add earlyclobber for scratch.
4242 (movdfcc_1_sse): Likewise.
4243 * config/i386/i386.c (ix86_split_sse_movcc): Emit copies into the
4244 scratch register as needed.
4245
eabd294f
RH
42462005-01-22 Richard Henderson <rth@redhat.com>
4247
b8f06586
RH
4248 * config/i386/i386.md (smaxsf3): Fix mnemonic typo.
4249
eabd294f
RH
4250 * config/i386/i386.c (ix86_prepare_fp_compare_args): Fix is_sse test.
4251
5ccbd309
RH
42522005-01-22 Richard Henderson <rth@redhat.com>
4253
4254 * genopinit.c (optabs): Use smin/smax for floating point too.
4255 * doc/md.texi: Update to match. Clarify that floating point
4256 results are undefined for +0/-0 and NaN.
4257 * doc/rtl.texi: Likewise.
4258 * rtl.def (SMIN, SMAX): Likewise
4259 * tree.def (MIN_EXPR, MAX_EXPR): Likewise.
4260
4261 * config/alpha/alpha.md (smaxdf3, smindf3, smaxsf3, sminsf3): Add
4262 leading 's' to the name.
4263 * config/ia64/ia64.md (smaxsf3, sminsf3, smaxdf3, smindf3,
4264 smaxxf3, sminxf3): Likewise.
4265 * config/rs6000/rs6000.md (smaxdf3, smindf3, smaxsf3, sminsf3):
4266 Likewise.
4267
b4b2332c
PB
42682005-01-22 Paul Brook <paul@codesourcery.com>
4269
4270 * config/arm/arm.md: Use "Uy" constraint for wcgr load/stores.
4271
6fa5b390
MD
42722005-01-21 Mark Dettinger <dettinge@de.ibm.com>
4273
2cdc2073 4274 * config/s390/s390.c (struct processor_costs): New fields
6fa5b390
MD
4275 dlgr, dlr, dr, dsgfr, dsgr.
4276 (z900_cost, z990_cost): Values for new fields.
4277 (s390_rtx_costs): New cases MEM und COMPARE in switch
4278 statement. Modified handling of SIGN_EXTEND, ZERO_EXTEND,
4279 DIV, MOD, UDIV, UMOD.
4280
eb862a88
UW
42812005-01-21 Ulrich Weigand <uweigand@de.ibm.com>
4282
4283 * config/s390/s390.md ("doloop_si64"): Reload input value directly
4284 into the register being decremented.
4285 ("doloop_si31", "doloop_di"): Likewise.
4286 ("*doloop_si_long"): Adapt pattern.
4287
3776ada0
UW
42882005-01-21 Ulrich Weigand <uweigand@de.ibm.com>
4289
4290 * config/s390/s390.h (HARD_REGNO_NREGS): Fix computation for
4291 access registers.
4292 (CLASS_MAX_NREGS): Likewise.
4293
d7c71ee3
DB
42942005-01-21 Daniel Berlin <dberlin@dberlin.org>
4295
4296 * doc/tree-ssa.texi (Statement Operands): Add example for new
4297 must-def macro. Note deprecation of old operands interface.
4298
d7f3fc19
RS
42992005-01-22 Richard Sandiford <rsandifo@redhat.com>
4300
4301 PR tree-optimization/19484
4302 * tree-cfg.c (remove_fallthru_edge): New function.
4303 (cleanup_control_flow): Remove fallthru edges from calls that are
4304 now known not to return.
4305
111e0c9f
DB
43062005-01-20 Daniel Berlin <dberlin@dberlin.org>
4307
4308 Fix PR tree-optimization/19038
4309 * tree-ssa-dom.c (cprop_operand): Don't replace loop invaeriant
4310 copies with loop variant ones.
4311
1e052c19
KH
43122005-01-22 Kazu Hirata <kazu@cs.umass.edu>
4313
4314 * cfganal.c, real.h, reorg.c, timevar.def, tree-ssa-ccp.c,
4315 config/alpha/alpha-protos.h, config/alpha/alpha.h,
4316 config/alpha/alpha.md, config/alpha/predicates.md,
4317 config/sparc/freebsd.h, config/sparc/netbsd-elf.h,
4318 config/sparc/sol2.h: Update copyright.
4319
28773f15
KH
4320 * tree-cfg.c (remove_forwarder_block_with_phi): Look at the
4321 first label to see if it is a nonlocal label.
4322
1e052c19 43232005-01-22 David Edelsohn <edelsohn@gnu.org>
ead553a1 4324 Andrew Pinski <pinskia@physics.uc.edu>
987732e0
DE
4325
4326 PR target/19491
4327 * config/rs6000/rs6000.c (rs6000_va_start): Saturate n_gpr at
4328 maximum number of GPRs. Saturate n_fpr at maximum number of FPRs.
4329
80d15bce
RC
43302005-01-22 Ralf Corsepius <ralf.corsepius@rtems.org>
4331
4332 * config/rs6000/rtems.h: Update copyright.
4333
b9d13999
RC
43342005-01-22 Ralf Corsepius <ralf.corsepius@rtems.org>
4335
4336 PR target/19548
4337 * config/rs6000/rtems.h: Resurrect cpp_os_rtems_spec from gcc < 3.4.
4338 (CPP_OS_RTEMS_SPEC): New (From gcc-3.3's config/rs6000/sys4.h).
4339 (SUBSUBTARGET_EXTRA_SPECS): Use CPP_OS_RTEMS_SPEC.
4340
20913689
VR
43412005-01-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
4342
4343 PR c/18809
4344 * c-typeck.c (convert_arguments): Check for error_mark_node.
4345
1e052c19 43462005-01-21 Ian Lance Taylor <ian@airs.com>
089efaa4
ILT
4347
4348 PR tree-optimization/13000
4349 * tree-inline.c: Include "tree-flow.h".
4350 (expand_call_inline): If warn_return_type, warn if non-void inline
4351 function falls through.
4352 * tree-cfg.c (execute_warn_function_return): Don't warn about
4353 control reaching end if TREE_NO_WARNING is set. Set
4354 TREE_NO_WARNING.
4355 * gimple-low.c (block_may_fallthru): Don't assume that SWITCH_EXPR
4356 has been lowered.
4357 * gimplify.c (shortcut_cond_expr): Don't emit a jump over the else
4358 branch if we don't need one.
4359 * c-typeck.c: Include "tree-flow.h"
4360 (c_finish_bc_stmt): Don't add a goto if the current statement
4361 list doesn't fall through to the current point.
4362
d284eb28
RS
43632005-01-21 Roger Sayle <roger@eyesopen.com>
4364
4365 PR rtl-optimization/576
4366 * real.c (real_arithmetic): Change return type from void to bool
4367 to return an indication that the result may be inexact.
4368 * real.h (real_arithmeric): Update prototype.
4369 * fold-const.c (const_binop): Don't constant fold floating
4370 point expressions when the user specifies -frounding-math and
4371 the result may depend upon the run-time rounding mode.
4372 (fold_convert_const_real_from_real): Clean-up.
4373 (fold_initializer): Ignore flag_rounding_math for initializers.
4374 * simplify-rtx.c (simplify_binary_operation): Likewise, don't
4375 constant fold FP operations with flag_rounding_math if the
4376 result may depend upon the run-time rounding mode.
4377
a101957b
TT
43782005-01-21 Tom Tromey <tromey@redhat.com>
4379
4380 * c-cppbuiltin.c (define__GNUC__): Correct assertion.
4381
a85ba5a8
KH
43822005-01-21 Kazu Hirata <kazu@cs.umass.edu>
4383
4384 * tree-cfg.c: Fix comment typos.
4385
5b5e3a31
R
43862005-01-21 J"orn Rennecke <joern.rennecke@st.com>
4387
4388 * passes.c (rest_of_handle_flow2): Close / open the flow2 dump file
4389 around the call to rest_of_handle_branch_target_load_optimize.
4390
0b85af22
EB
43912005-01-21 Eric Botcazou <ebotcazou@libertysurf.fr>
4392
4393 * config.gcc (sparc-*-netbsdelf*): Include dbxelf.h
4394 (sparc64-*-openbsd*): Likewise.
4395 (sparclite-*-elf*): Include tm-dwarf2.h.
4396 (sparc86x-*-elf*): Likewise.
4397 (sparc64-*-elf*): Likewise.
4398 * config/sparc/linux64.h (DWARF2_DEBUGGING_INFO): Delete.
4399 (DBX_DEBUGGING_INFO): Likewise.
4400 * config/sparc/liteelf.h (DWARF2_DEBUGGING_INFO): Likewise.
4401 (PREFERRED_DEBUGGING_TYPE): Likewise.
4402 * config/sparc/netbsd-elf.h (PREFERRED_DEBUGGING_TYPE): Likewise.
4403 * config/sparc/sp64-elf.h (DBX_DEBUGGING_INFO): Likewise.
4404 (PREFERRED_DEBUGGING_TYPE): Likewise.
ac11d73b 4405 * config/sparc/sp86x-elf.h (DWARF2_DEBUGGING_INFO): Likewise.
0b85af22
EB
4406 (PREFERRED_DEBUGGING_TYPE): Likewise.
4407 * config/sparc/sparc.h (DBX_DEBUGGING_INFO): Likewise.
4408
3eacd71f
HPN
44092005-01-21 Hans-Peter Nilsson <hp@bitrange.com>
4410
4411 PR target/18701
4412 * combine.c (combine_simplify_rtx): Revert change of 2004-12-31.
4413
eacf8912
PB
44142005-01-20 Paul Brook <paul@codesourcery.com>
4415
4416 * doc/rtl.texi: Document value extension requirements for CONST_INT.
4417
548414c6
KH
44182005-01-20 Kazu Hirata <kazu@cs.umass.edu>
4419
4420 * tree-cfg.c (tree_verify_flow_info): Check that a nonlocal
4421 label is first in a sequence of labels.
4422
cde68236
KH
4423 * tree-cfg.c (tree_verify_flow_info): Fix a typo.
4424
35fdf04e
JJ
44252005-01-20 Janis Johnson <janis187@us.ibm.com>
4426 Giovanni Bajo <giovannibajo@gcc.gnu.org>
4427
4428 * doc/sourcebuild.texi (Test Directives): New.
4429
8ffeac67
RS
44302005-01-20 Roger Sayle <roger@eyesopen.com>
4431
4432 * real.c (real_floor): Don't leave the result uninitialized when
4433 mode is VOIDMode, but return the unrounded intermediate value.
4434 (real_ceil): Likewise.
4435
07ff6dac 44362005-01-20 Paul Brook <paul@codesourcery.com>
b65e6318
PB
4437
4438 * config/arm/arm.md (insv): Use gen_int_mode.
4439
62da8647
EB
44402005-01-20 Eric Botcazou <ebotcazou@libertysurf.fr>
4441
4442 * config/sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABELREF): Delete.
4443 * config/sparc/linux.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
4444 * config/sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
4445 * config/sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
4446 * config/sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
4447
3c46c513
DB
44482005-01-20 Daniel Berlin <dberlin@dberlin.org>
4449
4450 Fix PR debug/19124
4451 * dwarf2out.c (concat_loc_descriptor): We don't know we can use
4452 fbreg, so we have to assume we can't.
4453 (loc_descriptor_from_tree_1): Ditto.
4454 (containing_function_has_frame_base): New function.
4455 (add_location_or_const_value_attribute): Use it.
4456 Also try to generate a frame_base from a single element location
4457 list.
2cdc2073 4458
23ab2e4e
KH
44592005-01-20 Kazu Hirata <kazu@cs.umass.edu>
4460
4461 PR tree-optimization/15349
4462 * timevar.def (TV_TREE_MERGE_PHI): New.
4463 * tree-cfg.c (tree_forwarder_block_p): Add a new argument
4464 PHI_WANTED.
4465 (remove_forwarder_block, cleanup_forwarder_blocks): Adjust the
4466 calls to tree_forwarder_block_p.
4467 (remove_forwarder_block_with_phi, merge_phi_nodes,
4468 gate_merge_phi, pass_merge_phi): New.
4469 * tree-optimize.c (init_tree_optimization_passes): Add
4470 pass_merge_phi.
4471 * tree-pass.h: Add an extern for pass_merge_phi;
4472
edd5b7da
RH
44732005-01-20 Richard Henderson <rth@redhat.com>
4474
4475 PR target/19418
4476 * config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128): New.
4477 (_mm_castps_pd, _mm_castps_si128): New.
4478 (_mm_castsi128_ps, _mm_castsi128_pd): New.
4479
0f2698d0
RH
44802005-01-20 Richard Henderson <rth@redhat.com>
4481
4482 PR target/19530
4483 * config/i386/mmintrin.h (_mm_cvtsi32_si64): Use
4484 __builtin_ia32_vec_init_v2si.
4485 (_mm_cvtsi64_si32): Use __builtin_ia32_vec_ext_v2si.
4486 * config/i386/i386.c (IX86_BUILTIN_VEC_EXT_V2SI): New.
4487 (ix86_init_mmx_sse_builtins): Create it.
4488 (ix86_expand_builtin): Expand it.
4489 (ix86_expand_vector_set): Handle V2SFmode and V2SImode.
4490 * config/i386/mmx.md (vec_extractv2sf_0, vec_extractv2sf_1): New.
4491 (vec_extractv2si_0, vec_extractv2si_1): New.
4492
6b79c03c
RH
44932005-01-20 Richard Henderson <rth@redhat.com>
4494
58b03a2d 4495 PR target/16533
6b79c03c
RH
4496 * config/i386/i386.c (ix86_expand_push): New.
4497 * config/i386/mmx.md (push<MMXMODE>1): New.
4498 * config/i386/sse.md (push<SSEMODE>1): New.
4499 * config/i386/i386-protos.h: Update.
4500
e42febca
KH
45012005-01-20 Kazu Hirata <kazu@cs.umass.edu>
4502
4503 * params.def, params.h, predict.c, tree-ssa-loop-im.c: Update
4504 copyright.
4505
f4770271
RH
45062005-01-20 Richard Henderson <rth@redhat.com>
4507
4508 * rtl.def (CONST_VECTOR): Use RTX_CONST_OBJ.
4509 * rtl.h (CONSTANT_P): Don't special case CONST_VECTOR.
4510
b4bb3199
RH
45112005-01-19 Richard Henderson <rth@redhat.com>
4512
4513 PR target/19350
4514 * config/i386/i386.c (ix86_expand_vector_move_misalign): Convert
4515 to V4SFmode in SSE1 fallback load path.
4516
ceda96fc
RH
45172005-01-19 Richard Henderson <rth@redhat.com>
4518
4519 * config/i386/i386.c (ix86_expand_vector_init_one_var): Fix typo
4520 in QImode expansion to ix86_expand_vector_set.
4521 (ix86_expand_vector_init_general): Fix typo in V8HImode recursive call.
4522
f75959a6
RH
45232005-01-19 Richard Henderson <rth@redhat.com>
4524
4525 PR target/19511
4526 * config/i386/i386.c (ix86_preferred_reload_class): Return a proper
4527 subclass of the input class.
4528 (ix86_secondary_memory_needed): Always true for cross-MMX classes.
4529 Always true for cross-SSE1 classes. Rationalize conditionals.
4530 * config/i386/i386.h (SSE_CLASS_P, MMX_CLASS_P): Use straight equality.
4531 * config/i386/i386.md (movsi_1): Add MMX/SSE zeros. Fix alternatives
4532 for SSE1. Don't check TARGET_INTER_UNIT_MOVES.
4533 (movdi_2): Add MMX/SSE zeros.
4534 (movdi_1_rex64): Likewise. Don't check TARGET_INTER_UNIT_MOVES.
4535 (movsf_1): Don't check TARGET_INTER_UNIT_MOVES.
4536 (zero_extendsidi2_32, zero_extendsidi2_rex64): Likewise.
4537 (movsi_1_nointernunit, movdi_1_rex64_nointerunit): Remove.
4538 (movsf_1_nointerunit, zero_extendsidi2_32_1): Remove.
4539 (zero_extendsidi2_rex64_1): Remove.
4540 (MOV0 peephole): Check GENERAL_REG_P.
4541
b100079f
RH
45422005-01-19 Richard Henderson <rth@redhat.com>
4543
4544 PR target/19427
4545 * config/i386/i386.c (ix86_expand_vector_set): Fix third and fourth
4546 shufps elements.
4547 (ix86_expand_vector_extract): Likewise.
4548
539eaa3a
RH
45492005-01-19 Richard Henderson <rth@redhat.com>
4550
4551 PR middle-end/19304
4552 * expr.c (emit_move_change_mode): New argument force; use
4553 simplify_gen_subreg if true.
4554 (emit_move_via_alt_mode): Merge into ...
4555 (emit_move_via_integer): ... here.
4556 (emit_move_ccmode): Use emit_move_change_mode directly.
4557
72910a0b
RH
45582005-01-19 Richard Henderson <rth@redhat.com>
4559
4560 PR target/19518
4561 * config/alpha/alpha.c (alpha_rtx_costs): Handle HIGH.
4562 (alpha_preferred_reload_class): Handle CONST_VECTOR.
4563 (alpha_emit_set_const_1): Add no_output parameter; don't emit
4564 rtl if true.
4565 (alpha_emit_set_const): Likewise. Make static.
4566 (alpha_emit_set_long_const): Make static.
4567 (alpha_extract_integer): Split out from alpha_expand_mov.
4568 (alpha_split_const_mov): Likewise.
4569 (alpha_expand_mov): Use them. Handle CONST_VECTOR.
4570 (alpha_legitimate_constant_p): New.
4571 * config/alpha/alpha-protos.h: Update.
4572 * config/alpha/alpha.h (REGISTER_MOVE_COST): Correct fp<->gp cost.
4573 (LEGITIMATE_CONSTANT_P): Re-implement with a function.
4574 * config/alpha/alpha.md (movsi): Add n alternative.
4575 (movsi_nt_vms, movdi_er_nofix, movdi_er_fix, movdi_fix): Likewise.
4576 (mov<VEC>_fix, mov<VEC>_nofix): Add i alternative.
4577 (splitters for all of the above): Use alpha_split_const_mov.
4578 * config/alpha/predicates.md (non_add_const_operand): New.
4579 (non_zero_const_operand): New.
4580 (input_operand): Use alpha_legitimate_constant_p after reload.
4581
4366cf6d
ZD
45822005-01-19 Zdenek Dvorak <dvorakz@suse.cz>
4583
4584 PR tree-optimization/19038
4585 * tree-ssa-loop-ivopts.c (allow_ip_end_pos_p): New function.
4586 (add_candidate): Add ivs with increment in latch only if
4587 allow_ip_end_pos_p is true.
4588 (determine_iv_cost): Use empty_block_p.
4589
4c7f5fea
DB
45902005-01-19 Daniel Berlin <dberlin@dberlin.org>
4591
4592 * cfganal.c (compute_dominance_frontiers_1): Replace with new algorithm
4593 (compute_dominance_frontiers): Ditto.
4594
be33b729
RC
45952005-01-19 Ralf Corsepius <ralf.corsepius@rtems.org>
4596
4597 PR target/19529
2cdc2073 4598 * config/sh/t-rtems: New.
be33b729
RC
4599 * config.gcc (sh-*-rtems*): Reflect having added config/sh/t-rtems.
4600
53dba802
ZD
46012005-01-19 Zdenek Dvorak <dvorakz@suse.cz>
4602
4603 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Always subtract
4604 the offset of the selected field.
4605
04d38c3b
KH
46062005-01-19 Kazu Hirata <kazu@cs.umass.edu>
4607
4608 * tree-cfg.c (remove_forwarder_block): Fix the check to
4609 prevent a nonlocal label from appearing in the middle of a
4610 basic block.
4611
09f9e288
HPN
46122005-01-19 Hans-Peter Nilsson <hp@axis.com>
4613
4614 PR rtl-optimization/19462
4615 * reorg.c (find_end_label): Create return insn only if
4616 current_function_epilogue_delay_list is empty.
4617
625d4524
PB
46182005-01-19 Paolo Bonzini <bonzini@gnu.org>
4619
4620 * doc/passes.texi: Remove paragraph mentioning new-ra.
4621
e89be13b
JJ
46222005-01-19 Jakub Jelinek <jakub@redhat.com>
4623
49c3b9a8
JJ
4624 PR rtl-optimization/15139
4625 * combine.c: Include params.h.
4626 (count_rtxs): New function.
4627 (record_value_for_reg): If replace_rtx would replace at least
4628 2 occurrences of REG in VALUE and TEM is really large, replace REG with
4629 (clobber (const_int 0)) instead of TEM.
4630 * params.def (PARAM_MAX_LAST_VALUE_RTL): New.
4631 * params.h (MAX_LAST_VALUE_RTL): New.
4632 * Makefile.in (combine.o): Depend on $(PARAMS_H).
4633 * doc/invoke.texi (--param max-last-value-rtl=N): Document.
4634
e89be13b
JJ
4635 PR c/17297
4636 * c-typeck.c (digest_init): Only call build_vector if all constructor
4637 elements are *_CST nodes.
4638 * gimplify.c (gimplify_init_constructor): Likewise.
4639
4640 PR middle-end/19164
4641 * c-typeck.c (digest_init): Only call build_vector if inside_init
4642 is a CONSTRUCTOR.
4643
d74e09c6
TS
46442005-01-18 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
4645
4646 * toplev.c (init_asm_output): Remove dead #ifdef.
4647
e35b30c7
KK
46482005-01-18 Kaz Kojima <kkojima@gcc.gnu.org>
4649
4650 * config/sh/linux.h (TARGET_C99_FUNCTIONS): Define.
4651
8c96cd51
EB
46522005-01-18 Eric Botcazou <ebotcazou@libertysurf.fr>
4653
4654 * calls.c (expand_call): Check DECL_BUILT_IN_CLASS before
4655 accessing DECL_FUNCTION_CODE.
4656 * dojump.c (do_jump): Likewise.
4657 * gimplify.c (gimplify_call_expr): Likewise.
4658 * predict.c (expr_expected_value): Likewise.
4659 (strip_builtin_expect): Likewise.
4660 * tree-inline.c (estimate_num_insns_1): Likewise.
4661 * tree-ssa-loop-im.c (stmt_cost): Likewise
4662 * fold-const.c (fold): Test for BUILT_IN_NORMAL.
4663 (tree_expr_nonnegative_p): Likewise.
4664
eb7a7903
EB
46652005-01-18 Eric Botcazou <ebotcazou@libertysurf.fr>
4666
4667 * config/sparc/sparc.c (load_pic_register): Emit the appropriate
4668 variant of the load_pcrel_sym pattern.
4669 * config/sparc/sparc.md (P macro): Move to the top.
4670 (load_pcrel_sym): Macroize using P.
4671 (save_register_window): Likewise.
4672
7836a61f
AH
46732005-01-18 Aldy Hernandez <aldyh@redhat.com>
4674
4675 * config/rs6000/rs6000.md ("sunordered"): Disable for e500.
4676 ("sordered"): Same.
4677
b4c33883
AP
46782005-01-18 Andrew Pinski <pinskia@physics.uc.edu>
4679
4680 PR C/19472
4681 * c-typeck.c (build_asm_expr): Strip nops off
4682 input memory operands.
4683
56015cee
DE
46842005-01-18 David Edelsohn <edelsohn@gnu.org>
4685
4686 * config/rs6000/aix43.h (CPLUSPLUS_CPP_SPEC): Delete
4687 _XOPEN_SOURCE, _XOPEN_SOURCE_EXTENDED, _LARGE_FILE_API.
4688 * config/rs6000/aix51.h (CPLUSPLUS_CPP_SPEC): Same.
4689 * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Same.
4690
de004e6d
JS
46912005-01-18 Joel Sherrill <joel.sherrill@oarcorp.com>
4692
4693 PR target/19379
4694 * config/i386/i386.c (override_options): If the 80387 is disabled,
4695 then do not return FP values using FP registers.
4696
ad616de1
KH
46972005-01-18 Kazu Hirata <kazu@cs.umass.edu>
4698
4699 * basic-block.h, c-common.c, c-cppbuiltin.c, c-lang.c,
4700 c-tree.h, cfgbuild.c, cgraph.c, cgraph.h, collect2.c,
4701 combine.c, config.gcc, coverage.h, cse.c, cselib.c,
4702 defaults.h, df.c, dwarf2asm.c, dwarf2out.c, explow.c, expr.c,
4703 flow.c, fold-const.c, gcse.c, ggc-page.c, gimple-low.c,
4704 gimplify.c, ifcvt.c, langhooks-def.h, lcm.c, optabs.h,
4705 output.h, postreload-gcse.c, postreload.c, recog.c,
4706 resource.c, rtl.def, rtlanal.c, sched-deps.c, sched-rgn.c,
4707 targhooks.h, toplev.c, tree-data-ref.c, tree-eh.c,
4708 tree-flow.h, tree-loop-linear.c, tree-mudflap.h, tree-nrv.c,
4709 tree-optimize.c, tree-outof-ssa.c, tree-pass.h,
4710 tree-scalar-evolution.c, tree-ssa-copy.c, tree-ssa-dce.c,
4711 tree-ssa-dse.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c,
4712 tree-ssa-pre.c, tree-ssa.c, tree-vectorizer.c, tree.def,
4713 unwind-dw2-fde-darwin.c, var-tracking.c: Update copyright.
4714
5b86a469
KH
4715 * config/darwin.c, config/darwin.h, config/freebsd-spec.h,
4716 config/alpha/alpha.c, config/arm/vfp.md,
4717 config/i386/emmintrin.h, config/i386/i386-modes.def,
4718 config/i386/i386-protos.h, config/i386/i386.h,
4719 config/i386/pmmintrin.h, config/i386/ppro.md,
4720 config/i386/predicates.md, config/i386/xmmintrin.h,
4721 config/i860/i860.c, config/ia64/ia64-modes.def,
4722 config/ia64/ia64-protos.h, config/ia64/ia64.h,
4723 config/ia64/ia64.md, config/ia64/itanium1.md,
4724 config/ia64/itanium2.md, config/ia64/predicates.md,
4725 config/iq2000/iq2000.h, config/mips/linux64.h,
4726 config/rs6000/aix41.h, config/rs6000/aix43.h,
4727 config/rs6000/aix52.h, config/rs6000/darwin-fallback.c,
4728 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
4729 config/rs6000/spe.md, config/sh/sh.md, config/sparc/linux.h,
4730 config/sparc/linux64.h, config/sparc/litecoff.h,
4731 config/sparc/sp64-elf.h, config/sparc/sparc.c,
4732 config/sparc/sparc.h, config/sparc/sparc.md,
4733 config/sparc/sysv4-only.h: Update copyright.
4734
51d7bae6
RH
47352005-01-18 Richard Henderson <rth@redhat.com>
4736
4737 PR target/19496
4738 * config/i386/i386.c (ix86_expand_fp_movcc): Fail for LTGT and UNEQ.
4739
f5975bd5
ME
47402005-01-18 Marc Espie <espie@openbsd.org>
4741 * config/i386/openbsdelf.h: Typo.
4742
9f61886e
RH
47432005-01-18 Richard Henderson <rth@redhat.com>
4744
4745 * config/i386/i386.c (ix86_expand_fp_movcc): Remove TARGET_IEEE_FP
4746 special case for sse.
4747 * config/i386/predicates.md (sse_comparison_operator): Likewise.
4748
16630a2c
DN
47492005-01-18 Dorit Naishlos <dorit@il.ibm.com>
4750
4751 * tree-inline.c (estimate_num_insns_1): Added cases for
4752 ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF, and REALIGN_LOAD_EXPR.
4753
f917ae96
EB
47542005-01-18 Eric Botcazou <ebotcazou@libertysurf.fr>
4755
4756 PR rtl-optimization/19296
4757 * combine.c (simplify_comparison): Rewrite the condition under
4758 which a non-paradoxical SUBREG of a PLUS can be lifted when
4759 compared against a constant.
4760
06da3c24
AK
47612005-01-18 Andi Kleen <ak@muc.de>
4762
4763 * c-typeck.c: (convert_for_assignment): Check warn_pointer_sign.
4764 * c.opt (-Wpointer-sign): Add.
4765 * doc/invoke.texi: (-Wpointer-sign): Add.
4766
ded1c605
UB
47672005-01-18 Uros Bizjak <uros@kss-loka.si>
4768
4769 * config/i386/i386.c (override_options): Revert 2004-11-24 change.
4770 * config/i386/i386.md (fmodsf3, dremsf3, *sinsf2, *cossf2, sincossf3,
4771 *tansf3_1, tansf2, atan2sf3_1, atan2sf3, atansf2, asinsf2, acossf2,
4772 logsf2, log10sf2, log2sf2, log1psf2, logbsf2, ilogbsf2, expsf2,
4773 exp10sf2, exp2sf2, expm1sf2, rintsf2, floorsf2, ceilsf2, btruncsf2,
4774 nearbyintsf2): Disable for TARGET_SSE_MATH. Leave patterns enabled
4775 for TARGET_MIX_SSE_I387.
4776 (fmoddf3, dremdf3, *sindf2, *sinextendsfdf2, *cosdf2, *cosextendsfdf2,
4777 sincosdf3, *sincosextendsfdf3, *tandf3_1, tandf2, atan2df3_1,
4778 atan2df3, atandf2, asindf2, acosdf2, logdf2, log10df2, log2df2,
4779 log1pdf2, logbdf2, expdf2, exp10df2, exp2df2, expm1df2, rintdf2,
4780 floordf2, ceildf2, btruncdf2, nearbyintdf2): Disable for
4781 (TARGET_SSE2 && TARGET_SSE_MATH). Leave patterns enabled for
4782 TARGET_MIX_SSE_I387.
4783 (atan2sf3, atan2df3, atan2xf3): Remove register constraints
4784 from expander.
4785
d0405259
UB
47862005-01-18 Uros Bizjak <uros@kss-loka.si>
4787
4788 PR target/19424
4789 * config/i386/mmx.md (*movv2sf_internal_rex64, *movv2sf_internal):
4790 Add movaps alternative for xmm reg->reg move.
4791
0bd65483
JL
47922005-01-17 Jeff Law <law@redhat.com>
4793
4794 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Clear SSA_NAME_VALUE
4795 at the end of the main DOM loop rather than just before DOM exits.
4796
e03a46f5
DN
47972005-01-17 Diego Novillo <dnovillo@redhat.com>
4798
4799 PR tree-optimization/19121
4800 * tree-ssa-alias.c (compute_flow_sensitive_aliasing): When
4801 adding aliases to a name tag, also add them to the pointer's
4802 type tag.
4803 * tree-ssa-copy.c (merge_alias_info): Do not merge flow
4804 sensitive alias info at all. Only check that the two pointers
4805 have compatible pointed-to sets.
4806 * tree-ssa.c (verify_name_tags): Verify that the alias set of
4807 a pointer's type tag is a superset of the alias set of the
4808 pointer's name tag.
4809
696a2ca1
JW
48102005-01-17 James E Wilson <wilson@specifixinc.com>
4811
4812 PR target/19357
4813 * config/ia64/ia64.md (movxf): Handle general register source. Adjust
4814 comment to document why.
4815
115a33c2
RH
48162005-01-17 Richard Henderson <rth@redhat.com>
4817
4818 * config/i386/sse.md (smaxv4sf3_finite, sse_vmsmaxv4sf3_finite,
4819 sminv4sf3_finite, sse_vmsminv4sf3_finite, smaxv2df3_finite,
4820 sse2_vmsmaxv2df3_finite, sminv2df3_finite,
4821 sse2_vmsminv2df3_finite): New.
4822 (smaxv4sf3, sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, smaxv2df3,
4823 sse2_vmsmaxv2df3, sminv2df3, sse2_vmsminv2df3): Remove commutative.
4824 Force op1 into register.
4825
ded73657
KC
48262005-01-17 Kelley Cook <kcook@gcc.gnu.org>
4827
4828 * Makefile.in (STAGEMOVESTUFF): Stage all the stamp files to prevent
4829 bubblestrap from always rebuilding build directory.
4830
d4f52f0e
UW
48312005-01-17 Ulrich Weigand <uweigand@de.ibm.com>
4832
4833 * config/s390/s390.md ("*clc"): Remove incorrect '='.
4834 ("*cmpmem_short"): Likewise.
4835
740ce53d
SB
48362005-01-17 Steven Bosscher <stevenb@suse.de>
4837
4838 * basic-block.h: Document BB_* flags.
4839 * regrename.c (copyprop_hardreg_forward): Don't use BB_VISITED,
4840 use an sbitmap instead.
4841 * sched-rgn.c (compute_trg_info): Likewise.
4842
2184a120
RS
48432005-01-17 Richard Sandiford <rsandifo@redhat.com>
4844
4845 * config.gcc (mips64*-*-linux*): Set the default abi to n32. Remove
4846 redundant target_cpu_default and extra_parts lines. Use the default
4847 "from-abi" ISA.
4848 * config/mips/linux64.h (DRIVER_DEFAULT_ABI_SELF_SPEC): Delete.
4849 (SUBTARGET_EXTRA_SPECS): Delete.
4850 (DRIVER_SELF_SPECS): Remove architecture lines. Set the ABI directly.
4851 (SUBTARGET_ASM_SPEC): Remove -mabi=n32 and -mabi=64 mappings.
4852 * config/mips/t-linux64 (MULTILIB_DIRNAMES): Use "32" for -mabi=32
4853 and "n32" for -mabi=n32.
4854
812ad338
ILT
48552005-01-17 Ian Lance Taylor <ian@airs.com>
4856
4857 PR c/5675
4858 * c-typeck.c (build_c_cast): Revert patch of 2003-02-16: don't
4859 fold constant variables into initial values.
4860
26e75214
KH
48612005-01-17 Kazu Hirata <kazu@cs.umass.edu>
4862
4863 * tree-cfg.c (tree_can_merge_blocks_p): Reorder two checks.
4864
f8ef82ea
KH
4865 * tree-cfg.c (tree_forwarder_block_p): Speed up by walking
4866 through the statements backward.
4867
81bafd36
ILT
48682005-01-17 Ian Lance Taylor <ian@airs.com>
4869
4870 PR middle-end/13127:
4871 * tree-inline.c (expand_call_inline): Set TREE_NO_WARNING on
4872 a variable set to the return value of the inlined function.
4873
edb81165
MD
48742005-01-17 Mark Dettinger <dettinge@de.ibm.com>
4875
4876 * rtlanal.c (rtx_cost): Assign cost of 0 to a SUBREG
4877 when modes are tieable.
4878
658acbb2
RM
48792005-01-17 Ranjit Mathew <rmathew@hotmail.com>
4880
4881 * gthr-posix.h (__gthread_active_p): Use pthread_cancel instead
4882 of pthread_create to find out if threads are enabled.
4883 * gthr-posix95.h (__gthread_active_p): Likewise.
4884
cd280abb
PB
48852005-01-17 Paolo Bonzini <bonzini@gnu.org>
4886
4887 * common.opt (-fnew-ra): Remove.
4888 * ra*.*: Remove.
4889 * toplev.h (flag_new_regalloc): Remove.
4890 * Makefile.in (ra*.*): Don't mention.
4891 * passes.c (rest_of_handle_new_regalloc): Remove.
4892 (rest_of_handle_combine, rest_of_compilation): Always consider
4893 flag_new_regalloc as false.
4894 * doc/invoke.texi: Don't document -fnew-ra.
4895
48962005-01-17 Paolo Bonzini <bonzini@gnu.org>
c80a0f26
PB
4897
4898 * bb-reorder.c (fix_edges_for_rarely_executed_code): Remove
4899 last parameter to reg_scan.
4900 * loop.c (loop_optimize): Likewise.
4901 * passes.c (rest_of_handle_tracer, rest_of_handle_if_conversion,
4902 rest_of_handle_web, rest_of_handle_cfg, rest_of_handle_jump_bypass,
4903 rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
4904 rest_of_handle_gcse, rest_of_handle_loop_optimize,
4905 rest_of_handle_loop2, rest_of_handle_jump2): Likewise.
4906 * regclass.c (reg_scan): Likewise, for the declaration.
4907 * rtl.h (reg_scan): Likewise, for the prototype.
4908
724e4d44
KH
49092005-01-17 Kazu Hirata <kazu@cs.umass.edu>
4910
4911 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Don't call
4912 mark_dfs_back_edges.
4913
7f233d9f
DB
49142005-01-16 Daniel Berlin <dberlin@dberlin.org>
4915
4916 * tree-ssa-pre.c (add_to_sets): s1 may be NULL.
4917 (compute_avail): Uses don't go in tmp_gen.
4918
6f0947e4
SB
49192005-01-16 Steven Bosscher <stevenb@suse.de>
4920
4921 * ggc-page.c (ggc_alloc_stat): Use __builtin_ctzl instead of a
4922 loop to look for a free slot in a page entry.
4923
083b6717
JDA
49242005-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4925
4926 PR target/16304
4927 * defaults.h (TARGET_DEFERRED_OUTPUT_DEFS): Provide default.
4928 * toplev.c (compile_file): Call process_pending_assemble_output_defs
4929 just before targetm.asm_out.file_end.
4930 * tree.h (process_pending_assemble_output_defs): Declare.
4931 * varasm.c (assemble_output_def, process_pending_assemble_output_defs):
4932 New functions.
4933 (assemble_alias): Defer generation of assembly code for defines when
4934 TARGET_DEFERRED_OUTPUT_DEFS is true.
4935 * config/rs6000/aix41.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
4936 * config/rs6000/aix43.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
4937 * doc/tm.texi (TARGET_DEFERRED_OUTPUT_DEFS): document.
4938
2d5ca9a0
JDA
49392005-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4940
83c32f2e
JDA
4941 PR target/19336
4942 * pa.c (pa_scalar_mode_supported_p): New function.
4943 (TARGET_SCALAR_MODE_SUPPORTED_P): Define.
4944 * pa.h (MIN_UNITS_PER_WORD): Add comment.
4945
2d5ca9a0
JDA
4946 * pa-protos.h (prefetch_operand): Delete.
4947 (prefetch_cc_operand, prefetch_nocc_operand): New declations.
4948 * pa.c (prefetch_operand): Delete.
4949 (prefetch_cc_operand, prefetch_nocc_operand): New functions.
4950 * pa.h (EXTRA_CONSTRAINT): Add `W' constraint.
4951 (PREDICATE_CODES): Delete prefetch_operand. Add prefetch_cc_operand
4952 and prefetch_nocc_operand.
4953 * pa.md (prefetch): Rework to avoid reload problems handling short
4954 displacements when a cache control completer needs to be provided.
4955 (prefetch_32, prefetch_64): Delete.
4956 (prefetch_cc, prefetch_nocc): New patterns.
4957
6a9836b1
DE
49582005-01-15 David Edelsohn <edelsohn@gnu.org>
4959
4960 * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Revert previous change.
4961
22f549fd
JDA
49622005-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4963
4964 PR ada/19388
4965 * pa.c (pa_asm_output_aligned_common): Warn if specified alignment
4966 exceeds maximum alignment for global common data.
4967 * pa64-hpux.h (MAX_OFILE_ALIGNMENT): Define to 32768.
4968 * som.h (MAX_OFILE_ALIGNMENT): Likewise.
4969
19e1af6e
RS
49702004-01-15 Roger Sayle <roger@eyesopen.com>
4971
4972 * tree-ssa-dom.c (extract_range_from_cond): Correct condition.
4973
778f72f2
RS
49742004-01-15 Roger Sayle <roger@eyesopen.com>
4975
4976 * harg-reg-set.h (reg_class_names): Prototype global array.
4977 * regclass.c (reg_class_names): Declare here and initialize to
4978 REG_CLASS_NAMES.
4979 (dump_regclass): Remove local declaration of reg_class_names.
4980 (regclass): Likewise.
4981 * cfg.c (dump_flow_info): Likewise.
4982 * ra-debug.c (reg_class_names): Likewise.
4983 * regrename.c (reg_class_names): Likewise.
4984 * reload.c (reg_class_names): Likewise.
4985 * reload1.c (spill_failure): Likewise.
4986 * config/m68hc11/m68hc11.c (reg_class_names): Likewise.
4987
9c3c3dcc
UW
49882005-01-15 Ulrich Weigand <uweigand@de.ibm.com>
4989
4990 * config/s390/s390.md ("reload_outti"): Remove predicate for
4991 output operand. Abort if operand is not a MEM.
4992 ("reload_outdi", "reload_outdf"): Likewise.
4993
378b66d4
ME
49942005-01-15 Marc Espie <espie@openbsd.org>
4995
4996 * config.gcc (*-*-openbsd*): Set HAS_LIBC_R for OpenBSD <= 3.2.
4997 (i[34567]86-*-openbsd*): Switch to ELF for OpenBSD >= 3.4.
4998 * config/openbsd.h: Fix C++ includes for native configurations.
4999 Add proper OS_CPP_BUILTINS. Fix libspec for recent OpenBSD.
5000 Add trampoline support.
5001 * config/i386/openbsdelf.h: New.
5002
60828cbd
ME
50032005-01-15 Marc Espie <espie@openbsd.org>
5004
5005 * collect2.c (main): Explicitly parse -dynamic-linker option.
5006
75b9aa9f
JJ
50072005-01-15 Jakub Jelinek <jakub@redhat.com>
5008
5009 PR tree-optimization/19060
5010 * tree-ssa-dom.c (extract_range_from_cond) <case LT_EXPR, GT_EXPR>:
5011 Return 0 if op1 <= TYPE_MIN_VALUE () resp. op1 >= TYPE_MAX_VALUE ().
5012 (simplify_cond_and_lookup_avail_expr): Add assert for dummy == 0
5013 and handle extract_range_from_cond returning false.
5014 * fold-const.c (fold): Optimize comparisons with min/max even for
5015 width > HOST_BITS_PER_WIDE_INT.
5016
4ba9f2a1
RC
50172005-01-15 Ralf Corsepius <ralf.corsepius@rtems.org>
5018
5019 * config/mips/rtems.h (MIPS_DEFAULT_GVALUE): Set to 0.
2cdc2073 5020 * config/mips/t-rtems (MULTILIBS_DIRNAMES,MULTILIB_OPTIONS):
4ba9f2a1
RC
5021 Remove little endian multilib variants.
5022 Add mips32 multilib variant.
5023
bbc8fb00
KH
50242005-01-15 Kazu Hirata <kazu@cs.umass.edu>
5025
5026 * explow.c (copy_all_reg, stabilize): Remove.
5027 * expr.h: Remove the corresponding prototypes.
5028
6a29dc8b
KH
5029 * rtlanal.c (regs_set_between_p): Remove.
5030 * rtl.h: Remove the corresponding prototype.
5031
165a5bad
DE
50322005-01-14 David Edelsohn <edelsohn@gnu.org>
5033
5034 * config/rs6000/rs6000.c (rs6k_nonimmediate_operand): Rename
5035 to rs6000_nonimmediate_operand.
5036 * config/rs6000/rs6000.h (PREDICATE_CODES): Rename
5037 rs6k_nonimmediate_operand to rs6000_nonimmediate_operand.
5038 * config/rs6000/rs6000.md (movsi_internal1): Rename predicate to
5039 rs6000_nonimmediate_operand.
5040 * config/rs6000/spe.md (movdf_e500_double): Rename predicate to
5041 rs6000_nonimmediate_operand.
5042
7f9e6d2a
AP
50432005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
5044
5045 * tree-ssa-alias.c (pass_may_alias): Add TODO_verify_stmts.
5046
54b695e7
AH
50472005-01-14 Aldy Hernandez <aldyh@redhat.com>
5048
5049 * config/rs6000/rs6000.h (CLASS_MAX_NREGS): DF goes in 1 register
5050 on e500v2.
5051 (CANNOT_CHANGE_MODE_CLASS): Restrict DI mode changes on e500v2.
5052 (PREDICATE_CODES): Add rs6k_nonimmediate_operand.
5053
5054 * config/rs6000/rs6000.c (invalid_e500_subreg): New.
5055 (rs6k_nonimmediate_operand): New.
5056 (rs6000_legitimate_offset_address_p): Handle DI modes on e500v2
5057 correctly.
5058 (legitimate_lo_sum_address_p): Same.
5059 (rs6000_legitimize_address): Same.
5060 (rs6000_legitimize_reload_address): Same.
5061 (rs6000_legitimate_address): Same.
5062 (spe_build_register_parallel): Pass DF and DC modes in a DI
5063 register.
5064
5065 * config/rs6000/rs6000.md ("*movsi_internal1"): Change predicate
5066 to rs6k_nonimmediate_operand.
5067
5068 * config/rs6000/spe.md ("*frob_df_di"): New.
5069 ("*frob_di_df"): New.
5070 ("*frob_di_df_2"): New.
5071 ("*mov_sidf_e500_subreg0"): New.
5072 ("*mov_sidf_e500_subreg4"): New.
5073 ("*movdf_e500_double"): Change predicate to
5074 rs6k_nonimmediate_operand.
5075
05075d4e
AH
50762005-01-14 Aldy Hernandez <aldyh@redhat.com>
5077
5078 * postreload.c (move2add_note_store): Only call
5079 trunc_int_for_mode on scalar integers.
5080
a28fee03
SB
50812005-01-14 Steven Bosscher <stevenb@suse.de>
5082
5083 * tree-ssa-dce.c (visited_control_parents): New sbitmap to
5084 replace BB_VISITED uses.
5085 (find_obviously_necessary_stmts): Don't clear BB_VISITED.
5086 (propagate_necessity): Check the bitmap instead of BB_VISITED.
5087 (tree_dce_done): Free visited_control_parents.
5088 (perform_tree_ssa_dce): Allocate and clear it.
5089 * tree-ssa-pre.c (compute_antic_aux): Make non-recursive.
5090 (compute_antic): Iterate from here using a DFS. Use an sbitmap
5091 instead of BB_VISITED.
5092
103a83e0
KH
50932005-01-14 Kazu Hirata <kazu@cs.umass.edu>
5094
5095 * c-tree.h, coverage.h, langhooks-def.h, optabs.h, output.h,
5096 rtl.h, targhooks.h, tree-flow.h, tree-mudflap.h, tree.h:
5097 Remove unused prototypes.
5098
b5a5beb9
AH
50992005-01-14 Aldy Hernandez <aldyh@redhat.com>
5100
5101 * config/rs6000/rs6000.c (rs6000_stack_info): Fix caching of SPE
5102 64-bit register usage.
5103 (spe_func_has_64bit_regs_p): Add FIXME note.
5104
5ca18999
AH
51052005-01-14 Aldy Hernandez <aldyh@redhat.com>
5106
5107 * config/rs6000/rs6000.c (rs6000_generate_compare): Replace
5108 flag_finite_math_only with flag_unsafe_math_optimizations.
5109
783d2650
J
51102005-01-14 J. D. Johnston <jjohnst@us.ibm.com>
5111
5112 * config/s390/tpf-unwind.h (s390_fallback_frame_state): Correct
5113 end-of-stack check.
5114 (__tpf_eh_return): Copy TPF private stack area from the module
5115 boundary stack frame. Add check for when module addresses are
5116 equal, but no stub address is found.
5117
b12a00f1
RE
51182005-01-14 Richard Earnshaw <rearnsha@arm.com>
5119
5120 PR target/7525
5121 * arm.h (struct machine_function): Add call_via field.
5122 (thumb_call_via_label): Declare.
5123 * arm.c (thumb_call_via_label): New variable.
5124 (thumb_call_reg_needed): New variable.
5125 (arm_output_function_epilogue): For Thumb code, output any per-function
5126 call-indirect trampolines.
5127 (thumb_call_via_reg): New function.
5128 (arm_file_end): New function.
5129 (TARGET_ASM_FILE_END): Call arm_file_end.
5130 (aof_file_end): Likewise.
5131 * arm-protos.h (thumb_call_via_reg): Declare.
2cdc2073 5132 * arm.md (call_reg_thumb, call_value_reg_thumb): Call
b12a00f1
RE
5133 thumb_call_via_reg in normal case.
5134
08a0c536
JJ
51352005-01-14 Jakub Jelinek <jakub@redhat.com>
5136
5137 PR middle-end/19084
5138 PR rtl-optimization/19348
5139 * recog.c (peephole2_optimize): Do global life update if some peephole
5140 decides it doesn't need at least one of its inputs and that change
5141 influences liveness at the start of the basic block.
5142
5143 * basic-block.h (EXECUTE_IF_AND_COMPL_IN_REG_SET): Needs 2 REGSET
5144 arguments instead of 1.
5145
eebeecac
EB
51462005-01-14 Eric Botcazou <ebotcazou@libertysurf.fr>
5147
5148 PR middle-end/18820
5149 * varasm.c (initializer_constant_valid_p) <ADDR_EXPR>: Return
5150 zero for nested functions needing a static chain or functions
5151 with a non-constant address.
5152
a0ee8b5f
RS
51532005-01-13 Roger Sayle <roger@eyesopen.com>
5154
5155 * simplify-rtx.c (simplify_binary_operation) <AND>: Optimize
5156 (and (sign_extend X) C) into (zero_extend (and X C)).
5157
92018897
DB
51582005-01-13 David O'Brien <obrien@FreeBSD.org>
5159
5160 * config/freebsd-spec.h: Make KSE pthread lib logic the default.
5161
eaa49b49
RH
51622005-01-13 Richard Henderson <rth@redhat.com>
5163
2d1d3cb2 5164 PR target/19009
eaa49b49
RH
5165 PR target/19250
5166 PR target/19252
5167 * config/i386/i386.md (cmpdf, cmpsf, bunordered, bordered, buneq,
5168 bunge, bungt, bunle, bunlt, bltgt): Enable for TARGET_SSE_MATH,
5169 not just TARGET_SSE.
5170 (cmpfp_i_387): Rename from cmpfp_i. Move after sse patterns.
5171 (cmpfp_i_mixed): Rename from cmpfp_i_sse; use for TARGET_MIX_SSE_I387.
5172 (cmpfp_i_sse): Rename from cmpfp_i_sse_only; use for TARGET_SSE_MATH.
5173 (cmpfp_iu_mixed, cmpfp_iu_sse, cmpfp_iu_387): Similarly.
5174 (fp_jcc_1_mixed, fp_jcc_1_sse, fp_jcc_1_387): Similarly.
5175 (fp_jcc_2_mixed, fp_jcc_2_sse, fp_jcc_2_387): Similarly.
5176 (fp_jcc_3_387, fp_jcc_4_387, fp_jcc_5_387, fp_jcc_6_387,
5177 fp_jcc_7_387, fp_jcc_8_387): Rename from fp_jcc_N.
5178 (movdicc_c_rex64): Rename with '*'.
5179 (movsfcc, movdfcc): Add checks for 387 and sse math to condition.
5180 (movsfcc_1_sse_min, movsfcc_1_sse_max, movsfcc_1_sse): New.
5181 (movsfcc_1_387): Rename from movsfcc_1.
5182 (movdfcc_1_sse_min, movdfcc_1_sse_max, movdfcc_1_sse): New.
5183 (movdfcc_1, movdfcc_1_rex64): Add check for 387.
5184 (sminsf3, smaxsf3, smindf3, smaxdf3): New.
5185 (minsf3, minsf, minsf_nonieee, minsf_sse, mindf3, mindf,
5186 mindf_nonieee, mindf_sse, maxsf3, maxsf, maxsf_nonieee, maxsf_sse,
5187 maxdf3, maxdf, maxdf_nonieee, maxdf_sse, sse_movsfcc, sse_movsfcc_eq,
5188 sse_movdfcc, sse_movdfcc_eq, sse_movsfcc_const0_1,
5189 sse_movsfcc_const0_2, sse_movsfcc_const0_3, sse_movsfcc_const0_4,
5190 sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
5191 sse_movdfcc_const0_4): Remove.
5192 * config/i386/i386.c (ix86_expand_fp_movcc): For TARGET_SSE_MATH,
5193 recognize min/max early. Update for changed sse cmove patterns.
5194 (ix86_split_sse_movcc): New.
5195 * config/i386/i386-protos.h: Update.
5196
1dff80c0
SB
51972005-01-13 Steven Bosscher <stevenb@suse.de>
5198
5199 * tree-ssa-dse.c (fix_phi_uses): Use SSA operand iterators.
5200 (fix_stmt_v_may_defs): Likewise.
5201
bb129a4f
RH
52022005-01-13 Richard Henderson <rth@redhat.com>
5203
5204 * config/i386/i386.c (ix86_expand_fp_absneg_operator): Use elt_mode
5205 for converting the mask.
5206
2cba2c8b
DE
52072005-01-13 David Edelsohn <edelsohn@gnu.org>
5208
5209 * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Change _XOPEN_SOURCE
5210 definition to 600.
5211
ed9b5396
RH
52122005-01-13 Richard Henderson <rth@redhat.com>
5213
5214 * config/i386/i386.c (IX86_BUILTIN_MOVQ, IX86_BUILTIN_LOADD,
5215 IX86_BUILTIN_STORED, IX86_BUILTIN_MOVQ2DQ,
5216 IX86_BUILTIN_MOVDQ2Q): Remove.
5217 (IX86_BUILTIN_VEC_EXT_V4SI): New.
5218 (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Update to match.
2cdc2073 5219 (ix86_expand_vector_extract): For V4S[FI], extract element 0 after
ed9b5396
RH
5220 shuffling.
5221 * config/i386/sse.md (sse_concatv2sf): Accept zero operand 2.
5222 (sse2_pextrw): Fix immediate constraint.
5223 (sse2_loadq, sse2_loadq_rex64): Remove.
5224 * config/i386/emmintrin.h (_mm_cvtsi128_si32, _mm_cvtsi128_si64x):
5225 Use __builtin_ia32_vec_ext_<size>.
5226 (_mm_cvtsi32_si128, _mm_cvtsi64x_si128): Use _mm_set_epi<size>.
5227
17284759
AH
52282005-01-13 Aldy Hernandez <aldyh@redhat.com>
5229
5230 * function.c (assign_parm_setup_block): Look inside original
5231 entry_parm when inspecting PARALLEL.
5232
5d58d2f8
RC
52332005-01-13 Ralf Corsepius <ralf.corsepius@rtems.org>
5234 Joel Sherrill <joel@oarcorp.com>
5235
5236 PR target/19399
5237 * gthr-rtems.h (__gthread_recursive_mutex_t): New type.
5238 (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Define to
5239 rtems_gxx_recursive_mutex_init.
5240 (__gthread_recursive_mutex_lock): New function.
5241 (__gthread_recursive_mutex_trylock): Likewise.
5242 (__gthread_recursive_mutex_unlock): Likewise.
5243
52786878
RC
52442005-01-13 Ralf Corsepius <ralf.corsepius@rtems.org>
5245
5246 * config/i386/t-rtems-i386: Multilib on -mtune instead of -mcpu.
5247
16d8386b
JB
52482005-01-13 Jan Beulich <jbeulich@novell.com>
5249
5250 * config/ia64/ia64.md (ashlti3, ashlti3_internal): New.
5251 (ashrti3_internal): Indicate output is early clobber. Generate result
5252 into output rather than first input. Use move for low word of output
5253 if shift count is exactly 64.
5254 (lshrti3_internal): Likewise.
5255
0149f412
HPN
52562005-01-13 Hans-Peter Nilsson <hp@bitrange.com>
5257
5258 PR target/18329
5259 PR target/18330
5260 * reload1.c (delete_output_reload): Don't delete an output reload
5261 if the pseudo lives longer than a single basic block. Adjust and
5262 improve wording of comment.
5263
e1e04267
AP
52642005-01-12 Andrew Pinski <pinskia@physics.uc.edu>
5265
5266 PR target/19334
5267 * config/darwin.c (machopic_select_section): Use TYPE_SIZE_UNIT instead
5268 of TYPE_SIZE where we mean the number of bytes.
5269
640019aa
AH
52702005-01-12 Aldy Hernandez <aldyh@redhat.com>
5271
5272 * function.c (assign_parm_setup_block): Relax condition on
5273 multi-register optimization.
5274
98e20ffd
NC
52752005-01-12 Nick Clifton <nickc@redhat.com>
5276
5277 * config/sh/sh.md (udivsi3_sh2a, divsi3_sh2a): Give these patterns
5278 an "in_delay_slot" attribute of "no" to prevent them being used in
5279 delay slots. This is forbidden because they might generate
5280 exceptions.
5281
409f61cd
AM
52822005-01-12 Alan Modra <amodra@bigpond.net.au>
5283
5284 PR target/19389
5285 * config/rs6000/rs6000.md (movtf_internal): Replace r->o and m->r
5286 with r->Y and Y->r.
5287
ef6f5655
NC
52882005-01-12 Nick Clifton <nickc@redhat.com>
5289
5290 * config/iq2000/iq2000.h (ASM_SPEC): Undefine (to stop -Qy being
5291 passed on to GAS) but do not define, as GAS no longer supports or
5292 needs the -m2000 option.
5293
157b3890
RS
52942005-01-11 Roger Sayle <roger@eyesopen.com>
5295
5296 * builtins.c (fold_builtin_fabs): Convert argument to the appropriate
5297 type as args of unprototyped builtins aren't automatically promoted.
5298 (fold_builtin_abs): Likewise.
5299
9a43b902
KG
53002005-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5301
5302 * Makefile.in: Set a `build-warn' variable.
5303
0a915e3d
ZD
53042005-01-11 Zdenek Dvorak <dvorakz@suse.cz>
5305
5306 PR tree-optimization/17949
5307 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): New function.
5308 (find_interesting_uses_address): Use it.
5309
f351bfed
AH
53102005-01-11 Aldy Hernandez <aldyh@redhat.com>
5311
5312 * regrename.c (kill_value): Handle subreg's that won't simplify.
5313
eb701deb
RH
53142005-01-11 Richard Henderson <rth@redhat.com>
5315
5316 PR target/13366
5317 * config/i386/i386.h (enum ix86_builtins): Move ...
5318 * config/i386/i386.c: ... here.
5319 (IX86_BUILTIN_MOVDDUP, IX86_BUILTIN_MMX_ZERO, IX86_BUILTIN_PEXTRW,
5320 IX86_BUILTIN_PINSRW, IX86_BUILTIN_LOADAPS, IX86_BUILTIN_LOADSS,
5321 IX86_BUILTIN_STORESS, IX86_BUILTIN_SSE_ZERO, IX86_BUILTIN_PEXTRW128,
5322 IX86_BUILTIN_PINSRW128, IX86_BUILTIN_LOADAPD, IX86_BUILTIN_LOADSD,
5323 IX86_BUILTIN_STOREAPD, IX86_BUILTIN_STORESD, IX86_BUILTIN_STOREHPD,
5324 IX86_BUILTIN_STORELPD, IX86_BUILTIN_SETPD1, IX86_BUILTIN_SETPD,
5325 IX86_BUILTIN_CLRPD, IX86_BUILTIN_LOADPD1, IX86_BUILTIN_LOADRPD,
5326 IX86_BUILTIN_STOREPD1, IX86_BUILTIN_STORERPD, IX86_BUILTIN_LOADDQA,
5327 IX86_BUILTIN_STOREDQA, IX86_BUILTIN_CLRTI,
5328 IX86_BUILTIN_LOADDDUP): Remove.
5329 (IX86_BUILTIN_VEC_INIT_V2SI, IX86_BUILTIN_VEC_INIT_V4HI,
5330 IX86_BUILTIN_VEC_INIT_V8QI, IX86_BUILTIN_VEC_EXT_V2DF,
5331 IX86_BUILTIN_VEC_EXT_V2DI, IX86_BUILTIN_VEC_EXT_V4SF,
5332 IX86_BUILTIN_VEC_EXT_V8HI, IX86_BUILTIN_VEC_EXT_V4HI,
5333 IX86_BUILTIN_VEC_SET_V8HI, IX86_BUILTIN_VEC_SET_V4HI): New.
5334 (ix86_init_builtins): Make static.
5335 (ix86_init_mmx_sse_builtins): Update for changed builtins.
5336 (ix86_expand_binop_builtin): Only use ix86_fixup_binary_operands
5337 if all the modes match. Otherwise, fake it.
5338 (get_element_number, ix86_expand_vec_init_builtin,
5339 ix86_expand_vec_ext_builtin, ix86_expand_vec_set_builtin): New.
5340 (ix86_expand_builtin): Make static. Update for changed builtins.
5341 (ix86_expand_vector_move_misalign): Use sse2_loadlpd with zero
5342 operand instead of sse2_loadsd. Cast sse1 fallback to V4SFmode.
5343 (ix86_expand_vector_init_duplicate): New.
5344 (ix86_expand_vector_init_low_nonzero): New.
5345 (ix86_expand_vector_init_one_var, ix86_expand_vector_init_general):
5346 Split out from ix86_expand_vector_init; handle integer modes.
5347 (ix86_expand_vector_init): Use them.
5348 (ix86_expand_vector_set, ix86_expand_vector_extract): New.
5349 * config/i386/i386-protos.h: Update.
5350 * config/i386/predicates.md (reg_or_0_operand): New.
5351 * config/i386/mmx.md (mov<MMXMODEI>_internal): Add 'r' variants.
5352 (movv2sf_internal): Likewise. And a splitter to match them all.
5353 (vec_dupv2sf, mmx_concatv2sf, vec_setv2sf, vec_extractv2sf,
5354 vec_initv2sf, vec_dupv4hi, vec_dupv2si, mmx_concatv2si, vec_setv2si,
5355 vec_extractv2si, vec_initv2si, vec_setv4hi, vec_extractv4hi,
5356 vec_initv4hi, vec_setv8qi, vec_extractv8qi, vec_initv8qi): New.
5357 (mmx_pinsrw): Fix operand ordering.
5358 * config/i386/sse.md (movv4sf splitter): Use direct pattern,
5359 rather than sse_loadss expander.
5360 (movv2df splitter): Similarly.
5361 (sse_loadss, sse_loadlss): Remove.
5362 (vec_dupv4sf, sse_concatv2sf, sse_concatv4sf, vec_extractv4sf_0): New.
5363 (vec_setv4sf, vec_setv2df): Use ix86_expand_vector_set.
5364 (vec_extractv4sf, vec_extractv2df): Use ix86_expand_vector_extract.
5365 (sse3_movddup): Rename with '*'.
5366 (sse3_movddup splitter): Use gen_rtx_REG instead of gen_lowpart.
5367 (sse2_loadsd): Remove.
5368 (vec_dupv2df_sse3): Rename from sse3_loadddup.
5369 (vec_dupv2df, vec_concatv2df_sse3, vec_concatv2df): New.
5370 (sse2_pinsrw): Fix argument ordering.
5371 (sse2_loadld, sse2_loadq): Add sse1 alternatives.
5372 (sse2_stored): Remove 'r' destination.
5373 (vec_dupv4si, vec_dupv2di, sse2_concatv2si, sse1_concatv2si,
5374 vec_concatv4si_1, vec_concatv2di, vec_setv2di, vec_extractv2di,
5375 vec_initv2di, vec_setv4si, vec_extractv4si, vec_initv4si,
5376 vec_setv8hi, vec_extractv8hi, vec_initv8hi, vec_setv16qi,
5377 vec_extractv16qi, vec_initv16qi): New.
5378
5379 * config/i386/emmintrin.h (__m128i, __m128d): Use typedef, not define.
2cdc2073 5380 (_mm_set_sd, _mm_set1_pd, _mm_setzero_pd, _mm_set_epi64x,
eb701deb
RH
5381 _mm_set_epi32, _mm_set_epi16, _mm_set_epi8, _mm_setzero_si128): Use
5382 constructor form.
5383 (_mm_load_pd, _mm_store_pd): Use plain dereference.
5384 (_mm_load_si128, _mm_store_si128): Likewise.
5385 (_mm_load1_pd): Use _mm_set1_pd.
5386 (_mm_load_sd): Use _mm_set_sd.
5387 (_mm_store_sd, _mm_storeh_pd): Use __builtin_ia32_vec_ext_v2df.
5388 (_mm_store1_pd, _mm_storer_pd): Use _mm_store_pd.
5389 (_mm_set_epi64): Use _mm_set_epi64x.
5390 (_mm_set1_epi64x, _mm_set1_epi64, _mm_set1_epi32, _mm_set_epi16,
5391 _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
5392 _mm_setr_epi8): Use _mm_set_foo form.
5393 (_mm_loadl_epi64, _mm_movpi64_epi64, _mm_move_epi64): Use _mm_set_epi64.
5394 (_mm_storel_epi64, _mm_movepi64_pi64): Use __builtin_ia32_vec_ext_v2di.
5395 (_mm_extract_epi16): Use __builtin_ia32_vec_ext_v8hi.
5396 (_mm_insert_epi16): Use __builtin_ia32_vec_set_v8hi.
5397 * config/i386/mmintrin.h (_mm_setzero_si64): Use plain cast.
5398 (_mm_set_pi32): Use __builtin_ia32_vec_init_v2si.
5399 (_mm_set_pi16): Use __builtin_ia32_vec_init_v4hi.
5400 (_mm_set_pi8): Use __builtin_ia32_vec_init_v8qi.
5401 (_mm_set1_pi16, _mm_set1_pi8): Use _mm_set_piN variant.
5402 * config/i386/pmmintrin.h (_mm_loaddup_pd): Use _mm_load1_pd.
5403 (_mm_movedup_pd): Use _mm_shuffle_pd.
5404 * config/i386/xmmintrin.h (_mm_setzero_ps, _mm_set_ss,
5405 _mm_set1_ps, _mm_set_ps, _mm_setr_ps): Use constructor form.
5406 (_mm_cvtpi16_ps, _mm_cvtpu16_ps, _mm_cvtpi8_ps, _mm_cvtpu8_ps,
5407 _mm_cvtps_pi8, _mm_cvtpi32x2_ps): Avoid __builtin_ia32_mmx_zero;
5408 Use _mm_setzero_ps.
5409 (_mm_load_ss, _mm_load1_ps): Use _mm_set* form.
5410 (_mm_load_ps, _mm_loadr_ps): Use raw dereference.
5411 (_mm_store_ss): Use __builtin_ia32_vec_ext_v4sf.
5412 (_mm_store_ps): Use raw dereference.
5413 (_mm_store1_ps): Use _mm_storeu_ps.
5414 (_mm_storer_ps): Use _mm_store_ps.
5415 (_mm_extract_pi16): Use __builtin_ia32_vec_ext_v4hi.
5416 (_mm_insert_pi16): Use __builtin_ia32_vec_set_v4hi.
5417
d9e4e4f5
SS
54182005-01-11 Stan Shebs <shebs@apple.com>
5419
5420 * config/rs6000/rs6000.c (machopic_output_stub): Issue
5421 ldu instead of lwzu if 64-bit -mdynamic-no-pic.
5422
85962ac8
AP
54232005-01-11 Andrew Pinski <pinskia@physics.uc.edu>
5424
5425 PR target/18761
5426 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
5427 Skip all DECLs except for FIELD_DECLs.
5428
6b78f6be
AK
54292005-01-11 Andreas Krebbel <krebbel1@de.ibm.com>
5430
5431 * config/s390/s390.c (override_options): Return error if
5432 -mbackchain, -mpacked-stack and -mhard-float are used together.
5433 (s390_va_start): Remove the backchain && packed-stack special case.
5434 (s390_gimplify_va_arg): Likewise.
5435 * doc/invoke.texi: Remove the ABI incompatibility note.
5436
66480e91
AK
54372005-01-11 Andreas Krebbel <krebbel1@de.ibm.com>
5438
fc474307 5439 * config/s390/s390.c (struct s390_frame_layout): Remove
66480e91
AK
5440 save_backchain_p.
5441 (s390_frame_info, s390_emit_prologue): Replace occurrences of
5442 save_backchain_p with TARGET_BACKCHAIN.
5443
bfc45551
AM
54442005-01-11 Alan Modra <amodra@bigpond.net.au>
5445
5446 PR target/18916
5447 * builtins.c (std_gimplify_va_arg_expr): Adjust alignment of *ap.
5448 * expr.h (struct locate_and_pad_arg_data): Add "boundary".
5449 * function.c (locate_and_pad_parm): Set new field.
5450 (assign_parm_find_stack_rtl): Use it instead of FUNCTION_ARG_BOUNDARY.
5451 Tweak where_pad test to include "none". Always set mem align for
5452 stack_parm.
5453 (assign_parm_adjust_stack_rtl): Discard stack_parm if alignment
5454 not sufficient for type.
5455 (assign_parm_setup_block): If stack_parm is zero on entry, always
5456 make a new stack local. Block move old stack parm if necessary
5457 to new aligned stack local.
5458 (assign_parm_setup_stack): Use a block move to handle
5459 potentially misaligned entry_parm.
5460 (assign_parms_unsplit_complex): Specify required alignment when
5461 creating stack local.
5462 * calls.c (compute_argument_addresses): Override alignment of stack
5463 arg calculated from its type with the alignment given by
5464 FUNCTION_ARG_BOUNDARY.
5465 (store_one_arg): Likewise.
5466
d3f6e07b 54672005-01-11 Jan Beulich <jbeulich@novell.com>
bfc45551 5468
d3f6e07b
JB
5469 * config/ia64/ia64.md (zero_extendsidi2): Replace zxt4 by addp4.
5470 Change respective itanium_class attribute to ialu.
5471 (shladdp4_internal): New.
5472 * config/ia64/predicates.md (shladd_log2_operand): New.
5473
201dd46b
RH
54742005-01-11 Richard Henderson <rth@redhat.com>
5475
5476 * expr.c (store_constructor): Use rtvec_alloc instead of
5477 alloca+gen_rtvec_v, and an incorrect number passed to alloca.
5478
35c0104b
KH
54792005-01-11 Kazu Hirata <kazu@cs.umass.edu>
5480
5481 * config/alpha/alpha.c, config/i386/mmx.md: Fix comment typos.
5482
abb8b19a
AM
54832005-01-11 Alan Modra <amodra@bigpond.net.au>
5484
5485 * varasm.c (default_section_type_flags_1): Don't set SECTION_SMALL.
5486 * config/ia64/ia64.c (TARGET_SECTION_TYPE_FLAGS): Define.
5487 (TARGET_RWRELOC): Define.
5488 (ia64_rwreloc_section_type_flags): Delete.
5489 (ia64_section_type_flags): New function.
5490 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): Don't define.
5491 (TARGET_RWRELOC): Define.
5492
b1eae416
DM
54932005-01-10 David Mosberger <davidm@hpl.hp.com>
5494
5495 PR target/18987
5496 * config/ia64/ia64.c (process_set): For alloc insn, only call
5497 process_epilogue is !frame_pointer_needed.
5498
18d00205
RS
54992005-01-10 Roger Sayle <roger@eyesopen.com>
5500
5501 PR c++/19355
5502 * c-common.c (c_common_truthvalue_conversion): TRUTH_NOT_EXPR is a
5503 unary operator and can't be treated as a binary/comparison operator.
5504
b3a1ca49
RH
55052005-01-10 Richard Henderson <rth@redhat.com>
5506
5507 * config/i386/i386.c (ix86_function_value): Use type_natural_mode.
5508 (ix86_return_in_memory): Likewise.
5509 (function_arg_advance): Likewise. Mirror structure in function_arg
5510 for choosing register to advance.
5511
1618f948
KH
55122005-01-10 Kazu Hirata <kazu@cs.umass.edu>
5513
5514 * tree-vectorizer.c, tree.def: Fix comment typos.
5515
98fd0d70
MD
55162005-01-10 Mark Dettinger <dettinge@de.ibm.com>
5517
5518 * config/s390/s390.c (struct processor_costs): 4 new fields:
5519 ddbr, ddr, debr, der.
5520 (s390_rtx_costs): More precise handling of divide instructions.
5521
99757961
DE
55222005-01-10 David Edelsohn <edelsohn@gnu.org>
5523
5524 * config/rs6000/t-aix43 (BOOT_LDFLAGS): Define.
5525
826eb7ed
JB
55262005-01-10 Jan Beulich <jbeulich@novell.com>
5527
5528 * config/ia64/ia64.c (ia64_in_small_data_p): Also handle the section
5529 names resulting from -ffunction-sections/-fdata-sections and linkonce
5530 ones.
5531 * varasm.c (default_section_type_flags_1): Also set SECTION_SMALL
5532 based on the section name. Rearrange the section name comparison logic
5533 slightly so that each section name is compared against at most once.
5534
068d4f38
BE
55352005-01-10 Ben Elliston <bje@au.ibm.com>
5536
5537 * doc/invoke.texi (Code Gen Options): Add PowerPC to the list of
5538 targets for which -fPIC reduces limitations on the GOT size.
5539
351bae3d
FH
55402005-01-09 Falk Hueffner <falk@debian.org>
5541
5542 * fold-const.c (fold): Also handle EXACT_DIV_EXPR when folding
5543 X/C1 cmpop C2.
5544
7142ae77
DE
55452005-01-09 David Edelsohn <edelsohn@gnu.org>
5546
5547 PR target/18720
5548 * collect2.c (main): Set aixrtl_flag for -brtl option.
5549 (resolve_lib_name): Search for .so file extension before .a
5550 if aixrtl_flag set.
5551
5a3ed97a
DN
55522005-01-09 Dorit Naishlos <dorit@il.ibm.com>
5553
5554 * tree-vectorizer.c (vect_enhance_data_refs_alignment): Add dump prints.
5555 (vect_analyze_data_refs_alignment): Add dump prints.
5556
db5dc63d
IR
55572005-01-09 Ira Rosen <irar@il.ibm.com>
5558
fc474307 5559 * tree-vectorizer.c (vect_analyze_offset_expr): Use
db5dc63d
IR
5560 expr_invariant_in_loop_p.
5561 Initialize outputs first thing in the function.
5562 (vect_update_ivs_after_vectorizer): Call initial_condition_in_loop_num.
5563 (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
fc474307 5564 (vect_analyze_pointer_ref_access): Check that the initial condition of
db5dc63d
IR
5565 the access function is loop invariant.
5566
80e8bb90
RH
55672005-01-09 Richard Henderson <rth@redhat.com>
5568
5569 * config/i386/i386.c (bdesc_2arg): Update names for mmx_ prefixes.
5570 (ix86_expand_builtin): Likewise. Frob MASKMOVQ wrt the input mem
5571 just like MASKMOVDQU. Return plain zero for MMX_ZERO.
5572 * config/i386/i386.md (MMXMODEI, mov<MMXMODEI>,
5573 mov<MMXMODEI>_internal_rex64, mov<MMXMODEI>_internal, movv2sf,
5574 movv2sf_internal_rex64, movv2sf_internal, MMXMODE,
5575 movmisalign<MMXMODE>, mmx_pmovmskb, mmx_maskmovq, mmx_maskmovq_rex,
5576 sse_movntdi, addv8qi3, addv4hi3, addv2si3, mmx_adddi3, ssaddv8qi3,
5577 ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3, subv4hi3, subv2si3,
5578 mmx_subdi3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3,
5579 mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd,
5580 sse2_umulsidi3, mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3,
5581 mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pinsrw,
5582 mmx_pextrw, mmx_pshufw, eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3,
5583 gtv2si3, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3,
5584 ashrv2si3, lshrv4hi3, lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3,
5585 mmx_ashldi3, mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw,
fc474307 5586 mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd,
80e8bb90
RH
5587 mmx_punpckldq, emms, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3,
5588 eqv2sf3, pfmaxv2sf3, pfminv2sf3, mulv2sf3, femms, pf2id, pf2iw,
5589 pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pfrcpv2sf2, pfrcpit1v2sf3,
5590 pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3, pmulhrwv4hi3, pswapdv2si2,
5591 pswapdv2sf2): Move to mmx.md; rename as necessary with leading
5592 mmx_ prefix.
5593 (mmx_clrdi, pavgusb): Remove.
fc474307 5594 (ldmxcsr, stmxcsr, sfence, sfence_insn): Move to sse.md; rename
80e8bb90
RH
5595 with leading sse_ prefix.
5596 * config/i386/sse.md: Receive them.
5597 * config/i386/mmx.md: New file.
5598 (MMXMODE12, MMXMODE24, mmxvecsize): New.
5599 (subrv2sf3): Turn into expander for normal subtraction.
5600 (mmx_addv2sf3, mmx_mulv2sf3, mmx_smaxv2sf3, mmx_sminv2sf3,
5601 mmx_eqv2sf3, mmx_mulv4hi3, mmx_smulv4hi3_highpart,
5602 mmx_umulv4hi3_highpart, mmx_pmaddwd, mmx_pmulhrwv4hi3, sse2_umulsidi3,
5603 mmx_umaxv8qi3, mmx_smaxv4hi3, mmx_uminv8qi3, mmx_sminv4hi3): Mark
5604 commutative; use ix86_binary_operator_ok.
5605 (mmx_add<MMXMODEI>3, mmx_ssadd<MMXMODE12>3, mmx_usadd<MMXMODE12>3,
5606 mmx_sub<MMXMODEI>3, mmx_sssub<MMXMODE12>3, mmx_ussub<MMXMODE12>3
5607 mmx_ashr<MMXMODE24>3, mmx_lshr<MMXMODE23>3, mmx_ashl<MMXMODE24>3
fc474307 5608 mmx_eq<MMXMODEI>3, mmx_gt<MMXMODEI>3, mmx_and<MMXMODEI>3,
80e8bb90
RH
5609 mmx_nand<MMXMODEI>3, mmx_ior<MMXMODEI>3, mmx_xor<MMXMODEI>3):
5610 Macroize from existing patterns; use ix86_binary_operator_ok.
5611 (mmx_packsswb, mmx_packssdw, mmx_packuswb): Add memory alternative.
5612 (mmx_punpckhbw, mmx_punpcklbw, mmx_punpckhwd, mmx_punpcklwd,
5613 mmx_punpckhdq, mmx_punpckhdq, mmx_punpckldq): Likewise. Model
5614 with vec_select+vec_concat.
5615 (mmx_pshufw, mmx_pshufw_1): Likewise.
5616 (mmx_uavgv8qi3): Merge pavgusb. Model correcty.
5617 (mmx_uavgv4hi3): Model correctly.
5618 * config/i386/mmintrin.h (_mm_and_si64, _mm_andnot_si64, _mm_or_si64,
5619 _mm_xor_si64): Remove casts.
5620
eb0bc7af
ZD
56212005-01-09 Zdenek Dvorak <dvorakz@suse.cz>
5622
5623 PR tree-optimization/19224
5624 * tree-scalar-evolution.c (get_instantiated_value,
5625 set_instantiated_value): New functions.
5626 (instantiate_parameters_1): Cache the results.
5627 (instantiate_parameters, resolve_mixers): Initialize and free
5628 the cache.
5629
d1c9ce9f
DE
56302005-01-08 David Edelsohn <edelsohn@gnu.org>
5631
5632 * config/i386/i386.md (addhi_4): Correct reference in comment.
5633 (addqi_4): Same.
5634
ef719a44
RH
56352005-01-08 Richard Henderson <rth@redhat.com>
5636
5637 * config/i386/emmintrin.h (_mm_cvtsi128_si32): Move earlier.
5638 (_mm_cvtsi128_si64x): Likewise.
5639 (_mm_srl_epi64, _mm_srl_epi32, _mm_srl_epi16, _mm_sra_epi32,
5640 _mm_sra_epi16, _mm_sll_epi64, _mm_sll_epi32, _mm_sll_epi16): Use
5641 the _mm_{srl,sll}i_foo counterpart, and _mm_cvtsi128_si32.
5642 * config/i386/i386-modes.def: Add V16HI, V32QI, V4DF, V8SF.
5643 * config/i386/i386-protos.h: Update.
5644 * config/i386/i386.c (print_operand): Add 'H'.
5645 (ix86_fixup_binary_operands): Split out from ...
5646 (ix86_expand_binary_operator): ... here.
5647 (ix86_fixup_binary_operands_no_copy): New.
5648 (ix86_expand_fp_absneg_operator): Handle vector mode results.
5649 (bdesc_2arg): Update names for sse{,2,3}_ prefixes.
5650 (ix86_init_mmx_sse_builtins): Remove *maskncmp* special cases.
5651 (safe_vector_operand): Use CONST0_RTX.
5652 (ix86_expand_binop_builtin): Use ix86_fixup_binary_operands.
5653 (ix86_expand_builtin): Merge CODE_FOR_sse2_maskmovdqu_rex64 and
5654 CODE_FOR_sse2_maskmovdqu. Special case SSE version of MASKMOVDQU
5655 expansion. Update names for sse{,2,3}_ prefixes. Remove *maskncmp*
5656 special cases.
5657 * config/i386/i386.h (IX86_BUILTIN_CMPNGTSS): New.
5658 (IX86_BUILTIN_CMPNGESS): New.
5659 * config/i386/i386.md (UNSPEC_FIX_NOTRUNC): New.
5660 (attr type): Add sselog1.
5661 (attr unit, attr memory): Handle it.
5662 (movti, movti_internal, movti_rex64): Move near other integer moves.
5663 (movtf, movtf_internal): Move near other fp moves.
5664 (SSEMODE, SSEMODEI, vec_setv2df, vec_extractv2df, vec_initv2df,
5665 vec_setv4sf, vec_extractv4sf, vec_initv4sf, movv4sf, movv4sf_internal,
fc474307 5666 movv2df, movv2df_internal, mov<SSEMODEI>, mov<SSEMODEI>_internal,
ef719a44
RH
5667 movmisalign<SSEMODE>, sse_movups_1, sse_movmskps, sse_movntv4sf,
5668 sse_movhlps, sse_movlhps, sse_storehps, sse_loadhps, sse_storelps,
5669 sse_loadlps, sse_loadss, sse_loadss_1, sse_movss, sse_storess,
5670 sse_shufps, addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, negv4sf2,
5671 mulv4sf3, vmmulv4sf3, divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2,
5672 rsqrtv4sf2, vmrsqrtv4sf2, sqrtv4sf2, vmsqrtv4sf2, sse_andv4sf3,
fc474307
EC
5673 sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3, sse2_andv2df3,
5674 sse2_nandv2df3, sse2_iorv2df3, sse2_xorv2df3, sse2_andv2di3,
5675 sse2_nandv2di3, sse2_iorv2di3, sse2_xorv2di3, maskcmpv4sf3,
ef719a44
RH
5676 vmmaskcmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
5677 smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi,
5678 cvttps2pi, cvtsi2ss, cvtsi2ssq, cvtss2si, cvtss2siq, cvttss2si,
5679 cvttss2siq, addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3,
5680 vmmulv2df3, divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3,
5681 vmsminv2df3, sqrtv2df2, vmsqrtv2df2, maskcmpv2df3, vmmaskcmpv2df3,
5682 sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb, sse2_maskmovdqu,
5683 sse2_maskmovdqu_rex64, sse2_movntv2df, sse2_movntv2di, sse2_movntsi,
5684 cvtdq2ps, cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq,
5685 cvtpd2pi, cvttpd2pi, cvtpi2pd, cvtsd2si, cvtsd2siq, cvttsd2si,
5686 cvttsd2siq, cvtsi2sd, cvtsi2sdq, cvtsd2ss, cvtss2sd, cvtpd2ps,
5687 cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3, ssaddv16qi3,
5688 ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3, subv4si3,
5689 subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3, mulv8hi3,
5690 smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
5691 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_uavgv16qi3, sse2_uavgv8hi3,
5692 sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd, sse2_pshuflw,
fc474307 5693 sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3, gtv8hi3,
ef719a44
RH
5694 gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3, ashrv8hi3,
5695 ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3, ashlv4si3,
5696 ashlv2di3, sse2_ashlti3, sse2_lshrti3, sse2_unpckhpd, sse2_unpcklpd,
fc474307 5697 sse2_packsswb, sse2_packssdw, sse2_packuswb, sse2_punpckhbw,
ef719a44
RH
5698 sse2_punpckhwd, sse2_punpckhdq, sse2_punpcklbw, sse2_punpcklwd,
5699 sse2_punpckldq, sse2_punpcklqdq, sse2_punpckhqdq, sse2_movupd,
fc474307 5700 sse2_movdqu, sse2_movdq2q, sse2_movdq2q_rex64, sse2_movq2dq,
ef719a44
RH
5701 sse2_movq2dq_rex64, sse2_loadd, sse2_stored, sse2_storehpd,
5702 sse2_loadhpd, sse2_storelpd, sse2_loadlpd, sse2_movsd, sse2_loadsd,
5703 sse2_loadsd_1, sse2_storesd, sse2_shufpd, sse2_clflush, sse2_mfence,
5704 mfence_insn, sse2_lfence, lfence_insn, mwait, monitor, addsubv4sf3,
5705 addsubv2df3, haddv4sf3, haddv2df3, hsubv4sf3, hsubv2df3, movshdup,
5706 movsldup, lddqu, loadddup, movddup): Move to sse.md. Any with
5707 non-optabs meanings renamed with an "sse{,2,3}_" prefix at the
5708 same time.
5709 (SSEPUSH, push<SSEPUSH>): Remove.
5710 (MMXPUSH, push<MMXPUSH>): Remove.
5711 (sse_movaps, sse_movaps_1, sse_movups): Remove.
5712 (sse2_movapd, sse2_movdqa, sse2_movq): Remove.
5713 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Remove.
5714 (sse_clrv4sf, sse_clrv2df, sse2_clrti): Remove.
5715 (maskncmpv4sf3, vmmaskncmpv4sf3): Remove.
5716 (maskncmpv2df3, vmmaskncmpv2df3): Remove.
5717 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti): Remove.
5718 (lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti): Remove.
5719 * config/i386/athlon.md (athlon_sselog_load): Handle sselog1.
5720 (athlon_sselog_load_k8, athlon_sselog, athlon_sselog_k8): Likewise.
5721 * config/i386/ppro.md (ppro_sse_div_V4SF_load): Fix memory attr.
5722 (ppro_sse_log_V4SF_load): Similarly. Handle sselog1.
5723 (ppro_sse_log_V4SF): Handle sselog1.
5724 * config/i386/predicates.md (const_0_to_1_operand): New.
5725 (const_0_to_255_mul_8_operand): New.
5726 (const_1_to_31_operand): Rename from const_int_1_31_operand.
5727 (const_2_to_3_operand, const_4_to_7_operand): New.
5728 * config/i386/sse.md: New file.
5729 (SSEMODE12, SSEMODE24, SSEMODE124, SSEMODE248, ssevecsize): New.
5730 (sse_movups): Rename from sse_movups_1.
5731 (sse_loadlss): Rename from sse_loadss_1.
5732 (andv4sf3, iorv4sf3, xorv4sf3, andv2df3): Remove the sse prefix
5733 from the name.
5734 (negv4sf2): Use ix86_expand_fp_absneg_operator.
5735 (absv4sf2, negv2df, absv2df): New.
5736 (addv4sf3): Add expander to call ix86_fixup_binary_operands_no_copy.
5737 (subv4sf3, mulv4sf3, divv4sf3, smaxv4sf3, sminv4sf3, andv4sf3,
5738 iorv4sf3, xorv4sf3, addv2df3, subv2df3, mulv2df3, divv2df3,
5739 smaxv2df3, sminv2df3, andv2df3, iorv2df3, xorv2df3, mulv8hi3,
5740 umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3): Likewise.
5741 (sse3_addsubv4sf3): Model correctly.
5742 sse3_haddv4sf3, sse3_hsubv4sf3, sse3_addsubv2df3, sse3_haddv2df3,
5743 sse3_hsubv2df3, sse2_ashlti3, sse2_lshrti3): Likewise.
5744 (sse_movhlps): Model with vec_select+vec_concat.
fc474307 5745 (sse_movlhps, sse_unpckhps, sse_unpcklps, sse3_movshdup,
ef719a44
RH
5746 sse3_movsldup, sse_shufps, sse_shufps_1, sse2_unpckhpd, sse3_movddup,
5747 sse2_unpcklpd, sse2_shufpd, sse2_shufpd_1, sse2_punpckhbw,
5748 sse2_punpcklbw, sse2_punpckhwd, sse2_punpcklwd, sse2_punpckhdq,
5749 sse2_punpckldq, sse2_punpckhqdq, sse2_punpcklqdq, sse2_pshufd,
fc474307 5750 sse2_pshufd_1, sse2_pshuflw, sse2_pshuflw_1, sse2_pshufhw,
ef719a44
RH
5751 sse2_pshufhw_1): Likewise.
5752 (neg<SSEMODEI>2, one_cmpl<SSEMODEI>2): New.
5753 (add<SSEMODEI>3, sse2_ssadd<SSEMODE12>3, sse2_usadd<SSEMODE12>3,
5754 sub<SSEMODEI>3, sse2_sssub<SSEMODE12>3, sse2_ussub<SSEMODE12>3,
5755 ashr<SSEMODE24>3, lshr<SSEMODE248>3, sse2_eq<SSEMODE124>3,
5756 sse2_gt<SSEMODDE124>3, and<SSEMODEI>3, sse_nand<SSEMODEI>3,
fc474307 5757 ior<SSEMODEI>3, xor<SSEMODEI>3): Macroize from existing patterns.
ef719a44
RH
5758 (addv4sf3, sse_vmaddv4sf3, mulv4sf3, sse_vmmulv4sf3, smaxv4sf3,
5759 sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, addv2df3, sse2_vmaddv2df3,
5760 mulv2df3, sse2_vmmulv2df3, smaxv2df3, sse2_vmsmaxv2df3, sminv2df3,
5761 sse2_vmsminv2df3, umaxv16qi3, smaxv8hi3, uminv16qi3
5762 sminv8hi3): Mark commutative
5763 operands. Use ix86_binary_operator_ok.
5764 (sse_unpckhps, sse_unpcklps, sse2_packsswb, sse2_packssdw,
5765 sse2_packuswb, sse2_punpckhbw, sse2_punpcklbw, sse2_punpckhwd,
5766 sse2_punpcklwd, sse2_punpckhdq, sse2_punpckldq, sse2_punpckhqdq,
5767 sse2_punpcklqdq): Allow operand2 in memory.
5768 (sse_movhlps, sse_movlhps, sse2_unpckhpd, sse2_unpcklpd
5769 sse2_movsd): Add memory alternatives.
5770 (sse_storelps): Turn expander into an insn; split after reload.
5771 (sse_storess, sse2_loadhpd, sse2_loadlpd): Add non-xmm inputs.
5772 (sse2_storehpd, sse2_storelpd): Add non-xmm outputs.
5773
080a5bb0
EB
57742005-01-08 Eric Botcazou <ebotcazou@libertysurf.fr>
5775
5776 * configure.ac (DWARF-2 debug_line): Use objdump.
5777 * configure: Regenerate.
5778
e79b60a7
DN
57792005-01-08 Jeff Law <law@redhat.com>
5780 Diego Novillo <dnovillo@redhat.com>
5781
a6331d85 5782 PR tree-optimization/18241
e79b60a7
DN
5783 * tree-nrv.c (tree_nrv): Ignore volatile return values.
5784 * tree-ssa-dse.c (dse_optimize_stmt): Do not optimize
5785 statements with volatile operands.
5786 * tree-ssa-operands.c (add_stmt_operand): Do add volatile
5787 operands after marking a statement with has_volatile_ops.
5788
4634cf7e
RS
57892005-01-08 Roger Sayle <roger@eyesopen.com>
5790
5791 * tree.c (int_fits_type_p): Always honor integer constant
5792 TYPE_MIN_VALUE and TYPE_MAX_VALUE if they exist.
5793
88c0f1c6
RS
57942005-01-08 Roger Sayle <roger@eyesopen.com>
5795
5796 * ifcvt.c (find_if_case_1): Reinstate 2005-01-04 change, now that
5797 the latent bug in rtl_delete_block has been resolved.
5798
37e30acc
RS
57992005-01-08 Richard Sandiford <rsandifo@redhat.com>
5800
5801 * config/mips/t-iris6 (MULTILIB_DIRNAMES): Use -mabi argument values.
5802 (MULTILIB_OSDIRNAMES): Use the standard lib, lib32 and lib64.
5803
943cb1d0
RS
58042005-01-08 Richard Sandiford <rsandifo@redhat.com>
5805
5806 * config/mips/t-slibgcc-irix (SHLIB_LINK): Install a copy of the
5807 library as @multilib_dir@/$(SHLIB_SONAME).
5808
1b5c0152
EB
58092005-01-07 Eric Botcazou <ebotcazou@libertysurf.fr>
5810
5811 * configure.ac (HAVE_AS_OFFSETABLE_LO10): Fix typo.
5812 * configure: Regenerate.
5813
b827788f
JJ
58142005-01-07 Jakub Jelinek <jakub@redhat.com>
5815
5816 * c-common.c (handle_mode_attribute): For ENUMERAL_TYPE, also copy
5817 TYPE_MODE.
5818
4937d02d
DE
58192005-01-07 David Edelsohn <edelsohn@gnu.org>
5820
5821 PR target/13674
5822 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
5823 Convert non-word aligned offset address using ld/std into
5824 indirect address.
5825
db396999
RH
58262005-01-07 Richard Henderson <rth@redhat.com>
5827
5828 * config/i386/i386.md (sse_loadhps splitter): Fix operand number typo.
5829
4600cc14
RS
58302005-01-07 Richard SAndiford <rsandifo@redhat.com>
5831
5832 * tree.h (IS_EXPR_CODE_CLASS): Use a straight-forward range check.
5833
8870e212
JJ
58342005-01-07 Jakub Jelinek <jakub@redhat.com>
5835
2a0958c5
JJ
5836 PR tree-optimization/19283
5837 * fold-const.c (fold_widened_comparison): Return NULL if shorter_type
5838 is not shorter than the original type.
5839
ebc0c8bb
JJ
5840 PR rtl-optimization/19012
5841 * config/i386/i386.md (addqi_1_slp): Set memory attribute.
5842
0210ae14
JJ
5843 PR rtl-optimization/18861
5844 * cfgbuild.c (BLOCK_USED_BY_TABLEJUMP): Define.
5845 (FULL_STATE): Define.
5846 (mark_tablejump_edge): New function.
5847 (purge_dead_tablejump_edges): New function.
5848 (find_bb_boundaries): Use it.
5849
8870e212
JJ
5850 PR tree-optimization/18828
5851 * builtins.c (expand_builtin_next_arg): Remove argument and all
5852 the argument checking.
5853 (expand_builtin): Adjust caller.
5854 (expand_builtin_va_start): Likewise. Remove error for too many
5855 arguments.
5856 (fold_builtin_next_arg): Issue error for too many arguments.
5857 After checking arguments, replace them with magic arguments that
5858 prevent further checking of the args.
5859
9fb29c46
JDA
58602005-01-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5861
5862 * pa64-hpux.h (STARTFILE_SPEC): Fix typo in spec.
5863
9a3bf943
RS
58642005-01-06 Roger Sayle <roger@eyesopen.com>
5865
5866 PR target/6077
5867 * gcc.c (input_suffix_matches): Tweak the semantics of %{.s:...}
5868 and %{.S:...} (and their negative variants) to test whether the
5869 input file is assembler or pre-processed-assembler independent of
5870 the actual filename extension.
5871
c79fc296
RS
58722005-01-06 Roger Sayle <roger@eyesopen.com>
5873
5874 * simplify-rtx.c (simplify_subreg): Simplify truncations of shifts
5875 of sign or zero extended values.
5876
59d7d767
GK
58772005-01-06 Geoffrey Keating <geoffk@apple.com>
5878
5879 * c-cppbuiltin.c (builtin_define_float_constants): Set __*_EPSILON__
5880 for IBM long double format correctly.
5881
1f24dd47 58822005-01-06 Daniel Berlin <dberlin@dberlin.org>
fc474307 5883
1f24dd47
DB
5884 Fix PR tree-optimization/18792
5885
5886 * tree-data-ref.c (build_classic_dist_vector): Change first_loop
5887 to first_loop_depth, and use loop depth instead of loop number.
5888 (build_classic_dir_vector): Ditto.
5889 (compute_data_dependences_for_loop): Use depth, not loop number.
fc474307 5890 * tree-loop-linear.c (try_interchange_loops): Use loop depth, not loop
1f24dd47
DB
5891 number. Pass in loops, instead of loop numbers.
5892 (gather_interchange_stats): Ditto.
5893 (linear_transform_loops): Ditto.
5894
27916b83
RS
58952005-01-06 Richard Sandiford <rsandifo@redhat.com>
5896
5897 PR rtl-opt/13299
5898 * loop.c (get_monotonic_increment, biased_biv_fits_mode_p,
5899 biv_fits_mode_p, extension_within_bounds_p): New functions.
5900 (check_ext_dependent_givs): Use them.
5901
4ab80063
RS
59022005-01-06 Roger Sayle <roger@eyesopen.com>
5903
5904 * cfgrtl.c (rtl_delete_block): A basic block may be followed by
5905 more than one barrier, in which case we should delete them all.
5906
12d3e34b
TS
59072005-01-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
5908
5909 * gcc.c (process_command): Change year in 'gcc --version' to 2005.
5910
9acf766f 59112005-01-05 Daniel Berlin <dberlin@dberlin.org>
fc474307 5912
9acf766f
DB
5913 Fix PR middle-end/19286
5914 Fix PR debug/19267
5915 * dwarf2out.c (gen_subprogram_die): If we've already tried to
5916 output this subprogram, simply ignore this attempt to do it again.
5917 (add_abstract_origin_attribute): Don't abort trying to add the abstract
5918 origin attribute if it's not possible.
5919 (gen_block_die): Don't ignore subblocks of "unused" blocks.
5920 (decls_for_scope): Ditto.
5921 * gimple-low.c (mark_blocks_with_used_subblocks): Remove.
5922 (mark_used_blocks): Don't call mark_blocks_with_used_subblocks.
fc474307 5923
e358acde
RH
59242005-01-05 Richard Henderson <rth@redhat.com>
5925
5926 PR target/11327
5927 * config/i386/i386.c (BUILTIN_DESC_SWAP_OPERANDS): New.
5928 (bdesc_2arg): Use it.
5929 (ix86_expand_binop_builtin): Force operands into registers
5930 when optimizing.
5931 (ix86_expand_unop_builtin, ix86_expand_unop1_builtin,
fc474307 5932 ix86_expand_sse_compare, ix86_expand_sse_comi,
e358acde
RH
5933 ix86_expand_builtin): Likewise.
5934
051d8245
RH
59352005-01-05 Richard Henderson <rth@redhat.com>
5936
5937 * config/ia64/ia64.c (rtx_needs_barrier): Handle CONST_VECTOR
5938 and VEC_SELECT.
5939 * config/ia64/vect.md (mulv8qi3): Re-implement with mix_[rl].
5940 (mulv4hi3): Set itanium_class mmmul.
5941 (fpack_sfxf, fpack_xfsf, fpack_xfxf): Remove.
5942 (fpack): Rename from fpack_sfsf.
5943
19f17bb9
RH
59442005-01-05 Richard Henderson <rth@redhat.com>
5945
5946 PR rtl-opt/10692
5947 * reload1.c (do_input_reload): Restrict the optimization deleteing
5948 a previous output reload to RELOAD_FOR_INPUT.
5949
46d096a3
SB
59502005-01-05 Steven Bosscher <stevenb@suse.de>
5951
5952 * combine.c (expand_compound_operation) <ZERO_EXTRACT>: Add
5953 comment that we fall through after case.
5954 (mark_used_regs_combine): Don't expect a SIGN_EXTRACT in a SET_DEST.
5955 (distribute_links): Likewise.
5956 * cse.c (cse_insn): Likewise.
5957 * cselib.c (cselib_invalidate_mem): Likewise.
5958 * df.c: Update comments at the top of the file.
5959 (read_modify_subreg_p): Update comments here too.
5960 (df_def_record_1): Don't expect a SIGN_EXTRACT in a SET_DEST.
5961 * flow.c (mark_set_1): Likewise.
5962 (mark_used_regs): Likewise.
5963 * gcse.c (mems_conflict_for_gcse_p): Likewise.
5964 (canon_list_insert): Likewise.
5965 (mark_set): Likewise.
5966 (try_replace_reg): Likewise.
5967 (store_killed_in_insn): Likewise.
5968 * loop.c (count_one_set): Likewise.
5969 (basic_induction_var): Likewise.
5970 * postreload-gcse.c (find_mem_conflicts): Likewise.
5971 * postreload.c (reload_combine_note_store): Likewise.
5972 (move2add_note_store): Likewise.
5973 * reload.c (find_equiv_reg): Likewise.
5974 (mark_referenced_resources): Likewise.
5975 * rtlanal.c (set_noop_p): Likewise.
5976 (note_stores): Likewise.
5977 (note_uses): Likewise.
5978 * sched-deps.c (sched_analyze_1): Likewise.
5979 * sched-rgn.c (check_live_1): Likewise.
5980 (update_live_1): Likewise.
5981 * config/i860/i860.c: Likewise.
5982
5983 * rtl.dec (SIGN_EXTRACT): Document that this cannot appear as
5984 an lvalue.
5985 (ZERO_EXTRACT): Mention that this one can be an lvalue.
5986
5987 * doc/rtl.texi: Update documentation for bit-fields and SET.
5988
65a878f5
RS
59892005-01-05 Roger Sayle <roger@eyesopen.com>
5990
5991 * ifcvt.c (find_if_case_1): Revert 2005-01-04 change.
5992
d2ad2c8a
JH
59932005-01-05 Jan Hubicka <jh@suse.cz>
5994 Richard Henderson <rth@redhat.com>
5995
5996 PR target/18910
fc474307 5997 * config/i386/i386.c (ix86_expand_move): Handle tls symbols
d2ad2c8a
JH
5998 with an offset.
5999
2cdb3148
RH
60002005-01-05 Richard Henderson <rth@redhat.com>
6001
6002 PR target/12902
6003 * config/i386/i386.md (sse_movhps, sse_movlps): Remove.
6004 (sse_shufps): Change operand 3 to const_int_operand.
6005 (sse2_storelps): Fix typo in template.
6006 (sse_storehps, sse_loadhps, sse_storelps, sse_loadlps): New.
6007 * config/i386/i386.c (ix86_expand_vector_move_misalign): Use them.
6008 (ix86_expand_builtin): Likewise.
6009
60102005-01-05 Julian Brown <julian@codesourcery.com>
3dd7ab65
JB
6011
6012 * config/arm/arm.c (arm_return_in_memory): Treat complex types
6013 as aggregates for AAPCS ABIs.
6014
59d8fe27
SS
60152005-01-05 Stan Shebs <shebs@apple.com>
6016
6017 * unwind-dw2-fde-darwin.c (examine_objects): Use 64-bit
6018 Mach-O getters if ppc64.
6019 * config/darwin.c (darwin_asm_output_dwarf_delta): Obey
6020 size argument.
6021 * config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
6022 signed four-byte field for global code case.
6023 (STARTFILE_SPEC): Avoid crt2.o for 64-bit compilation.
6024
010c4d9c
RS
60252005-01-05 Roger Sayle <roger@eyesopen.com>
6026
6027 PR middle-end/19100
6028 * c-common.c: Include real.h.
6029 (c_common_truthvalue_conversion): Avoid destructively modifying expr.
6030 Correctly handle TREE_CONSTANT_OVERFLOW for INTEGER_CST.
6031 Correctly handle TREE_CONSTANT_OVERFLOW and NaNs for REAL_CST.
6032 * Makefile.in (c-common.o): Update dependencies.
6033
9368fb8f
JM
60342005-01-05 Joseph S. Myers <joseph@codesourcery.com>
6035
6036 * c-parse.in (asm_string): Add trailing semicolon.
6037
9143de5c
JM
60382005-01-05 Joseph S. Myers <joseph@codesourcery.com>
6039
6040 * c-parse.in (asm_string): New. Don't allow wide strings in
6041 'asm'.
6042 (simple_asm_expr, asm_argument, asm_operand, asm_clobbers): Use
6043 asm_string instead of STRING.
6044
0953878d
JM
60452005-01-05 Joseph S. Myers <joseph@codesourcery.com>
6046
6047 * c-typeck.c (constructor_no_implicit): Remove.
6048 (set_designator, process_init_element): Don't check
6049 constructor_no_implicit.
6050
cf99f196
R
60512005-01-05 J"orn Rennecke <joern.rennecke@st.com>
6052 Kaz Kojima <kkojima@gcc.gnu.org>
6053
6054 PR target/16482
6055 * lcm.c (create_pre_exit): New.
6056 (optimize_mode_switching): In MODE_ENTRY / MODE_EXIT case, set
6057 ENTRY_EXIT_EXTRA to 3. Use create_pre_exit.
6058
712ecf4d
RE
60592004-01-05 Richard Earnshaw <rearnsha@arm.com>
6060
6061 * arm.h (TARGET_OPTIONS): Correctly record -mhard-float and
6062 -msoft-float in target_float_switch.
6063 * arm.c (arm_override_options): Fix processing of target_float_switch.
6064
082cca25
RE
60652004-01-05 Richard Earnshaw <rearnsha@arm.com>
6066
6067 * arm/vfp.md (arm_movsi_vfp): Hide VFP register classes from register
6068 preferencing.
6069
c2b43d7a
UB
60702004-01-05 Uros Bizjak <uros@kss-loka.si>
6071
6072 * doc/invoke.texi (Intel 386 and AMD x86-64 Options):
ead553a1 6073 Replace i387 with 'i386 compiler' in -mfpmath=sse option.
c2b43d7a 6074
e82f5749
RS
60752005-01-04 Roger Sayle <roger@eyesopen.com>
6076
6077 * ifcvt.c (find_if_case_1): Avoid creating an empty forwarder block,
6078 if deleting the then-block allows the test-block to fallthru to the
6079 else-block.
6080
f8f5c4b3
AP
60812005-01-04 Andrew Pinski <pinskia@physics.uc.edu>
6082
6083 PR c/19152
6084 * c-decl.c (diagnose_mismatched_decls): Accept "extern inline" declared
6085 after the full declaration if the are in two different TUs.
6086
60872005-01-04 Richard Henderson <rth@redhat.com>
fa588429
RH
6088
6089 PR tree-opt/19158
6090 * tree-sra.c (generate_one_element_init): Just
6091 call gimplify_and_add.
6092 (generate_element_init): Record the
6093 new referenced variables and mark them for renaming
6094 and split out to ...
6095 (generate_element_init_1): This.
6096 (scalarize_init): Don't call push_gimplify_context/
6097 pop_gimplify_context.
6098
5f0c48ed
GK
60992005-01-04 Geoffrey Keating <geoffk@apple.com>
6100
6101 * toplev.c (get_src_pwd): Handle failure of getpwd().
6102
e3523f56
RS
61032005-01-04 Roger Sayle <roger@eyesopen.com>
6104
6105 * fold-const.c (fold_single_bit_test): Delete unreachable handling
6106 of TRUTH_NOT_EXPR.
6107 (fold): Don't call fold_single_bit_test with a TRUTH_NOT_EXPR, as
6108 all the cases handled by it are inverted by invert_truthvalue.
6109
9746bb27
EB
61102005-01-04 Eric Botcazou <ebotcazou@libertysurf.fr>
6111
6112 * config/sparc/sparc.md (save_register_windowdi): Add missing mode.
6113 (save_register_windowsi): Likewise.
6114
bfee926b
RH
61152005-01-04 Richard Henderson <rth@redhat.com>
6116
6117 * tree-mudflap.c (mf_varname_tree): Fix thinko setting declname.
6118
21e5076a
UB
61192005-01-04 Uros Bizjak <uros@kss-loka.si>
6120
6121 PR middle-end/17767
6122 * cse.c (fold_rtx) [RTX_COMPARE, RTX_COMM_COMPARE]: Don't attempt
6123 any simplifications of vector mode comparison operators.
6124 * simplify-rtx.c (simplify_relational_operation): Fix variable name.
6125
8ea9d0c7
PB
61262005-01-04 Paolo Bonzini <bonzini@gnu.org>
6127 Devang Patel <dpatel@apple.com>
6128
6129 PR tree-optimization/18308
8ea9d0c7
PB
6130 * tree-if-conv.c (add_to_dst_predicate_list): Gimplify
6131 the operands before creating a new expression.
6132 * dojump.c (do_jump): Make drop_through_label available
6133 for all cases. Add expansion of COND_EXPR.
6134
8c427b58
IR
61352005-01-04 Ira Rosen <irar@il.ibm.com>
6136
6137 * tree-vectorizer.c (vect_analyze_offset_expr): Test for
6138 INTEGER_CST instead of TREE_CONSTANT.
6139 (vect_gen_niters_for_prolog_loop): Test for INTEGER_CST
6140 instead of TREE_CONSTANT.
6141 (vect_analyze_pointer_ref_access): Test for INTEGER_CST
6142 instead of TREE_CONSTANT.
6143
8287d24a
EB
61442005-01-04 Eric Botcazou <ebotcazou@libertysurf.fr>
6145
6146 * tree-eh.c (replace_goto_queue): Return early if the queue is empty.
6147
9e4ae64b
UB
61482005-01-04 Uros Bizjak <uros@kss-loka.si>
6149
6150 PR target/19240
6151 * config/i386/i386.md (*fop_df_1_i387): Disable for TARGET_SSE_MATH.
6152 (*fop_df_1_i387): Disable for (TARGET_SSE2 && TARGET_SSE_MATH).
6153
c756af79
RH
61542005-01-03 Richard Henderson <rth@redhat.com>
6155
6156 * fold-const.c (force_fit_type): Cope with types larger than 2 HWI.
6157 (fold_convert_const_int_from_int, fold_convert_const_int_from_real,
6158 fold_convert_const_real_from_real): Split out from ...
6159 (fold_convert_const): ... here.
6160
d30c9461
RH
61612005-01-03 Richard Henderson <rth@redhat.com>
6162
6163 PR target/19235
6164 * config/i386/i386.md (movdi_2): Separate SSE1 and SSE2 alternatives.
6165 (mov<MMXMODEI>_internal): Likewise.
6166 (movdf_nointeger): Prefer Y while not preferring, but allowing, x.
6167 Add V2SF case; use it for SSE1; don't use TI.
6168 (movdf_integer): Likewise.
6169 (mov<SSEMODEI>_internal, movti_internal): Force V4SF for SSE1.
6170
7d23434b
IR
61712005-01-03 Ira Rosen <irar@il.ibm.com>
6172
6173 * tree-vectorizer.c (vect_strip_conversions): New function.
6174 (vect_analyze_offset_expr): Call vect_strip_conversions. Add
fc474307 6175 check for binary class.
7d23434b 6176
1eb3331e
DB
61772005-01-03 Daniel Berlin <dberlin@dberlin.org>
6178
6179 Fix PR debug/17924
6180 Fix PR debug/19191
6181 * dwarf2out.c (block_ultimate_origin): Follow decl origin if origin
6182 is a decl.
6183 * gimple-low.c (mark_blocks_with_used_vars): New function.
6184 (mark_blocks_with_used_subblocks): Ditto.
6185 (mark_used_blocks): Ditto.
6186 (pass_mark_used_blocks): New pass.
6187 * tree-inline.c: Include debug.h.
6188 (expand_call_inline): Call outlining_inline_function here.
6189 * tree-optimize.c (init_tree_optimization_passes): Add
fc474307 6190 pass_mark_used_blocks.
1eb3331e
DB
6191 * tree-pass.h (pass_mark_used_blocks): New.
6192 * Makefile.in (tree-inline.o): Add debug.h dependency.
6193
a035080c
GK
61942005-01-03 Geoffrey Keating <geoffk@apple.com>
6195
d7001ae5
GK
6196 * config/darwin.c (darwin_handle_weak_import_attribute): Permit
6197 VAR_DECLs to have weak_import attribute.
6198
a035080c
GK
6199 * config/rs6000/darwin-fallback.c: Use 'ucontext_t' rather than
6200 'struct ucontext'.
6201
1ab219d3
SB
62022004-01-03 Steven Bosscher <stevenb@suse.de>
6203
6204 * passes.c (rest_of_compilation): Don't run regmove if only
6205 flag_expensive_optimizations, require flag_regmove instead.
6206
e6abef61
EB
62072005-01-03 Eric Botcazou <ebotcazou@libertysurf.fr>
6208
6209 * config/sparc/litecoff.h (TARGET_OS_CPP_BUILTINS): Do not
6210 register "sparc".
6211 * config/sparc/sysv4-only.h (TARGET_OS_CPP_BUILTINS): Likewise.
6212 * config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
6213 * config/sparc/sol2-64.h (TARGET_SUB_OS_CPP_BUILTINS): Delete.
6214 * config/sparc/sp64-elf.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
6215
f61134e8
RH
62162005-01-03 Richard Henderson <rth@redhat.com>
6217
6218 * config/ia64/ia64.c (TARGET_VECTOR_MODE_SUPPORTED_P): New.
6219 (ia64_const_ok_for_letter_p): New.
6220 (ia64_const_double_ok_for_letter_p): New.
6221 (ia64_extra_constraint): New.
6222 (ia64_expand_vecint_compare): New.
6223 (ia64_expand_vcondu_v2si): New.
6224 (ia64_expand_vecint_cmov): New.
6225 (ia64_expand_vecint_minmax): New.
6226 (ia64_print_operand): Add 'v'.
6227 (ia64_preferred_reload_class): New.
6228 (ia64_vector_mode_supported_p): New.
6229 * config/ia64/ia64.h (UNITS_PER_SIMD_WORD): New.
6230 (PREFERRED_RELOAD_CLASS): Move to function.
6231 (CONST_OK_FOR_LETTER_P): Move to function.
6232 (CONST_DOUBLE_OK_FOR_LETTER_P): Move to function.
6233 (CONSTRAINT_OK_FOR_Q, CONSTRAINT_OK_FOR_R): Remove.
6234 (CONSTRAINT_OK_FOR_S, CONSTRAINT_OK_FOR_T): Remove.
6235 (EXTRA_CONSTRAINT): Move to function.
6236 * config/ia64/ia64.md: Include vect.md.
6237 (itanium_class): Add mmalua.
6238 (type): Handle it.
6239 * config/ia64/itanium1.md (1_mmalua): New. Add it to bypasses.
6240 (1b_mmalua): New.
6241 * config/ia64/itanium2.md (2_mmalua, 2b_mmalua): Similarly.
6242 * config/ia64/predicates.md (gr_reg_or_0_operand): Accept any
6243 CONST0_RTX.
6244 (const_int_2bit_operand): New.
6245 (fr_reg_or_0_operand): New.
6246 * config/ia64/ia64-modes.def: Add vector modes.
6247 * config/ia64/ia64-protos.h: Update.
6248 * config/ia64/vect.md: New file.
6249
3198b947
RH
62502005-01-03 Richard Henderson <rth@redhat.com>
6251
6252 * simplify-rtx.c (simplify_binary_operation): Handle VEC_CONCAT.
6253
088df4c2
UB
62542005-01-03 Uros Bizjak <uros@kss-loka.si>
6255
6256 PR target/19236
6257 * config/i386/i386.c (log1psf2): Change mode of operands[0,1]
6258 to SFmode.
6259 (log1pdf2): Change mode of operands[0,1] to DFmode.
6260
548a6c4f
EB
62612005-01-03 Eric Botcazou <ebotcazou@libertysurf.fr>
6262
6263 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Define to false.
6264 * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Define to true.
6265 * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
6266 * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define to
6267 SPARC_RELAXED_ORDERING.
6268
0703dceb
RH
62692005-01-03 Richard Henderson <rth@redhat.com>
6270 Uros Bizjak <uros@kss-loka.si>
6271
6272 PR target/14631
6273 * config/i386/i386.c (ix86_expand_builtin): [IX86_BUILTIN_PINSRW,
6274 IX86_BUILTIN_PINSRW128]: Fix wrong selector range in error message.
6275 * config/i386/i386.md (mmx_pinsrw, sse2_pinsrw): Fix selector
6276 handling.
6277 (*mmx_pinsrw, *sse2_pinsrw): New patterns.
6278 * config/i386/i386/predicates.md (const_pow2_1_to_8_operand,
6279 const_pow2_1_to_128_operand): New predicates.
6280
97236777
GM
62812005-01-02 Greg McGary <greg@mcgary.org>
6282
6283 * tree-mudflap.c (mf_varname_tree): decl_printable_name handles
6284 anonymous decls.
6285 (mf_xform_derefs_1) [RESULT_DECL, STRING_CST]: Handle as innermost
6286 object. [ptr_type]: Remove unused variable.
6287 Remember nearest addressable array-element or record-component
6288 when checking bitfield components. Tolerate empty BIND_EXPR.
6289
155a8213
RH
62902005-01-01 Richard Henderson <rth@redhat.com>
6291
6292 * tree-vectorizer.c (vect_analyze_offset_expr): Strip conversions
6293 that don't narrow the value. Fail for other conversions.
6294
bedb9fc0
RH
62952005-01-01 Richard Henderson <rth@redhat.com>
6296
6297 PR c/19031
6298 * c-decl.c (pop_file_scope): Call maybe_apply_pending_pragma_weaks.
6299 * c-lang.c (finish_file): Don't do it here.
6300 * objc/objc-act.c (objc_finish_file): Likewise.
6301
6302 * cgraph.c (decl_assembler_name_equal): New.
6303 (cgraph_node_for_asm, cgraph_varpool_node_for_asm): New.
6304 (cgraph_varpool_node): Actually link up cgraph_varpool_nodes.
6305 * cgraph.h (struct cgraph_varpool_node): Add next.
6306 (cgraph_node_for_asm, cgraph_varpool_node_for_asm): Declare.
6307 * varasm.c (assemble_alias): Mark the target as needed.
6308
1cb2fc7b
AP
63092005-01-01 Andrew Pinski <pinskia@physics.uc.edu>
6310
6311 PR middle-end/19221
6312 * function.c (get_arg_pointer_save_area): Use entry_of_function
6313 instead of get_insns.
6314
0ca5fbc0
RS
63152005-01-01 Roger Sayle <roger@eyesopen.com>
6316 Andrew Pinski <pinskia@physics.uc.edu>
6317 James E. Wilson <wilson@specifixinc.com>
6318
6319 PR rtl-optimization/12092
6320 * loop.c (emit_prefetch_instructions): Do nothing if PREFETCH_BLOCK
6321 is zero.
6322
91c537b7
RS
63232005-01-01 Roger Sayle <roger@eyesopen.com>
6324 Olivier Hainque <hainque@act-europe.fr>
6325
6326 * tree.c (int_fits_type_p): A narrower type always fits in a
6327 wider one, except for negative values into unsigned types.
6328
69618c49
RS
63292005-01-01 Roger Sayle <roger@eyesopen.com>
6330
6331 * tree.c (int_fits_type_p): Compare the result of force_fit_type
6332 with the original constant rather than require TREE_OVERFLOW.
6333
43e05e45
SB
63342005-01-01 Steven Bosscher <stevenb@suse.de>
6335
6336 PR middle-end/17544
6337 * c-decl.c (finish_function): If compiling C99, annotate the
6338 compiler generated return with the current file name and line 0.
6339 * tree-cfg.c (remove_useless_stmts_warn_notreached): Only warn if
6340 the source line is greater than 0.
6341 (remove_bb): Likewise.
6342
7a4515d7 6343See ChangeLog.12 for earlier changes.
This page took 0.839315 seconds and 5 git commands to generate.