OSDN Git Service

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