OSDN Git Service

PR debug/35065
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2008-02-13  Michael Matz  <matz@suse.de>
2
3         PR debug/35065
4         * var-tracking.c (clobber_variable_part): Correctly traverse the
5         list.
6
7 2008-02-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
8
9         PR 29673
10         * doc/invoke.texi (Debugging Options): Remove -fdump-tree-inlined.
11         Add -fdump-ipa-inline.
12         * tree-dump.c (dump_files): Remove tree-inlined dump.
13         * tree-pass.h (tree_dump_index): Remove TDI_inlined.
14         
15 2008-02-12  Richard Guenther  <rguenther@suse.de>
16
17         PR tree-optimization/35171
18         * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Deal with
19         default defs.
20
21 2008-02-12  Richard Guenther  <rguenther@suse.de>
22
23         PR middle-end/35163
24         * fold-const.c (fold_widened_comparison): Use get_unwidened in
25         value-preserving mode.  Disallow final truncation.
26
27 2008-02-12  Eric Botcazou  <ebotcazou@adacore.com>
28
29         PR middle-end/35136
30         * gimplify.c (force_gimple_operand_bsi): Move SSA renaming
31         code from here to...
32         (force_gimple_operand): ...here.
33
34 2008-02-12  Jakub Jelinek  <jakub@redhat.com>
35
36         PR c++/35144
37         * tree-sra.c (sra_build_assignment): fold_convert SRC if copying
38         non-compatible pointers.
39         (generate_element_copy): If SRC and DST are RECORD_TYPEs with
40         different FIELD_DECLs, try harder by comparing field offsets, sizes
41         and types.
42
43         PR inline-asm/35160
44         * function.c (match_asm_constraints_1): Don't replace the same input
45         multiple times.
46
47 2008-02-12  Anatoly Sokolov <aesok@post.ru>
48
49         * config/avr/avr.h (AVR_HAVE_RAMPZ): Define.
50         * config/avr/avr.c (expand_prologue): Save RAMPZ register.
51         (expand_epilogue): Restore RAMPZ register.
52         * config/avr/avr.md (RAMPZ_ADDR): New constant.
53
54 2008-02-11  Kai Tietz  <kai.tietz@onevision.com>
55
56         * config/i386/cygwin.asm: (__alloca): Correct calling
57         convention and alignment.
58         (__chkstk): Force 8 byte stack alignment.
59
60 2008-02-11  Uros Bizjak  <ubizjak@gmail.com>
61             Richard Guenther  <rguenther@suse.de>
62
63         PR tree-optimization/33992
64         * tree-ssa-loop-im.c (rewrite_bittest): Fixup the type of
65         the zero we compare against.
66
67 2008-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
68
69         PR libfortran/35063
70         * gthr-win32.h (__gthread_mutex_destroy_function): New function
71         to CloseHandle after unlocking to prevent accumulation of handle
72         count.
73
74 2008-02-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
75
76         PR middle_end/34150
77         * pa.c (legitimize_pic_address): Add REG_EQUAL note on sets with a
78         pic_label_operand source.  Similarly, add a REG_LABEL_OPERAND note
79         and update LABEL_NUSES during and after reload.
80
81 2008-02-08  Steven Bosscher  <stevenb.gcc@gmail.com>
82
83         PR middle-end/34627
84         * combine.c (simplify_if_then_else): Make sure the comparison is
85         against const0_rtx when simplifying to (abs x) or (neg (abs X)).
86
87 2008-02-08  Richard Sandiford  <rsandifo@nildram.co.uk>
88
89         PR bootstrap/35051
90         * double-int.h: Don't include gmp.h for GENERATOR_FILEs.
91         (mpz_set_double_int, mpz_get_double_int): Hide from GENERATOR_FILEs.
92         * real.h: Don't include gmp.h or mpfr.h for GENERATOR_FILEs.
93         (real_from_mpfr, mpfr_from_real): Hide from GENERATOR_FILEs.
94         * tree.h (get_type_static_bounds): Likewise.
95
96 2008-02-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97
98         * doc/invoke.texi (Option Summary, C++ Dialect Options)
99         (Objective-C and Objective-C++ Dialect Options, Warning Options):
100         Make -Wfoo language annotations match what the compiler outputs.
101
102 2008-02-08  Sa Liu  <saliu@de.ibm.com>
103
104         * config/spu/spu-builtins.def: Fixed wrong parameter type in spu 
105         intrinsics spu_convts, spu_convtu, spu_convtf.
106         * testsuite/gcc.target/spu/intrinsics-3.c: New. Test error messages.
107
108 2008-02-08  Hans-Peter Nilsson  <hp@axis.com>
109
110         * doc/extend.texi (Function Attributes) <noinline>: Mention
111         asm ("") as method to keep calls.
112
113 2008-02-07  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
114
115         PR other/32754
116         * doc/options.texi (Options): Replace references to opts.sh with
117         optc-gen.awk.
118         * opts-common.c: Likewise.
119         * optc-gen.awk: Likewise.
120         
121 2008-02-07  Andreas Krebbel  <krebbel1@de.ibm.com>
122
123         * config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit.
124
125 2008-02-07  Richard Henderson  <rth@redhat.com>
126
127         PR rtl-opt/33410
128         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use an
129         EXPR_LIST for the REG_EQUAL instead of a comparison with a 
130         funny mode.
131
132 2008-02-07  Uros Bizjak  <ubizjak@gmail.com>
133
134         PR tree-optimization/35085
135         * tree-ssa-reassoc.c (rewrite_expr_tree): Enable destructive update
136         for operand entry oe2 in addition to operand entry oe3 in order to
137         expose more opportunities for vectorizer sum reduction.
138
139 2008-02-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
140
141         PR other/35107
142         * Makefile.in (LIBS): Remove $(GMPLIBS).
143         (cc1-dummy, cc1): Add $(GMPLIBS).
144
145 2008-02-06  Jan Hubicka  <jh@suse.cz>
146
147         PR target/23322
148         * i386.md (moddf_integer): Do not produce partial memory stalls for
149         targets where it hurts.
150
151 2008-02-06  Uros Bizjak  <ubizjak@gmail.com>
152
153         PR target/35083
154         * optabs.c (expand_float): Do not check for decimal modes when
155         expanding unsigned integer through signed conversion.
156
157 2008-02-06  Nick Clifton  <nickc@redhat.com>
158
159         * config/stormy16/stormy16.md (eqbranchsi): Replace a match_dup
160         inside the clobber with a match_operand and duplicated operand
161         number in the constraint.
162         (ineqbranchsi): Delete redundant comment.
163
164 2008-02-06  Ralf Corsepius  <ralf.corsepius@rtems.org>
165
166         * config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add 
167         builtin_define ("__USE_INIT_FINI__").
168         * config/h8300/t-rtems (MULTILIB_OPTION,MULTILIB_DIRNAMES): Add
169         -msx multilibs.
170         * gthr-rtems.h: Remove __GTHREAD_MUTEX_INIT.
171
172 2008-02-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
173
174         PR documentation/30330
175         * doc/invoke.texi (C++ Dialect Options)
176         (Objective-C and Objective-C++ Dialect Options, Warning Options):
177         For each warning option -Wfoo that allows -Wno-foo, ensure both
178         -Wfoo and -Wno-foo are listed in the option index.  Fix index
179         entry of -Wswitch-default, index -Wnormalized= including the
180         `=', and -Wlarger-than-@var{len} including @var{len}.
181
182 2008-02-05  Uros Bizjak  <ubizjak@gmail.com>
183
184         * config/i386/i386.md (floatunssisf2): Use
185         ix86_expand_convert_uns_sisf_sse also for TARGET_SSE.
186         (floatunssi<mode>2): Rename from floatunssisf2 and floatunssidf2.
187         Macroize expander using MODEF mode iterator.
188
189 2008-02-05  Diego Novillo  <dnovillo@google.com>
190
191         http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00140.html
192
193         PR 33738
194         * tree-vrp.c (vrp_evaluate_conditional): Revert fix for PR 33738.
195
196 2008-02-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
197
198         PR other/35070
199         * toplev.c (print_version): Honor `indent' for GMP/MPFR warnings.
200
201 2008-02-05  H.J. Lu  <hongjiu.lu@intel.com>
202
203         PR target/35084
204         * config/i386/i386.c (ix86_function_sseregparm): Add an arg
205         to indicate if a message should be generated.
206         (init_cumulative_args): Updated.
207         (function_value_32): Likewise.
208
209 2008-02-05  Joseph Myers  <joseph@codesourcery.com>
210
211         * doc/include/texinfo.tex: Update to version 2008-02-04.16.
212
213 2008-02-05  Uros Bizjak  <ubizjak@gmail.com>
214
215         PR target/35083
216         * config/i386/i386.md (floatunsisf2): Enable for TARGET_SSE_MATH only.
217         Call ix86_expand_convert_uns_sisf_sse for TARGET_SSE2.
218
219 2008-02-04  Diego Novillo  <dnovillo@google.com>
220
221         http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00110.html
222
223         PR 33738
224         * tree-vrp.c (vrp_evaluate_conditional): With
225         -Wtype-limits, emit a warning when comparing against a
226         constant outside the natural range of OP0's type.
227
228 2008-02-04  Richard Guenther  <rguenther@suse.de>
229
230         PR middle-end/33631
231         * expr.c (count_type_elements): Give for unions instead of
232         guessing.
233
234 2008-02-04  Richard Guenther  <rguenther@suse.de>
235
236         PR middle-end/35043
237         * gimplify.c (gimplify_init_ctor_eval): Convert array indices
238         to TYPE_DOMAINs base type instead of using bitsizetype here.
239
240 2008-02-03  Jason Merrill  <jason@redhat.com>
241
242         * print-tree.c (print_node) [CONSTRUCTOR]: Print elements.
243
244 2008-02-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
245
246         PR other/29972
247         * doc/invoke.texi (C++ Dialect Options, Optimize Options)
248         (HPPA Options, i386 and x86-64 Options, IA-64 Options)
249         (RS/6000 and PowerPC Options): Fix typos and markup.
250         * doc/passes.texi (Tree-SSA passes): Likewise.
251
252 2008-02-02  Michael Matz  <matz@suse.de>
253
254         PR target/35045
255         * postreload-gcse.c (record_last_reg_set_info_regno): Renamed
256         from record_last_reg_set_info.
257         (record_last_reg_set_info): Take an RTX argument, iterate over all
258         constituent hardregs.
259         (record_last_set_info, record_opr_changes): Change calls to
260         new signature or to record_last_reg_set_info_regno.
261
262 2008-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
263
264         * doc/extend.texi (X86 Built-in Functions): Fix grammar.
265
266 2008-02-01  Hans-Peter Nilsson  <hp@axis.com>
267
268         PR rtl-optimization/34773
269         * reg-notes.def (EQUAL): Mention significance of combination of
270         REG_EQUAL and REG_RETVAL.
271         * fwprop.c (try_fwprop_subst): Don't add REG_EQUAL to an
272         insn that has a REG_RETVAL.
273
274 2008-02-01  Roger Sayle  <roger@eyesopen.com>
275
276         PR bootstrap/33781
277         * configure.ac (--enable-fixed-point): Disable unless explicitly
278         requested on IRIX.
279         * configure: Regenerate.
280
281 2008-02-01  Richard Guenther  <rguenther@suse.de>
282
283         PR other/35042
284         * invoke.texi (-finline-limit): Remove no longer true parts
285         of the documentation.  Note that there is no default value.
286
287 2008-02-01  Andrew Pinski  <pinskia@gmail.com>
288             Mark Mitchell  <mark@codesourcery.com>
289             Ben Elliston  <bje@au.ibm.com>
290
291         PR c/29326
292         * doc/extend.texi (Other Builtins): Document.
293
294 2008-01-31  Tom Browder <tom.browder@gmail.com>
295
296         * doc/c-tree.texi (Types): Fix grammar.
297         (Expression trees): Ditto.
298         * doc/passes.texi (Tree-SSA passes): Ditto.
299         
300         * doc/configterms.texi (Configure Terms): Fix typo.
301         * doc/cpp.texi (Common Predefined Macros): Ditto.
302         * doc/md.texi (Machine Constraints): Ditto.
303         
304         * doc/makefile.texi (Makefile): Add comma.
305
306 2008-01-31  Tom Browder  <tom.browder@gmail.com>
307             Gerald Pfeifer  <gerald@pfeifer.com>
308         
309         * doc/sourcebuild.texi (Front End): Remove references to CVS
310         and CVSROOT/modules.
311         (Texinfo Manuals): Replace reference to CVS by one to SVN.
312         (Back End): Remove reference to CVS.
313
314 2008-01-31  Richard Sandiford  <rsandifo@nildram.co.uk>
315
316         PR target/34900
317         * config/mips/mips.c (gen_load_const_gp): New function, taking a
318         comment from...
319         (mips16_gp_pseudo_reg): ...here.
320         * config/mips/mips.md (load_const_gp): Replace with...
321         (load_const_gp_<mode>): ...this :P-based insn.
322
323 2008-01-31  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
324
325         * doc/invoke.texi (-ansi): Mention explicitly corresponding -std=
326         options. Minor fixes.
327         (-std): Move reference to standards closer to where language
328         standards are first mentioned.
329         
330 2008-01-31  Richard Sandiford  <rsandifo@nildram.co.uk>
331
332         PR rtl-optimization/34995
333         * reload.c (alternative_allows_const_pool_ref): Take an rtx
334         parameter and return a bool.  If the rtx parameter is nonnull,
335         check that it satisfies an EXTRA_MEMORY_CONSTRAINT.
336         (find_reloads): Update call accordingly.  Pass the new operand
337         if it needed no address reloads, otherwise pass null.
338
339 2008-01-30  Richard Henderson  <rth@redhat.com>
340
341         PR c/34993
342         * tree.c (build_type_attribute_qual_variant): Skip TYPE_DOMAIN
343         for unbounded arrays.
344
345 2008-01-30  Silvius Rus  <rus@google.com>
346
347         * config/i386/xmmintrin.h (_mm_prefetch): Add const to first arg.
348
349 2008-01-30  Jan Hubicka  <jh@suse.cz>
350
351         PR target/34982
352         * i386.c (init_cumulative_args): Use real function declaration when
353         calling locally.
354
355 2008-01-30  Richard Sandiford  <rsandifo@nildram.co.uk>
356
357         PR rtl-optimization/34998
358         * global.c (build_insn_chain): Treat non-subreg_lowpart
359         SUBREGs of pseudos as clobbering all the words covered by the
360         SUBREG, not just all the bytes.
361         * ra-conflict.c (clear_reg_in_live): Likewise.  Take the
362         original df_ref rather than an extract parameter.
363         (global_conflicts): Update call accordingly.
364
365 2008-01-30  Andreas Krebbel  <krebbel1@de.ibm.com>
366
367         * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): Rearrange
368         the overflow check to make it easier to read.
369         (__fixtfdi): Change the type of the ll member in union
370         long_double to UDItype_x.
371
372 2008-01-30  Jakub Jelinek  <jakub@redhat.com>
373
374         PR middle-end/34969
375         * cgraph.h (cgraph_update_edges_for_call_stmt): New prototype.
376         * cgraph.c (cgraph_update_edges_for_call_stmt): New function.
377         * tree-inline.c (fold_marked_statements): Call
378         cgraph_update_edges_for_call_stmt if folding a call statement.
379         * cgraphunit.c (verify_cgraph_node): Set cfun to this_cfun for
380         debug_generic_stmt calls, reset it back afterwards.
381
382         PR c/35017
383         * c-decl.c (start_decl): Don't pedwarn about TREE_READONLY
384         static decls.
385         * c-typeck.c (build_external_ref): Don't pedwarn about
386         static vars in current function's scope.
387
388 2008-01-29  Joseph Myers  <joseph@codesourcery.com>
389
390         * config.gcc (i[34567]86-*-nto-qnx*): Remove deprecation.
391
392 2008-01-29  Bernhard Fischer  <aldot@gcc.gnu.org>
393
394         PR c/35002
395         * ipa-struct-reorg.c: Fix spelling.
396         * params.def: Ditto.
397
398 2008-01-29  Richard Guenther  <rguenther@suse.de>
399
400         PR middle-end/35006
401         * tree-inline.h (struct copy_body_data): Add remapping_type_depth
402         field.
403         * tree-inline.c (remap_type): Increment remapping_type_depth
404         around remapping types.
405         (copy_body_r): Only add referenced variables if they are referenced
406         from code, not types.
407
408 2008-01-29  Douglas Gregor  <doug.gregor@gmail.com>
409
410         PR c++/34055
411         PR c++/34103
412         PR c++/34219
413         PR c++/34606
414         PR c++/34753
415         PR c++/34754
416         PR c++/34755
417         PR c++/34919
418         PR c++/34961
419         * c-pretty-print.c (pp_c_type_qualifier_list): Don't try to print
420         qualifiers for an ERROR_MARK_NODE or a NULL_TREE.
421
422 2008-01-28  Andy Hutchinson   <hutchinsonandy@netscape.net>
423
424         PR target/34412
425         * config/avr/avr.c (expand_prologue): Use correct QI mode frame 
426         pointer for tiny stack.
427
428 2008-01-28  Bernhard Fischer  <aldot@gcc.gnu.org>
429
430         * doc/tree-ssa.texi: Add cindex PHI nodes and improve wording.
431
432 2008-01-28  Bernhard Fischer  <aldot@gcc.gnu.org>
433
434         * config/vx-common.h: Fix typo in comment.
435
436 2008-01-28  Ian Lance Taylor  <iant@google.com>
437
438         PR c++/34862
439         PR c++/33407
440         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
441         coalesce pointers if they have different DECL_NO_TBAA_P values.
442         * tree-ssa-copy.c (may_propagate_copy): Don't propagate copies
443         between variables with different DECL_NO_TBAA_P values.
444
445 2008-01-28  Nathan Froyd  <froydnj@codesourcery.com>
446
447         PR 31535
448         * config/rs6000/rs6000.c (small_data_operand): Vectors and floats
449         are not legitimate small data references on SPE targets.
450
451 2008-01-28  David Daney  <ddaney@avtrex.com>
452
453         * doc/install.texi (mips-*-*): Recommend binutils 2.18.
454
455 2008-01-28  David Daney  <ddaney@avtrex.com>
456
457         * doc/install.texi (--disable-libgcj-bc):  Reword documentation.
458
459 2008-01-27  Joseph Myers  <joseph@codesourcery.com>
460
461         * config.gcc (strongarm*-*, ep9312*-*, xscale*-*, parisc*-*,
462         m680[012]0-*, *-*-beos*, *-*-kaos*, *-*-linux*aout*,
463         *-*-linux*libc1*, *-*-solaris2.[0-6], *-*-solaris2.[0-6].*,
464         *-*-sysv*, *-*-windiss*, alpha*-*-unicosmk*, cris-*-aout,
465         hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
466         i[34567]86-sequent-ptx4*, i[34567]86-*-nto-qnx*,
467         i[34567]86-*-sco3.2v5*, i[34567]86-*-uwin*, powerpc-*-chorusos*,
468         vax-*-bsd*, vax-*-ultrix*): Mark obsolete.
469
470 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
471
472         * basic-block.h (condjump_equiv_p): Fix comment.
473
474 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
475
476         * tree-pretty-print.c (print_generic_decl, print_generic_stmt,
477         print_generic_stmt_indented): Fix comment.
478
479 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
480
481         * configure.ac (__stack_chk_fail): Add detecion for availability
482         of SSP in uClibc by checking if __UCLIBC_HAS_SSP__ is defined.
483         * configure: Regenerate.
484
485 2008-01-26  Maxim Kuvyrkov  <maxim@codesourcery.com>
486
487         PR middle-end/34688
488         * final.c (output_addr_const): Handle TRUNCATE.
489
490 2008-01-26  Zdenek Dvorak  <ook@ucw.cz>
491
492         PR target/34711
493         * tree-ssa-loop-ivopts.c (comp_cost): New type.
494         (zero_cost, infinite_cost): New constants.
495         (struct cost_pair): Change type of cost to comp_cost.
496         (struct iv_ca): Change type of cand_use_cost and cost to comp_cost.
497         (new_cost, add_costs, sub_costs, compare_costs, infinite_cost_p):
498         New functions.
499         (set_use_iv_cost, force_expr_to_var_cost, force_var_cost,
500         split_address_cost, ptr_difference_cost, difference_cost,
501         get_computation_cost_at, get_computation_cost,
502         determine_use_iv_cost_generic, determine_use_iv_cost_address,
503         determine_use_iv_cost_condition, determine_use_iv_costs,
504         cheaper_cost_pair, iv_ca_recount_cost, iv_ca_set_no_cp,
505         iv_ca_set_cp, iv_ca_cost, iv_ca_new, iv_ca_dump, iv_ca_extend,
506         iv_ca_narrow, iv_ca_prune, try_improve_iv_set, find_optimal_iv_set):
507         Change type of cost to comp_cost.
508         (determine_iv_cost): Increase cost of non-original ivs, instead
509         of decreasing the cost of original ones.
510         (get_address_cost): Indicate the complexity of the addressing mode 
511         in comp_cost.
512         (try_add_cand_for): Prefer using ivs not specific to some object.
513         * tree-flow.h (force_expr_to_var_cost): Declaration removed.
514
515 2008-01-26  Peter Bergner  <bergner@vnet.ibm.com>
516             Janis Johnson  <janis187@us.ibm.com>
517
518         PR target/34814
519         * doc/tm.texi (TARGET_EXPAND_TO_RTL_HOOK): Document.
520         (TARGET_INSTANTIATE_DECLS): Likewise.
521         * target.h (expand_to_rtl_hook): New target hook.
522         (instantiate_decls): Likewise.
523         * function.c (instantiate_decl): Make non-static.  Rename to...
524         (instantiate_decl_rtl): ... this.
525         (instantiate_expr): Use instantiate_decl_rtl.
526         (instantiate_decls_1): Likewise.
527         (instantiate_decls): Likewise.
528         (instantiate_virtual_regs: Call new instantiate_decls taget hook.
529         * function.h (instantiate_decl_rtl): Add prototype.
530         * cfgexpand.c (target.h): New include.
531         (tree_expand_cfg): Call new expand_to_rtl_hook target hook.
532         * target-def.h (TARGET_EXPAND_TO_RTL_HOOK): New define.
533         (TARGET_INSTANTIATE_DECLS): Likewise.
534         (TARGET_INITIALIZER): New target hooks added.
535         * config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_rtx):
536         New prototype.
537         * config/rs6000/rs6000.c (tree-flow.h): New include.
538         (machine_function): Add sdmode_stack_slot field.
539         (rs6000_alloc_sdmode_stack_slot): New function.
540         (rs6000_instantiate_decls): Likewise.
541         (rs6000_secondary_memory_needed_rtx): Likewise.
542         (rs6000_check_sdmode): Likewise.
543         (TARGET_EXPAND_TO_RTL_HOOK): Target macro defined.
544         (TARGET_INSTANTIATE_DECLS): Likewise.
545         (rs6000_hard_regno_mode_ok): Allow SDmode.
546         (num_insns_constant): Likewise.  Handle _Decimal32 constants.
547         (rs6000_emit_move): Handle SDmode.
548         (function_arg_advance): Likewise.
549         (function_arg): Likewise.
550         (rs6000_gimplify_va_arg): Likewise.  Add special handling of
551         SDmode var args for 32-bit compiles.
552         (rs6000_secondary_reload_class): Handle SDmode.
553         (rs6000_output_function_epilogue): Likewise.
554         (rs6000_function_value): Simplify if statement.
555         (rs6000_libcall_value): Likewise.
556         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Handle SDmode.
557         (SECONDARY_MEMORY_NEEDED_RTX): Add define.
558         * config/rs6000/dfp.md (movsd): New define_expand and splitter.
559         (movsd_hardfloat): New define_insn.
560         (movsd_softfloat): Likewise.
561         (movsd_store): Likewise.
562         (movsd_load): Likewise.
563         (extendsddd2): Likewise.
564         (extendsdtd2): Likewise.
565         (truncddsd2): Likewise.
566         (movdd_hardfloat64): Fixup comment.
567         (UNSPEC_MOVSD_LOAD): New constant.
568         (UNSPEC_MOVSD_STORE): Likewise.
569
570 2008-01-26  Jakub Jelinek  <jakub@redhat.com>
571
572         PR c++/34965
573         * c-pretty-print.c (pp_c_exclusive_or_expression): Handle
574         TRUTH_XOR_EXPR.
575         (pp_c_logical_and_expression): Handle TRUTH_AND_EXPR.
576         (pp_c_logical_or_expression): Handle TRUTH_OR_EXPR.
577         (pp_c_expression): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR
578         and TRUTH_XOR_EXPR.
579
580 2008-01-26  David Edelsohn  <edelsohn@gnu.org>
581
582         PR target/34794
583         * config.gcc: Separate AIX 5.3 from AIX 6.1.
584         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
585         __LONGDOUBLE128 too.
586         * config/rs6000/aix61.h: New file.
587
588 2008-01-26  Richard Sandiford  <rsandifo@nildram.co.uk>
589
590         PR rtl-optimization/34959
591         * optabs.c (expand_unop): In libcall notes, give ffs, clz, ctz,
592         popcount and parity rtxes the same mode as their operand.
593         Truncate or extend the result to the return value's mode
594         if necessary.
595
596 2008-01-26  Richard Sandiford  <rsandifo@nildram.co.uk>
597
598         PR target/34981
599         * config/mips/mips-protos.h (mips_expand_call): Return an rtx.
600         * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Rename FAKE_CALL_REGNO
601         to GOT_VERSION_REGNUM.
602         (CALL_REALLY_USED_REGISTERS): Set the GOT_VERSION_REGNUM entry to 0.
603         (EPILOGUE_USES): Include GOT_VERSION_REGNUM if TARGET_USE_GOT.
604         * config/mips/mips.c (mips_emit_call_insn): New function.
605         (mips_call_tls_get_addr): Call mips_expand_call directly.
606         (mips16_copy_fpr_return_value): Use mips_emit_call_insn rather than
607         emit_call_insn.
608         (mips16_build_call_stub): Likewise.  Return the call insn or null.
609         (mips_expand_call): Update the call to mips16_build_call_stub
610         accordingly and a remove redundant condition.  Assert that MIPS16
611         stubs do not use lazy binding.  Use mips_emit_call_insn and return
612         the call insn.
613         (mips_extra_live_on_entry): Include GOT_VERSION_REGNUM if
614         TARGET_USE_GOT.
615         (mips_hard_regno_mode_ok_p): Allow SImode for GOT_VERSION_REGNUM.
616         (mips_avoid_hazard): Remove hazard_set handling.
617         * config/mips/mips.md (UNSPEC_EH_RECEIVER): Rename to...
618         (UNSPEC_RESTORE_GP): ...this.
619         (UNSPEC_SET_GOT_VERSION, UNSPEC_UPDATE_GOT_VERSION): New constants.
620         (FAKE_CALL_REGNO): Rename to...
621         (GOT_VERSION_REGNUM): ...this.
622         (type): Add "ghost" value.  Add an associated insn reservation.
623         (hazard_set): Remove.
624         (exception_receiver): Rename to...
625         (restore_gp): ...this and update the unspec identifier accordingly.
626         (exception_receiver, nonlocal_got_receiver): New expanders.
627         (load_call<mode>): Use GOT_VERSION_REGNUM.  Don't set
628         FAKE_CALL_REGNO.  Remove hazard_set attribute.
629         (set_got_version, update_got_version): New patterns.
630
631 2008-01-26  Danny Smith  <dannysmith@users.sourceforge.net>
632
633         PR target/34970
634         * config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define.
635
636 2008-01-25  Joseph Myers  <joseph@codesourcery.com>
637
638         PR other/31955
639         * doc/install.texi2html: Generate gcc-vers.texi.
640
641 2008-01-25  DJ Delorie  <dj@redhat.com>
642
643         * config/m32c/m32c.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
644
645 2008-01-25  Joseph Myers  <joseph@codesourcery.com>
646
647         * config/c4x: Remove directory.
648         * config.gcc (crx-*, mt-*): Mark obsolete.
649         (c4x-*, tic4x-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*, tic4x-*,
650         h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*,
651         sh-*-rtemscoff*): Remove cases.
652         * defaults.h (C4X_FLOAT_FORMAT): Remove.
653         * real.c (encode_c4x_single, decode_c4x_single,
654         encode_c4x_extended, decode_c4x_extended, c4x_single_format,
655         c4x_extended_format): Remove.
656         * real.h (c4x_single_format, c4x_extended_format): Remove.
657         * doc/extend.texi (interrupt, naked): Remove mention of attributes
658         on C4x.
659         (Pragmas): Remove comment about c4x pragmas.
660         * doc/install.texi (c4x): Remove target-specific instructions.
661         * doc/invoke.texi (TMS320C3x/C4x Options): Remove.
662         * doc/md.texi (Machine Constraints): Remove C4x documentation.
663         * doc/tm.texi (MEMBER_TYPE_FORCES_BLK, c_register_pragma): Do not
664         refer to C4x source files as examples.
665         (C4X_FLOAT_FORMAT): Remove documentation.
666
667 2008-01-25  Bernd Schmidt  <bernd.schmidt@analog.com>
668
669         * config/bfin/bfin.c (override_options): Reorder tests so that
670         flag_pic gets enabled for -msep-data.
671
672 2008-01-25  Richard Guenther  <rguenther@suse.de>
673
674         PR middle-end/32244
675         * expr.c (expand_expr_real_1): Reduce result of LSHIFT_EXPR
676         to its bitfield precision if required.
677
678 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
679
680         PR middle-end/33880
681         * tree-nested.c (walk_omp_for): New function.
682         (convert_nonlocal_reference, convert_local_reference): Call
683         walk_omp_for on OMP_FOR.
684         (convert_call_expr): Call walk_body on OMP_FOR's
685         OMP_FOR_PRE_INIT_BODY.
686
687 2008-01-25  Richard Guenther  <rguenther@suse.de>
688
689         PR tree-optimization/34966
690         * tree-ssa-math-opts.c (execute_cse_sincos_1): For all but
691         default defs and PHI_NODEs we have to insert after the
692         defining statement.
693
694 2008-01-24  Nick Clifton  <nickc@redhat.com>
695
696         * config/stormy16/stormy16-lib2.c (MIN_UNITS_PER_WORD):
697         Provide a default definition.
698         (LIBGCC2_UNITS_PER_WORD): Likewise.
699
700         * config/stormy16/stormy16.c: Include df.h for the prototype
701         for df_regs_ever_live_p.
702         (xstormy16_expand_builtin_va_start): Convert the stack offset
703         into a component_ref and then use POINTER_PLUS_EXPR to add it
704         to the incoming_virtual_args_rtx.
705         (xstormy16_gimplify_va_arg_expr): Rename to
706         xstormy16_gimplify_va_arg_expr.
707         Use POINTER_PLUS_EXPR when performing pointer arithmetic.
708         (TARGET_GIMPLIFY_VA_ARG_EXPR): Use renamed
709         xstormy16_gimplify_va_arg_expr.
710         Fix up some formatting issues.
711
712         * config/stormy16/stormy16.c: (xstormy16_carry_plus_operand):
713         Move to predicates.md.
714         (xs_hi_general_operand): Likewise.
715         (xs_hi_nonmemory_operand): Likewise.
716         * config/stormy16/predicates.md:
717         (xstormy16_carry_plus_operand): New predicate.
718         (xs_hi_general_operand): New predicate.
719         (xs_hi_nonmemory_operand): New predicate.
720         * config/stormy16/stormy16-protos.h:
721         (xstormy16_carry_plus_operand): Delete prototype.
722         (xs_hi_general_operand): Likewise.
723         (xs_hi_nonmemory_operand): Likewise.
724
725         * config/storm16/stormy16.md (addhi3): Remove earlyclobber
726         modifiers as they are no longer needed and they can trigger
727         reload spill failures.
728
729         * config/storm16/stormy16.md (ineqbranchsi): Replace match_dup
730         with a match_operand in order to help reload.
731
732         * config/storm16/stormy16.md (movhi_internal): Replace 'r'
733         constraint with 'e' for the 8th alternative as this version of
734         the mov.w instruction only accepts the lower 8 registers.
735
736 2008-01-25  Uros Bizjak  <ubizjak@gmail.com>
737
738         PR target/34856
739         * simplifx-rtx.c (simplify_const_binary_operation) [VEC_CONCAT]:
740         Consider only CONST_INT, CONST_DOUBLE and CONST_FIXED as constant
741         vector elements.
742
743 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
744
745         PR middle-end/33333
746         * gimplify.c (gimplify_omp_for): Gimplify OMP_FOR_PRE_BODY.
747
748 2008-01-25  Golovanevsky Olga  <olga@il.ibm.com>
749
750         * ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs):
751         New functions.
752         (remove_structure): Update allocations list before removing structure.
753         
754 2008-01-25  Golovanevsky Olga  <olga@il.ibm.com>
755
756         * ipa-struct-reorg.c (is_safe_cond_expr, 
757         create_new_stmts_for_cond_expr): Use integer_zerop function,
758         that recognize not only zero-pointer, but zero-integer too.
759
760 2008-01-25  Ben Elliston  <bje@au.ibm.com>
761
762         PR other/22232
763         * fixproto: Escape "." in sed expression that strips leading "./".
764
765 2008-01-24  H.J. Lu  <hongjiu.lu@intel.com>
766
767         PR driver/34904
768         * gcc.c (SWITCH_OK): Removed.
769         (SWITCH_LIVE): Changed to bit.
770         (SWITCH_FALSE): Likewise.
771         (SWITCH_IGNORE): Likewise.
772         (switchstr): Change live_cond to unsigned int.
773         (process_command): Replace SWITCH_OK with 0.
774         (do_self_spec): Likewise.
775         (set_collect_gcc_options): Check the SWITCH_IGNORE bit.
776         (give_switch): Likewise.
777         (used_arg): Likewise.
778         (do_spec_1): Set the SWITCH_IGNORE bit.
779         (check_live_switch): Check both SWITCH_LIVE and SWITCH_FALSE
780         bits.  Set the SWITCH_LIVE bit.
781
782 2008-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>
783
784         * config/s390/s390.h (MOVE_RATIO): Define new target macro.
785
786 2008-01-24  Richard Sandiford  <rsandifo@nildram.co.uk>
787
788         PR tree-optimization/34472
789         * ipa-struct-reorg.c (safe_cond_expr_check): Change the DATA
790         parameter to a "bool *" and set *DATA to false if there is
791         an unsafe access.  Do not delete the structure here.
792         (check_cond_exprs): Delete it here instead.
793         (check_cond_exprs, exclude_cold_structs): Do not increase
794         I when removing a structure.
795
796 2008-01-24  Uros Bizjak  <ubizjak@gmail.com>
797
798         PR target/34856
799         * config/i386/i386.c (ix86_expand_vector_init): Consider only
800         CONST_INT, CONST_DOUBLE and CONST_FIXED as constant vector elements.
801
802 2008-01-24  Jakub Jakub Jelinek  <jakub@redhat.com>
803
804         PR middle-end/34934
805         * tree-stdarg.c (reachable_at_most_once): Use VEC vector instead of
806         a fixed vector for stack.
807
808 2008-01-24  Ben Elliston  <bje@au.ibm.com>
809
810         PR c++/25701
811         * doc/gcc.texi (Software development): Add a direntry for g++.
812         
813 2008-01-23  Hans-Peter Nilsson  <hp@axis.com>
814
815         * config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop
816         stale and straggling -fforce-addr comments above.
817
818         * config/cris/cris.h (CRIS_SUBTARGET_VERSION, TARGET_VERSION): Don't
819         define.
820         * config/cris/linux.h (CRIS_SUBTARGET_VERSION): Don't define.
821         * config/cris/aout.h (CRIS_SUBTARGET_VERSION): Don't define.
822
823 2008-01-23  Michael Matz  <matz@suse.de>
824
825         PR debug/34895
826         * dwarf2out.c (force_type_die): Use modified_type_die instead of
827         gen_type_die.
828
829 2008-01-23  Andreas Krebbel  <krebbel1@de.ibm.com>
830
831         * ipa-struct-reorg.c (create_new_malloc): Use pointer type as
832         malloc result type.
833
834 2008-01-23 Anatoly Sokolov <aesok@post.ru>
835
836         * config/avr/avr.c (avr_current_arch): New variable.
837         (avr_arch_types): Add 'avr31' and 'avr51' entries.
838         (avr_arch): Add 'ARCH_AVR31' and 'ARCH_AVR51'.
839         (avr_mcu_types): Add 'avr31' and 'avr51' architectures.
840         (avr_override_options): Init 'avr_current_arch'. 
841         (base_arch_s): Move from here...
842         * config/avr/avr.h (base_arch_s): ... here. Add new members 
843         'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename 
844         'mega' to 'have_jmp_call'.
845         (TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__", 
846         "__AVR_HAVE_RAMPZ__",   "__AVR_HAVE_ELPM__" and  "__AVR_HAVE_ELPMX__"
847         macros.
848         (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51' 
849         architectures.
850         * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, 
851         MULTILIB_MATCHES): (Ditto.).
852
853 2008-01-23  Richard Guenther  <rguenther@suse.de>
854
855         PR middle-end/31529
856         * cgraphunit.c (cgraph_reset_node): Always mark the node
857         not reachable if it is not queued already.
858
859 2008-01-23  Bernd Schmidt  <bernd.schmidt@analog.com>
860
861         * config/bfin/bfin-protos.h (WA_RETS, ENABLE_WA_RETS): New macros.
862         * config/bfin/bfin.c (bfin_cpus): Add WA_RETS everywhere.
863         (cputype_selected): New static variable.
864         (bfin_handle_option): Set it if -mcpu is used.
865         (override_option): Select default set of workarounds if no cpu type
866         selected on the command line.
867         (workaround_rts_anomaly): Only run if ENABLE_WA_RETS.
868
869         From  Michael Frysinger  <michael.frysinger@analog.com>
870         * config/bfin/bfin-protos.h (enum bfin_cpu_type): Add
871         BFIN_CPU_BF547, BFIN_CPU_BF523, BFIN_CPU_BF524, and BFIN_CPU_BF526.
872
873         * config/bfin/elf.h (LIB_SPEC): Use proper linker script
874         for bf547, bf523, bf524, and bf526.
875         * config/bfin/bfin.c (bfin_cpus[]): Add bf547,  bf523, bf524, and
876         bf526.
877         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
878         __ADSPBF523__ for bf523, __ADSPBF524__ for bf524,
879         __ADSPBF526__ for bf526, __ADSPBF52x__ for all three, as well as
880         __ADSPBF547__ and __ADSPBF54x__ for bf547.
881         * doc/invoke.texi (Blackfin Options): Document that
882         -mcpu now accept bf547, bf523, bf524, and bf526.
883
884 2008-01-22  Eric Botcazou  <ebotcazou@adacore.com>
885
886         PR rtl-optimization/34628
887         * combine.c (try_combine): Stop and undo after the first combination
888         if an autoincrement side-effect on the first insn has effectively
889         been lost.
890
891 2008-01-22  David Edelsohn  <edelsohn@gnu.org>
892
893         PR target/34529
894         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
895         Offset addresses are not valid for Altivec or paired float modes.
896
897 2008-01-22  Jakub Jelinek  <jakub@redhat.com>
898
899         PR c++/34607
900         * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for
901         if DECL_INITIAL (decl) is error_mark_node.
902
903         PR c++/34914
904         * c-common.c (handle_vector_size_attribute): Only allow
905         integral, scalar float and fixed point types.  Handle OFFSET_TYPE
906         the same way as pointer, array etc. types.
907         * tree.c (reconstruct_complex_type): Handle OFFSET_TYPE.
908
909         PR c++/34917
910         * tree.c (build_type_attribute_qual_variant): Call
911         build_qualified_type if attributes are equal, but quals are not.
912
913 2008-01-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
914
915         PR 32102
916         * doc/invoke.texi (-Wall): -Wall enables -Wstrict-overflow=1.
917         * flags.h (warn_strict_aliasing): Remove.
918         (warn_strict_overflow): Remove.
919         * opts.c (warn_strict_aliasing): Remove.
920         (warn_strict_overflow): Remove.
921         * c-opts.c (c_common_handle_option): -Wall only sets
922         -Wstrict-aliasing or -Wstrict-overflow if they are uninitialized.
923         (c_common_post_options): Give default values to -Wstrict-aliasing
924         and -Wstrict-overflow if they are uninitialized.
925         * common.opt (Wstrict-aliasing): Specify Var and Init.
926         (Wstrict-overflow): Likewise.
927
928 2008-01-22  Kenneth Zadeck <zadeck@naturalbridge.com>
929
930         PR rtl-optimization/26854
931         PR rtl-optimization/34400
932         PR rtl-optimization/34884
933         * ddg.c (create_ddg_dep_from_intra_loop_link): Use
934         DF_RD->gen.
935         * df.h (df_changeable_flags.DF_RD_NO_TRIM): Deleted
936         (df_rd_bb_info.expanded_lr_out): Deleted
937         * loop_invariant.c (find_defs): Deleted DF_RD_NO_TRIM flag.
938         * loop_iv.c (iv_analysis_loop_init): Ditto.  * df-problems.c
939         (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
940         df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
941         Removed code to allocate, initialize or free expanded_lr_out.
942         (df_rd_bb_local_compute_process_def): Restructured to make more
943         understandable.
944         (df_rd_confluence_n): Removed code to no apply invalidate_by_call
945         sets if the sets are being trimmed.
946
947 2008-01-22  H.J. Lu  <hongjiu.lu@intel.com>
948
949         PR bootstrap/32287
950         * configure.ac (ld_vers): Support GNU linker version xx.xx.*
951         (as_vers): Likewise.
952         * configure: Regenerated.
953
954 2008-01-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
955
956         PR middle-end/33092
957         * tree-pass.h (pass_build_alias): New pass.
958         * tree-ssa-alias.c (gate_build_alias): New.
959         (pass_build_alias): New.
960         * passes.c (init_optimization_passes): Add pass_build_alias after
961         pass_create_structure_vars.
962
963 2008-01-22  Wolfgang Gellerich  <gellerich@de.ibm.com>
964
965         * config/s390/s390.h (S390_TDC_POSITIVE_NORMALIZED_NUMBER):
966         Renamed to S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER.
967         (S390_TDC_NEGATIVE_NORMALIZED_NUMBER): Renamed to
968         S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER.
969         (S390_TDC_POSITIVE_DENORMALIZED_NUMBER): Renamed to
970         S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER.
971         (S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): Renamed to
972         S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER.
973         (S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER): New constant.
974         (S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER): New constant.
975         (S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER): New constant.
976         (S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER): New constant.
977         * config/s390/s390.md (FP_ALL): New mode iterator.
978         (_d): New mode attribute.
979         ("*signbit<mode>2>"): Changed mode of first operand.
980         ("isinf<mode>2"): Changed mode of first operand.
981         ("*TDC_insn"): Adaptation for DFP modes.
982
983 2008-01-22  Ben Elliston  <bje@au.ibm.com>
984
985         * tree.c (check_qualified_type): Improve function description.
986
987 2008-01-21  Jason Merrill  <jason@redhat.com>
988
989         PR c++/34196
990         * tree.h (TRY_CATCH_IS_CLEANUP): New macro.
991         * tree-eh.c (honor_protect_cleanup_actions): Strip TRY_CATCH_EXPR
992         if it is set.
993
994 2008-01-21  DJ Delorie  <dj@redhat.com>
995
996         * doc/tm.texi (HARD_REGNO_NREGS): Note that this macro must not
997         return zero.
998
999 2008-01-21  Richard Guenther  <rguenther@suse.de>
1000
1001         PR middle-end/34856
1002         * tree-cfg.c (verify_expr): Allow all invariant expressions
1003         instead of just constant class ones as reference argument.
1004         * tree-ssa-loop-im.c (for_each_index): Handle CONSTRUCTOR
1005         like any other constant.
1006         * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
1007
1008 2008-01-21  H.J. Lu  <hongjiu.lu@intel.com>
1009
1010         * regmove.c (fixup_match_1): Update call crossed frequencies.
1011
1012 2008-01-21  Richard Guenther  <rguenther@suse.de>
1013
1014         PR c/34885
1015         * tree-inline.c (setup_one_parameter): Deal with mismatched
1016         types using a VIEW_CONVERT_EXPR.
1017
1018 2008-01-21  Alon Dayan  <alond@il.ibm.com>
1019             Olga Golovanevsky  <olga@il.ibm.com>
1020         
1021         PR tree-optimization/34701
1022         * ipa-struct-reorg.c (gen_size): Fix the malloc parameter calculation
1023         when the structure size is not a power of 2.
1024
1025 2008-01-20  Kenneth Zadeck <zadeck@naturalbridge.com>
1026
1027         * doc/install.texi: Add doc for --enable-checking=df.
1028         
1029 2008-01-20  Kaz Kojima  <kkojima@gcc.gnu.org>
1030
1031         PR rtl-optimization/34808
1032         * emit-rtl.c (try_split): Handle REG_RETVAL notes.
1033
1034 2008-01-20  Richard Sandiford  <rsandifo@nildram.co.uk>
1035
1036         * global.c (find_reg): Only compute EH_RETURN_DATA_REGNO once per
1037         input.
1038
1039 2008-01-19  Kenneth Zadeck <zadeck@naturalbridge.com>
1040
1041         PR rtl-optimization/26854
1042         PR rtl-optimization/34400
1043         * ddg.c (create_ddg_dep_from_intra_loop_link): Do not use
1044         DF_RD->gen.
1045         * df.h (df_changeable_flags.DF_RD_NO_TRIM): New.
1046         (df_rd_bb_info.expanded_lr_out): New.
1047         * loop_invariant.c (find_defs): Added DF_RD_NO_TRIM flag.
1048         * loop_iv.c (iv_analysis_loop_init): Ditto.
1049         * df-problems.c (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
1050         df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
1051         Added code to allocate, initialize or free expanded_lr_out.
1052         (df_rd_bb_local_compute_process_def): Restructured to make
1053         more understandable.
1054         (df_rd_confluence_n): Add code to do nothing with fake edges and
1055         code to no apply invalidate_by_call sets if the sets are being trimmed.
1056         (df_lr_local_finalize): Renamed to df_lr_finalize.
1057         (df_live_local_finalize): Renamed to df_live_finalize.
1058
1059 2008-01-20  Richard Sandiford  <rsandifo@nildram.co.uk>
1060
1061         PR target/34831
1062         * config/mips/mips.md (div<mode>3): Use <recip_condition> when
1063         deciding whether to use reciprocal instructions.
1064
1065 2008-01-19  Uros Bizjak  <ubizjak@gmail.com>
1066
1067         * dwarf2out.c (dwarf2out_switch_text_section): Do not call
1068         dwarf2out_note_section_used if cold_text_section is NULL.
1069
1070 2008-01-19  Jakub Jelinek  <jakub@redhat.com>
1071
1072         PR gcov-profile/34610
1073         * tree-cfg.c (make_edges): Mark both outgoing edges from
1074         OMP_CONTINUE and from OMP_FOR as EDGE_ABNORMAL.
1075         * omp-low.c (expand_omp_for): Clear EDGE_ABNORMAL bits
1076         from OMP_FOR and OMP_CONTINUE outgoing edges.
1077
1078         * tree-profile.c (tree_profiling): Return early if
1079         cfun->after_tree_profile != 0.  Set cfun->after_tree_profile
1080         at the end.
1081         * omp-low.c (expand_omp_parallel): Copy after_tree_profile
1082         from cfun to child_cfun.
1083         * function.h (struct function): Add after_tree_profile bit.
1084
1085 2008-01-19 Anatoly Sokolov <aesok@post.ru>
1086
1087         * config/avr/avr.S (_exit): Disable interrupt.
1088
1089 2008-01-18  Kenneth Zadeck  <zadeck@naturalbridge.com>
1090             Steven Bosscher  <stevenb.gcc@gmail.com>
1091
1092         PR rtl-optimization/26854
1093         PR rtl-optimization/34400
1094         * df-problems.c (df_live_scratch): New scratch bitmap.
1095         (df_live_alloc): Allocate df_live_scratch when doing df_live.
1096         (df_live_reset): Clear the proper bitmaps.
1097         (df_live_bb_local_compute): Only process the artificial defs once
1098         since the order is not important.
1099         (df_live_init): Init the df_live sets only with the variables
1100         found live by df_lr.
1101         (df_live_transfer_function): Use the df_lr sets to prune the
1102         df_live sets as they are being computed.  
1103         (df_live_free): Free df_live_scratch.
1104
1105 2008-01-18  Ian Lance Taylor  <iant@google.com>
1106
1107         * common.opt: Add fmerge-debug-strings.
1108         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test
1109         flag_merge_debug_strings rather than flag_merge_constants.
1110         * doc/invoke.texi (Option Summary): Mention
1111         -fmerge-debug-strings.
1112         (Debugging Options): Document -fmerge-debug-strings.
1113
1114 2008-01-18  Ian Lance Taylor  <iant@google.com>
1115
1116         PR c++/33407
1117         * tree.h (DECL_IS_OPERATOR_NEW): Define.
1118         (struct tree_function_decl): Add new field operator_new_flag.
1119         * tree-inline.c (expand_call_inline): When inlining a call to
1120         operator new, force the return value to go into a variable, and
1121         set DECL_NO_TBAA_P on that variable.
1122         * c-decl.c (merge_decls): Merge DECL_IS_OPERATOR_NEW flag.
1123
1124 2008-01-18  Uros Bizjak  <ubizjak@gmail.com>
1125
1126         PR debug/34484
1127         * dwarf2out.c (dwarf2out_switch_text_section): Do not guard with
1128         DWARF2_DEBUGGING_INFO.
1129         (dwarf2out_note_section_used): Ditto.  Add prototype.
1130         (have_multiple_function_sections, text_section_used,
1131         cold_text_section_used, *cold_text_sections): Move declarations
1132         before their uses.
1133
1134 2008-01-17  Bob Wilson  <bob.wilson@acm.org>
1135
1136         * config/xtensa/unwind-dw2-xtensa.h (_Unwind_FrameState): Remove pc
1137         field and add signal_ra.
1138         * config/xtensa/unwind-dw2-xtensa.c (uw_frame_state_for): Remove
1139         assignments to frame state pc.  Move end of stack check after
1140         MD_FALLBACK_FRAME_STATE_FOR.
1141         (uw_update_context_1): Use frame state signal_regs if set, instead
1142         of checking signal_frame flag.
1143         (uw_update_context): Use frame state signal_ra if set.
1144         * config/xtensa/linux.h (MD_UNWIND_SUPPORT): Define.
1145         * config/xtensa/linux-unwind.h: New file.
1146
1147 2008-01-18  Bernhard Fischer  <aldot@gcc.gnu.org>
1148
1149         * modulo-sched.c (get_sched_window): Fix comment typo.
1150
1151 2008-01-17  Andrew MacLeod  <amacleod@redhat.com>
1152
1153         PR tree-optimization/34648
1154         * tree-ssa-sccvn.c (visit_use): Expressions which can throw are varying.
1155
1156 2008-01-17  Anatoly Sokolov <aesok@post.ru>
1157
1158         * config/avr/avr.h (LINK_SPEC): Support -mrelax and -mpmem-wrap-around.
1159         * config/avr/avr.opt (mrelax, mpmem-wrap-around): Add.
1160
1161 2008-01-17  Seongbae Park  <seongbae.park@gmail.com>
1162
1163         PR rtl-optimization/34400
1164         * df-core.c (df_worklist_dataflow_overeager,
1165         df_worklist_dataflow_doublequeue): New functions.
1166         (df_worklist_dataflow): Two different worklist solvers.
1167         * params.def (PARAM_DF_DOUBLE_QUEUE_THRESHOLD_FACTOR):
1168         New param.
1169
1170 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
1171
1172         PR testsuite/34821
1173         * doc/invoke.texi: Document the dependence on pthread for fopenmp
1174         and ftree-parallelize-loops.
1175
1176 2008-01-17  Mircea Namolaru  <namolaru@il.ibm.com>
1177
1178         PR rtl-optimization/34826
1179         * loop-doloop (doloop_modify): Update the REG_BR_PROB note.
1180
1181 2008-01-17  Andreas Krebbel  <krebbel1@de.ibm.com>
1182
1183         * global.c (find_reg): Mark the eh regs as used if necessary.
1184         * ra-conflict.c (global_conflicts): Set no_eh_reg flag.
1185         * ra.h (struct allocno): no_eh_reg field added.  Changed
1186         no_stack_reg type to bitfield.
1187
1188 2008-01-17  Eric Botcazou  <ebotcazou@adacore.com>
1189
1190         * tree.c (substitute_in_expr): Add missing 'break'.
1191
1192 2008-01-17  Richard Guenther  <rguenther@suse.de>
1193
1194         PR tree-optimization/34825
1195         * tree-ssa-math-opts.c (is_division_by): Do not recognize
1196         x / x as division to handle.
1197
1198 2008-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1199
1200         * pa64-hpux.h (LIB_SPEC): Add "-lpthread" in shared links if "-mt" or
1201         "-pthread" is specified.
1202         * pa-hpux11.h (LIB_SPEC): Likewise.
1203
1204 2008-01-16  Janis Johnson  <janis187@us.ibm.com>
1205             Peter Bergner  <bergner@vnet.ibm.com>
1206
1207         PR rtl-optimization/33796
1208         * sparseset.c (sparseset_alloc): Use xcalloc rather than xmalloc.
1209
1210 2008-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1211
1212         PR libgfortran/34699
1213         * pa-hpux.h (LINK_SPEC): Only search /lib/pa1.1 and /usr/lib/pa1.1 on
1214         static links.
1215         * pa-hpux10.h (LINK_SPEC): Likewise.
1216         * pa-hpux11.h (LINK_SPEC): Don't search /lib/pa1.1 and /usr/lib/pa1.1.
1217
1218 2008-01-16  Richard Guenther  <rguenther@suse.de>
1219
1220         PR middle-end/32628
1221         * fold-const.c (fold_convert_const_int_from_int): Do not
1222         set overflow if that occured only because of a sign extension
1223         change when converting from/to a sizetype with the same
1224         precision and signedness.
1225
1226 2008-01-16  Uros Bizjak  <ubizjak@gmail.com>
1227
1228         PR debug/34249
1229         * dwarf2out.c (output_call_frame_info): Move output of FDE initial
1230         location address to the correct place.  Update copyright year.
1231
1232 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
1233
1234         * lambda-code.c (lambda_transform_legal_p): Handle the case of
1235         no dependences in the dependence_relations vector.
1236
1237 2008-01-16  Jan Hubicka  <jh@suse.cz>
1238
1239         PR rtl-optimization/31396
1240         * regstat.c (regstat_bb_compute_ri): Compute FREQ_CALLS_CROSSED.
1241         * cfg.c (dump_reg_info): Print it.
1242         * regs.h (struct reg_info_t): add freq_calls_crossed.
1243         (REG_FREQ_CALLS_CROSSED): New macro.
1244         * global.c (global_alloc): Compute freq_calls_crossed for allocno.
1245         (find_reg): Update call of CALLER_SAVE_PROFITABLE.
1246         * regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2,
1247         regmove_optimize): Update call crossed frequencies.
1248         * local-alloc.c (struct qty): Add freq_calls_crossed.
1249         (alloc_qty): Copute freq_calls_crossed.
1250         (update_equiv_regs, combine_regs): Update REG_FREQ_CALLS_CROSSED.
1251         (find_free_reg): Update call of CALLER_SAVE_PROFITABLE.
1252         * ra.h (struct allocno): Add freq_calls_crossed.
1253
1254 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
1255
1256         * gcc.c (LINK_COMMAND_SPEC): Add includes and link options for
1257         libgomp when compiling with ftree-parallelize-loops.
1258         (GOMP_SELF_SPECS): Add -pthread for ftree-parallelize-loops.
1259
1260 2008-01-16  Richard Guenther  <rguenther@suse.de>
1261
1262         PR tree-optimization/34769
1263         * tree-data-ref.c (initialize_matrix_A): Revert fix for PR34458.
1264         * tree.c (int_cst_value): Instead make this function more
1265         permissive in what it accepts as valid input.  Document this
1266         function always sign-extends the value.
1267
1268 2008-01-16  Jakub Jelinek  <jakub@redhat.com>
1269             Richard Guenther  <rguenther@suse.de>
1270
1271         PR c/34668
1272         * gimplify.c (fold_indirect_ref_rhs): Rename to ...
1273         (gimple_fold_indirect_ref_rhs): ... this.
1274         (gimple_fold_indirect_ref): New function with foldings
1275         that preserve lvalueness.
1276         (gimplify_modify_expr_rhs): Call gimple_fold_indirect_ref_rhs.
1277         * tree-flow.h (gimple_fold_indirect_ref): Declare.
1278         * tree-inline.c (copy_body_r): Use gimple_fold_indirect_ref
1279         to fold an INDIRECT_REF, fall back to the old use of
1280         fold_indirect_ref_1.
1281
1282 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
1283
1284         * tree-data-ref.c (subscript_dependence_tester_1): Call 
1285         free_conflict_function.
1286         (compute_self_dependence): Same.
1287
1288 2008-01-16  Uros Bizjak  <ubizjak@gmail.com>
1289
1290         PR debug/34249
1291         * debug.h (dwarf2out_switch_text_section): Move declaration from ...
1292         * dwarf2out.c (dwarf2out_switch_text_section): ... here.  Make
1293         function global.
1294         * final.c (final_scan_insn) [NOTE_INSN_SWITCH_TEXT_SECTIONS]:
1295         Depending on dwarf2out_do_frame, call dwarf2out_switch_text_section
1296         for DWARF2_UNWIND_INFO targets.
1297
1298 2008-01-16  Richard Guenther  <rguenther@suse.de>
1299
1300         PR c/34768
1301         * c-typeck.c (common_pointer_type): Do not merge inconsistent
1302         type qualifiers for function types.
1303
1304 2008-01-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1305
1306         * tree-parloops.c (gen_parallel_loop): Fix ommision of declaration for
1307         loop_iterator li from previous commit.
1308
1309 2008-01-15  Sebastian Pop  <sebastian.pop@amd.com>
1310
1311         * tree-parloops.c (gen_parallel_loop): Free loop bound estimations.
1312
1313 2008-01-12  Sebastian Pop  <sebastian.pop@amd.com>
1314
1315         * tree-parloops.c (loop_has_blocks_with_irreducible_flag): New.
1316         (parallelize_loops): Don't parallelize irreducible components.
1317
1318 2008-01-14  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1319
1320         PR c++/24924
1321         * c-opts (c_common_post_options): Do not enable CPP
1322         flag_pedantic_errors by default.
1323         
1324 2008-01-14  Eric Botcazou  <ebotcazou@adacore.com>
1325
1326         PR rtl-optimization/31944
1327         * cse.c (remove_pseudo_from_table): New function.
1328         (merge_equiv_classes): Use above function to remove pseudo-registers.
1329         (invalidate): Likewise.
1330
1331 2008-01-13  Richard Guenther  <rguenther@suse.de>
1332
1333         PR middle-end/34601
1334         * emit-rtl.c (set_reg_attrs_for_decl_rtl): Use DECL_MODE
1335         instead of TYPE_MODE to deal with calls from expand_one_error_var.
1336
1337 2008-01-13  Uros Bizjak  <ubizjak@gmail.com>
1338
1339         * gcse.c (cprop_jump): Call validate_unshare_change instead of
1340         validate_change to unshare the source of the PC set.
1341
1342 2008-01-12  Jan Hubicka  <jh@suse.cz>
1343
1344         PR middle-end/32135
1345         * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Do not construct
1346         references above array bounds.  This might trigger bounds checks for
1347         pointers to arrays.
1348
1349 2008-01-12  Sebastian Pop  <sebastian.pop@amd.com>
1350
1351         * tree-ssa-ter.c (free_temp_expr_table): Free num_in_part and
1352         new_replaceable_dependencies.
1353
1354 2008-01-12  Doug Kwan  <dougkwan@google.com>
1355
1356         * c-decl.c: (grokdeclarator): Use OPT_Wignored_qualifiers
1357         instead of OPT_Wreturn_type in warning due to ignored return type
1358         qualifiers.
1359         * c-opt.c (c_common_post_option): Add -Wignored-qualifiers to
1360         options included in -Wextra.
1361         * c.opt: New option -Wignored_qualifiers.
1362         * doc/invoke.texi (Warning Options, -Wextra): Add new option
1363         -Wignore_qualifiers.
1364         (-Wignored-qualifiers): Document.
1365         (-Wreturn-type): Remove description of functionality now handled
1366         by -Wignored-qualifiers.
1367
1368 2008-01-12  Eric Botcazou  <ebotcazou@adacore.com>
1369
1370         PR ada/33788
1371         * fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Fold an existing
1372         NOP_EXPR if it is between integral types with the same precision.
1373
1374 2008-01-12  Jan Hubicka  <jh@suse.cz>
1375
1376         PR other/28023
1377         * invoke.texi (max-inline-recursive-depth): Fix default value.
1378
1379 2008-01-12  Zdenek Dvorak  <ook@ucw.cz>
1380
1381         * tree-parloops.c (transform_to_exit_first_loop): Cast nit to the
1382         correct type.
1383
1384 2008-01-11  Bob Wilson  <bob.wilson@acm.org>
1385         
1386         * config/xtensa/xtensa.c (override_options): Set flag_shlib.
1387         
1388 2008-01-11  James E. Wilson  <wilson@specifix.com>
1389
1390         PR target/26015
1391         * config/vax/elf.h (FRAME_POINTER_CFA_OFFSET): Define.
1392
1393 2008-01-11  Anatoly Sokolov <aesok@post.ru>
1394
1395         * config/avr/avr.c (expand_prologue, expand_epilogue): Don't 
1396         save/restore frame pointer register and don't use 'call-prologues' 
1397         optimization in function with "OS_task" attribute.
1398
1399 2008-01-11  Eric Botcazou  <ebotcazou@adacore.com>
1400
1401         PR middle-end/31309
1402         * expr.c (copy_blkmode_from_reg): Use a mode suited to the size
1403         when copying to memory.
1404
1405 2008-01-11  Steven Bosscher  <stevenb.gcc@gmail.com>
1406
1407         PR rtl-optimization/30905
1408         * cfgcleanup.c: Include dce.h
1409         (crossjumps_occured): New global variable.
1410         (try_crossjump_bb): Exit loop after finding a fallthru edge.
1411         If something changed, set crossjumps_occured to true.
1412         (try_optimize_cfg): Clear crossjumps_occured at the beginning.
1413         Don't add/remove fake edges to exit here...
1414         (cleanup_cfg): ...but do it here, when crossjumping.
1415         Run a fast DCE when successful crossjumps occured in the latest
1416         iteration of try_optimize_cfg.
1417
1418 2008-01-11  Richard Guenther  <rguenther@suse.de>
1419
1420         * tree-ssa-sccvn.c (struct vn_binary_op_s): Move hashcode near opcode.
1421         (struct vn_unary_op_s): Likewise.
1422         (vn_reference_insert): Free old reference on hash collision.
1423
1424 2008-01-10  Raksit Ashok  <raksit@google.com>
1425
1426         PR rtl-optimization/27971
1427         * combine.c (find_split_point): Split PLUS expressions which are
1428         inside a MEM rtx, and whose first operand is complex.
1429
1430 2008-01-10  DJ Delorie  <dj@redhat.com>
1431
1432         * config/m32c/m32c.c (m32c_hard_regno_nregs_1): Renamed from...
1433         (m32c_hard_regno_nregs): ...this, which is now a wrapper.
1434         (m32c_hard_regno_ok): Call the underlying function.
1435
1436 2008-01-10  Richard Guenther  <rguenther@suse.de>
1437
1438         PR middle-end/34683
1439         * tree-cfg.c (tree_merge_blocks): Do not go through the
1440         full-blown folding and stmt updating path if we just deal
1441         with virtual operands.
1442         * tree-ssa-copy.c (may_propagate_copy): Do not short-cut
1443         test for abnormal SSA_NAMEs.
1444
1445 2008-01-10  Andreas Krebbel  <krebbel1@de.ibm.com>
1446
1447         PR middle-end/34641
1448         * reload.c (push_reload): Add assertions.  All constants from
1449         reg_equiv_constant should have been used for replacing the respective
1450         pseudo earlier.
1451         (find_reloads_address): Invoke find_reloads_address_part for
1452         constant taken from the reg_equiv_constant array.
1453
1454 2008-01-10  Steven Bosscher  <stevenb.gcc@gmail.com>
1455
1456         * tree-ssa-sccvn.h (struct vn_ssa_aux): Make the most accessed
1457         field (valnum) the first in the struct.  Replace bools with
1458         unit bit fields.
1459
1460 2008-01-10  Richard Guenther  <rguenther@suse.de>
1461
1462         PR tree-optimization/34651
1463         * tree-sra.c (sra_build_assignment): Sanitize.  Use the correct
1464         types and ordering for masking and converting.
1465
1466 2008-01-09  Sebastian Pop  <sebastian.pop@amd.com>
1467
1468         PR tree-optimization/34017
1469         * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Generate code
1470         also for PHI_NODE expressions.
1471
1472 2008-01-09  Jan Hubicka  <jh@suse.cz>
1473
1474         PR tree-optimization/34708
1475         * tree-inline.c (estimate_num_insns_1): Compute cost of SWITCH_EXPR
1476         based on number of case labels.
1477         (init_inline_once): Remove switch_cost.
1478         * tree-inline.h (eni_weights_d): Remove switch_cost.
1479
1480 2008-01-09  Richard Guenther  <rguenther@suse.de>
1481         Andrew Pinski  <andrew_pinski@playstation.sony.com>
1482
1483         PR middle-end/30132
1484         * gimplify.c (gimplify_cond_expr): Do not create an addressable
1485         temporary if an rvalue is ok or an lvalue is not required.
1486
1487 2008-01-09  Richard Guenther  <rguenther@suse.de>
1488
1489         PR middle-end/34458
1490         * tree-data-ref.c (initialize_matrix_A): Use tree_low_cst,
1491         adjust return type.
1492
1493 2008-01-09  Richard Guenther  <rguenther@suse.de>
1494
1495         PR middle-end/34679
1496         * tree.c (host_integerp): Check for sizetype only if the
1497         type is an integer type.
1498
1499 2008-01-09  Steven Bosscher  <stevenb.gcc@gmail.com>
1500
1501         PR debug/26364
1502         * opts.c (decode_options): Disable inlining of functions called
1503         once if not in unit-at-a-time mode.
1504
1505 2008-01-09  Alexandre Oliva  <aoliva@redhat.com>
1506
1507         * Makefile.in (dse.o): Remove duplicate $(RECOG_H) dependency.
1508
1509 2008-01-08  Richard Guenther  <rguenther@suse.de>
1510
1511         PR middle-end/31863
1512         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Bail
1513         out early if the result will be unused.
1514
1515 2008-01-08  Uros Bizjak  <ubizjak@gmail.com>
1516
1517         PR target/34709
1518         Revert:
1519
1520         2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
1521         * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
1522         for TARGET_RECIP.       
1523         
1524 2008-01-08  Jan Sjodin  <jan.sjodin@amd.com>
1525         
1526         * config/i386/i386.c (k8_cost, amdfam10_cost): Branch costs
1527         for vectorization tuned.
1528         
1529 2008-01-08  Richard Guenther  <rguenther@suse.de>
1530
1531         PR tree-optimization/34683
1532         * tree-ssa-operands.c (operand_build_cmp): Export.
1533         * tree-ssa-operands.h (operand_build_cmp): Declare.
1534         * tree-vn.c (vuses_compare): Remove.
1535         (sort_vuses): Use operand_build_cmp.
1536         (sort_vuses_heap): Likewise.
1537         * tree-ssa-sccvn.c (vuses_to_vec): Use VEC_reserve, not VEC_alloc
1538         to re-use old VEC if available.  Do not sort already sorted VUSEs.
1539         (vdefs_to_vec): Do not sort already sorted VDEFs.
1540
1541 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
1542
1543         PR middle-end/34694
1544         * omp-low.c (copy_var_decl): Copy also DECL_SOURCE_LOCATION.
1545
1546 2008-01-08  Uros Bizjak  <ubizjak@gmail.com>
1547
1548         PR target/34702
1549         * doc/invoke.texi (i386 and x86-64 Options) [mrecip]: Document
1550         limitations of reciprocal sequences on x86 targets.
1551
1552 2008-01-08  Richard Guenther  <rguenther@suse.de>
1553
1554         PR tree-optimization/34683
1555         * tree-flow-inline.h (var_ann): Remove overzealous asserts.
1556
1557 2008-01-07  Jakub Jelinek  <jakub@redhat.com>
1558
1559         PR target/34622
1560         * config/darwin.c (darwin_mergeable_string_section): Don't use
1561         .cstring if int_size_in_bytes != TREE_STRING_LENGTH.
1562
1563 2008-01-07  Uros Bizjak  <ubizjak@gmail.com>
1564
1565         PR target/34682
1566         * config/i386/i386.md (neg<mode>2): Rename from negsf2, negdf2 and
1567         negxf2.  Macroize expander using X87MODEF mode iterator.  Change
1568         predicates of op0 and op1 to register_operand.
1569         (abs<mode>2): Rename from abssf2, absdf2 and negxf2.  Macroize
1570         expander using X87MODEF mode iterator.  Change predicates of
1571         op0 and op1 to register_operand.
1572         ("*absneg<mode>2_mixed", "*absneg<mode>2_sse"): Rename from
1573         corresponding patterns and macroize using MODEF macro.  Change
1574         predicates of op0 and op1 to register_operand and remove
1575         "m" constraint. Disparage "r" alternative with "!".
1576         ("*absneg<mode>2_i387"): Rename from corresponding patterns and
1577         macroize using X87MODEF macro.  Change predicates of op0 and op1
1578         to register_operand and remove "m" constraint.  Disparage "r"
1579         alternative with "!".
1580         (absneg splitter with memory operands): Remove.
1581         ("*neg<mode>2_1", "*abs<mode>2_1"): Rename from corresponding
1582         patterns and macroize using X87MODEF mode iterator.
1583         * config/i386/sse.md (negv4sf2, absv4sf2, neg2vdf2, absv2df2):
1584         Change predicate of op1 to register_operand.
1585         * config/i386/i386.c (ix86_expand_fp_absneg_operator): Remove support
1586         for memory operands.
1587
1588 2008-01-07  Nathan Froyd  <froydnj@codesourcery.com>
1589
1590         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add clause for mcpu=8548.
1591
1592 2008-01-07  Richard Guenther  <rguenther@suse.de>
1593
1594         * basic-block.h (struct edge_def): Pair dest_idx with goto_locus
1595         fields.
1596
1597 2008-01-07  Richard Guenther  <rguenther@suse.de>
1598
1599         PR tree-optimization/34683
1600         * tree-ssa-sccvn.c (vuses_to_vec): Pre-allocate the vector of
1601         VOPs of the needed size to save memory.  Use VEC_quick_push
1602         to save compile-time.
1603         (vdefs_to_vec): Likewise.
1604
1605 2008-01-07  Sa Liu  <saliu@de.ibm.com>
1606
1607         * config/spu/spu.md (divdf3): Genetate inline code for double
1608         division.  The implementation doesn't handle INF or NAN, therefore it
1609         only applies when -ffinite-math-only is given.
1610
1611 2008-01-06  Paolo Carlini  <pcarlini@suse.de>
1612
1613         PR libstdc++/34680
1614         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_RTTI, if appropriate.
1615         * doc/cpp.texi ([Common Predefined Macros]): Document.
1616
1617 2008-01-06  Uros Bizjak  <ubizjak@gmail.com>
1618
1619         * config/i386/i386.c (ix86_emit_swsqrtsf): Use negative constants in
1620         order to use commutative addition instead of subtraction.
1621
1622 2008-01-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1623             Mircea Namolaru  <namolaru@il.ibm.com>
1624             Vladimir Yanovsky  <yanov@il.ibm.com>
1625             Revital Eres  <eres@il.ibm.com>
1626
1627         PR tree-optimization/34263
1628         * tree-outof-ssa.c (process_single_block_loop_latch,
1629         contains_tree_r): New functions.
1630         (analyze_edges_for_bb): Call process_single_block_loop_latch
1631         function to empty single-basic-block latch block if possible.
1632
1633 2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
1634
1635         * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
1636         for TARGET_RECIP.
1637         (ix86_emit_swsqrtsf): Do not filter out infinity for rsqrt expansion.
1638
1639 2008-01-05  Richard Sandiford  <rsandifo@nildram.co.uk>
1640
1641         * c-omp.c (check_omp_for_incr_expr): Handle CONVERT_EXPR.
1642
1643 2008-01-05  Richard Sandiford  <rsandifo@nildram.co.uk>
1644
1645         * config/mips/mips.c (mips_in_small_data_p): Reinstate size > 0 check.
1646
1647 2008-01-05  Jakub Jelinek  <jakub@redhat.com>
1648
1649         PR tree-optimization/34618
1650         * tree-outof-ssa.c (create_temp): Copy over DECL_GIMPLE_REG_P
1651         flag from T.
1652
1653 2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
1654
1655         PR target/34673
1656         * config/i386/i386.c (ix86_emit_swsqrtsf): Swap input operands
1657         in the call to gen_rtx_NE.  Remove unneeded VECTOR_MODE_P check.
1658         Update copyright year.
1659
1660         * config/i386/i386.md (rsqrtsf2): Enable for TARGET_SSE_MATH.
1661         Update copyright year.
1662         * config/i386/sse.md (rsqrtv4sf2): Ditto. Unconditionally expand
1663         using NR fixup.
1664
1665 2008-01-05  Zhouyi Zhou  <zhouzhouyi@FreeBSD.org>
1666
1667         * tree-vrp.c (find_conditional_asserts): Remove redundant check that
1668         edge does not point to current bb before changing need_assert.
1669
1670 2008-01-04  Richard Guenther  <rguenther@suse.de>
1671
1672         PR middle-end/34029
1673         * tree-cfg.c (verify_expr): Do not look inside ADDR_EXPRs
1674         for verifying purposes if they are is_gimple_min_invariant.
1675
1676 2008-01-04  Aldy Hernandez  <aldyh@redhat.com>
1677
1678         PR tree-optimization/34448
1679         PR tree-optimization/34465
1680         * gimplify.c (gimplify_init_constructor): Add new parameter
1681         notify_temp_creation.  Use it.
1682         (gimplify_modify_expr_rhs): Take volatiles into account when
1683         optimizing constructors.
1684         Do not optimize constructors if gimplify_init_constructor will dump to
1685         memory.
1686         * gcc.dg/tree-ssa/pr32901.c: Tests const volatiles.
1687         * gcc.c-torture/compile/pr34448.c: New.
1688
1689 2008-01-04  Jakub Jelinek  <jakub@redhat.com>
1690
1691         PR gcov-profile/34609
1692         * tree-inline.c (declare_return_variable): Set TREE_ADDRESSABLE on
1693         return_slot if result is TREE_ADDRESSABLE.
1694
1695 2008-01-04  Richard Sandiford  <rsandifo@nildram.co.uk>
1696
1697         * config/mips/mips.md (sqrt_condition): Tweak comment.
1698         (recip_condition): Likewise.  Require TARGET_FLOAT64 for DFmode.
1699
1700 2008-01-03  Tom Tromey  <tromey@redhat.com>
1701
1702         PR c/34457
1703         * c-common.c (c_type_hash): Handle VLAs.
1704
1705 2008-01-03  Jan Hubicka  <jh@suse.cz>
1706
1707         PR tree-optimization/31081
1708         * tree-inline.c (remap_ssa_name): Initialize uninitialized SSA vars to
1709         0 when inlining and not inlining to first basic block.
1710         (remap_decl): When var is initialized to 0, don't set default_def.
1711         (expand_call_inline): Set entry_bb.
1712         * tree-inline.h (copy_body_data): Add entry_bb.
1713
1714 2008-01-03  Jakub Jelinek  <jakub@redhat.com>
1715
1716         PR c++/34619
1717         * cgraphunit.c (cgraph_build_static_cdtor): set_cfun back to NULL
1718         before returning.
1719
1720         PR tree-optimization/29484
1721         * tree-inline.c (inline_forbidden_p_2): New function.
1722         (inline_forbidden_p): Disallow inlining if some static var
1723         has an address of a local LABEL_DECL in its initializer.
1724         * doc/extend.texi (Labels as Values): Document &&foo behaviour
1725         vs. inlining.
1726
1727 2008-01-03  Sebastian Pop  <sebastian.pop@amd.com>
1728
1729         PR tree-optimization/34635
1730         * tree-data-ref.c (add_other_self_distances): Make sure that the
1731         evolution step is constant.
1732
1733 2008-01-03  Jakub Jelinek  <jakub@redhat.com>
1734
1735         PR middle-end/34608
1736         * omp-low.c (expand_omp_parallel): Purge dead EH edges in the child fn.
1737
1738 2008-01-02  Richard Sandiford  <rsandifo@nildram.co.uk>
1739
1740         * tree-sra.c (scalarize_init): Insert the generate_element_init
1741         statements after the generate_element_zero statements.
1742
1743 2008-01-02  Richard Guenther  <rguenther@suse.de>
1744
1745         PR middle-end/34093
1746         PR middle-end/31976
1747         * tree-ssa-operands.c (ssa_operand_alloc): Also allocate a buffer
1748         for very large number of operands instead of ICEing.
1749
1750 2008-01-02  Arthur Norman <acn1@cam.ac.uk>
1751
1752         PR target/34013
1753         * gcc/config/i386/i386.c (ix86_expand_prologue): Save red-zone
1754         while stack probing.
1755
1756 2008-01-01  Douglas Gregor  <doug.gregor@gmail.com>
1757
1758         * c-opts.c (sanitize_cpp_opts): Don't warn about "long long" when
1759         in C++0x mode.
1760
1761 2008-01-01  Volker Reichelt  <v.reichelt@netcologne.de>
1762
1763         PR libmudflap/26442
1764         * tree-mudflap.c (mx_register_decls): Guard warning by
1765         !DECL_ARTIFICIAL check.
1766
1767 2008-01-01  Jakub Jelinek  <jakub@redhat.com>
1768
1769         * config/i386/sse.md (sse5_pperm, sse5_pperm_pack_v2di_v4si,
1770         sse5_pperm_pack_v4si_v8hi, sse5_pperm_pack_v8hi_v16qi,
1771         sse5_perm<mode>): Fix constraints.