OSDN Git Service

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