OSDN Git Service

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