OSDN Git Service

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