]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ChangeLog
typeck.c (composite_pointer_type_r): Add SFINAE support.
[thirdparty/gcc.git] / gcc / ChangeLog
1 2008-03-25 Douglas Gregor <doug.gregor@gmail.com>
2
3 * c-common.c (c_sizeof_or_alignof_type): If we're not allowed to
4 complain when we hit an error, return ERROR_MARK_NODE.
5
6 2008-03-25 Naveen.H.S <naveen.hs@kpitcummins.com>
7
8 * config/sh/constraints.md (Pso, Psz): New constraints.
9 * config/sh/sh.c (print_operand): Add %V and %W operand codes.
10 * config/sh/sh.md (*andsi3_bclr, *iorsi3_bset): New insns.
11
12 2008-03-25 Naveen.H.S <naveen.hs@kpitcummins.com>
13
14 * config/sh/sh.c (sh_expand_t_scc): Emit movrt for SH2A if
15 possible.
16 * config/sh/sh.md (xorsi3_movrt, movrt): New insns.
17
18 2008-03-25 Naveen.H.S <naveen.hs@kpitcummins.com>
19
20 * config/sh/sh.md (prefetch): Add condition for SH2A target.
21 (prefetch_sh2a): New.
22
23 2008-03-25 Jayant Sonar <Jayant.sonar@kpitcummins.com>
24 Naveen.H.S <naveen.hs@kpitcummins.com>
25
26 * config/sh/constraints.md (I28): New constraint.
27 * config/sh/sh.c (broken_move): Add support for movi20s.
28 * config/sh/sh.md (movsi_ie): Add the alternative for
29 movi20s.
30
31 2008-03-25 Anil Paranjape <anil.paranjape@kpitcummins.com>
32 Jayant Sonar <Jayant.sonar@kpitcummins.com>
33 Naveen.H.S <naveen.hs@kpitcummins.com>
34
35 * config/sh/sh.c (SH_ATTRIBUTES): Define.
36 (SYMBOL_FLAG_FUNCVEC_FUNCTION): Define.
37 (print_operand): Handle resbank in %@ operand code.
38 (sh_encode_section_info): New.
39 (push_regs): Add conditions for resbank.
40 (sh_expand_epilogue): Likewise.
41 (sh_insert_attributes): Likewise.
42 (sh_attribute_table): Likewise.
43 (sh_handle_resbank_handler_attribute): New.
44 (sh2a_handle_function_vector_handler_attribute): New.
45 (sh2a_is_function_vector_call): New.
46 (sh2a_get_function_vector_number): New.
47 (sh2a_function_vector_p): New.
48 (sh_cfun_resbank_handler_p): New.
49 * config/sh/sh.md (calli): Emit jsr/n if possible.
50 (calli_tbr_rel): New.
51 (calli_pcrel): Emit jsr/n if possible.
52 (return_i): Emit rts/n if possible.
53 (call_valuei_tbr_rel): New.
54 (call_valuei_pcrel): Add condition for SH2A target.
55 (call_value): Likewise.
56 * config/sh/sh-protos.h (sh_cfun_resbank_handler_p): Declare.
57 (sh2a_get_function_vector_number): Likewise.
58 (sh2a_is_function_vector_call): Likewise.
59 * doc/extend.texi: Document TBR relative addressing of SH2A.
60 (resbank): Add description for SH2A.
61
62 2008-03-24 Richard Guenther <rguenther@suse.de>
63
64 PR c/22371
65 * gimplify.c (gimplify_modify_expr): For frontend type-correct
66 pointer assignments change conversions according to middle-end rules.
67 (gimplify_modify_expr_rhs): Deal with NULL TARGET_EXPR_INITIAL.
68 * configure.ac: Include type checking in yes.
69 * configure: Regenerate.
70
71 2008-03-24 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
72
73 * diagnostic.c (diagnostic_count_diagnostic): Delete.
74 (diagnostic_report_diagnostic): Update. Handle ICEs here.
75
76 2008-03-24 Nathan Sidwell <nathan@codesourcery.com>
77
78 * gthr-vxworks.h (UNUSED): Define.
79
80 2008-03-23 H.J. Lu <hongjiu.lu@intel.com>
81
82 * config/i386/i386.h (STATIC_CHAIN_REGNUM): Use R10_REG and
83 CX_REG.
84
85 2008-03-23 Zuxy Meng <zuxy.meng@gmail.com>
86
87 * doc/extend.texi (Function Attributes): Add missing comma in the
88 example of the "alloc_size" attribute.
89
90 2008-03-23 Uros Bizjak <ubizjak@gmail.com>
91
92 Revert:
93 2008-03-05 H.J. Lu <hongjiu.lu@intel.com>
94
95 * config/i386/i386-modes.def: Use 4 byte alignment on DI for
96 32bit host.
97
98 2008-03-19 Uros Bizjak <ubizjak@gmail.com>
99
100 PR target/35496
101 * stor-layout.c (update_alignment_for_field): Set minimum alignment
102 of the underlying type of a MS bitfield layout to the natural
103 alignment of the type.
104
105 2008-03-22 Uros Bizjak <ubizjak@gmail.com>
106
107 * config/i386/i386.c (assign_386_stack_local): Align DImode slots
108 to their natural alignment to avoid store forwarding stalls.
109
110 2008-03-22 Richard Guenther <rguenther@suse.de>
111
112 * tree-cfg.c (verify_expr): Recurse again for invariant addresses.
113 For PHI nodes verify the address is invariant.
114 * tree-ssa-ccp.c (ccp_decl_initial_min_invariant): Remove.
115 (get_symbol_constant_value): Use is_gimple_min_invariant.
116 (maybe_fold_stmt_indirect): Likewise.
117
118 2008-03-22 Richard Sandiford <rsandifo@nildram.co.uk>
119
120 PR rtl-optimization/33927
121 * Makefile.in (dse.o): Depend on $(TM_P_H).
122 * expr.h (extract_low_bits): Declare.
123 * expmed.c (extract_low_bits): New function.
124 * rtlhooks.c (gen_lowpart_general): Generalize SUBREG handling.
125 * dse.c: Include tm_p.h.
126 (find_shift_sequence): Remove the read_reg argument and return the
127 read value. Emit the instructions instead of returning them.
128 Iterate on new_mode rather than calculating it each time.
129 Check MODES_TIEABLE_P. Use simplify_gen_subreg to convert the
130 source to NEW_MODE and extract_low_bits to convert the shifted
131 value to READ_MODE.
132 (replace_read): Allow the load and store to have different mode
133 classes. Use extract_low_bits when SHIFT == 0. Create the shift
134 or extraction instructions before trying the replacement. Update
135 dump-file code accordingly, avoiding use of REGNO (store_info->rhs).
136
137 2008-03-22 Uros Bizjak <ubizjak@gmail.com>
138
139 * config/i386/i386.c (assign_386_stack_local): Align DImode slots
140 to their natural alignment to avoid store forwarding stalls.
141
142 2008-03-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
143
144 PR target/27946
145 * config/rs6000/rs6000.md (floatdidf2): Discouraging fprs and
146 encouraging but not allowing gprs for input;
147 change the input constraint to !f#r.
148 (fix_truncdfdi2): Discouraging fprs and encouraging but not allowing
149 gprs for output;
150 change the output constraint to !f#r.
151
152 2008-03-21 Uros Bizjak <ubizjak@gmail.com>
153
154 PR target/13958
155 * config/i386/i386.md ("*floatunssi<mode2>_1"): New pattern with
156 corresponding post-reload splitters.
157 ("floatunssi<mode>2"): Expand to unsigned_float x87 insn pattern
158 when x87 FP math is selected.
159 * config/i386/i386-protos.h (ix86_expand_convert_uns_sixf_sse):
160 New function prototype.
161 * config/i386/i386.c (ix86_expand_convert_uns_sixf_sse): New
162 unreachable function to ease macroization of insn patterns.
163
164 2008-03-21 Martin Jambor <mjambor@suse.cz>
165
166 * tree-data-ref.c (dump_data_dependence_relation): Avoid data
167 reference dumps if ddr is NULL or dependence is unknown.
168
169 2008-03-20 Kaz Kojima <kkojima@gcc.gnu.org>
170
171 * config/sh/linux-atomic.asm (ATOMIC_TEST_AND_SET): Take
172 unsigned extension into account.
173 (ATOMIC_COMPARE_AND_SWAP): Likewise.
174 (ATOMIC_FETCH_AND_OP, ATOMIC_FETCH_AND_COMBOP): Likewise.
175 Do computations on a scratch register.
176
177 2008-03-21 Richard Guenther <rguenther@suse.de>
178
179 * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
180 Use is_gimple_min_invariant instead of TREE_INVARIANT.
181 * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Likewise.
182 * tree-ssa-dom.c (record_equality): Likewise.
183 * tree-inline.c (copy_body_r): Likewise.
184 * tree-ssa-pre.c (make_values_for_stmt): Remove test for
185 TREE_INVARIANT.
186
187 2008-03-20 Kaz Kojima <kkojima@gcc.gnu.org>
188
189 * config/sh/sh.c (split_branches): Pass zero to redirect_jump
190 as 'delete_unused' argument.
191
192 2008-03-20 Richard Guenther <rguenther@suse.de>
193
194 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Remove
195 special casing of constant qualifiers.
196 * tree-ssa.c (useless_type_conversion_p_1): Instead do not
197 care about them in general.
198 * tree-ssa-ccp.c (ccp_fold): Addresses are constant or not
199 regardless of their type.
200 (fold_stmt_r): Forcefully fold *& if we end up with that.
201
202 2008-03-20 Paul Brook <paul@codesourcery.com>
203
204 * config.gcc (arm*-*-uclinux*): Remove duplicate arm/uclinux-elf.h.
205 * config/arm/uclinux-eabi.h (SUBTARGET_EXTRA_LINK_SPEC): Add extra
206 linker flags.
207 * config/arm/bpabi.h (SUBTARGET_EXTRA_LINK_SPEC): Provide default
208 definition.
209 (LINK_SPEC): Use SUBTARGET_EXTRA_LINK_SPEC.
210 * config/arm/unwind-arm.h (_Unwind_decode_target2): Add uClinux.
211
212 2008-03-20 Volker Reichelt <v.reichelt@netcologne.de>
213
214 * common.opt (Wmudflap): New option.
215 * tree-mudflap.c (mf_xform_derefs_1): Guard warning by OPT_Wmudflap.
216 (mx_register_decls): Likewise.
217 (mudflap_finish_file): Likewise.
218 * doc/invoke.texi: Document -Wno-mudflap.
219
220 2008-03-20 Kai Tietz <kai.tietz@onevision.com>
221
222 * c-format.c (replace_format_name_to_system_name): New.
223 (cmp_attribs): New.
224 (convert_format_name_to_system_name): New.
225 (decode_format_attr): Add use of convert_format_name_to_system_name.
226 (format_types_orig): Add gnu_ prefix to names.
227 (check_format_info_main): Special treating of \0 escaped names for
228 supporting multi-character format specifiers as I32, I64.
229 (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Use of user defined attributes.
230 (gnu_target_overrides_format_attributes): New.
231 * c-format.h: Add structure target_ovr_attr to hold
232 system specific formatter names.
233 * config.gcc: Add for x86&x86_64 cygwin and mingw32 targets the
234 msformat-c.o file to c_target_objs and cxx_target_objs.
235 * config/i386/mingw32.h (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): New.
236 (TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT): New.
237 (TARGET_N_FORMAT_TYPES): New.
238 * config/i386/msformat-c.c: New.
239 * config/i386/t-cygming: Add build rule for msformat-c.o.
240 * doc/extend.texi: Add new format names gnu_* and ms_* and
241 further details.
242 * doc/tm.texi: (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): New.
243
244 2008-03-20 Ira Rosen <irar@il.ibm.com>
245
246 * doc/invoke.texi (-O3): Add -ftree-vectorize to the list of
247 optimizations turned on under -O3.
248 (ftree-vectorize): Add that the flag is turned on with -O3.
249
250 2008-03-20 Ben Elliston <bje@au.ibm.com>
251
252 * regmove.c (try_auto_increment): Fix spelling error in comment.
253 * final.c (final_scan_insn): Likewise.
254
255 2008-03-20 Uros Bizjak <ubizjak@gmail.com>
256
257 PR target/14552
258 * config/i386/mmx.md (*mov<mode>_internal_rex64"): Adjust register
259 allocator preferences for "y" and "r" class registers.
260 ("*mov<mode>_internal"): Ditto.
261 ("*movv2sf_internal_rex64"): Ditto.
262 ("*movv2sf_internal"): Ditto.
263
264 2008-03-19 Michael Matz <matz@suse.de>
265
266 PR middle-end/35616
267 * calls.c (expand_call): Check overlap of arguments with call
268 address for sibcalls.
269
270 2008-03-19 Uros Bizjak <ubizjak@gmail.com>
271
272 PR target/35496
273 * stor-layout.c (update_alignment_for_field): Set minimum alignment
274 of the underlying type of a MS bitfield layout to the natural
275 alignment of the type.
276
277 2008-03-19 Jan Hubicka <jh@suse.cz>
278
279 PR other/35094
280 * toplev.c (decode_d_option): Handle all CPP flags.
281 * tree-vrp.c: Update tree_pass descriptors.
282 * regrename.c: Update tree_pass descriptors.
283 * fwprop.c: Update tree_pass descriptors.
284 * doc/invoke.texi: Remove documentation of dropped -d? flags.
285 * tree-into-ssa.c: Update tree_pass descriptors.
286 * tree-dump.c: Update tree_pass descriptors.
287 * tree-complex.c: Update tree_pass descriptors.
288 * tree-dump.h: Update tree_pass descriptors.
289 * see.c: Update tree_pass descriptors.
290 * cgraphbuild.c: Update tree_pass descriptors.
291 * tracer.c: Update tree_pass descriptors.
292 * tree-loop-distribution.c: Update tree_pass descriptors.
293 * cgraph.c: Update tree_pass descriptors.
294 * postreload-gcse.c: Update tree_pass descriptors.
295 * postreload.c: Update tree_pass descriptors.
296 * tree-ssa-loop-ch.c: Update tree_pass descriptors.
297 * tree-tailcall.c: Update tree_pass descriptors.
298 * tree-pass.h (tree_opt_pass): Rename to ...
299 (opt_pass) ... this one; add "type" field and remove letter field.
300 (gimple_opt_pass, rtl_opt_pass, simple_ipa_opt_pass): New.
301 (execute_pass_list, execute_ipa_pass_list, all_passes, all_ipa_passes,
302 all_lowering_passes): Update declaration.
303 * ipa-cp.c: Update tree_pass descriptors.
304 * final.c: Update tree_pass descriptors.
305 * omp-low.c: Update tree_pass descriptors.
306 * tree-ssa-dse.c: Update tree_pass descriptors.
307 * ipa-reference.c: Update tree_pass descriptors.
308 * tree-ssa-uncprop.c: Update tree_pass descriptors.
309 * auto-inc-dec.c: Update tree_pass descriptors.
310 * reorg.c: Update tree_pass descriptors.
311 * cgraphunit.c: Update tree_pass descriptors.
312 * tree-ssa-copyrename.c: Update tree_pass descriptors.
313 * tree-ssa-ccp.c: Update tree_pass descriptors.
314 * df-core.c: Update tree_pass descriptors.
315 * mode-switching.c: Update tree_pass descriptors.
316 * tree-nomudflap.c: Update tree_pass descriptors.
317 * modulo-sched.c: Update tree_pass descriptors.
318 * ipa-pure-const.c: Update tree_pass descriptors.
319 * cse.c: Update tree_pass descriptors.
320 * web.c: Update tree_pass descriptors.
321 * tree-stdarg.c: Update tree_pass descriptors.
322 * tree-ssa-math-opts.c: Update tree_pass descriptors.
323 * tree-ssa-dom.c: Update tree_pass descriptors.
324 * tree-nrv.c: Update tree_pass descriptors.
325 * tree-ssa-alias.c: Update tree_pass descriptors.
326 * loop-init.c: Update tree_pass descriptors.
327 * gimple-low.c: Update tree_pass descriptors.
328 * ipa-inline.c: Update tree_pass descriptors.
329 * tree-ssa-sink.c: Update tree_pass descriptors.
330 * global.c: Update tree_pass descriptors.
331 * ifcvt.c: Update tree_pass descriptors.
332 * jump.c: Update tree_pass descriptors.
333 * predict.c: Update tree_pass descriptors.
334 * tree-ssa-loop.c: Update tree_pass descriptors.
335 * recog.c: Update tree_pass descriptors.
336 * dse.c: Update tree_pass descriptors.
337 * tree-ssa-ifcombine.c: Update tree_pass descriptors.
338 * tree-eh.c: Update tree_pass descriptors.
339 * regmove.c: Update tree_pass descriptors.
340 * local-alloc.c
341 * function.c: Update tree_pass descriptors.
342 * tree-vectorizer.c: Update tree_pass descriptors.
343 * gcse.c: Update tree_pass descriptors.
344 * ipa-type-escape.c: Update tree_pass descriptors.
345 * tree-if-conv.c: Update tree_pass descriptors.
346 * init-regs.c: Update tree_pass descriptors.
347 * ipa.c: Update tree_pass descriptors.
348 * tree-ssa-phiopt.c: Update tree_pass descriptors.
349 * rtl-factoring.c: Update tree_pass descriptors.
350 * lower-subreg.c: Update tree_pass descriptors.
351 * bt-load.c: Update tree_pass descriptors.
352 * tree-dfa.c: Update tree_pass descriptors.
353 * except.c: Update tree_pass descriptors.
354 * emit-rtl.c: Update tree_pass descriptors.
355 * cfgexpand.c: Update tree_pass descriptors.
356 * tree-cfgcleanup.c: Update tree_pass descriptors.
357 * cfgcleanup.c: Update tree_pass descriptors.
358 * tree-ssa-pre.c: Update tree_pass descriptors.
359 * tree-sra.c: Update tree_pass descriptors.
360 * tree-mudflap.c: Update tree_pass descriptors.
361 * tree-ssa-copy.c: Update tree_pass descriptors.
362 * cfglayout.c: Update tree_pass descriptors.
363 * tree-ssa-forwprop.c: Update tree_pass descriptors.
364 * tree-ssa-dce.c: Update tree_pass descriptors.
365 * tree-ssa.c: Update tree_pass descriptors.
366 * regclass.c: Update tree_pass descriptors.
367 * integrate.c: Update tree_pass descriptors.
368 * tree-optimize.c: Update tree_pass descriptors.
369 * tree-ssa-phiprop.c: Update tree_pass descriptors.
370 * tree-object-size.c: Update tree_pass descriptors.
371 * combine.c: Update tree_pass descriptors.
372 * tree-outof-ssa.c: Update tree_pass descriptors.
373 * bb-reorder.c: Update tree_pass descriptors.
374 * stack-ptr-mod.c: Update tree_pass descriptors.
375 * var-tracking.c: Update tree_pass descriptors.
376 * tree-profile.c: Update tree_pass descriptors.
377 * tree-vect-generic.c: Update tree_pass descriptors.
378 * reg-stack.c: Update tree_pass descriptors.
379 * sched-rgn.c: Update tree_pass descriptors.
380 * tree-ssa-structalias.c: Update tree_pass descriptors.
381 * tree-cfg.c: Update tree_pass descriptors.
382 * passes.c (current_pass): Update declaration.
383 (finish_optimization_passes): Update.
384 (all_passes, all_ipa_passes, all_lowering_passes): Update declaration.
385 (register_one_dump_file, register_dump_files_1, next_pass_1):
386 Update arguments.
387 (init_optimization_passes): Update handling of new types.
388 (execute_one_pass, execute_pass_list, execute_ipa_pass_list): Update.
389 * ipa-struct-reorg.c: Update tree_pass descriptors.
390 * tree-ssa-reassoc.c: Update tree_pass descriptors.
391 * combine-stack-adj.c: Update tree_pass descriptors.
392 * cfgrtl.c: Update tree_pass descriptors.
393 * dce.c: Update tree_pass descriptors.
394 * tree-ssanames.c: Update tree_pass descriptors.
395
396 2008-03-19 Richard Guenther <rguenther@suse.de>
397
398 PR middle-end/35609
399 * tree-ssa.c (always_executed): New global flag.
400 (warn_uninitialized_var): If !always_executed warn with "maybe"
401 instead of "is".
402 (execute_early_warn_uninitialized): Compute post-dominators.
403 Initialize always_executed before processing each basic block.
404
405 2008-03-18 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
406
407 PR target/35504
408 * config/i386/i386.c (x86_this_parameter): Calculate correct location
409 of "this" pointer when "regparm = N" or "fastcall" is in effect.
410
411 2008-03-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
412
413 * doc/include/texinfo.tex: Update to version 2008-03-17.10.
414
415 2008-03-18 Paolo Bonzini <bonzini@gnu.org>
416
417 * expr.c (store_expr): Assume lang_hooks.reduce_bit_field_operations
418 is true.
419 (expand_expr_real_1) <REDUCE_BIT_FIELD>: Don't look at ignore.
420 (expand_expr_real_1): Assume lang_hooks.reduce_bit_field_operations
421 is true. Add "&& !ignore" condition to reduce_bit_field. Modify
422 target after ignore has been set, and move there also the commputation
423 of subtarget and original_target.
424 * langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
425 (LANG_HOOKS_INITIALIZER): Remove it.
426 * langhooks.h (struct lang_hooks): Remove reduce_bit_field_operations.
427
428 2008-03-18 Richard Guenther <rguenther@suse.de>
429
430 * tree-ssa-sccvn.c (visit_reference_op_load): If the lookup
431 found an expression with constants, note that in the VN for the lhs.
432 * tree-ssa-pre.c (eliminate): Visit COND_EXPR statements and
433 fold them to constants if possible. Run cleanup_cfg if done so.
434 (execute_pre): Return todo.
435 (do_pre): Likewise.
436 (execute_fre): Likewise.
437 * tree-ssa-forwprop.c (can_propagate_from): Allow propagation
438 of constants.
439 (get_prop_source_stmt): Look through pointer conversions.
440
441 2008-03-18 Jan Hubicka <jh@suse.cz>
442
443 * tree-pretty-print.c: Include predict.h.
444 (dump_generic_node): Dump predictor.
445 * tree.h (PREDICT_EXPR_OUTCOME, PREDICT_EXPR_PREDICTION): Update.
446 * tree-gimple.c (is_gimple_stmt): Add PREDICT_EXPR.
447 * gimple-low.c (lower_stmt): Likewise.
448 * expr.c (expand_expr_real): Likewise.
449 * predict.c (tree_bb_level_predictions): Use PREDICT_EXPRs and remove
450 them.
451 (build_predict_expr, build_predict_expr): New.
452 * predict.h (predictor_name, build_predict_expr): Update.
453 * c-typeck.c (c_finish_bc_stmt): Add prediction.
454 * gimplify.c (gimplify_expr): Add PREDICT_EXPR.
455 * predict.def (PRED_CONTINUE): Update hitrate.
456 * tree.def (PREDICT_EXPR): Define.
457 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Mark PREDICT_EXPR;
458 do not handle BIND_EXPR.
459 * tree-inline.c (estimate_num_insns_1): PREDICT_EXPR is free.
460 * tree-cfg.c (verify_gimple_stmt): PREDICT_EXPR is valid.
461 * tree-ssa-operands.c (get_expr_operands): PREDICT_EXPR takes no
462 operands.
463
464 2008-03-18 Michael Matz <matz@suse.de>
465
466 * gcov-io.h (__gcov_merge_ior, __gcov_fork): Mark hidden.
467
468 2008-03-18 Richard Guenther <rguenther@suse.de>
469
470 * tree-gimple.h (is_gimple_invariant_address): Declare.
471 (is_gimple_constant): Likewise.
472 * tree-gimple.c (is_gimple_constant): New function.
473 (is_gimple_invariant_address): Likewise.
474 (is_gimple_min_invariant): Implement in terms of is_gimple_constant
475 and is_gimple_invariant_address.
476 * tree-ssa-loop-niter.c (expand_simple_operations): Revert
477 previous change.
478 * tree-data-ref.c (get_references_in_stmt): A SSA_NAME is not
479 an addressable base.
480
481 2008-03-18 Jakub Jelinek <jakub@redhat.com>
482
483 PR middle-end/35611
484 * gimplify.c (gimplify_expr): Gimplify second operand of
485 OMP_ATOMIC_LOAD.
486
487 2008-03-17 Richard Guenther <rguenther@suse.de>
488
489 PR tree-optimization/19637
490 * fold-const.c (fold_unary): Remove restrictions of removing
491 intermediate pointer-conversions (P2)(P1)P0.
492 * tree-ssa-ccp.c (maybe_fold_stmt_addition): Recover from
493 conversion to void pointer.
494 (get_maxval_strlen): Handle addresses of the form &(*p)[0].
495
496 2008-03-16 James E. Wilson <wilson@tuliptree.org>
497
498 PR debug/31510
499 * dbxout.c (dbxout_expand_expr, case VAR_DECL): Return NULL for
500 emulated thread local variables.
501
502 2008-03-16 Richard Guenther <rguenther@suse.de>
503
504 PR middle-end/35607
505 * tree-ssa-loop-niter.c (expand_simple_operations): Do not
506 expand TREE_INVARIANT operations that are not gimple invariant.
507
508 2008-03-16 Hans-Peter Nilsson <hp@axis.com>
509
510 * doc/extend.texi (Alignment): Say that the ABI controls
511 the __alignof__ for non-strict-alignment targets rather
512 than being a recommendation.
513
514 2008-03-15 Paul Brook <paul@codesourcery.com>
515
516 * config/arm/arm.c (arm_unwind_emit): Suppress unused unwinding
517 annotations.
518 (arm_output_fn_unwind): Mark functions that can not be unwound.
519
520 2008-03-15 Paul Brook <paul@codesourcery.com>
521
522 * config/arm/arm.c (arm_rtx_costs_1): Add costs for ARMv6 value
523 extension instructions.
524
525 2008-03-15 Richard Guenther <rguenther@suse.de>
526
527 * tree-ssa-ccp.c (ccp_fold): Also read from constant values
528 and fold constant aggregate refs.
529 (fold_const_aggregate_ref): Handle string constants
530 and constructors in ARRAY_REFs. Handle INDIRECT_REF.
531 (evaluate_stmt): Simplify now that ccp_fold folds constant
532 aggregate refs.
533
534 2008-03-15 Paul Brook <paul@codesourcery.com>
535
536 * config/arm/arm.md (insv): Use gen_insv_t2 and gen_insv_zero.
537 (extzv): Use gen_extzv_t2.
538 (insv_t2, insv_zero, extv, extzv_t2): New patterns.
539
540 2008-03-15 Richard Guenther <rguenther@suse.de>
541
542 * tree-ssa-ccp.c (get_symbol_constant_value): Export.
543 (fold_const_aggregate_ref): Likewise.
544 (get_value): Return NULL if we don't have any values.
545 (ccp_finalize): Set const_val to NULL after freeing it.
546 * tree-flow.h (get_symbol_constant_value): Declare.
547 (fold_const_aggregate_ref): Likewise.
548 * tree-ssa-sccvn.c (try_to_simplify): Use them.
549
550 2008-03-15 Richard Guenther <rguenther@suse.de>
551
552 PR middle-end/35593
553 * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Make sure
554 to not produce negative array indices if not allowed. Add
555 parameter to indicate that.
556 (maybe_fold_offset_to_component_ref): Allow negative array
557 indices only for the first member of a structure.
558 (maybe_fold_offset_to_reference): Allow negative array indices.
559 (maybe_fold_stmt_addition): Likewise.
560
561 2008-03-15 Bjoern Haase <bjoern.m.haase@web.de>
562 Anatoly Sokolov <aesok@post.ru>
563
564 * gcc/gcc/config/avr/avr.c (avr_arch_types): Add avr6 entry.
565 (avr_arch): Add ARCH_AVR6.
566 (avr_mcu_types): Add 'atmega2560' and 'atmega2561' entry.
567 (initial_elimination_offset): Initialize and use 'avr_pc_size'
568 instead of fixed value 2.
569 (print_operand_address): Use gs() asm specifier instead of pm().
570 (avr_assemble_integer): (Ditto.).
571 (avr_output_addr_vec_elt): (Ditto.).
572 (print_operand): Handle "!" code.
573 * gcc/gcc/config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Add
574 __AVR_3_BYTE_PC__, __AVR_2_BYTE_PC__ and __AVR_HAVE_JMP_CALL__.
575 (AVR_HAVE_EIJMP_EICALL): Define.
576 (AVR_3_BYTE_PC): Redefine.
577 (AVR_2_BYTE_PC): (Ditto.).
578 (PRINT_OPERAND_PUNCT_VALID_P): Add '!' code.
579 (LINK_SPEC): Add atmega2560 and atmega2561.
580 (CRT_BINUTILS_SPEC): Add atmega2560 (crtm2560.o) and atmega2561
581 (crtm2561.o).
582 * gcc/gcc/config/avr/avr.md (call_insn): Use eicall instead of icall
583 for 3 byte PC devices.
584 (call_value_insn): (Ditto.).
585 (*tablejump_enh): Use eijmp instead of ijmp for 3 byte PC devices.
586 (indirect_jump): Use only for for 2 byte PC devices.
587 (*tablejump): (Ditto.).
588 (*indirect_jump_avr6): Add insn.
589 (*tablejump_rjmp): Don't use for 3 byte PC devices.
590 * gcc/gcc/config/avr/libgcc.S (__prologue_saves__): Use eijmp
591 instead of ijmp for 3 byte PC devices.
592 (__tablejump2__): (Ditto.).
593 * gcc/gcc/config/avr/t-avr (MULITLIB_OPTIONS): Add avr6 architecture.
594 (MULITLIB_DIRNAMES): (Ditto.).
595 (MULTILIB_MATCHES): Add atmega2560 and atmega2561 to list.
596
597 2008-03-15 Uros Bizjak <ubizjak@gmail.com>
598
599 * config/i386/mmx.md ("sse2_umulv1siv2di3"): Rename from
600 "sse2_umulsidi3". Use V1DI mode for operand 0.
601 ("mmx_psadbw"): Use V1DI mode for operand 0.
602 * config/i386/i386-modes.def (V1SI): New vector mode.
603 * config/i386/i386.c (struct builtin_description)
604 [IX86_BUILTIN_PMULUDQ]: Use CODE_FOR_sse2_umulv1siv1di3.
605 (v1di_ftype_v8qi_v8qi): Rename from di_ftype_v8qi_v8qi.
606 (v1di_ftype_v2si_v2si): Rename from di_ftype_v2si_v2si.
607 (ix86_init_mmx_sse_builtins) [__builtin_ia32_psadbw]: Use
608 v1di_ftype_v8qi_v8qi type.
609 [__builtin_ia32_pmuludq]: Use v1di_ftype_v2si_v2si type.
610
611 * doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psadbw,
612 __builtin_ia32_pmuludq]: Fix the mode of return value.
613
614 2008-03-15 Richard Guenther <rguenther@suse.de>
615
616 PR middle-end/35595
617 * tree-ssa-pre.c (bitmap_find_leader): Handle expression
618 being a PHI_NODE.
619
620 2008-03-14 Bob Wilson <bob.wilson@acm.org>
621
622 * doc/invoke.texi (Option Summary, Xtensa Options): Document
623 -mserialize-volatile and -mno-serialize-volatile Xtensa options.
624 * config/xtensa/xtensa.c (print_operand): Do not emit MEMW instructions
625 unless TARGET_SERIALIZE_VOLATILE is enabled.
626 * config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
627 * config/xtensa/xtensa.h (TARGET_DEFAULT): Add MASK_SERIALIZE_VOLATILE.
628 * config/xtensa/xtensa.opt (mserialize_volatile): New option.
629
630 2008-03-14 Richard Guenther <rguenther@suse.de>
631
632 PR tree-optimization/34172
633 * tree-flow.h (refs_may_alias_p): Declare.
634 (get_single_def_stmt): Likewise.
635 (get_single_def_stmt_from_phi): Likewise.
636 (get_single_def_stmt_with_phi): Likewise.
637 * tree-dfa.c (refs_may_alias_p): New function.
638 (get_single_def_stmt): Likewise.
639 (get_single_def_stmt_from_phi): Likewise.
640 (get_single_def_stmt_with_phi): Likewise.
641 * tree-ssa-sccvn.c (get_def_ref_stmt_vuses): New function.
642 (vn_reference_lookup_1): New helper function.
643 (vn_reference_lookup): Walk the virtual use-def chain to
644 continue searching for a match if the def does not alias the
645 reference we are looking for.
646
647 2008-03-14 David Edelsohn <edelsohn@gnu.org>
648
649 * doc/install.texi (Binaries): Remove UCLA archive. Add HVCC
650 archive and Perzl. Update The Written Word listing.
651
652 2008-03-14 Richard Guenther <rguenther@suse.de>
653
654 PR tree-optimization/34043
655 PR tree-optimization/33989
656 * tree-ssa-pre.c (execute_pre): Allow SCCVN to do insertion
657 when doing FRE.
658 (bitmap_find_leader): Use extra argument to verify dominance
659 relationship inside a basic-block.
660 (can_PRE_operation): Add VIEW_CONVERT_EXPR.
661 (find_leader_in_sets): Adjust.
662 (create_component_ref_by_pieces): Take extra argument for
663 dominance check, handle lookup failures.
664 (find_or_generate_expression): Likewise.
665 (create_expression_by_pieces): Likewise.
666 (insert_into_preds_of_block): Adjust.
667 (create_value_expr_from): If asked for, verify all operands
668 are in the blocks AVAIL_OUT set.
669 (make_values_for_stmt): Check for SSA_NAMEs that are life
670 over an abnormal edge.
671 (compute_avail): Remove such check.
672 (do_SCCVN_insertion): New function.
673 (eliminate): If we do not find a leader suitable for replacement
674 insert a replacement expression from SCCVN if available.
675 * tree-ssa-sccvn.h (run_scc_vn): Update prototype.
676 (struct vn_ssa_aux): Add needs_insertion flag.
677 * tree-ssa-sccvn.c (may_insert): New global flag.
678 (copy_reference_ops_from_ref): Value-number union member access
679 based on its size, not type and member if insertion is allowed.
680 (visit_reference_op_load): For a weak match from union type
681 punning lookup a view-converted value and insert a SSA_NAME
682 for that value if that is not found.
683 (visit_use): Make dumps shorter. Do not disallow value numbering
684 SSA_NAMEs that are life over an abnormal edge to constants.
685 (free_scc_vn): Release inserted SSA_NAMEs.
686 (run_scc_vn): New flag to specify whether insertion is allowed.
687 Process SSA_NAMEs in forward order.
688 * tree-ssa-loop-im.c (for_each_index): Handle invariant
689 ADDR_EXPRs inside VIEW_CONVERT_EXPR.
690 * fold-const.c (fold_unary): Fold VIEW_CONVERT_EXPRs from/to
691 pointer type to/from integral types that do not change the
692 precision to regular conversions.
693
694 2008-03-13 Uros Bizjak <ubizjak@gmail.com>
695
696 * doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psll?,
697 __builtin_ia32_psrl?, __builtin_ia32_psra?, __builtin_ia32_psll?i,
698 __builtin_ia32_psrl?i, __builtin_ia32_psra?i, __builtin_ia32_psll?128,
699 __builtin_ia32_psrl?128, __builtin_ia32_psra?128]: Fix the mode of
700 input arguments and the mode of return value. Built-in functions
701 that operate on whole 64-bit MMX register now use V1DI mode.
702
703 2008-03-13 Alon Dayan <alond@il.ibm.com>
704 Olga Golovanevsky <olga@il.ibm.com>
705
706 PR tree-optimization/35041
707 * ipa-struct-reorg.c (find_pos_in_stmt_1): Add another option
708 to locate the right position in a statement.
709
710 2008-03-13 Uros Bizjak <ubizjak@gmail.com>
711
712 PR target/34000
713 PR target/35553
714 * config/i386/xmmintrin.h: Change all static inline functions to
715 extern inline and add __gnu_inline__ attribute.
716 * config/i386/bmintrin.h: Ditto.
717 * config/i386/smmintrin.h: Ditto.
718 * config/i386/tmmintrin.h: Ditto.
719 * config/i386/mmintrin-common.h: Ditto.
720 * config/i386/ammintrin.h: Ditto.
721 * config/i386/emmintrin.h: Ditto.
722 * config/i386/pmmintrin.h: Ditto.
723 * config/i386/mmintrin.h: Ditto.
724 * config/i386/mm3dnow.h: Ditto.
725
726 2008-03-13 Jakub Jelinek <jakub@redhat.com>
727
728 PR middle-end/35185
729 * omp-low.c (lower_regimplify, init_tmp_var, save_tmp_var): Removed.
730 (lower_omp_2): New function.
731 (lower_omp_1, lower_omp): Rewritten.
732
733 2008-03-13 Danny Smith <dannysmith@users.sourceforge.net>
734
735 PR 35054
736 * doc/extend.texi (Structure-Packing Pragmas): Replace "Win32"
737 with the phrase "Microsoft Windows compilers".
738 (Push/Pop Macro Pragmas): New subsection. Document
739 #pragma push_macro and pragma pop_macro.
740
741 2008-03-12 Paul Brook <paul@codesourcery.com>
742
743 * config/arm/arm.c (output_move_double): Prefer LDRD to LDM.
744
745 2008-03-12 Paul Brook <paul@codesourcery.com>
746
747 * config/arm/thumb2.md: Extend peephole to cover 3-arg subs.
748 (thumb2_alusi3_short): Exclude PLUS and MINUS.
749 (thumb2_addsi_shortim): Rename ...
750 (thumb2_addsi_short): ... to this. Allow register operands.
751 (thumb2_subsi_short): New pattern.
752 (thumb2_one_cmplsi2_short,
753 thumb2_negsi2_short): New patterns and peepholes.
754
755 2008-03-12 Paul Brook <paul@codesourcery.com>
756
757 * config/arm/arm.c (arm_size_rtx_costs): Use ARM costs for Thumb-2.
758
759 2008-03-12 Uros Bizjak <ubizjak@gmail.com>
760
761 * config/i386/i386.md (int_cond): New code iterator.
762 (fp_cond): Ditto.
763 ("s<code>"): Macroize expander from seq, sne, sgt, sgtu, slt, sltu,
764 sge, sgeu, sle and sleu expanders usign int_cond code iterator.
765 ("s<code>"): Macroize expander from sunordered, sordered, suneq, sunge,
766 sungt, sunle, sunlt and sltgt expanders usign fp_cond code iterator.
767 ("b<code>"): Macroize expander from beq, bne, bgt, bgtu, blt, bltu,
768 bge, bgeu, ble and bleu expanders usign int_cond code iterator.
769 ("b<code>"): Macroize expander from bunordered, bordered, buneq, bunge,
770 bungt, bunle, bunlt and bltgt expanders usign fp_cond code iterator.
771
772 2008-03-12 Paul Brook <paul@codesourcery.com>
773
774 * config/arm/arm.c (use_return_insn): Use offsets->saved_regs_mask
775 instead of {arm,thumb}_compute_save_reg_mask.
776 (output_return_instruction): Ditto.
777 (thumb_unexpanded_epilogue): Ditto.
778 (thumb1_expand_prologue): Ditto.
779 (thumb1_output_function_prologue): Ditto.
780 (arm_set_return_address): Ditto.
781 (thumb_set_return_address): Ditto.
782 (arm_get_frame_offsets): Set offsets->saved_regs_mask. Push extra
783 regs to achieve stack alignment.
784 (thumb1_compute_save_reg_mask): Fix compiler warning.
785 (arm_output_epilogue): Use offsets->saved_regs_mask.
786 Adjust stack pointer by poping call clobered registers.
787 (arm_expand_prologue): Use offsets->saved_regs_mask.
788 Adjust stack pointer by pushing extra registers.
789 * config/arm.h (arm_stack_offsets): Add saved_regs_mask.
790
791 2008-03-12 Paolo Bonzini <bonzini@gnu.org>
792
793 PR tree-opt/35422
794 * fold-const.c (fold_unary) <NOP_EXPR>: Distribute a narrowing
795 conversion to the operands of a multiplication.
796
797 2008-03-12 Richard Guenther <rguenther@suse.de>
798
799 * Makefile.in (OBJS-common): Add tree-ssa-phiprop.o
800 (tree-ssa-phiprop.o): Copy dependencies from tree-ssa-forwprop.o.
801 * timevar.def (TV_TREE_PHIPROP): Add.
802 * tree-ssa-phiprop.c: Split from tree-ssa-forwprop.c, added
803 pass description. Use TV_TREE_PHIPROP.
804 * tree-ssa-forwprop.c: Remove phiprop code.
805
806 2008-03-12 Jakub Jelinek <jakub@redhat.com>
807
808 PR middle-end/35549
809 * omp-low.c (maybe_lookup_decl): Constify first argument.
810 (use_pointer_for_field): Change last argument from bool to
811 omp_context *. Disallow shared copy-in/out in nested
812 parallel if decl is shared in outer parallel too.
813 (build_outer_var_ref, scan_sharing_clauses,
814 lower_rec_input_clauses, lower_copyprivate_clauses,
815 lower_send_clauses, lower_send_shared_vars): Adjust callers.
816
817 2008-03-12 Victor Kaplansky <victork@il.ibm.com>
818 Ira Rosen <irar@il.ibm.com>
819
820 * tree-vectorizer.c (free_stmt_vec_info): New function.
821 (destroy_loop_vec_info): Move code to free_stmt_vec_info().
822 Call free_stmt_vec_info(). Free LOOP_VINFO_STRIDED_STORES..
823 * tree-vectorizer.h (free_stmt_vec_info): Declare.
824 * tree-vect-transform.c (vectorizable_conversion): Free
825 vec_oprnds0 if it was allocated.
826 (vect_permute_store_chain): Remove unused VECs.
827 (vectorizable_store): Free VECs that are allocated in the..
828 function.
829 (vect_transform_strided_load, vectorizable_load): Likewise.
830 (vect_remove_stores): Simplify the code.
831 (vect_transform_loop): Move code to vect_remove_stores().
832 Call vect_remove_stores() and free_stmt_vec_info().
833
834 2008-03-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
835
836 * pa.h (TARGET_LONG_PIC_SDIFF_CALL): Conditionalize define on
837 TARGET_HPUX. Revise comment.
838 (TARGET_LONG_PIC_PCREL_CALL): Revise comment.
839 * pa.c (output_call): Update for revised TARGET_LONG_PIC_SDIFF_CALL.
840 Use sr4 variant of `be' instruction when not generating PIC code.
841 (attr_length_call): Adjust for above change.
842
843 2008-03-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
844
845 * ipa-reference.c (static_execute): Remove module_statics_const and
846 associated setting code.
847
848 2008-03-11 Uros Bizjak <ubizjak@gmail.com>
849
850 PR target/35540
851 * config/i386/i386.md (paritysi2, paritydi2): Use register_operand
852 predicate for operand 1.
853 (paritysi2_cmp): Use register_operand predicate for operand 2.
854 Use earlyclobber modifier for operand 1. Remove support for
855 memory operands.
856 (paritydi2_cmp): Use register_operand predicate for operand 3.
857 Use earlyclobber modifier for operand 1. Remove support for
858 memory operands.
859
860 2008-03-11 Paul Brook <paul@codesourcery.com>
861 Vladimir Prus <vladimir@codesourcery.com>
862
863 * config/arm/arm.c (use_return_insn): Check TARGET_APCS_FRAME.
864 (arm_compute_save_reg0_reg12_mask): Always
865 check if register 11 must be saved. Always safe hard frame pointer
866 when frame_pointer_needeed.
867 (arm_compute_save_reg_mask): Save IP and PC
868 only with apcs frames.
869 (arm_output_epilogue): Adjust Thumb2 codepath to
870 be also invoked and work for ARM non-apcs frames.
871 (arm_expand_prologue): Don't bother saving IP
872 for non-apcs frame, since it's not clobbered by
873 prologue code. Implement non-apcs frame
874 layout.
875
876 2008-03-11 Paolo Bonzini <bonzini@gnu.org>
877
878 PR rtl-optimization/35281
879 * expr.c (convert_move): Use a new pseudo for the intermediate
880 from_mode->word_mode result.
881
882 2008-03-11 Paolo Bonzini <bonzini@gnu.org>
883
884 * langhooks-def.h (LANG_HOOKS_CLEAR_BINDING_STACK): Delete.
885 * langhooks.h (struct lang_hooks): Delete clear_binding_stack member.
886 * toplev.c (compile_file): Don't call it.
887
888 2008-03-11 Uros Bizjak <ubizjak@gmail.com>
889
890 PR middle-end/35526
891 * expr.c (store_expr): Call emit_block_move if the mode
892 of "temp" RTX is BLKmode.
893
894 2008-03-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
895 Richard Guenther <rguenther@suse.de>
896
897 PR tree-optimization/31358
898 * tree-ssa-loop-manip.c (create_iv): Call force_gimple_operand for
899 the step with a NULL_TREE.
900 * tree-ssa-loop-ivopts.c (find_bivs): Convert the step
901 to sizetype if type is a pointer type.
902 (add_candidate_1): Don't convert the base and step to
903 the generic type if the orginal type is a pointer type.
904 (add_iv_value_candidates): Use sizetype for the step
905 if type is a pointer type.
906 (cand_value_at): Likewise.
907 * tree-ssa-address.c (add_to_parts): Use POINTER_PLUS_EXPR
908 for pointer types.
909 * tree-affine.c (tree_to_aff_combination <POINTER_PLUS_EXPR>):
910 Don't convert the tem affine to the type.
911 (add_elt_to_tree): Use sizetype for the step if a pointer.
912 Use POINTER_PLUS_EXPR for pointers.
913 (aff_combination_to_tree): Use sizetype for the step if a
914 pointer.
915
916 2008-03-10 Vladimir Makarov <vmakarov@redhat.com>
917
918 * config/i386/sse.md (ssse3_pmaddubswv8hi3, ssse3_pmaddubswv4hi3):
919 Remove commutativity hint.
920
921 2008-03-10 Jakub Jelinek <jakub@redhat.com>
922
923 PR c/35438
924 PR c/35439
925 * c-parser.c (c_parser_omp_threadprivate): Don't add vars with
926 errorneous type. Check that v is a VAR_DECL.
927
928 PR middle-end/35099
929 * tree-cfg.c (new_label_mapper): Update cfun->last_label_uid.
930
931 2008-03-10 H.J. Lu <hongjiu.lu@intel.com>
932
933 PR tree-optimization/35494
934 * tree-ssa-ccp.c (get_symbol_constant_value): Check if value
935 may be overriden at link and run time.
936
937 2008-03-10 Richard Guenther <rguenther@suse.de>
938
939 PR tree-optimization/34677
940 * tree-ssa-pre.c (modify_expr_node_pool): Remove.
941 (poolify_tree): Likewise.
942 (modify_expr_template): Likewise.
943 (poolify_modify_stmt): Likewise.
944 (insert_fake_stores): Handle all component-ref style stores
945 in addition to INDIRECT_REF. Also handle complex types.
946 Do not poolify the inserted load.
947 (realify_fake_stores): Do not rebuild the tree but only
948 make it a SSA_NAME copy.
949 (init_pre): Remove initialzation of modify_expr_template.
950 Do not allocate modify_expr_node_pool.
951 (fini_pre): Do not free modify_expr_node_pool.
952
953 2008-03-10 Paul Brook <paul@codesourcery.com>
954
955 * config/arm/arm.md (UNSPEC_STACK_ALIGN, UNSPEC_PIC_OFFSET): Renumber
956 to avoid conflicts.
957
958 2008-03-10 Paul Brook <paul@codesourcery.com>
959 Mark Shinwell <shinwell@codesourcery.com>
960
961 * config/arm/cortex-r4.md: New.
962 * config/arm/thumb2.md (divsi3, udivsi3): Annotate with
963 insn attributes.
964 * config/arm/arm.md: Include cortex-r4.md.
965 (insn): Add smmls, sdiv and udiv values.
966 (generic_sched): Don't use generic scheduling for Cortex-R4.
967 (arm_issue_rate): New function.
968 (TARGET_SCHED_ISSUE_RATE): Define.
969
970 2008-03-10 Sebastian Pop <sebastian.pop@amd.com>
971
972 * doc/invoke.texi (-ftree-loop-distribution): Add an example.
973
974 2008-03-10 Richard Guenther <rguenther@suse.de>
975
976 * tree-ssa-pre.c (get_sccvn_value): Simplify.
977 (compute_avail): Do not add stmt uses to AVAIL_OUT.
978
979 2008-03-10 Paolo Bonzini <bonzini@gnu.org>
980
981 * langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS):
982 Set default to true.
983
984 2008-03-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
985
986 * c.opt (Wsynth): Deprecate.
987 * doc/invoke.texi (Option Summary, Warning Options): Document
988 -Wno-format-contains-nul.
989
990 2008-03-09 Uros Bizjak <ubizjak@gmail.com>
991
992 PR target/35496
993 * config/i386/i386.c (ix86_constant_alignment): Compute alignment using
994 ALIGN_MODE_128 for VECTOR_CST and INTEGER_CST in addition to REAL_CST.
995
996 2008-03-09 Ira Rosen <irar@il.ibm.com>
997
998 * config/rs6000/rs6000.c (builtin_description): Rename vector
999 left shift operations.
1000 * config/rs6000/altivec.md (UNSPEC_VSL): Remove.
1001 (altivec_vsl<VI_char>): Rename to ...
1002 (ashl<mode>3): ... new name.
1003 (mulv4sf3, mulv4si3, negv4sf2): Replace gen_altivec_vslw with
1004 gen_ashlv4si3.
1005 (absv4sf2): Convert to use ashift:V4SI instead of UNSPEC_VSL.
1006
1007 2008-03-08 Richard Guenther <rguenther@suse.de>
1008
1009 * coverage.h (tree_coverage_counter_addr): Declare.
1010 * coverage.c (tree_coverage_counter_addr): New function.
1011 * tree-profile.c (tree_gen_edge_profiler): Unshare counter
1012 before using again.
1013 (tree_gen_pow2_profiler): Use tree_coverage_counter_addr.
1014 (tree_gen_one_value_profiler): Likewise.
1015 (tree_gen_ic_profiler): Likewise.
1016 (tree_gen_average_profiler): Likewise.
1017 (tree_gen_ior_profiler): Likewise.
1018
1019 2008-03-08 Richard Guenther <rguenther@suse.de>
1020
1021 * tree-ssa-sccvn.h (vn_binary_op_lookup): Remove.
1022 (vn_binary_op_insert): Likewise.
1023 (vn_unary_op_lookup): Likewise.
1024 (vn_unary_op_insert): Likewise.
1025 (vn_nary_op_lookup): Declare.
1026 (vn_nary_op_insert): Likewise.
1027 * tree-ssa-sccvn.c (struct vn_tables_s): Merge unary
1028 and binary hashes, use a single obstack for unary_op_pool
1029 and binary_op_pool.
1030 (struct vn_binary_op_s, struct vn_unary_op_s): Replace with
1031 a single struct vn_nary_op_s. Store tree code length and
1032 a variable number of operands.
1033 (struct vn_reference_op_struct): Remove unused op2.
1034 (vn_reference_op_eq): Do not compare op2.
1035 (vn_reference_op_compute_hash): Do not compute hash of op2.
1036 (vn_unary_op_hash, vn_binary_op_hash): Replace with vn_nary_op_hash.
1037 (vn_unary_op_compute_hash, vn_binary_op_compute_hash): Replace
1038 with vn_nary_op_compute_hash.
1039 (vn_unary_op_eq, vn_binary_op_eq): Replace with vn_nary_op_eq.
1040 (vn_unary_op_lookup, vn_binary_op_lookup): Replace with
1041 vn_nary_op_lookup.
1042 (vn_unary_op_insert, vn_binary_op_insert): Replace with
1043 vn_nary_op_insert.
1044 (visit_unary_op): Call nary functions.
1045 (visit_binary_op): Likewise.
1046 (process_scc): Adjust for struct vn_tables_s changes.
1047 (allocate_vn_table): Likewise.
1048 (free_vn_table): Likewise.
1049 * tree-vn.c (vn_add): Call nary functions.
1050 (vn_lookup): Likewise.
1051
1052 2008-03-08 Jakub Jelinek <jakub@redhat.com>
1053
1054 PR target/35498
1055 * config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): Shift
1056 wdst back after sync_compare_and_swapqhi_internal.
1057
1058 2008-03-08 Uros Bizjak <ubizjak@gmail.com>
1059
1060 PR target/22152
1061 * config/i386/i386-modes.def (V1DI): New vector mode.
1062 * config/i386/i386.h (VALID_MMX_REG_MODE): Add V1DImode.
1063 * config/i386/mmx.md (MMXMODEI8): New mode iterator.
1064 (MMXMODE248): Ditto.
1065 (MMXMODE): Add V1DI mode.
1066 (mmxvecsize): Change DI mode to V1DI mode.
1067 ("mov<mode>): Use MMXMODEI8 mode iterator.
1068 ("*mov<mode>_internal_rex64"): Ditto.
1069 ("*mov<mode>_internal"): Ditto.
1070 ("mmx_add<mode>3"): Ditto. Handle V1DImode for TARGET_SSE2.
1071 ("mmx_sub<mode>3"): Ditto.
1072 ("mmx_adddi3"): Remove insn pattern.
1073 ("mmx_subdi3"): Ditto.
1074 ("mmx_ashr<mode>3"): Use SImode and "yN" constraint for operand 2.
1075 ("mmx_lshr<mode>3"): Ditto. Use MMXMODE248 mode iterator.
1076 ("mmx_ashl<mode>3"): Ditto.
1077 ("mmx_lshrdi3"): Remove insn pattern.
1078 ("mmx_ashldi3"): Ditto.
1079 * config/i386/i386.c (classify_argument): Handle V1DImode.
1080 (function_arg_advance_32): Ditto.
1081 (function_arg_32): Ditto.
1082 (struct builtin_description) [IX86_BUILTIN_PADDQ]: Use
1083 mmx_addv1di3 insn pattern.
1084 [IX86_BUILTIN_PSUBQ]: Use mmx_subv1di3 insn pattern.
1085 [IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?, IX86_BUILTIN_PSRA?,
1086 IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I, IX86_BUILTIN_PSRA?I,
1087 IX86_BUILTIN_PSLL?I128, IX86_BUILTIN_PSRL?I128, IX86_BUILTIN_PSRA?I128]:
1088 Remove definitions of built-in functions.
1089 (V1DI_type_node): New node.
1090 (v1di_ftype_v1di_int): Ditto.
1091 (v1di_ftype_v1di_v1di): Ditto.
1092 (v2si_ftype_v2si_si): Ditto.
1093 (v4hi_ftype_v4hi_di): Remove node.
1094 (v2si_ftype_v2si_di): Ditto.
1095 (ix86_init_mmx_sse_builtins): Handle V1DImode.
1096 (__builtin_ia32_psll?, __builtin_ia32_psrl?, __builtin_ia32_psra?):
1097 Redefine builtins using def_builtin_const with *_ftype_*_int node.
1098 (__builtin_ia32_psll?i, __builtin_ia32_psrl?i, __builtin_ia32_psra?i):
1099 Add new builtins using def_builtin_const.
1100 (ix86_expand_builtin) [IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?,
1101 IX86_BUILTIN_PSRA?, IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I,
1102 IX86_BUILTIN_PSRA?I]: Handle builtin definitions.
1103 * config/i386/mmintrin.h (__v1di): New typedef.
1104 (_mm_add_si64): Cast arguments to __v1di type.
1105 (_mm_sub_si64): Ditto.
1106 (_mm_sll_pi16): Cast __count to __v4hi type.
1107 (_mm_sll_pi32): Cast __count to __v2si type.
1108 (_mm_sll_si64): Cast arguments to __v1di type.
1109 (_mm_srl_pi16): Cast __count to __v4hi type.
1110 (_mm_srl_pi32): Cast __count to __v2si type.
1111 (_mm_srl_si64): Cast arguments to __v1di type.
1112 (_mm_sra_pi16): Cast __count to __v4hi type.
1113 (_mm_sra_pi32): Cast __count to __v2si type.
1114 (_mm_slli_pi16): Use __builtin_ia32_psllwi.
1115 (_mm_slli_pi32): Use __builtin_ia32_pslldi.
1116 (_mm_slli_si64): Use __builtin_ia32_psllqi. Cast __m to __v1di type.
1117 (_mm_srli_pi16): Use __builtin_ia32_psrlwi.
1118 (_mm_srli_pi32): Use __builtin_ia32_psrldi.
1119 (_mm_srli_si64): Use __builtin_ia32_psrlqi. Cast __m to __v1di type.
1120 (_mm_srai_pi16): Use __builtin_ia32_psrawi.
1121 (_mm_srai_pi32): Use __builtin_ia32_psradi.
1122 * config/i386/i386.md (UNSPEC_NOP): Remove unspec definition.
1123 * doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psll?,
1124 __builtin_ia32_psrl?, __builtin_ia32_psra?, __builtin_ia32_psll?i,
1125 __builtin_ia32_psrl?i, __builtin_ia32_psra?i]: Add new builtins.
1126
1127 2008-03-07 Joseph Myers <joseph@codesourcery.com>
1128
1129 * doc/include/texinfo.tex: Update to version 2008-03-07.10.
1130
1131 2008-03-07 Peter Bergner <bergner@vnet.ibm.com>
1132
1133 PR target/35373
1134 * config/rs6000/rs6000.c (rs6000_legitimize_address): Don't generate
1135 reg+const addressing for Altivec modes. Don't generate reg+reg
1136 addressing for TFmode or TDmode quantities.
1137
1138 2008-03-07 Paolo Bonzini <bonzini@gnu.org>
1139
1140 * c-common.c (vector_types_convertible_p): Call langhook
1141 instead of comptypes.
1142
1143 2008-03-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
1144
1145 PR tree-opt/35402
1146 * tree-ssa-ccp.c (get_symbol_constant_value): Handle
1147 integral and scalar float variables which have a
1148 NULL DECL_INITIAL.
1149
1150 2008-03-06 Nathan Froyd <froydnj@codesourcery.com>
1151
1152 * dwarf2out.c (dwarf2out_frame_debug_expr): Consult the
1153 dwarf_register_span hook when emitting unwind information for
1154 register-to-memory saves.
1155 * config/rs6000/rs6000.c (spe_synthesize_frame): Delete.
1156 (rs6000_frame_related): Remove call to spe_synthesize_frame.
1157
1158 2008-03-06 Jakub Jelinek <jakub@redhat.com>
1159
1160 * gimplify.c (goa_lhs_expr_p): Allow different ADDR_EXPR nodes
1161 for the same VAR_DECL.
1162
1163 2008-03-06 Tom Tromey <tromey@redhat.com>
1164
1165 * treelang: Delete.
1166 * doc/standards.texi (Standards): Don't mention treelang.
1167 * doc/invoke.texi (Overall Options): Don't mention treelang.
1168 * doc/install.texi (Prerequisites): Don't mention bison or
1169 treelang.
1170 (Configuration): Don't mention treelang.
1171 (Building): Likewise.
1172 * doc/frontends.texi (G++ and GCC): Don't mention treelang.
1173
1174 2008-03-06 Paolo Bonzini <bonzini@gnu.org>
1175
1176 * simplify-rtx.c (simplify_subreg): Remove useless shifts from
1177 word-extractions out of a multi-word object.
1178
1179 2008-03-06 Richard Guenther <rguenther@suse.de>
1180
1181 * tree.def (BIT_FIELD_REF): Constrain result type and its precision.
1182 * tree-cfg.c (verify_expr): Verify BIT_FIELD_REF constraints on
1183 result type and precision.
1184 * expr.c (get_inner_reference): Set unsignedp based on the result
1185 type of BIT_FIELD_REF.
1186 * tree.h (BIT_FIELD_REF_UNSIGNED): Remove.
1187 * tree-sra.c (instantiate_element): Do not set BIT_FIELD_REF_UNSIGNED.
1188 (try_instantiate_multiple_fields): Likewise. Use the correct type
1189 for BIT_FIELD_REF.
1190 (sra_build_assignment): Likewise.
1191 (sra_build_elt_assignment): Likewise.
1192 (sra_explode_bitfield_assignment): Likewise.
1193 * print-tree.c (print_node): Do not check BIT_FIELD_REF_UNSIGNED.
1194 * tree-vect-transform.c (vect_create_epilog_for_reduction): Do not
1195 set BIT_FIELD_REF_UNSIGNED.
1196 (vectorizable_load): Likewise.
1197
1198 2008-03-06 Andreas Krebbel <krebbel1@de.ibm.com>
1199
1200 * cse.c (cse_extended_basic_block): Invalidate artificial defs
1201 at bb start.
1202
1203 2008-03-06 Richard Guenther <rguenther@suse.de>
1204
1205 * alias.c (struct alias_set_entry): Move has_zero_child field
1206 to pack with alias_set.
1207
1208 2008-03-05 H.J. Lu <hongjiu.lu@intel.com>
1209
1210 * config/i386/i386-modes.def: Use 4 byte alignment on DI for
1211 32bit host.
1212
1213 2008-03-05 Ian Lance Taylor <iant@google.com>
1214
1215 * alias.h (alias_set_type): Change from HOST_WIDE_INT to int.
1216
1217 2008-03-05 Kenneth Zadeck <zadeck@naturalbridge.com>
1218
1219 * fwprop.c (update_df): Support width and offset parameters of
1220 df_ref_create.
1221 * ra-conflict.c (mark_reg_store, clear_reg_in_live,
1222 global_conflicts): Change DF_REF_EXTRACT to either
1223 DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT. Change
1224 DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
1225 * df-scan.c (df_ref_record, df_defs_record,
1226 df_ref_create_structure, df_def_record_1, df_uses_record,
1227 df_get_conditional_uses, df_get_call_refs, df_insn_refs_collect,
1228 df_bb_refs_collect, df_entry_block_defs_collect,
1229 df_exit_block_uses_collect): Support new width and offset fields.
1230 (ref_extract_pool): New storage pool.
1231 (df_free_ref): New function.
1232 (df_reg_chain_unlink, df_free_collection_rec,
1233 df_sort_and_compress_refs): Call df_free_ref.
1234 (df_ref_equal_p, df_ref_compare): Compare offset and width fields
1235 of df_ref_extract.
1236 (df_ref_create_structure): Allocate df_ref_extract if offset and
1237 width fields are used.
1238 (df_def_record_1): Get offset and width from ZERO_EXTRACT.
1239 (df_uses_record): Get offset and width from ZERO_EXTRACT
1240 and SIGN_EXTRACT.
1241 * global.c (build_insn_chain): Change DF_REF_EXTRACT to either
1242 DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT. Change
1243 DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
1244 * df.h (df_ref_flags): Change DF_REF_EXTRACT to either
1245 DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT. Change
1246 DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
1247 (df_ref_extract): New structure.
1248 (DF_REF_WIDTH, DF_REF_OFFSET): New macros.
1249 (df_ref_create): Add width and offset parameters.
1250
1251 2008-03-05 Richard Guenther <rguenther@suse.de>
1252
1253 * tree-ssa-structalias.c (get_constraint_for_component_ref):
1254 Use ranges_overlap_p.
1255 (offset_overlaps_with_access): Rename
1256 to ranges_overlap_p and move ...
1257 * tree-flow-inline.h (ranges_overlap_p): ... here.
1258
1259 * tree.h (get_inner_reference, handled_component_p): Update
1260 comments.
1261
1262 * tree.h (record_component_aliases, get_alias_set,
1263 alias_sets_conflict_p, alias_sets_must_conflict_p,
1264 objects_must_conflict_p): Move declarations ...
1265 * alias.h (record_component_aliases, get_alias_set,
1266 alias_sets_conflict_p, alias_sets_must_conflict_p,
1267 objects_must_conflict_p): ... here.
1268 Include coretypes.h.
1269 * Makefile.in (ALIAS_H): Add coretypes.h dependency.
1270
1271 2008-03-05 Aldy Hernandez <aldyh@redhat.com>
1272
1273 * cfg.c: Include tree-flow.h.
1274 (remove_edge_raw): Call redirect_edge_var_map_clear.
1275 (redirect_edge_succ_nodup): Call redirect_edge_var_map_dup.
1276 * tree-flow-inline.h (redirect_edge_var_map_def): New.
1277 (redirect_edge_var_map_result): New.
1278 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Replace
1279 PENDING_STMT use with redirect_edge_var_map_*.
1280 * tree-ssa.c (edge_var_maps): New definition.
1281 (redirect_edge_var_map_add): New.
1282 (redirect_edge_var_map_clear): New.
1283 (redirect_edge_var_map_dup): New.
1284 (redirect_edge_var_map_vector): New.
1285 (redirect_edge_var_map_destroy): New.
1286 (ssa_redirect_edge): Replace PENDING_STMT use with
1287 redirect_edge_var_map_*.
1288 (flush_pending_stmts): Same.
1289 (delete_tree_ssa): Destroy edge var map.
1290 * tree-flow.h (struct _edge_var_map): New.
1291 Define edge_var_map vector type.
1292 Declare redirect_edge_var_map_* prototypes.
1293 * Makefile.in (cfg.o): Depend on TREE_FLOW_H.
1294 * tree-cfg.c (reinstall_phi_args): Replace
1295 PENDING_STMT use with redirect_edge_var_map_*.
1296
1297 2008-03-05 Richard Guenther <rguenther@suse.de>
1298
1299 PR tree-optimization/35472
1300 * tree-ssa-dse.c (dse_optimize_stmt): Do not delete a store
1301 whose single use_stmt has a overlapping set of loaded and
1302 stored symbols as that use_stmt might be a noop assignment then.
1303
1304 2008-03-05 Joel Sherrill <joel.sherrill@oarcorp.com>
1305
1306 * gthr-rtems.h: Implement __gthread_mutex_destroy.
1307
1308 2008-03-05 Richard Guenther <rguenther@suse.de>
1309
1310 PR c++/35336
1311 * tree.def (BIT_FIELD_REF): Document that operands 1 and 2
1312 should be constants.
1313 * tree-cfg.c (verify_expr): Verify it.
1314 * fold-const.c (fold_truthop): Remove code generating
1315 BIT_FIELD_REFs of structure bases.
1316 (fold_binary): Likewise.
1317 (fold_ternary): Position and size of BIT_FIELD_REFs are
1318 always host integers.
1319 (make_bit_field_ref): Remove.
1320 (optimize_bit_field_compare): Remove.
1321 (all_ones_mask_p): Remove.
1322
1323 2008-03-05 Gabor Loki <loki@gcc.gnu.org>
1324
1325 PR gcc/33009
1326 * rtl-factoring.c (clear_regs_live_in_seq): Fix backward steps.
1327 (split_block_and_df_analyze): New. Split basic block and rebuild
1328 dataflow.
1329 (block_label_after): Use SPLIT_BLOCK_AND_DF_ANALYZE instead of
1330 SPLIT_BLOCK.
1331 (split_pattern_seq): Likewise.
1332 (erase_matching_seqs): Likewise.
1333 (split_pattern_seq): Skip return insn in case of REG_NORETURN note.
1334
1335 2008-03-04 Geoff Keating <geoffk@apple.com>
1336
1337 * fold-const.c (tree_single_nonnegative_warnv_p): Fix mixed
1338 declaration and code.
1339 (tree_invalid_nonnegative_warnv_p): Likewise.
1340
1341 2008-03-05 Serge Belyshev <belyshev@depni.sinp.msu.ru>
1342
1343 * doc/install.texi (Testing): Correct quoting for the RUNTESTFLAGS
1344 examples. Truncate option-names then causing overfull hbox.
1345
1346 2008-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1347
1348 PR target/35222
1349 * configure.ac (CONFIG_SJLJ_EXCEPTIONS): Force SJLJ exceptions
1350 on hpux10.
1351 * configure: Rebuilt.
1352
1353 2008-03-04 Rafael Espindola <espindola@google.com>
1354
1355 * fold-const.c (tree_simple_nonnegative_warnv_p): New.
1356 (tree_unary_nonnegative_warnv_p): New.
1357 (tree_binary_nonnegative_warnv_p): New.
1358 (tree_single_nonnegative_warnv_p): New.
1359 (tree_invalid_nonnegative_warnv_p): New.
1360 (tree_expr_nonnegative_warnv_p): Redefine in term of the new functions.
1361
1362 2008-03-04 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1363
1364 PR 28322
1365 * opts.c (handle_option): Postpone 'unknown option' errors only for
1366 warning options.
1367
1368 2008-03-04 H.J. Lu <hongjiu.lu@intel.com>
1369
1370 PR target/35453
1371 * config/i386/smmintrin.h (SIDD_XXX): Renamed to ...
1372 (_SIDD_XXX): This.
1373
1374 2008-03-04 Rafael Espindola <espindola@google.com>
1375
1376 * fold-const.c (tree_unary_nonzero_warnv_p): New.
1377 (tree_binary_nonzero_warnv_p): New.
1378 (tree_single_nonzero_warnv_p): New.
1379 (tree_expr_nonzero_warnv_p): Redefine using the new functions.
1380
1381 2008-03-04 Uros Bizjak <ubizjak@gmail.com>
1382
1383 PR middle-end/35456
1384 * fold-const.c (fold_cond_expr_with_comparison): Prevent
1385 transformations for modes that have signed zeros.
1386 * ifcvt.c (noce_try_abs): Ditto.
1387
1388 2008-03-04 Joseph Myers <joseph@codesourcery.com>
1389
1390 * config/i386/i386.c (override_options): Force
1391 -maccumulate-outgoing-args on if TARGET_STACK_PROBE.
1392
1393 2008-03-04 Jan Hubicka <jh@suse.cz>
1394
1395 PR c++/35262
1396 * ipa-inline.c (cgraph_decide_inlining_of_small_function): Fix typo
1397 in last commit.
1398
1399 2008-03-04 Danny Smith <dannysmith@users.sourceforge.net>
1400
1401 * config/i386/i386.md (allocate_stack_worker_32): Use __chkstk
1402 label to probe the stack.
1403
1404 2008-03-04 Danny Smith <dannysmith@users.sourceforge.net>
1405
1406 * gthr-win32.h [__GTHREAD_HIDE_WIN32API]
1407 (__gthr_win32_mutex_destroy): Declare.
1408 [__GTHREAD_HIDE_WIN32API] (__gthread_mutex_destroy): Use
1409 __gthr_win32_mutex_destroy.
1410 * config/i386/gthr-win32.c (__gthr_win32_mutex_destroy): Define.
1411
1412 2008-03-03 Jan Hubicka <jh@suse.cz>
1413
1414 PR c++/35262
1415 * ipa-inline.c (cgraph_decide_inlining_of_small_function): Be more
1416 aggressive on inlining cold calls.
1417
1418 2008-03-03 Richard Guenther <rguenther@suse.de>
1419
1420 * tree-ssa-sccvn.c (visit_reference_op_store): Do not insert
1421 struct copies into the expression table.
1422 (simplify_unary_expression): Handle VIEW_CONVERT_EXPR.
1423 (try_to_simplify): Likewise.
1424 * fold-const.c (fold_unary): Fold VIEW_CONVERT_EXPR of
1425 integral and pointer arguments which do not change the
1426 precision to NOP_EXPRs.
1427 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Adjust
1428 VIEW_CONVERT_EXPR case.
1429
1430 2008-03-02 Sebastian Pop <sebastian.pop@amd.com>
1431
1432 * tree-scalar-evolution.c (instantiate_parameters_1): An SSA_NAME
1433 defined in a loop at depth 0 is invariant.
1434 * tree-chrec.c (evolution_function_is_invariant_rec_p): Ditto.
1435 * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Should never
1436 be called at loop depth 0.
1437
1438 2008-03-02 Jakub Jelinek <jakub@redhat.com>
1439
1440 PR driver/35420
1441 * gcc.c (process_command): Update copyright notice dates.
1442 * gcov.c (print_version): Likewise.
1443 * gcov-dump.c (print_version): Likewise.
1444 * mips-tfile.c (main): Likewise.
1445 * mips-tdump.c (main): Likewise.
1446
1447 2008-03-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1448
1449 PR 24924
1450 * c-common.c (flag_permissive): Delete.
1451 (constant_expression_warnings): Check flags first.
1452 (constant_expression_error): New.
1453 * c-common.h (flag_permissive): Delete.
1454 (constant_expression_error): Declare.
1455 * flags.h (flag_permissive): Declare. Update description.
1456 * diagnostic.c (pedwarn): Update.
1457 (permerror): New.
1458 * diagnostic.h: (pedantic_error_kind): Rename as pedantic_warning_kind.
1459 (permissive_error_kind): New.
1460 * toplev.c (flag_permissive): Define. Update description.
1461 * toplev.h (permissive_error_kind): Declare.
1462 * c-errors.c (pedwarn_c99): Use pedantic_warning_kind.
1463 (pedwarn_c90): Use pedantic_warning_kind.
1464 * c-opts.c (c_common_post_options): flag_permissive does not affect
1465 flag_pedantic_errors.
1466
1467 2008-03-02 Joseph Myers <joseph@codesourcery.com>
1468
1469 * libgcc2.c (__addvSI3, __addvsi3, __addvDI3, __subvSI3,
1470 __subvsi3, __subvDI3, __negvSI2, __negvsi2, __negvDI2, __absvSI2,
1471 __absvsi2, __absvDI2): Use unsigned arithmetic.
1472
1473 2008-03-02 Andi Kleen <ak@suse.de>
1474 Richard Guenther <rguenther@suse.de>
1475
1476 * struct-equiv.c: Remove file.
1477 * cfg_cleanup.c (condjump_equiv_p): Remove.
1478 * Makefile.in (OBJS-common): Remove struct-equiv.o.
1479 (struct-equiv.o): Remove rule.
1480 * basic-block.h (struct_equiv_checkpoint, STRUCT_EQUIV_*,
1481 insns_match_p, struct_equiv_block_eq, struct_equiv_init,
1482 rtx_equiv_p, condjump_equiv_p): Remove prototypes.
1483
1484 2008-03-01 Alexandre Oliva <aoliva@redhat.com>
1485
1486 * ifcvt.c (noce_process_if_block): Try to handle only the then
1487 block if the else block exists but isn't suitable.
1488
1489 2008-03-01 Janne Blomqvist <jb@gcc.gnu.org>
1490
1491 PR gcc/35063
1492 * gthr-posix.h (__gthread_mutex_destroy): Remove extra declarations.
1493 * gthr-posix95.h (__gthread_mutex_destroy): Likewise. Note this fixes
1494 regression from previous patch.
1495
1496 2008-03-01 Janne Blomqvist <jb@gcc.gnu.org>
1497
1498 PR gcc/35063
1499 * gthr.h: Add __gthread_mutex_destroy as a function that must be
1500 implemented.
1501 * gthr-vxworks.h (__gthread_mutex_destroy): Null implementation.
1502 * gthr-single.h (__gthread_mutex_destroy): Likewise.
1503 * gthr-rtems.h (__gthread_mutex_destroy): Likewise.
1504 * gthr-mipssde.h (__gthread_mutex_destroy): Likewise.
1505 * gthr-nks.h (__gthread_mutex_destroy): Likewise.
1506 * gthr-solaris.h (__gthread_mutex_destroy): Call mutex_destroy.
1507 * gthr-win32.h (__GTHREAD_MUTEX_DESTROY_FUNCTION): Remove.
1508 (__gthread_mutex_destroy_function): Rename to
1509 __gthread_mutex_destroy.
1510 * gthr-dce.h (__gthread_mutex_destroy): Call
1511 pthread_mutex_destroy.
1512 * gthr-tpf.h (__gthread_mutex_destroy): Likewise.
1513 * gthr-posix.h (__gthread_mutex_destroy): Likewise.
1514 * gthr-posix95.h (__gthread_mutex_destroy): Likewise.
1515
1516 2008-03-01 Alexandre Oliva <aoliva@redhat.com>
1517
1518 * df-scan.c (df_ref_chain_change_bb): Simplify.
1519 (df_insn_change_bb): Add new_bb argument. Simplify. Call
1520 set_block_for_insn if there's any change.
1521 * df.h ((df_insn_change_bb): Fix prototype.
1522 * cfgrtl.c (update_bb_for_insn_chain): Pass bb to
1523 df_insn_change_bb, don't call set_block_for_insn.
1524 * emit-rtl.c (reorder_insns): Likewise.
1525 * haifa-sched.c (move_insn): Likewise.
1526
1527 2008-03-01 Alexandre Oliva <aoliva@redhat.com>
1528
1529 * rtlanal.c (loc_mentioned_in_p): Test XVECEXPs correctly.
1530
1531 2008-03-01 Alexandre Oliva <aoliva@redhat.com>
1532
1533 * tree-flow-inline.h (next_readonly_imm_use): Return
1534 NULL_USE_OPERAND_P after the end.
1535
1536 2008-03-01 Richard Guenther <rguenther@suse.de>
1537
1538 PR tree-optimization/35411
1539 * tree-sra.c (sra_build_assignment): Split conversion to
1540 final type to a separate statement if we are not assigning
1541 to a register.
1542
1543 2008-02-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1544
1545 * fold-const.c (fold_convertible_p): Correct the logic to follow
1546 that in fold_convert().
1547
1548 2008-02-29 Douglas Gregor <doug.gregor@gmail.com>
1549
1550 PR c++/35315
1551 * tree-inline.c (build_duplicate_type): When we make a
1552 duplicate type, make it unique in the canonical types system.
1553
1554 2008-02-29 Tom Tromey <tromey@redhat.com>
1555
1556 * toplev.c (input_file_stack, input_file_stack_tick, fs_p,
1557 input_file_stack_history, input_file_stack_restored): Remove.
1558 (push_srcloc, pop_srcloc, restore_input_file_stack): Likewise.
1559 * input.h (struct file_stack): Remove.
1560 (push_srcloc, pop_srcloc, restore_input_file_stack): Likewise.
1561 (input_file_stack, input_file_stack_tick, INPUT_FILE_STACK_BITS):
1562 Likewise.
1563 * diagnostic.h (struct diagnostic_context) <last_module>: Change
1564 type.
1565 (diagnostic_last_module_changed): Add 'map' argument.
1566 (diagnostic_set_last_function): Likewise.
1567 * diagnostic.c (undiagnostic_report_current_module): Iterate using
1568 line map, not input_file_stack.
1569 * c-lex.c (fe_file_change): Don't use push_srcloc or pop_srcloc.
1570
1571 2008-02-29 Paul Brook <paul@codesourcery.com>
1572
1573 * config/arm/arm.md (arm_addsi3): Add r/k/n alternative.
1574
1575 2008-02-29 Paul Brook <paul@codesourcery.com>
1576
1577 * config/arm/ieee754-df.S (muldf3): Use RET macros.
1578
1579 2008-02-29 Richard Guenther <rguenther@suse.de>
1580
1581 * tree-ssa-pre.c (get_sccvn_value): Create missing VNs via
1582 vn_lookup_or_add.
1583 * tree-ssa-sccnv.c (visit_reference_op_store): Use the rhs
1584 value for comparing for a store match.
1585 (simplify_unary_expression): Do nothing for SSA_NAMEs.
1586 (try_to_simplify): Do not do a full-blown reference lookup.
1587
1588 2008-02-29 Kaz Kojima <kkojima@gcc.gnu.org>
1589
1590 * config/sh/sh.c (sh_scalar_mode_supported_p): New function.
1591 (TARGET_SCALAR_MODE_SUPPORTED_P): Define.
1592
1593 * config/sh/sh.h (OVERRIDE_OPTIONS): Don't warn for profiling.
1594
1595 2008-02-29 Sebastian Pop <sebastian.pop@amd.com>
1596
1597 * tree-loop-linear.c (try_interchange_loops): Compare memory access
1598 strides against cache sizes.
1599
1600 2008-02-29 Kaz Kojima <kkojima@gcc.gnu.org>
1601
1602 * config/sh/sh.c (sh_secondary_reload): Handle loading a float
1603 constant to fpul.
1604
1605 2008-02-28 Richard Sandiford <rsandifo@nildram.co.uk>
1606
1607 * simplify-rtx.c (simplify_unary_operation_1): Extend the handling
1608 of SUBREG_PROMOTED_VAR_P to cope with cases where the extended value
1609 is smaller than the original promoted value.
1610 (simplify_subreg): If OP is a SUBREG, try to preserve its
1611 SUBREG_PROMOTED_VAR_P information.
1612
1613 2008-02-28 Steven Bosscher <stevenb.gcc@gmail.com>
1614
1615 * tree-ssa-sccvn (vn_ssa_aux_obstack): New obstack.
1616 (VN_INFO_GET): Allocate new objects on the obstack.
1617 (init_scc_vn): Initialize the obstack. Use XDELETE instead of free
1618 for rpo_numbers_temp, for consistency.
1619 (free_scc_vn): Free the obstack.
1620
1621 2008-02-28 Sebastian Pop <sebastian.pop@amd.com>
1622
1623 * doc/invoke.texi: Document -ftree-loop-distribution.
1624 * tree-loop-distribution.c: New.
1625 * tree-pass.h (pass_loop_distribution): New.
1626 * graphds.h (struct graph): Add htab_t indices.
1627 * timevar.def (TV_TREE_LOOP_DISTRIBUTION): New.
1628 * tree-vectorizer.c (rename_variables_in_loop): Extern.
1629 (slpeel_tree_duplicate_loop_to_edge_cfg): Init PENDING_STMT to NULL.
1630 * tree-vectorizer.h (tree_duplicate_loop_on_edge): Declared.
1631 * tree-data-ref.c (debug_data_dependence_relations): New.
1632 (dump_data_dependence_relation): Also print data references.
1633 (free_data_ref): Extern.
1634 (same_access_functions): Moved...
1635 (find_vertex_for_stmt): Renamed rdg_vertex_for_stmt.
1636 (dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
1637 debug_rdg_component, dump_rdg, debug_rdg, dot_rdg_1, dot_rdg,
1638 struct rdg_vertex_info, rdg_vertex_for_stmt): New.
1639 (create_rdg_edge_for_ddr, create_rdg_vertices): Cleaned up.
1640 (stmts_from_loop): Skip LABEL_EXPR.
1641 (hash_stmt_vertex_info, eq_stmt_vertex_info, hash_stmt_vertex_del):
1642 New.
1643 (build_rdg): Initialize rdg->indices htab.
1644 (free_rdg, stores_from_loop, ref_base_address,
1645 rdg_defs_used_in_other_loops_p, have_similar_memory_accesses,
1646 have_similar_memory_accesses_1, ref_base_address_1,
1647 remove_similar_memory_refs): New.
1648 * tree-data-ref.h: Depend on tree-chrec.h.
1649 (debug_data_dependence_relations, free_data_ref): Declared.
1650 (same_access_functions): ... here.
1651 (ddr_is_anti_dependent, ddrs_have_anti_deps, ddr_dependence_level):
1652 New.
1653 (struct rdg_vertex): Add has_mem_write and has_mem_reads.
1654 (RDGV_HAS_MEM_WRITE, RDGV_HAS_MEM_READS, RDG_STMT,
1655 RDG_MEM_WRITE_STMT, RDG_MEM_READS_STMT): New.
1656 (dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
1657 debug_rdg_component, dump_rdg, debug_rdg, dot_rdg,
1658 rdg_vertex_for_stmt): Declared.
1659 (struct rdg_edge): Add level.
1660 (RDGE_LEVEL): New.
1661 (free_rdg, stores_from_loop, remove_similar_memory_refs,
1662 rdg_defs_used_in_other_loops_p, have_similar_memory_accesses):
1663 Declared.
1664 (rdg_has_similar_memory_accesses): New.
1665 * tree-vect-analyze.c: Remove unused static decls.
1666 * lambda.h (dependence_level): New.
1667 * common.opt (ftree-loop-distribution): New.
1668 * tree-flow.h (mark_virtual_ops_in_bb,
1669 slpeel_tree_duplicate_loop_to_edge_cfg,
1670 rename_variables_in_loop): Declared.
1671 * Makefile.in (TREE_DATA_REF_H): Depend on tree-chrec.h.
1672 (OBJS-common): Add tree-loop-distribution.o.
1673 (tree-loop-distribution.o): New rule.
1674 * tree-cfg.c (mark_virtual_ops_in_bb): New.
1675 (mark_virtual_ops_in_region): Use mark_virtual_ops_in_bb.
1676 * passes.c (init_optimization_passes): Schedule pass_loop_distribution.
1677
1678 2008-02-28 Joseph Myers <joseph@codesourcery.com>
1679
1680 PR target/33963
1681 * tree.c (handle_dll_attribute): Disallow TYPE_DECLs for types
1682 other than structures and unions.
1683
1684 2008-02-28 Richard Guenther <rguenther@suse.de>
1685
1686 Revert:
1687 2008-02-26 Richard Guenther <rguenther@suse.de>
1688
1689 * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
1690 * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
1691 (lookup_decl_from_uid): Declare.
1692 (remove_decl_from_map): Likewise.
1693 * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
1694 * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
1695 (decl_for_uid_map): New global hashtable mapping DECL_UID
1696 to the decl tree.
1697 (init_ttree): Allocate it.
1698 (insert_decl_to_uid_decl_map): New helper function.
1699 (make_node_stat): Insert new decls into the map.
1700 (copy_node_stat): Likewise.
1701 (lookup_decl_from_uid): New function.
1702 (remove_decl_from_map): Likewise.
1703 (print_decl_for_uid_map_statistics): New helper.
1704 (dump_tree_statistics): Call it.
1705
1706 * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
1707 (referenced_var_iterator): Adjust.
1708 (FOR_EACH_REFERENCED_VAR): Adjust.
1709 (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
1710 (num_referenced_vars): Adjust.
1711 * tree-flow-inline.h (gimple_referenced_vars): Adjust.
1712 (first_referenced_var): Remove.
1713 (end_referenced_vars_p): Likewise.
1714 (next_referenced_var): Likewise.
1715 (referenced_var_iterator_set): New helper function.
1716 * tree-dfa.c (referenced_var_lookup): Adjust.
1717 (referenced_var_check_and_insert): Likewise.
1718 (remove_referenced_var): Likewise.
1719 * tree-ssa.c (verify_flow_insensitive_alias_info): Use
1720 FOR_EACH_REFERENCED_VAR_IN_BITMAP.
1721 (verify_call_clobbering): Likewise.
1722 (verify_memory_partitions): Likewise.
1723 (init_tree_ssa): Allocate bitmap instead of hashtable for
1724 referenced_vars.
1725 (delete_tree_ssa): Adjust.
1726 * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
1727 FOR_EACH_REFERENCED_VAR_IN_BITMAP.
1728 (compute_tag_properties): Likewise.
1729 (set_initial_properties): Likewise.
1730 (find_partition_for): Likewise.
1731 (update_reference_counts): Likewise.
1732 (dump_may_aliases_for): Likewise.
1733 * tree-ssa-operands.c (add_virtual_operand): Likewise.
1734 (add_call_clobber_ops): Likewise.
1735 (add_call_read_ops): Likewise.
1736 (get_asm_expr_operands): Likewise.
1737 * tree-into-ssa.c (dump_decl_set): Likewise.
1738 (update_ssa): Likewise.
1739 * tree-sra.c (scan_function): Likewise.
1740 (decide_instantiations): Likewise.
1741 (scalarize_parms): Likewise.
1742 * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
1743 (dsa_named_for): Likewise.
1744 * tree-ssa-structalias.c (update_alias_info): Likewise.
1745 (merge_smts_into): Likewise.
1746
1747 2008-02-27 David Daney <ddaney@avtrex.com>
1748
1749 PR target/34409
1750 * config/mips/iris.h (MIPS_DEBUGGING_INFO): Define.
1751 * config/mips/openbsd.h (MIPS_DEBUGGING_INFO): Same.
1752 * config/mips/sde.h (MIPS_DEBUGGING_INFO): Remove undef.
1753 * config/mips/vxworks.h (MIPS_DEBUGGING_INFO): Same.
1754 * config/mips/mips.h (MIPS_DEBUGGING_INFO): Remove define.
1755
1756 2008-02-27 Uros Bizjak <ubizjak@gmail.com>
1757
1758 PR target/25477
1759 * config/darwin-ppc-ldouble-patch.def (BUILT_IN_NANL): Add.
1760 (BUILT_IN_NEXTTOWARD): Remove.
1761 (BUILT_IN_NEXTTOWARDF): Ditto.
1762 * config/darwin.c (darwin_patch_builtin): Use ACONCAT instead of
1763 alloca/strcpy/strcat. Remove commented-out code. Fix whitespace.
1764
1765 2008-02-27 Tom Tromey <tromey@redhat.com>
1766
1767 * tree-dump.c (dequeue_and_dump) <FUNCTION_DECL>: Check
1768 DECL_SAVED_TREE, not DECL_LANG_SPECIFIC, when dumping body.
1769
1770 2008-02-27 Jan Beulich <jbeulich@novell.com>
1771
1772 * c-decl.c (merge_decls): Use DECL_USER_ALIGN() on olddecl to
1773 update the respective field on newdecl.
1774
1775 2008-02-27 Revital Eres <eres@il.ibm.com>
1776
1777 PR rtl-optimization/34999
1778 * bb-reorder.c (add_labels_and_missing_jumps): Do not handle
1779 crossing edges that ends with a call insn.
1780 (fix_up_fall_thru_edges): Handle crossing edges that ends with a
1781 call insn and clear the EDGE_CROSSING flag of the crossing edge
1782 when fixing fallthru edges.
1783
1784 2008-02-27 Richard Guenther <rguenther@suse.de>
1785
1786 PR middle-end/35390
1787 * fold-const.c (fold_unary): Return the correct argument,
1788 converted to the result type.
1789
1790 2008-02-27 Richard Guenther <rguenther@suse.de>
1791
1792 PR middle-end/34971
1793 * expr.c (expand_expr_real_1): Assert on rotates that operate
1794 on partial modes.
1795 * fold-const.c (fold_binary): Use the types precision, not the
1796 bitsize of the mode if folding rotate expressions. Build rotates
1797 only for full modes.
1798
1799 2008-02-27 Jakub Jelinek <jakub@redhat.com>
1800
1801 * c-ppoutput.c (scan_translation_unit): Handle CPP_PRAGMA
1802 and CPP_PRAGMA_EOL.
1803 * c-pragma.c (pragma_ns_name): New typedef.
1804 (registered_pp_pragmas): New variable.
1805 (c_pp_lookup_pragma): New function.
1806 (c_register_pragma_1): If flag_preprocess_only, do nothing
1807 for non-expanded pragmas, for expanded ones push pragma's
1808 namespace and name into registered_pp_pragmas vector.
1809 (c_invoke_pragma_handler): Register OpenMP pragmas even when
1810 flag_preprocess_only, don't register GCC pch_preprocess
1811 pragma if flag_preprocess_only.
1812 * c-opts.c (c_common_init): Call init_pragma even if
1813 flag_preprocess_only.
1814 * c-pragma.c (c_pp_lookup_pragma): New prototype.
1815 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Don't call
1816 cpp_register_pragma if flag_preprocess_only.
1817
1818 2008-02-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1819
1820 PR c/28800
1821 * c-parser.c (c_parser_translation_unit): Warn for empty
1822 translation unit, not empty source file.
1823
1824 2008-02-26 Paul Brook <paul@codesourcery.com>
1825
1826 * config/arm/arm.c (thumb_set_frame_pointer): Ensure SP is first
1827 operand for Thumb-2.
1828 * config/arm/arm.h (reg_class): Add CORE_REGS.
1829 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Ditto.
1830 (BASE_REG_CLASS): Use CORE_REGS.
1831 (PREFERRED_RELOAD_CLASS): Add STACK_REG.
1832 (REGNO_MODE_OK_FOR_REG_BASE_P): Use REGNO_MODE_OK_FOR_BASE_P.
1833 (REGNO_OK_FOR_INDEX_P): Exclude SP.
1834 (ARM_REG_OK_FOR_INDEX_P): Always define. Use
1835 ARM_REGNO_OK_FOR_INDEX_P.
1836 (ARM_PRINT_OPERAND_ADDRESS): Swap operands for [reg, sp].
1837 * config/arm/arm.md (arm_addsi3, thumb1_addsi3, arm_subsi3_insn,
1838 arm_movsi_insn, thumb1_movsi_insni, stack_tie): Add "k" alternatives.
1839 (ldm/stm peepholes): Ditto.
1840 * config/arm/thumb2.md (thumb2_movdi): Add "k" alternatives.
1841 * config/arm/vfp.md (arm_movsi_vfp, thumb2_movsi_vfp): Ditto.
1842 * config/arm/iwmmxt.md (iwmmxt_movsi_insn): Ditto.
1843 * config/arm/constraints.md: Enable "k" constraint on ARM.
1844
1845 2008-02-27 Ben Elliston <bje@au.ibm.com>
1846
1847 * config/rs6000/rs6000.c: Annotate cache line size field in all
1848 instances of struct processor_costs.
1849
1850 2008-02-26 David Edelsohn <edelsohn@gnu.org>
1851
1852 * dbgcnt.def (cfg_cleanup, cprop1, cprop2, dce_fast, dce_ud, dse1,
1853 dse2, gcse, if_conversion, if_after_combine, if_after_reload,
1854 jump_bypass): New counters.
1855 * cfgcleanup.c (cleanup_cfg): Add dbg_cnt.
1856 * dce.c (gate_ud_dce): Same.
1857 (gate_fast_dce): Same.
1858 * dse.c (gate_dse1): New function.
1859 (gate_dse2): New function.
1860 (gate_dse): Merge results of new gate functions.
1861 * gcse.c (gcse_main): Bracket cprop1 and cprop2 with dbg_cnt.
1862 (gate_handle_jump_bypass): Add dbg_cnt.
1863 (gate_handle_gcse): Add dbg_cnt.
1864 * ifcvt.c (gate_handle_if_conversion): Same.
1865 (gate_handle_if_after_combine): Same.
1866 (gate_handle_if_after_reload): Same.
1867 * Makefile.in: Add DBGCNT_H to cfgcleanup.o and ifcvt.o.
1868
1869 2008-02-26 Edmar Wienskoski <edmar@freescale.com>
1870
1871 * config/rs6000/rs6000.c (processor_costs): Update e300 cache
1872 line sizes.
1873 * doc/invoke.texi: Add e300c2 and e300c3 to list of cpus.
1874
1875 2008-02-26 Jason Merrill <jason@redhat.com>
1876
1877 PR c++/35315
1878 * attribs.c (decl_attributes): Leave ATTR_FLAG_TYPE_IN_PLACE
1879 alone if it's the naming decl for the type's main variant.
1880
1881 2008-02-26 Tom Tromey <tromey@redhat.com>
1882
1883 * system.h (USE_MAPPED_LOCATION): Poison.
1884 * Makefile.in (GTFILES): Put CPP_ID_DATA_H first.
1885 * tree-cfg.c (make_cond_expr_edges): Remove old location code.
1886 (make_goto_expr_edges): Likewise.
1887 (remove_bb): Likewise.
1888 (execute_warn_function_return): Likewise.
1889 * basic-block.h (struct edge_def) <goto_locus>: Change type to
1890 location_t.
1891 * c-common.c (fname_decl): Remove old location code.
1892 * tree-vect-transform.c (vect_finish_stmt_generation): Remove old
1893 location code.
1894 * rtl.h (ASM_OPERANDS_SOURCE_LOCATION): Remove old-location
1895 variant.
1896 (ASM_INPUT_SOURCE_LOCATION): Likewise.
1897 (gen_rtx_ASM_INPUT): Likewise.
1898 (gen_rtx_ASM_INPUT_loc): Likewise.
1899 (get_rtx_asm_OPERANDS): Remove.
1900 * cfglayout.c (insn_locators_alloc): Remove old location code.
1901 (set_curr_insn_source_location): Likewise.
1902 (curr_insn_locator): Likewise.
1903 * print-tree.c (print_node): Remove old location code.
1904 * tree-mudflap.c (mf_varname_tree): Remove old location code.
1905 (mf_file_function_line_tree): Remove test of USE_MAPPED_LOCATION.
1906 * cfgexpand.c (expand_gimple_cond_expr): Don't use
1907 location_from_locus.
1908 (construct_exit_block): Remove old location code.
1909 * emit-rtl.c (force_next_line_note): Remove old location code.
1910 * profile.c (branch_prob): Remove old location code.
1911 * tree-vectorizer.h (LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE,
1912 LOC_LINE): Remove old-location variants.
1913 * langhooks.c (lhd_print_error_function): Remove old location
1914 code.
1915 * configure, config.in: Rebuilt.
1916 * configure.ac (--enable-mapped-location): Remove.
1917 * c-decl.c (c_init_decl_processing): Remove old location code.
1918 (finish_function): Likewise.
1919 * recog.c (decode_asm_operands): Remove old location code.
1920 * c-pch.c (c_common_read_pch): Remove old location code.
1921 * rtl.def (ASM_INPUT, ASM_OPERANDS): Remove old location
1922 variants.
1923 * gimple-low.c (lower_function_body): Remove old location code.
1924 * toplev.c (unknown_location): Remove.
1925 (push_srcloc): Remove old-location variant.
1926 (process_options): Remove old location code.
1927 (lang_dependent_init): Likewise.
1928 * input.h (UNKNOWN_LOCATION): Move definition.
1929 (location_t): Undeprecate.
1930 (source_locus): Remove.
1931 (location_from_locus): Remove.
1932 (struct location_s): Remove.
1933 Remove all old-location code.
1934 (input_line, input_filename): Remove.
1935 * final.c (final_scan_insn): Remove old location code.
1936 * diagnostic.c (diagnostic_build_prefix): Remove
1937 USE_MAPPED_LOCATION test.
1938 * tree.h (gimple_stmt) <locus>: Now a location_t.
1939 (tree_exp) <locus>: Likewise.
1940 (DECL_IS_BUILTIN): Remove old-location variant.
1941 (annotate_with_file_line, annotate_with_locus): Likewise.
1942 (expr_locus, set_expr_locus): Update.
1943 * tree.c (build1_stat): Remove old location code.
1944 (last_annotated_node): Remove.
1945 (annotate_with_file_line): Remove old-location variant.
1946 (annotate_with_locus): Likewise.
1947 (expr_location): Remove old location code.
1948 (set_expr_location): Likewise.
1949 (expr_has_location): Likewise.
1950 (expr_locus): Likewise.
1951 (set_expr_locus): Likewise.
1952 (expr_filename): Don't use location_from_locus.
1953 (expr_lineno): Likewise.
1954 * rtl-error.c (location_for_asm): Remove old location code.
1955 * c-lex.c (cb_line_change): Remove old location code.
1956 (fe_file_change): Likewise.
1957 (cb_def_pragma): Likewise.
1958 (c_lex_with_flags): Likewise.
1959 * gengtype.c (do_typedef): Don't special-case location types.
1960 (define_location_structures): Remove.
1961 (main): Don't call define_location_structures.
1962 * tree-pretty-print.c (dump_implicit_edges): Remove old location
1963 code.
1964
1965 2008-02-26 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1966
1967 PR 26264
1968 * builtins.def (BUILT_IN_STDARG_START): Remove.
1969 * builtins.c (expand_builtin): Remove BUILT_IN_STDARG_START.
1970 * tree-stdarg.c (execute_optimize_stdarg): Likewise.
1971 * tree-inline.c (inline_forbidden_p_1): Likewise.
1972
1973 2008-02-26 Richard Guenther <rguenther@suse.de>
1974
1975 * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
1976 * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
1977 (lookup_decl_from_uid): Declare.
1978 (remove_decl_from_map): Likewise.
1979 * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
1980 * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
1981 (decl_for_uid_map): New global hashtable mapping DECL_UID
1982 to the decl tree.
1983 (init_ttree): Allocate it.
1984 (insert_decl_to_uid_decl_map): New helper function.
1985 (make_node_stat): Insert new decls into the map.
1986 (copy_node_stat): Likewise.
1987 (lookup_decl_from_uid): New function.
1988 (remove_decl_from_map): Likewise.
1989 (print_decl_for_uid_map_statistics): New helper.
1990 (dump_tree_statistics): Call it.
1991
1992 * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
1993 (referenced_var_iterator): Adjust.
1994 (FOR_EACH_REFERENCED_VAR): Adjust.
1995 (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
1996 (num_referenced_vars): Adjust.
1997 * tree-flow-inline.h (gimple_referenced_vars): Adjust.
1998 (first_referenced_var): Remove.
1999 (end_referenced_vars_p): Likewise.
2000 (next_referenced_var): Likewise.
2001 (referenced_var_iterator_set): New helper function.
2002 * tree-dfa.c (referenced_var_lookup): Adjust.
2003 (referenced_var_check_and_insert): Likewise.
2004 (remove_referenced_var): Likewise.
2005 * tree-ssa.c (verify_flow_insensitive_alias_info): Use
2006 FOR_EACH_REFERENCED_VAR_IN_BITMAP.
2007 (verify_call_clobbering): Likewise.
2008 (verify_memory_partitions): Likewise.
2009 (init_tree_ssa): Allocate bitmap instead of hashtable for
2010 referenced_vars.
2011 (delete_tree_ssa): Adjust.
2012 * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
2013 FOR_EACH_REFERENCED_VAR_IN_BITMAP.
2014 (compute_tag_properties): Likewise.
2015 (set_initial_properties): Likewise.
2016 (find_partition_for): Likewise.
2017 (update_reference_counts): Likewise.
2018 (dump_may_aliases_for): Likewise.
2019 * tree-ssa-operands.c (add_virtual_operand): Likewise.
2020 (add_call_clobber_ops): Likewise.
2021 (add_call_read_ops): Likewise.
2022 (get_asm_expr_operands): Likewise.
2023 * tree-into-ssa.c (dump_decl_set): Likewise.
2024 (update_ssa): Likewise.
2025 * tree-sra.c (scan_function): Likewise.
2026 (decide_instantiations): Likewise.
2027 (scalarize_parms): Likewise.
2028 * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
2029 (dsa_named_for): Likewise.
2030 * tree-ssa-structalias.c (update_alias_info): Likewise.
2031 (merge_smts_into): Likewise.
2032
2033 2008-02-26 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2034
2035 PR 34351
2036 * doc/invoke.texi (-Wall): Add -Wvolatile-register-var.
2037 * c-opts.c (c_common_handle_option): Wall enables
2038 Wvolatile-register-var.
2039 * common.opt: Move Wvolatile-register-var to...
2040 * c.opt: ...here.
2041
2042 2008-02-26 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2043
2044 * common.opt (Wlarger-than=): New.
2045 * doc/invoke.texi (Warning Options): Replace -Wlarger-than- with
2046 -Wlarger-than=.
2047 * opts.c (common_handle_option): Handle -Wlarger-than=.
2048 * optc-gen.awk: Likewise.
2049 * opth-gen.awk: Likewise.
2050 * stor-layout.c (layout_decl): Use -Wlarger-than= for warning.
2051 * tree-optimize.c (tree_rest_of_compilation): Likewise.
2052
2053 2008-02-26 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2054
2055 * c-common.c (match_case_to_enum_1): Add appropriate
2056 OPT_W* parameter to warning.
2057 (c_do_switch_warnings): Likewise.
2058 * c-typeck.c (warning_init): Add one more parameter following
2059 'warning' function.
2060 (push_init_level): Update call to warning_init.
2061 (pop_init_level): Likewise.
2062 (add_pending_init): Likewise.
2063 (output_init_element: Likewise.
2064
2065 2008-02-26 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2066
2067 PR 28322
2068 * toplev.c (toplev_main): If there are warnings or error, print
2069 errors for ignored options.
2070 * opts.c (ignored_options): New static variable.
2071 (postpone_unknown_option_error): New.
2072 (print_ignored_options): New.
2073 (handle_option): Postpone errors for unknown -Wno-* options.
2074 * opts.h (print_ignored_options): Declare.
2075
2076 2008-02-25 Richard Sandiford <rsandifo@nildram.co.uk>
2077
2078 * config/mips/mips.md (loadgp_blockage, blockage): Change type
2079 to "ghost".
2080
2081 2008-02-25 Richard Guenther <rguenther@suse.de>
2082
2083 Revert:
2084 2008-02-25 Richard Guenther <rguenther@suse.de>
2085
2086 * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
2087 * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
2088 (lookup_decl_from_uid): Declare.
2089 * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
2090 * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
2091 (decl_for_uid_map): New global hashtable mapping DECL_UID
2092 to the decl tree.
2093 (init_ttree): Allocate it.
2094 (insert_decl_to_uid_decl_map): New helper function.
2095 (make_node_stat): Insert new decls into the map.
2096 (copy_node_stat): Likewise.
2097 (lookup_decl_from_uid): New function.
2098 (print_decl_for_uid_map_statistics): New helper.
2099 (dump_tree_statistics): Call it.
2100
2101 * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
2102 (referenced_var_iterator): Adjust.
2103 (FOR_EACH_REFERENCED_VAR): Adjust.
2104 (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
2105 (num_referenced_vars): Adjust.
2106 * tree-flow-inline.h (gimple_referenced_vars): Adjust.
2107 (first_referenced_var): Remove.
2108 (end_referenced_vars_p): Likewise.
2109 (next_referenced_var): Likewise.
2110 (referenced_var_iterator_set): New helper function.
2111 * tree-dfa.c (referenced_var_lookup): Adjust.
2112 (referenced_var_check_and_insert): Likewise.
2113 (remove_referenced_var): Likewise.
2114 * tree-ssa.c (verify_flow_insensitive_alias_info): Use
2115 FOR_EACH_REFERENCED_VAR_IN_BITMAP.
2116 (verify_call_clobbering): Likewise.
2117 (verify_memory_partitions): Likewise.
2118 (init_tree_ssa): Allocate bitmap instead of hashtable for
2119 referenced_vars.
2120 (delete_tree_ssa): Adjust.
2121 * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
2122 FOR_EACH_REFERENCED_VAR_IN_BITMAP.
2123 (compute_tag_properties): Likewise.
2124 (set_initial_properties): Likewise.
2125 (find_partition_for): Likewise.
2126 (update_reference_counts): Likewise.
2127 (dump_may_aliases_for): Likewise.
2128 * tree-ssa-operands.c (add_virtual_operand): Likewise.
2129 (add_call_clobber_ops): Likewise.
2130 (add_call_read_ops): Likewise.
2131 (get_asm_expr_operands): Likewise.
2132 * tree-into-ssa.c (dump_decl_set): Likewise.
2133 (update_ssa): Likewise.
2134 * tree-sra.c (scan_function): Likewise.
2135 (decide_instantiations): Likewise.
2136 (scalarize_parms): Likewise.
2137 * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
2138 (dsa_named_for): Likewise.
2139 * tree-ssa-structalias.c (update_alias_info): Likewise.
2140 (merge_smts_into): Likewise.
2141
2142 2008-02-25 Janne Blomqvist <jb@gcc.gnu.org>
2143
2144 PR fortran/29549
2145 * doc/invoke.texi (-fcx-limited-range): Document new option.
2146 * toplev.c (process_options): Handle -fcx-fortran-rules.
2147 * common.opt: Add documentation for -fcx-fortran-rules.
2148
2149 2008-02-25 Janne Blomqvist <jb@gcc.gnu.org>
2150
2151 PR c/35162
2152 * doc/invoke.texi (-fcx-limited-range): Correct to be in line with
2153 actual behaviour and C99.
2154
2155 2008-02-26 Ben Elliston <bje@au.ibm.com>
2156
2157 * config/rs6000/rs6000.h (ASM_CPU_POWER5_SPEC): Define.
2158 (ASM_CPU_POWER6_SPEC): Likewise.
2159 (ASM_CPU_SPEC): Pass %(asm_cpu_power5) for -mcpu=power5.
2160 Likewise, pass %(asm_cpu_power6) for -mcpu=power6.
2161 (EXTRA_SPECS): Add asm_cpu_power5, asm_cpu_power6 spec strings.
2162
2163 2008-02-25 Richard Guenther <rguenther@suse.de>
2164
2165 * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
2166 * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
2167 (lookup_decl_from_uid): Declare.
2168 * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
2169 * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
2170 (decl_for_uid_map): New global hashtable mapping DECL_UID
2171 to the decl tree.
2172 (init_ttree): Allocate it.
2173 (insert_decl_to_uid_decl_map): New helper function.
2174 (make_node_stat): Insert new decls into the map.
2175 (copy_node_stat): Likewise.
2176 (lookup_decl_from_uid): New function.
2177 (print_decl_for_uid_map_statistics): New helper.
2178 (dump_tree_statistics): Call it.
2179
2180 * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
2181 (referenced_var_iterator): Adjust.
2182 (FOR_EACH_REFERENCED_VAR): Adjust.
2183 (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
2184 (num_referenced_vars): Adjust.
2185 * tree-flow-inline.h (gimple_referenced_vars): Adjust.
2186 (first_referenced_var): Remove.
2187 (end_referenced_vars_p): Likewise.
2188 (next_referenced_var): Likewise.
2189 (referenced_var_iterator_set): New helper function.
2190 * tree-dfa.c (referenced_var_lookup): Adjust.
2191 (referenced_var_check_and_insert): Likewise.
2192 (remove_referenced_var): Likewise.
2193 * tree-ssa.c (verify_flow_insensitive_alias_info): Use
2194 FOR_EACH_REFERENCED_VAR_IN_BITMAP.
2195 (verify_call_clobbering): Likewise.
2196 (verify_memory_partitions): Likewise.
2197 (init_tree_ssa): Allocate bitmap instead of hashtable for
2198 referenced_vars.
2199 (delete_tree_ssa): Adjust.
2200 * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
2201 FOR_EACH_REFERENCED_VAR_IN_BITMAP.
2202 (compute_tag_properties): Likewise.
2203 (set_initial_properties): Likewise.
2204 (find_partition_for): Likewise.
2205 (update_reference_counts): Likewise.
2206 (dump_may_aliases_for): Likewise.
2207 * tree-ssa-operands.c (add_virtual_operand): Likewise.
2208 (add_call_clobber_ops): Likewise.
2209 (add_call_read_ops): Likewise.
2210 (get_asm_expr_operands): Likewise.
2211 * tree-into-ssa.c (dump_decl_set): Likewise.
2212 (update_ssa): Likewise.
2213 * tree-sra.c (scan_function): Likewise.
2214 (decide_instantiations): Likewise.
2215 (scalarize_parms): Likewise.
2216 * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
2217 (dsa_named_for): Likewise.
2218 * tree-ssa-structalias.c (update_alias_info): Likewise.
2219 (merge_smts_into): Likewise.
2220
2221 2008-02-25 Andreas Krebbel <krebbel1@de.ibm.com>
2222
2223 PR target/35258
2224 * cse.c (cse_insn): Avoid creation of overlapping MEMs.
2225 * alias.c (nonoverlapping_memrefs_p): Export for use in other modules.
2226 * alias.h (nonoverlapping_memrefs_p): Likewise.
2227
2228 2008-02-25 Jan Beulich <jbeulich@novell.com>
2229
2230 * Makefile.in: Also prefix uses of crt0.o and mcrt0.o with $(T).
2231 * config/i386/netware-libgcc.exp: Add __bswap?i2,
2232 __emultls_get_address, __emultls_register_common,
2233 __floatundi?f, and _Unwind_GetIPInfo.
2234 * config/i386/netware.c (gen_stdcall_or_fastcall_decoration):
2235 Sync with config/i386/winnt.c:gen_stdcall_or_fastcall_suffix().
2236 (gen_regparm_prefix): Likewise.
2237 (i386_nlm_encode_section_info): Sync with
2238 config/i386/winnt.c:i386_pe_encode_section_info().
2239 (i386_nlm_maybe_mangle_decl_assembler_name): New.
2240 i386_nlm_mangle_decl_assembler_name): New.
2241 (netware_override_options): New.
2242 * config/i386/netware.h (netware_override_options): Declare.
2243 (OVERRIDE_OPTIONS): Re-define to netware_override_options.
2244 (i386_nlm_mangle_decl_assembler_name): Declare.
2245 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Define.
2246
2247 2008-02-25 Ben Elliston <bje@au.ibm.com>
2248
2249 PR other/32948
2250 * c-decl.c (grokdeclarator): Remove unused local variables
2251 `typedef_type' and `type_as_written'.
2252 * bb-reorder.c
2253 (find_rarely_executed_basic_blocks_and_crossing_edges): Remove
2254 unused local variable `has_hot_blocks'.
2255 (fix_crossing_conditional_branches): Remove unused local variable
2256 `prev_bb'.
2257
2258 2008-02-25 Uros Bizjak <ubizjak@gmail.com>
2259
2260 PR middle-end/19984
2261 * builtins.def (BUILT_IN_NAN): Define as c99 builtin
2262 using DEF_C99_BUILTIN.
2263 (BUILT_IN_NANF): Ditto.
2264 (BUILT_IN_NANL): Ditto.
2265
2266 2008-02-25 Ayal Zaks <zaks@il.ibm.com>
2267 Revital Eres <eres@il.ibm.com>
2268
2269 * modulo-sched.c (calculate_must_precede_follow): Address TODO
2270 regarding the order of two dependent insns in the same row.
2271
2272 2008-02-25 Eric Botcazou <ebotcazou@adacore.com>
2273
2274 * stor-layout.c (layout_decl): Do not bump the alignment of a
2275 bit-field to more than byte alignment if it is packed.
2276
2277 2008-02-24 David Edelsohn <edelsohn@gnu.org>
2278
2279 * config/rs6000/rs6000.c (processor_costs): Add cache costs for
2280 e300c2 and e300c3.
2281
2282 2008-02-24 Diego Novillo <dnovillo@google.com>
2283
2284 http://gcc.gnu.org/ml/gcc-patches/2008-02/msg01094.html
2285
2286 PR 33738
2287 * tree-vrp.c (vrp_evaluate_conditional): With
2288 -Wtype-limits, emit a warning when comparing against a
2289 constant outside the natural range of OP0's type.
2290 * c.opt (Wtype-limits): Move ...
2291 * common.opt (Wtype-limits): ... here.
2292
2293 2008-02-24 Edmar Wienskoski <edmar@freescale.com>
2294
2295 * config.gcc (powerpc*-*-*): Add new cores e300c2 and e300c3.
2296 * config/rs6000/e300c2c3.md: New file.
2297 * config/rs6000/rs6000.c (processor_costs): Add new costs for
2298 e300c2 and e300c3.
2299 (rs6000_override_options): Add e300c2 and e300c3 cases to
2300 processor_target_table. Do not allow usage of Altivec or Spe
2301 with e300 cores. Initialize rs6000_cost for e300c2 and e300c3.
2302 (rs6000_issue_rate): Set issue rate for e300c2 and e300c3.
2303 * config/rs6000/rs6000.h (processor_type): Add
2304 PROCESSOR_PPCE300C2 and PROCESSOR_PPCE300C3.
2305 (ASM_CPU_SPEC): Add e300c2 and e300c3.
2306 * config/rs6000/rs6000.md (define_attr "cpu"): Add ppce300c2
2307 and ppce300c3. Include e300c2c3.md.
2308
2309 2008-02-23 David Edelsohn <edelsohn@gnu.org>
2310
2311 * config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Use STRICT_ALIGNMENT
2312 instead of TARGET_STRICT_ALIGN.
2313
2314 2008-02-23 Joseph Myers <joseph@codesourcery.com>
2315
2316 * explow.c (memory_address): Assert that the generated address is
2317 valid.
2318
2319 2008-02-23 Francois-Xavier Coudert <coudert@clipper.ens.fr>
2320
2321 PR target/25477
2322 * config/darwin-protos.h: Add darwin_patch_builtins prototype.
2323 * config/darwin-ppc-ldouble-patch.def: New file.
2324 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): New macro.
2325 * config/rs6000/rs6000.c (rs6000_init_builtins): Call
2326 SUBTARGET_INIT_BUILTINS if defined.
2327 * config/darwin.c (darwin_patch_builtin, darwin_patch_builtins):
2328 New functions.
2329
2330 2008-02-23 Andrew Pinski <andrew_pinski@playstation.sony.com>
2331
2332 PR rtl-opt/33512
2333 * simplify-rtx.c (simplify_binary_operation_1): Add simplification
2334 of (and X (ior (not X) Y) and (and (ior (not X) Y) X).
2335
2336 2008-02-23 Andrew Pinski <andrew_pinski@playstation.sony.com>
2337
2338 PR pch/35027
2339 * c-pch.c (c_common_valid_pch): Make the "too short to be a PCH
2340 file" warning condtional on -Winvalid-PCH.
2341
2342 2008-02-23 Daniel Jacobowitz <dan@codesourcery.com>
2343
2344 * expmed.c (extract_bit_field): Always use adjust_address for MEM.
2345
2346 2008-02-23 Uros Bizjak <ubizjak@gmail.com>
2347
2348 PR target/22076
2349 PR target/34256
2350 * config/i386/mmx.md (*mov<mode>_internal_rex64): Use "!y" to
2351 prevent reload from using MMX registers.
2352 (*mov<mode>_internal): Ditto.
2353 (*movv2sf_internal_rex64): Ditto.
2354 (*movv2sf_internal): Ditto.
2355
2356 2008-02-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2357
2358 PR documentation/31569
2359 * doc/install.texi2html: Use makeinfo --no-number-sections.
2360
2361 2008-02-22 Nathan Froyd <froydnj@codesourcery.com>
2362
2363 * config/rs6000/rs6000.c (rs6000_legitimize_address): Check to
2364 ensure that we can address an entire entity > 8 bytes. Don't
2365 generate reg+reg addressing for such data.
2366
2367 2008-02-22 Nathan Froyd <froydnj@codesourcery.com>
2368
2369 * config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Don't overalign
2370 strings when optimizing for size, unless the target cares about
2371 alignment.
2372
2373 2008-02-22 Tom Tromey <tromey@redhat.com>
2374
2375 * regclass.c (current_pass): Remove declaration.
2376
2377 2008-02-22 Anatoly Sokolov <aesok@post.ru>
2378
2379 * config/avr/libgcc.S (__RAMPZ__): Define.
2380 (__do_copy_data): Add for devices with 128KB code memory.
2381
2382 2008-02-22 Nathan Froyd <froydnj@codesourcery.com>
2383
2384 * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
2385 Use spe_abi.
2386 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
2387
2388 2008-02-22 Hans-Peter Nilsson <hp@axis.com>
2389
2390 * config/cris/cris.h (REG_CLASS_FROM_LETTER): Recognize 'b' for
2391 GENNONACR_REGS.
2392
2393 2008-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2394
2395 PR c/19999
2396 * c-typeck.c (build_binary_op): Warn about floating point
2397 comparisons if FLOAT_TYPE_P, not only for REAL_TYPE.
2398
2399 2008-02-21 Janis Johnson <janis187@us.ibm.com>
2400
2401 PR target/34526
2402 * config/rs6000/rs6000.c (rs6000_altivec_abi): Clarify comment.
2403 (rs6000_explicit_options): Split abi into spe_abi and altivec_abi,
2404 add vrsave.
2405 (rs6000_override_options): Set altivec_abi as default, not override,
2406 for 64-bit GNU/Linux; for 32-bit GNU/Linux default to altivec_abi for
2407 TARGET_ALTIVEC; default to TARGET_ALTIVEC_VRSAVE when AltiVec ABI
2408 is used; use new member spe_abi.
2409 (rs6000_handle_option): Set rs6000_explicit_options.vrsave; use
2410 spe_abi and altivec_abi.
2411
2412 2008-02-22 Tomas Bily <tbily@suse.cz>
2413
2414 * tree-vectorizer.c (vect_is_simple_reduction): Fix comment typo.
2415
2416 2008-02-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2417
2418 PR bootstrap/35273
2419 * config.build (build_file_translate): Set to `CMD //c' only if
2420 it works.
2421 * Makefile.in (build_file_translate): Improve comment.
2422
2423 2008-02-21 Jan Hubicka <jh@suse.cz>
2424
2425 * predict.def (PRED_TREE_OPCODE_POSITIVE, PRED_TREE_OPCODE_NONEQUAL,
2426 PRED_TREE_OPCODE_POSITIVE, PRED_TREE_OPCODE_NONEQUAL, PRED_CALL,
2427 PRED_TREE_EARLY_RETURN, PRED_NULL_RETURN): Update.
2428
2429 2008-02-21 Michael Matz <matz@suse.de>
2430
2431 PR target/35264
2432 * config/i386/i386.c (ix86_expand_branch): Add missing breaks.
2433
2434 2008-02-21 Uros Bizjak <ubizjak@gmail.com>
2435
2436 * config/i386/i386.md (mov<mode>cc): Macroize expander from movsfcc,
2437 movdfcc and movxfcc using X87MODEF mode iterator and SSE_FLOAT_MODE_P
2438 as insn constraint.
2439 * config/i386/sse.md (<sse>_movup<ssemodesuffixf2c>): Macroize insn
2440 from sse_movups adn sse2_movupd using SSEMODEF2P mode iterator and
2441 SSE_VEC_FLOAT_MODE_P as insn constraint.
2442 (<sse>_movmskp<ssemodesuffixf2c>): Ditto from similar patterns.
2443 (sse4a_movnt<mode>): Macroize insn from sse4a_movntsf and
2444 sse4a_movntdf using MODEF mode iterator.
2445 (sse4a_vmmovnt<mode>): Macroize insn form sse4a_vmmovntv2df and
2446 sse4a_vmmovntv4sf using SSEMODEF2P mode iterator.
2447 (sse4_1_blendp<ssemodesuffixf2c>): Ditto from similar patterns.
2448 (sse4_1_blendvp<ssemodesuffixf2c>): Ditto.
2449 (sse4_1_dpp<ssemodesuffixf2c>): Ditto.
2450 (sse4_1_roundp<ssemodesuffixf2c>): Ditto.
2451 (sse4_1_rounds<ssemodesuffixf2c>): Ditto.
2452
2453 2008-02-21 Richard Guenther <rguenther@suse.de>
2454
2455 * tree.def (PAREN_EXPR): New tree code.
2456 * fold-const.c (fold_unary): Remove PAREN_EXPR around constants
2457 and PAREN_EXPR.
2458 * tree-pretty-print.c (dump_generic_node): Handle PAREN_EXPR.
2459 * expr.c (expand_expr_real_1): Likewise.
2460 * tree-inline.c (estimate_num_insns_1): Likewise.
2461 * tree-complex.c (expand_complex_move): Likewise.
2462 * tree-vectorizer.c (vect_is_simple_use): Treat PAREN_EXPR (x)
2463 as plain x.
2464
2465 2008-02-20 Kaz Kojima <kkojima@gcc.gnu.org>
2466
2467 PR target/35225
2468 * config/sh/sh.c (find_barrier): Don't go past 'from' argument.
2469
2470 2008-02-20 Kaz Kojima <kkojima@gcc.gnu.org>
2471
2472 PR target/35190
2473 * config/sh/sh.md (jump_compact): Disable for crossing jumps.
2474
2475 * config/sh/sh.c (find_barrier): Don't go past
2476 NOTE_INSN_SWITCH_TEXT_SECTIONS note.
2477
2478 2008-02-20 DJ Delorie <dj@redhat.com>
2479
2480 * config/h8300/h8300.md (insv): Force source operand to be a register.
2481
2482 * config/h8300/h8300.c (h8300_expand_epilogue): Emit return insn
2483 as a jump, not as a plain insn.
2484
2485 2008-02-20 Seongbae Park <seongbae.park@gmail.com>
2486
2487 * doc/invoke.texi (Warning Options): Add new option
2488 -Wframe-larger-than=.
2489 (-Wframe-larger-than): Document.
2490
2491 * flags.h (warn_frame_larger_than, frame_larger_than_size):
2492 Add declarations for new option variables.
2493
2494 * final.c (final_start_function): Check the frame size
2495 before emission and issue a Wframe-larger-than warning.
2496
2497 * opts.c (warn_frame_larger_than, frame_larger_than_size):
2498 Add definitions for new option variables.
2499 (common_handle_option): Handle new option OPT_Wframe_larger_than_.
2500
2501 * common.opt (Wframe-larger-than=): New option.
2502
2503 2008-02-20 Uros Bizjak <ubizjak@gmail.com>
2504
2505 * config/i386/sse.md (<sse>_vmmul<mode>3): Fix typo in asm template.
2506 (<sse>_div<mode>3): Ditto.
2507 (<sse>_vmdiv<mode>3): Ditto.
2508 (<sse>_vmsqrt<mode>2): Ditto.
2509 (*smax<mode>3): Ditto.
2510 (sse5_frcz<mode>2): Ditto.
2511 (sse5_vmfrcz<mode>2): Ditto. Use TARGET_SSE5 instead of TARGET_ROUND
2512 as insn constraint.
2513
2514 2008-02-20 Richard Guenther <rguenther@suse.de>
2515
2516 PR middle-end/35265
2517 * builtins.c (validate_arg): If we want an INTEGER_TYPE,
2518 be happy with INTEGRAL_TYPE_P.
2519
2520 2008-02-20 Richard Guenther <rguenther@suse.de>
2521
2522 * fold-const.c (split_tree): Associate floatig-point expressions
2523 if flag_associative_math is set.
2524
2525 2008-02-20 Richard Guenther <rguenther@suse.de>
2526
2527 * tree.h (fold_real_zero_addition_p): Declare.
2528 * fold-const.c (fold_real_zero_addition_p): Export.
2529 * tree-ssa-reassoc.c (eliminate_using_constants): Also handle
2530 floating-point operations with zero and one.
2531
2532 2008-02-20 Paolo Bonzini <bonzini@gnu.org>
2533
2534 * doc/install.texi: Correct references to CFLAGS, replacing them
2535 with BOOT_CFLAGS. Document flags used during bootstrap for
2536 target libraries.
2537
2538 2008-02-20 Uros Bizjak <ubizjak@gmail.com>
2539
2540 * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): New define.
2541 * config/i386/i386.md (*sse_setcc<mode>): Macroize from *sse_setccsf
2542 and *sse_setccdf using MODEF mode iterator and SSE_FLOAT_MODE_P as
2543 insn constraint.
2544 (smin<mode>3): Ditto from similar patterns.
2545 (smax<mode>3): Ditto.
2546 (*ieee_smin<mode>3): Ditto.
2547 (*ieee_smax<mode>3): Ditto.
2548 * config/i386/sse.md (sse): New mode attribute.
2549 (mov<mode>): Macroize expander from movv4sf and movv2df using
2550 SSEMODEF2P mode iterator.
2551 (<sse>_movnt<mode>): Ditto from similar patterns. Use
2552 SSE_VEC_FLOAT_MODE_P as insn constraint.
2553 (storent<mode>): Ditto.
2554 (storent<mode>): Macroize expander from storentsf and storentdf using
2555 MODEF mode iterator.
2556 (neg<mode>2): Macroize from negv4sf2 and negv2df2 using SSEMODEF2P
2557 mode iterator and SSE_VEC_FLOAT_MODE_P as insn constraint.
2558 (abs<mode>2): Ditto from similar patterns.
2559 (add<mode>3, *add<mode>3, <sse>_vmadd<mode>3): Ditto.
2560 (sub<mode>3, *sub<mode>3, <sse>_vmsub<mode>3): Ditto.
2561 (<sse>_div<mode>3, <sse>_vmdiv<mode>3): Ditto.
2562 (<sse>_vmsqrt<mode>2): Ditto.
2563 (smin<mode>3, *smin<mode>3_finite, *smin<mode>3)
2564 (<sse>_vmsmin<mode>3, *ieee_smin<mode>3): Ditto.
2565 (smax<mode>3, *smax<mode>3_finite, *smax<mode>3)
2566 (<sse>_vmsmax<mode>3, *ieee_smax<mode>3): Ditto.
2567 (<sse>_maskcmp<mode>3): Macroize from sse_maskcmpv4sf3,
2568 sse_maskcmpsf3, sse2_maskcmpv2df3 and sse2_maskcmpdf3 using SSEMODEF4
2569 mode iterator. Use SSE_FLOAT_MODE_P with SSE_VEC_FLOAT_MODE_P as
2570 insn constraint.
2571 (<sse>_comi): Macroize from sse_comi and sse2_comi using MODEF mode
2572 iterator and SSE_FLOAT_MODE_P as insn constraint.
2573 (<sse>_ucomi): Ditto from similar patterns.
2574 (<sse>_vmmaskcmp<mode>3): Macroize from sse_vmmaskcmpv4sf3 and
2575 sse2_vmmaskcmpv2df3 using SSEMODEF2P mode iterator and
2576 SSE_VEC_FLOAT_MODE_P as insn constraint.
2577 (vcond<mode>): Ditto from similar patterns.
2578 (and<mode>3, *and<mode>3): Ditto.
2579 (<sse>_nand<mode>3): Ditto.
2580 (ior<mode>3, *ior<mode>3): Ditto.
2581 (xor<mode>3, *xor<mode>3): Ditto.
2582 (*and<mode>3): Macroize from *andsf3 and *anddf3 using MODEF mode
2583 iterator and SSE_FLOAT_MODE_P as insn constraint.
2584 (*nand<mode>3): Ditto from similar patterns.
2585 (*ior<mode>3): Ditto.
2586 (*xor<mode>3): Ditto.
2587
2588 2008-02-20 Ira Rosen <irar@il.ibm.com>
2589
2590 * config/spu/spu.md (vec_unpacku_hi_v8hi, vec_unpacku_lo_v8hi,
2591 vec_unpacks_hi_v8hi, vec_unpacks_lo_v8hi, vec_unpacku_hi_v16qi,
2592 vec_unpacku_lo_v16qi, vec_unpacks_lo_v16qi): Implement.
2593
2594 2008-02-19 Jan Hubicka <jh@suse.cz>
2595
2596 * predict.c (tree_bb_level_predictions): Remove variable next
2597 mistakely introduced by previous commit.
2598
2599 2008-02-19 Jan Hubicka <jh@suse.cz>
2600
2601 * predict.c (predict_paths_leading_to): Rewrite.
2602 (predict_paths_for_bb): New.
2603 (tree_bb_level_predictions): Update call of predict_paths_leading_to.
2604
2605 2008-02-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2606
2607 PR bootstrap/35218
2608 * Makefile.in (build_file_translate): New.
2609 (gcc-vers.texi): Use it for translating $(abs_srcdir).
2610 * config.build (build_file_translate): Set to `CMD //c' on MinGW.
2611 * configure.ac (build_file_translate): Substitute it.
2612 * configure: Regenerate.
2613
2614 2008-02-19 Jan Hubicka <jh@suse.cz>
2615
2616 PR rtl-optimization/34408
2617 * see.c (see_def_extension_not_merged): Copy subreg so we don't have
2618 invalid sharing.
2619
2620 2008-02-19 Jan Hubicka <jh@suse.cz>
2621
2622 PR middle-end/28779
2623 * tree-inline.c (estimate_num_insns_1): Fix counting of cost of
2624 call_expr.
2625
2626 2008-02-19 H.J. Lu <hongjiu.lu@intel.com>
2627
2628 PR Ada/35186
2629 * config/i386/i386-modes.def: Revert the last DI alignment
2630 change until Ada people can look into it.
2631
2632 2008-02-19 Nick Clifton <nickc@redhat.com>
2633
2634 * opts.c (print_specific_help): Fix typo in --help text.
2635
2636 2008-02-19 Jakub Jelinek <jakub@redhat.com>
2637
2638 PR target/35239
2639 * config/i386/cpuid.h (__cpuid, __get_cpuid_max): Use special
2640 32-bit inline asm without asm alternatives for host GCC < 3.0.
2641
2642 2008-02-19 Richard Guenther <rguenther@suse.de>
2643
2644 PR tree-optimization/34989
2645 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Re-structure.
2646 Allow propagation to INDIRECT_REF if we can simplify only.
2647
2648 2008-02-19 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2649
2650 * c-common.c (warn_for_collisions_1): Use appropriate option when
2651 warning.
2652
2653 2008-02-19 Nick Clifton <nickc@redhat.com>
2654
2655 PR other/31349
2656 * opts.c (undocumented_msg): Leave blank unless checking is enabled.
2657 (handle_options): Fix indentation.
2658 (print_filtered_help): If no language-specific options were
2659 displayed tell the user how to list all the options supported by
2660 the language's front-end.
2661 (print_specific_help): Fix indentation and remove duplicate line.
2662 (common_handle_option): Handle the -v option.
2663 For --help enable the display of undocumented options if the -v
2664 switch has been included on the command line.
2665 For --help= check for overlaps in the arguments between the option
2666 classes and the language names and issue a warning when they
2667 cannot be disambiguated.
2668 * c.opt (v): Pass on to the common option handler.
2669
2670 2008-02-19 Revital Eres <eres@il.ibm.com>
2671
2672 * modulo-sched.c (sms_schedule): Change dump message when
2673 create_ddg function fails.
2674 (try_scheduling_node_in_cycle): Rename row to cycle.
2675 (print_partial_schedule): Rename CYCLE to ROW.
2676
2677 2008-02-19 Christian Bruel <christian.bruel@st.com>
2678 Zdenek Dvorak <ook@ucw.cz>
2679
2680 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check step alignment.
2681
2682 2008-02-19 Uros Bizjak <ubizjak@gmail.com>
2683
2684 PR target/33555
2685 * config/i386/i386.md (*x86_movsicc_0_m1_se): New insn pattern.
2686 (*x86_movdicc_0_m1_se): Ditto.
2687
2688 2008-02-19 Uros Bizjak <ubizjak@gmail.com>
2689
2690 * config/i386/sfp-machine.h (__gcc_CMPtype): New typedef.
2691 (CMPtype): Define as __gcc_CMPtype.
2692 * config/rs6000/sfp-machine.h (__gcc_CMPtype): New typedef.
2693 (CMPtype): Define as __gcc_CMPtype.
2694
2695 2008-02-19 Hans-Peter Nilsson <hp@axis.com>
2696
2697 Support valgrind 3.3 for --enable-checking=valgrind.
2698 * system.h: Consolidate ENABLE_VALGRIND_CHECKING-dependent defines
2699 here.
2700 [!VALGRIND_MAKE_MEM_NOACCESS]: Define as VALGRIND_MAKE_NOACCESS.
2701 [!VALGRIND_MAKE_MEM_DEFINED]: Define as VALGRIND_MAKE_READABLE.
2702 [!VALGRIND_MAKE_MEM_UNDEFINED]: Define as VALGRIND_MAKE_WRITABLE.
2703 * ggc-common.c: Remove ENABLE_VALGRIND_CHECKING-dependent defines.
2704 Replace use of VALGRIND_MAKE_READABLE, VALGRIND_MAKE_WRITABLE, and
2705 VALGRIND_MAKE_NOACCESS with VALGRIND_MAKE_MEM_DEFINED,
2706 VALGRIND_MAKE_MEM_UNDEFINED, and VALGRIND_MAKE_MEM_NOACCESS
2707 respectively.
2708 * ggc-zone.c: Similar.
2709 * ggc-page.c: Similar.
2710
2711 2008-02-19 Paul Brook <paul@codesourcery.com>
2712
2713 PR target/35071
2714 * config/arm/ieee754-df.S: Fix do_it typo.
2715 * config/arm/ieee754-sf.S: Fix do_it typo.
2716
2717 2008-02-18 H.J. Lu <hongjiu.lu@intel.com>
2718
2719 PR target/35189
2720 * config/i386/i386.c (OPTION_MASK_ISA_MMX_SET): New.
2721 (OPTION_MASK_ISA_3DNOW_SET): Likewise.
2722 (OPTION_MASK_ISA_SSE_SET): Likewise.
2723 (OPTION_MASK_ISA_SSE2_SET): Likewise.
2724 (OPTION_MASK_ISA_SSE3_SET): Likewise.
2725 (OPTION_MASK_ISA_SSSE3_SET): Likewise.
2726 (OPTION_MASK_ISA_SSE4_1_SET): Likewise.
2727 (OPTION_MASK_ISA_SSE4_2_SET): Likewise.
2728 (OPTION_MASK_ISA_SSE4_SET): Likewise.
2729 (OPTION_MASK_ISA_SSE4A_SET): Likewise.
2730 (OPTION_MASK_ISA_SSE5_SET): Likewise.
2731 (OPTION_MASK_ISA_3DNOW_A_UNSET): Likewise.
2732 (OPTION_MASK_ISA_MMX_UNSET): Updated.
2733 (OPTION_MASK_ISA_3DNOW_UNSET): Updated.
2734 (OPTION_MASK_ISA_SSE_UNSET): Likewise.
2735 (OPTION_MASK_ISA_SSE3_UNSET): Likewise.
2736 (OPTION_MASK_ISA_SSSE3_UNSET): Likewise.
2737 (OPTION_MASK_ISA_SSE4_1_UNSET): Likewise.
2738 (OPTION_MASK_ISA_SSE4_2_UNSET): Likewise.
2739 (OPTION_MASK_ISA_SSE4A_UNSET): Likewise.
2740 (OPTION_MASK_ISA_SSE5_UNSET): Likewise.
2741 (OPTION_MASK_ISA_SSE4): Removed.
2742 (ix86_handle_option): Turn on bits in ix86_isa_flags and
2743 ix86_isa_flags_explicit with OPTION_MASK_ISA_XXX_SET for -mXXX.
2744 (override_options): Don't turn on implied SSE/MMX bits in
2745 ix86_isa_flags.
2746
2747 2008-02-18 H.J. Lu <hongjiu.lu@intel.com>
2748
2749 * config/i386/i386-modes.def: Use 4 byte alignment on DI for
2750 32bit host.
2751
2752 2008-02-18 Joey Ye <joey.ye@intel.com>
2753
2754 PR middle-end/34921
2755 * tree-nested.c (insert_field_into_struct): Set type alignment
2756 to field alignment if the former is less than the latter.
2757
2758 2008-02-18 Jakub Jelinek <jakub@redhat.com>
2759
2760 * BASE-VER: Set to 4.4.0.
2761
2762 2008-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2763
2764 * doc/c-tree.texi: Use @dots{} and @enddots{} where appropriate.
2765 * doc/cfg.texi: Likewise.
2766 * doc/extend.texi: Likewise.
2767 * doc/gty.texi: Likewise.
2768 * doc/invoke.texi: Likewise.
2769 * doc/loop.texi: Likewise.
2770 * doc/md.texi: Likewise.
2771 * doc/passes.texi: Likewise.
2772 * doc/rtl.texi: Likewise.
2773 * doc/sourcebuild.texi: Likewise.
2774 * doc/tm.texi: Likewise.
2775 * doc/tree-ssa.texi: Likewise.
2776
2777 2008-02-17 Richard Guenther <rguenther@suse.de>
2778
2779 PR middle-end/35227
2780 * tree-complex.c (init_parameter_lattice_values): Handle parameters
2781 without default definition.
2782
2783 2008-02-17 Richard Guenther <rguenther@suse.de>
2784
2785 PR tree-optimization/35231
2786 * tree-vrp.c (register_edge_assert_for): Do not assume A == 0
2787 if A | B != 1.
2788
2789 2008-02-17 Uros Bizjak <ubizjak@gmail.com>
2790
2791 Revert:
2792 2008-02-15 Uros Bizjak <ubizjak@gmail.com>
2793 * config/i386/sfp-machine.h (CMPtype): Define as typedef using
2794 libgcc_cmp_return mode.
2795
2796 2008-02-16 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2797
2798 PR c/28368
2799 * doc/invoke.texi (-std): Clarify description of -std= and -ansi.
2800
2801 2008-02-16 Ralf Corsepius <ralf.corsepius@rtems.org>
2802
2803 * config/m68k/t-rtems (M68K_MLIB_CPU): Add 5208, 5307, 5407, 5475
2804 multilibs.
2805
2806 2008-02-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2807
2808 * doc/c-tree.texi: Use `@.' where appropriate.
2809 * doc/extend.texi: Likewise.
2810 * doc/install.texi: Likewise.
2811 * doc/invoke.texi: Likewise.
2812 * doc/loop.texi: Likewise.
2813 * doc/makefile.texi: Likewise.
2814 * doc/md.texi: Likewise.
2815 * doc/passes.texi: Likewise.
2816 * doc/standards.texi: Likewise.
2817 * doc/tm.texi: Likewise.
2818
2819 2008-02-15 Jakub Jelinek <jakub@redhat.com>
2820
2821 PR middle-end/35196
2822 * omp-low.c (expand_omp_for_generic): Don't initialize fd->v
2823 in entry_bb.
2824 (expand_omp_for_static_nochunk): Initialize fd->v in seq_start_bb
2825 rather than in entry_bb.
2826
2827 2008-02-15 Uros Bizjak <ubizjak@gmail.com>
2828
2829 * config/i386/sfp-machine.h (CMPtype): Define as typedef using
2830 libgcc_cmp_return mode.
2831
2832 2008-02-15 Jakub Jelinek <jakub@redhat.com>
2833
2834 PR middle-end/35130
2835 * tree-nested.c (convert_call_expr): Put FRAME.* vars into
2836 OMP_CLAUSE_SHARED rather than OMP_CLAUSE_FIRSTPRIVATE clause.
2837
2838 2008-02-15 Richard Guenther <rguenther@suse.de>
2839 Zdenek Dvorak <ook@ucw.cz>
2840
2841 PR tree-optimization/35164
2842 * tree-flow.h (stmt_references_abnormal_ssa_name): Declare.
2843 * tree-dfa.c (stmt_references_abnormal_ssa_name): New function.
2844 * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
2845 Only propagate addresses which do not have abnormal SSA_NAMEs
2846 in their operands.
2847
2848 2008-02-15 Joseph Myers <joseph@codesourcery.com>
2849
2850 PR target/35088
2851 * config/m68k/m68k.h (DWARF_CIE_DATA_ALIGNMENT): Define.
2852
2853 2008-02-15 Jan Hubicka <jh@suse.cz>
2854
2855 PR middle-end/35149
2856 * ipa.c (cgraph_remove_unreachable_nodes): Clear local.inlinable flag.
2857
2858 2008-02-15 Uros Bizjak <ubizjak@gmail.com>
2859
2860 PR middle-end/34621
2861 * function.c (pad_to_arg_alignment): Remove test for STACK_BOUNDARY
2862 when calculating alignment_pad.
2863
2864 2008-02-15 Uros Bizjak <ubizjak@gmail.com>
2865
2866 * config/i386/i386.h (CLEAR_RATIO): Use MIN macro.
2867 (WIDEST_HARDWARE_FP_SIZE): Use LONG_DOUBLE_TYPE_SIZE define.
2868 * config/i386/darwin.h (PREFERRED_STACK_BOUNDARY): Use MAX macro
2869 and STACK_BOUNDARY define.
2870
2871 2008-02-14 Danny Smith <dannysmith@users.sourceforge.net>
2872
2873 PR preprocessor/35061
2874 * c-pragma.c (handle_pragma_pop_macro): Check that
2875 pushed_macro_table has been allocated.
2876
2877 2008-02-14 Eric Botcazou <ebotcazou@adacore.com>
2878
2879 PR middle-end/35136
2880 * gimplify.c (force_gimple_operand_bsi): Revert 2008-02-12 change.
2881 (force_gimple_operand): Likewise.
2882 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Add new cases
2883 for TARGET_MEM_REF and CONVERT_EXPR/NON_LVALUE_EXPR/NOP_EXPR.
2884 Also recurse on the operand for regular VIEW_CONVERT_EXPRs.
2885 (find_interesting_uses_address): Check addressability and alignment
2886 of the base expression only after substituting bases of IVs into it.
2887
2888 2008-02-14 Michael Matz <matz@suse.de>
2889
2890 PR target/34930
2891 * function.c (instantiate_virtual_regs_in_insn): Reload address
2892 before falling back to reloading the whole operand.
2893
2894 2008-02-14 Andreas Krebbel <krebbel1@de.ibm.com>
2895
2896 * config/s390/s390.c (s390_mainpool_start): Emit the pool
2897 before the first section switch note.
2898
2899 2008-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2900
2901 * doc/bugreport.texi: Update copyright years.
2902 * doc/c-tree.texi: Likewise.
2903 * doc/cfg.texi: Likewise.
2904 * doc/cpp.texi: Likewise.
2905 * doc/cppinternals.texi: Likewise.
2906 * doc/fragments.texi: Likewise.
2907 * doc/frontends.texi: Likewise.
2908 * doc/gcc.texi: Likewise.
2909 * doc/gty.texi: Likewise.
2910 * doc/hostconfig.texi: Likewise.
2911 * doc/implement-c.texi: Likewise.
2912 * doc/libgcc.texi: Likewise.
2913 * doc/loop.texi: Likewise.
2914 * doc/makefile.texi: Likewise.
2915 * doc/options.texi: Likewise.
2916 * doc/passes.texi: Likewise.
2917 * doc/rtl.texi: Likewise.
2918 * doc/sourcebuild.texi: Likewise.
2919 * doc/standards.texi: Likewise.
2920 * doc/tree-ssa.texi: Likewise.
2921 * doc/trouble.texi: Likewise.
2922
2923 * doc/extend.texi: Use @: or add comma where appropriate.
2924 * doc/invoke.texi: Likewise.
2925 * doc/tm.texi: Likewise.
2926
2927 2008-02-14 Alan Modra <amodra@bigpond.net.au>
2928
2929 PR target/34393
2930 * config/rs6000/rs6000.md (restore_stack_block): Force operands[1]
2931 to a reg.
2932
2933 2008-02-14 Jesper Nilsson <jesper.nilsson@axis.com>
2934
2935 * doc/md.texi (clz, ctz): Add reference.
2936 * doc/rtl.texi (clz, ctz): Likewise.
2937
2938 2008-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2939
2940 PR other/35148
2941 * Makefile.in (gcc-vers.texi): Use abs_srcdir for the value of
2942 srcdir.
2943
2944 2008-02-13 Andreas Krebbel <krebbel1@de.ibm.com>
2945
2946 * config/s390/s390.c (struct constant_pool): New field
2947 emit_pool_after added.
2948 (s390_mainpool_start): Set the emit_pool_after flag according
2949 to the section switch notes.
2950 (s390_mainpool_finish): Consider emit_pool_after when emitting
2951 the literal pool at the end of the function.
2952 (s390_chunkify_start): Force literal pool splits at section
2953 switch notes.
2954
2955 2008-02-13 Michael Matz <matz@suse.de>
2956
2957 PR debug/35065
2958 * var-tracking.c (clobber_variable_part): Correctly traverse the
2959 list.
2960
2961 2008-02-13 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2962
2963 PR 29673
2964 * doc/invoke.texi (Debugging Options): Remove -fdump-tree-inlined.
2965 Add -fdump-ipa-inline.
2966 * tree-dump.c (dump_files): Remove tree-inlined dump.
2967 * tree-pass.h (tree_dump_index): Remove TDI_inlined.
2968
2969 2008-02-12 Richard Guenther <rguenther@suse.de>
2970
2971 PR tree-optimization/35171
2972 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Deal with
2973 default defs.
2974
2975 2008-02-12 Richard Guenther <rguenther@suse.de>
2976
2977 PR middle-end/35163
2978 * fold-const.c (fold_widened_comparison): Use get_unwidened in
2979 value-preserving mode. Disallow final truncation.
2980
2981 2008-02-12 Eric Botcazou <ebotcazou@adacore.com>
2982
2983 PR middle-end/35136
2984 * gimplify.c (force_gimple_operand_bsi): Move SSA renaming
2985 code from here to...
2986 (force_gimple_operand): ...here.
2987
2988 2008-02-12 Jakub Jelinek <jakub@redhat.com>
2989
2990 PR c++/35144
2991 * tree-sra.c (sra_build_assignment): fold_convert SRC if copying
2992 non-compatible pointers.
2993 (generate_element_copy): If SRC and DST are RECORD_TYPEs with
2994 different FIELD_DECLs, try harder by comparing field offsets, sizes
2995 and types.
2996
2997 PR inline-asm/35160
2998 * function.c (match_asm_constraints_1): Don't replace the same input
2999 multiple times.
3000
3001 2008-02-12 Anatoly Sokolov <aesok@post.ru>
3002
3003 * config/avr/avr.h (AVR_HAVE_RAMPZ): Define.
3004 * config/avr/avr.c (expand_prologue): Save RAMPZ register.
3005 (expand_epilogue): Restore RAMPZ register.
3006 * config/avr/avr.md (RAMPZ_ADDR): New constant.
3007
3008 2008-02-11 Kai Tietz <kai.tietz@onevision.com>
3009
3010 * config/i386/cygwin.asm: (__alloca): Correct calling
3011 convention and alignment.
3012 (__chkstk): Force 8 byte stack alignment.
3013
3014 2008-02-11 Uros Bizjak <ubizjak@gmail.com>
3015 Richard Guenther <rguenther@suse.de>
3016
3017 PR tree-optimization/33992
3018 * tree-ssa-loop-im.c (rewrite_bittest): Fixup the type of
3019 the zero we compare against.
3020
3021 2008-02-10 Danny Smith <dannysmith@users.sourceforge.net>
3022
3023 PR libfortran/35063
3024 * gthr-win32.h (__gthread_mutex_destroy_function): New function
3025 to CloseHandle after unlocking to prevent accumulation of handle
3026 count.
3027
3028 2008-02-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3029
3030 PR middle_end/34150
3031 * pa.c (legitimize_pic_address): Add REG_EQUAL note on sets with a
3032 pic_label_operand source. Similarly, add a REG_LABEL_OPERAND note
3033 and update LABEL_NUSES during and after reload.
3034
3035 2008-02-08 Steven Bosscher <stevenb.gcc@gmail.com>
3036
3037 PR middle-end/34627
3038 * combine.c (simplify_if_then_else): Make sure the comparison is
3039 against const0_rtx when simplifying to (abs x) or (neg (abs X)).
3040
3041 2008-02-08 Richard Sandiford <rsandifo@nildram.co.uk>
3042
3043 PR bootstrap/35051
3044 * double-int.h: Don't include gmp.h for GENERATOR_FILEs.
3045 (mpz_set_double_int, mpz_get_double_int): Hide from GENERATOR_FILEs.
3046 * real.h: Don't include gmp.h or mpfr.h for GENERATOR_FILEs.
3047 (real_from_mpfr, mpfr_from_real): Hide from GENERATOR_FILEs.
3048 * tree.h (get_type_static_bounds): Likewise.
3049
3050 2008-02-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3051
3052 * doc/invoke.texi (Option Summary, C++ Dialect Options)
3053 (Objective-C and Objective-C++ Dialect Options, Warning Options):
3054 Make -Wfoo language annotations match what the compiler outputs.
3055
3056 2008-02-08 Sa Liu <saliu@de.ibm.com>
3057
3058 * config/spu/spu-builtins.def: Fixed wrong parameter type in spu
3059 intrinsics spu_convts, spu_convtu, spu_convtf.
3060 * testsuite/gcc.target/spu/intrinsics-3.c: New. Test error messages.
3061
3062 2008-02-08 Hans-Peter Nilsson <hp@axis.com>
3063
3064 * doc/extend.texi (Function Attributes) <noinline>: Mention
3065 asm ("") as method to keep calls.
3066
3067 2008-02-07 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3068
3069 PR other/32754
3070 * doc/options.texi (Options): Replace references to opts.sh with
3071 optc-gen.awk.
3072 * opts-common.c: Likewise.
3073 * optc-gen.awk: Likewise.
3074
3075 2008-02-07 Andreas Krebbel <krebbel1@de.ibm.com>
3076
3077 * config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit.
3078
3079 2008-02-07 Richard Henderson <rth@redhat.com>
3080
3081 PR rtl-opt/33410
3082 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use an
3083 EXPR_LIST for the REG_EQUAL instead of a comparison with a
3084 funny mode.
3085
3086 2008-02-07 Uros Bizjak <ubizjak@gmail.com>
3087
3088 PR tree-optimization/35085
3089 * tree-ssa-reassoc.c (rewrite_expr_tree): Enable destructive update
3090 for operand entry oe2 in addition to operand entry oe3 in order to
3091 expose more opportunities for vectorizer sum reduction.
3092
3093 2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3094
3095 PR other/35107
3096 * Makefile.in (LIBS): Remove $(GMPLIBS).
3097 (cc1-dummy, cc1): Add $(GMPLIBS).
3098
3099 2008-02-06 Jan Hubicka <jh@suse.cz>
3100
3101 PR target/23322
3102 * i386.md (moddf_integer): Do not produce partial memory stalls for
3103 targets where it hurts.
3104
3105 2008-02-06 Uros Bizjak <ubizjak@gmail.com>
3106
3107 PR target/35083
3108 * optabs.c (expand_float): Do not check for decimal modes when
3109 expanding unsigned integer through signed conversion.
3110
3111 2008-02-06 Nick Clifton <nickc@redhat.com>
3112
3113 * config/stormy16/stormy16.md (eqbranchsi): Replace a match_dup
3114 inside the clobber with a match_operand and duplicated operand
3115 number in the constraint.
3116 (ineqbranchsi): Delete redundant comment.
3117
3118 2008-02-06 Ralf Corsepius <ralf.corsepius@rtems.org>
3119
3120 * config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add
3121 builtin_define ("__USE_INIT_FINI__").
3122 * config/h8300/t-rtems (MULTILIB_OPTION,MULTILIB_DIRNAMES): Add
3123 -msx multilibs.
3124 * gthr-rtems.h: Remove __GTHREAD_MUTEX_INIT.
3125
3126 2008-02-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3127
3128 PR documentation/30330
3129 * doc/invoke.texi (C++ Dialect Options)
3130 (Objective-C and Objective-C++ Dialect Options, Warning Options):
3131 For each warning option -Wfoo that allows -Wno-foo, ensure both
3132 -Wfoo and -Wno-foo are listed in the option index. Fix index
3133 entry of -Wswitch-default, index -Wnormalized= including the
3134 `=', and -Wlarger-than-@var{len} including @var{len}.
3135
3136 2008-02-05 Uros Bizjak <ubizjak@gmail.com>
3137
3138 * config/i386/i386.md (floatunssisf2): Use
3139 ix86_expand_convert_uns_sisf_sse also for TARGET_SSE.
3140 (floatunssi<mode>2): Rename from floatunssisf2 and floatunssidf2.
3141 Macroize expander using MODEF mode iterator.
3142
3143 2008-02-05 Diego Novillo <dnovillo@google.com>
3144
3145 http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00140.html
3146
3147 PR 33738
3148 * tree-vrp.c (vrp_evaluate_conditional): Revert fix for PR 33738.
3149
3150 2008-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3151
3152 PR other/35070
3153 * toplev.c (print_version): Honor `indent' for GMP/MPFR warnings.
3154
3155 2008-02-05 H.J. Lu <hongjiu.lu@intel.com>
3156
3157 PR target/35084
3158 * config/i386/i386.c (ix86_function_sseregparm): Add an arg
3159 to indicate if a message should be generated.
3160 (init_cumulative_args): Updated.
3161 (function_value_32): Likewise.
3162
3163 2008-02-05 Joseph Myers <joseph@codesourcery.com>
3164
3165 * doc/include/texinfo.tex: Update to version 2008-02-04.16.
3166
3167 2008-02-05 Uros Bizjak <ubizjak@gmail.com>
3168
3169 PR target/35083
3170 * config/i386/i386.md (floatunsisf2): Enable for TARGET_SSE_MATH only.
3171 Call ix86_expand_convert_uns_sisf_sse for TARGET_SSE2.
3172
3173 2008-02-04 Diego Novillo <dnovillo@google.com>
3174
3175 http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00110.html
3176
3177 PR 33738
3178 * tree-vrp.c (vrp_evaluate_conditional): With
3179 -Wtype-limits, emit a warning when comparing against a
3180 constant outside the natural range of OP0's type.
3181
3182 2008-02-04 Richard Guenther <rguenther@suse.de>
3183
3184 PR middle-end/33631
3185 * expr.c (count_type_elements): Give for unions instead of
3186 guessing.
3187
3188 2008-02-04 Richard Guenther <rguenther@suse.de>
3189
3190 PR middle-end/35043
3191 * gimplify.c (gimplify_init_ctor_eval): Convert array indices
3192 to TYPE_DOMAINs base type instead of using bitsizetype here.
3193
3194 2008-02-03 Jason Merrill <jason@redhat.com>
3195
3196 * print-tree.c (print_node) [CONSTRUCTOR]: Print elements.
3197
3198 2008-02-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3199
3200 PR other/29972
3201 * doc/invoke.texi (C++ Dialect Options, Optimize Options)
3202 (HPPA Options, i386 and x86-64 Options, IA-64 Options)
3203 (RS/6000 and PowerPC Options): Fix typos and markup.
3204 * doc/passes.texi (Tree-SSA passes): Likewise.
3205
3206 2008-02-02 Michael Matz <matz@suse.de>
3207
3208 PR target/35045
3209 * postreload-gcse.c (record_last_reg_set_info_regno): Renamed
3210 from record_last_reg_set_info.
3211 (record_last_reg_set_info): Take an RTX argument, iterate over all
3212 constituent hardregs.
3213 (record_last_set_info, record_opr_changes): Change calls to
3214 new signature or to record_last_reg_set_info_regno.
3215
3216 2008-02-02 Gerald Pfeifer <gerald@pfeifer.com>
3217
3218 * doc/extend.texi (X86 Built-in Functions): Fix grammar.
3219
3220 2008-02-01 Hans-Peter Nilsson <hp@axis.com>
3221
3222 PR rtl-optimization/34773
3223 * reg-notes.def (EQUAL): Mention significance of combination of
3224 REG_EQUAL and REG_RETVAL.
3225 * fwprop.c (try_fwprop_subst): Don't add REG_EQUAL to an
3226 insn that has a REG_RETVAL.
3227
3228 2008-02-01 Roger Sayle <roger@eyesopen.com>
3229
3230 PR bootstrap/33781
3231 * configure.ac (--enable-fixed-point): Disable unless explicitly
3232 requested on IRIX.
3233 * configure: Regenerate.
3234
3235 2008-02-01 Richard Guenther <rguenther@suse.de>
3236
3237 PR other/35042
3238 * invoke.texi (-finline-limit): Remove no longer true parts
3239 of the documentation. Note that there is no default value.
3240
3241 2008-02-01 Andrew Pinski <pinskia@gmail.com>
3242 Mark Mitchell <mark@codesourcery.com>
3243 Ben Elliston <bje@au.ibm.com>
3244
3245 PR c/29326
3246 * doc/extend.texi (Other Builtins): Document.
3247
3248 2008-01-31 Tom Browder <tom.browder@gmail.com>
3249
3250 * doc/c-tree.texi (Types): Fix grammar.
3251 (Expression trees): Ditto.
3252 * doc/passes.texi (Tree-SSA passes): Ditto.
3253
3254 * doc/configterms.texi (Configure Terms): Fix typo.
3255 * doc/cpp.texi (Common Predefined Macros): Ditto.
3256 * doc/md.texi (Machine Constraints): Ditto.
3257
3258 * doc/makefile.texi (Makefile): Add comma.
3259
3260 2008-01-31 Tom Browder <tom.browder@gmail.com>
3261 Gerald Pfeifer <gerald@pfeifer.com>
3262
3263 * doc/sourcebuild.texi (Front End): Remove references to CVS
3264 and CVSROOT/modules.
3265 (Texinfo Manuals): Replace reference to CVS by one to SVN.
3266 (Back End): Remove reference to CVS.
3267
3268 2008-01-31 Richard Sandiford <rsandifo@nildram.co.uk>
3269
3270 PR target/34900
3271 * config/mips/mips.c (gen_load_const_gp): New function, taking a
3272 comment from...
3273 (mips16_gp_pseudo_reg): ...here.
3274 * config/mips/mips.md (load_const_gp): Replace with...
3275 (load_const_gp_<mode>): ...this :P-based insn.
3276
3277 2008-01-31 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3278
3279 * doc/invoke.texi (-ansi): Mention explicitly corresponding -std=
3280 options. Minor fixes.
3281 (-std): Move reference to standards closer to where language
3282 standards are first mentioned.
3283
3284 2008-01-31 Richard Sandiford <rsandifo@nildram.co.uk>
3285
3286 PR rtl-optimization/34995
3287 * reload.c (alternative_allows_const_pool_ref): Take an rtx
3288 parameter and return a bool. If the rtx parameter is nonnull,
3289 check that it satisfies an EXTRA_MEMORY_CONSTRAINT.
3290 (find_reloads): Update call accordingly. Pass the new operand
3291 if it needed no address reloads, otherwise pass null.
3292
3293 2008-01-30 Richard Henderson <rth@redhat.com>
3294
3295 PR c/34993
3296 * tree.c (build_type_attribute_qual_variant): Skip TYPE_DOMAIN
3297 for unbounded arrays.
3298
3299 2008-01-30 Silvius Rus <rus@google.com>
3300
3301 * config/i386/xmmintrin.h (_mm_prefetch): Add const to first arg.
3302
3303 2008-01-30 Jan Hubicka <jh@suse.cz>
3304
3305 PR target/34982
3306 * i386.c (init_cumulative_args): Use real function declaration when
3307 calling locally.
3308
3309 2008-01-30 Richard Sandiford <rsandifo@nildram.co.uk>
3310
3311 PR rtl-optimization/34998
3312 * global.c (build_insn_chain): Treat non-subreg_lowpart
3313 SUBREGs of pseudos as clobbering all the words covered by the
3314 SUBREG, not just all the bytes.
3315 * ra-conflict.c (clear_reg_in_live): Likewise. Take the
3316 original df_ref rather than an extract parameter.
3317 (global_conflicts): Update call accordingly.
3318
3319 2008-01-30 Andreas Krebbel <krebbel1@de.ibm.com>
3320
3321 * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): Rearrange
3322 the overflow check to make it easier to read.
3323 (__fixtfdi): Change the type of the ll member in union
3324 long_double to UDItype_x.
3325
3326 2008-01-30 Jakub Jelinek <jakub@redhat.com>
3327
3328 PR middle-end/34969
3329 * cgraph.h (cgraph_update_edges_for_call_stmt): New prototype.
3330 * cgraph.c (cgraph_update_edges_for_call_stmt): New function.
3331 * tree-inline.c (fold_marked_statements): Call
3332 cgraph_update_edges_for_call_stmt if folding a call statement.
3333 * cgraphunit.c (verify_cgraph_node): Set cfun to this_cfun for
3334 debug_generic_stmt calls, reset it back afterwards.
3335
3336 PR c/35017
3337 * c-decl.c (start_decl): Don't pedwarn about TREE_READONLY
3338 static decls.
3339 * c-typeck.c (build_external_ref): Don't pedwarn about
3340 static vars in current function's scope.
3341
3342 2008-01-29 Joseph Myers <joseph@codesourcery.com>
3343
3344 * config.gcc (i[34567]86-*-nto-qnx*): Remove deprecation.
3345
3346 2008-01-29 Bernhard Fischer <aldot@gcc.gnu.org>
3347
3348 PR c/35002
3349 * ipa-struct-reorg.c: Fix spelling.
3350 * params.def: Ditto.
3351
3352 2008-01-29 Richard Guenther <rguenther@suse.de>
3353
3354 PR middle-end/35006
3355 * tree-inline.h (struct copy_body_data): Add remapping_type_depth
3356 field.
3357 * tree-inline.c (remap_type): Increment remapping_type_depth
3358 around remapping types.
3359 (copy_body_r): Only add referenced variables if they are referenced
3360 from code, not types.
3361
3362 2008-01-29 Douglas Gregor <doug.gregor@gmail.com>
3363
3364 PR c++/34055
3365 PR c++/34103
3366 PR c++/34219
3367 PR c++/34606
3368 PR c++/34753
3369 PR c++/34754
3370 PR c++/34755
3371 PR c++/34919
3372 PR c++/34961
3373 * c-pretty-print.c (pp_c_type_qualifier_list): Don't try to print
3374 qualifiers for an ERROR_MARK_NODE or a NULL_TREE.
3375
3376 2008-01-28 Andy Hutchinson <hutchinsonandy@netscape.net>
3377
3378 PR target/34412
3379 * config/avr/avr.c (expand_prologue): Use correct QI mode frame
3380 pointer for tiny stack.
3381
3382 2008-01-28 Bernhard Fischer <aldot@gcc.gnu.org>
3383
3384 * doc/tree-ssa.texi: Add cindex PHI nodes and improve wording.
3385
3386 2008-01-28 Bernhard Fischer <aldot@gcc.gnu.org>
3387
3388 * config/vx-common.h: Fix typo in comment.
3389
3390 2008-01-28 Ian Lance Taylor <iant@google.com>
3391
3392 PR c++/34862
3393 PR c++/33407
3394 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
3395 coalesce pointers if they have different DECL_NO_TBAA_P values.
3396 * tree-ssa-copy.c (may_propagate_copy): Don't propagate copies
3397 between variables with different DECL_NO_TBAA_P values.
3398
3399 2008-01-28 Nathan Froyd <froydnj@codesourcery.com>
3400
3401 PR 31535
3402 * config/rs6000/rs6000.c (small_data_operand): Vectors and floats
3403 are not legitimate small data references on SPE targets.
3404
3405 2008-01-28 David Daney <ddaney@avtrex.com>
3406
3407 * doc/install.texi (mips-*-*): Recommend binutils 2.18.
3408
3409 2008-01-28 David Daney <ddaney@avtrex.com>
3410
3411 * doc/install.texi (--disable-libgcj-bc): Reword documentation.
3412
3413 2008-01-27 Joseph Myers <joseph@codesourcery.com>
3414
3415 * config.gcc (strongarm*-*, ep9312*-*, xscale*-*, parisc*-*,
3416 m680[012]0-*, *-*-beos*, *-*-kaos*, *-*-linux*aout*,
3417 *-*-linux*libc1*, *-*-solaris2.[0-6], *-*-solaris2.[0-6].*,
3418 *-*-sysv*, *-*-windiss*, alpha*-*-unicosmk*, cris-*-aout,
3419 hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
3420 i[34567]86-sequent-ptx4*, i[34567]86-*-nto-qnx*,
3421 i[34567]86-*-sco3.2v5*, i[34567]86-*-uwin*, powerpc-*-chorusos*,
3422 vax-*-bsd*, vax-*-ultrix*): Mark obsolete.
3423
3424 2008-01-27 Bernhard Fischer <aldot@gcc.gnu.org>
3425
3426 * basic-block.h (condjump_equiv_p): Fix comment.
3427
3428 2008-01-27 Bernhard Fischer <aldot@gcc.gnu.org>
3429
3430 * tree-pretty-print.c (print_generic_decl, print_generic_stmt,
3431 print_generic_stmt_indented): Fix comment.
3432
3433 2008-01-27 Bernhard Fischer <aldot@gcc.gnu.org>
3434
3435 * configure.ac (__stack_chk_fail): Add detecion for availability
3436 of SSP in uClibc by checking if __UCLIBC_HAS_SSP__ is defined.
3437 * configure: Regenerate.
3438
3439 2008-01-26 Maxim Kuvyrkov <maxim@codesourcery.com>
3440
3441 PR middle-end/34688
3442 * final.c (output_addr_const): Handle TRUNCATE.
3443
3444 2008-01-26 Zdenek Dvorak <ook@ucw.cz>
3445
3446 PR target/34711
3447 * tree-ssa-loop-ivopts.c (comp_cost): New type.
3448 (zero_cost, infinite_cost): New constants.
3449 (struct cost_pair): Change type of cost to comp_cost.
3450 (struct iv_ca): Change type of cand_use_cost and cost to comp_cost.
3451 (new_cost, add_costs, sub_costs, compare_costs, infinite_cost_p):
3452 New functions.
3453 (set_use_iv_cost, force_expr_to_var_cost, force_var_cost,
3454 split_address_cost, ptr_difference_cost, difference_cost,
3455 get_computation_cost_at, get_computation_cost,
3456 determine_use_iv_cost_generic, determine_use_iv_cost_address,
3457 determine_use_iv_cost_condition, determine_use_iv_costs,
3458 cheaper_cost_pair, iv_ca_recount_cost, iv_ca_set_no_cp,
3459 iv_ca_set_cp, iv_ca_cost, iv_ca_new, iv_ca_dump, iv_ca_extend,
3460 iv_ca_narrow, iv_ca_prune, try_improve_iv_set, find_optimal_iv_set):
3461 Change type of cost to comp_cost.
3462 (determine_iv_cost): Increase cost of non-original ivs, instead
3463 of decreasing the cost of original ones.
3464 (get_address_cost): Indicate the complexity of the addressing mode
3465 in comp_cost.
3466 (try_add_cand_for): Prefer using ivs not specific to some object.
3467 * tree-flow.h (force_expr_to_var_cost): Declaration removed.
3468
3469 2008-01-26 Peter Bergner <bergner@vnet.ibm.com>
3470 Janis Johnson <janis187@us.ibm.com>
3471
3472 PR target/34814
3473 * doc/tm.texi (TARGET_EXPAND_TO_RTL_HOOK): Document.
3474 (TARGET_INSTANTIATE_DECLS): Likewise.
3475 * target.h (expand_to_rtl_hook): New target hook.
3476 (instantiate_decls): Likewise.
3477 * function.c (instantiate_decl): Make non-static. Rename to...
3478 (instantiate_decl_rtl): ... this.
3479 (instantiate_expr): Use instantiate_decl_rtl.
3480 (instantiate_decls_1): Likewise.
3481 (instantiate_decls): Likewise.
3482 (instantiate_virtual_regs: Call new instantiate_decls taget hook.
3483 * function.h (instantiate_decl_rtl): Add prototype.
3484 * cfgexpand.c (target.h): New include.
3485 (tree_expand_cfg): Call new expand_to_rtl_hook target hook.
3486 * target-def.h (TARGET_EXPAND_TO_RTL_HOOK): New define.
3487 (TARGET_INSTANTIATE_DECLS): Likewise.
3488 (TARGET_INITIALIZER): New target hooks added.
3489 * config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_rtx):
3490 New prototype.
3491 * config/rs6000/rs6000.c (tree-flow.h): New include.
3492 (machine_function): Add sdmode_stack_slot field.
3493 (rs6000_alloc_sdmode_stack_slot): New function.
3494 (rs6000_instantiate_decls): Likewise.
3495 (rs6000_secondary_memory_needed_rtx): Likewise.
3496 (rs6000_check_sdmode): Likewise.
3497 (TARGET_EXPAND_TO_RTL_HOOK): Target macro defined.
3498 (TARGET_INSTANTIATE_DECLS): Likewise.
3499 (rs6000_hard_regno_mode_ok): Allow SDmode.
3500 (num_insns_constant): Likewise. Handle _Decimal32 constants.
3501 (rs6000_emit_move): Handle SDmode.
3502 (function_arg_advance): Likewise.
3503 (function_arg): Likewise.
3504 (rs6000_gimplify_va_arg): Likewise. Add special handling of
3505 SDmode var args for 32-bit compiles.
3506 (rs6000_secondary_reload_class): Handle SDmode.
3507 (rs6000_output_function_epilogue): Likewise.
3508 (rs6000_function_value): Simplify if statement.
3509 (rs6000_libcall_value): Likewise.
3510 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Handle SDmode.
3511 (SECONDARY_MEMORY_NEEDED_RTX): Add define.
3512 * config/rs6000/dfp.md (movsd): New define_expand and splitter.
3513 (movsd_hardfloat): New define_insn.
3514 (movsd_softfloat): Likewise.
3515 (movsd_store): Likewise.
3516 (movsd_load): Likewise.
3517 (extendsddd2): Likewise.
3518 (extendsdtd2): Likewise.
3519 (truncddsd2): Likewise.
3520 (movdd_hardfloat64): Fixup comment.
3521 (UNSPEC_MOVSD_LOAD): New constant.
3522 (UNSPEC_MOVSD_STORE): Likewise.
3523
3524 2008-01-26 Jakub Jelinek <jakub@redhat.com>
3525
3526 PR c++/34965
3527 * c-pretty-print.c (pp_c_exclusive_or_expression): Handle
3528 TRUTH_XOR_EXPR.
3529 (pp_c_logical_and_expression): Handle TRUTH_AND_EXPR.
3530 (pp_c_logical_or_expression): Handle TRUTH_OR_EXPR.
3531 (pp_c_expression): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR
3532 and TRUTH_XOR_EXPR.
3533
3534 2008-01-26 David Edelsohn <edelsohn@gnu.org>
3535
3536 PR target/34794
3537 * config.gcc: Separate AIX 5.3 from AIX 6.1.
3538 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
3539 __LONGDOUBLE128 too.
3540 * config/rs6000/aix61.h: New file.
3541
3542 2008-01-26 Richard Sandiford <rsandifo@nildram.co.uk>
3543
3544 PR rtl-optimization/34959
3545 * optabs.c (expand_unop): In libcall notes, give ffs, clz, ctz,
3546 popcount and parity rtxes the same mode as their operand.
3547 Truncate or extend the result to the return value's mode
3548 if necessary.
3549
3550 2008-01-26 Richard Sandiford <rsandifo@nildram.co.uk>
3551
3552 PR target/34981
3553 * config/mips/mips-protos.h (mips_expand_call): Return an rtx.
3554 * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Rename FAKE_CALL_REGNO
3555 to GOT_VERSION_REGNUM.
3556 (CALL_REALLY_USED_REGISTERS): Set the GOT_VERSION_REGNUM entry to 0.
3557 (EPILOGUE_USES): Include GOT_VERSION_REGNUM if TARGET_USE_GOT.
3558 * config/mips/mips.c (mips_emit_call_insn): New function.
3559 (mips_call_tls_get_addr): Call mips_expand_call directly.
3560 (mips16_copy_fpr_return_value): Use mips_emit_call_insn rather than
3561 emit_call_insn.
3562 (mips16_build_call_stub): Likewise. Return the call insn or null.
3563 (mips_expand_call): Update the call to mips16_build_call_stub
3564 accordingly and a remove redundant condition. Assert that MIPS16
3565 stubs do not use lazy binding. Use mips_emit_call_insn and return
3566 the call insn.
3567 (mips_extra_live_on_entry): Include GOT_VERSION_REGNUM if
3568 TARGET_USE_GOT.
3569 (mips_hard_regno_mode_ok_p): Allow SImode for GOT_VERSION_REGNUM.
3570 (mips_avoid_hazard): Remove hazard_set handling.
3571 * config/mips/mips.md (UNSPEC_EH_RECEIVER): Rename to...
3572 (UNSPEC_RESTORE_GP): ...this.
3573 (UNSPEC_SET_GOT_VERSION, UNSPEC_UPDATE_GOT_VERSION): New constants.
3574 (FAKE_CALL_REGNO): Rename to...
3575 (GOT_VERSION_REGNUM): ...this.
3576 (type): Add "ghost" value. Add an associated insn reservation.
3577 (hazard_set): Remove.
3578 (exception_receiver): Rename to...
3579 (restore_gp): ...this and update the unspec identifier accordingly.
3580 (exception_receiver, nonlocal_got_receiver): New expanders.
3581 (load_call<mode>): Use GOT_VERSION_REGNUM. Don't set
3582 FAKE_CALL_REGNO. Remove hazard_set attribute.
3583 (set_got_version, update_got_version): New patterns.
3584
3585 2008-01-26 Danny Smith <dannysmith@users.sourceforge.net>
3586
3587 PR target/34970
3588 * config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define.
3589
3590 2008-01-25 Joseph Myers <joseph@codesourcery.com>
3591
3592 PR other/31955
3593 * doc/install.texi2html: Generate gcc-vers.texi.
3594
3595 2008-01-25 DJ Delorie <dj@redhat.com>
3596
3597 * config/m32c/m32c.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3598
3599 2008-01-25 Joseph Myers <joseph@codesourcery.com>
3600
3601 * config/c4x: Remove directory.
3602 * config.gcc (crx-*, mt-*): Mark obsolete.
3603 (c4x-*, tic4x-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*, tic4x-*,
3604 h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*,
3605 sh-*-rtemscoff*): Remove cases.
3606 * defaults.h (C4X_FLOAT_FORMAT): Remove.
3607 * real.c (encode_c4x_single, decode_c4x_single,
3608 encode_c4x_extended, decode_c4x_extended, c4x_single_format,
3609 c4x_extended_format): Remove.
3610 * real.h (c4x_single_format, c4x_extended_format): Remove.
3611 * doc/extend.texi (interrupt, naked): Remove mention of attributes
3612 on C4x.
3613 (Pragmas): Remove comment about c4x pragmas.
3614 * doc/install.texi (c4x): Remove target-specific instructions.
3615 * doc/invoke.texi (TMS320C3x/C4x Options): Remove.
3616 * doc/md.texi (Machine Constraints): Remove C4x documentation.
3617 * doc/tm.texi (MEMBER_TYPE_FORCES_BLK, c_register_pragma): Do not
3618 refer to C4x source files as examples.
3619 (C4X_FLOAT_FORMAT): Remove documentation.
3620
3621 2008-01-25 Bernd Schmidt <bernd.schmidt@analog.com>
3622
3623 * config/bfin/bfin.c (override_options): Reorder tests so that
3624 flag_pic gets enabled for -msep-data.
3625
3626 2008-01-25 Richard Guenther <rguenther@suse.de>
3627
3628 PR middle-end/32244
3629 * expr.c (expand_expr_real_1): Reduce result of LSHIFT_EXPR
3630 to its bitfield precision if required.
3631
3632 2008-01-25 Jakub Jelinek <jakub@redhat.com>
3633
3634 PR middle-end/33880
3635 * tree-nested.c (walk_omp_for): New function.
3636 (convert_nonlocal_reference, convert_local_reference): Call
3637 walk_omp_for on OMP_FOR.
3638 (convert_call_expr): Call walk_body on OMP_FOR's
3639 OMP_FOR_PRE_INIT_BODY.
3640
3641 2008-01-25 Richard Guenther <rguenther@suse.de>
3642
3643 PR tree-optimization/34966
3644 * tree-ssa-math-opts.c (execute_cse_sincos_1): For all but
3645 default defs and PHI_NODEs we have to insert after the
3646 defining statement.
3647
3648 2008-01-24 Nick Clifton <nickc@redhat.com>
3649
3650 * config/stormy16/stormy16-lib2.c (MIN_UNITS_PER_WORD):
3651 Provide a default definition.
3652 (LIBGCC2_UNITS_PER_WORD): Likewise.
3653
3654 * config/stormy16/stormy16.c: Include df.h for the prototype
3655 for df_regs_ever_live_p.
3656 (xstormy16_expand_builtin_va_start): Convert the stack offset
3657 into a component_ref and then use POINTER_PLUS_EXPR to add it
3658 to the incoming_virtual_args_rtx.
3659 (xstormy16_gimplify_va_arg_expr): Rename to
3660 xstormy16_gimplify_va_arg_expr.
3661 Use POINTER_PLUS_EXPR when performing pointer arithmetic.
3662 (TARGET_GIMPLIFY_VA_ARG_EXPR): Use renamed
3663 xstormy16_gimplify_va_arg_expr.
3664 Fix up some formatting issues.
3665
3666 * config/stormy16/stormy16.c: (xstormy16_carry_plus_operand):
3667 Move to predicates.md.
3668 (xs_hi_general_operand): Likewise.
3669 (xs_hi_nonmemory_operand): Likewise.
3670 * config/stormy16/predicates.md:
3671 (xstormy16_carry_plus_operand): New predicate.
3672 (xs_hi_general_operand): New predicate.
3673 (xs_hi_nonmemory_operand): New predicate.
3674 * config/stormy16/stormy16-protos.h:
3675 (xstormy16_carry_plus_operand): Delete prototype.
3676 (xs_hi_general_operand): Likewise.
3677 (xs_hi_nonmemory_operand): Likewise.
3678
3679 * config/storm16/stormy16.md (addhi3): Remove earlyclobber
3680 modifiers as they are no longer needed and they can trigger
3681 reload spill failures.
3682
3683 * config/storm16/stormy16.md (ineqbranchsi): Replace match_dup
3684 with a match_operand in order to help reload.
3685
3686 * config/storm16/stormy16.md (movhi_internal): Replace 'r'
3687 constraint with 'e' for the 8th alternative as this version of
3688 the mov.w instruction only accepts the lower 8 registers.
3689
3690 2008-01-25 Uros Bizjak <ubizjak@gmail.com>
3691
3692 PR target/34856
3693 * simplifx-rtx.c (simplify_const_binary_operation) [VEC_CONCAT]:
3694 Consider only CONST_INT, CONST_DOUBLE and CONST_FIXED as constant
3695 vector elements.
3696
3697 2008-01-25 Jakub Jelinek <jakub@redhat.com>
3698
3699 PR middle-end/33333
3700 * gimplify.c (gimplify_omp_for): Gimplify OMP_FOR_PRE_BODY.
3701
3702 2008-01-25 Golovanevsky Olga <olga@il.ibm.com>
3703
3704 * ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs):
3705 New functions.
3706 (remove_structure): Update allocations list before removing structure.
3707
3708 2008-01-25 Golovanevsky Olga <olga@il.ibm.com>
3709
3710 * ipa-struct-reorg.c (is_safe_cond_expr,
3711 create_new_stmts_for_cond_expr): Use integer_zerop function,
3712 that recognize not only zero-pointer, but zero-integer too.
3713
3714 2008-01-25 Ben Elliston <bje@au.ibm.com>
3715
3716 PR other/22232
3717 * fixproto: Escape "." in sed expression that strips leading "./".
3718
3719 2008-01-24 H.J. Lu <hongjiu.lu@intel.com>
3720
3721 PR driver/34904
3722 * gcc.c (SWITCH_OK): Removed.
3723 (SWITCH_LIVE): Changed to bit.
3724 (SWITCH_FALSE): Likewise.
3725 (SWITCH_IGNORE): Likewise.
3726 (switchstr): Change live_cond to unsigned int.
3727 (process_command): Replace SWITCH_OK with 0.
3728 (do_self_spec): Likewise.
3729 (set_collect_gcc_options): Check the SWITCH_IGNORE bit.
3730 (give_switch): Likewise.
3731 (used_arg): Likewise.
3732 (do_spec_1): Set the SWITCH_IGNORE bit.
3733 (check_live_switch): Check both SWITCH_LIVE and SWITCH_FALSE
3734 bits. Set the SWITCH_LIVE bit.
3735
3736 2008-01-24 Andreas Krebbel <krebbel1@de.ibm.com>
3737
3738 * config/s390/s390.h (MOVE_RATIO): Define new target macro.
3739
3740 2008-01-24 Richard Sandiford <rsandifo@nildram.co.uk>
3741
3742 PR tree-optimization/34472
3743 * ipa-struct-reorg.c (safe_cond_expr_check): Change the DATA
3744 parameter to a "bool *" and set *DATA to false if there is
3745 an unsafe access. Do not delete the structure here.
3746 (check_cond_exprs): Delete it here instead.
3747 (check_cond_exprs, exclude_cold_structs): Do not increase
3748 I when removing a structure.
3749
3750 2008-01-24 Uros Bizjak <ubizjak@gmail.com>
3751
3752 PR target/34856
3753 * config/i386/i386.c (ix86_expand_vector_init): Consider only
3754 CONST_INT, CONST_DOUBLE and CONST_FIXED as constant vector elements.
3755
3756 2008-01-24 Jakub Jakub Jelinek <jakub@redhat.com>
3757
3758 PR middle-end/34934
3759 * tree-stdarg.c (reachable_at_most_once): Use VEC vector instead of
3760 a fixed vector for stack.
3761
3762 2008-01-24 Ben Elliston <bje@au.ibm.com>
3763
3764 PR c++/25701
3765 * doc/gcc.texi (Software development): Add a direntry for g++.
3766
3767 2008-01-23 Hans-Peter Nilsson <hp@axis.com>
3768
3769 * config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop
3770 stale and straggling -fforce-addr comments above.
3771
3772 * config/cris/cris.h (CRIS_SUBTARGET_VERSION, TARGET_VERSION): Don't
3773 define.
3774 * config/cris/linux.h (CRIS_SUBTARGET_VERSION): Don't define.
3775 * config/cris/aout.h (CRIS_SUBTARGET_VERSION): Don't define.
3776
3777 2008-01-23 Michael Matz <matz@suse.de>
3778
3779 PR debug/34895
3780 * dwarf2out.c (force_type_die): Use modified_type_die instead of
3781 gen_type_die.
3782
3783 2008-01-23 Andreas Krebbel <krebbel1@de.ibm.com>
3784
3785 * ipa-struct-reorg.c (create_new_malloc): Use pointer type as
3786 malloc result type.
3787
3788 2008-01-23 Anatoly Sokolov <aesok@post.ru>
3789
3790 * config/avr/avr.c (avr_current_arch): New variable.
3791 (avr_arch_types): Add 'avr31' and 'avr51' entries.
3792 (avr_arch): Add 'ARCH_AVR31' and 'ARCH_AVR51'.
3793 (avr_mcu_types): Add 'avr31' and 'avr51' architectures.
3794 (avr_override_options): Init 'avr_current_arch'.
3795 (base_arch_s): Move from here...
3796 * config/avr/avr.h (base_arch_s): ... here. Add new members
3797 'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename
3798 'mega' to 'have_jmp_call'.
3799 (TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__",
3800 "__AVR_HAVE_RAMPZ__", "__AVR_HAVE_ELPM__" and "__AVR_HAVE_ELPMX__"
3801 macros.
3802 (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51'
3803 architectures.
3804 * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
3805 MULTILIB_MATCHES): (Ditto.).
3806
3807 2008-01-23 Richard Guenther <rguenther@suse.de>
3808
3809 PR middle-end/31529
3810 * cgraphunit.c (cgraph_reset_node): Always mark the node
3811 not reachable if it is not queued already.
3812
3813 2008-01-23 Bernd Schmidt <bernd.schmidt@analog.com>
3814
3815 * config/bfin/bfin-protos.h (WA_RETS, ENABLE_WA_RETS): New macros.
3816 * config/bfin/bfin.c (bfin_cpus): Add WA_RETS everywhere.
3817 (cputype_selected): New static variable.
3818 (bfin_handle_option): Set it if -mcpu is used.
3819 (override_option): Select default set of workarounds if no cpu type
3820 selected on the command line.
3821 (workaround_rts_anomaly): Only run if ENABLE_WA_RETS.
3822
3823 From Michael Frysinger <michael.frysinger@analog.com>
3824 * config/bfin/bfin-protos.h (enum bfin_cpu_type): Add
3825 BFIN_CPU_BF547, BFIN_CPU_BF523, BFIN_CPU_BF524, and BFIN_CPU_BF526.
3826
3827 * config/bfin/elf.h (LIB_SPEC): Use proper linker script
3828 for bf547, bf523, bf524, and bf526.
3829 * config/bfin/bfin.c (bfin_cpus[]): Add bf547, bf523, bf524, and
3830 bf526.
3831 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
3832 __ADSPBF523__ for bf523, __ADSPBF524__ for bf524,
3833 __ADSPBF526__ for bf526, __ADSPBF52x__ for all three, as well as
3834 __ADSPBF547__ and __ADSPBF54x__ for bf547.
3835 * doc/invoke.texi (Blackfin Options): Document that
3836 -mcpu now accept bf547, bf523, bf524, and bf526.
3837
3838 2008-01-22 Eric Botcazou <ebotcazou@adacore.com>
3839
3840 PR rtl-optimization/34628
3841 * combine.c (try_combine): Stop and undo after the first combination
3842 if an autoincrement side-effect on the first insn has effectively
3843 been lost.
3844
3845 2008-01-22 David Edelsohn <edelsohn@gnu.org>
3846
3847 PR target/34529
3848 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
3849 Offset addresses are not valid for Altivec or paired float modes.
3850
3851 2008-01-22 Jakub Jelinek <jakub@redhat.com>
3852
3853 PR c++/34607
3854 * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for
3855 if DECL_INITIAL (decl) is error_mark_node.
3856
3857 PR c++/34914
3858 * c-common.c (handle_vector_size_attribute): Only allow
3859 integral, scalar float and fixed point types. Handle OFFSET_TYPE
3860 the same way as pointer, array etc. types.
3861 * tree.c (reconstruct_complex_type): Handle OFFSET_TYPE.
3862
3863 PR c++/34917
3864 * tree.c (build_type_attribute_qual_variant): Call
3865 build_qualified_type if attributes are equal, but quals are not.
3866
3867 2008-01-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3868
3869 PR 32102
3870 * doc/invoke.texi (-Wall): -Wall enables -Wstrict-overflow=1.
3871 * flags.h (warn_strict_aliasing): Remove.
3872 (warn_strict_overflow): Remove.
3873 * opts.c (warn_strict_aliasing): Remove.
3874 (warn_strict_overflow): Remove.
3875 * c-opts.c (c_common_handle_option): -Wall only sets
3876 -Wstrict-aliasing or -Wstrict-overflow if they are uninitialized.
3877 (c_common_post_options): Give default values to -Wstrict-aliasing
3878 and -Wstrict-overflow if they are uninitialized.
3879 * common.opt (Wstrict-aliasing): Specify Var and Init.
3880 (Wstrict-overflow): Likewise.
3881
3882 2008-01-22 Kenneth Zadeck <zadeck@naturalbridge.com>
3883
3884 PR rtl-optimization/26854
3885 PR rtl-optimization/34400
3886 PR rtl-optimization/34884
3887 * ddg.c (create_ddg_dep_from_intra_loop_link): Use
3888 DF_RD->gen.
3889 * df.h (df_changeable_flags.DF_RD_NO_TRIM): Deleted
3890 (df_rd_bb_info.expanded_lr_out): Deleted
3891 * loop_invariant.c (find_defs): Deleted DF_RD_NO_TRIM flag.
3892 * loop_iv.c (iv_analysis_loop_init): Ditto. * df-problems.c
3893 (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
3894 df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
3895 Removed code to allocate, initialize or free expanded_lr_out.
3896 (df_rd_bb_local_compute_process_def): Restructured to make more
3897 understandable.
3898 (df_rd_confluence_n): Removed code to no apply invalidate_by_call
3899 sets if the sets are being trimmed.
3900
3901 2008-01-22 H.J. Lu <hongjiu.lu@intel.com>
3902
3903 PR bootstrap/32287
3904 * configure.ac (ld_vers): Support GNU linker version xx.xx.*
3905 (as_vers): Likewise.
3906 * configure: Regenerated.
3907
3908 2008-01-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3909
3910 PR middle-end/33092
3911 * tree-pass.h (pass_build_alias): New pass.
3912 * tree-ssa-alias.c (gate_build_alias): New.
3913 (pass_build_alias): New.
3914 * passes.c (init_optimization_passes): Add pass_build_alias after
3915 pass_create_structure_vars.
3916
3917 2008-01-22 Wolfgang Gellerich <gellerich@de.ibm.com>
3918
3919 * config/s390/s390.h (S390_TDC_POSITIVE_NORMALIZED_NUMBER):
3920 Renamed to S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER.
3921 (S390_TDC_NEGATIVE_NORMALIZED_NUMBER): Renamed to
3922 S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER.
3923 (S390_TDC_POSITIVE_DENORMALIZED_NUMBER): Renamed to
3924 S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER.
3925 (S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): Renamed to
3926 S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER.
3927 (S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER): New constant.
3928 (S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER): New constant.
3929 (S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER): New constant.
3930 (S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER): New constant.
3931 * config/s390/s390.md (FP_ALL): New mode iterator.
3932 (_d): New mode attribute.
3933 ("*signbit<mode>2>"): Changed mode of first operand.
3934 ("isinf<mode>2"): Changed mode of first operand.
3935 ("*TDC_insn"): Adaptation for DFP modes.
3936
3937 2008-01-22 Ben Elliston <bje@au.ibm.com>
3938
3939 * tree.c (check_qualified_type): Improve function description.
3940
3941 2008-01-21 Jason Merrill <jason@redhat.com>
3942
3943 PR c++/34196
3944 * tree.h (TRY_CATCH_IS_CLEANUP): New macro.
3945 * tree-eh.c (honor_protect_cleanup_actions): Strip TRY_CATCH_EXPR
3946 if it is set.
3947
3948 2008-01-21 DJ Delorie <dj@redhat.com>
3949
3950 * doc/tm.texi (HARD_REGNO_NREGS): Note that this macro must not
3951 return zero.
3952
3953 2008-01-21 Richard Guenther <rguenther@suse.de>
3954
3955 PR middle-end/34856
3956 * tree-cfg.c (verify_expr): Allow all invariant expressions
3957 instead of just constant class ones as reference argument.
3958 * tree-ssa-loop-im.c (for_each_index): Handle CONSTRUCTOR
3959 like any other constant.
3960 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
3961
3962 2008-01-21 H.J. Lu <hongjiu.lu@intel.com>
3963
3964 * regmove.c (fixup_match_1): Update call crossed frequencies.
3965
3966 2008-01-21 Richard Guenther <rguenther@suse.de>
3967
3968 PR c/34885
3969 * tree-inline.c (setup_one_parameter): Deal with mismatched
3970 types using a VIEW_CONVERT_EXPR.
3971
3972 2008-01-21 Alon Dayan <alond@il.ibm.com>
3973 Olga Golovanevsky <olga@il.ibm.com>
3974
3975 PR tree-optimization/34701
3976 * ipa-struct-reorg.c (gen_size): Fix the malloc parameter calculation
3977 when the structure size is not a power of 2.
3978
3979 2008-01-20 Kenneth Zadeck <zadeck@naturalbridge.com>
3980
3981 * doc/install.texi: Add doc for --enable-checking=df.
3982
3983 2008-01-20 Kaz Kojima <kkojima@gcc.gnu.org>
3984
3985 PR rtl-optimization/34808
3986 * emit-rtl.c (try_split): Handle REG_RETVAL notes.
3987
3988 2008-01-20 Richard Sandiford <rsandifo@nildram.co.uk>
3989
3990 * global.c (find_reg): Only compute EH_RETURN_DATA_REGNO once per
3991 input.
3992
3993 2008-01-19 Kenneth Zadeck <zadeck@naturalbridge.com>
3994
3995 PR rtl-optimization/26854
3996 PR rtl-optimization/34400
3997 * ddg.c (create_ddg_dep_from_intra_loop_link): Do not use
3998 DF_RD->gen.
3999 * df.h (df_changeable_flags.DF_RD_NO_TRIM): New.
4000 (df_rd_bb_info.expanded_lr_out): New.
4001 * loop_invariant.c (find_defs): Added DF_RD_NO_TRIM flag.
4002 * loop_iv.c (iv_analysis_loop_init): Ditto.
4003 * df-problems.c (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
4004 df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
4005 Added code to allocate, initialize or free expanded_lr_out.
4006 (df_rd_bb_local_compute_process_def): Restructured to make
4007 more understandable.
4008 (df_rd_confluence_n): Add code to do nothing with fake edges and
4009 code to no apply invalidate_by_call sets if the sets are being trimmed.
4010 (df_lr_local_finalize): Renamed to df_lr_finalize.
4011 (df_live_local_finalize): Renamed to df_live_finalize.
4012
4013 2008-01-20 Richard Sandiford <rsandifo@nildram.co.uk>
4014
4015 PR target/34831
4016 * config/mips/mips.md (div<mode>3): Use <recip_condition> when
4017 deciding whether to use reciprocal instructions.
4018
4019 2008-01-19 Uros Bizjak <ubizjak@gmail.com>
4020
4021 * dwarf2out.c (dwarf2out_switch_text_section): Do not call
4022 dwarf2out_note_section_used if cold_text_section is NULL.
4023
4024 2008-01-19 Jakub Jelinek <jakub@redhat.com>
4025
4026 PR gcov-profile/34610
4027 * tree-cfg.c (make_edges): Mark both outgoing edges from
4028 OMP_CONTINUE and from OMP_FOR as EDGE_ABNORMAL.
4029 * omp-low.c (expand_omp_for): Clear EDGE_ABNORMAL bits
4030 from OMP_FOR and OMP_CONTINUE outgoing edges.
4031
4032 * tree-profile.c (tree_profiling): Return early if
4033 cfun->after_tree_profile != 0. Set cfun->after_tree_profile
4034 at the end.
4035 * omp-low.c (expand_omp_parallel): Copy after_tree_profile
4036 from cfun to child_cfun.
4037 * function.h (struct function): Add after_tree_profile bit.
4038
4039 2008-01-19 Anatoly Sokolov <aesok@post.ru>
4040
4041 * config/avr/avr.S (_exit): Disable interrupt.
4042
4043 2008-01-18 Kenneth Zadeck <zadeck@naturalbridge.com>
4044 Steven Bosscher <stevenb.gcc@gmail.com>
4045
4046 PR rtl-optimization/26854
4047 PR rtl-optimization/34400
4048 * df-problems.c (df_live_scratch): New scratch bitmap.
4049 (df_live_alloc): Allocate df_live_scratch when doing df_live.
4050 (df_live_reset): Clear the proper bitmaps.
4051 (df_live_bb_local_compute): Only process the artificial defs once
4052 since the order is not important.
4053 (df_live_init): Init the df_live sets only with the variables
4054 found live by df_lr.
4055 (df_live_transfer_function): Use the df_lr sets to prune the
4056 df_live sets as they are being computed.
4057 (df_live_free): Free df_live_scratch.
4058
4059 2008-01-18 Ian Lance Taylor <iant@google.com>
4060
4061 * common.opt: Add fmerge-debug-strings.
4062 * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test
4063 flag_merge_debug_strings rather than flag_merge_constants.
4064 * doc/invoke.texi (Option Summary): Mention
4065 -fmerge-debug-strings.
4066 (Debugging Options): Document -fmerge-debug-strings.
4067
4068 2008-01-18 Ian Lance Taylor <iant@google.com>
4069
4070 PR c++/33407
4071 * tree.h (DECL_IS_OPERATOR_NEW): Define.
4072 (struct tree_function_decl): Add new field operator_new_flag.
4073 * tree-inline.c (expand_call_inline): When inlining a call to
4074 operator new, force the return value to go into a variable, and
4075 set DECL_NO_TBAA_P on that variable.
4076 * c-decl.c (merge_decls): Merge DECL_IS_OPERATOR_NEW flag.
4077
4078 2008-01-18 Uros Bizjak <ubizjak@gmail.com>
4079
4080 PR debug/34484
4081 * dwarf2out.c (dwarf2out_switch_text_section): Do not guard with
4082 DWARF2_DEBUGGING_INFO.
4083 (dwarf2out_note_section_used): Ditto. Add prototype.
4084 (have_multiple_function_sections, text_section_used,
4085 cold_text_section_used, *cold_text_sections): Move declarations
4086 before their uses.
4087
4088 2008-01-17 Bob Wilson <bob.wilson@acm.org>
4089
4090 * config/xtensa/unwind-dw2-xtensa.h (_Unwind_FrameState): Remove pc
4091 field and add signal_ra.
4092 * config/xtensa/unwind-dw2-xtensa.c (uw_frame_state_for): Remove
4093 assignments to frame state pc. Move end of stack check after
4094 MD_FALLBACK_FRAME_STATE_FOR.
4095 (uw_update_context_1): Use frame state signal_regs if set, instead
4096 of checking signal_frame flag.
4097 (uw_update_context): Use frame state signal_ra if set.
4098 * config/xtensa/linux.h (MD_UNWIND_SUPPORT): Define.
4099 * config/xtensa/linux-unwind.h: New file.
4100
4101 2008-01-18 Bernhard Fischer <aldot@gcc.gnu.org>
4102
4103 * modulo-sched.c (get_sched_window): Fix comment typo.
4104
4105 2008-01-17 Andrew MacLeod <amacleod@redhat.com>
4106
4107 PR tree-optimization/34648
4108 * tree-ssa-sccvn.c (visit_use): Expressions which can throw are varying.
4109
4110 2008-01-17 Anatoly Sokolov <aesok@post.ru>
4111
4112 * config/avr/avr.h (LINK_SPEC): Support -mrelax and -mpmem-wrap-around.
4113 * config/avr/avr.opt (mrelax, mpmem-wrap-around): Add.
4114
4115 2008-01-17 Seongbae Park <seongbae.park@gmail.com>
4116
4117 PR rtl-optimization/34400
4118 * df-core.c (df_worklist_dataflow_overeager,
4119 df_worklist_dataflow_doublequeue): New functions.
4120 (df_worklist_dataflow): Two different worklist solvers.
4121 * params.def (PARAM_DF_DOUBLE_QUEUE_THRESHOLD_FACTOR):
4122 New param.
4123
4124 2008-01-16 Sebastian Pop <sebastian.pop@amd.com>
4125
4126 PR testsuite/34821
4127 * doc/invoke.texi: Document the dependence on pthread for fopenmp
4128 and ftree-parallelize-loops.
4129
4130 2008-01-17 Mircea Namolaru <namolaru@il.ibm.com>
4131
4132 PR rtl-optimization/34826
4133 * loop-doloop (doloop_modify): Update the REG_BR_PROB note.
4134
4135 2008-01-17 Andreas Krebbel <krebbel1@de.ibm.com>
4136
4137 * global.c (find_reg): Mark the eh regs as used if necessary.
4138 * ra-conflict.c (global_conflicts): Set no_eh_reg flag.
4139 * ra.h (struct allocno): no_eh_reg field added. Changed
4140 no_stack_reg type to bitfield.
4141
4142 2008-01-17 Eric Botcazou <ebotcazou@adacore.com>
4143
4144 * tree.c (substitute_in_expr): Add missing 'break'.
4145
4146 2008-01-17 Richard Guenther <rguenther@suse.de>
4147
4148 PR tree-optimization/34825
4149 * tree-ssa-math-opts.c (is_division_by): Do not recognize
4150 x / x as division to handle.
4151
4152 2008-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4153
4154 * pa64-hpux.h (LIB_SPEC): Add "-lpthread" in shared links if "-mt" or
4155 "-pthread" is specified.
4156 * pa-hpux11.h (LIB_SPEC): Likewise.
4157
4158 2008-01-16 Janis Johnson <janis187@us.ibm.com>
4159 Peter Bergner <bergner@vnet.ibm.com>
4160
4161 PR rtl-optimization/33796
4162 * sparseset.c (sparseset_alloc): Use xcalloc rather than xmalloc.
4163
4164 2008-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4165
4166 PR libgfortran/34699
4167 * pa-hpux.h (LINK_SPEC): Only search /lib/pa1.1 and /usr/lib/pa1.1 on
4168 static links.
4169 * pa-hpux10.h (LINK_SPEC): Likewise.
4170 * pa-hpux11.h (LINK_SPEC): Don't search /lib/pa1.1 and /usr/lib/pa1.1.
4171
4172 2008-01-16 Richard Guenther <rguenther@suse.de>
4173
4174 PR middle-end/32628
4175 * fold-const.c (fold_convert_const_int_from_int): Do not
4176 set overflow if that occured only because of a sign extension
4177 change when converting from/to a sizetype with the same
4178 precision and signedness.
4179
4180 2008-01-16 Uros Bizjak <ubizjak@gmail.com>
4181
4182 PR debug/34249
4183 * dwarf2out.c (output_call_frame_info): Move output of FDE initial
4184 location address to the correct place. Update copyright year.
4185
4186 2008-01-16 Sebastian Pop <sebastian.pop@amd.com>
4187
4188 * lambda-code.c (lambda_transform_legal_p): Handle the case of
4189 no dependences in the dependence_relations vector.
4190
4191 2008-01-16 Jan Hubicka <jh@suse.cz>
4192
4193 PR rtl-optimization/31396
4194 * regstat.c (regstat_bb_compute_ri): Compute FREQ_CALLS_CROSSED.
4195 * cfg.c (dump_reg_info): Print it.
4196 * regs.h (struct reg_info_t): add freq_calls_crossed.
4197 (REG_FREQ_CALLS_CROSSED): New macro.
4198 * global.c (global_alloc): Compute freq_calls_crossed for allocno.
4199 (find_reg): Update call of CALLER_SAVE_PROFITABLE.
4200 * regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2,
4201 regmove_optimize): Update call crossed frequencies.
4202 * local-alloc.c (struct qty): Add freq_calls_crossed.
4203 (alloc_qty): Copute freq_calls_crossed.
4204 (update_equiv_regs, combine_regs): Update REG_FREQ_CALLS_CROSSED.
4205 (find_free_reg): Update call of CALLER_SAVE_PROFITABLE.
4206 * ra.h (struct allocno): Add freq_calls_crossed.
4207
4208 2008-01-16 Sebastian Pop <sebastian.pop@amd.com>
4209
4210 * gcc.c (LINK_COMMAND_SPEC): Add includes and link options for
4211 libgomp when compiling with ftree-parallelize-loops.
4212 (GOMP_SELF_SPECS): Add -pthread for ftree-parallelize-loops.
4213
4214 2008-01-16 Richard Guenther <rguenther@suse.de>
4215
4216 PR tree-optimization/34769
4217 * tree-data-ref.c (initialize_matrix_A): Revert fix for PR34458.
4218 * tree.c (int_cst_value): Instead make this function more
4219 permissive in what it accepts as valid input. Document this
4220 function always sign-extends the value.
4221
4222 2008-01-16 Jakub Jelinek <jakub@redhat.com>
4223 Richard Guenther <rguenther@suse.de>
4224
4225 PR c/34668
4226 * gimplify.c (fold_indirect_ref_rhs): Rename to ...
4227 (gimple_fold_indirect_ref_rhs): ... this.
4228 (gimple_fold_indirect_ref): New function with foldings
4229 that preserve lvalueness.
4230 (gimplify_modify_expr_rhs): Call gimple_fold_indirect_ref_rhs.
4231 * tree-flow.h (gimple_fold_indirect_ref): Declare.
4232 * tree-inline.c (copy_body_r): Use gimple_fold_indirect_ref
4233 to fold an INDIRECT_REF, fall back to the old use of
4234 fold_indirect_ref_1.
4235
4236 2008-01-16 Sebastian Pop <sebastian.pop@amd.com>
4237
4238 * tree-data-ref.c (subscript_dependence_tester_1): Call
4239 free_conflict_function.
4240 (compute_self_dependence): Same.
4241
4242 2008-01-16 Uros Bizjak <ubizjak@gmail.com>
4243
4244 PR debug/34249
4245 * debug.h (dwarf2out_switch_text_section): Move declaration from ...
4246 * dwarf2out.c (dwarf2out_switch_text_section): ... here. Make
4247 function global.
4248 * final.c (final_scan_insn) [NOTE_INSN_SWITCH_TEXT_SECTIONS]:
4249 Depending on dwarf2out_do_frame, call dwarf2out_switch_text_section
4250 for DWARF2_UNWIND_INFO targets.
4251
4252 2008-01-16 Richard Guenther <rguenther@suse.de>
4253
4254 PR c/34768
4255 * c-typeck.c (common_pointer_type): Do not merge inconsistent
4256 type qualifiers for function types.
4257
4258 2008-01-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
4259
4260 * tree-parloops.c (gen_parallel_loop): Fix ommision of declaration for
4261 loop_iterator li from previous commit.
4262
4263 2008-01-15 Sebastian Pop <sebastian.pop@amd.com>
4264
4265 * tree-parloops.c (gen_parallel_loop): Free loop bound estimations.
4266
4267 2008-01-12 Sebastian Pop <sebastian.pop@amd.com>
4268
4269 * tree-parloops.c (loop_has_blocks_with_irreducible_flag): New.
4270 (parallelize_loops): Don't parallelize irreducible components.
4271
4272 2008-01-14 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
4273
4274 PR c++/24924
4275 * c-opts (c_common_post_options): Do not enable CPP
4276 flag_pedantic_errors by default.
4277
4278 2008-01-14 Eric Botcazou <ebotcazou@adacore.com>
4279
4280 PR rtl-optimization/31944
4281 * cse.c (remove_pseudo_from_table): New function.
4282 (merge_equiv_classes): Use above function to remove pseudo-registers.
4283 (invalidate): Likewise.
4284
4285 2008-01-13 Richard Guenther <rguenther@suse.de>
4286
4287 PR middle-end/34601
4288 * emit-rtl.c (set_reg_attrs_for_decl_rtl): Use DECL_MODE
4289 instead of TYPE_MODE to deal with calls from expand_one_error_var.
4290
4291 2008-01-13 Uros Bizjak <ubizjak@gmail.com>
4292
4293 * gcse.c (cprop_jump): Call validate_unshare_change instead of
4294 validate_change to unshare the source of the PC set.
4295
4296 2008-01-12 Jan Hubicka <jh@suse.cz>
4297
4298 PR middle-end/32135
4299 * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Do not construct
4300 references above array bounds. This might trigger bounds checks for
4301 pointers to arrays.
4302
4303 2008-01-12 Sebastian Pop <sebastian.pop@amd.com>
4304
4305 * tree-ssa-ter.c (free_temp_expr_table): Free num_in_part and
4306 new_replaceable_dependencies.
4307
4308 2008-01-12 Doug Kwan <dougkwan@google.com>
4309
4310 * c-decl.c: (grokdeclarator): Use OPT_Wignored_qualifiers
4311 instead of OPT_Wreturn_type in warning due to ignored return type
4312 qualifiers.
4313 * c-opt.c (c_common_post_option): Add -Wignored-qualifiers to
4314 options included in -Wextra.
4315 * c.opt: New option -Wignored_qualifiers.
4316 * doc/invoke.texi (Warning Options, -Wextra): Add new option
4317 -Wignore_qualifiers.
4318 (-Wignored-qualifiers): Document.
4319 (-Wreturn-type): Remove description of functionality now handled
4320 by -Wignored-qualifiers.
4321
4322 2008-01-12 Eric Botcazou <ebotcazou@adacore.com>
4323
4324 PR ada/33788
4325 * fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Fold an existing
4326 NOP_EXPR if it is between integral types with the same precision.
4327
4328 2008-01-12 Jan Hubicka <jh@suse.cz>
4329
4330 PR other/28023
4331 * invoke.texi (max-inline-recursive-depth): Fix default value.
4332
4333 2008-01-12 Zdenek Dvorak <ook@ucw.cz>
4334
4335 * tree-parloops.c (transform_to_exit_first_loop): Cast nit to the
4336 correct type.
4337
4338 2008-01-11 Bob Wilson <bob.wilson@acm.org>
4339
4340 * config/xtensa/xtensa.c (override_options): Set flag_shlib.
4341
4342 2008-01-11 James E. Wilson <wilson@specifix.com>
4343
4344 PR target/26015
4345 * config/vax/elf.h (FRAME_POINTER_CFA_OFFSET): Define.
4346
4347 2008-01-11 Anatoly Sokolov <aesok@post.ru>
4348
4349 * config/avr/avr.c (expand_prologue, expand_epilogue): Don't
4350 save/restore frame pointer register and don't use 'call-prologues'
4351 optimization in function with "OS_task" attribute.
4352
4353 2008-01-11 Eric Botcazou <ebotcazou@adacore.com>
4354
4355 PR middle-end/31309
4356 * expr.c (copy_blkmode_from_reg): Use a mode suited to the size
4357 when copying to memory.
4358
4359 2008-01-11 Steven Bosscher <stevenb.gcc@gmail.com>
4360
4361 PR rtl-optimization/30905
4362 * cfgcleanup.c: Include dce.h
4363 (crossjumps_occured): New global variable.
4364 (try_crossjump_bb): Exit loop after finding a fallthru edge.
4365 If something changed, set crossjumps_occured to true.
4366 (try_optimize_cfg): Clear crossjumps_occured at the beginning.
4367 Don't add/remove fake edges to exit here...
4368 (cleanup_cfg): ...but do it here, when crossjumping.
4369 Run a fast DCE when successful crossjumps occured in the latest
4370 iteration of try_optimize_cfg.
4371
4372 2008-01-11 Richard Guenther <rguenther@suse.de>
4373
4374 * tree-ssa-sccvn.c (struct vn_binary_op_s): Move hashcode near opcode.
4375 (struct vn_unary_op_s): Likewise.
4376 (vn_reference_insert): Free old reference on hash collision.
4377
4378 2008-01-10 Raksit Ashok <raksit@google.com>
4379
4380 PR rtl-optimization/27971
4381 * combine.c (find_split_point): Split PLUS expressions which are
4382 inside a MEM rtx, and whose first operand is complex.
4383
4384 2008-01-10 DJ Delorie <dj@redhat.com>
4385
4386 * config/m32c/m32c.c (m32c_hard_regno_nregs_1): Renamed from...
4387 (m32c_hard_regno_nregs): ...this, which is now a wrapper.
4388 (m32c_hard_regno_ok): Call the underlying function.
4389
4390 2008-01-10 Richard Guenther <rguenther@suse.de>
4391
4392 PR middle-end/34683
4393 * tree-cfg.c (tree_merge_blocks): Do not go through the
4394 full-blown folding and stmt updating path if we just deal
4395 with virtual operands.
4396 * tree-ssa-copy.c (may_propagate_copy): Do not short-cut
4397 test for abnormal SSA_NAMEs.
4398
4399 2008-01-10 Andreas Krebbel <krebbel1@de.ibm.com>
4400
4401 PR middle-end/34641
4402 * reload.c (push_reload): Add assertions. All constants from
4403 reg_equiv_constant should have been used for replacing the respective
4404 pseudo earlier.
4405 (find_reloads_address): Invoke find_reloads_address_part for
4406 constant taken from the reg_equiv_constant array.
4407
4408 2008-01-10 Steven Bosscher <stevenb.gcc@gmail.com>
4409
4410 * tree-ssa-sccvn.h (struct vn_ssa_aux): Make the most accessed
4411 field (valnum) the first in the struct. Replace bools with
4412 unit bit fields.
4413
4414 2008-01-10 Richard Guenther <rguenther@suse.de>
4415
4416 PR tree-optimization/34651
4417 * tree-sra.c (sra_build_assignment): Sanitize. Use the correct
4418 types and ordering for masking and converting.
4419
4420 2008-01-09 Sebastian Pop <sebastian.pop@amd.com>
4421
4422 PR tree-optimization/34017
4423 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Generate code
4424 also for PHI_NODE expressions.
4425
4426 2008-01-09 Jan Hubicka <jh@suse.cz>
4427
4428 PR tree-optimization/34708
4429 * tree-inline.c (estimate_num_insns_1): Compute cost of SWITCH_EXPR
4430 based on number of case labels.
4431 (init_inline_once): Remove switch_cost.
4432 * tree-inline.h (eni_weights_d): Remove switch_cost.
4433
4434 2008-01-09 Richard Guenther <rguenther@suse.de>
4435 Andrew Pinski <andrew_pinski@playstation.sony.com>
4436
4437 PR middle-end/30132
4438 * gimplify.c (gimplify_cond_expr): Do not create an addressable
4439 temporary if an rvalue is ok or an lvalue is not required.
4440
4441 2008-01-09 Richard Guenther <rguenther@suse.de>
4442
4443 PR middle-end/34458
4444 * tree-data-ref.c (initialize_matrix_A): Use tree_low_cst,
4445 adjust return type.
4446
4447 2008-01-09 Richard Guenther <rguenther@suse.de>
4448
4449 PR middle-end/34679
4450 * tree.c (host_integerp): Check for sizetype only if the
4451 type is an integer type.
4452
4453 2008-01-09 Steven Bosscher <stevenb.gcc@gmail.com>
4454
4455 PR debug/26364
4456 * opts.c (decode_options): Disable inlining of functions called
4457 once if not in unit-at-a-time mode.
4458
4459 2008-01-09 Alexandre Oliva <aoliva@redhat.com>
4460
4461 * Makefile.in (dse.o): Remove duplicate $(RECOG_H) dependency.
4462
4463 2008-01-08 Richard Guenther <rguenther@suse.de>
4464
4465 PR middle-end/31863
4466 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Bail
4467 out early if the result will be unused.
4468
4469 2008-01-08 Uros Bizjak <ubizjak@gmail.com>
4470
4471 PR target/34709
4472 Revert:
4473
4474 2008-01-05 Uros Bizjak <ubizjak@gmail.com>
4475 * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
4476 for TARGET_RECIP.
4477
4478 2008-01-08 Jan Sjodin <jan.sjodin@amd.com>
4479
4480 * config/i386/i386.c (k8_cost, amdfam10_cost): Branch costs
4481 for vectorization tuned.
4482
4483 2008-01-08 Richard Guenther <rguenther@suse.de>
4484
4485 PR tree-optimization/34683
4486 * tree-ssa-operands.c (operand_build_cmp): Export.
4487 * tree-ssa-operands.h (operand_build_cmp): Declare.
4488 * tree-vn.c (vuses_compare): Remove.
4489 (sort_vuses): Use operand_build_cmp.
4490 (sort_vuses_heap): Likewise.
4491 * tree-ssa-sccvn.c (vuses_to_vec): Use VEC_reserve, not VEC_alloc
4492 to re-use old VEC if available. Do not sort already sorted VUSEs.
4493 (vdefs_to_vec): Do not sort already sorted VDEFs.
4494
4495 2008-01-08 Jakub Jelinek <jakub@redhat.com>
4496
4497 PR middle-end/34694
4498 * omp-low.c (copy_var_decl): Copy also DECL_SOURCE_LOCATION.
4499
4500 2008-01-08 Uros Bizjak <ubizjak@gmail.com>
4501
4502 PR target/34702
4503 * doc/invoke.texi (i386 and x86-64 Options) [mrecip]: Document
4504 limitations of reciprocal sequences on x86 targets.
4505
4506 2008-01-08 Richard Guenther <rguenther@suse.de>
4507
4508 PR tree-optimization/34683
4509 * tree-flow-inline.h (var_ann): Remove overzealous asserts.
4510
4511 2008-01-07 Jakub Jelinek <jakub@redhat.com>
4512
4513 PR target/34622
4514 * config/darwin.c (darwin_mergeable_string_section): Don't use
4515 .cstring if int_size_in_bytes != TREE_STRING_LENGTH.
4516
4517 2008-01-07 Uros Bizjak <ubizjak@gmail.com>
4518
4519 PR target/34682
4520 * config/i386/i386.md (neg<mode>2): Rename from negsf2, negdf2 and
4521 negxf2. Macroize expander using X87MODEF mode iterator. Change
4522 predicates of op0 and op1 to register_operand.
4523 (abs<mode>2): Rename from abssf2, absdf2 and negxf2. Macroize
4524 expander using X87MODEF mode iterator. Change predicates of
4525 op0 and op1 to register_operand.
4526 ("*absneg<mode>2_mixed", "*absneg<mode>2_sse"): Rename from
4527 corresponding patterns and macroize using MODEF macro. Change
4528 predicates of op0 and op1 to register_operand and remove
4529 "m" constraint. Disparage "r" alternative with "!".
4530 ("*absneg<mode>2_i387"): Rename from corresponding patterns and
4531 macroize using X87MODEF macro. Change predicates of op0 and op1
4532 to register_operand and remove "m" constraint. Disparage "r"
4533 alternative with "!".
4534 (absneg splitter with memory operands): Remove.
4535 ("*neg<mode>2_1", "*abs<mode>2_1"): Rename from corresponding
4536 patterns and macroize using X87MODEF mode iterator.
4537 * config/i386/sse.md (negv4sf2, absv4sf2, neg2vdf2, absv2df2):
4538 Change predicate of op1 to register_operand.
4539 * config/i386/i386.c (ix86_expand_fp_absneg_operator): Remove support
4540 for memory operands.
4541
4542 2008-01-07 Nathan Froyd <froydnj@codesourcery.com>
4543
4544 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add clause for mcpu=8548.
4545
4546 2008-01-07 Richard Guenther <rguenther@suse.de>
4547
4548 * basic-block.h (struct edge_def): Pair dest_idx with goto_locus
4549 fields.
4550
4551 2008-01-07 Richard Guenther <rguenther@suse.de>
4552
4553 PR tree-optimization/34683
4554 * tree-ssa-sccvn.c (vuses_to_vec): Pre-allocate the vector of
4555 VOPs of the needed size to save memory. Use VEC_quick_push
4556 to save compile-time.
4557 (vdefs_to_vec): Likewise.
4558
4559 2008-01-07 Sa Liu <saliu@de.ibm.com>
4560
4561 * config/spu/spu.md (divdf3): Genetate inline code for double
4562 division. The implementation doesn't handle INF or NAN, therefore it
4563 only applies when -ffinite-math-only is given.
4564
4565 2008-01-06 Paolo Carlini <pcarlini@suse.de>
4566
4567 PR libstdc++/34680
4568 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_RTTI, if appropriate.
4569 * doc/cpp.texi ([Common Predefined Macros]): Document.
4570
4571 2008-01-06 Uros Bizjak <ubizjak@gmail.com>
4572
4573 * config/i386/i386.c (ix86_emit_swsqrtsf): Use negative constants in
4574 order to use commutative addition instead of subtraction.
4575
4576 2008-01-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
4577 Mircea Namolaru <namolaru@il.ibm.com>
4578 Vladimir Yanovsky <yanov@il.ibm.com>
4579 Revital Eres <eres@il.ibm.com>
4580
4581 PR tree-optimization/34263
4582 * tree-outof-ssa.c (process_single_block_loop_latch,
4583 contains_tree_r): New functions.
4584 (analyze_edges_for_bb): Call process_single_block_loop_latch
4585 function to empty single-basic-block latch block if possible.
4586
4587 2008-01-05 Uros Bizjak <ubizjak@gmail.com>
4588
4589 * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
4590 for TARGET_RECIP.
4591 (ix86_emit_swsqrtsf): Do not filter out infinity for rsqrt expansion.
4592
4593 2008-01-05 Richard Sandiford <rsandifo@nildram.co.uk>
4594
4595 * c-omp.c (check_omp_for_incr_expr): Handle CONVERT_EXPR.
4596
4597 2008-01-05 Richard Sandiford <rsandifo@nildram.co.uk>
4598
4599 * config/mips/mips.c (mips_in_small_data_p): Reinstate size > 0 check.
4600
4601 2008-01-05 Jakub Jelinek <jakub@redhat.com>
4602
4603 PR tree-optimization/34618
4604 * tree-outof-ssa.c (create_temp): Copy over DECL_GIMPLE_REG_P
4605 flag from T.
4606
4607 2008-01-05 Uros Bizjak <ubizjak@gmail.com>
4608
4609 PR target/34673
4610 * config/i386/i386.c (ix86_emit_swsqrtsf): Swap input operands
4611 in the call to gen_rtx_NE. Remove unneeded VECTOR_MODE_P check.
4612 Update copyright year.
4613
4614 * config/i386/i386.md (rsqrtsf2): Enable for TARGET_SSE_MATH.
4615 Update copyright year.
4616 * config/i386/sse.md (rsqrtv4sf2): Ditto. Unconditionally expand
4617 using NR fixup.
4618
4619 2008-01-05 Zhouyi Zhou <zhouzhouyi@FreeBSD.org>
4620
4621 * tree-vrp.c (find_conditional_asserts): Remove redundant check that
4622 edge does not point to current bb before changing need_assert.
4623
4624 2008-01-04 Richard Guenther <rguenther@suse.de>
4625
4626 PR middle-end/34029
4627 * tree-cfg.c (verify_expr): Do not look inside ADDR_EXPRs
4628 for verifying purposes if they are is_gimple_min_invariant.
4629
4630 2008-01-04 Aldy Hernandez <aldyh@redhat.com>
4631
4632 PR tree-optimization/34448
4633 PR tree-optimization/34465
4634 * gimplify.c (gimplify_init_constructor): Add new parameter
4635 notify_temp_creation. Use it.
4636 (gimplify_modify_expr_rhs): Take volatiles into account when
4637 optimizing constructors.
4638 Do not optimize constructors if gimplify_init_constructor will dump to
4639 memory.
4640 * gcc.dg/tree-ssa/pr32901.c: Tests const volatiles.
4641 * gcc.c-torture/compile/pr34448.c: New.
4642
4643 2008-01-04 Jakub Jelinek <jakub@redhat.com>
4644
4645 PR gcov-profile/34609
4646 * tree-inline.c (declare_return_variable): Set TREE_ADDRESSABLE on
4647 return_slot if result is TREE_ADDRESSABLE.
4648
4649 2008-01-04 Richard Sandiford <rsandifo@nildram.co.uk>
4650
4651 * config/mips/mips.md (sqrt_condition): Tweak comment.
4652 (recip_condition): Likewise. Require TARGET_FLOAT64 for DFmode.
4653
4654 2008-01-03 Tom Tromey <tromey@redhat.com>
4655
4656 PR c/34457
4657 * c-common.c (c_type_hash): Handle VLAs.
4658
4659 2008-01-03 Jan Hubicka <jh@suse.cz>
4660
4661 PR tree-optimization/31081
4662 * tree-inline.c (remap_ssa_name): Initialize uninitialized SSA vars to
4663 0 when inlining and not inlining to first basic block.
4664 (remap_decl): When var is initialized to 0, don't set default_def.
4665 (expand_call_inline): Set entry_bb.
4666 * tree-inline.h (copy_body_data): Add entry_bb.
4667
4668 2008-01-03 Jakub Jelinek <jakub@redhat.com>
4669
4670 PR c++/34619
4671 * cgraphunit.c (cgraph_build_static_cdtor): set_cfun back to NULL
4672 before returning.
4673
4674 PR tree-optimization/29484
4675 * tree-inline.c (inline_forbidden_p_2): New function.
4676 (inline_forbidden_p): Disallow inlining if some static var
4677 has an address of a local LABEL_DECL in its initializer.
4678 * doc/extend.texi (Labels as Values): Document &&foo behaviour
4679 vs. inlining.
4680
4681 2008-01-03 Sebastian Pop <sebastian.pop@amd.com>
4682
4683 PR tree-optimization/34635
4684 * tree-data-ref.c (add_other_self_distances): Make sure that the
4685 evolution step is constant.
4686
4687 2008-01-03 Jakub Jelinek <jakub@redhat.com>
4688
4689 PR middle-end/34608
4690 * omp-low.c (expand_omp_parallel): Purge dead EH edges in the child fn.
4691
4692 2008-01-02 Richard Sandiford <rsandifo@nildram.co.uk>
4693
4694 * tree-sra.c (scalarize_init): Insert the generate_element_init
4695 statements after the generate_element_zero statements.
4696
4697 2008-01-02 Richard Guenther <rguenther@suse.de>
4698
4699 PR middle-end/34093
4700 PR middle-end/31976
4701 * tree-ssa-operands.c (ssa_operand_alloc): Also allocate a buffer
4702 for very large number of operands instead of ICEing.
4703
4704 2008-01-02 Arthur Norman <acn1@cam.ac.uk>
4705
4706 PR target/34013
4707 * config/i386/i386.c (ix86_expand_prologue): Save red-zone
4708 while stack probing.
4709
4710 2008-01-01 Douglas Gregor <doug.gregor@gmail.com>
4711
4712 * c-opts.c (sanitize_cpp_opts): Don't warn about "long long" when
4713 in C++0x mode.
4714
4715 2008-01-01 Volker Reichelt <v.reichelt@netcologne.de>
4716
4717 PR libmudflap/26442
4718 * tree-mudflap.c (mx_register_decls): Guard warning by
4719 !DECL_ARTIFICIAL check.
4720
4721 2008-01-01 Jakub Jelinek <jakub@redhat.com>
4722
4723 * config/i386/sse.md (sse5_pperm, sse5_pperm_pack_v2di_v4si,
4724 sse5_pperm_pack_v4si_v8hi, sse5_pperm_pack_v8hi_v16qi,
4725 sse5_perm<mode>): Fix constraints.