OSDN Git Service

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