OSDN Git Service

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