OSDN Git Service

ac0ddb73b18956df54923571514682486c2b652f
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2008-02-26  Ben Elliston  <bje@au.ibm.com>
2
3         * config/rs6000/rs6000.h (ASM_CPU_POWER5_SPEC): Define.
4         (ASM_CPU_POWER6_SPEC): Likewise.
5         (ASM_CPU_SPEC): Pass %(asm_cpu_power5) for -mcpu=power5.
6         Likewise, pass %(asm_cpu_power6) for -mcpu=power6.
7         (EXTRA_SPECS): Add asm_cpu_power5, asm_cpu_power6 spec strings.
8
9 2008-02-25  Richard Guenther  <rguenther@suse.de>
10
11         * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
12         * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
13         (lookup_decl_from_uid): Declare.
14         * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
15         * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
16         (decl_for_uid_map): New global hashtable mapping DECL_UID
17         to the decl tree.
18         (init_ttree): Allocate it.
19         (insert_decl_to_uid_decl_map): New helper function.
20         (make_node_stat): Insert new decls into the map.
21         (copy_node_stat): Likewise.
22         (lookup_decl_from_uid): New function.
23         (print_decl_for_uid_map_statistics): New helper.
24         (dump_tree_statistics): Call it.
25
26         * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
27         (referenced_var_iterator): Adjust.
28         (FOR_EACH_REFERENCED_VAR): Adjust.
29         (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
30         (num_referenced_vars): Adjust.
31         * tree-flow-inline.h (gimple_referenced_vars): Adjust.
32         (first_referenced_var): Remove.
33         (end_referenced_vars_p): Likewise.
34         (next_referenced_var): Likewise.
35         (referenced_var_iterator_set): New helper function.
36         * tree-dfa.c (referenced_var_lookup): Adjust.
37         (referenced_var_check_and_insert): Likewise.
38         (remove_referenced_var): Likewise.
39         * tree-ssa.c (verify_flow_insensitive_alias_info): Use
40         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
41         (verify_call_clobbering): Likewise.
42         (verify_memory_partitions): Likewise.
43         (init_tree_ssa): Allocate bitmap instead of hashtable for
44         referenced_vars.
45         (delete_tree_ssa): Adjust.
46         * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
47         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
48         (compute_tag_properties): Likewise.
49         (set_initial_properties): Likewise.
50         (find_partition_for): Likewise.
51         (update_reference_counts): Likewise.
52         (dump_may_aliases_for): Likewise.
53         * tree-ssa-operands.c (add_virtual_operand): Likewise.
54         (add_call_clobber_ops): Likewise.
55         (add_call_read_ops): Likewise.
56         (get_asm_expr_operands): Likewise.
57         * tree-into-ssa.c (dump_decl_set): Likewise.
58         (update_ssa): Likewise.
59         * tree-sra.c (scan_function): Likewise.
60         (decide_instantiations): Likewise.
61         (scalarize_parms): Likewise.
62         * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
63         (dsa_named_for): Likewise.
64         * tree-ssa-structalias.c (update_alias_info): Likewise.
65         (merge_smts_into): Likewise.
66
67 2008-02-25  Andreas Krebbel  <krebbel1@de.ibm.com>
68
69         PR target/35258
70         * cse.c (cse_insn): Avoid creation of overlapping MEMs.
71         * alias.c (nonoverlapping_memrefs_p): Export for use in other modules.
72         * alias.h (nonoverlapping_memrefs_p): Likewise.
73
74 2008-02-25  Jan Beulich  <jbeulich@novell.com>
75
76         * Makefile.in: Also prefix uses of crt0.o and mcrt0.o with
77         $(T).
78         * config/i386/netware-libgcc.exp: Add __bswap?i2,
79         __emultls_get_address, __emultls_register_common,
80         __floatundi?f, and _Unwind_GetIPInfo.
81         * config/i386/netware.c (gen_stdcall_or_fastcall_decoration):
82         Sync with config/i386/winnt.c:gen_stdcall_or_fastcall_suffix().
83         (gen_regparm_prefix): Likewise.
84         (i386_nlm_encode_section_info): Sync with
85         config/i386/winnt.c:i386_pe_encode_section_info().
86         (i386_nlm_maybe_mangle_decl_assembler_name): New.
87         i386_nlm_mangle_decl_assembler_name): New.
88         (netware_override_options): New.
89         * config/i386/netware.h (netware_override_options): Declare.
90         (OVERRIDE_OPTIONS): Re-define to netware_override_options.
91         (i386_nlm_mangle_decl_assembler_name): Declare.
92         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Define.
93
94 2008-02-25  Ben Elliston  <bje@au.ibm.com>
95
96         PR other/32948
97         * c-decl.c (grokdeclarator): Remove unused local variables
98         `typedef_type' and `type_as_written'.
99         * bb-reorder.c
100         (find_rarely_executed_basic_blocks_and_crossing_edges): Remove
101         unused local variable `has_hot_blocks'.
102         (fix_crossing_conditional_branches): Remove unused local variable
103         `prev_bb'.
104         
105 2008-02-25  Uros Bizjak  <ubizjak@gmail.com>
106
107         PR middle-end/19984
108         * builtins.def (BUILT_IN_NAN): Define as c99 builtin
109         using DEF_C99_BUILTIN.
110         (BUILT_IN_NANF): Ditto.
111         (BUILT_IN_NANL): Ditto.
112
113 2008-02-25  Ayal Zaks  <zaks@il.ibm.com>
114             Revital Eres  <eres@il.ibm.com>
115
116         * modulo-sched.c (calculate_must_precede_follow): Address TODO
117         regarding the order of two dependent insns in the same row.
118
119 2008-02-25  Eric Botcazou  <ebotcazou@adacore.com>
120
121         * stor-layout.c (layout_decl): Do not bump the alignment of a
122         bit-field to more than byte alignment if it is packed.
123
124 2008-02-24  David Edelsohn  <edelsohn@gnu.org>
125
126         * config/rs6000/rs6000.c (processor_costs): Add cache costs for
127         e300c2 and e300c3.
128
129 2008-02-24  Diego Novillo  <dnovillo@google.com>
130
131         http://gcc.gnu.org/ml/gcc-patches/2008-02/msg01094.html
132
133         PR 33738
134         * tree-vrp.c (vrp_evaluate_conditional): With
135         -Wtype-limits, emit a warning when comparing against a
136         constant outside the natural range of OP0's type.
137         * c.opt (Wtype-limits): Move ...
138         * common.opt (Wtype-limits): ... here.
139
140 2008-02-24  Edmar Wienskoski  <edmar@freescale.com>
141
142         * config.gcc (powerpc*-*-*): Add new cores e300c2 and e300c3.
143         * config/rs6000/e300c2c3.md: New file.
144         * config/rs6000/rs6000.c (processor_costs): Add new costs for
145         e300c2 and e300c3.
146         (rs6000_override_options): Add e300c2 and e300c3 cases to
147         processor_target_table. Do not allow usage of Altivec or Spe
148         with e300 cores. Initialize rs6000_cost for e300c2 and e300c3.
149         (rs6000_issue_rate): Set issue rate for e300c2 and e300c3.
150         * config/rs6000/rs6000.h (processor_type): Add
151         PROCESSOR_PPCE300C2 and PROCESSOR_PPCE300C3.
152         (ASM_CPU_SPEC): Add e300c2 and e300c3.
153         * config/rs6000/rs6000.md (define_attr "cpu"): Add ppce300c2
154         and ppce300c3. Include e300c2c3.md.
155
156 2008-02-23  David Edelsohn  <edelsohn@gnu.org>
157
158         * config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Use STRICT_ALIGNMENT
159         instead of TARGET_STRICT_ALIGN.
160
161 2008-02-23  Joseph Myers  <joseph@codesourcery.com>
162
163         * explow.c (memory_address): Assert that the generated address is
164         valid.
165
166 2008-02-23  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
167
168         PR target/25477
169         * config/darwin-protos.h: Add darwin_patch_builtins prototype.
170         * config/darwin-ppc-ldouble-patch.def: New file.
171         * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): New macro.
172         * config/rs6000/rs6000.c (rs6000_init_builtins): Call
173         SUBTARGET_INIT_BUILTINS if defined.
174         * config/darwin.c (darwin_patch_builtin, darwin_patch_builtins):
175         New functions.
176
177 2008-02-23  Andrew Pinski  <andrew_pinski@playstation.sony.com>
178
179         PR rtl-opt/33512
180         * simplify-rtx.c (simplify_binary_operation_1): Add simplification
181         of (and X (ior (not X) Y) and (and (ior (not X) Y) X).
182
183 2008-02-23  Andrew Pinski  <andrew_pinski@playstation.sony.com>
184
185         PR pch/35027
186         * c-pch.c (c_common_valid_pch): Make the "too short to be a PCH
187         file" warning condtional on -Winvalid-PCH.
188
189 2008-02-23  Daniel Jacobowitz  <dan@codesourcery.com>
190
191         * expmed.c (extract_bit_field): Always use adjust_address for MEM.
192
193 2008-02-23  Uros Bizjak  <ubizjak@gmail.com>
194
195         PR target/22076
196         PR target/34256 
197         * config/i386/mmx.md (*mov<mode>_internal_rex64): Use "!y" to
198         prevent reload from using MMX registers.
199         (*mov<mode>_internal): Ditto.
200         (*movv2sf_internal_rex64): Ditto.
201         (*movv2sf_internal): Ditto.
202
203 2008-02-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
204
205         PR documentation/31569
206         * doc/install.texi2html: Use makeinfo --no-number-sections.
207
208 2008-02-22  Nathan Froyd  <froydnj@codesourcery.com>
209
210         * config/rs6000/rs6000.c (rs6000_legitimize_address): Check to
211         ensure that we can address an entire entity > 8 bytes.  Don't
212         generate reg+reg addressing for such data.
213
214 2008-02-22  Nathan Froyd  <froydnj@codesourcery.com>
215
216         * config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Don't overalign
217         strings when optimizing for size, unless the target cares about
218         alignment.
219
220 2008-02-22  Tom Tromey  <tromey@redhat.com>
221
222         * regclass.c (current_pass): Remove declaration.
223
224 2008-02-22  Anatoly Sokolov <aesok@post.ru>
225
226         * config/avr/libgcc.S (__RAMPZ__): Define.
227         (__do_copy_data): Add for devices with 128KB code memory.
228
229 2008-02-22  Nathan Froyd  <froydnj@codesourcery.com>
230
231         * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
232         Use spe_abi.
233         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
234
235 2008-02-22  Hans-Peter Nilsson  <hp@axis.com>
236
237         * config/cris/cris.h (REG_CLASS_FROM_LETTER): Recognize 'b' for
238         GENNONACR_REGS.
239
240 2008-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
241
242         PR c/19999
243         * c-typeck.c (build_binary_op): Warn about floating point
244         comparisons if FLOAT_TYPE_P, not only for REAL_TYPE.
245
246 2008-02-21  Janis Johnson  <janis187@us.ibm.com>
247
248         PR target/34526
249         * config/rs6000/rs6000.c (rs6000_altivec_abi): Clarify comment.
250         (rs6000_explicit_options): Split abi into spe_abi and altivec_abi,
251         add vrsave.
252         (rs6000_override_options): Set altivec_abi as default, not override,
253         for 64-bit GNU/Linux; for 32-bit GNU/Linux default to altivec_abi for
254         TARGET_ALTIVEC; default to TARGET_ALTIVEC_VRSAVE when AltiVec ABI
255         is used; use new member spe_abi.
256         (rs6000_handle_option): Set rs6000_explicit_options.vrsave; use
257         spe_abi and altivec_abi.
258
259 2008-02-22  Tomas Bily  <tbily@suse.cz>
260
261         * tree-vectorizer.c (vect_is_simple_reduction): Fix comment typo.
262
263 2008-02-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
264
265         PR bootstrap/35273
266         * config.build (build_file_translate): Set to `CMD //c' only if
267         it works.
268         * Makefile.in (build_file_translate): Improve comment.
269
270 2008-02-21  Jan Hubicka  <jh@suse.cz>
271
272         * predict.def (PRED_TREE_OPCODE_POSITIVE, PRED_TREE_OPCODE_NONEQUAL,
273         PRED_TREE_OPCODE_POSITIVE, PRED_TREE_OPCODE_NONEQUAL, PRED_CALL,
274         PRED_TREE_EARLY_RETURN, PRED_NULL_RETURN): Update.
275
276 2008-02-21  Michael Matz  <matz@suse.de>
277
278         PR target/35264
279         * config/i386/i386.c (ix86_expand_branch): Add missing breaks.
280
281 2008-02-21  Uros Bizjak  <ubizjak@gmail.com>
282
283         * config/i386/i386.md (mov<mode>cc): Macroize expander from movsfcc,
284         movdfcc and movxfcc using X87MODEF mode iterator and SSE_FLOAT_MODE_P
285         as insn constraint.
286         * config/i386/sse.md (<sse>_movup<ssemodesuffixf2c>): Macroize insn
287         from sse_movups adn sse2_movupd using SSEMODEF2P mode iterator and
288         SSE_VEC_FLOAT_MODE_P as insn constraint.
289         (<sse>_movmskp<ssemodesuffixf2c>): Ditto from similar patterns.
290         (sse4a_movnt<mode>): Macroize insn from sse4a_movntsf and
291         sse4a_movntdf using MODEF mode iterator.
292         (sse4a_vmmovnt<mode>): Macroize insn form sse4a_vmmovntv2df and
293         sse4a_vmmovntv4sf using SSEMODEF2P mode iterator.
294         (sse4_1_blendp<ssemodesuffixf2c>): Ditto from similar patterns.
295         (sse4_1_blendvp<ssemodesuffixf2c>): Ditto.
296         (sse4_1_dpp<ssemodesuffixf2c>): Ditto.
297         (sse4_1_roundp<ssemodesuffixf2c>): Ditto.
298         (sse4_1_rounds<ssemodesuffixf2c>): Ditto.
299
300 2008-02-21  Richard Guenther  <rguenther@suse.de>
301
302         * tree.def (PAREN_EXPR): New tree code.
303         * fold-const.c (fold_unary): Remove PAREN_EXPR around constants
304         and PAREN_EXPR.
305         * tree-pretty-print.c (dump_generic_node): Handle PAREN_EXPR.
306         * expr.c (expand_expr_real_1): Likewise.
307         * tree-inline.c (estimate_num_insns_1): Likewise.
308         * tree-complex.c (expand_complex_move): Likewise.
309         * tree-vectorizer.c (vect_is_simple_use): Treat PAREN_EXPR (x)
310         as plain x.
311
312 2008-02-20  Kaz Kojima  <kkojima@gcc.gnu.org>
313
314         PR target/35225
315         * config/sh/sh.c (find_barrier): Don't go past 'from' argument.
316
317 2008-02-20  Kaz Kojima  <kkojima@gcc.gnu.org>
318
319         PR target/35190
320         * config/sh/sh.md (jump_compact): Disable for crossing jumps.
321
322         * config/sh/sh.c (find_barrier): Don't go past
323         NOTE_INSN_SWITCH_TEXT_SECTIONS note.
324
325 2008-02-20  DJ Delorie  <dj@redhat.com>
326
327         * config/h8300/h8300.md (insv): Force source operand to be a register.
328
329         * config/h8300/h8300.c (h8300_expand_epilogue): Emit return insn
330         as a jump, not as a plain insn.
331         
332 2008-02-20  Seongbae Park <seongbae.park@gmail.com>
333
334         * doc/invoke.texi (Warning Options): Add new option
335         -Wframe-larger-than=.
336         (-Wframe-larger-than): Document.
337
338         * flags.h (warn_frame_larger_than, frame_larger_than_size):
339         Add declarations for new option variables.
340
341         * final.c (final_start_function): Check the frame size
342         before emission and issue a Wframe-larger-than warning.
343
344         * opts.c (warn_frame_larger_than, frame_larger_than_size):
345         Add definitions for new option variables.
346         (common_handle_option): Handle new option OPT_Wframe_larger_than_.
347
348         * common.opt (Wframe-larger-than=): New option.
349
350 2008-02-20  Uros Bizjak  <ubizjak@gmail.com>
351
352         * config/i386/sse.md (<sse>_vmmul<mode>3): Fix typo in asm template.
353         (<sse>_div<mode>3): Ditto.
354         (<sse>_vmdiv<mode>3): Ditto.
355         (<sse>_vmsqrt<mode>2): Ditto.
356         (*smax<mode>3): Ditto.
357         (sse5_frcz<mode>2): Ditto.
358         (sse5_vmfrcz<mode>2): Ditto.  Use TARGET_SSE5 instead of TARGET_ROUND
359         as insn constraint.
360
361 2008-02-20  Richard Guenther  <rguenther@suse.de>
362
363         PR middle-end/35265
364         * builtins.c (validate_arg): If we want an INTEGER_TYPE,
365         be happy with INTEGRAL_TYPE_P.
366
367 2008-02-20  Richard Guenther  <rguenther@suse.de>
368
369         * fold-const.c (split_tree): Associate floatig-point expressions
370         if flag_associative_math is set.
371
372 2008-02-20  Richard Guenther  <rguenther@suse.de>
373
374         * tree.h (fold_real_zero_addition_p): Declare.
375         * fold-const.c (fold_real_zero_addition_p): Export.
376         * tree-ssa-reassoc.c (eliminate_using_constants): Also handle
377         floating-point operations with zero and one.
378
379 2008-02-20  Paolo Bonzini  <bonzini@gnu.org>
380
381         * doc/install.texi: Correct references to CFLAGS, replacing them
382         with BOOT_CFLAGS.  Document flags used during bootstrap for
383         target libraries.
384                                 
385 2008-02-20  Uros Bizjak  <ubizjak@gmail.com>
386
387         * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): New define.
388         * config/i386/i386.md (*sse_setcc<mode>): Macroize from *sse_setccsf
389         and *sse_setccdf using MODEF mode iterator and SSE_FLOAT_MODE_P as
390         insn constraint.
391         (smin<mode>3): Ditto from similar patterns.
392         (smax<mode>3): Ditto.
393         (*ieee_smin<mode>3): Ditto.
394         (*ieee_smax<mode>3): Ditto.
395         * config/i386/sse.md (sse): New mode attribute.
396         (mov<mode>): Macroize expander from movv4sf and movv2df using
397         SSEMODEF2P mode iterator.
398         (<sse>_movnt<mode>): Ditto from similar patterns. Use
399         SSE_VEC_FLOAT_MODE_P as insn constraint.
400         (storent<mode>): Ditto.
401         (storent<mode>): Macroize expander from storentsf and storentdf using
402         MODEF mode iterator.
403         (neg<mode>2): Macroize from negv4sf2 and negv2df2 using SSEMODEF2P
404         mode iterator and SSE_VEC_FLOAT_MODE_P as insn constraint.
405         (abs<mode>2): Ditto from similar patterns.
406         (add<mode>3, *add<mode>3, <sse>_vmadd<mode>3): Ditto.
407         (sub<mode>3, *sub<mode>3, <sse>_vmsub<mode>3): Ditto.
408         (<sse>_div<mode>3, <sse>_vmdiv<mode>3): Ditto.
409         (<sse>_vmsqrt<mode>2): Ditto.
410         (smin<mode>3, *smin<mode>3_finite, *smin<mode>3)
411         (<sse>_vmsmin<mode>3, *ieee_smin<mode>3): Ditto.
412         (smax<mode>3, *smax<mode>3_finite, *smax<mode>3)
413         (<sse>_vmsmax<mode>3, *ieee_smax<mode>3): Ditto.
414         (<sse>_maskcmp<mode>3): Macroize from sse_maskcmpv4sf3,
415         sse_maskcmpsf3, sse2_maskcmpv2df3 and sse2_maskcmpdf3 using SSEMODEF4
416         mode iterator. Use SSE_FLOAT_MODE_P with SSE_VEC_FLOAT_MODE_P as
417         insn constraint.
418         (<sse>_comi): Macroize from sse_comi and sse2_comi using MODEF mode
419         iterator and SSE_FLOAT_MODE_P as insn constraint.
420         (<sse>_ucomi): Ditto from similar patterns.
421         (<sse>_vmmaskcmp<mode>3): Macroize from sse_vmmaskcmpv4sf3 and
422         sse2_vmmaskcmpv2df3 using SSEMODEF2P mode iterator and
423         SSE_VEC_FLOAT_MODE_P as insn constraint.
424         (vcond<mode>): Ditto from similar patterns.
425         (and<mode>3, *and<mode>3): Ditto.
426         (<sse>_nand<mode>3): Ditto.
427         (ior<mode>3, *ior<mode>3): Ditto.
428         (xor<mode>3, *xor<mode>3): Ditto.
429         (*and<mode>3): Macroize from *andsf3 and *anddf3 using MODEF mode
430         iterator and SSE_FLOAT_MODE_P as insn constraint.
431         (*nand<mode>3): Ditto from similar patterns.
432         (*ior<mode>3): Ditto.
433         (*xor<mode>3): Ditto.
434
435 2008-02-20  Ira Rosen  <irar@il.ibm.com>
436
437         * config/spu/spu.md (vec_unpacku_hi_v8hi, vec_unpacku_lo_v8hi,
438         vec_unpacks_hi_v8hi, vec_unpacks_lo_v8hi, vec_unpacku_hi_v16qi,
439         vec_unpacku_lo_v16qi, vec_unpacks_lo_v16qi): Implement.
440
441 2008-02-19  Jan Hubicka  <jh@suse.cz>
442
443         * predict.c (tree_bb_level_predictions): Remove variable next
444         mistakely introduced by previous commit.
445
446 2008-02-19  Jan Hubicka  <jh@suse.cz>
447
448         * predict.c (predict_paths_leading_to): Rewrite.
449         (predict_paths_for_bb): New.
450         (tree_bb_level_predictions): Update call of predict_paths_leading_to.
451
452 2008-02-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
453
454         PR bootstrap/35218
455         * Makefile.in (build_file_translate): New.
456         (gcc-vers.texi): Use it for translating $(abs_srcdir).
457         * config.build (build_file_translate): Set to `CMD //c' on MinGW.
458         * configure.ac (build_file_translate): Substitute it.
459         * configure: Regenerate.
460
461 2008-02-19  Jan Hubicka  <jh@suse.cz>
462
463         PR rtl-optimization/34408
464         * see.c (see_def_extension_not_merged): Copy subreg so we don't have
465         invalid sharing.
466
467 2008-02-19  Jan Hubicka  <jh@suse.cz>
468
469         PR middle-end/28779
470         * tree-inline.c (estimate_num_insns_1): Fix counting of cost of
471         call_expr.
472
473 2008-02-19  H.J. Lu  <hongjiu.lu@intel.com>
474
475         PR Ada/35186
476         * config/i386/i386-modes.def: Revert the last DI alignment
477         change until Ada people can look into it.
478
479 2008-02-19  Nick Clifton  <nickc@redhat.com>
480
481         * opts.c (print_specific_help): Fix typo in --help text.
482
483 2008-02-19  Jakub Jelinek  <jakub@redhat.com>
484
485         PR target/35239
486         * config/i386/cpuid.h (__cpuid, __get_cpuid_max): Use special
487         32-bit inline asm without asm alternatives for host GCC < 3.0.
488
489 2008-02-19  Richard Guenther  <rguenther@suse.de>
490
491         PR tree-optimization/34989
492         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Re-structure.
493         Allow propagation to INDIRECT_REF if we can simplify only.
494
495 2008-02-19  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
496
497         * c-common.c (warn_for_collisions_1): Use appropriate option when
498         warning.
499
500 2008-02-19  Nick Clifton  <nickc@redhat.com>
501
502         PR other/31349
503         * opts.c (undocumented_msg): Leave blank unless checking is enabled.
504         (handle_options): Fix indentation.
505         (print_filtered_help): If no language-specific options were
506         displayed tell the user how to list all the options supported by
507         the language's front-end.
508         (print_specific_help): Fix indentation and remove duplicate line.
509         (common_handle_option): Handle the -v option.
510         For --help enable the display of undocumented options if the -v
511         switch has been included on the command line.
512         For --help= check for overlaps in the arguments between the option
513         classes and the language names and issue a warning when they
514         cannot be disambiguated.
515         * c.opt (v): Pass on to the common option handler.
516
517 2008-02-19  Revital Eres  <eres@il.ibm.com> 
518
519         * modulo-sched.c (sms_schedule): Change dump message when
520         create_ddg function fails.
521         (try_scheduling_node_in_cycle): Rename row to cycle.
522         (print_partial_schedule): Rename CYCLE to ROW.
523
524 2008-02-19  Christian Bruel  <christian.bruel@st.com>
525             Zdenek Dvorak  <ook@ucw.cz>
526
527         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check step alignment.
528
529 2008-02-19  Uros Bizjak  <ubizjak@gmail.com>
530
531         PR target/33555
532         * config/i386/i386.md (*x86_movsicc_0_m1_se): New insn pattern.
533         (*x86_movdicc_0_m1_se): Ditto.
534
535 2008-02-19  Uros Bizjak  <ubizjak@gmail.com>
536
537         * config/i386/sfp-machine.h (__gcc_CMPtype): New typedef.
538         (CMPtype): Define as __gcc_CMPtype.
539         * config/rs6000/sfp-machine.h (__gcc_CMPtype): New typedef.
540         (CMPtype): Define as __gcc_CMPtype.
541
542 2008-02-19  Hans-Peter Nilsson  <hp@axis.com>
543
544         Support valgrind 3.3 for --enable-checking=valgrind.
545         * system.h: Consolidate ENABLE_VALGRIND_CHECKING-dependent defines
546         here.
547         [!VALGRIND_MAKE_MEM_NOACCESS]: Define as VALGRIND_MAKE_NOACCESS.
548         [!VALGRIND_MAKE_MEM_DEFINED]: Define as VALGRIND_MAKE_READABLE.
549         [!VALGRIND_MAKE_MEM_UNDEFINED]: Define as VALGRIND_MAKE_WRITABLE.
550         * ggc-common.c: Remove ENABLE_VALGRIND_CHECKING-dependent defines.
551         Replace use of VALGRIND_MAKE_READABLE, VALGRIND_MAKE_WRITABLE, and
552         VALGRIND_MAKE_NOACCESS with VALGRIND_MAKE_MEM_DEFINED,
553         VALGRIND_MAKE_MEM_UNDEFINED, and VALGRIND_MAKE_MEM_NOACCESS
554         respectively.
555         * ggc-zone.c: Similar.
556         * ggc-page.c: Similar.
557
558 2008-02-19  Paul Brook  <paul@codesourcery.com>
559
560         PR target/35071
561         * config/arm/ieee754-df.S: Fix do_it typo.
562         * config/arm/ieee754-sf.S: Fix do_it typo.
563
564 2008-02-18  H.J. Lu  <hongjiu.lu@intel.com>
565
566         PR target/35189
567         * config/i386/i386.c (OPTION_MASK_ISA_MMX_SET): New.
568         (OPTION_MASK_ISA_3DNOW_SET): Likewise.
569         (OPTION_MASK_ISA_SSE_SET): Likewise.
570         (OPTION_MASK_ISA_SSE2_SET): Likewise.
571         (OPTION_MASK_ISA_SSE3_SET): Likewise.
572         (OPTION_MASK_ISA_SSSE3_SET): Likewise.
573         (OPTION_MASK_ISA_SSE4_1_SET): Likewise.
574         (OPTION_MASK_ISA_SSE4_2_SET): Likewise.
575         (OPTION_MASK_ISA_SSE4_SET): Likewise.
576         (OPTION_MASK_ISA_SSE4A_SET): Likewise.
577         (OPTION_MASK_ISA_SSE5_SET): Likewise.
578         (OPTION_MASK_ISA_3DNOW_A_UNSET): Likewise.
579         (OPTION_MASK_ISA_MMX_UNSET): Updated.
580         (OPTION_MASK_ISA_3DNOW_UNSET): Updated.
581         (OPTION_MASK_ISA_SSE_UNSET): Likewise.
582         (OPTION_MASK_ISA_SSE3_UNSET): Likewise.
583         (OPTION_MASK_ISA_SSSE3_UNSET): Likewise.
584         (OPTION_MASK_ISA_SSE4_1_UNSET): Likewise.
585         (OPTION_MASK_ISA_SSE4_2_UNSET): Likewise.
586         (OPTION_MASK_ISA_SSE4A_UNSET): Likewise.
587         (OPTION_MASK_ISA_SSE5_UNSET): Likewise.
588         (OPTION_MASK_ISA_SSE4): Removed.
589         (ix86_handle_option): Turn on bits in ix86_isa_flags and
590         ix86_isa_flags_explicit with OPTION_MASK_ISA_XXX_SET for
591         -mXXX.
592         (override_options): Don't turn on implied SSE/MMX bits in
593         ix86_isa_flags.
594
595 2008-02-18  H.J. Lu  <hongjiu.lu@intel.com>
596
597         * config/i386/i386-modes.def: Use 4 byte alignment on DI for
598         32bit host.
599
600 2008-02-18  Joey Ye  <joey.ye@intel.com>
601
602         PR middle-end/34921
603         * tree-nested.c (insert_field_into_struct): Set type alignment
604         to field alignment if the former is less than the latter.
605
606 2008-02-18  Jakub Jelinek  <jakub@redhat.com>
607
608         * BASE-VER: Set to 4.4.0.
609
610 2008-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
611
612         * doc/c-tree.texi: Use @dots{} and @enddots{} where appropriate.
613         * doc/cfg.texi: Likewise.
614         * doc/extend.texi: Likewise.
615         * doc/gty.texi: Likewise.
616         * doc/invoke.texi: Likewise.
617         * doc/loop.texi: Likewise.
618         * doc/md.texi: Likewise.
619         * doc/passes.texi: Likewise.
620         * doc/rtl.texi: Likewise.
621         * doc/sourcebuild.texi: Likewise.
622         * doc/tm.texi: Likewise.
623         * doc/tree-ssa.texi: Likewise.
624
625 2008-02-17  Richard Guenther  <rguenther@suse.de>
626
627         PR middle-end/35227
628         * tree-complex.c (init_parameter_lattice_values): Handle parameters
629         without default definition.
630
631 2008-02-17  Richard Guenther  <rguenther@suse.de>
632
633         PR tree-optimization/35231
634         * tree-vrp.c (register_edge_assert_for): Do not assume A == 0
635         if A | B != 1.
636
637 2008-02-17  Uros Bizjak  <ubizjak@gmail.com>
638
639         Revert:
640
641         2008-02-15  Uros Bizjak  <ubizjak@gmail.com>    
642         * config/i386/sfp-machine.h (CMPtype): Define as typedef using
643         libgcc_cmp_return mode.
644
645 2008-02-16  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
646
647         PR c/28368
648         * doc/invoke.texi (-std): Clarify description of -std= and -ansi.
649
650 2008-02-16  Ralf Corsepius  <ralf.corsepius@rtems.org>
651
652         * config/m68k/t-rtems (M68K_MLIB_CPU): Add 5208, 5307, 5407, 5475
653         multilibs.
654
655 2008-02-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
656
657         * doc/c-tree.texi: Use `@.' where appropriate.
658         * doc/extend.texi: Likewise.
659         * doc/install.texi: Likewise.
660         * doc/invoke.texi: Likewise.
661         * doc/loop.texi: Likewise.
662         * doc/makefile.texi: Likewise.
663         * doc/md.texi: Likewise.
664         * doc/passes.texi: Likewise.
665         * doc/standards.texi: Likewise.
666         * doc/tm.texi: Likewise.
667
668 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
669
670         PR middle-end/35196
671         * omp-low.c (expand_omp_for_generic): Don't initialize fd->v
672         in entry_bb.
673         (expand_omp_for_static_nochunk): Initialize fd->v in seq_start_bb
674         rather than in entry_bb.
675
676 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
677
678         * config/i386/sfp-machine.h (CMPtype): Define as typedef using
679         libgcc_cmp_return mode.
680
681 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
682
683         PR middle-end/35130
684         * tree-nested.c (convert_call_expr): Put FRAME.* vars into
685         OMP_CLAUSE_SHARED rather than OMP_CLAUSE_FIRSTPRIVATE clause.
686
687 2008-02-15  Richard Guenther  <rguenther@suse.de>
688             Zdenek Dvorak  <ook@ucw.cz>
689
690         PR tree-optimization/35164
691         * tree-flow.h (stmt_references_abnormal_ssa_name): Declare.
692         * tree-dfa.c (stmt_references_abnormal_ssa_name): New function.
693         * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
694         Only propagate addresses which do not have abnormal SSA_NAMEs
695         in their operands.
696
697 2008-02-15  Joseph Myers  <joseph@codesourcery.com>
698
699         PR target/35088
700         * config/m68k/m68k.h (DWARF_CIE_DATA_ALIGNMENT): Define.
701
702 2008-02-15  Jan Hubicka  <jh@suse.cz>
703
704         PR middle-end/35149
705         * ipa.c (cgraph_remove_unreachable_nodes): Clear local.inlinable flag.
706
707 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
708
709         PR middle-end/34621
710         * function.c (pad_to_arg_alignment): Remove test for STACK_BOUNDARY
711         when calculating alignment_pad.
712
713 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
714
715         * config/i386/i386.h (CLEAR_RATIO): Use MIN macro.
716         (WIDEST_HARDWARE_FP_SIZE): Use LONG_DOUBLE_TYPE_SIZE define.
717         * config/i386/darwin.h (PREFERRED_STACK_BOUNDARY): Use MAX macro
718         and STACK_BOUNDARY define.
719
720 2008-02-14  Danny Smith  <dannysmith@users.sourceforge.net>
721
722         PR preprocessor/35061
723         * c-pragma.c (handle_pragma_pop_macro): Check that
724         pushed_macro_table has been allocated.
725
726 2008-02-14  Eric Botcazou  <ebotcazou@adacore.com>
727
728         PR middle-end/35136
729         * gimplify.c (force_gimple_operand_bsi): Revert 2008-02-12 change.
730         (force_gimple_operand): Likewise.
731         * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Add new cases
732         for TARGET_MEM_REF and CONVERT_EXPR/NON_LVALUE_EXPR/NOP_EXPR.
733         Also recurse on the operand for regular VIEW_CONVERT_EXPRs.
734         (find_interesting_uses_address): Check addressability and alignment
735         of the base expression only after substituting bases of IVs into it.
736
737 2008-02-14  Michael Matz  <matz@suse.de>
738
739         PR target/34930
740         * function.c (instantiate_virtual_regs_in_insn): Reload address
741         before falling back to reloading the whole operand.
742
743 2008-02-14  Andreas Krebbel  <krebbel1@de.ibm.com>
744
745         * config/s390/s390.c (s390_mainpool_start): Emit the pool
746         before the first section switch note.
747
748 2008-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
749
750         * doc/bugreport.texi: Update copyright years.
751         * doc/c-tree.texi: Likewise.
752         * doc/cfg.texi: Likewise.
753         * doc/cpp.texi: Likewise.
754         * doc/cppinternals.texi: Likewise.
755         * doc/fragments.texi: Likewise.
756         * doc/frontends.texi: Likewise.
757         * doc/gcc.texi: Likewise.
758         * doc/gty.texi: Likewise.
759         * doc/hostconfig.texi: Likewise.
760         * doc/implement-c.texi: Likewise.
761         * doc/libgcc.texi: Likewise.
762         * doc/loop.texi: Likewise.
763         * doc/makefile.texi: Likewise.
764         * doc/options.texi: Likewise.
765         * doc/passes.texi: Likewise.
766         * doc/rtl.texi: Likewise.
767         * doc/sourcebuild.texi: Likewise.
768         * doc/standards.texi: Likewise.
769         * doc/tree-ssa.texi: Likewise.
770         * doc/trouble.texi: Likewise.
771
772         * doc/extend.texi: Use @: or add comma where appropriate.
773         * doc/invoke.texi: Likewise.
774         * doc/tm.texi: Likewise.
775
776 2008-02-14  Alan Modra  <amodra@bigpond.net.au>
777
778         PR target/34393
779         * config/rs6000/rs6000.md (restore_stack_block): Force operands[1]
780         to a reg.
781
782 2008-02-14  Jesper Nilsson  <jesper.nilsson@axis.com>
783
784         * doc/md.texi (clz, ctz): Add reference.
785         * doc/rtl.texi (clz, ctz): Likewise.
786
787 2008-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
788
789         PR other/35148
790         * Makefile.in (gcc-vers.texi): Use abs_srcdir for the value of
791         srcdir.
792
793 2008-02-13  Andreas Krebbel  <krebbel1@de.ibm.com>
794
795         * config/s390/s390.c (struct constant_pool): New field
796         emit_pool_after added.
797         (s390_mainpool_start): Set the emit_pool_after flag according
798         to the section switch notes.
799         (s390_mainpool_finish): Consider emit_pool_after when emitting
800         the literal pool at the end of the function.
801         (s390_chunkify_start): Force literal pool splits at section
802         switch notes.
803
804 2008-02-13  Michael Matz  <matz@suse.de>
805
806         PR debug/35065
807         * var-tracking.c (clobber_variable_part): Correctly traverse the
808         list.
809
810 2008-02-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
811
812         PR 29673
813         * doc/invoke.texi (Debugging Options): Remove -fdump-tree-inlined.
814         Add -fdump-ipa-inline.
815         * tree-dump.c (dump_files): Remove tree-inlined dump.
816         * tree-pass.h (tree_dump_index): Remove TDI_inlined.
817         
818 2008-02-12  Richard Guenther  <rguenther@suse.de>
819
820         PR tree-optimization/35171
821         * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Deal with
822         default defs.
823
824 2008-02-12  Richard Guenther  <rguenther@suse.de>
825
826         PR middle-end/35163
827         * fold-const.c (fold_widened_comparison): Use get_unwidened in
828         value-preserving mode.  Disallow final truncation.
829
830 2008-02-12  Eric Botcazou  <ebotcazou@adacore.com>
831
832         PR middle-end/35136
833         * gimplify.c (force_gimple_operand_bsi): Move SSA renaming
834         code from here to...
835         (force_gimple_operand): ...here.
836
837 2008-02-12  Jakub Jelinek  <jakub@redhat.com>
838
839         PR c++/35144
840         * tree-sra.c (sra_build_assignment): fold_convert SRC if copying
841         non-compatible pointers.
842         (generate_element_copy): If SRC and DST are RECORD_TYPEs with
843         different FIELD_DECLs, try harder by comparing field offsets, sizes
844         and types.
845
846         PR inline-asm/35160
847         * function.c (match_asm_constraints_1): Don't replace the same input
848         multiple times.
849
850 2008-02-12  Anatoly Sokolov <aesok@post.ru>
851
852         * config/avr/avr.h (AVR_HAVE_RAMPZ): Define.
853         * config/avr/avr.c (expand_prologue): Save RAMPZ register.
854         (expand_epilogue): Restore RAMPZ register.
855         * config/avr/avr.md (RAMPZ_ADDR): New constant.
856
857 2008-02-11  Kai Tietz  <kai.tietz@onevision.com>
858
859         * config/i386/cygwin.asm: (__alloca): Correct calling
860         convention and alignment.
861         (__chkstk): Force 8 byte stack alignment.
862
863 2008-02-11  Uros Bizjak  <ubizjak@gmail.com>
864             Richard Guenther  <rguenther@suse.de>
865
866         PR tree-optimization/33992
867         * tree-ssa-loop-im.c (rewrite_bittest): Fixup the type of
868         the zero we compare against.
869
870 2008-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
871
872         PR libfortran/35063
873         * gthr-win32.h (__gthread_mutex_destroy_function): New function
874         to CloseHandle after unlocking to prevent accumulation of handle
875         count.
876
877 2008-02-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
878
879         PR middle_end/34150
880         * pa.c (legitimize_pic_address): Add REG_EQUAL note on sets with a
881         pic_label_operand source.  Similarly, add a REG_LABEL_OPERAND note
882         and update LABEL_NUSES during and after reload.
883
884 2008-02-08  Steven Bosscher  <stevenb.gcc@gmail.com>
885
886         PR middle-end/34627
887         * combine.c (simplify_if_then_else): Make sure the comparison is
888         against const0_rtx when simplifying to (abs x) or (neg (abs X)).
889
890 2008-02-08  Richard Sandiford  <rsandifo@nildram.co.uk>
891
892         PR bootstrap/35051
893         * double-int.h: Don't include gmp.h for GENERATOR_FILEs.
894         (mpz_set_double_int, mpz_get_double_int): Hide from GENERATOR_FILEs.
895         * real.h: Don't include gmp.h or mpfr.h for GENERATOR_FILEs.
896         (real_from_mpfr, mpfr_from_real): Hide from GENERATOR_FILEs.
897         * tree.h (get_type_static_bounds): Likewise.
898
899 2008-02-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
900
901         * doc/invoke.texi (Option Summary, C++ Dialect Options)
902         (Objective-C and Objective-C++ Dialect Options, Warning Options):
903         Make -Wfoo language annotations match what the compiler outputs.
904
905 2008-02-08  Sa Liu  <saliu@de.ibm.com>
906
907         * config/spu/spu-builtins.def: Fixed wrong parameter type in spu 
908         intrinsics spu_convts, spu_convtu, spu_convtf.
909         * testsuite/gcc.target/spu/intrinsics-3.c: New. Test error messages.
910
911 2008-02-08  Hans-Peter Nilsson  <hp@axis.com>
912
913         * doc/extend.texi (Function Attributes) <noinline>: Mention
914         asm ("") as method to keep calls.
915
916 2008-02-07  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
917
918         PR other/32754
919         * doc/options.texi (Options): Replace references to opts.sh with
920         optc-gen.awk.
921         * opts-common.c: Likewise.
922         * optc-gen.awk: Likewise.
923         
924 2008-02-07  Andreas Krebbel  <krebbel1@de.ibm.com>
925
926         * config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit.
927
928 2008-02-07  Richard Henderson  <rth@redhat.com>
929
930         PR rtl-opt/33410
931         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use an
932         EXPR_LIST for the REG_EQUAL instead of a comparison with a 
933         funny mode.
934
935 2008-02-07  Uros Bizjak  <ubizjak@gmail.com>
936
937         PR tree-optimization/35085
938         * tree-ssa-reassoc.c (rewrite_expr_tree): Enable destructive update
939         for operand entry oe2 in addition to operand entry oe3 in order to
940         expose more opportunities for vectorizer sum reduction.
941
942 2008-02-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
943
944         PR other/35107
945         * Makefile.in (LIBS): Remove $(GMPLIBS).
946         (cc1-dummy, cc1): Add $(GMPLIBS).
947
948 2008-02-06  Jan Hubicka  <jh@suse.cz>
949
950         PR target/23322
951         * i386.md (moddf_integer): Do not produce partial memory stalls for
952         targets where it hurts.
953
954 2008-02-06  Uros Bizjak  <ubizjak@gmail.com>
955
956         PR target/35083
957         * optabs.c (expand_float): Do not check for decimal modes when
958         expanding unsigned integer through signed conversion.
959
960 2008-02-06  Nick Clifton  <nickc@redhat.com>
961
962         * config/stormy16/stormy16.md (eqbranchsi): Replace a match_dup
963         inside the clobber with a match_operand and duplicated operand
964         number in the constraint.
965         (ineqbranchsi): Delete redundant comment.
966
967 2008-02-06  Ralf Corsepius  <ralf.corsepius@rtems.org>
968
969         * config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add 
970         builtin_define ("__USE_INIT_FINI__").
971         * config/h8300/t-rtems (MULTILIB_OPTION,MULTILIB_DIRNAMES): Add
972         -msx multilibs.
973         * gthr-rtems.h: Remove __GTHREAD_MUTEX_INIT.
974
975 2008-02-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
976
977         PR documentation/30330
978         * doc/invoke.texi (C++ Dialect Options)
979         (Objective-C and Objective-C++ Dialect Options, Warning Options):
980         For each warning option -Wfoo that allows -Wno-foo, ensure both
981         -Wfoo and -Wno-foo are listed in the option index.  Fix index
982         entry of -Wswitch-default, index -Wnormalized= including the
983         `=', and -Wlarger-than-@var{len} including @var{len}.
984
985 2008-02-05  Uros Bizjak  <ubizjak@gmail.com>
986
987         * config/i386/i386.md (floatunssisf2): Use
988         ix86_expand_convert_uns_sisf_sse also for TARGET_SSE.
989         (floatunssi<mode>2): Rename from floatunssisf2 and floatunssidf2.
990         Macroize expander using MODEF mode iterator.
991
992 2008-02-05  Diego Novillo  <dnovillo@google.com>
993
994         http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00140.html
995
996         PR 33738
997         * tree-vrp.c (vrp_evaluate_conditional): Revert fix for PR 33738.
998
999 2008-02-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1000
1001         PR other/35070
1002         * toplev.c (print_version): Honor `indent' for GMP/MPFR warnings.
1003
1004 2008-02-05  H.J. Lu  <hongjiu.lu@intel.com>
1005
1006         PR target/35084
1007         * config/i386/i386.c (ix86_function_sseregparm): Add an arg
1008         to indicate if a message should be generated.
1009         (init_cumulative_args): Updated.
1010         (function_value_32): Likewise.
1011
1012 2008-02-05  Joseph Myers  <joseph@codesourcery.com>
1013
1014         * doc/include/texinfo.tex: Update to version 2008-02-04.16.
1015
1016 2008-02-05  Uros Bizjak  <ubizjak@gmail.com>
1017
1018         PR target/35083
1019         * config/i386/i386.md (floatunsisf2): Enable for TARGET_SSE_MATH only.
1020         Call ix86_expand_convert_uns_sisf_sse for TARGET_SSE2.
1021
1022 2008-02-04  Diego Novillo  <dnovillo@google.com>
1023
1024         http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00110.html
1025
1026         PR 33738
1027         * tree-vrp.c (vrp_evaluate_conditional): With
1028         -Wtype-limits, emit a warning when comparing against a
1029         constant outside the natural range of OP0's type.
1030
1031 2008-02-04  Richard Guenther  <rguenther@suse.de>
1032
1033         PR middle-end/33631
1034         * expr.c (count_type_elements): Give for unions instead of
1035         guessing.
1036
1037 2008-02-04  Richard Guenther  <rguenther@suse.de>
1038
1039         PR middle-end/35043
1040         * gimplify.c (gimplify_init_ctor_eval): Convert array indices
1041         to TYPE_DOMAINs base type instead of using bitsizetype here.
1042
1043 2008-02-03  Jason Merrill  <jason@redhat.com>
1044
1045         * print-tree.c (print_node) [CONSTRUCTOR]: Print elements.
1046
1047 2008-02-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1048
1049         PR other/29972
1050         * doc/invoke.texi (C++ Dialect Options, Optimize Options)
1051         (HPPA Options, i386 and x86-64 Options, IA-64 Options)
1052         (RS/6000 and PowerPC Options): Fix typos and markup.
1053         * doc/passes.texi (Tree-SSA passes): Likewise.
1054
1055 2008-02-02  Michael Matz  <matz@suse.de>
1056
1057         PR target/35045
1058         * postreload-gcse.c (record_last_reg_set_info_regno): Renamed
1059         from record_last_reg_set_info.
1060         (record_last_reg_set_info): Take an RTX argument, iterate over all
1061         constituent hardregs.
1062         (record_last_set_info, record_opr_changes): Change calls to
1063         new signature or to record_last_reg_set_info_regno.
1064
1065 2008-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
1066
1067         * doc/extend.texi (X86 Built-in Functions): Fix grammar.
1068
1069 2008-02-01  Hans-Peter Nilsson  <hp@axis.com>
1070
1071         PR rtl-optimization/34773
1072         * reg-notes.def (EQUAL): Mention significance of combination of
1073         REG_EQUAL and REG_RETVAL.
1074         * fwprop.c (try_fwprop_subst): Don't add REG_EQUAL to an
1075         insn that has a REG_RETVAL.
1076
1077 2008-02-01  Roger Sayle  <roger@eyesopen.com>
1078
1079         PR bootstrap/33781
1080         * configure.ac (--enable-fixed-point): Disable unless explicitly
1081         requested on IRIX.
1082         * configure: Regenerate.
1083
1084 2008-02-01  Richard Guenther  <rguenther@suse.de>
1085
1086         PR other/35042
1087         * invoke.texi (-finline-limit): Remove no longer true parts
1088         of the documentation.  Note that there is no default value.
1089
1090 2008-02-01  Andrew Pinski  <pinskia@gmail.com>
1091             Mark Mitchell  <mark@codesourcery.com>
1092             Ben Elliston  <bje@au.ibm.com>
1093
1094         PR c/29326
1095         * doc/extend.texi (Other Builtins): Document.
1096
1097 2008-01-31  Tom Browder <tom.browder@gmail.com>
1098
1099         * doc/c-tree.texi (Types): Fix grammar.
1100         (Expression trees): Ditto.
1101         * doc/passes.texi (Tree-SSA passes): Ditto.
1102         
1103         * doc/configterms.texi (Configure Terms): Fix typo.
1104         * doc/cpp.texi (Common Predefined Macros): Ditto.
1105         * doc/md.texi (Machine Constraints): Ditto.
1106         
1107         * doc/makefile.texi (Makefile): Add comma.
1108
1109 2008-01-31  Tom Browder  <tom.browder@gmail.com>
1110             Gerald Pfeifer  <gerald@pfeifer.com>
1111         
1112         * doc/sourcebuild.texi (Front End): Remove references to CVS
1113         and CVSROOT/modules.
1114         (Texinfo Manuals): Replace reference to CVS by one to SVN.
1115         (Back End): Remove reference to CVS.
1116
1117 2008-01-31  Richard Sandiford  <rsandifo@nildram.co.uk>
1118
1119         PR target/34900
1120         * config/mips/mips.c (gen_load_const_gp): New function, taking a
1121         comment from...
1122         (mips16_gp_pseudo_reg): ...here.
1123         * config/mips/mips.md (load_const_gp): Replace with...
1124         (load_const_gp_<mode>): ...this :P-based insn.
1125
1126 2008-01-31  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1127
1128         * doc/invoke.texi (-ansi): Mention explicitly corresponding -std=
1129         options. Minor fixes.
1130         (-std): Move reference to standards closer to where language
1131         standards are first mentioned.
1132         
1133 2008-01-31  Richard Sandiford  <rsandifo@nildram.co.uk>
1134
1135         PR rtl-optimization/34995
1136         * reload.c (alternative_allows_const_pool_ref): Take an rtx
1137         parameter and return a bool.  If the rtx parameter is nonnull,
1138         check that it satisfies an EXTRA_MEMORY_CONSTRAINT.
1139         (find_reloads): Update call accordingly.  Pass the new operand
1140         if it needed no address reloads, otherwise pass null.
1141
1142 2008-01-30  Richard Henderson  <rth@redhat.com>
1143
1144         PR c/34993
1145         * tree.c (build_type_attribute_qual_variant): Skip TYPE_DOMAIN
1146         for unbounded arrays.
1147
1148 2008-01-30  Silvius Rus  <rus@google.com>
1149
1150         * config/i386/xmmintrin.h (_mm_prefetch): Add const to first arg.
1151
1152 2008-01-30  Jan Hubicka  <jh@suse.cz>
1153
1154         PR target/34982
1155         * i386.c (init_cumulative_args): Use real function declaration when
1156         calling locally.
1157
1158 2008-01-30  Richard Sandiford  <rsandifo@nildram.co.uk>
1159
1160         PR rtl-optimization/34998
1161         * global.c (build_insn_chain): Treat non-subreg_lowpart
1162         SUBREGs of pseudos as clobbering all the words covered by the
1163         SUBREG, not just all the bytes.
1164         * ra-conflict.c (clear_reg_in_live): Likewise.  Take the
1165         original df_ref rather than an extract parameter.
1166         (global_conflicts): Update call accordingly.
1167
1168 2008-01-30  Andreas Krebbel  <krebbel1@de.ibm.com>
1169
1170         * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): Rearrange
1171         the overflow check to make it easier to read.
1172         (__fixtfdi): Change the type of the ll member in union
1173         long_double to UDItype_x.
1174
1175 2008-01-30  Jakub Jelinek  <jakub@redhat.com>
1176
1177         PR middle-end/34969
1178         * cgraph.h (cgraph_update_edges_for_call_stmt): New prototype.
1179         * cgraph.c (cgraph_update_edges_for_call_stmt): New function.
1180         * tree-inline.c (fold_marked_statements): Call
1181         cgraph_update_edges_for_call_stmt if folding a call statement.
1182         * cgraphunit.c (verify_cgraph_node): Set cfun to this_cfun for
1183         debug_generic_stmt calls, reset it back afterwards.
1184
1185         PR c/35017
1186         * c-decl.c (start_decl): Don't pedwarn about TREE_READONLY
1187         static decls.
1188         * c-typeck.c (build_external_ref): Don't pedwarn about
1189         static vars in current function's scope.
1190
1191 2008-01-29  Joseph Myers  <joseph@codesourcery.com>
1192
1193         * config.gcc (i[34567]86-*-nto-qnx*): Remove deprecation.
1194
1195 2008-01-29  Bernhard Fischer  <aldot@gcc.gnu.org>
1196
1197         PR c/35002
1198         * ipa-struct-reorg.c: Fix spelling.
1199         * params.def: Ditto.
1200
1201 2008-01-29  Richard Guenther  <rguenther@suse.de>
1202
1203         PR middle-end/35006
1204         * tree-inline.h (struct copy_body_data): Add remapping_type_depth
1205         field.
1206         * tree-inline.c (remap_type): Increment remapping_type_depth
1207         around remapping types.
1208         (copy_body_r): Only add referenced variables if they are referenced
1209         from code, not types.
1210
1211 2008-01-29  Douglas Gregor  <doug.gregor@gmail.com>
1212
1213         PR c++/34055
1214         PR c++/34103
1215         PR c++/34219
1216         PR c++/34606
1217         PR c++/34753
1218         PR c++/34754
1219         PR c++/34755
1220         PR c++/34919
1221         PR c++/34961
1222         * c-pretty-print.c (pp_c_type_qualifier_list): Don't try to print
1223         qualifiers for an ERROR_MARK_NODE or a NULL_TREE.
1224
1225 2008-01-28  Andy Hutchinson   <hutchinsonandy@netscape.net>
1226
1227         PR target/34412
1228         * config/avr/avr.c (expand_prologue): Use correct QI mode frame 
1229         pointer for tiny stack.
1230
1231 2008-01-28  Bernhard Fischer  <aldot@gcc.gnu.org>
1232
1233         * doc/tree-ssa.texi: Add cindex PHI nodes and improve wording.
1234
1235 2008-01-28  Bernhard Fischer  <aldot@gcc.gnu.org>
1236
1237         * config/vx-common.h: Fix typo in comment.
1238
1239 2008-01-28  Ian Lance Taylor  <iant@google.com>
1240
1241         PR c++/34862
1242         PR c++/33407
1243         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
1244         coalesce pointers if they have different DECL_NO_TBAA_P values.
1245         * tree-ssa-copy.c (may_propagate_copy): Don't propagate copies
1246         between variables with different DECL_NO_TBAA_P values.
1247
1248 2008-01-28  Nathan Froyd  <froydnj@codesourcery.com>
1249
1250         PR 31535
1251         * config/rs6000/rs6000.c (small_data_operand): Vectors and floats
1252         are not legitimate small data references on SPE targets.
1253
1254 2008-01-28  David Daney  <ddaney@avtrex.com>
1255
1256         * doc/install.texi (mips-*-*): Recommend binutils 2.18.
1257
1258 2008-01-28  David Daney  <ddaney@avtrex.com>
1259
1260         * doc/install.texi (--disable-libgcj-bc):  Reword documentation.
1261
1262 2008-01-27  Joseph Myers  <joseph@codesourcery.com>
1263
1264         * config.gcc (strongarm*-*, ep9312*-*, xscale*-*, parisc*-*,
1265         m680[012]0-*, *-*-beos*, *-*-kaos*, *-*-linux*aout*,
1266         *-*-linux*libc1*, *-*-solaris2.[0-6], *-*-solaris2.[0-6].*,
1267         *-*-sysv*, *-*-windiss*, alpha*-*-unicosmk*, cris-*-aout,
1268         hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
1269         i[34567]86-sequent-ptx4*, i[34567]86-*-nto-qnx*,
1270         i[34567]86-*-sco3.2v5*, i[34567]86-*-uwin*, powerpc-*-chorusos*,
1271         vax-*-bsd*, vax-*-ultrix*): Mark obsolete.
1272
1273 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
1274
1275         * basic-block.h (condjump_equiv_p): Fix comment.
1276
1277 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
1278
1279         * tree-pretty-print.c (print_generic_decl, print_generic_stmt,
1280         print_generic_stmt_indented): Fix comment.
1281
1282 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
1283
1284         * configure.ac (__stack_chk_fail): Add detecion for availability
1285         of SSP in uClibc by checking if __UCLIBC_HAS_SSP__ is defined.
1286         * configure: Regenerate.
1287
1288 2008-01-26  Maxim Kuvyrkov  <maxim@codesourcery.com>
1289
1290         PR middle-end/34688
1291         * final.c (output_addr_const): Handle TRUNCATE.
1292
1293 2008-01-26  Zdenek Dvorak  <ook@ucw.cz>
1294
1295         PR target/34711
1296         * tree-ssa-loop-ivopts.c (comp_cost): New type.
1297         (zero_cost, infinite_cost): New constants.
1298         (struct cost_pair): Change type of cost to comp_cost.
1299         (struct iv_ca): Change type of cand_use_cost and cost to comp_cost.
1300         (new_cost, add_costs, sub_costs, compare_costs, infinite_cost_p):
1301         New functions.
1302         (set_use_iv_cost, force_expr_to_var_cost, force_var_cost,
1303         split_address_cost, ptr_difference_cost, difference_cost,
1304         get_computation_cost_at, get_computation_cost,
1305         determine_use_iv_cost_generic, determine_use_iv_cost_address,
1306         determine_use_iv_cost_condition, determine_use_iv_costs,
1307         cheaper_cost_pair, iv_ca_recount_cost, iv_ca_set_no_cp,
1308         iv_ca_set_cp, iv_ca_cost, iv_ca_new, iv_ca_dump, iv_ca_extend,
1309         iv_ca_narrow, iv_ca_prune, try_improve_iv_set, find_optimal_iv_set):
1310         Change type of cost to comp_cost.
1311         (determine_iv_cost): Increase cost of non-original ivs, instead
1312         of decreasing the cost of original ones.
1313         (get_address_cost): Indicate the complexity of the addressing mode 
1314         in comp_cost.
1315         (try_add_cand_for): Prefer using ivs not specific to some object.
1316         * tree-flow.h (force_expr_to_var_cost): Declaration removed.
1317
1318 2008-01-26  Peter Bergner  <bergner@vnet.ibm.com>
1319             Janis Johnson  <janis187@us.ibm.com>
1320
1321         PR target/34814
1322         * doc/tm.texi (TARGET_EXPAND_TO_RTL_HOOK): Document.
1323         (TARGET_INSTANTIATE_DECLS): Likewise.
1324         * target.h (expand_to_rtl_hook): New target hook.
1325         (instantiate_decls): Likewise.
1326         * function.c (instantiate_decl): Make non-static.  Rename to...
1327         (instantiate_decl_rtl): ... this.
1328         (instantiate_expr): Use instantiate_decl_rtl.
1329         (instantiate_decls_1): Likewise.
1330         (instantiate_decls): Likewise.
1331         (instantiate_virtual_regs: Call new instantiate_decls taget hook.
1332         * function.h (instantiate_decl_rtl): Add prototype.
1333         * cfgexpand.c (target.h): New include.
1334         (tree_expand_cfg): Call new expand_to_rtl_hook target hook.
1335         * target-def.h (TARGET_EXPAND_TO_RTL_HOOK): New define.
1336         (TARGET_INSTANTIATE_DECLS): Likewise.
1337         (TARGET_INITIALIZER): New target hooks added.
1338         * config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_rtx):
1339         New prototype.
1340         * config/rs6000/rs6000.c (tree-flow.h): New include.
1341         (machine_function): Add sdmode_stack_slot field.
1342         (rs6000_alloc_sdmode_stack_slot): New function.
1343         (rs6000_instantiate_decls): Likewise.
1344         (rs6000_secondary_memory_needed_rtx): Likewise.
1345         (rs6000_check_sdmode): Likewise.
1346         (TARGET_EXPAND_TO_RTL_HOOK): Target macro defined.
1347         (TARGET_INSTANTIATE_DECLS): Likewise.
1348         (rs6000_hard_regno_mode_ok): Allow SDmode.
1349         (num_insns_constant): Likewise.  Handle _Decimal32 constants.
1350         (rs6000_emit_move): Handle SDmode.
1351         (function_arg_advance): Likewise.
1352         (function_arg): Likewise.
1353         (rs6000_gimplify_va_arg): Likewise.  Add special handling of
1354         SDmode var args for 32-bit compiles.
1355         (rs6000_secondary_reload_class): Handle SDmode.
1356         (rs6000_output_function_epilogue): Likewise.
1357         (rs6000_function_value): Simplify if statement.
1358         (rs6000_libcall_value): Likewise.
1359         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Handle SDmode.
1360         (SECONDARY_MEMORY_NEEDED_RTX): Add define.
1361         * config/rs6000/dfp.md (movsd): New define_expand and splitter.
1362         (movsd_hardfloat): New define_insn.
1363         (movsd_softfloat): Likewise.
1364         (movsd_store): Likewise.
1365         (movsd_load): Likewise.
1366         (extendsddd2): Likewise.
1367         (extendsdtd2): Likewise.
1368         (truncddsd2): Likewise.
1369         (movdd_hardfloat64): Fixup comment.
1370         (UNSPEC_MOVSD_LOAD): New constant.
1371         (UNSPEC_MOVSD_STORE): Likewise.
1372
1373 2008-01-26  Jakub Jelinek  <jakub@redhat.com>
1374
1375         PR c++/34965
1376         * c-pretty-print.c (pp_c_exclusive_or_expression): Handle
1377         TRUTH_XOR_EXPR.
1378         (pp_c_logical_and_expression): Handle TRUTH_AND_EXPR.
1379         (pp_c_logical_or_expression): Handle TRUTH_OR_EXPR.
1380         (pp_c_expression): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR
1381         and TRUTH_XOR_EXPR.
1382
1383 2008-01-26  David Edelsohn  <edelsohn@gnu.org>
1384
1385         PR target/34794
1386         * config.gcc: Separate AIX 5.3 from AIX 6.1.
1387         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
1388         __LONGDOUBLE128 too.
1389         * config/rs6000/aix61.h: New file.
1390
1391 2008-01-26  Richard Sandiford  <rsandifo@nildram.co.uk>
1392
1393         PR rtl-optimization/34959
1394         * optabs.c (expand_unop): In libcall notes, give ffs, clz, ctz,
1395         popcount and parity rtxes the same mode as their operand.
1396         Truncate or extend the result to the return value's mode
1397         if necessary.
1398
1399 2008-01-26  Richard Sandiford  <rsandifo@nildram.co.uk>
1400
1401         PR target/34981
1402         * config/mips/mips-protos.h (mips_expand_call): Return an rtx.
1403         * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Rename FAKE_CALL_REGNO
1404         to GOT_VERSION_REGNUM.
1405         (CALL_REALLY_USED_REGISTERS): Set the GOT_VERSION_REGNUM entry to 0.
1406         (EPILOGUE_USES): Include GOT_VERSION_REGNUM if TARGET_USE_GOT.
1407         * config/mips/mips.c (mips_emit_call_insn): New function.
1408         (mips_call_tls_get_addr): Call mips_expand_call directly.
1409         (mips16_copy_fpr_return_value): Use mips_emit_call_insn rather than
1410         emit_call_insn.
1411         (mips16_build_call_stub): Likewise.  Return the call insn or null.
1412         (mips_expand_call): Update the call to mips16_build_call_stub
1413         accordingly and a remove redundant condition.  Assert that MIPS16
1414         stubs do not use lazy binding.  Use mips_emit_call_insn and return
1415         the call insn.
1416         (mips_extra_live_on_entry): Include GOT_VERSION_REGNUM if
1417         TARGET_USE_GOT.
1418         (mips_hard_regno_mode_ok_p): Allow SImode for GOT_VERSION_REGNUM.
1419         (mips_avoid_hazard): Remove hazard_set handling.
1420         * config/mips/mips.md (UNSPEC_EH_RECEIVER): Rename to...
1421         (UNSPEC_RESTORE_GP): ...this.
1422         (UNSPEC_SET_GOT_VERSION, UNSPEC_UPDATE_GOT_VERSION): New constants.
1423         (FAKE_CALL_REGNO): Rename to...
1424         (GOT_VERSION_REGNUM): ...this.
1425         (type): Add "ghost" value.  Add an associated insn reservation.
1426         (hazard_set): Remove.
1427         (exception_receiver): Rename to...
1428         (restore_gp): ...this and update the unspec identifier accordingly.
1429         (exception_receiver, nonlocal_got_receiver): New expanders.
1430         (load_call<mode>): Use GOT_VERSION_REGNUM.  Don't set
1431         FAKE_CALL_REGNO.  Remove hazard_set attribute.
1432         (set_got_version, update_got_version): New patterns.
1433
1434 2008-01-26  Danny Smith  <dannysmith@users.sourceforge.net>
1435
1436         PR target/34970
1437         * config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define.
1438
1439 2008-01-25  Joseph Myers  <joseph@codesourcery.com>
1440
1441         PR other/31955
1442         * doc/install.texi2html: Generate gcc-vers.texi.
1443
1444 2008-01-25  DJ Delorie  <dj@redhat.com>
1445
1446         * config/m32c/m32c.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1447
1448 2008-01-25  Joseph Myers  <joseph@codesourcery.com>
1449
1450         * config/c4x: Remove directory.
1451         * config.gcc (crx-*, mt-*): Mark obsolete.
1452         (c4x-*, tic4x-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*, tic4x-*,
1453         h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*,
1454         sh-*-rtemscoff*): Remove cases.
1455         * defaults.h (C4X_FLOAT_FORMAT): Remove.
1456         * real.c (encode_c4x_single, decode_c4x_single,
1457         encode_c4x_extended, decode_c4x_extended, c4x_single_format,
1458         c4x_extended_format): Remove.
1459         * real.h (c4x_single_format, c4x_extended_format): Remove.
1460         * doc/extend.texi (interrupt, naked): Remove mention of attributes
1461         on C4x.
1462         (Pragmas): Remove comment about c4x pragmas.
1463         * doc/install.texi (c4x): Remove target-specific instructions.
1464         * doc/invoke.texi (TMS320C3x/C4x Options): Remove.
1465         * doc/md.texi (Machine Constraints): Remove C4x documentation.
1466         * doc/tm.texi (MEMBER_TYPE_FORCES_BLK, c_register_pragma): Do not
1467         refer to C4x source files as examples.
1468         (C4X_FLOAT_FORMAT): Remove documentation.
1469
1470 2008-01-25  Bernd Schmidt  <bernd.schmidt@analog.com>
1471
1472         * config/bfin/bfin.c (override_options): Reorder tests so that
1473         flag_pic gets enabled for -msep-data.
1474
1475 2008-01-25  Richard Guenther  <rguenther@suse.de>
1476
1477         PR middle-end/32244
1478         * expr.c (expand_expr_real_1): Reduce result of LSHIFT_EXPR
1479         to its bitfield precision if required.
1480
1481 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
1482
1483         PR middle-end/33880
1484         * tree-nested.c (walk_omp_for): New function.
1485         (convert_nonlocal_reference, convert_local_reference): Call
1486         walk_omp_for on OMP_FOR.
1487         (convert_call_expr): Call walk_body on OMP_FOR's
1488         OMP_FOR_PRE_INIT_BODY.
1489
1490 2008-01-25  Richard Guenther  <rguenther@suse.de>
1491
1492         PR tree-optimization/34966
1493         * tree-ssa-math-opts.c (execute_cse_sincos_1): For all but
1494         default defs and PHI_NODEs we have to insert after the
1495         defining statement.
1496
1497 2008-01-24  Nick Clifton  <nickc@redhat.com>
1498
1499         * config/stormy16/stormy16-lib2.c (MIN_UNITS_PER_WORD):
1500         Provide a default definition.
1501         (LIBGCC2_UNITS_PER_WORD): Likewise.
1502
1503         * config/stormy16/stormy16.c: Include df.h for the prototype
1504         for df_regs_ever_live_p.
1505         (xstormy16_expand_builtin_va_start): Convert the stack offset
1506         into a component_ref and then use POINTER_PLUS_EXPR to add it
1507         to the incoming_virtual_args_rtx.
1508         (xstormy16_gimplify_va_arg_expr): Rename to
1509         xstormy16_gimplify_va_arg_expr.
1510         Use POINTER_PLUS_EXPR when performing pointer arithmetic.
1511         (TARGET_GIMPLIFY_VA_ARG_EXPR): Use renamed
1512         xstormy16_gimplify_va_arg_expr.
1513         Fix up some formatting issues.
1514
1515         * config/stormy16/stormy16.c: (xstormy16_carry_plus_operand):
1516         Move to predicates.md.
1517         (xs_hi_general_operand): Likewise.
1518         (xs_hi_nonmemory_operand): Likewise.
1519         * config/stormy16/predicates.md:
1520         (xstormy16_carry_plus_operand): New predicate.
1521         (xs_hi_general_operand): New predicate.
1522         (xs_hi_nonmemory_operand): New predicate.
1523         * config/stormy16/stormy16-protos.h:
1524         (xstormy16_carry_plus_operand): Delete prototype.
1525         (xs_hi_general_operand): Likewise.
1526         (xs_hi_nonmemory_operand): Likewise.
1527
1528         * config/storm16/stormy16.md (addhi3): Remove earlyclobber
1529         modifiers as they are no longer needed and they can trigger
1530         reload spill failures.
1531
1532         * config/storm16/stormy16.md (ineqbranchsi): Replace match_dup
1533         with a match_operand in order to help reload.
1534
1535         * config/storm16/stormy16.md (movhi_internal): Replace 'r'
1536         constraint with 'e' for the 8th alternative as this version of
1537         the mov.w instruction only accepts the lower 8 registers.
1538
1539 2008-01-25  Uros Bizjak  <ubizjak@gmail.com>
1540
1541         PR target/34856
1542         * simplifx-rtx.c (simplify_const_binary_operation) [VEC_CONCAT]:
1543         Consider only CONST_INT, CONST_DOUBLE and CONST_FIXED as constant
1544         vector elements.
1545
1546 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
1547
1548         PR middle-end/33333
1549         * gimplify.c (gimplify_omp_for): Gimplify OMP_FOR_PRE_BODY.
1550
1551 2008-01-25  Golovanevsky Olga  <olga@il.ibm.com>
1552
1553         * ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs):
1554         New functions.
1555         (remove_structure): Update allocations list before removing structure.
1556         
1557 2008-01-25  Golovanevsky Olga  <olga@il.ibm.com>
1558
1559         * ipa-struct-reorg.c (is_safe_cond_expr, 
1560         create_new_stmts_for_cond_expr): Use integer_zerop function,
1561         that recognize not only zero-pointer, but zero-integer too.
1562
1563 2008-01-25  Ben Elliston  <bje@au.ibm.com>
1564
1565         PR other/22232
1566         * fixproto: Escape "." in sed expression that strips leading "./".
1567
1568 2008-01-24  H.J. Lu  <hongjiu.lu@intel.com>
1569
1570         PR driver/34904
1571         * gcc.c (SWITCH_OK): Removed.
1572         (SWITCH_LIVE): Changed to bit.
1573         (SWITCH_FALSE): Likewise.
1574         (SWITCH_IGNORE): Likewise.
1575         (switchstr): Change live_cond to unsigned int.
1576         (process_command): Replace SWITCH_OK with 0.
1577         (do_self_spec): Likewise.
1578         (set_collect_gcc_options): Check the SWITCH_IGNORE bit.
1579         (give_switch): Likewise.
1580         (used_arg): Likewise.
1581         (do_spec_1): Set the SWITCH_IGNORE bit.
1582         (check_live_switch): Check both SWITCH_LIVE and SWITCH_FALSE
1583         bits.  Set the SWITCH_LIVE bit.
1584
1585 2008-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>
1586
1587         * config/s390/s390.h (MOVE_RATIO): Define new target macro.
1588
1589 2008-01-24  Richard Sandiford  <rsandifo@nildram.co.uk>
1590
1591         PR tree-optimization/34472
1592         * ipa-struct-reorg.c (safe_cond_expr_check): Change the DATA
1593         parameter to a "bool *" and set *DATA to false if there is
1594         an unsafe access.  Do not delete the structure here.
1595         (check_cond_exprs): Delete it here instead.
1596         (check_cond_exprs, exclude_cold_structs): Do not increase
1597         I when removing a structure.
1598
1599 2008-01-24  Uros Bizjak  <ubizjak@gmail.com>
1600
1601         PR target/34856
1602         * config/i386/i386.c (ix86_expand_vector_init): Consider only
1603         CONST_INT, CONST_DOUBLE and CONST_FIXED as constant vector elements.
1604
1605 2008-01-24  Jakub Jakub Jelinek  <jakub@redhat.com>
1606
1607         PR middle-end/34934
1608         * tree-stdarg.c (reachable_at_most_once): Use VEC vector instead of
1609         a fixed vector for stack.
1610
1611 2008-01-24  Ben Elliston  <bje@au.ibm.com>
1612
1613         PR c++/25701
1614         * doc/gcc.texi (Software development): Add a direntry for g++.
1615         
1616 2008-01-23  Hans-Peter Nilsson  <hp@axis.com>
1617
1618         * config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop
1619         stale and straggling -fforce-addr comments above.
1620
1621         * config/cris/cris.h (CRIS_SUBTARGET_VERSION, TARGET_VERSION): Don't
1622         define.
1623         * config/cris/linux.h (CRIS_SUBTARGET_VERSION): Don't define.
1624         * config/cris/aout.h (CRIS_SUBTARGET_VERSION): Don't define.
1625
1626 2008-01-23  Michael Matz  <matz@suse.de>
1627
1628         PR debug/34895
1629         * dwarf2out.c (force_type_die): Use modified_type_die instead of
1630         gen_type_die.
1631
1632 2008-01-23  Andreas Krebbel  <krebbel1@de.ibm.com>
1633
1634         * ipa-struct-reorg.c (create_new_malloc): Use pointer type as
1635         malloc result type.
1636
1637 2008-01-23 Anatoly Sokolov <aesok@post.ru>
1638
1639         * config/avr/avr.c (avr_current_arch): New variable.
1640         (avr_arch_types): Add 'avr31' and 'avr51' entries.
1641         (avr_arch): Add 'ARCH_AVR31' and 'ARCH_AVR51'.
1642         (avr_mcu_types): Add 'avr31' and 'avr51' architectures.
1643         (avr_override_options): Init 'avr_current_arch'. 
1644         (base_arch_s): Move from here...
1645         * config/avr/avr.h (base_arch_s): ... here. Add new members 
1646         'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename 
1647         'mega' to 'have_jmp_call'.
1648         (TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__", 
1649         "__AVR_HAVE_RAMPZ__",   "__AVR_HAVE_ELPM__" and  "__AVR_HAVE_ELPMX__"
1650         macros.
1651         (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51' 
1652         architectures.
1653         * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, 
1654         MULTILIB_MATCHES): (Ditto.).
1655
1656 2008-01-23  Richard Guenther  <rguenther@suse.de>
1657
1658         PR middle-end/31529
1659         * cgraphunit.c (cgraph_reset_node): Always mark the node
1660         not reachable if it is not queued already.
1661
1662 2008-01-23  Bernd Schmidt  <bernd.schmidt@analog.com>
1663
1664         * config/bfin/bfin-protos.h (WA_RETS, ENABLE_WA_RETS): New macros.
1665         * config/bfin/bfin.c (bfin_cpus): Add WA_RETS everywhere.
1666         (cputype_selected): New static variable.
1667         (bfin_handle_option): Set it if -mcpu is used.
1668         (override_option): Select default set of workarounds if no cpu type
1669         selected on the command line.
1670         (workaround_rts_anomaly): Only run if ENABLE_WA_RETS.
1671
1672         From  Michael Frysinger  <michael.frysinger@analog.com>
1673         * config/bfin/bfin-protos.h (enum bfin_cpu_type): Add
1674         BFIN_CPU_BF547, BFIN_CPU_BF523, BFIN_CPU_BF524, and BFIN_CPU_BF526.
1675
1676         * config/bfin/elf.h (LIB_SPEC): Use proper linker script
1677         for bf547, bf523, bf524, and bf526.
1678         * config/bfin/bfin.c (bfin_cpus[]): Add bf547,  bf523, bf524, and
1679         bf526.
1680         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
1681         __ADSPBF523__ for bf523, __ADSPBF524__ for bf524,
1682         __ADSPBF526__ for bf526, __ADSPBF52x__ for all three, as well as
1683         __ADSPBF547__ and __ADSPBF54x__ for bf547.
1684         * doc/invoke.texi (Blackfin Options): Document that
1685         -mcpu now accept bf547, bf523, bf524, and bf526.
1686
1687 2008-01-22  Eric Botcazou  <ebotcazou@adacore.com>
1688
1689         PR rtl-optimization/34628
1690         * combine.c (try_combine): Stop and undo after the first combination
1691         if an autoincrement side-effect on the first insn has effectively
1692         been lost.
1693
1694 2008-01-22  David Edelsohn  <edelsohn@gnu.org>
1695
1696         PR target/34529
1697         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
1698         Offset addresses are not valid for Altivec or paired float modes.
1699
1700 2008-01-22  Jakub Jelinek  <jakub@redhat.com>
1701
1702         PR c++/34607
1703         * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for
1704         if DECL_INITIAL (decl) is error_mark_node.
1705
1706         PR c++/34914
1707         * c-common.c (handle_vector_size_attribute): Only allow
1708         integral, scalar float and fixed point types.  Handle OFFSET_TYPE
1709         the same way as pointer, array etc. types.
1710         * tree.c (reconstruct_complex_type): Handle OFFSET_TYPE.
1711
1712         PR c++/34917
1713         * tree.c (build_type_attribute_qual_variant): Call
1714         build_qualified_type if attributes are equal, but quals are not.
1715
1716 2008-01-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1717
1718         PR 32102
1719         * doc/invoke.texi (-Wall): -Wall enables -Wstrict-overflow=1.
1720         * flags.h (warn_strict_aliasing): Remove.
1721         (warn_strict_overflow): Remove.
1722         * opts.c (warn_strict_aliasing): Remove.
1723         (warn_strict_overflow): Remove.
1724         * c-opts.c (c_common_handle_option): -Wall only sets
1725         -Wstrict-aliasing or -Wstrict-overflow if they are uninitialized.
1726         (c_common_post_options): Give default values to -Wstrict-aliasing
1727         and -Wstrict-overflow if they are uninitialized.
1728         * common.opt (Wstrict-aliasing): Specify Var and Init.
1729         (Wstrict-overflow): Likewise.
1730
1731 2008-01-22  Kenneth Zadeck <zadeck@naturalbridge.com>
1732
1733         PR rtl-optimization/26854
1734         PR rtl-optimization/34400
1735         PR rtl-optimization/34884
1736         * ddg.c (create_ddg_dep_from_intra_loop_link): Use
1737         DF_RD->gen.
1738         * df.h (df_changeable_flags.DF_RD_NO_TRIM): Deleted
1739         (df_rd_bb_info.expanded_lr_out): Deleted
1740         * loop_invariant.c (find_defs): Deleted DF_RD_NO_TRIM flag.
1741         * loop_iv.c (iv_analysis_loop_init): Ditto.  * df-problems.c
1742         (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
1743         df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
1744         Removed code to allocate, initialize or free expanded_lr_out.
1745         (df_rd_bb_local_compute_process_def): Restructured to make more
1746         understandable.
1747         (df_rd_confluence_n): Removed code to no apply invalidate_by_call
1748         sets if the sets are being trimmed.
1749
1750 2008-01-22  H.J. Lu  <hongjiu.lu@intel.com>
1751
1752         PR bootstrap/32287
1753         * configure.ac (ld_vers): Support GNU linker version xx.xx.*
1754         (as_vers): Likewise.
1755         * configure: Regenerated.
1756
1757 2008-01-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1758
1759         PR middle-end/33092
1760         * tree-pass.h (pass_build_alias): New pass.
1761         * tree-ssa-alias.c (gate_build_alias): New.
1762         (pass_build_alias): New.
1763         * passes.c (init_optimization_passes): Add pass_build_alias after
1764         pass_create_structure_vars.
1765
1766 2008-01-22  Wolfgang Gellerich  <gellerich@de.ibm.com>
1767
1768         * config/s390/s390.h (S390_TDC_POSITIVE_NORMALIZED_NUMBER):
1769         Renamed to S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER.
1770         (S390_TDC_NEGATIVE_NORMALIZED_NUMBER): Renamed to
1771         S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER.
1772         (S390_TDC_POSITIVE_DENORMALIZED_NUMBER): Renamed to
1773         S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER.
1774         (S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): Renamed to
1775         S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER.
1776         (S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER): New constant.
1777         (S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER): New constant.
1778         (S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER): New constant.
1779         (S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER): New constant.
1780         * config/s390/s390.md (FP_ALL): New mode iterator.
1781         (_d): New mode attribute.
1782         ("*signbit<mode>2>"): Changed mode of first operand.
1783         ("isinf<mode>2"): Changed mode of first operand.
1784         ("*TDC_insn"): Adaptation for DFP modes.
1785
1786 2008-01-22  Ben Elliston  <bje@au.ibm.com>
1787
1788         * tree.c (check_qualified_type): Improve function description.
1789
1790 2008-01-21  Jason Merrill  <jason@redhat.com>
1791
1792         PR c++/34196
1793         * tree.h (TRY_CATCH_IS_CLEANUP): New macro.
1794         * tree-eh.c (honor_protect_cleanup_actions): Strip TRY_CATCH_EXPR
1795         if it is set.
1796
1797 2008-01-21  DJ Delorie  <dj@redhat.com>
1798
1799         * doc/tm.texi (HARD_REGNO_NREGS): Note that this macro must not
1800         return zero.
1801
1802 2008-01-21  Richard Guenther  <rguenther@suse.de>
1803
1804         PR middle-end/34856
1805         * tree-cfg.c (verify_expr): Allow all invariant expressions
1806         instead of just constant class ones as reference argument.
1807         * tree-ssa-loop-im.c (for_each_index): Handle CONSTRUCTOR
1808         like any other constant.
1809         * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
1810
1811 2008-01-21  H.J. Lu  <hongjiu.lu@intel.com>
1812
1813         * regmove.c (fixup_match_1): Update call crossed frequencies.
1814
1815 2008-01-21  Richard Guenther  <rguenther@suse.de>
1816
1817         PR c/34885
1818         * tree-inline.c (setup_one_parameter): Deal with mismatched
1819         types using a VIEW_CONVERT_EXPR.
1820
1821 2008-01-21  Alon Dayan  <alond@il.ibm.com>
1822             Olga Golovanevsky  <olga@il.ibm.com>
1823         
1824         PR tree-optimization/34701
1825         * ipa-struct-reorg.c (gen_size): Fix the malloc parameter calculation
1826         when the structure size is not a power of 2.
1827
1828 2008-01-20  Kenneth Zadeck <zadeck@naturalbridge.com>
1829
1830         * doc/install.texi: Add doc for --enable-checking=df.
1831         
1832 2008-01-20  Kaz Kojima  <kkojima@gcc.gnu.org>
1833
1834         PR rtl-optimization/34808
1835         * emit-rtl.c (try_split): Handle REG_RETVAL notes.
1836
1837 2008-01-20  Richard Sandiford  <rsandifo@nildram.co.uk>
1838
1839         * global.c (find_reg): Only compute EH_RETURN_DATA_REGNO once per
1840         input.
1841
1842 2008-01-19  Kenneth Zadeck <zadeck@naturalbridge.com>
1843
1844         PR rtl-optimization/26854
1845         PR rtl-optimization/34400
1846         * ddg.c (create_ddg_dep_from_intra_loop_link): Do not use
1847         DF_RD->gen.
1848         * df.h (df_changeable_flags.DF_RD_NO_TRIM): New.
1849         (df_rd_bb_info.expanded_lr_out): New.
1850         * loop_invariant.c (find_defs): Added DF_RD_NO_TRIM flag.
1851         * loop_iv.c (iv_analysis_loop_init): Ditto.
1852         * df-problems.c (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
1853         df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
1854         Added code to allocate, initialize or free expanded_lr_out.
1855         (df_rd_bb_local_compute_process_def): Restructured to make
1856         more understandable.
1857         (df_rd_confluence_n): Add code to do nothing with fake edges and
1858         code to no apply invalidate_by_call sets if the sets are being trimmed.
1859         (df_lr_local_finalize): Renamed to df_lr_finalize.
1860         (df_live_local_finalize): Renamed to df_live_finalize.
1861
1862 2008-01-20  Richard Sandiford  <rsandifo@nildram.co.uk>
1863
1864         PR target/34831
1865         * config/mips/mips.md (div<mode>3): Use <recip_condition> when
1866         deciding whether to use reciprocal instructions.
1867
1868 2008-01-19  Uros Bizjak  <ubizjak@gmail.com>
1869
1870         * dwarf2out.c (dwarf2out_switch_text_section): Do not call
1871         dwarf2out_note_section_used if cold_text_section is NULL.
1872
1873 2008-01-19  Jakub Jelinek  <jakub@redhat.com>
1874
1875         PR gcov-profile/34610
1876         * tree-cfg.c (make_edges): Mark both outgoing edges from
1877         OMP_CONTINUE and from OMP_FOR as EDGE_ABNORMAL.
1878         * omp-low.c (expand_omp_for): Clear EDGE_ABNORMAL bits
1879         from OMP_FOR and OMP_CONTINUE outgoing edges.
1880
1881         * tree-profile.c (tree_profiling): Return early if
1882         cfun->after_tree_profile != 0.  Set cfun->after_tree_profile
1883         at the end.
1884         * omp-low.c (expand_omp_parallel): Copy after_tree_profile
1885         from cfun to child_cfun.
1886         * function.h (struct function): Add after_tree_profile bit.
1887
1888 2008-01-19 Anatoly Sokolov <aesok@post.ru>
1889
1890         * config/avr/avr.S (_exit): Disable interrupt.
1891
1892 2008-01-18  Kenneth Zadeck  <zadeck@naturalbridge.com>
1893             Steven Bosscher  <stevenb.gcc@gmail.com>
1894
1895         PR rtl-optimization/26854
1896         PR rtl-optimization/34400
1897         * df-problems.c (df_live_scratch): New scratch bitmap.
1898         (df_live_alloc): Allocate df_live_scratch when doing df_live.
1899         (df_live_reset): Clear the proper bitmaps.
1900         (df_live_bb_local_compute): Only process the artificial defs once
1901         since the order is not important.
1902         (df_live_init): Init the df_live sets only with the variables
1903         found live by df_lr.
1904         (df_live_transfer_function): Use the df_lr sets to prune the
1905         df_live sets as they are being computed.  
1906         (df_live_free): Free df_live_scratch.
1907
1908 2008-01-18  Ian Lance Taylor  <iant@google.com>
1909
1910         * common.opt: Add fmerge-debug-strings.
1911         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test
1912         flag_merge_debug_strings rather than flag_merge_constants.
1913         * doc/invoke.texi (Option Summary): Mention
1914         -fmerge-debug-strings.
1915         (Debugging Options): Document -fmerge-debug-strings.
1916
1917 2008-01-18  Ian Lance Taylor  <iant@google.com>
1918
1919         PR c++/33407
1920         * tree.h (DECL_IS_OPERATOR_NEW): Define.
1921         (struct tree_function_decl): Add new field operator_new_flag.
1922         * tree-inline.c (expand_call_inline): When inlining a call to
1923         operator new, force the return value to go into a variable, and
1924         set DECL_NO_TBAA_P on that variable.
1925         * c-decl.c (merge_decls): Merge DECL_IS_OPERATOR_NEW flag.
1926
1927 2008-01-18  Uros Bizjak  <ubizjak@gmail.com>
1928
1929         PR debug/34484
1930         * dwarf2out.c (dwarf2out_switch_text_section): Do not guard with
1931         DWARF2_DEBUGGING_INFO.
1932         (dwarf2out_note_section_used): Ditto.  Add prototype.
1933         (have_multiple_function_sections, text_section_used,
1934         cold_text_section_used, *cold_text_sections): Move declarations
1935         before their uses.
1936
1937 2008-01-17  Bob Wilson  <bob.wilson@acm.org>
1938
1939         * config/xtensa/unwind-dw2-xtensa.h (_Unwind_FrameState): Remove pc
1940         field and add signal_ra.
1941         * config/xtensa/unwind-dw2-xtensa.c (uw_frame_state_for): Remove
1942         assignments to frame state pc.  Move end of stack check after
1943         MD_FALLBACK_FRAME_STATE_FOR.
1944         (uw_update_context_1): Use frame state signal_regs if set, instead
1945         of checking signal_frame flag.
1946         (uw_update_context): Use frame state signal_ra if set.
1947         * config/xtensa/linux.h (MD_UNWIND_SUPPORT): Define.
1948         * config/xtensa/linux-unwind.h: New file.
1949
1950 2008-01-18  Bernhard Fischer  <aldot@gcc.gnu.org>
1951
1952         * modulo-sched.c (get_sched_window): Fix comment typo.
1953
1954 2008-01-17  Andrew MacLeod  <amacleod@redhat.com>
1955
1956         PR tree-optimization/34648
1957         * tree-ssa-sccvn.c (visit_use): Expressions which can throw are varying.
1958
1959 2008-01-17  Anatoly Sokolov <aesok@post.ru>
1960
1961         * config/avr/avr.h (LINK_SPEC): Support -mrelax and -mpmem-wrap-around.
1962         * config/avr/avr.opt (mrelax, mpmem-wrap-around): Add.
1963
1964 2008-01-17  Seongbae Park  <seongbae.park@gmail.com>
1965
1966         PR rtl-optimization/34400
1967         * df-core.c (df_worklist_dataflow_overeager,
1968         df_worklist_dataflow_doublequeue): New functions.
1969         (df_worklist_dataflow): Two different worklist solvers.
1970         * params.def (PARAM_DF_DOUBLE_QUEUE_THRESHOLD_FACTOR):
1971         New param.
1972
1973 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
1974
1975         PR testsuite/34821
1976         * doc/invoke.texi: Document the dependence on pthread for fopenmp
1977         and ftree-parallelize-loops.
1978
1979 2008-01-17  Mircea Namolaru  <namolaru@il.ibm.com>
1980
1981         PR rtl-optimization/34826
1982         * loop-doloop (doloop_modify): Update the REG_BR_PROB note.
1983
1984 2008-01-17  Andreas Krebbel  <krebbel1@de.ibm.com>
1985
1986         * global.c (find_reg): Mark the eh regs as used if necessary.
1987         * ra-conflict.c (global_conflicts): Set no_eh_reg flag.
1988         * ra.h (struct allocno): no_eh_reg field added.  Changed
1989         no_stack_reg type to bitfield.
1990
1991 2008-01-17  Eric Botcazou  <ebotcazou@adacore.com>
1992
1993         * tree.c (substitute_in_expr): Add missing 'break'.
1994
1995 2008-01-17  Richard Guenther  <rguenther@suse.de>
1996
1997         PR tree-optimization/34825
1998         * tree-ssa-math-opts.c (is_division_by): Do not recognize
1999         x / x as division to handle.
2000
2001 2008-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2002
2003         * pa64-hpux.h (LIB_SPEC): Add "-lpthread" in shared links if "-mt" or
2004         "-pthread" is specified.
2005         * pa-hpux11.h (LIB_SPEC): Likewise.
2006
2007 2008-01-16  Janis Johnson  <janis187@us.ibm.com>
2008             Peter Bergner  <bergner@vnet.ibm.com>
2009
2010         PR rtl-optimization/33796
2011         * sparseset.c (sparseset_alloc): Use xcalloc rather than xmalloc.
2012
2013 2008-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2014
2015         PR libgfortran/34699
2016         * pa-hpux.h (LINK_SPEC): Only search /lib/pa1.1 and /usr/lib/pa1.1 on
2017         static links.
2018         * pa-hpux10.h (LINK_SPEC): Likewise.
2019         * pa-hpux11.h (LINK_SPEC): Don't search /lib/pa1.1 and /usr/lib/pa1.1.
2020
2021 2008-01-16  Richard Guenther  <rguenther@suse.de>
2022
2023         PR middle-end/32628
2024         * fold-const.c (fold_convert_const_int_from_int): Do not
2025         set overflow if that occured only because of a sign extension
2026         change when converting from/to a sizetype with the same
2027         precision and signedness.
2028
2029 2008-01-16  Uros Bizjak  <ubizjak@gmail.com>
2030
2031         PR debug/34249
2032         * dwarf2out.c (output_call_frame_info): Move output of FDE initial
2033         location address to the correct place.  Update copyright year.
2034
2035 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
2036
2037         * lambda-code.c (lambda_transform_legal_p): Handle the case of
2038         no dependences in the dependence_relations vector.
2039
2040 2008-01-16  Jan Hubicka  <jh@suse.cz>
2041
2042         PR rtl-optimization/31396
2043         * regstat.c (regstat_bb_compute_ri): Compute FREQ_CALLS_CROSSED.
2044         * cfg.c (dump_reg_info): Print it.
2045         * regs.h (struct reg_info_t): add freq_calls_crossed.
2046         (REG_FREQ_CALLS_CROSSED): New macro.
2047         * global.c (global_alloc): Compute freq_calls_crossed for allocno.
2048         (find_reg): Update call of CALLER_SAVE_PROFITABLE.
2049         * regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2,
2050         regmove_optimize): Update call crossed frequencies.
2051         * local-alloc.c (struct qty): Add freq_calls_crossed.
2052         (alloc_qty): Copute freq_calls_crossed.
2053         (update_equiv_regs, combine_regs): Update REG_FREQ_CALLS_CROSSED.
2054         (find_free_reg): Update call of CALLER_SAVE_PROFITABLE.
2055         * ra.h (struct allocno): Add freq_calls_crossed.
2056
2057 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
2058
2059         * gcc.c (LINK_COMMAND_SPEC): Add includes and link options for
2060         libgomp when compiling with ftree-parallelize-loops.
2061         (GOMP_SELF_SPECS): Add -pthread for ftree-parallelize-loops.
2062
2063 2008-01-16  Richard Guenther  <rguenther@suse.de>
2064
2065         PR tree-optimization/34769
2066         * tree-data-ref.c (initialize_matrix_A): Revert fix for PR34458.
2067         * tree.c (int_cst_value): Instead make this function more
2068         permissive in what it accepts as valid input.  Document this
2069         function always sign-extends the value.
2070
2071 2008-01-16  Jakub Jelinek  <jakub@redhat.com>
2072             Richard Guenther  <rguenther@suse.de>
2073
2074         PR c/34668
2075         * gimplify.c (fold_indirect_ref_rhs): Rename to ...
2076         (gimple_fold_indirect_ref_rhs): ... this.
2077         (gimple_fold_indirect_ref): New function with foldings
2078         that preserve lvalueness.
2079         (gimplify_modify_expr_rhs): Call gimple_fold_indirect_ref_rhs.
2080         * tree-flow.h (gimple_fold_indirect_ref): Declare.
2081         * tree-inline.c (copy_body_r): Use gimple_fold_indirect_ref
2082         to fold an INDIRECT_REF, fall back to the old use of
2083         fold_indirect_ref_1.
2084
2085 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
2086
2087         * tree-data-ref.c (subscript_dependence_tester_1): Call 
2088         free_conflict_function.
2089         (compute_self_dependence): Same.
2090
2091 2008-01-16  Uros Bizjak  <ubizjak@gmail.com>
2092
2093         PR debug/34249
2094         * debug.h (dwarf2out_switch_text_section): Move declaration from ...
2095         * dwarf2out.c (dwarf2out_switch_text_section): ... here.  Make
2096         function global.
2097         * final.c (final_scan_insn) [NOTE_INSN_SWITCH_TEXT_SECTIONS]:
2098         Depending on dwarf2out_do_frame, call dwarf2out_switch_text_section
2099         for DWARF2_UNWIND_INFO targets.
2100
2101 2008-01-16  Richard Guenther  <rguenther@suse.de>
2102
2103         PR c/34768
2104         * c-typeck.c (common_pointer_type): Do not merge inconsistent
2105         type qualifiers for function types.
2106
2107 2008-01-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2108
2109         * tree-parloops.c (gen_parallel_loop): Fix ommision of declaration for
2110         loop_iterator li from previous commit.
2111
2112 2008-01-15  Sebastian Pop  <sebastian.pop@amd.com>
2113
2114         * tree-parloops.c (gen_parallel_loop): Free loop bound estimations.
2115
2116 2008-01-12  Sebastian Pop  <sebastian.pop@amd.com>
2117
2118         * tree-parloops.c (loop_has_blocks_with_irreducible_flag): New.
2119         (parallelize_loops): Don't parallelize irreducible components.
2120
2121 2008-01-14  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2122
2123         PR c++/24924
2124         * c-opts (c_common_post_options): Do not enable CPP
2125         flag_pedantic_errors by default.
2126         
2127 2008-01-14  Eric Botcazou  <ebotcazou@adacore.com>
2128
2129         PR rtl-optimization/31944
2130         * cse.c (remove_pseudo_from_table): New function.
2131         (merge_equiv_classes): Use above function to remove pseudo-registers.
2132         (invalidate): Likewise.
2133
2134 2008-01-13  Richard Guenther  <rguenther@suse.de>
2135
2136         PR middle-end/34601
2137         * emit-rtl.c (set_reg_attrs_for_decl_rtl): Use DECL_MODE
2138         instead of TYPE_MODE to deal with calls from expand_one_error_var.
2139
2140 2008-01-13  Uros Bizjak  <ubizjak@gmail.com>
2141
2142         * gcse.c (cprop_jump): Call validate_unshare_change instead of
2143         validate_change to unshare the source of the PC set.
2144
2145 2008-01-12  Jan Hubicka  <jh@suse.cz>
2146
2147         PR middle-end/32135
2148         * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Do not construct
2149         references above array bounds.  This might trigger bounds checks for
2150         pointers to arrays.
2151
2152 2008-01-12  Sebastian Pop  <sebastian.pop@amd.com>
2153
2154         * tree-ssa-ter.c (free_temp_expr_table): Free num_in_part and
2155         new_replaceable_dependencies.
2156
2157 2008-01-12  Doug Kwan  <dougkwan@google.com>
2158
2159         * c-decl.c: (grokdeclarator): Use OPT_Wignored_qualifiers
2160         instead of OPT_Wreturn_type in warning due to ignored return type
2161         qualifiers.
2162         * c-opt.c (c_common_post_option): Add -Wignored-qualifiers to
2163         options included in -Wextra.
2164         * c.opt: New option -Wignored_qualifiers.
2165         * doc/invoke.texi (Warning Options, -Wextra): Add new option
2166         -Wignore_qualifiers.
2167         (-Wignored-qualifiers): Document.
2168         (-Wreturn-type): Remove description of functionality now handled
2169         by -Wignored-qualifiers.
2170
2171 2008-01-12  Eric Botcazou  <ebotcazou@adacore.com>
2172
2173         PR ada/33788
2174         * fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Fold an existing
2175         NOP_EXPR if it is between integral types with the same precision.
2176
2177 2008-01-12  Jan Hubicka  <jh@suse.cz>
2178
2179         PR other/28023
2180         * invoke.texi (max-inline-recursive-depth): Fix default value.
2181
2182 2008-01-12  Zdenek Dvorak  <ook@ucw.cz>
2183
2184         * tree-parloops.c (transform_to_exit_first_loop): Cast nit to the
2185         correct type.
2186
2187 2008-01-11  Bob Wilson  <bob.wilson@acm.org>
2188         
2189         * config/xtensa/xtensa.c (override_options): Set flag_shlib.
2190         
2191 2008-01-11  James E. Wilson  <wilson@specifix.com>
2192
2193         PR target/26015
2194         * config/vax/elf.h (FRAME_POINTER_CFA_OFFSET): Define.
2195
2196 2008-01-11  Anatoly Sokolov <aesok@post.ru>
2197
2198         * config/avr/avr.c (expand_prologue, expand_epilogue): Don't 
2199         save/restore frame pointer register and don't use 'call-prologues' 
2200         optimization in function with "OS_task" attribute.
2201
2202 2008-01-11  Eric Botcazou  <ebotcazou@adacore.com>
2203
2204         PR middle-end/31309
2205         * expr.c (copy_blkmode_from_reg): Use a mode suited to the size
2206         when copying to memory.
2207
2208 2008-01-11  Steven Bosscher  <stevenb.gcc@gmail.com>
2209
2210         PR rtl-optimization/30905
2211         * cfgcleanup.c: Include dce.h
2212         (crossjumps_occured): New global variable.
2213         (try_crossjump_bb): Exit loop after finding a fallthru edge.
2214         If something changed, set crossjumps_occured to true.
2215         (try_optimize_cfg): Clear crossjumps_occured at the beginning.
2216         Don't add/remove fake edges to exit here...
2217         (cleanup_cfg): ...but do it here, when crossjumping.
2218         Run a fast DCE when successful crossjumps occured in the latest
2219         iteration of try_optimize_cfg.
2220
2221 2008-01-11  Richard Guenther  <rguenther@suse.de>
2222
2223         * tree-ssa-sccvn.c (struct vn_binary_op_s): Move hashcode near opcode.
2224         (struct vn_unary_op_s): Likewise.
2225         (vn_reference_insert): Free old reference on hash collision.
2226
2227 2008-01-10  Raksit Ashok  <raksit@google.com>
2228
2229         PR rtl-optimization/27971
2230         * combine.c (find_split_point): Split PLUS expressions which are
2231         inside a MEM rtx, and whose first operand is complex.
2232
2233 2008-01-10  DJ Delorie  <dj@redhat.com>
2234
2235         * config/m32c/m32c.c (m32c_hard_regno_nregs_1): Renamed from...
2236         (m32c_hard_regno_nregs): ...this, which is now a wrapper.
2237         (m32c_hard_regno_ok): Call the underlying function.
2238
2239 2008-01-10  Richard Guenther  <rguenther@suse.de>
2240
2241         PR middle-end/34683
2242         * tree-cfg.c (tree_merge_blocks): Do not go through the
2243         full-blown folding and stmt updating path if we just deal
2244         with virtual operands.
2245         * tree-ssa-copy.c (may_propagate_copy): Do not short-cut
2246         test for abnormal SSA_NAMEs.
2247
2248 2008-01-10  Andreas Krebbel  <krebbel1@de.ibm.com>
2249
2250         PR middle-end/34641
2251         * reload.c (push_reload): Add assertions.  All constants from
2252         reg_equiv_constant should have been used for replacing the respective
2253         pseudo earlier.
2254         (find_reloads_address): Invoke find_reloads_address_part for
2255         constant taken from the reg_equiv_constant array.
2256
2257 2008-01-10  Steven Bosscher  <stevenb.gcc@gmail.com>
2258
2259         * tree-ssa-sccvn.h (struct vn_ssa_aux): Make the most accessed
2260         field (valnum) the first in the struct.  Replace bools with
2261         unit bit fields.
2262
2263 2008-01-10  Richard Guenther  <rguenther@suse.de>
2264
2265         PR tree-optimization/34651
2266         * tree-sra.c (sra_build_assignment): Sanitize.  Use the correct
2267         types and ordering for masking and converting.
2268
2269 2008-01-09  Sebastian Pop  <sebastian.pop@amd.com>
2270
2271         PR tree-optimization/34017
2272         * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Generate code
2273         also for PHI_NODE expressions.
2274
2275 2008-01-09  Jan Hubicka  <jh@suse.cz>
2276
2277         PR tree-optimization/34708
2278         * tree-inline.c (estimate_num_insns_1): Compute cost of SWITCH_EXPR
2279         based on number of case labels.
2280         (init_inline_once): Remove switch_cost.
2281         * tree-inline.h (eni_weights_d): Remove switch_cost.
2282
2283 2008-01-09  Richard Guenther  <rguenther@suse.de>
2284         Andrew Pinski  <andrew_pinski@playstation.sony.com>
2285
2286         PR middle-end/30132
2287         * gimplify.c (gimplify_cond_expr): Do not create an addressable
2288         temporary if an rvalue is ok or an lvalue is not required.
2289
2290 2008-01-09  Richard Guenther  <rguenther@suse.de>
2291
2292         PR middle-end/34458
2293         * tree-data-ref.c (initialize_matrix_A): Use tree_low_cst,
2294         adjust return type.
2295
2296 2008-01-09  Richard Guenther  <rguenther@suse.de>
2297
2298         PR middle-end/34679
2299         * tree.c (host_integerp): Check for sizetype only if the
2300         type is an integer type.
2301
2302 2008-01-09  Steven Bosscher  <stevenb.gcc@gmail.com>
2303
2304         PR debug/26364
2305         * opts.c (decode_options): Disable inlining of functions called
2306         once if not in unit-at-a-time mode.
2307
2308 2008-01-09  Alexandre Oliva  <aoliva@redhat.com>
2309
2310         * Makefile.in (dse.o): Remove duplicate $(RECOG_H) dependency.
2311
2312 2008-01-08  Richard Guenther  <rguenther@suse.de>
2313
2314         PR middle-end/31863
2315         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Bail
2316         out early if the result will be unused.
2317
2318 2008-01-08  Uros Bizjak  <ubizjak@gmail.com>
2319
2320         PR target/34709
2321         Revert:
2322
2323         2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
2324         * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
2325         for TARGET_RECIP.       
2326         
2327 2008-01-08  Jan Sjodin  <jan.sjodin@amd.com>
2328         
2329         * config/i386/i386.c (k8_cost, amdfam10_cost): Branch costs
2330         for vectorization tuned.
2331         
2332 2008-01-08  Richard Guenther  <rguenther@suse.de>
2333
2334         PR tree-optimization/34683
2335         * tree-ssa-operands.c (operand_build_cmp): Export.
2336         * tree-ssa-operands.h (operand_build_cmp): Declare.
2337         * tree-vn.c (vuses_compare): Remove.
2338         (sort_vuses): Use operand_build_cmp.
2339         (sort_vuses_heap): Likewise.
2340         * tree-ssa-sccvn.c (vuses_to_vec): Use VEC_reserve, not VEC_alloc
2341         to re-use old VEC if available.  Do not sort already sorted VUSEs.
2342         (vdefs_to_vec): Do not sort already sorted VDEFs.
2343
2344 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
2345
2346         PR middle-end/34694
2347         * omp-low.c (copy_var_decl): Copy also DECL_SOURCE_LOCATION.
2348
2349 2008-01-08  Uros Bizjak  <ubizjak@gmail.com>
2350
2351         PR target/34702
2352         * doc/invoke.texi (i386 and x86-64 Options) [mrecip]: Document
2353         limitations of reciprocal sequences on x86 targets.
2354
2355 2008-01-08  Richard Guenther  <rguenther@suse.de>
2356
2357         PR tree-optimization/34683
2358         * tree-flow-inline.h (var_ann): Remove overzealous asserts.
2359
2360 2008-01-07  Jakub Jelinek  <jakub@redhat.com>
2361
2362         PR target/34622
2363         * config/darwin.c (darwin_mergeable_string_section): Don't use
2364         .cstring if int_size_in_bytes != TREE_STRING_LENGTH.
2365
2366 2008-01-07  Uros Bizjak  <ubizjak@gmail.com>
2367
2368         PR target/34682
2369         * config/i386/i386.md (neg<mode>2): Rename from negsf2, negdf2 and
2370         negxf2.  Macroize expander using X87MODEF mode iterator.  Change
2371         predicates of op0 and op1 to register_operand.
2372         (abs<mode>2): Rename from abssf2, absdf2 and negxf2.  Macroize
2373         expander using X87MODEF mode iterator.  Change predicates of
2374         op0 and op1 to register_operand.
2375         ("*absneg<mode>2_mixed", "*absneg<mode>2_sse"): Rename from
2376         corresponding patterns and macroize using MODEF macro.  Change
2377         predicates of op0 and op1 to register_operand and remove
2378         "m" constraint. Disparage "r" alternative with "!".
2379         ("*absneg<mode>2_i387"): Rename from corresponding patterns and
2380         macroize using X87MODEF macro.  Change predicates of op0 and op1
2381         to register_operand and remove "m" constraint.  Disparage "r"
2382         alternative with "!".
2383         (absneg splitter with memory operands): Remove.
2384         ("*neg<mode>2_1", "*abs<mode>2_1"): Rename from corresponding
2385         patterns and macroize using X87MODEF mode iterator.
2386         * config/i386/sse.md (negv4sf2, absv4sf2, neg2vdf2, absv2df2):
2387         Change predicate of op1 to register_operand.
2388         * config/i386/i386.c (ix86_expand_fp_absneg_operator): Remove support
2389         for memory operands.
2390
2391 2008-01-07  Nathan Froyd  <froydnj@codesourcery.com>
2392
2393         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add clause for mcpu=8548.
2394
2395 2008-01-07  Richard Guenther  <rguenther@suse.de>
2396
2397         * basic-block.h (struct edge_def): Pair dest_idx with goto_locus
2398         fields.
2399
2400 2008-01-07  Richard Guenther  <rguenther@suse.de>
2401
2402         PR tree-optimization/34683
2403         * tree-ssa-sccvn.c (vuses_to_vec): Pre-allocate the vector of
2404         VOPs of the needed size to save memory.  Use VEC_quick_push
2405         to save compile-time.
2406         (vdefs_to_vec): Likewise.
2407
2408 2008-01-07  Sa Liu  <saliu@de.ibm.com>
2409
2410         * config/spu/spu.md (divdf3): Genetate inline code for double
2411         division.  The implementation doesn't handle INF or NAN, therefore it
2412         only applies when -ffinite-math-only is given.
2413
2414 2008-01-06  Paolo Carlini  <pcarlini@suse.de>
2415
2416         PR libstdc++/34680
2417         * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_RTTI, if appropriate.
2418         * doc/cpp.texi ([Common Predefined Macros]): Document.
2419
2420 2008-01-06  Uros Bizjak  <ubizjak@gmail.com>
2421
2422         * config/i386/i386.c (ix86_emit_swsqrtsf): Use negative constants in
2423         order to use commutative addition instead of subtraction.
2424
2425 2008-01-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2426             Mircea Namolaru  <namolaru@il.ibm.com>
2427             Vladimir Yanovsky  <yanov@il.ibm.com>
2428             Revital Eres  <eres@il.ibm.com>
2429
2430         PR tree-optimization/34263
2431         * tree-outof-ssa.c (process_single_block_loop_latch,
2432         contains_tree_r): New functions.
2433         (analyze_edges_for_bb): Call process_single_block_loop_latch
2434         function to empty single-basic-block latch block if possible.
2435
2436 2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
2437
2438         * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
2439         for TARGET_RECIP.
2440         (ix86_emit_swsqrtsf): Do not filter out infinity for rsqrt expansion.
2441
2442 2008-01-05  Richard Sandiford  <rsandifo@nildram.co.uk>
2443
2444         * c-omp.c (check_omp_for_incr_expr): Handle CONVERT_EXPR.
2445
2446 2008-01-05  Richard Sandiford  <rsandifo@nildram.co.uk>
2447
2448         * config/mips/mips.c (mips_in_small_data_p): Reinstate size > 0 check.
2449
2450 2008-01-05  Jakub Jelinek  <jakub@redhat.com>
2451
2452         PR tree-optimization/34618
2453         * tree-outof-ssa.c (create_temp): Copy over DECL_GIMPLE_REG_P
2454         flag from T.
2455
2456 2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
2457
2458         PR target/34673
2459         * config/i386/i386.c (ix86_emit_swsqrtsf): Swap input operands
2460         in the call to gen_rtx_NE.  Remove unneeded VECTOR_MODE_P check.
2461         Update copyright year.
2462
2463         * config/i386/i386.md (rsqrtsf2): Enable for TARGET_SSE_MATH.
2464         Update copyright year.
2465         * config/i386/sse.md (rsqrtv4sf2): Ditto. Unconditionally expand
2466         using NR fixup.
2467
2468 2008-01-05  Zhouyi Zhou  <zhouzhouyi@FreeBSD.org>
2469
2470         * tree-vrp.c (find_conditional_asserts): Remove redundant check that
2471         edge does not point to current bb before changing need_assert.
2472
2473 2008-01-04  Richard Guenther  <rguenther@suse.de>
2474
2475         PR middle-end/34029
2476         * tree-cfg.c (verify_expr): Do not look inside ADDR_EXPRs
2477         for verifying purposes if they are is_gimple_min_invariant.
2478
2479 2008-01-04  Aldy Hernandez  <aldyh@redhat.com>
2480
2481         PR tree-optimization/34448
2482         PR tree-optimization/34465
2483         * gimplify.c (gimplify_init_constructor): Add new parameter
2484         notify_temp_creation.  Use it.
2485         (gimplify_modify_expr_rhs): Take volatiles into account when
2486         optimizing constructors.
2487         Do not optimize constructors if gimplify_init_constructor will dump to
2488         memory.
2489         * gcc.dg/tree-ssa/pr32901.c: Tests const volatiles.
2490         * gcc.c-torture/compile/pr34448.c: New.
2491
2492 2008-01-04  Jakub Jelinek  <jakub@redhat.com>
2493
2494         PR gcov-profile/34609
2495         * tree-inline.c (declare_return_variable): Set TREE_ADDRESSABLE on
2496         return_slot if result is TREE_ADDRESSABLE.
2497
2498 2008-01-04  Richard Sandiford  <rsandifo@nildram.co.uk>
2499
2500         * config/mips/mips.md (sqrt_condition): Tweak comment.
2501         (recip_condition): Likewise.  Require TARGET_FLOAT64 for DFmode.
2502
2503 2008-01-03  Tom Tromey  <tromey@redhat.com>
2504
2505         PR c/34457
2506         * c-common.c (c_type_hash): Handle VLAs.
2507
2508 2008-01-03  Jan Hubicka  <jh@suse.cz>
2509
2510         PR tree-optimization/31081
2511         * tree-inline.c (remap_ssa_name): Initialize uninitialized SSA vars to
2512         0 when inlining and not inlining to first basic block.
2513         (remap_decl): When var is initialized to 0, don't set default_def.
2514         (expand_call_inline): Set entry_bb.
2515         * tree-inline.h (copy_body_data): Add entry_bb.
2516
2517 2008-01-03  Jakub Jelinek  <jakub@redhat.com>
2518
2519         PR c++/34619
2520         * cgraphunit.c (cgraph_build_static_cdtor): set_cfun back to NULL
2521         before returning.
2522
2523         PR tree-optimization/29484
2524         * tree-inline.c (inline_forbidden_p_2): New function.
2525         (inline_forbidden_p): Disallow inlining if some static var
2526         has an address of a local LABEL_DECL in its initializer.
2527         * doc/extend.texi (Labels as Values): Document &&foo behaviour
2528         vs. inlining.
2529
2530 2008-01-03  Sebastian Pop  <sebastian.pop@amd.com>
2531
2532         PR tree-optimization/34635
2533         * tree-data-ref.c (add_other_self_distances): Make sure that the
2534         evolution step is constant.
2535
2536 2008-01-03  Jakub Jelinek  <jakub@redhat.com>
2537
2538         PR middle-end/34608
2539         * omp-low.c (expand_omp_parallel): Purge dead EH edges in the child fn.
2540
2541 2008-01-02  Richard Sandiford  <rsandifo@nildram.co.uk>
2542
2543         * tree-sra.c (scalarize_init): Insert the generate_element_init
2544         statements after the generate_element_zero statements.
2545
2546 2008-01-02  Richard Guenther  <rguenther@suse.de>
2547
2548         PR middle-end/34093
2549         PR middle-end/31976
2550         * tree-ssa-operands.c (ssa_operand_alloc): Also allocate a buffer
2551         for very large number of operands instead of ICEing.
2552
2553 2008-01-02  Arthur Norman <acn1@cam.ac.uk>
2554
2555         PR target/34013
2556         * gcc/config/i386/i386.c (ix86_expand_prologue): Save red-zone
2557         while stack probing.
2558
2559 2008-01-01  Douglas Gregor  <doug.gregor@gmail.com>
2560
2561         * c-opts.c (sanitize_cpp_opts): Don't warn about "long long" when
2562         in C++0x mode.
2563
2564 2008-01-01  Volker Reichelt  <v.reichelt@netcologne.de>
2565
2566         PR libmudflap/26442
2567         * tree-mudflap.c (mx_register_decls): Guard warning by
2568         !DECL_ARTIFICIAL check.
2569
2570 2008-01-01  Jakub Jelinek  <jakub@redhat.com>
2571
2572         * config/i386/sse.md (sse5_pperm, sse5_pperm_pack_v2di_v4si,
2573         sse5_pperm_pack_v4si_v8hi, sse5_pperm_pack_v8hi_v16qi,
2574         sse5_perm<mode>): Fix constraints.