OSDN Git Service

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