OSDN Git Service

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