OSDN Git Service

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