OSDN Git Service

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