OSDN Git Service

PR debug/31510
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2008-03-16  James E. Wilson  <wilson@tuliptree.org>
2
3         PR debug/31510
4         * dbxout.c (dbxout_expand_expr, case VAR_DECL): Return NULL for
5         emulated thread local variables.
6
7 2008-03-16  Richard Guenther  <rguenther@suse.de>
8
9         PR middle-end/35607
10         * tree-ssa-loop-niter.c (expand_simple_operations): Do not
11         expand TREE_INVARIANT operations that are not gimple invariant.
12
13 2008-03-16  Hans-Peter Nilsson  <hp@axis.com>
14
15         * doc/extend.texi (Alignment): Say that the ABI controls
16         the __alignof__ for non-strict-alignment targets rather
17         than being a recommendation.
18
19 2008-03-15  Paul Brook  <paul@codesourcery.com>
20
21         * config/arm/arm.c (arm_unwind_emit): Suppress unused unwinding
22         annotations.
23         (arm_output_fn_unwind): Mark functions that can not be unwound.
24
25 2008-03-15  Paul Brook  <paul@codesourcery.com>
26
27         * config/arm/arm.c (arm_rtx_costs_1): Add costs for ARMv6 value
28         extension instructions.
29
30 2008-03-15  Richard Guenther  <rguenther@suse.de>
31
32         * tree-ssa-ccp.c (ccp_fold): Also read from constant values
33         and fold constant aggregate refs.
34         (fold_const_aggregate_ref): Handle string constants
35         and constructors in ARRAY_REFs.  Handle INDIRECT_REF.
36         (evaluate_stmt): Simplify now that ccp_fold folds constant
37         aggregate refs.
38
39 2008-03-15  Paul Brook  <paul@codesourcery.com>
40
41         * config/arm/arm.md (insv): Use gen_insv_t2 and gen_insv_zero.
42         (extzv): Use gen_extzv_t2.
43         (insv_t2, insv_zero, extv, extzv_t2): New patterns.
44
45 2008-03-15  Richard Guenther  <rguenther@suse.de>
46
47         * tree-ssa-ccp.c (get_symbol_constant_value): Export.
48         (fold_const_aggregate_ref): Likewise.
49         (get_value): Return NULL if we don't have any values.
50         (ccp_finalize): Set const_val to NULL after freeing it.
51         * tree-flow.h (get_symbol_constant_value): Declare.
52         (fold_const_aggregate_ref): Likewise.
53         * tree-ssa-sccvn.c (try_to_simplify): Use them.
54
55 2008-03-15  Richard Guenther  <rguenther@suse.de>
56
57         PR middle-end/35593
58         * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Make sure
59         to not produce negative array indices if not allowed.  Add
60         parameter to indicate that.
61         (maybe_fold_offset_to_component_ref): Allow negative array
62         indices only for the first member of a structure.
63         (maybe_fold_offset_to_reference): Allow negative array indices.
64         (maybe_fold_stmt_addition): Likewise.
65
66 2008-03-15  Bjoern Haase  <bjoern.m.haase@web.de>
67             Anatoly Sokolov <aesok@post.ru>
68
69         * gcc/gcc/config/avr/avr.c (avr_arch_types): Add avr6 entry.
70         (avr_arch): Add ARCH_AVR6.
71         (avr_mcu_types): Add 'atmega2560' and 'atmega2561' entry.
72         (initial_elimination_offset): Initialize and use 'avr_pc_size' 
73         instead of fixed value 2.
74         (print_operand_address): Use gs() asm specifier instead of pm().
75         (avr_assemble_integer): (Ditto.).
76         (avr_output_addr_vec_elt): (Ditto.).
77         (print_operand): Handle "!" code.
78         * gcc/gcc/config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Add 
79         __AVR_3_BYTE_PC__, __AVR_2_BYTE_PC__ and __AVR_HAVE_JMP_CALL__.
80         (AVR_HAVE_EIJMP_EICALL): Define.
81         (AVR_3_BYTE_PC): Redefine.
82         (AVR_2_BYTE_PC): (Ditto.).
83         (PRINT_OPERAND_PUNCT_VALID_P): Add '!' code.
84         (LINK_SPEC): Add atmega2560 and atmega2561.
85         (CRT_BINUTILS_SPEC): Add atmega2560 (crtm2560.o) and atmega2561 
86         (crtm2561.o).
87         * gcc/gcc/config/avr/avr.md (call_insn): Use eicall instead of icall 
88         for 3 byte PC devices.
89         (call_value_insn): (Ditto.).
90         (*tablejump_enh): Use eijmp instead of ijmp for 3 byte PC devices.
91         (indirect_jump): Use only for for 2 byte PC devices.
92         (*tablejump): (Ditto.).
93         (*indirect_jump_avr6): Add insn.
94         (*tablejump_rjmp): Don't use for 3 byte PC devices.
95         * gcc/gcc/config/avr/libgcc.S (__prologue_saves__): Use eijmp 
96         instead of ijmp for 3 byte PC devices.
97         (__tablejump2__): (Ditto.).
98         * gcc/gcc/config/avr/t-avr (MULITLIB_OPTIONS): Add avr6 architecture.
99         (MULITLIB_DIRNAMES): (Ditto.). 
100         (MULTILIB_MATCHES): Add atmega2560 and atmega2561 to list.
101
102 2008-03-15  Uros Bizjak  <ubizjak@gmail.com>
103
104         * config/i386/mmx.md ("sse2_umulv1siv2di3"): Rename from
105         "sse2_umulsidi3".  Use V1DI mode for operand 0.
106         ("mmx_psadbw"): Use V1DI mode for operand 0.
107         * config/i386/i386-modes.def (V1SI): New vector mode.
108         * config/i386/i386.c (struct builtin_description)
109         [IX86_BUILTIN_PMULUDQ]: Use CODE_FOR_sse2_umulv1siv1di3.
110         (v1di_ftype_v8qi_v8qi): Rename from di_ftype_v8qi_v8qi.
111         (v1di_ftype_v2si_v2si): Rename from di_ftype_v2si_v2si.
112         (ix86_init_mmx_sse_builtins) [__builtin_ia32_psadbw]: Use
113         v1di_ftype_v8qi_v8qi type.
114         [__builtin_ia32_pmuludq]: Use v1di_ftype_v2si_v2si type.
115
116         * doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psadbw,
117         __builtin_ia32_pmuludq]: Fix the mode of return value.
118
119 2008-03-15  Richard Guenther  <rguenther@suse.de>
120
121         PR middle-end/35595
122         * tree-ssa-pre.c (bitmap_find_leader): Handle expression
123         being a PHI_NODE.
124
125 2008-03-14  Bob Wilson  <bob.wilson@acm.org>
126         
127         * doc/invoke.texi (Option Summary, Xtensa Options): Document
128         -mserialize-volatile and -mno-serialize-volatile Xtensa options.
129         * config/xtensa/xtensa.c (print_operand): Do not emit MEMW instructions
130         unless TARGET_SERIALIZE_VOLATILE is enabled.
131         * config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
132         * config/xtensa/xtensa.h (TARGET_DEFAULT): Add MASK_SERIALIZE_VOLATILE.
133         * config/xtensa/xtensa.opt (mserialize_volatile): New option.
134
135 2008-03-14  Richard Guenther  <rguenther@suse.de>
136
137         PR tree-optimization/34172
138         * tree-flow.h (refs_may_alias_p): Declare.
139         (get_single_def_stmt): Likewise.
140         (get_single_def_stmt_from_phi): Likewise.
141         (get_single_def_stmt_with_phi): Likewise.
142         * tree-dfa.c (refs_may_alias_p): New function.
143         (get_single_def_stmt): Likewise.
144         (get_single_def_stmt_from_phi): Likewise.
145         (get_single_def_stmt_with_phi): Likewise.
146         * tree-ssa-sccvn.c (get_def_ref_stmt_vuses): New function.
147         (vn_reference_lookup_1): New helper function.
148         (vn_reference_lookup): Walk the virtual use-def chain to
149         continue searching for a match if the def does not alias the
150         reference we are looking for.
151
152 2008-03-14  David Edelsohn  <edelsohn@gnu.org>
153
154         * doc/install.texi (Binaries): Remove UCLA archive.  Add HVCC
155         archive and Perzl.  Update The Written Word listing.
156
157 2008-03-14  Richard Guenther  <rguenther@suse.de>
158
159         PR tree-optimization/34043
160         PR tree-optimization/33989
161         * tree-ssa-pre.c (execute_pre): Allow SCCVN to do insertion
162         when doing FRE.
163         (bitmap_find_leader): Use extra argument to verify dominance
164         relationship inside a basic-block.
165         (can_PRE_operation): Add VIEW_CONVERT_EXPR.
166         (find_leader_in_sets): Adjust.
167         (create_component_ref_by_pieces): Take extra argument for
168         dominance check, handle lookup failures.
169         (find_or_generate_expression): Likewise.
170         (create_expression_by_pieces): Likewise.
171         (insert_into_preds_of_block): Adjust.
172         (create_value_expr_from): If asked for, verify all operands
173         are in the blocks AVAIL_OUT set.
174         (make_values_for_stmt): Check for SSA_NAMEs that are life
175         over an abnormal edge.
176         (compute_avail): Remove such check.
177         (do_SCCVN_insertion): New function.
178         (eliminate): If we do not find a leader suitable for replacement
179         insert a replacement expression from SCCVN if available.
180         * tree-ssa-sccvn.h (run_scc_vn): Update prototype.
181         (struct vn_ssa_aux): Add needs_insertion flag.
182         * tree-ssa-sccvn.c (may_insert): New global flag.
183         (copy_reference_ops_from_ref): Value-number union member access
184         based on its size, not type and member if insertion is allowed.
185         (visit_reference_op_load): For a weak match from union type
186         punning lookup a view-converted value and insert a SSA_NAME
187         for that value if that is not found.
188         (visit_use): Make dumps shorter.  Do not disallow value numbering
189         SSA_NAMEs that are life over an abnormal edge to constants.
190         (free_scc_vn): Release inserted SSA_NAMEs.
191         (run_scc_vn): New flag to specify whether insertion is allowed.
192         Process SSA_NAMEs in forward order.
193         * tree-ssa-loop-im.c (for_each_index): Handle invariant
194         ADDR_EXPRs inside VIEW_CONVERT_EXPR.
195         * fold-const.c (fold_unary): Fold VIEW_CONVERT_EXPRs from/to
196         pointer type to/from integral types that do not change the
197         precision to regular conversions.
198
199 2008-03-13  Uros Bizjak  <ubizjak@gmail.com>
200
201         * doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psll?,
202         __builtin_ia32_psrl?, __builtin_ia32_psra?, __builtin_ia32_psll?i,
203         __builtin_ia32_psrl?i, __builtin_ia32_psra?i, __builtin_ia32_psll?128,
204         __builtin_ia32_psrl?128, __builtin_ia32_psra?128]: Fix the mode of
205         input arguments and the mode of return value.  Built-in functions
206         that operate on whole 64-bit MMX register now use V1DI mode.
207
208 2008-03-13  Alon Dayan  <alond@il.ibm.com>
209             Olga Golovanevsky  <olga@il.ibm.com>
210
211         PR tree-optimization/35041
212         * ipa-struct-reorg.c (find_pos_in_stmt_1): Add another option
213         to locate the right position in a statement.
214
215 2008-03-13  Uros Bizjak  <ubizjak@gmail.com>
216
217         PR target/34000
218         PR target/35553
219         * config/i386/xmmintrin.h:  Change all static inline functions to
220         extern inline and add __gnu_inline__ attribute.
221         * config/i386/bmintrin.h: Ditto.
222         * config/i386/smmintrin.h: Ditto.
223         * config/i386/tmmintrin.h: Ditto.
224         * config/i386/mmintrin-common.h: Ditto.
225         * config/i386/ammintrin.h: Ditto.
226         * config/i386/emmintrin.h: Ditto.
227         * config/i386/pmmintrin.h: Ditto.
228         * config/i386/mmintrin.h: Ditto.
229         * config/i386/mm3dnow.h: Ditto.
230
231 2008-03-13  Jakub Jelinek  <jakub@redhat.com>
232
233         PR middle-end/35185
234         * omp-low.c (lower_regimplify, init_tmp_var, save_tmp_var): Removed.
235         (lower_omp_2): New function.
236         (lower_omp_1, lower_omp): Rewritten.
237
238 2008-03-13  Danny Smith  <dannysmith@users.sourceforge.net>
239
240         PR 35054
241         * doc/extend.texi (Structure-Packing Pragmas): Replace "Win32"
242         with the phrase "Microsoft Windows compilers".
243         (Push/Pop Macro Pragmas): New subsection. Document
244         #pragma push_macro and pragma pop_macro.
245
246 2008-03-12  Paul Brook  <paul@codesourcery.com>
247
248         * config/arm/arm.c (output_move_double): Prefer LDRD to LDM.
249
250 2008-03-12  Paul Brook  <paul@codesourcery.com>
251
252         * config/arm/thumb2.md: Extend peephole to cover 3-arg subs.
253         (thumb2_alusi3_short): Exclude PLUS and MINUS.
254         (thumb2_addsi_shortim): Rename ...
255         (thumb2_addsi_short): ... to this.  Allow register operands.
256         (thumb2_subsi_short): New pattern.
257         (thumb2_one_cmplsi2_short,
258         thumb2_negsi2_short): New patterns and peepholes.
259
260 2008-03-12  Paul Brook  <paul@codesourcery.com>
261
262         * config/arm/arm.c (arm_size_rtx_costs): Use ARM costs for Thumb-2.
263
264 2008-03-12  Uros Bizjak  <ubizjak@gmail.com>
265
266         * config/i386/i386.md (int_cond): New code iterator.
267         (fp_cond): Ditto.
268         ("s<code>"): Macroize expander from seq, sne, sgt, sgtu, slt, sltu,
269         sge, sgeu, sle and sleu expanders usign int_cond code iterator.
270         ("s<code>"): Macroize expander from sunordered, sordered, suneq, sunge,
271         sungt, sunle, sunlt and sltgt expanders usign fp_cond code iterator.
272         ("b<code>"): Macroize expander from beq, bne, bgt, bgtu, blt, bltu,
273         bge, bgeu, ble and bleu expanders usign int_cond code iterator.
274         ("b<code>"): Macroize expander from bunordered, bordered, buneq, bunge,
275         bungt, bunle, bunlt and bltgt expanders usign fp_cond code iterator.
276
277 2008-03-12  Paul Brook  <paul@codesourcery.com>
278
279         * config/arm/arm.c (use_return_insn): Use offsets->saved_regs_mask
280         instead of {arm,thumb}_compute_save_reg_mask.
281         (output_return_instruction): Ditto.
282         (thumb_unexpanded_epilogue): Ditto.
283         (thumb1_expand_prologue): Ditto.
284         (thumb1_output_function_prologue): Ditto.
285         (arm_set_return_address): Ditto.
286         (thumb_set_return_address): Ditto.
287         (arm_get_frame_offsets): Set offsets->saved_regs_mask.  Push extra
288         regs to achieve stack alignment.
289         (thumb1_compute_save_reg_mask): Fix compiler warning.
290         (arm_output_epilogue): Use offsets->saved_regs_mask.
291         Adjust stack pointer by poping call clobered registers.
292         (arm_expand_prologue): Use offsets->saved_regs_mask.
293         Adjust stack pointer by pushing extra registers.
294         * config/arm.h (arm_stack_offsets): Add saved_regs_mask.
295
296 2008-03-12  Paolo Bonzini  <bonzini@gnu.org>
297
298         PR tree-opt/35422
299         * fold-const.c (fold_unary) <NOP_EXPR>: Distribute a narrowing
300         conversion to the operands of a multiplication.
301
302 2008-03-12  Richard Guenther  <rguenther@suse.de>
303
304         * Makefile.in (OBJS-common): Add tree-ssa-phiprop.o
305         (tree-ssa-phiprop.o): Copy dependencies from tree-ssa-forwprop.o.
306         * timevar.def (TV_TREE_PHIPROP): Add.
307         * tree-ssa-phiprop.c: Split from tree-ssa-forwprop.c, added
308         pass description.  Use TV_TREE_PHIPROP.
309         * tree-ssa-forwprop.c: Remove phiprop code.
310
311 2008-03-12  Jakub Jelinek  <jakub@redhat.com>
312
313         PR middle-end/35549
314         * omp-low.c (maybe_lookup_decl): Constify first argument.
315         (use_pointer_for_field): Change last argument from bool to
316         omp_context *.  Disallow shared copy-in/out in nested
317         parallel if decl is shared in outer parallel too.
318         (build_outer_var_ref, scan_sharing_clauses,
319         lower_rec_input_clauses, lower_copyprivate_clauses,
320         lower_send_clauses, lower_send_shared_vars): Adjust callers.
321
322 2008-03-12  Victor Kaplansky  <victork@il.ibm.com>
323             Ira Rosen  <irar@il.ibm.com>
324
325         * tree-vectorizer.c (free_stmt_vec_info): New function.
326         (destroy_loop_vec_info): Move code to free_stmt_vec_info().
327         Call free_stmt_vec_info(). Free LOOP_VINFO_STRIDED_STORES..
328         * tree-vectorizer.h (free_stmt_vec_info): Declare.
329         * tree-vect-transform.c (vectorizable_conversion): Free
330         vec_oprnds0 if it was allocated.
331         (vect_permute_store_chain): Remove unused VECs.
332         (vectorizable_store): Free VECs that are allocated in the..
333         function.
334         (vect_transform_strided_load, vectorizable_load): Likewise.
335         (vect_remove_stores): Simplify the code.
336         (vect_transform_loop): Move code to vect_remove_stores().
337         Call vect_remove_stores() and free_stmt_vec_info().
338
339 2008-03-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
340
341         * pa.h (TARGET_LONG_PIC_SDIFF_CALL): Conditionalize define on
342         TARGET_HPUX.  Revise comment.
343         (TARGET_LONG_PIC_PCREL_CALL): Revise comment.
344         * pa.c (output_call): Update for revised TARGET_LONG_PIC_SDIFF_CALL.
345         Use sr4 variant of `be' instruction when not generating PIC code.
346         (attr_length_call): Adjust for above change.
347
348 2008-03-11  Andrew Pinski  <andrew_pinski@playstation.sony.com>
349
350         * ipa-reference.c (static_execute): Remove module_statics_const and
351         associated setting code.
352
353 2008-03-11  Uros Bizjak  <ubizjak@gmail.com>
354
355         PR target/35540
356         * config/i386/i386.md (paritysi2, paritydi2): Use register_operand
357         constraint for operand 1.
358         (paritysi2_cmp): Use register_operand constraint for operand 2.
359         Use earlyclobber modifier for operand 1.  Remove support for
360         memory operands.
361         (paritydi2_cmp): Use register_operand constraint for operand 3.
362         Use earlyclobber modifier for operand 1.  Remove support for
363         memory operands.
364
365 2008-03-11  Paul Brook  <paul@codesourcery.com>
366             Vladimir Prus  <vladimir@codesourcery.com>
367
368         * config/arm/arm.c (use_return_insn): Check TARGET_APCS_FRAME.
369         (arm_compute_save_reg0_reg12_mask): Always
370         check if register 11 must be saved.  Always safe hard frame pointer
371         when frame_pointer_needeed.
372         (arm_compute_save_reg_mask): Save IP and PC
373         only with apcs frames.
374         (arm_output_epilogue): Adjust Thumb2 codepath to
375         be also invoked and work for ARM non-apcs frames.
376         (arm_expand_prologue): Don't bother saving IP
377         for non-apcs frame, since it's not clobbered by
378         prologue code.  Implement non-apcs frame
379         layout.
380
381 2008-03-11  Paolo Bonzini  <bonzini@gnu.org>
382
383         PR rtl-optimization/35281
384         * expr.c (convert_move): Use a new pseudo for the intermediate
385         from_mode->word_mode result.
386
387 2008-03-11  Paolo Bonzini  <bonzini@gnu.org>
388
389         * langhooks-def.h (LANG_HOOKS_CLEAR_BINDING_STACK): Delete.
390         * langhooks.h (struct lang_hooks): Delete clear_binding_stack member.
391         * toplev.c (compile_file): Don't call it.
392
393 2008-03-11  Uros Bizjak  <ubizjak@gmail.com>
394
395         PR middle-end/35526
396         * expr.c (store_expr): Call emit_block_move if the mode
397         of "temp" RTX is BLKmode.
398
399 2008-03-11  Andrew Pinski  <andrew_pinski@playstation.sony.com>
400             Richard Guenther  <rguenther@suse.de>
401
402         PR tree-optimization/31358
403         * tree-ssa-loop-manip.c (create_iv): Call force_gimple_operand for
404         the step with a NULL_TREE.
405         * tree-ssa-loop-ivopts.c (find_bivs): Convert the step
406         to sizetype if type is a pointer type.
407         (add_candidate_1): Don't convert the base and step to
408         the generic type if the orginal type is a pointer type.
409         (add_iv_value_candidates): Use sizetype for the step
410         if type is a pointer type.
411         (cand_value_at): Likewise.
412         * tree-ssa-address.c (add_to_parts): Use POINTER_PLUS_EXPR
413         for pointer types.
414         * tree-affine.c (tree_to_aff_combination <POINTER_PLUS_EXPR>):
415         Don't convert the tem affine to the type.
416         (add_elt_to_tree): Use sizetype for the step if a pointer.
417         Use POINTER_PLUS_EXPR for pointers.
418         (aff_combination_to_tree): Use sizetype for the step if a
419         pointer.
420
421 2008-03-10  Vladimir Makarov  <vmakarov@redhat.com>
422
423         * config/i386/sse.md (ssse3_pmaddubswv8hi3, ssse3_pmaddubswv4hi3):
424         Remove commutativity hint.
425
426 2008-03-10  Jakub Jelinek  <jakub@redhat.com>
427
428         PR c/35438
429         PR c/35439
430         * c-parser.c (c_parser_omp_threadprivate): Don't add vars with
431         errorneous type.  Check that v is a VAR_DECL.
432
433         PR middle-end/35099
434         * tree-cfg.c (new_label_mapper): Update cfun->last_label_uid.
435
436 2008-03-10  H.J. Lu  <hongjiu.lu@intel.com>
437
438         PR tree-optimization/35494
439         * tree-ssa-ccp.c (get_symbol_constant_value): Check if value
440         may be overriden at link and run time.
441
442 2008-03-10  Richard Guenther  <rguenther@suse.de>
443
444         PR tree-optimization/34677
445         * tree-ssa-pre.c (modify_expr_node_pool): Remove.
446         (poolify_tree): Likewise.
447         (modify_expr_template): Likewise.
448         (poolify_modify_stmt): Likewise.
449         (insert_fake_stores): Handle all component-ref style stores
450         in addition to INDIRECT_REF.  Also handle complex types.
451         Do not poolify the inserted load.
452         (realify_fake_stores): Do not rebuild the tree but only
453         make it a SSA_NAME copy.
454         (init_pre): Remove initialzation of modify_expr_template.
455         Do not allocate modify_expr_node_pool.
456         (fini_pre): Do not free modify_expr_node_pool.
457
458 2008-03-10  Paul Brook  <paul@codesourcery.com>
459
460         * config/arm/arm.md (UNSPEC_STACK_ALIGN, UNSPEC_PIC_OFFSET): Renumber
461         to avoid conflicts.
462
463 2008-03-10  Paul Brook  <paul@codesourcery.com>
464             Mark Shinwell  <shinwell@codesourcery.com>
465
466         * config/arm/cortex-r4.md: New.
467         * config/arm/thumb2.md (divsi3, udivsi3): Annotate with
468         insn attributes.
469         * config/arm/arm.md: Include cortex-r4.md.
470         (insn): Add smmls, sdiv and udiv values.
471         (generic_sched): Don't use generic scheduling for Cortex-R4.
472         (arm_issue_rate): New function.
473         (TARGET_SCHED_ISSUE_RATE): Define.
474
475 2008-03-10  Sebastian Pop  <sebastian.pop@amd.com>
476
477         * doc/invoke.texi (-ftree-loop-distribution): Add an example.
478
479 2008-03-10  Richard Guenther  <rguenther@suse.de>
480
481         * tree-ssa-pre.c (get_sccvn_value): Simplify.
482         (compute_avail): Do not add stmt uses to AVAIL_OUT.
483
484 2008-03-10  Paolo Bonzini  <bonzini@gnu.org>
485
486         * langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS):
487         Set default to true.
488
489 2008-03-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
490
491         * c.opt (Wsynth): Deprecate.
492         * doc/invoke.texi (Option Summary, Warning Options): Document
493         -Wno-format-contains-nul.
494
495 2008-03-09  Uros Bizjak  <ubizjak@gmail.com>
496
497         PR target/35496
498         * config/i386/i386.c (ix86_constant_alignment): Compute alignment using
499         ALIGN_MODE_128 for VECTOR_CST and INTEGER_CST in addition to REAL_CST.
500
501 2008-03-09  Ira Rosen  <irar@il.ibm.com>
502
503         * config/rs6000/rs6000.c (builtin_description): Rename vector
504         left shift operations.
505         * config/rs6000/altivec.md (UNSPEC_VSL): Remove.
506         (altivec_vsl<VI_char>): Rename to ...
507         (ashl<mode>3): ... new name.
508         (mulv4sf3, mulv4si3, negv4sf2): Replace gen_altivec_vslw with
509         gen_ashlv4si3.
510         (absv4sf2): Convert to use ashift:V4SI instead of UNSPEC_VSL.
511
512 2008-03-08  Richard Guenther  <rguenther@suse.de>
513
514         * coverage.h (tree_coverage_counter_addr): Declare.
515         * coverage.c (tree_coverage_counter_addr): New function.
516         * tree-profile.c (tree_gen_edge_profiler): Unshare counter
517         before using again.
518         (tree_gen_pow2_profiler): Use tree_coverage_counter_addr.
519         (tree_gen_one_value_profiler): Likewise.
520         (tree_gen_ic_profiler): Likewise.
521         (tree_gen_average_profiler): Likewise.
522         (tree_gen_ior_profiler): Likewise.
523
524 2008-03-08  Richard Guenther  <rguenther@suse.de>
525
526         * tree-ssa-sccvn.h (vn_binary_op_lookup): Remove.
527         (vn_binary_op_insert): Likewise.
528         (vn_unary_op_lookup): Likewise.
529         (vn_unary_op_insert): Likewise.
530         (vn_nary_op_lookup): Declare.
531         (vn_nary_op_insert): Likewise.
532         * tree-ssa-sccvn.c (struct vn_tables_s): Merge unary
533         and binary hashes, use a single obstack for unary_op_pool
534         and binary_op_pool.
535         (struct vn_binary_op_s, struct vn_unary_op_s): Replace with
536         a single struct vn_nary_op_s.  Store tree code length and
537         a variable number of operands.
538         (struct vn_reference_op_struct): Remove unused op2.
539         (vn_reference_op_eq): Do not compare op2.
540         (vn_reference_op_compute_hash): Do not compute hash of op2.
541         (vn_unary_op_hash, vn_binary_op_hash): Replace with vn_nary_op_hash.
542         (vn_unary_op_compute_hash, vn_binary_op_compute_hash): Replace
543         with vn_nary_op_compute_hash.
544         (vn_unary_op_eq, vn_binary_op_eq): Replace with vn_nary_op_eq.
545         (vn_unary_op_lookup, vn_binary_op_lookup): Replace with
546         vn_nary_op_lookup.
547         (vn_unary_op_insert, vn_binary_op_insert): Replace with
548         vn_nary_op_insert.
549         (visit_unary_op): Call nary functions.
550         (visit_binary_op): Likewise.
551         (process_scc): Adjust for struct vn_tables_s changes.
552         (allocate_vn_table): Likewise.
553         (free_vn_table): Likewise.
554         * tree-vn.c (vn_add): Call nary functions.
555         (vn_lookup): Likewise.
556
557 2008-03-08  Jakub Jelinek  <jakub@redhat.com>
558
559         PR target/35498
560         * config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): Shift
561         wdst back after sync_compare_and_swapqhi_internal.
562
563 2008-03-08  Uros Bizjak  <ubizjak@gmail.com>
564
565         PR target/22152
566         * config/i386/i386-modes.def (V1DI): New vector mode.
567         * config/i386/i386.h (VALID_MMX_REG_MODE): Add V1DImode.
568         * config/i386/mmx.md (MMXMODEI8): New mode iterator.
569         (MMXMODE248): Ditto.
570         (MMXMODE): Add V1DI mode.
571         (mmxvecsize): Change DI mode to V1DI mode.
572         ("mov<mode>): Use MMXMODEI8 mode iterator.
573         ("*mov<mode>_internal_rex64"): Ditto.
574         ("*mov<mode>_internal"): Ditto.
575         ("mmx_add<mode>3"): Ditto.  Handle V1DImode for TARGET_SSE2.
576         ("mmx_sub<mode>3"): Ditto.
577         ("mmx_adddi3"): Remove insn pattern.
578         ("mmx_subdi3"): Ditto.
579         ("mmx_ashr<mode>3"): Use SImode and "yN" constraint for operand 2.
580         ("mmx_lshr<mode>3"): Ditto. Use MMXMODE248 mode iterator.
581         ("mmx_ashl<mode>3"): Ditto.
582         ("mmx_lshrdi3"): Remove insn pattern.
583         ("mmx_ashldi3"): Ditto.
584         * config/i386/i386.c (classify_argument): Handle V1DImode.
585         (function_arg_advance_32): Ditto.
586         (function_arg_32): Ditto.
587         (struct builtin_description) [IX86_BUILTIN_PADDQ]: Use
588         mmx_addv1di3 insn pattern.
589         [IX86_BUILTIN_PSUBQ]: Use mmx_subv1di3 insn pattern.
590         [IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?, IX86_BUILTIN_PSRA?,
591         IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I, IX86_BUILTIN_PSRA?I,
592         IX86_BUILTIN_PSLL?I128, IX86_BUILTIN_PSRL?I128, IX86_BUILTIN_PSRA?I128]:
593         Remove definitions of built-in functions.
594         (V1DI_type_node): New node.
595         (v1di_ftype_v1di_int): Ditto.
596         (v1di_ftype_v1di_v1di): Ditto.
597         (v2si_ftype_v2si_si): Ditto.
598         (v4hi_ftype_v4hi_di): Remove node.
599         (v2si_ftype_v2si_di): Ditto.
600         (ix86_init_mmx_sse_builtins): Handle V1DImode.
601         (__builtin_ia32_psll?, __builtin_ia32_psrl?, __builtin_ia32_psra?):
602         Redefine builtins using def_builtin_const with *_ftype_*_int node.
603         (__builtin_ia32_psll?i, __builtin_ia32_psrl?i, __builtin_ia32_psra?i):
604         Add new builtins using def_builtin_const.
605         (ix86_expand_builtin) [IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?,
606         IX86_BUILTIN_PSRA?, IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I,
607         IX86_BUILTIN_PSRA?I]: Handle builtin definitions.
608         * config/i386/mmintrin.h (__v1di): New typedef.
609         (_mm_add_si64): Cast arguments to __v1di type.
610         (_mm_sub_si64): Ditto.
611         (_mm_sll_pi16): Cast __count to __v4hi type.
612         (_mm_sll_pi32): Cast __count to __v2si type.
613         (_mm_sll_si64): Cast arguments to __v1di type.
614         (_mm_srl_pi16): Cast __count to __v4hi type.
615         (_mm_srl_pi32): Cast __count to __v2si type.
616         (_mm_srl_si64): Cast arguments to __v1di type.
617         (_mm_sra_pi16): Cast __count to __v4hi type.
618         (_mm_sra_pi32): Cast __count to __v2si type.
619         (_mm_slli_pi16): Use __builtin_ia32_psllwi.
620         (_mm_slli_pi32): Use __builtin_ia32_pslldi.
621         (_mm_slli_si64): Use __builtin_ia32_psllqi. Cast __m to __v1di type.
622         (_mm_srli_pi16): Use __builtin_ia32_psrlwi.
623         (_mm_srli_pi32): Use __builtin_ia32_psrldi.
624         (_mm_srli_si64): Use __builtin_ia32_psrlqi. Cast __m to __v1di type.
625         (_mm_srai_pi16): Use __builtin_ia32_psrawi.
626         (_mm_srai_pi32): Use __builtin_ia32_psradi.
627         * config/i386/i386.md (UNSPEC_NOP): Remove unspec definition.
628         * doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psll?,
629         __builtin_ia32_psrl?, __builtin_ia32_psra?, __builtin_ia32_psll?i,
630         __builtin_ia32_psrl?i, __builtin_ia32_psra?i]: Add new builtins.
631
632 2008-03-07  Joseph Myers  <joseph@codesourcery.com>
633
634         * doc/include/texinfo.tex: Update to version 2008-03-07.10.
635
636 2008-03-07  Peter Bergner  <bergner@vnet.ibm.com>
637
638         PR target/35373
639         * config/rs6000/rs6000.c (rs6000_legitimize_address): Don't generate
640         reg+const addressing for Altivec modes.  Don't generate reg+reg
641         addressing for TFmode or TDmode quantities.
642
643 2008-03-07  Paolo Bonzini  <bonzini@gnu.org>
644
645         * c-common.c (vector_types_convertible_p): Call langhook
646         instead of comptypes.
647
648 2008-03-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>
649
650         PR tree-opt/35402
651         * tree-ssa-ccp.c (get_symbol_constant_value): Handle
652         integral and scalar float variables which have a
653         NULL DECL_INITIAL.
654
655 2008-03-06  Nathan Froyd  <froydnj@codesourcery.com>
656
657         * dwarf2out.c (dwarf2out_frame_debug_expr): Consult the
658         dwarf_register_span hook when emitting unwind information for
659         register-to-memory saves.
660         * config/rs6000/rs6000.c (spe_synthesize_frame): Delete.
661         (rs6000_frame_related): Remove call to spe_synthesize_frame.
662
663 2008-03-06  Jakub Jelinek  <jakub@redhat.com>
664
665         * gimplify.c (goa_lhs_expr_p): Allow different ADDR_EXPR nodes
666         for the same VAR_DECL.
667
668 2008-03-06  Tom Tromey  <tromey@redhat.com>
669
670         * treelang: Delete.
671         * doc/standards.texi (Standards): Don't mention treelang.
672         * doc/invoke.texi (Overall Options): Don't mention treelang.
673         * doc/install.texi (Prerequisites): Don't mention bison or
674         treelang.
675         (Configuration): Don't mention treelang.
676         (Building): Likewise.
677         * doc/frontends.texi (G++ and GCC): Don't mention treelang.
678
679 2008-03-06  Paolo Bonzini  <bonzini@gnu.org>
680
681         * simplify-rtx.c (simplify_subreg): Remove useless shifts from
682         word-extractions out of a multi-word object.
683
684 2008-03-06  Richard Guenther  <rguenther@suse.de>
685
686         * tree.def (BIT_FIELD_REF): Constrain result type and its precision.
687         * tree-cfg.c (verify_expr): Verify BIT_FIELD_REF constraints on
688         result type and precision.
689         * expr.c (get_inner_reference): Set unsignedp based on the result
690         type of BIT_FIELD_REF.
691         * tree.h (BIT_FIELD_REF_UNSIGNED): Remove.
692         * tree-sra.c (instantiate_element): Do not set BIT_FIELD_REF_UNSIGNED.
693         (try_instantiate_multiple_fields): Likewise.  Use the correct type
694         for BIT_FIELD_REF.
695         (sra_build_assignment): Likewise.
696         (sra_build_elt_assignment): Likewise.
697         (sra_explode_bitfield_assignment): Likewise.
698         * print-tree.c (print_node): Do not check BIT_FIELD_REF_UNSIGNED.
699         * tree-vect-transform.c (vect_create_epilog_for_reduction): Do not
700         set BIT_FIELD_REF_UNSIGNED.
701         (vectorizable_load): Likewise.
702
703 2008-03-06  Andreas Krebbel  <krebbel1@de.ibm.com>
704
705         * cse.c (cse_extended_basic_block): Invalidate artificial defs
706         at bb start.
707
708 2008-03-06  Richard Guenther  <rguenther@suse.de>
709
710         * alias.c (struct alias_set_entry): Move has_zero_child field
711         to pack with alias_set.
712
713 2008-03-05  H.J. Lu  <hongjiu.lu@intel.com>
714
715         * config/i386/i386-modes.def: Use 4 byte alignment on DI for
716         32bit host.
717
718 2008-03-05  Ian Lance Taylor  <iant@google.com>
719
720         * alias.h (alias_set_type): Change from HOST_WIDE_INT to int.
721
722 2008-03-05  Kenneth Zadeck <zadeck@naturalbridge.com>
723
724         * fwprop.c (update_df): Support width and offset parameters of
725         df_ref_create.
726         * ra-conflict.c (mark_reg_store, clear_reg_in_live,
727         global_conflicts): Change DF_REF_EXTRACT to either
728         DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT.  Change
729         DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
730         * df-scan.c (df_ref_record, df_defs_record,
731         df_ref_create_structure, df_def_record_1, df_uses_record,
732         df_get_conditional_uses, df_get_call_refs, df_insn_refs_collect,
733         df_bb_refs_collect, df_entry_block_defs_collect,
734         df_exit_block_uses_collect): Support new width and offset fields.
735         (ref_extract_pool): New storage pool.
736         (df_free_ref): New function.
737         (df_reg_chain_unlink, df_free_collection_rec,
738         df_sort_and_compress_refs): Call df_free_ref.
739         (df_ref_equal_p, df_ref_compare): Compare offset and width fields
740         of df_ref_extract.
741         (df_ref_create_structure): Allocate df_ref_extract if offset and
742         width fields are used.
743         (df_def_record_1): Get offset and width from ZERO_EXTRACT.
744         (df_uses_record): Get offset and width from ZERO_EXTRACT 
745         and SIGN_EXTRACT.
746         * global.c (build_insn_chain): Change DF_REF_EXTRACT to either
747         DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT.  Change
748         DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
749         * df.h (df_ref_flags): Change DF_REF_EXTRACT to either
750         DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT.  Change
751         DF_REF_STRICT_LOWER_PART to DF_REF_STRICT_LOW_PART.
752         (df_ref_extract): New structure.
753         (DF_REF_WIDTH, DF_REF_OFFSET): New macros.
754         (df_ref_create): Add width and offset parameters.
755         
756 2008-03-05  Richard Guenther  <rguenther@suse.de>
757
758         * tree-ssa-structalias.c (get_constraint_for_component_ref):
759         Use ranges_overlap_p.
760         (offset_overlaps_with_access): Rename
761         to ranges_overlap_p and move ...
762         * tree-flow-inline.h (ranges_overlap_p): ... here.
763
764         * tree.h (get_inner_reference, handled_component_p): Update
765         comments.
766
767         * tree.h (record_component_aliases, get_alias_set,
768         alias_sets_conflict_p, alias_sets_must_conflict_p,
769         objects_must_conflict_p): Move declarations ...
770         * alias.h (record_component_aliases, get_alias_set,
771         alias_sets_conflict_p, alias_sets_must_conflict_p,
772         objects_must_conflict_p): ... here.
773         Include coretypes.h.
774         * Makefile.in (ALIAS_H): Add coretypes.h dependency.
775
776 2008-03-05  Aldy Hernandez  <aldyh@redhat.com>
777
778         * cfg.c: Include tree-flow.h.
779         (remove_edge_raw): Call redirect_edge_var_map_clear.
780         (redirect_edge_succ_nodup): Call redirect_edge_var_map_dup.
781         * tree-flow-inline.h (redirect_edge_var_map_def): New.
782         (redirect_edge_var_map_result): New.
783         * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Replace
784         PENDING_STMT use with redirect_edge_var_map_*.
785         * tree-ssa.c (edge_var_maps): New definition.
786         (redirect_edge_var_map_add): New.
787         (redirect_edge_var_map_clear): New.
788         (redirect_edge_var_map_dup): New.
789         (redirect_edge_var_map_vector): New.
790         (redirect_edge_var_map_destroy): New.
791         (ssa_redirect_edge): Replace PENDING_STMT use with
792         redirect_edge_var_map_*.
793         (flush_pending_stmts): Same.
794         (delete_tree_ssa): Destroy edge var map.
795         * tree-flow.h (struct _edge_var_map): New.
796         Define edge_var_map vector type.
797         Declare redirect_edge_var_map_* prototypes.
798         * Makefile.in (cfg.o): Depend on TREE_FLOW_H.
799         * tree-cfg.c (reinstall_phi_args): Replace
800         PENDING_STMT use with redirect_edge_var_map_*.
801
802 2008-03-05  Richard Guenther  <rguenther@suse.de>
803
804         PR tree-optimization/35472
805         * tree-ssa-dse.c (dse_optimize_stmt): Do not delete a store
806         whose single use_stmt has a overlapping set of loaded and
807         stored symbols as that use_stmt might be a noop assignment then.
808
809 2008-03-05  Joel Sherrill <joel.sherrill@oarcorp.com>
810
811         * gthr-rtems.h: Implement __gthread_mutex_destroy.
812
813 2008-03-05  Richard Guenther  <rguenther@suse.de>
814
815         PR c++/35336
816         * tree.def (BIT_FIELD_REF): Document that operands 1 and 2
817         should be constants.
818         * tree-cfg.c (verify_expr): Verify it.
819         * fold-const.c (fold_truthop): Remove code generating
820         BIT_FIELD_REFs of structure bases.
821         (fold_binary): Likewise.
822         (fold_ternary): Position and size of BIT_FIELD_REFs are
823         always host integers.
824         (make_bit_field_ref): Remove.
825         (optimize_bit_field_compare): Remove.
826         (all_ones_mask_p): Remove.
827
828 2008-03-05  Gabor Loki  <loki@gcc.gnu.org>
829
830         PR gcc/33009
831         * rtl-factoring.c (clear_regs_live_in_seq): Fix backward steps.
832         (split_block_and_df_analyze): New. Split basic block and rebuild
833         dataflow.
834         (block_label_after): Use SPLIT_BLOCK_AND_DF_ANALYZE instead of
835         SPLIT_BLOCK.
836         (split_pattern_seq): Likewise.
837         (erase_matching_seqs): Likewise.
838         (split_pattern_seq): Skip return insn in case of REG_NORETURN note.
839
840 2008-03-04  Geoff Keating  <geoffk@apple.com>
841
842         * fold-const.c (tree_single_nonnegative_warnv_p): Fix mixed
843         declaration and code.
844         (tree_invalid_nonnegative_warnv_p): Likewise.
845
846 2008-03-05  Serge Belyshev  <belyshev@depni.sinp.msu.ru>
847
848         * doc/install.texi (Testing): Correct quoting for the RUNTESTFLAGS
849         examples.  Truncate option-names then causing overfull hbox.
850
851 2008-03-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
852
853         PR target/35222
854         * configure.ac (CONFIG_SJLJ_EXCEPTIONS): Force SJLJ exceptions
855         on hpux10.
856         * configure: Rebuilt.
857
858 2008-03-04  Rafael Espindola  <espindola@google.com>
859
860         * fold-const.c (tree_simple_nonnegative_warnv_p): New.
861         (tree_unary_nonnegative_warnv_p): New.
862         (tree_binary_nonnegative_warnv_p): New.
863         (tree_single_nonnegative_warnv_p): New.
864         (tree_invalid_nonnegative_warnv_p): New.
865         (tree_expr_nonnegative_warnv_p): Redefine in term of the new functions.
866
867 2008-03-04  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
868
869         PR 28322
870         * opts.c (handle_option): Postpone 'unknown option' errors only for
871         warning options.
872
873 2008-03-04  H.J. Lu  <hongjiu.lu@intel.com>
874
875         PR target/35453
876         * config/i386/smmintrin.h (SIDD_XXX): Renamed to ...
877         (_SIDD_XXX): This.
878
879 2008-03-04  Rafael Espindola  <espindola@google.com>
880
881         * fold-const.c (tree_unary_nonzero_warnv_p): New.
882         (tree_binary_nonzero_warnv_p): New.
883         (tree_single_nonzero_warnv_p): New.
884         (tree_expr_nonzero_warnv_p): Redefine using the new functions.
885
886 2008-03-04  Uros Bizjak  <ubizjak@gmail.com>
887
888         PR middle-end/35456
889         * fold-const.c (fold_cond_expr_with_comparison): Prevent
890         transformations for modes that have signed zeros.
891         * ifcvt.c (noce_try_abs): Ditto.
892
893 2008-03-04  Joseph Myers  <joseph@codesourcery.com>
894
895         * config/i386/i386.c (override_options): Force
896         -maccumulate-outgoing-args on if TARGET_STACK_PROBE.
897
898 2008-03-04  Jan Hubicka  <jh@suse.cz>
899
900         PR c++/35262
901         * ipa-inline.c (cgraph_decide_inlining_of_small_function): Fix typo
902         in last commit.
903
904 2008-03-04  Danny Smith  <dannysmith@users.sourceforge.net>
905
906         * config/i386/i386.md (allocate_stack_worker_32): Use  __chkstk
907         label to probe the stack.
908
909 2008-03-04  Danny Smith  <dannysmith@users.sourceforge.net>
910
911         * gthr-win32.h [__GTHREAD_HIDE_WIN32API]
912         (__gthr_win32_mutex_destroy): Declare.
913         [__GTHREAD_HIDE_WIN32API] (__gthread_mutex_destroy): Use
914         __gthr_win32_mutex_destroy.
915         * config/i386/gthr-win32.c  (__gthr_win32_mutex_destroy): Define.
916
917 2008-03-03  Jan Hubicka  <jh@suse.cz>
918
919         PR c++/35262
920         * ipa-inline.c (cgraph_decide_inlining_of_small_function): Be more
921         aggressive on inlining cold calls.
922
923 2008-03-03  Richard Guenther  <rguenther@suse.de>
924
925         * tree-ssa-sccvn.c (visit_reference_op_store): Do not insert
926         struct copies into the expression table.
927         (simplify_unary_expression): Handle VIEW_CONVERT_EXPR.
928         (try_to_simplify): Likewise.
929         * fold-const.c (fold_unary): Fold VIEW_CONVERT_EXPR of
930         integral and pointer arguments which do not change the
931         precision to NOP_EXPRs.
932         * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Adjust
933         VIEW_CONVERT_EXPR case.
934
935 2008-03-02  Sebastian Pop  <sebastian.pop@amd.com>
936
937         * tree-scalar-evolution.c (instantiate_parameters_1): An SSA_NAME
938         defined in a loop at depth 0 is invariant.
939         * tree-chrec.c (evolution_function_is_invariant_rec_p): Ditto.
940         * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Should never
941         be called at loop depth 0.
942
943 2008-03-02  Jakub Jelinek  <jakub@redhat.com>
944
945         PR driver/35420
946         * gcc.c (process_command): Update copyright notice dates.
947         * gcov.c (print_version): Likewise.
948         * gcov-dump.c (print_version): Likewise.
949         * mips-tfile.c (main): Likewise.
950         * mips-tdump.c (main): Likewise.
951
952 2008-03-02  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
953
954         PR 24924
955         * c-common.c (flag_permissive): Delete.
956         (constant_expression_warnings): Check flags first.
957         (constant_expression_error): New.
958         * c-common.h (flag_permissive): Delete.
959         (constant_expression_error): Declare.
960         * flags.h (flag_permissive): Declare. Update description.
961         * diagnostic.c (pedwarn): Update.
962         (permerror): New.
963         * diagnostic.h: (pedantic_error_kind): Rename as pedantic_warning_kind.
964         (permissive_error_kind): New.
965         * toplev.c (flag_permissive): Define. Update description.
966         * toplev.h (permissive_error_kind): Declare.
967         * c-errors.c (pedwarn_c99): Use pedantic_warning_kind.
968         (pedwarn_c90): Use pedantic_warning_kind.
969         * c-opts.c (c_common_post_options): flag_permissive does not affect
970         flag_pedantic_errors.
971
972 2008-03-02  Joseph Myers  <joseph@codesourcery.com>
973
974         * libgcc2.c (__addvSI3, __addvsi3, __addvDI3, __subvSI3,
975         __subvsi3, __subvDI3, __negvSI2, __negvsi2, __negvDI2, __absvSI2,
976         __absvsi2, __absvDI2): Use unsigned arithmetic.
977
978 2008-03-02  Andi Kleen  <ak@suse.de>
979             Richard Guenther  <rguenther@suse.de>
980
981         * struct-equiv.c: Remove file.
982         * cfg_cleanup.c (condjump_equiv_p): Remove.
983         * Makefile.in (OBJS-common): Remove struct-equiv.o.
984         (struct-equiv.o): Remove rule.
985         * basic-block.h (struct_equiv_checkpoint, STRUCT_EQUIV_*,
986         insns_match_p, struct_equiv_block_eq, struct_equiv_init, 
987         rtx_equiv_p, condjump_equiv_p): Remove prototypes.
988
989 2008-03-01  Alexandre Oliva  <aoliva@redhat.com>
990
991         * ifcvt.c (noce_process_if_block): Try to handle only the then
992         block if the else block exists but isn't suitable.
993
994 2008-03-01  Janne Blomqvist  <jb@gcc.gnu.org>
995
996         PR gcc/35063
997         * gthr-posix.h (__gthread_mutex_destroy): Remove extra declarations.
998         * gthr-posix95.h (__gthread_mutex_destroy): Likewise. Note this fixes
999         regression from previous patch.
1000
1001 2008-03-01  Janne Blomqvist  <jb@gcc.gnu.org>
1002
1003         PR gcc/35063
1004         * gthr.h: Add __gthread_mutex_destroy as a function that must be
1005         implemented.
1006         * gthr-vxworks.h (__gthread_mutex_destroy): Null implementation.
1007         * gthr-single.h (__gthread_mutex_destroy): Likewise.
1008         * gthr-rtems.h (__gthread_mutex_destroy): Likewise.
1009         * gthr-mipssde.h (__gthread_mutex_destroy): Likewise.
1010         * gthr-nks.h (__gthread_mutex_destroy): Likewise.
1011         * gthr-solaris.h (__gthread_mutex_destroy): Call mutex_destroy.
1012         * gthr-win32.h (__GTHREAD_MUTEX_DESTROY_FUNCTION): Remove.
1013         (__gthread_mutex_destroy_function): Rename to
1014         __gthread_mutex_destroy.
1015         * gthr-dce.h (__gthread_mutex_destroy): Call
1016         pthread_mutex_destroy.
1017         * gthr-tpf.h (__gthread_mutex_destroy): Likewise.
1018         * gthr-posix.h (__gthread_mutex_destroy): Likewise.
1019         * gthr-posix95.h (__gthread_mutex_destroy): Likewise.
1020
1021 2008-03-01  Alexandre Oliva  <aoliva@redhat.com>
1022
1023         * df-scan.c (df_ref_chain_change_bb): Simplify.
1024         (df_insn_change_bb): Add new_bb argument.  Simplify.  Call
1025         set_block_for_insn if there's any change.
1026         * df.h ((df_insn_change_bb): Fix prototype.
1027         * cfgrtl.c (update_bb_for_insn_chain): Pass bb to
1028         df_insn_change_bb, don't call set_block_for_insn.
1029         * emit-rtl.c (reorder_insns): Likewise.
1030         * haifa-sched.c (move_insn): Likewise.
1031
1032 2008-03-01  Alexandre Oliva  <aoliva@redhat.com>
1033
1034         * rtlanal.c (loc_mentioned_in_p): Test XVECEXPs correctly.
1035
1036 2008-03-01  Alexandre Oliva  <aoliva@redhat.com>
1037
1038         * tree-flow-inline.h (next_readonly_imm_use): Return
1039         NULL_USE_OPERAND_P after the end.
1040
1041 2008-03-01  Richard Guenther  <rguenther@suse.de>
1042
1043         PR tree-optimization/35411
1044         * tree-sra.c (sra_build_assignment): Split conversion to
1045         final type to a separate statement if we are not assigning
1046         to a register.
1047
1048 2008-02-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1049
1050         * fold-const.c (fold_convertible_p): Correct the logic to follow
1051         that in fold_convert().
1052
1053 2008-02-29  Douglas Gregor  <doug.gregor@gmail.com>
1054
1055         PR c++/35315
1056         * tree-inline.c (build_duplicate_type): When we make a
1057         duplicate type, make it unique in the canonical types system.
1058
1059 2008-02-29  Tom Tromey  <tromey@redhat.com>
1060
1061         * toplev.c (input_file_stack, input_file_stack_tick, fs_p,
1062         input_file_stack_history, input_file_stack_restored): Remove.
1063         (push_srcloc, pop_srcloc, restore_input_file_stack): Likewise.
1064         * input.h (struct file_stack): Remove.
1065         (push_srcloc, pop_srcloc, restore_input_file_stack): Likewise.
1066         (input_file_stack, input_file_stack_tick, INPUT_FILE_STACK_BITS):
1067         Likewise.
1068         * diagnostic.h (struct diagnostic_context) <last_module>: Change
1069         type.
1070         (diagnostic_last_module_changed): Add 'map' argument.
1071         (diagnostic_set_last_function): Likewise.
1072         * diagnostic.c (undiagnostic_report_current_module): Iterate using
1073         line map, not input_file_stack.
1074         * c-lex.c (fe_file_change): Don't use push_srcloc or pop_srcloc.
1075
1076 2008-02-29  Paul Brook  <paul@codesourcery.com>
1077
1078         * config/arm/arm.md (arm_addsi3): Add r/k/n alternative.
1079
1080 2008-02-29  Paul Brook  <paul@codesourcery.com>
1081
1082         * config/arm/ieee754-df.S (muldf3): Use RET macros.
1083
1084 2008-02-29  Richard Guenther  <rguenther@suse.de>
1085
1086         * tree-ssa-pre.c (get_sccvn_value): Create missing VNs via
1087         vn_lookup_or_add.
1088         * tree-ssa-sccnv.c (visit_reference_op_store): Use the rhs
1089         value for comparing for a store match.
1090         (simplify_unary_expression): Do nothing for SSA_NAMEs.
1091         (try_to_simplify): Do not do a full-blown reference lookup.
1092
1093 2008-02-29  Kaz Kojima  <kkojima@gcc.gnu.org>
1094
1095         * config/sh/sh.c (sh_scalar_mode_supported_p): New function.
1096         (TARGET_SCALAR_MODE_SUPPORTED_P): Define.
1097
1098         * config/sh/sh.h (OVERRIDE_OPTIONS): Don't warn for profiling.
1099
1100 2008-02-29  Sebastian Pop  <sebastian.pop@amd.com>
1101
1102         * tree-loop-linear.c (try_interchange_loops): Compare memory access
1103         strides against cache sizes.
1104
1105 2008-02-29  Kaz Kojima  <kkojima@gcc.gnu.org>
1106
1107         * config/sh/sh.c (sh_secondary_reload): Handle loading a float
1108         constant to fpul.
1109
1110 2008-02-28  Richard Sandiford  <rsandifo@nildram.co.uk>
1111
1112         * simplify-rtx.c (simplify_unary_operation_1): Extend the handling
1113         of SUBREG_PROMOTED_VAR_P to cope with cases where the extended value
1114         is smaller than the original promoted value.
1115         (simplify_subreg): If OP is a SUBREG, try to preserve its
1116         SUBREG_PROMOTED_VAR_P information.
1117
1118 2008-02-28  Steven Bosscher  <stevenb.gcc@gmail.com>
1119
1120         * tree-ssa-sccvn (vn_ssa_aux_obstack): New obstack.
1121         (VN_INFO_GET): Allocate new objects on the obstack.
1122         (init_scc_vn): Initialize the obstack.  Use XDELETE instead of free
1123         for rpo_numbers_temp, for consistency.
1124         (free_scc_vn): Free the obstack.
1125
1126 2008-02-28  Sebastian Pop  <sebastian.pop@amd.com>
1127
1128         * doc/invoke.texi: Document -ftree-loop-distribution.
1129         * tree-loop-distribution.c: New.
1130         * tree-pass.h (pass_loop_distribution): New.
1131         * graphds.h (struct graph): Add htab_t indices.
1132         * timevar.def (TV_TREE_LOOP_DISTRIBUTION): New.
1133         * tree-vectorizer.c (rename_variables_in_loop): Extern.
1134         (slpeel_tree_duplicate_loop_to_edge_cfg): Init PENDING_STMT to NULL.
1135         * tree-vectorizer.h (tree_duplicate_loop_on_edge): Declared.
1136         * tree-data-ref.c (debug_data_dependence_relations): New.
1137         (dump_data_dependence_relation): Also print data references.
1138         (free_data_ref): Extern.
1139         (same_access_functions): Moved...
1140         (find_vertex_for_stmt): Renamed rdg_vertex_for_stmt.
1141         (dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
1142         debug_rdg_component, dump_rdg, debug_rdg, dot_rdg_1, dot_rdg,
1143         struct rdg_vertex_info, rdg_vertex_for_stmt): New.
1144         (create_rdg_edge_for_ddr, create_rdg_vertices): Cleaned up.
1145         (stmts_from_loop): Skip LABEL_EXPR.
1146         (hash_stmt_vertex_info, eq_stmt_vertex_info, hash_stmt_vertex_del):
1147         New.
1148         (build_rdg): Initialize rdg->indices htab.
1149         (free_rdg, stores_from_loop, ref_base_address,
1150         rdg_defs_used_in_other_loops_p, have_similar_memory_accesses,
1151         have_similar_memory_accesses_1, ref_base_address_1,
1152         remove_similar_memory_refs): New.
1153         * tree-data-ref.h: Depend on tree-chrec.h.
1154         (debug_data_dependence_relations, free_data_ref): Declared.
1155         (same_access_functions): ... here.
1156         (ddr_is_anti_dependent, ddrs_have_anti_deps, ddr_dependence_level):
1157         New.
1158         (struct rdg_vertex): Add has_mem_write and has_mem_reads.
1159         (RDGV_HAS_MEM_WRITE, RDGV_HAS_MEM_READS, RDG_STMT,
1160         RDG_MEM_WRITE_STMT, RDG_MEM_READS_STMT): New.
1161         (dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
1162         debug_rdg_component, dump_rdg, debug_rdg, dot_rdg,
1163         rdg_vertex_for_stmt): Declared.
1164         (struct rdg_edge): Add level.
1165         (RDGE_LEVEL): New.
1166         (free_rdg, stores_from_loop, remove_similar_memory_refs,
1167         rdg_defs_used_in_other_loops_p, have_similar_memory_accesses):
1168         Declared.
1169         (rdg_has_similar_memory_accesses): New.
1170         * tree-vect-analyze.c: Remove unused static decls.
1171         * lambda.h (dependence_level): New.
1172         * common.opt (ftree-loop-distribution): New.
1173         * tree-flow.h (mark_virtual_ops_in_bb, 
1174         slpeel_tree_duplicate_loop_to_edge_cfg,
1175         rename_variables_in_loop): Declared.
1176         * Makefile.in (TREE_DATA_REF_H): Depend on tree-chrec.h.
1177         (OBJS-common): Add tree-loop-distribution.o.
1178         (tree-loop-distribution.o): New rule.
1179         * tree-cfg.c (mark_virtual_ops_in_bb): New.
1180         (mark_virtual_ops_in_region): Use mark_virtual_ops_in_bb.
1181         * passes.c (init_optimization_passes): Schedule pass_loop_distribution.
1182
1183 2008-02-28  Joseph Myers  <joseph@codesourcery.com>
1184
1185         PR target/33963
1186         * tree.c (handle_dll_attribute): Disallow TYPE_DECLs for types
1187         other than structures and unions.
1188
1189 2008-02-28  Richard Guenther  <rguenther@suse.de>
1190
1191         Revert:
1192         2008-02-26  Richard Guenther  <rguenther@suse.de>
1193
1194         * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
1195         * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
1196         (lookup_decl_from_uid): Declare.
1197         (remove_decl_from_map): Likewise.
1198         * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
1199         * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
1200         (decl_for_uid_map): New global hashtable mapping DECL_UID
1201         to the decl tree.
1202         (init_ttree): Allocate it.
1203         (insert_decl_to_uid_decl_map): New helper function.
1204         (make_node_stat): Insert new decls into the map.
1205         (copy_node_stat): Likewise.
1206         (lookup_decl_from_uid): New function.
1207         (remove_decl_from_map): Likewise.
1208         (print_decl_for_uid_map_statistics): New helper.
1209         (dump_tree_statistics): Call it.
1210
1211         * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
1212         (referenced_var_iterator): Adjust.
1213         (FOR_EACH_REFERENCED_VAR): Adjust.
1214         (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
1215         (num_referenced_vars): Adjust.
1216         * tree-flow-inline.h (gimple_referenced_vars): Adjust.
1217         (first_referenced_var): Remove.
1218         (end_referenced_vars_p): Likewise.
1219         (next_referenced_var): Likewise.
1220         (referenced_var_iterator_set): New helper function.
1221         * tree-dfa.c (referenced_var_lookup): Adjust.
1222         (referenced_var_check_and_insert): Likewise.
1223         (remove_referenced_var): Likewise.
1224         * tree-ssa.c (verify_flow_insensitive_alias_info): Use
1225         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
1226         (verify_call_clobbering): Likewise.
1227         (verify_memory_partitions): Likewise.
1228         (init_tree_ssa): Allocate bitmap instead of hashtable for
1229         referenced_vars.
1230         (delete_tree_ssa): Adjust.
1231         * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
1232         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
1233         (compute_tag_properties): Likewise.
1234         (set_initial_properties): Likewise.
1235         (find_partition_for): Likewise.
1236         (update_reference_counts): Likewise.
1237         (dump_may_aliases_for): Likewise.
1238         * tree-ssa-operands.c (add_virtual_operand): Likewise.
1239         (add_call_clobber_ops): Likewise.
1240         (add_call_read_ops): Likewise.
1241         (get_asm_expr_operands): Likewise.
1242         * tree-into-ssa.c (dump_decl_set): Likewise.
1243         (update_ssa): Likewise.
1244         * tree-sra.c (scan_function): Likewise.
1245         (decide_instantiations): Likewise.
1246         (scalarize_parms): Likewise.
1247         * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
1248         (dsa_named_for): Likewise.
1249         * tree-ssa-structalias.c (update_alias_info): Likewise.
1250         (merge_smts_into): Likewise.
1251
1252 2008-02-27  David Daney  <ddaney@avtrex.com>
1253
1254         PR target/34409
1255         * config/mips/iris.h (MIPS_DEBUGGING_INFO): Define.
1256         * config/mips/openbsd.h (MIPS_DEBUGGING_INFO): Same.
1257         * config/mips/sde.h (MIPS_DEBUGGING_INFO): Remove undef.
1258         * config/mips/vxworks.h (MIPS_DEBUGGING_INFO): Same.
1259         * config/mips/mips.h (MIPS_DEBUGGING_INFO): Remove define.
1260
1261 2008-02-27  Uros Bizjak  <ubizjak@gmail.com>
1262
1263         PR target/25477
1264         * config/darwin-ppc-ldouble-patch.def (BUILT_IN_NANL): Add.
1265         (BUILT_IN_NEXTTOWARD): Remove.
1266         (BUILT_IN_NEXTTOWARDF): Ditto.
1267         * config/darwin.c (darwin_patch_builtin): Use ACONCAT instead of
1268         alloca/strcpy/strcat.  Remove commented-out code.  Fix whitespace.
1269
1270 2008-02-27  Tom Tromey  <tromey@redhat.com>
1271
1272         * tree-dump.c (dequeue_and_dump) <FUNCTION_DECL>: Check
1273         DECL_SAVED_TREE, not DECL_LANG_SPECIFIC, when dumping body.
1274
1275 2008-02-27  Jan Beulich  <jbeulich@novell.com>
1276
1277         * c-decl.c (merge_decls): Use DECL_USER_ALIGN() on olddecl to
1278         update the respective field on newdecl.
1279
1280 2008-02-27  Revital Eres  <eres@il.ibm.com>
1281
1282         PR rtl-optimization/34999
1283         * bb-reorder.c (add_labels_and_missing_jumps): Do not handle
1284         crossing edges that ends with a call insn.
1285         (fix_up_fall_thru_edges): Handle crossing edges that ends with a
1286         call insn and clear the EDGE_CROSSING flag of the crossing edge
1287         when fixing fallthru edges.
1288
1289 2008-02-27  Richard Guenther  <rguenther@suse.de>
1290
1291         PR middle-end/35390
1292         * fold-const.c (fold_unary): Return the correct argument,
1293         converted to the result type.
1294
1295 2008-02-27  Richard Guenther  <rguenther@suse.de>
1296
1297         PR middle-end/34971
1298         * expr.c (expand_expr_real_1): Assert on rotates that operate
1299         on partial modes.
1300         * fold-const.c (fold_binary): Use the types precision, not the
1301         bitsize of the mode if folding rotate expressions.  Build rotates
1302         only for full modes.
1303
1304 2008-02-27  Jakub Jelinek  <jakub@redhat.com>
1305
1306         * c-ppoutput.c (scan_translation_unit): Handle CPP_PRAGMA
1307         and CPP_PRAGMA_EOL.
1308         * c-pragma.c (pragma_ns_name): New typedef.
1309         (registered_pp_pragmas): New variable.
1310         (c_pp_lookup_pragma): New function.
1311         (c_register_pragma_1): If flag_preprocess_only, do nothing
1312         for non-expanded pragmas, for expanded ones push pragma's
1313         namespace and name into registered_pp_pragmas vector.
1314         (c_invoke_pragma_handler): Register OpenMP pragmas even when
1315         flag_preprocess_only, don't register GCC pch_preprocess
1316         pragma if flag_preprocess_only.
1317         * c-opts.c (c_common_init): Call init_pragma even if
1318         flag_preprocess_only.
1319         * c-pragma.c (c_pp_lookup_pragma): New prototype.
1320         * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Don't call
1321         cpp_register_pragma if flag_preprocess_only.
1322
1323 2008-02-26  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1324
1325         PR c/28800
1326         * c-parser.c (c_parser_translation_unit): Warn for empty
1327         translation unit, not empty source file.
1328
1329 2008-02-26  Paul Brook  <paul@codesourcery.com>
1330
1331         * config/arm/arm.c (thumb_set_frame_pointer): Ensure SP is first
1332         operand for Thumb-2.
1333         * config/arm/arm.h (reg_class): Add CORE_REGS.
1334         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Ditto.
1335         (BASE_REG_CLASS): Use CORE_REGS.
1336         (PREFERRED_RELOAD_CLASS): Add STACK_REG.
1337         (REGNO_MODE_OK_FOR_REG_BASE_P): Use REGNO_MODE_OK_FOR_BASE_P.
1338         (REGNO_OK_FOR_INDEX_P): Exclude SP.
1339         (ARM_REG_OK_FOR_INDEX_P): Always define.  Use
1340         ARM_REGNO_OK_FOR_INDEX_P.
1341         (ARM_PRINT_OPERAND_ADDRESS): Swap operands for [reg, sp].
1342         * config/arm/arm.md (arm_addsi3, thumb1_addsi3, arm_subsi3_insn,
1343         arm_movsi_insn, thumb1_movsi_insni, stack_tie): Add "k" alternatives.
1344         (ldm/stm peepholes): Ditto.
1345         * config/arm/thumb2.md (thumb2_movdi): Add "k" alternatives.
1346         * config/arm/vfp.md (arm_movsi_vfp, thumb2_movsi_vfp): Ditto.
1347         * config/arm/iwmmxt.md (iwmmxt_movsi_insn): Ditto.
1348         * config/arm/constraints.md: Enable "k" constraint on ARM.
1349
1350 2008-02-27  Ben Elliston  <bje@au.ibm.com>
1351
1352         * config/rs6000/rs6000.c: Annotate cache line size field in all
1353         instances of struct processor_costs.
1354
1355 2008-02-26  David Edelsohn  <edelsohn@gnu.org>
1356
1357         * dbgcnt.def (cfg_cleanup, cprop1, cprop2, dce_fast, dce_ud, dse1,
1358         dse2, gcse, if_conversion, if_after_combine, if_after_reload,
1359         jump_bypass): New counters.
1360         * cfgcleanup.c (cleanup_cfg): Add dbg_cnt.
1361         * dce.c (gate_ud_dce): Same.
1362         (gate_fast_dce): Same.
1363         * dse.c (gate_dse1): New function.
1364         (gate_dse2): New function.
1365         (gate_dse): Merge results of new gate functions.
1366         * gcse.c (gcse_main): Bracket cprop1 and cprop2 with dbg_cnt.
1367         (gate_handle_jump_bypass): Add dbg_cnt.
1368         (gate_handle_gcse): Add dbg_cnt.
1369         * ifcvt.c (gate_handle_if_conversion): Same.
1370         (gate_handle_if_after_combine): Same.
1371         (gate_handle_if_after_reload): Same.
1372         * Makefile.in: Add DBGCNT_H to cfgcleanup.o and ifcvt.o.
1373
1374 2008-02-26  Edmar Wienskoski  <edmar@freescale.com>
1375
1376         * config/rs6000/rs6000.c (processor_costs): Update e300 cache
1377         line sizes.
1378         * doc/invoke.texi: Add e300c2 and e300c3 to list of cpus.
1379
1380 2008-02-26  Jason Merrill  <jason@redhat.com>
1381
1382         PR c++/35315
1383         * attribs.c (decl_attributes): Leave ATTR_FLAG_TYPE_IN_PLACE 
1384         alone if it's the naming decl for the type's main variant.
1385
1386 2008-02-26  Tom Tromey  <tromey@redhat.com>
1387
1388         * system.h (USE_MAPPED_LOCATION): Poison.
1389         * Makefile.in (GTFILES): Put CPP_ID_DATA_H first.
1390         * tree-cfg.c (make_cond_expr_edges): Remove old location code.
1391         (make_goto_expr_edges): Likewise.
1392         (remove_bb): Likewise.
1393         (execute_warn_function_return): Likewise.
1394         * basic-block.h (struct edge_def) <goto_locus>: Change type to
1395         location_t.
1396         * c-common.c (fname_decl): Remove old location code.
1397         * tree-vect-transform.c (vect_finish_stmt_generation): Remove old
1398         location code.
1399         * rtl.h (ASM_OPERANDS_SOURCE_LOCATION): Remove old-location
1400         variant.
1401         (ASM_INPUT_SOURCE_LOCATION): Likewise.
1402         (gen_rtx_ASM_INPUT): Likewise.
1403         (gen_rtx_ASM_INPUT_loc): Likewise.
1404         (get_rtx_asm_OPERANDS): Remove.
1405         * cfglayout.c (insn_locators_alloc): Remove old location code.
1406         (set_curr_insn_source_location): Likewise.
1407         (curr_insn_locator): Likewise.
1408         * print-tree.c (print_node): Remove old location code.
1409         * tree-mudflap.c (mf_varname_tree): Remove old location code.
1410         (mf_file_function_line_tree): Remove test of USE_MAPPED_LOCATION.
1411         * cfgexpand.c (expand_gimple_cond_expr): Don't use
1412         location_from_locus.
1413         (construct_exit_block): Remove old location code.
1414         * emit-rtl.c (force_next_line_note): Remove old location code.
1415         * profile.c (branch_prob): Remove old location code.
1416         * tree-vectorizer.h (LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE,
1417         LOC_LINE): Remove old-location variants.
1418         * langhooks.c (lhd_print_error_function): Remove old location
1419         code.
1420         * configure, config.in: Rebuilt.
1421         * configure.ac (--enable-mapped-location): Remove.
1422         * c-decl.c (c_init_decl_processing): Remove old location code.
1423         (finish_function): Likewise.
1424         * recog.c (decode_asm_operands): Remove old location code.
1425         * c-pch.c (c_common_read_pch): Remove old location code.
1426         * rtl.def (ASM_INPUT, ASM_OPERANDS): Remove old location
1427         variants.
1428         * gimple-low.c (lower_function_body): Remove old location code.
1429         * toplev.c (unknown_location): Remove.
1430         (push_srcloc): Remove old-location variant.
1431         (process_options): Remove old location code.
1432         (lang_dependent_init): Likewise.
1433         * input.h (UNKNOWN_LOCATION): Move definition.
1434         (location_t): Undeprecate.
1435         (source_locus): Remove.
1436         (location_from_locus): Remove.
1437         (struct location_s): Remove.
1438         Remove all old-location code.
1439         (input_line, input_filename): Remove.
1440         * final.c (final_scan_insn): Remove old location code.
1441         * diagnostic.c (diagnostic_build_prefix): Remove
1442         USE_MAPPED_LOCATION test.
1443         * tree.h (gimple_stmt) <locus>: Now a location_t.
1444         (tree_exp) <locus>: Likewise.
1445         (DECL_IS_BUILTIN): Remove old-location variant.
1446         (annotate_with_file_line, annotate_with_locus): Likewise.
1447         (expr_locus, set_expr_locus): Update.
1448         * tree.c (build1_stat): Remove old location code.
1449         (last_annotated_node): Remove.
1450         (annotate_with_file_line): Remove old-location variant.
1451         (annotate_with_locus): Likewise.
1452         (expr_location): Remove old location code.
1453         (set_expr_location): Likewise.
1454         (expr_has_location): Likewise.
1455         (expr_locus): Likewise.
1456         (set_expr_locus): Likewise.
1457         (expr_filename): Don't use location_from_locus.
1458         (expr_lineno): Likewise.
1459         * rtl-error.c (location_for_asm): Remove old location code.
1460         * c-lex.c (cb_line_change): Remove old location code.
1461         (fe_file_change): Likewise.
1462         (cb_def_pragma): Likewise.
1463         (c_lex_with_flags): Likewise.
1464         * gengtype.c (do_typedef): Don't special-case location types.
1465         (define_location_structures): Remove.
1466         (main): Don't call define_location_structures.
1467         * tree-pretty-print.c (dump_implicit_edges): Remove old location
1468         code.
1469
1470 2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1471
1472         PR 26264
1473         * builtins.def (BUILT_IN_STDARG_START): Remove.
1474         * builtins.c (expand_builtin): Remove BUILT_IN_STDARG_START.
1475         * tree-stdarg.c (execute_optimize_stdarg): Likewise.
1476         * tree-inline.c (inline_forbidden_p_1): Likewise.
1477         
1478 2008-02-26  Richard Guenther  <rguenther@suse.de>
1479
1480         * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
1481         * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
1482         (lookup_decl_from_uid): Declare.
1483         (remove_decl_from_map): Likewise.
1484         * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
1485         * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
1486         (decl_for_uid_map): New global hashtable mapping DECL_UID
1487         to the decl tree.
1488         (init_ttree): Allocate it.
1489         (insert_decl_to_uid_decl_map): New helper function.
1490         (make_node_stat): Insert new decls into the map.
1491         (copy_node_stat): Likewise.
1492         (lookup_decl_from_uid): New function.
1493         (remove_decl_from_map): Likewise.
1494         (print_decl_for_uid_map_statistics): New helper.
1495         (dump_tree_statistics): Call it.
1496
1497         * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
1498         (referenced_var_iterator): Adjust.
1499         (FOR_EACH_REFERENCED_VAR): Adjust.
1500         (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
1501         (num_referenced_vars): Adjust.
1502         * tree-flow-inline.h (gimple_referenced_vars): Adjust.
1503         (first_referenced_var): Remove.
1504         (end_referenced_vars_p): Likewise.
1505         (next_referenced_var): Likewise.
1506         (referenced_var_iterator_set): New helper function.
1507         * tree-dfa.c (referenced_var_lookup): Adjust.
1508         (referenced_var_check_and_insert): Likewise.
1509         (remove_referenced_var): Likewise.
1510         * tree-ssa.c (verify_flow_insensitive_alias_info): Use
1511         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
1512         (verify_call_clobbering): Likewise.
1513         (verify_memory_partitions): Likewise.
1514         (init_tree_ssa): Allocate bitmap instead of hashtable for
1515         referenced_vars.
1516         (delete_tree_ssa): Adjust.
1517         * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
1518         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
1519         (compute_tag_properties): Likewise.
1520         (set_initial_properties): Likewise.
1521         (find_partition_for): Likewise.
1522         (update_reference_counts): Likewise.
1523         (dump_may_aliases_for): Likewise.
1524         * tree-ssa-operands.c (add_virtual_operand): Likewise.
1525         (add_call_clobber_ops): Likewise.
1526         (add_call_read_ops): Likewise.
1527         (get_asm_expr_operands): Likewise.
1528         * tree-into-ssa.c (dump_decl_set): Likewise.
1529         (update_ssa): Likewise.
1530         * tree-sra.c (scan_function): Likewise.
1531         (decide_instantiations): Likewise.
1532         (scalarize_parms): Likewise.
1533         * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
1534         (dsa_named_for): Likewise.
1535         * tree-ssa-structalias.c (update_alias_info): Likewise.
1536         (merge_smts_into): Likewise.
1537
1538 2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1539
1540         PR 34351
1541         * doc/invoke.texi (-Wall): Add -Wvolatile-register-var.
1542         * c-opts.c (c_common_handle_option): Wall enables
1543         Wvolatile-register-var.
1544         * common.opt: Move Wvolatile-register-var to...
1545         * c.opt: ...here.
1546         
1547 2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1548
1549         * common.opt (Wlarger-than=): New.
1550         * doc/invoke.texi (Warning Options): Replace -Wlarger-than- with
1551         -Wlarger-than=.
1552         * opts.c (common_handle_option): Handle -Wlarger-than=.
1553         * optc-gen.awk: Likewise.
1554         * opth-gen.awk: Likewise.
1555         * stor-layout.c (layout_decl): Use -Wlarger-than= for warning.
1556         * tree-optimize.c (tree_rest_of_compilation): Likewise.
1557         
1558 2008-02-26  Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1559
1560         * c-common.c (match_case_to_enum_1): Add appropriate
1561         OPT_W* parameter to warning.
1562         (c_do_switch_warnings): Likewise.
1563         * c-typeck.c (warning_init): Add one more parameter following
1564         'warning' function.
1565         (push_init_level): Update call to warning_init.
1566         (pop_init_level): Likewise.
1567         (add_pending_init): Likewise.
1568         (output_init_element: Likewise.
1569
1570 2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1571
1572         PR 28322
1573         * toplev.c (toplev_main): If there are warnings or error, print
1574         errors for ignored options.
1575         * opts.c (ignored_options): New static variable.
1576         (postpone_unknown_option_error): New.
1577         (print_ignored_options): New.
1578         (handle_option): Postpone errors for unknown -Wno-* options.
1579         * opts.h (print_ignored_options): Declare.
1580         
1581 2008-02-25  Richard Sandiford  <rsandifo@nildram.co.uk>
1582
1583         * config/mips/mips.md (loadgp_blockage, blockage): Change type
1584         to "ghost".
1585
1586 2008-02-25  Richard Guenther  <rguenther@suse.de>
1587
1588         Revert:
1589         2008-02-25  Richard Guenther  <rguenther@suse.de>
1590
1591         * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
1592         * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
1593         (lookup_decl_from_uid): Declare.
1594         * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
1595         * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
1596         (decl_for_uid_map): New global hashtable mapping DECL_UID
1597         to the decl tree.
1598         (init_ttree): Allocate it.
1599         (insert_decl_to_uid_decl_map): New helper function.
1600         (make_node_stat): Insert new decls into the map.
1601         (copy_node_stat): Likewise.
1602         (lookup_decl_from_uid): New function.
1603         (print_decl_for_uid_map_statistics): New helper.
1604         (dump_tree_statistics): Call it.
1605
1606         * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
1607         (referenced_var_iterator): Adjust.
1608         (FOR_EACH_REFERENCED_VAR): Adjust.
1609         (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
1610         (num_referenced_vars): Adjust.
1611         * tree-flow-inline.h (gimple_referenced_vars): Adjust.
1612         (first_referenced_var): Remove.
1613         (end_referenced_vars_p): Likewise.
1614         (next_referenced_var): Likewise.
1615         (referenced_var_iterator_set): New helper function.
1616         * tree-dfa.c (referenced_var_lookup): Adjust.
1617         (referenced_var_check_and_insert): Likewise.
1618         (remove_referenced_var): Likewise.
1619         * tree-ssa.c (verify_flow_insensitive_alias_info): Use
1620         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
1621         (verify_call_clobbering): Likewise.
1622         (verify_memory_partitions): Likewise.
1623         (init_tree_ssa): Allocate bitmap instead of hashtable for
1624         referenced_vars.
1625         (delete_tree_ssa): Adjust.
1626         * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
1627         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
1628         (compute_tag_properties): Likewise.
1629         (set_initial_properties): Likewise.
1630         (find_partition_for): Likewise.
1631         (update_reference_counts): Likewise.
1632         (dump_may_aliases_for): Likewise.
1633         * tree-ssa-operands.c (add_virtual_operand): Likewise.
1634         (add_call_clobber_ops): Likewise.
1635         (add_call_read_ops): Likewise.
1636         (get_asm_expr_operands): Likewise.
1637         * tree-into-ssa.c (dump_decl_set): Likewise.
1638         (update_ssa): Likewise.
1639         * tree-sra.c (scan_function): Likewise.
1640         (decide_instantiations): Likewise.
1641         (scalarize_parms): Likewise.
1642         * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
1643         (dsa_named_for): Likewise.
1644         * tree-ssa-structalias.c (update_alias_info): Likewise.
1645         (merge_smts_into): Likewise.
1646
1647 2008-02-25  Janne Blomqvist  <jb@gcc.gnu.org>
1648
1649         PR fortran/29549
1650         * doc/invoke.texi (-fcx-limited-range): Document new option.
1651         * toplev.c (process_options): Handle -fcx-fortran-rules.
1652         * common.opt: Add documentation for -fcx-fortran-rules.
1653
1654 2008-02-25  Janne Blomqvist  <jb@gcc.gnu.org>
1655
1656         PR c/35162
1657         * doc/invoke.texi (-fcx-limited-range): Correct to be in line with
1658         actual behaviour and C99.
1659         
1660 2008-02-26  Ben Elliston  <bje@au.ibm.com>
1661
1662         * config/rs6000/rs6000.h (ASM_CPU_POWER5_SPEC): Define.
1663         (ASM_CPU_POWER6_SPEC): Likewise.
1664         (ASM_CPU_SPEC): Pass %(asm_cpu_power5) for -mcpu=power5.
1665         Likewise, pass %(asm_cpu_power6) for -mcpu=power6.
1666         (EXTRA_SPECS): Add asm_cpu_power5, asm_cpu_power6 spec strings.
1667
1668 2008-02-25  Richard Guenther  <rguenther@suse.de>
1669
1670         * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
1671         * tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
1672         (lookup_decl_from_uid): Declare.
1673         * tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
1674         * tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
1675         (decl_for_uid_map): New global hashtable mapping DECL_UID
1676         to the decl tree.
1677         (init_ttree): Allocate it.
1678         (insert_decl_to_uid_decl_map): New helper function.
1679         (make_node_stat): Insert new decls into the map.
1680         (copy_node_stat): Likewise.
1681         (lookup_decl_from_uid): New function.
1682         (print_decl_for_uid_map_statistics): New helper.
1683         (dump_tree_statistics): Call it.
1684
1685         * tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
1686         (referenced_var_iterator): Adjust.
1687         (FOR_EACH_REFERENCED_VAR): Adjust.
1688         (FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
1689         (num_referenced_vars): Adjust.
1690         * tree-flow-inline.h (gimple_referenced_vars): Adjust.
1691         (first_referenced_var): Remove.
1692         (end_referenced_vars_p): Likewise.
1693         (next_referenced_var): Likewise.
1694         (referenced_var_iterator_set): New helper function.
1695         * tree-dfa.c (referenced_var_lookup): Adjust.
1696         (referenced_var_check_and_insert): Likewise.
1697         (remove_referenced_var): Likewise.
1698         * tree-ssa.c (verify_flow_insensitive_alias_info): Use
1699         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
1700         (verify_call_clobbering): Likewise.
1701         (verify_memory_partitions): Likewise.
1702         (init_tree_ssa): Allocate bitmap instead of hashtable for
1703         referenced_vars.
1704         (delete_tree_ssa): Adjust.
1705         * tree-ssa-alias.c (mark_aliases_call_clobbered): Use
1706         FOR_EACH_REFERENCED_VAR_IN_BITMAP.
1707         (compute_tag_properties): Likewise.
1708         (set_initial_properties): Likewise.
1709         (find_partition_for): Likewise.
1710         (update_reference_counts): Likewise.
1711         (dump_may_aliases_for): Likewise.
1712         * tree-ssa-operands.c (add_virtual_operand): Likewise.
1713         (add_call_clobber_ops): Likewise.
1714         (add_call_read_ops): Likewise.
1715         (get_asm_expr_operands): Likewise.
1716         * tree-into-ssa.c (dump_decl_set): Likewise.
1717         (update_ssa): Likewise.
1718         * tree-sra.c (scan_function): Likewise.
1719         (decide_instantiations): Likewise.
1720         (scalarize_parms): Likewise.
1721         * tree-ssa-alias-warnings.c (build_reference_table): Likewise.
1722         (dsa_named_for): Likewise.
1723         * tree-ssa-structalias.c (update_alias_info): Likewise.
1724         (merge_smts_into): Likewise.
1725
1726 2008-02-25  Andreas Krebbel  <krebbel1@de.ibm.com>
1727
1728         PR target/35258
1729         * cse.c (cse_insn): Avoid creation of overlapping MEMs.
1730         * alias.c (nonoverlapping_memrefs_p): Export for use in other modules.
1731         * alias.h (nonoverlapping_memrefs_p): Likewise.
1732
1733 2008-02-25  Jan Beulich  <jbeulich@novell.com>
1734
1735         * Makefile.in: Also prefix uses of crt0.o and mcrt0.o with $(T).
1736         * config/i386/netware-libgcc.exp: Add __bswap?i2,
1737         __emultls_get_address, __emultls_register_common,
1738         __floatundi?f, and _Unwind_GetIPInfo.
1739         * config/i386/netware.c (gen_stdcall_or_fastcall_decoration):
1740         Sync with config/i386/winnt.c:gen_stdcall_or_fastcall_suffix().
1741         (gen_regparm_prefix): Likewise.
1742         (i386_nlm_encode_section_info): Sync with
1743         config/i386/winnt.c:i386_pe_encode_section_info().
1744         (i386_nlm_maybe_mangle_decl_assembler_name): New.
1745         i386_nlm_mangle_decl_assembler_name): New.
1746         (netware_override_options): New.
1747         * config/i386/netware.h (netware_override_options): Declare.
1748         (OVERRIDE_OPTIONS): Re-define to netware_override_options.
1749         (i386_nlm_mangle_decl_assembler_name): Declare.
1750         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Define.
1751
1752 2008-02-25  Ben Elliston  <bje@au.ibm.com>
1753
1754         PR other/32948
1755         * c-decl.c (grokdeclarator): Remove unused local variables
1756         `typedef_type' and `type_as_written'.
1757         * bb-reorder.c
1758         (find_rarely_executed_basic_blocks_and_crossing_edges): Remove
1759         unused local variable `has_hot_blocks'.
1760         (fix_crossing_conditional_branches): Remove unused local variable
1761         `prev_bb'.
1762         
1763 2008-02-25  Uros Bizjak  <ubizjak@gmail.com>
1764
1765         PR middle-end/19984
1766         * builtins.def (BUILT_IN_NAN): Define as c99 builtin
1767         using DEF_C99_BUILTIN.
1768         (BUILT_IN_NANF): Ditto.
1769         (BUILT_IN_NANL): Ditto.
1770
1771 2008-02-25  Ayal Zaks  <zaks@il.ibm.com>
1772             Revital Eres  <eres@il.ibm.com>
1773
1774         * modulo-sched.c (calculate_must_precede_follow): Address TODO
1775         regarding the order of two dependent insns in the same row.
1776
1777 2008-02-25  Eric Botcazou  <ebotcazou@adacore.com>
1778
1779         * stor-layout.c (layout_decl): Do not bump the alignment of a
1780         bit-field to more than byte alignment if it is packed.
1781
1782 2008-02-24  David Edelsohn  <edelsohn@gnu.org>
1783
1784         * config/rs6000/rs6000.c (processor_costs): Add cache costs for
1785         e300c2 and e300c3.
1786
1787 2008-02-24  Diego Novillo  <dnovillo@google.com>
1788
1789         http://gcc.gnu.org/ml/gcc-patches/2008-02/msg01094.html
1790
1791         PR 33738
1792         * tree-vrp.c (vrp_evaluate_conditional): With
1793         -Wtype-limits, emit a warning when comparing against a
1794         constant outside the natural range of OP0's type.
1795         * c.opt (Wtype-limits): Move ...
1796         * common.opt (Wtype-limits): ... here.
1797
1798 2008-02-24  Edmar Wienskoski  <edmar@freescale.com>
1799
1800         * config.gcc (powerpc*-*-*): Add new cores e300c2 and e300c3.
1801         * config/rs6000/e300c2c3.md: New file.
1802         * config/rs6000/rs6000.c (processor_costs): Add new costs for
1803         e300c2 and e300c3.
1804         (rs6000_override_options): Add e300c2 and e300c3 cases to
1805         processor_target_table. Do not allow usage of Altivec or Spe
1806         with e300 cores. Initialize rs6000_cost for e300c2 and e300c3.
1807         (rs6000_issue_rate): Set issue rate for e300c2 and e300c3.
1808         * config/rs6000/rs6000.h (processor_type): Add
1809         PROCESSOR_PPCE300C2 and PROCESSOR_PPCE300C3.
1810         (ASM_CPU_SPEC): Add e300c2 and e300c3.
1811         * config/rs6000/rs6000.md (define_attr "cpu"): Add ppce300c2
1812         and ppce300c3. Include e300c2c3.md.
1813
1814 2008-02-23  David Edelsohn  <edelsohn@gnu.org>
1815
1816         * config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Use STRICT_ALIGNMENT
1817         instead of TARGET_STRICT_ALIGN.
1818
1819 2008-02-23  Joseph Myers  <joseph@codesourcery.com>
1820
1821         * explow.c (memory_address): Assert that the generated address is
1822         valid.
1823
1824 2008-02-23  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1825
1826         PR target/25477
1827         * config/darwin-protos.h: Add darwin_patch_builtins prototype.
1828         * config/darwin-ppc-ldouble-patch.def: New file.
1829         * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): New macro.
1830         * config/rs6000/rs6000.c (rs6000_init_builtins): Call
1831         SUBTARGET_INIT_BUILTINS if defined.
1832         * config/darwin.c (darwin_patch_builtin, darwin_patch_builtins):
1833         New functions.
1834
1835 2008-02-23  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1836
1837         PR rtl-opt/33512
1838         * simplify-rtx.c (simplify_binary_operation_1): Add simplification
1839         of (and X (ior (not X) Y) and (and (ior (not X) Y) X).
1840
1841 2008-02-23  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1842
1843         PR pch/35027
1844         * c-pch.c (c_common_valid_pch): Make the "too short to be a PCH
1845         file" warning condtional on -Winvalid-PCH.
1846
1847 2008-02-23  Daniel Jacobowitz  <dan@codesourcery.com>
1848
1849         * expmed.c (extract_bit_field): Always use adjust_address for MEM.
1850
1851 2008-02-23  Uros Bizjak  <ubizjak@gmail.com>
1852
1853         PR target/22076
1854         PR target/34256 
1855         * config/i386/mmx.md (*mov<mode>_internal_rex64): Use "!y" to
1856         prevent reload from using MMX registers.
1857         (*mov<mode>_internal): Ditto.
1858         (*movv2sf_internal_rex64): Ditto.
1859         (*movv2sf_internal): Ditto.
1860
1861 2008-02-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1862
1863         PR documentation/31569
1864         * doc/install.texi2html: Use makeinfo --no-number-sections.
1865
1866 2008-02-22  Nathan Froyd  <froydnj@codesourcery.com>
1867
1868         * config/rs6000/rs6000.c (rs6000_legitimize_address): Check to
1869         ensure that we can address an entire entity > 8 bytes.  Don't
1870         generate reg+reg addressing for such data.
1871
1872 2008-02-22  Nathan Froyd  <froydnj@codesourcery.com>
1873
1874         * config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Don't overalign
1875         strings when optimizing for size, unless the target cares about
1876         alignment.
1877
1878 2008-02-22  Tom Tromey  <tromey@redhat.com>
1879
1880         * regclass.c (current_pass): Remove declaration.
1881
1882 2008-02-22  Anatoly Sokolov <aesok@post.ru>
1883
1884         * config/avr/libgcc.S (__RAMPZ__): Define.
1885         (__do_copy_data): Add for devices with 128KB code memory.
1886
1887 2008-02-22  Nathan Froyd  <froydnj@codesourcery.com>
1888
1889         * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
1890         Use spe_abi.
1891         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
1892
1893 2008-02-22  Hans-Peter Nilsson  <hp@axis.com>
1894
1895         * config/cris/cris.h (REG_CLASS_FROM_LETTER): Recognize 'b' for
1896         GENNONACR_REGS.
1897
1898 2008-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1899
1900         PR c/19999
1901         * c-typeck.c (build_binary_op): Warn about floating point
1902         comparisons if FLOAT_TYPE_P, not only for REAL_TYPE.
1903
1904 2008-02-21  Janis Johnson  <janis187@us.ibm.com>
1905
1906         PR target/34526
1907         * config/rs6000/rs6000.c (rs6000_altivec_abi): Clarify comment.
1908         (rs6000_explicit_options): Split abi into spe_abi and altivec_abi,
1909         add vrsave.
1910         (rs6000_override_options): Set altivec_abi as default, not override,
1911         for 64-bit GNU/Linux; for 32-bit GNU/Linux default to altivec_abi for
1912         TARGET_ALTIVEC; default to TARGET_ALTIVEC_VRSAVE when AltiVec ABI
1913         is used; use new member spe_abi.
1914         (rs6000_handle_option): Set rs6000_explicit_options.vrsave; use
1915         spe_abi and altivec_abi.
1916
1917 2008-02-22  Tomas Bily  <tbily@suse.cz>
1918
1919         * tree-vectorizer.c (vect_is_simple_reduction): Fix comment typo.
1920
1921 2008-02-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1922
1923         PR bootstrap/35273
1924         * config.build (build_file_translate): Set to `CMD //c' only if
1925         it works.
1926         * Makefile.in (build_file_translate): Improve comment.
1927
1928 2008-02-21  Jan Hubicka  <jh@suse.cz>
1929
1930         * predict.def (PRED_TREE_OPCODE_POSITIVE, PRED_TREE_OPCODE_NONEQUAL,
1931         PRED_TREE_OPCODE_POSITIVE, PRED_TREE_OPCODE_NONEQUAL, PRED_CALL,
1932         PRED_TREE_EARLY_RETURN, PRED_NULL_RETURN): Update.
1933
1934 2008-02-21  Michael Matz  <matz@suse.de>
1935
1936         PR target/35264
1937         * config/i386/i386.c (ix86_expand_branch): Add missing breaks.
1938
1939 2008-02-21  Uros Bizjak  <ubizjak@gmail.com>
1940
1941         * config/i386/i386.md (mov<mode>cc): Macroize expander from movsfcc,
1942         movdfcc and movxfcc using X87MODEF mode iterator and SSE_FLOAT_MODE_P
1943         as insn constraint.
1944         * config/i386/sse.md (<sse>_movup<ssemodesuffixf2c>): Macroize insn
1945         from sse_movups adn sse2_movupd using SSEMODEF2P mode iterator and
1946         SSE_VEC_FLOAT_MODE_P as insn constraint.
1947         (<sse>_movmskp<ssemodesuffixf2c>): Ditto from similar patterns.
1948         (sse4a_movnt<mode>): Macroize insn from sse4a_movntsf and
1949         sse4a_movntdf using MODEF mode iterator.
1950         (sse4a_vmmovnt<mode>): Macroize insn form sse4a_vmmovntv2df and
1951         sse4a_vmmovntv4sf using SSEMODEF2P mode iterator.
1952         (sse4_1_blendp<ssemodesuffixf2c>): Ditto from similar patterns.
1953         (sse4_1_blendvp<ssemodesuffixf2c>): Ditto.
1954         (sse4_1_dpp<ssemodesuffixf2c>): Ditto.
1955         (sse4_1_roundp<ssemodesuffixf2c>): Ditto.
1956         (sse4_1_rounds<ssemodesuffixf2c>): Ditto.
1957
1958 2008-02-21  Richard Guenther  <rguenther@suse.de>
1959
1960         * tree.def (PAREN_EXPR): New tree code.
1961         * fold-const.c (fold_unary): Remove PAREN_EXPR around constants
1962         and PAREN_EXPR.
1963         * tree-pretty-print.c (dump_generic_node): Handle PAREN_EXPR.
1964         * expr.c (expand_expr_real_1): Likewise.
1965         * tree-inline.c (estimate_num_insns_1): Likewise.
1966         * tree-complex.c (expand_complex_move): Likewise.
1967         * tree-vectorizer.c (vect_is_simple_use): Treat PAREN_EXPR (x)
1968         as plain x.
1969
1970 2008-02-20  Kaz Kojima  <kkojima@gcc.gnu.org>
1971
1972         PR target/35225
1973         * config/sh/sh.c (find_barrier): Don't go past 'from' argument.
1974
1975 2008-02-20  Kaz Kojima  <kkojima@gcc.gnu.org>
1976
1977         PR target/35190
1978         * config/sh/sh.md (jump_compact): Disable for crossing jumps.
1979
1980         * config/sh/sh.c (find_barrier): Don't go past
1981         NOTE_INSN_SWITCH_TEXT_SECTIONS note.
1982
1983 2008-02-20  DJ Delorie  <dj@redhat.com>
1984
1985         * config/h8300/h8300.md (insv): Force source operand to be a register.
1986
1987         * config/h8300/h8300.c (h8300_expand_epilogue): Emit return insn
1988         as a jump, not as a plain insn.
1989         
1990 2008-02-20  Seongbae Park <seongbae.park@gmail.com>
1991
1992         * doc/invoke.texi (Warning Options): Add new option
1993         -Wframe-larger-than=.
1994         (-Wframe-larger-than): Document.
1995
1996         * flags.h (warn_frame_larger_than, frame_larger_than_size):
1997         Add declarations for new option variables.
1998
1999         * final.c (final_start_function): Check the frame size
2000         before emission and issue a Wframe-larger-than warning.
2001
2002         * opts.c (warn_frame_larger_than, frame_larger_than_size):
2003         Add definitions for new option variables.
2004         (common_handle_option): Handle new option OPT_Wframe_larger_than_.
2005
2006         * common.opt (Wframe-larger-than=): New option.
2007
2008 2008-02-20  Uros Bizjak  <ubizjak@gmail.com>
2009
2010         * config/i386/sse.md (<sse>_vmmul<mode>3): Fix typo in asm template.
2011         (<sse>_div<mode>3): Ditto.
2012         (<sse>_vmdiv<mode>3): Ditto.
2013         (<sse>_vmsqrt<mode>2): Ditto.
2014         (*smax<mode>3): Ditto.
2015         (sse5_frcz<mode>2): Ditto.
2016         (sse5_vmfrcz<mode>2): Ditto.  Use TARGET_SSE5 instead of TARGET_ROUND
2017         as insn constraint.
2018
2019 2008-02-20  Richard Guenther  <rguenther@suse.de>
2020
2021         PR middle-end/35265
2022         * builtins.c (validate_arg): If we want an INTEGER_TYPE,
2023         be happy with INTEGRAL_TYPE_P.
2024
2025 2008-02-20  Richard Guenther  <rguenther@suse.de>
2026
2027         * fold-const.c (split_tree): Associate floatig-point expressions
2028         if flag_associative_math is set.
2029
2030 2008-02-20  Richard Guenther  <rguenther@suse.de>
2031
2032         * tree.h (fold_real_zero_addition_p): Declare.
2033         * fold-const.c (fold_real_zero_addition_p): Export.
2034         * tree-ssa-reassoc.c (eliminate_using_constants): Also handle
2035         floating-point operations with zero and one.
2036
2037 2008-02-20  Paolo Bonzini  <bonzini@gnu.org>
2038
2039         * doc/install.texi: Correct references to CFLAGS, replacing them
2040         with BOOT_CFLAGS.  Document flags used during bootstrap for
2041         target libraries.
2042                                 
2043 2008-02-20  Uros Bizjak  <ubizjak@gmail.com>
2044
2045         * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): New define.
2046         * config/i386/i386.md (*sse_setcc<mode>): Macroize from *sse_setccsf
2047         and *sse_setccdf using MODEF mode iterator and SSE_FLOAT_MODE_P as
2048         insn constraint.
2049         (smin<mode>3): Ditto from similar patterns.
2050         (smax<mode>3): Ditto.
2051         (*ieee_smin<mode>3): Ditto.
2052         (*ieee_smax<mode>3): Ditto.
2053         * config/i386/sse.md (sse): New mode attribute.
2054         (mov<mode>): Macroize expander from movv4sf and movv2df using
2055         SSEMODEF2P mode iterator.
2056         (<sse>_movnt<mode>): Ditto from similar patterns. Use
2057         SSE_VEC_FLOAT_MODE_P as insn constraint.
2058         (storent<mode>): Ditto.
2059         (storent<mode>): Macroize expander from storentsf and storentdf using
2060         MODEF mode iterator.
2061         (neg<mode>2): Macroize from negv4sf2 and negv2df2 using SSEMODEF2P
2062         mode iterator and SSE_VEC_FLOAT_MODE_P as insn constraint.
2063         (abs<mode>2): Ditto from similar patterns.
2064         (add<mode>3, *add<mode>3, <sse>_vmadd<mode>3): Ditto.
2065         (sub<mode>3, *sub<mode>3, <sse>_vmsub<mode>3): Ditto.
2066         (<sse>_div<mode>3, <sse>_vmdiv<mode>3): Ditto.
2067         (<sse>_vmsqrt<mode>2): Ditto.
2068         (smin<mode>3, *smin<mode>3_finite, *smin<mode>3)
2069         (<sse>_vmsmin<mode>3, *ieee_smin<mode>3): Ditto.
2070         (smax<mode>3, *smax<mode>3_finite, *smax<mode>3)
2071         (<sse>_vmsmax<mode>3, *ieee_smax<mode>3): Ditto.
2072         (<sse>_maskcmp<mode>3): Macroize from sse_maskcmpv4sf3,
2073         sse_maskcmpsf3, sse2_maskcmpv2df3 and sse2_maskcmpdf3 using SSEMODEF4
2074         mode iterator. Use SSE_FLOAT_MODE_P with SSE_VEC_FLOAT_MODE_P as
2075         insn constraint.
2076         (<sse>_comi): Macroize from sse_comi and sse2_comi using MODEF mode
2077         iterator and SSE_FLOAT_MODE_P as insn constraint.
2078         (<sse>_ucomi): Ditto from similar patterns.
2079         (<sse>_vmmaskcmp<mode>3): Macroize from sse_vmmaskcmpv4sf3 and
2080         sse2_vmmaskcmpv2df3 using SSEMODEF2P mode iterator and
2081         SSE_VEC_FLOAT_MODE_P as insn constraint.
2082         (vcond<mode>): Ditto from similar patterns.
2083         (and<mode>3, *and<mode>3): Ditto.
2084         (<sse>_nand<mode>3): Ditto.
2085         (ior<mode>3, *ior<mode>3): Ditto.
2086         (xor<mode>3, *xor<mode>3): Ditto.
2087         (*and<mode>3): Macroize from *andsf3 and *anddf3 using MODEF mode
2088         iterator and SSE_FLOAT_MODE_P as insn constraint.
2089         (*nand<mode>3): Ditto from similar patterns.
2090         (*ior<mode>3): Ditto.
2091         (*xor<mode>3): Ditto.
2092
2093 2008-02-20  Ira Rosen  <irar@il.ibm.com>
2094
2095         * config/spu/spu.md (vec_unpacku_hi_v8hi, vec_unpacku_lo_v8hi,
2096         vec_unpacks_hi_v8hi, vec_unpacks_lo_v8hi, vec_unpacku_hi_v16qi,
2097         vec_unpacku_lo_v16qi, vec_unpacks_lo_v16qi): Implement.
2098
2099 2008-02-19  Jan Hubicka  <jh@suse.cz>
2100
2101         * predict.c (tree_bb_level_predictions): Remove variable next
2102         mistakely introduced by previous commit.
2103
2104 2008-02-19  Jan Hubicka  <jh@suse.cz>
2105
2106         * predict.c (predict_paths_leading_to): Rewrite.
2107         (predict_paths_for_bb): New.
2108         (tree_bb_level_predictions): Update call of predict_paths_leading_to.
2109
2110 2008-02-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2111
2112         PR bootstrap/35218
2113         * Makefile.in (build_file_translate): New.
2114         (gcc-vers.texi): Use it for translating $(abs_srcdir).
2115         * config.build (build_file_translate): Set to `CMD //c' on MinGW.
2116         * configure.ac (build_file_translate): Substitute it.
2117         * configure: Regenerate.
2118
2119 2008-02-19  Jan Hubicka  <jh@suse.cz>
2120
2121         PR rtl-optimization/34408
2122         * see.c (see_def_extension_not_merged): Copy subreg so we don't have
2123         invalid sharing.
2124
2125 2008-02-19  Jan Hubicka  <jh@suse.cz>
2126
2127         PR middle-end/28779
2128         * tree-inline.c (estimate_num_insns_1): Fix counting of cost of
2129         call_expr.
2130
2131 2008-02-19  H.J. Lu  <hongjiu.lu@intel.com>
2132
2133         PR Ada/35186
2134         * config/i386/i386-modes.def: Revert the last DI alignment
2135         change until Ada people can look into it.
2136
2137 2008-02-19  Nick Clifton  <nickc@redhat.com>
2138
2139         * opts.c (print_specific_help): Fix typo in --help text.
2140
2141 2008-02-19  Jakub Jelinek  <jakub@redhat.com>
2142
2143         PR target/35239
2144         * config/i386/cpuid.h (__cpuid, __get_cpuid_max): Use special
2145         32-bit inline asm without asm alternatives for host GCC < 3.0.
2146
2147 2008-02-19  Richard Guenther  <rguenther@suse.de>
2148
2149         PR tree-optimization/34989
2150         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Re-structure.
2151         Allow propagation to INDIRECT_REF if we can simplify only.
2152
2153 2008-02-19  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2154
2155         * c-common.c (warn_for_collisions_1): Use appropriate option when
2156         warning.
2157
2158 2008-02-19  Nick Clifton  <nickc@redhat.com>
2159
2160         PR other/31349
2161         * opts.c (undocumented_msg): Leave blank unless checking is enabled.
2162         (handle_options): Fix indentation.
2163         (print_filtered_help): If no language-specific options were
2164         displayed tell the user how to list all the options supported by
2165         the language's front-end.
2166         (print_specific_help): Fix indentation and remove duplicate line.
2167         (common_handle_option): Handle the -v option.
2168         For --help enable the display of undocumented options if the -v
2169         switch has been included on the command line.
2170         For --help= check for overlaps in the arguments between the option
2171         classes and the language names and issue a warning when they
2172         cannot be disambiguated.
2173         * c.opt (v): Pass on to the common option handler.
2174
2175 2008-02-19  Revital Eres  <eres@il.ibm.com> 
2176
2177         * modulo-sched.c (sms_schedule): Change dump message when
2178         create_ddg function fails.
2179         (try_scheduling_node_in_cycle): Rename row to cycle.
2180         (print_partial_schedule): Rename CYCLE to ROW.
2181
2182 2008-02-19  Christian Bruel  <christian.bruel@st.com>
2183             Zdenek Dvorak  <ook@ucw.cz>
2184
2185         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check step alignment.
2186
2187 2008-02-19  Uros Bizjak  <ubizjak@gmail.com>
2188
2189         PR target/33555
2190         * config/i386/i386.md (*x86_movsicc_0_m1_se): New insn pattern.
2191         (*x86_movdicc_0_m1_se): Ditto.
2192
2193 2008-02-19  Uros Bizjak  <ubizjak@gmail.com>
2194
2195         * config/i386/sfp-machine.h (__gcc_CMPtype): New typedef.
2196         (CMPtype): Define as __gcc_CMPtype.
2197         * config/rs6000/sfp-machine.h (__gcc_CMPtype): New typedef.
2198         (CMPtype): Define as __gcc_CMPtype.
2199
2200 2008-02-19  Hans-Peter Nilsson  <hp@axis.com>
2201
2202         Support valgrind 3.3 for --enable-checking=valgrind.
2203         * system.h: Consolidate ENABLE_VALGRIND_CHECKING-dependent defines
2204         here.
2205         [!VALGRIND_MAKE_MEM_NOACCESS]: Define as VALGRIND_MAKE_NOACCESS.
2206         [!VALGRIND_MAKE_MEM_DEFINED]: Define as VALGRIND_MAKE_READABLE.
2207         [!VALGRIND_MAKE_MEM_UNDEFINED]: Define as VALGRIND_MAKE_WRITABLE.
2208         * ggc-common.c: Remove ENABLE_VALGRIND_CHECKING-dependent defines.
2209         Replace use of VALGRIND_MAKE_READABLE, VALGRIND_MAKE_WRITABLE, and
2210         VALGRIND_MAKE_NOACCESS with VALGRIND_MAKE_MEM_DEFINED,
2211         VALGRIND_MAKE_MEM_UNDEFINED, and VALGRIND_MAKE_MEM_NOACCESS
2212         respectively.
2213         * ggc-zone.c: Similar.
2214         * ggc-page.c: Similar.
2215
2216 2008-02-19  Paul Brook  <paul@codesourcery.com>
2217
2218         PR target/35071
2219         * config/arm/ieee754-df.S: Fix do_it typo.
2220         * config/arm/ieee754-sf.S: Fix do_it typo.
2221
2222 2008-02-18  H.J. Lu  <hongjiu.lu@intel.com>
2223
2224         PR target/35189
2225         * config/i386/i386.c (OPTION_MASK_ISA_MMX_SET): New.
2226         (OPTION_MASK_ISA_3DNOW_SET): Likewise.
2227         (OPTION_MASK_ISA_SSE_SET): Likewise.
2228         (OPTION_MASK_ISA_SSE2_SET): Likewise.
2229         (OPTION_MASK_ISA_SSE3_SET): Likewise.
2230         (OPTION_MASK_ISA_SSSE3_SET): Likewise.
2231         (OPTION_MASK_ISA_SSE4_1_SET): Likewise.
2232         (OPTION_MASK_ISA_SSE4_2_SET): Likewise.
2233         (OPTION_MASK_ISA_SSE4_SET): Likewise.
2234         (OPTION_MASK_ISA_SSE4A_SET): Likewise.
2235         (OPTION_MASK_ISA_SSE5_SET): Likewise.
2236         (OPTION_MASK_ISA_3DNOW_A_UNSET): Likewise.
2237         (OPTION_MASK_ISA_MMX_UNSET): Updated.
2238         (OPTION_MASK_ISA_3DNOW_UNSET): Updated.
2239         (OPTION_MASK_ISA_SSE_UNSET): Likewise.
2240         (OPTION_MASK_ISA_SSE3_UNSET): Likewise.
2241         (OPTION_MASK_ISA_SSSE3_UNSET): Likewise.
2242         (OPTION_MASK_ISA_SSE4_1_UNSET): Likewise.
2243         (OPTION_MASK_ISA_SSE4_2_UNSET): Likewise.
2244         (OPTION_MASK_ISA_SSE4A_UNSET): Likewise.
2245         (OPTION_MASK_ISA_SSE5_UNSET): Likewise.
2246         (OPTION_MASK_ISA_SSE4): Removed.
2247         (ix86_handle_option): Turn on bits in ix86_isa_flags and
2248         ix86_isa_flags_explicit with OPTION_MASK_ISA_XXX_SET for -mXXX.
2249         (override_options): Don't turn on implied SSE/MMX bits in
2250         ix86_isa_flags.
2251
2252 2008-02-18  H.J. Lu  <hongjiu.lu@intel.com>
2253
2254         * config/i386/i386-modes.def: Use 4 byte alignment on DI for
2255         32bit host.
2256
2257 2008-02-18  Joey Ye  <joey.ye@intel.com>
2258
2259         PR middle-end/34921
2260         * tree-nested.c (insert_field_into_struct): Set type alignment
2261         to field alignment if the former is less than the latter.
2262
2263 2008-02-18  Jakub Jelinek  <jakub@redhat.com>
2264
2265         * BASE-VER: Set to 4.4.0.
2266
2267 2008-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2268
2269         * doc/c-tree.texi: Use @dots{} and @enddots{} where appropriate.
2270         * doc/cfg.texi: Likewise.
2271         * doc/extend.texi: Likewise.
2272         * doc/gty.texi: Likewise.
2273         * doc/invoke.texi: Likewise.
2274         * doc/loop.texi: Likewise.
2275         * doc/md.texi: Likewise.
2276         * doc/passes.texi: Likewise.
2277         * doc/rtl.texi: Likewise.
2278         * doc/sourcebuild.texi: Likewise.
2279         * doc/tm.texi: Likewise.
2280         * doc/tree-ssa.texi: Likewise.
2281
2282 2008-02-17  Richard Guenther  <rguenther@suse.de>
2283
2284         PR middle-end/35227
2285         * tree-complex.c (init_parameter_lattice_values): Handle parameters
2286         without default definition.
2287
2288 2008-02-17  Richard Guenther  <rguenther@suse.de>
2289
2290         PR tree-optimization/35231
2291         * tree-vrp.c (register_edge_assert_for): Do not assume A == 0
2292         if A | B != 1.
2293
2294 2008-02-17  Uros Bizjak  <ubizjak@gmail.com>
2295
2296         Revert:
2297
2298         2008-02-15  Uros Bizjak  <ubizjak@gmail.com>    
2299         * config/i386/sfp-machine.h (CMPtype): Define as typedef using
2300         libgcc_cmp_return mode.
2301
2302 2008-02-16  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2303
2304         PR c/28368
2305         * doc/invoke.texi (-std): Clarify description of -std= and -ansi.
2306
2307 2008-02-16  Ralf Corsepius  <ralf.corsepius@rtems.org>
2308
2309         * config/m68k/t-rtems (M68K_MLIB_CPU): Add 5208, 5307, 5407, 5475
2310         multilibs.
2311
2312 2008-02-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2313
2314         * doc/c-tree.texi: Use `@.' where appropriate.
2315         * doc/extend.texi: Likewise.
2316         * doc/install.texi: Likewise.
2317         * doc/invoke.texi: Likewise.
2318         * doc/loop.texi: Likewise.
2319         * doc/makefile.texi: Likewise.
2320         * doc/md.texi: Likewise.
2321         * doc/passes.texi: Likewise.
2322         * doc/standards.texi: Likewise.
2323         * doc/tm.texi: Likewise.
2324
2325 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
2326
2327         PR middle-end/35196
2328         * omp-low.c (expand_omp_for_generic): Don't initialize fd->v
2329         in entry_bb.
2330         (expand_omp_for_static_nochunk): Initialize fd->v in seq_start_bb
2331         rather than in entry_bb.
2332
2333 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
2334
2335         * config/i386/sfp-machine.h (CMPtype): Define as typedef using
2336         libgcc_cmp_return mode.
2337
2338 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
2339
2340         PR middle-end/35130
2341         * tree-nested.c (convert_call_expr): Put FRAME.* vars into
2342         OMP_CLAUSE_SHARED rather than OMP_CLAUSE_FIRSTPRIVATE clause.
2343
2344 2008-02-15  Richard Guenther  <rguenther@suse.de>
2345             Zdenek Dvorak  <ook@ucw.cz>
2346
2347         PR tree-optimization/35164
2348         * tree-flow.h (stmt_references_abnormal_ssa_name): Declare.
2349         * tree-dfa.c (stmt_references_abnormal_ssa_name): New function.
2350         * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
2351         Only propagate addresses which do not have abnormal SSA_NAMEs
2352         in their operands.
2353
2354 2008-02-15  Joseph Myers  <joseph@codesourcery.com>
2355
2356         PR target/35088
2357         * config/m68k/m68k.h (DWARF_CIE_DATA_ALIGNMENT): Define.
2358
2359 2008-02-15  Jan Hubicka  <jh@suse.cz>
2360
2361         PR middle-end/35149
2362         * ipa.c (cgraph_remove_unreachable_nodes): Clear local.inlinable flag.
2363
2364 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
2365
2366         PR middle-end/34621
2367         * function.c (pad_to_arg_alignment): Remove test for STACK_BOUNDARY
2368         when calculating alignment_pad.
2369
2370 2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
2371
2372         * config/i386/i386.h (CLEAR_RATIO): Use MIN macro.
2373         (WIDEST_HARDWARE_FP_SIZE): Use LONG_DOUBLE_TYPE_SIZE define.
2374         * config/i386/darwin.h (PREFERRED_STACK_BOUNDARY): Use MAX macro
2375         and STACK_BOUNDARY define.
2376
2377 2008-02-14  Danny Smith  <dannysmith@users.sourceforge.net>
2378
2379         PR preprocessor/35061
2380         * c-pragma.c (handle_pragma_pop_macro): Check that
2381         pushed_macro_table has been allocated.
2382
2383 2008-02-14  Eric Botcazou  <ebotcazou@adacore.com>
2384
2385         PR middle-end/35136
2386         * gimplify.c (force_gimple_operand_bsi): Revert 2008-02-12 change.
2387         (force_gimple_operand): Likewise.
2388         * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Add new cases
2389         for TARGET_MEM_REF and CONVERT_EXPR/NON_LVALUE_EXPR/NOP_EXPR.
2390         Also recurse on the operand for regular VIEW_CONVERT_EXPRs.
2391         (find_interesting_uses_address): Check addressability and alignment
2392         of the base expression only after substituting bases of IVs into it.
2393
2394 2008-02-14  Michael Matz  <matz@suse.de>
2395
2396         PR target/34930
2397         * function.c (instantiate_virtual_regs_in_insn): Reload address
2398         before falling back to reloading the whole operand.
2399
2400 2008-02-14  Andreas Krebbel  <krebbel1@de.ibm.com>
2401
2402         * config/s390/s390.c (s390_mainpool_start): Emit the pool
2403         before the first section switch note.
2404
2405 2008-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2406
2407         * doc/bugreport.texi: Update copyright years.
2408         * doc/c-tree.texi: Likewise.
2409         * doc/cfg.texi: Likewise.
2410         * doc/cpp.texi: Likewise.
2411         * doc/cppinternals.texi: Likewise.
2412         * doc/fragments.texi: Likewise.
2413         * doc/frontends.texi: Likewise.
2414         * doc/gcc.texi: Likewise.
2415         * doc/gty.texi: Likewise.
2416         * doc/hostconfig.texi: Likewise.
2417         * doc/implement-c.texi: Likewise.
2418         * doc/libgcc.texi: Likewise.
2419         * doc/loop.texi: Likewise.
2420         * doc/makefile.texi: Likewise.
2421         * doc/options.texi: Likewise.
2422         * doc/passes.texi: Likewise.
2423         * doc/rtl.texi: Likewise.
2424         * doc/sourcebuild.texi: Likewise.
2425         * doc/standards.texi: Likewise.
2426         * doc/tree-ssa.texi: Likewise.
2427         * doc/trouble.texi: Likewise.
2428
2429         * doc/extend.texi: Use @: or add comma where appropriate.
2430         * doc/invoke.texi: Likewise.
2431         * doc/tm.texi: Likewise.
2432
2433 2008-02-14  Alan Modra  <amodra@bigpond.net.au>
2434
2435         PR target/34393
2436         * config/rs6000/rs6000.md (restore_stack_block): Force operands[1]
2437         to a reg.
2438
2439 2008-02-14  Jesper Nilsson  <jesper.nilsson@axis.com>
2440
2441         * doc/md.texi (clz, ctz): Add reference.
2442         * doc/rtl.texi (clz, ctz): Likewise.
2443
2444 2008-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2445
2446         PR other/35148
2447         * Makefile.in (gcc-vers.texi): Use abs_srcdir for the value of
2448         srcdir.
2449
2450 2008-02-13  Andreas Krebbel  <krebbel1@de.ibm.com>
2451
2452         * config/s390/s390.c (struct constant_pool): New field
2453         emit_pool_after added.
2454         (s390_mainpool_start): Set the emit_pool_after flag according
2455         to the section switch notes.
2456         (s390_mainpool_finish): Consider emit_pool_after when emitting
2457         the literal pool at the end of the function.
2458         (s390_chunkify_start): Force literal pool splits at section
2459         switch notes.
2460
2461 2008-02-13  Michael Matz  <matz@suse.de>
2462
2463         PR debug/35065
2464         * var-tracking.c (clobber_variable_part): Correctly traverse the
2465         list.
2466
2467 2008-02-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2468
2469         PR 29673
2470         * doc/invoke.texi (Debugging Options): Remove -fdump-tree-inlined.
2471         Add -fdump-ipa-inline.
2472         * tree-dump.c (dump_files): Remove tree-inlined dump.
2473         * tree-pass.h (tree_dump_index): Remove TDI_inlined.
2474         
2475 2008-02-12  Richard Guenther  <rguenther@suse.de>
2476
2477         PR tree-optimization/35171
2478         * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Deal with
2479         default defs.
2480
2481 2008-02-12  Richard Guenther  <rguenther@suse.de>
2482
2483         PR middle-end/35163
2484         * fold-const.c (fold_widened_comparison): Use get_unwidened in
2485         value-preserving mode.  Disallow final truncation.
2486
2487 2008-02-12  Eric Botcazou  <ebotcazou@adacore.com>
2488
2489         PR middle-end/35136
2490         * gimplify.c (force_gimple_operand_bsi): Move SSA renaming
2491         code from here to...
2492         (force_gimple_operand): ...here.
2493
2494 2008-02-12  Jakub Jelinek  <jakub@redhat.com>
2495
2496         PR c++/35144
2497         * tree-sra.c (sra_build_assignment): fold_convert SRC if copying
2498         non-compatible pointers.
2499         (generate_element_copy): If SRC and DST are RECORD_TYPEs with
2500         different FIELD_DECLs, try harder by comparing field offsets, sizes
2501         and types.
2502
2503         PR inline-asm/35160
2504         * function.c (match_asm_constraints_1): Don't replace the same input
2505         multiple times.
2506
2507 2008-02-12  Anatoly Sokolov <aesok@post.ru>
2508
2509         * config/avr/avr.h (AVR_HAVE_RAMPZ): Define.
2510         * config/avr/avr.c (expand_prologue): Save RAMPZ register.
2511         (expand_epilogue): Restore RAMPZ register.
2512         * config/avr/avr.md (RAMPZ_ADDR): New constant.
2513
2514 2008-02-11  Kai Tietz  <kai.tietz@onevision.com>
2515
2516         * config/i386/cygwin.asm: (__alloca): Correct calling
2517         convention and alignment.
2518         (__chkstk): Force 8 byte stack alignment.
2519
2520 2008-02-11  Uros Bizjak  <ubizjak@gmail.com>
2521             Richard Guenther  <rguenther@suse.de>
2522
2523         PR tree-optimization/33992
2524         * tree-ssa-loop-im.c (rewrite_bittest): Fixup the type of
2525         the zero we compare against.
2526
2527 2008-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
2528
2529         PR libfortran/35063
2530         * gthr-win32.h (__gthread_mutex_destroy_function): New function
2531         to CloseHandle after unlocking to prevent accumulation of handle
2532         count.
2533
2534 2008-02-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2535
2536         PR middle_end/34150
2537         * pa.c (legitimize_pic_address): Add REG_EQUAL note on sets with a
2538         pic_label_operand source.  Similarly, add a REG_LABEL_OPERAND note
2539         and update LABEL_NUSES during and after reload.
2540
2541 2008-02-08  Steven Bosscher  <stevenb.gcc@gmail.com>
2542
2543         PR middle-end/34627
2544         * combine.c (simplify_if_then_else): Make sure the comparison is
2545         against const0_rtx when simplifying to (abs x) or (neg (abs X)).
2546
2547 2008-02-08  Richard Sandiford  <rsandifo@nildram.co.uk>
2548
2549         PR bootstrap/35051
2550         * double-int.h: Don't include gmp.h for GENERATOR_FILEs.
2551         (mpz_set_double_int, mpz_get_double_int): Hide from GENERATOR_FILEs.
2552         * real.h: Don't include gmp.h or mpfr.h for GENERATOR_FILEs.
2553         (real_from_mpfr, mpfr_from_real): Hide from GENERATOR_FILEs.
2554         * tree.h (get_type_static_bounds): Likewise.
2555
2556 2008-02-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2557
2558         * doc/invoke.texi (Option Summary, C++ Dialect Options)
2559         (Objective-C and Objective-C++ Dialect Options, Warning Options):
2560         Make -Wfoo language annotations match what the compiler outputs.
2561
2562 2008-02-08  Sa Liu  <saliu@de.ibm.com>
2563
2564         * config/spu/spu-builtins.def: Fixed wrong parameter type in spu 
2565         intrinsics spu_convts, spu_convtu, spu_convtf.
2566         * testsuite/gcc.target/spu/intrinsics-3.c: New. Test error messages.
2567
2568 2008-02-08  Hans-Peter Nilsson  <hp@axis.com>
2569
2570         * doc/extend.texi (Function Attributes) <noinline>: Mention
2571         asm ("") as method to keep calls.
2572
2573 2008-02-07  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2574
2575         PR other/32754
2576         * doc/options.texi (Options): Replace references to opts.sh with
2577         optc-gen.awk.
2578         * opts-common.c: Likewise.
2579         * optc-gen.awk: Likewise.
2580         
2581 2008-02-07  Andreas Krebbel  <krebbel1@de.ibm.com>
2582
2583         * config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit.
2584
2585 2008-02-07  Richard Henderson  <rth@redhat.com>
2586
2587         PR rtl-opt/33410
2588         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use an
2589         EXPR_LIST for the REG_EQUAL instead of a comparison with a 
2590         funny mode.
2591
2592 2008-02-07  Uros Bizjak  <ubizjak@gmail.com>
2593
2594         PR tree-optimization/35085
2595         * tree-ssa-reassoc.c (rewrite_expr_tree): Enable destructive update
2596         for operand entry oe2 in addition to operand entry oe3 in order to
2597         expose more opportunities for vectorizer sum reduction.
2598
2599 2008-02-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2600
2601         PR other/35107
2602         * Makefile.in (LIBS): Remove $(GMPLIBS).
2603         (cc1-dummy, cc1): Add $(GMPLIBS).
2604
2605 2008-02-06  Jan Hubicka  <jh@suse.cz>
2606
2607         PR target/23322
2608         * i386.md (moddf_integer): Do not produce partial memory stalls for
2609         targets where it hurts.
2610
2611 2008-02-06  Uros Bizjak  <ubizjak@gmail.com>
2612
2613         PR target/35083
2614         * optabs.c (expand_float): Do not check for decimal modes when
2615         expanding unsigned integer through signed conversion.
2616
2617 2008-02-06  Nick Clifton  <nickc@redhat.com>
2618
2619         * config/stormy16/stormy16.md (eqbranchsi): Replace a match_dup
2620         inside the clobber with a match_operand and duplicated operand
2621         number in the constraint.
2622         (ineqbranchsi): Delete redundant comment.
2623
2624 2008-02-06  Ralf Corsepius  <ralf.corsepius@rtems.org>
2625
2626         * config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add 
2627         builtin_define ("__USE_INIT_FINI__").
2628         * config/h8300/t-rtems (MULTILIB_OPTION,MULTILIB_DIRNAMES): Add
2629         -msx multilibs.
2630         * gthr-rtems.h: Remove __GTHREAD_MUTEX_INIT.
2631
2632 2008-02-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2633
2634         PR documentation/30330
2635         * doc/invoke.texi (C++ Dialect Options)
2636         (Objective-C and Objective-C++ Dialect Options, Warning Options):
2637         For each warning option -Wfoo that allows -Wno-foo, ensure both
2638         -Wfoo and -Wno-foo are listed in the option index.  Fix index
2639         entry of -Wswitch-default, index -Wnormalized= including the
2640         `=', and -Wlarger-than-@var{len} including @var{len}.
2641
2642 2008-02-05  Uros Bizjak  <ubizjak@gmail.com>
2643
2644         * config/i386/i386.md (floatunssisf2): Use
2645         ix86_expand_convert_uns_sisf_sse also for TARGET_SSE.
2646         (floatunssi<mode>2): Rename from floatunssisf2 and floatunssidf2.
2647         Macroize expander using MODEF mode iterator.
2648
2649 2008-02-05  Diego Novillo  <dnovillo@google.com>
2650
2651         http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00140.html
2652
2653         PR 33738
2654         * tree-vrp.c (vrp_evaluate_conditional): Revert fix for PR 33738.
2655
2656 2008-02-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2657
2658         PR other/35070
2659         * toplev.c (print_version): Honor `indent' for GMP/MPFR warnings.
2660
2661 2008-02-05  H.J. Lu  <hongjiu.lu@intel.com>
2662
2663         PR target/35084
2664         * config/i386/i386.c (ix86_function_sseregparm): Add an arg
2665         to indicate if a message should be generated.
2666         (init_cumulative_args): Updated.
2667         (function_value_32): Likewise.
2668
2669 2008-02-05  Joseph Myers  <joseph@codesourcery.com>
2670
2671         * doc/include/texinfo.tex: Update to version 2008-02-04.16.
2672
2673 2008-02-05  Uros Bizjak  <ubizjak@gmail.com>
2674
2675         PR target/35083
2676         * config/i386/i386.md (floatunsisf2): Enable for TARGET_SSE_MATH only.
2677         Call ix86_expand_convert_uns_sisf_sse for TARGET_SSE2.
2678
2679 2008-02-04  Diego Novillo  <dnovillo@google.com>
2680
2681         http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00110.html
2682
2683         PR 33738
2684         * tree-vrp.c (vrp_evaluate_conditional): With
2685         -Wtype-limits, emit a warning when comparing against a
2686         constant outside the natural range of OP0's type.
2687
2688 2008-02-04  Richard Guenther  <rguenther@suse.de>
2689
2690         PR middle-end/33631
2691         * expr.c (count_type_elements): Give for unions instead of
2692         guessing.
2693
2694 2008-02-04  Richard Guenther  <rguenther@suse.de>
2695
2696         PR middle-end/35043
2697         * gimplify.c (gimplify_init_ctor_eval): Convert array indices
2698         to TYPE_DOMAINs base type instead of using bitsizetype here.
2699
2700 2008-02-03  Jason Merrill  <jason@redhat.com>
2701
2702         * print-tree.c (print_node) [CONSTRUCTOR]: Print elements.
2703
2704 2008-02-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2705
2706         PR other/29972
2707         * doc/invoke.texi (C++ Dialect Options, Optimize Options)
2708         (HPPA Options, i386 and x86-64 Options, IA-64 Options)
2709         (RS/6000 and PowerPC Options): Fix typos and markup.
2710         * doc/passes.texi (Tree-SSA passes): Likewise.
2711
2712 2008-02-02  Michael Matz  <matz@suse.de>
2713
2714         PR target/35045
2715         * postreload-gcse.c (record_last_reg_set_info_regno): Renamed
2716         from record_last_reg_set_info.
2717         (record_last_reg_set_info): Take an RTX argument, iterate over all
2718         constituent hardregs.
2719         (record_last_set_info, record_opr_changes): Change calls to
2720         new signature or to record_last_reg_set_info_regno.
2721
2722 2008-02-02  Gerald Pfeifer  <gerald@pfeifer.com>
2723
2724         * doc/extend.texi (X86 Built-in Functions): Fix grammar.
2725
2726 2008-02-01  Hans-Peter Nilsson  <hp@axis.com>
2727
2728         PR rtl-optimization/34773
2729         * reg-notes.def (EQUAL): Mention significance of combination of
2730         REG_EQUAL and REG_RETVAL.
2731         * fwprop.c (try_fwprop_subst): Don't add REG_EQUAL to an
2732         insn that has a REG_RETVAL.
2733
2734 2008-02-01  Roger Sayle  <roger@eyesopen.com>
2735
2736         PR bootstrap/33781
2737         * configure.ac (--enable-fixed-point): Disable unless explicitly
2738         requested on IRIX.
2739         * configure: Regenerate.
2740
2741 2008-02-01  Richard Guenther  <rguenther@suse.de>
2742
2743         PR other/35042
2744         * invoke.texi (-finline-limit): Remove no longer true parts
2745         of the documentation.  Note that there is no default value.
2746
2747 2008-02-01  Andrew Pinski  <pinskia@gmail.com>
2748             Mark Mitchell  <mark@codesourcery.com>
2749             Ben Elliston  <bje@au.ibm.com>
2750
2751         PR c/29326
2752         * doc/extend.texi (Other Builtins): Document.
2753
2754 2008-01-31  Tom Browder <tom.browder@gmail.com>
2755
2756         * doc/c-tree.texi (Types): Fix grammar.
2757         (Expression trees): Ditto.
2758         * doc/passes.texi (Tree-SSA passes): Ditto.
2759         
2760         * doc/configterms.texi (Configure Terms): Fix typo.
2761         * doc/cpp.texi (Common Predefined Macros): Ditto.
2762         * doc/md.texi (Machine Constraints): Ditto.
2763         
2764         * doc/makefile.texi (Makefile): Add comma.
2765
2766 2008-01-31  Tom Browder  <tom.browder@gmail.com>
2767             Gerald Pfeifer  <gerald@pfeifer.com>
2768         
2769         * doc/sourcebuild.texi (Front End): Remove references to CVS
2770         and CVSROOT/modules.
2771         (Texinfo Manuals): Replace reference to CVS by one to SVN.
2772         (Back End): Remove reference to CVS.
2773
2774 2008-01-31  Richard Sandiford  <rsandifo@nildram.co.uk>
2775
2776         PR target/34900
2777         * config/mips/mips.c (gen_load_const_gp): New function, taking a
2778         comment from...
2779         (mips16_gp_pseudo_reg): ...here.
2780         * config/mips/mips.md (load_const_gp): Replace with...
2781         (load_const_gp_<mode>): ...this :P-based insn.
2782
2783 2008-01-31  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2784
2785         * doc/invoke.texi (-ansi): Mention explicitly corresponding -std=
2786         options. Minor fixes.
2787         (-std): Move reference to standards closer to where language
2788         standards are first mentioned.
2789         
2790 2008-01-31  Richard Sandiford  <rsandifo@nildram.co.uk>
2791
2792         PR rtl-optimization/34995
2793         * reload.c (alternative_allows_const_pool_ref): Take an rtx
2794         parameter and return a bool.  If the rtx parameter is nonnull,
2795         check that it satisfies an EXTRA_MEMORY_CONSTRAINT.
2796         (find_reloads): Update call accordingly.  Pass the new operand
2797         if it needed no address reloads, otherwise pass null.
2798
2799 2008-01-30  Richard Henderson  <rth@redhat.com>
2800
2801         PR c/34993
2802         * tree.c (build_type_attribute_qual_variant): Skip TYPE_DOMAIN
2803         for unbounded arrays.
2804
2805 2008-01-30  Silvius Rus  <rus@google.com>
2806
2807         * config/i386/xmmintrin.h (_mm_prefetch): Add const to first arg.
2808
2809 2008-01-30  Jan Hubicka  <jh@suse.cz>
2810
2811         PR target/34982
2812         * i386.c (init_cumulative_args): Use real function declaration when
2813         calling locally.
2814
2815 2008-01-30  Richard Sandiford  <rsandifo@nildram.co.uk>
2816
2817         PR rtl-optimization/34998
2818         * global.c (build_insn_chain): Treat non-subreg_lowpart
2819         SUBREGs of pseudos as clobbering all the words covered by the
2820         SUBREG, not just all the bytes.
2821         * ra-conflict.c (clear_reg_in_live): Likewise.  Take the
2822         original df_ref rather than an extract parameter.
2823         (global_conflicts): Update call accordingly.
2824
2825 2008-01-30  Andreas Krebbel  <krebbel1@de.ibm.com>
2826
2827         * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): Rearrange
2828         the overflow check to make it easier to read.
2829         (__fixtfdi): Change the type of the ll member in union
2830         long_double to UDItype_x.
2831
2832 2008-01-30  Jakub Jelinek  <jakub@redhat.com>
2833
2834         PR middle-end/34969
2835         * cgraph.h (cgraph_update_edges_for_call_stmt): New prototype.
2836         * cgraph.c (cgraph_update_edges_for_call_stmt): New function.
2837         * tree-inline.c (fold_marked_statements): Call
2838         cgraph_update_edges_for_call_stmt if folding a call statement.
2839         * cgraphunit.c (verify_cgraph_node): Set cfun to this_cfun for
2840         debug_generic_stmt calls, reset it back afterwards.
2841
2842         PR c/35017
2843         * c-decl.c (start_decl): Don't pedwarn about TREE_READONLY
2844         static decls.
2845         * c-typeck.c (build_external_ref): Don't pedwarn about
2846         static vars in current function's scope.
2847
2848 2008-01-29  Joseph Myers  <joseph@codesourcery.com>
2849
2850         * config.gcc (i[34567]86-*-nto-qnx*): Remove deprecation.
2851
2852 2008-01-29  Bernhard Fischer  <aldot@gcc.gnu.org>
2853
2854         PR c/35002
2855         * ipa-struct-reorg.c: Fix spelling.
2856         * params.def: Ditto.
2857
2858 2008-01-29  Richard Guenther  <rguenther@suse.de>
2859
2860         PR middle-end/35006
2861         * tree-inline.h (struct copy_body_data): Add remapping_type_depth
2862         field.
2863         * tree-inline.c (remap_type): Increment remapping_type_depth
2864         around remapping types.
2865         (copy_body_r): Only add referenced variables if they are referenced
2866         from code, not types.
2867
2868 2008-01-29  Douglas Gregor  <doug.gregor@gmail.com>
2869
2870         PR c++/34055
2871         PR c++/34103
2872         PR c++/34219
2873         PR c++/34606
2874         PR c++/34753
2875         PR c++/34754
2876         PR c++/34755
2877         PR c++/34919
2878         PR c++/34961
2879         * c-pretty-print.c (pp_c_type_qualifier_list): Don't try to print
2880         qualifiers for an ERROR_MARK_NODE or a NULL_TREE.
2881
2882 2008-01-28  Andy Hutchinson   <hutchinsonandy@netscape.net>
2883
2884         PR target/34412
2885         * config/avr/avr.c (expand_prologue): Use correct QI mode frame 
2886         pointer for tiny stack.
2887
2888 2008-01-28  Bernhard Fischer  <aldot@gcc.gnu.org>
2889
2890         * doc/tree-ssa.texi: Add cindex PHI nodes and improve wording.
2891
2892 2008-01-28  Bernhard Fischer  <aldot@gcc.gnu.org>
2893
2894         * config/vx-common.h: Fix typo in comment.
2895
2896 2008-01-28  Ian Lance Taylor  <iant@google.com>
2897
2898         PR c++/34862
2899         PR c++/33407
2900         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
2901         coalesce pointers if they have different DECL_NO_TBAA_P values.
2902         * tree-ssa-copy.c (may_propagate_copy): Don't propagate copies
2903         between variables with different DECL_NO_TBAA_P values.
2904
2905 2008-01-28  Nathan Froyd  <froydnj@codesourcery.com>
2906
2907         PR 31535
2908         * config/rs6000/rs6000.c (small_data_operand): Vectors and floats
2909         are not legitimate small data references on SPE targets.
2910
2911 2008-01-28  David Daney  <ddaney@avtrex.com>
2912
2913         * doc/install.texi (mips-*-*): Recommend binutils 2.18.
2914
2915 2008-01-28  David Daney  <ddaney@avtrex.com>
2916
2917         * doc/install.texi (--disable-libgcj-bc):  Reword documentation.
2918
2919 2008-01-27  Joseph Myers  <joseph@codesourcery.com>
2920
2921         * config.gcc (strongarm*-*, ep9312*-*, xscale*-*, parisc*-*,
2922         m680[012]0-*, *-*-beos*, *-*-kaos*, *-*-linux*aout*,
2923         *-*-linux*libc1*, *-*-solaris2.[0-6], *-*-solaris2.[0-6].*,
2924         *-*-sysv*, *-*-windiss*, alpha*-*-unicosmk*, cris-*-aout,
2925         hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
2926         i[34567]86-sequent-ptx4*, i[34567]86-*-nto-qnx*,
2927         i[34567]86-*-sco3.2v5*, i[34567]86-*-uwin*, powerpc-*-chorusos*,
2928         vax-*-bsd*, vax-*-ultrix*): Mark obsolete.
2929
2930 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
2931
2932         * basic-block.h (condjump_equiv_p): Fix comment.
2933
2934 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
2935
2936         * tree-pretty-print.c (print_generic_decl, print_generic_stmt,
2937         print_generic_stmt_indented): Fix comment.
2938
2939 2008-01-27  Bernhard Fischer  <aldot@gcc.gnu.org>
2940
2941         * configure.ac (__stack_chk_fail): Add detecion for availability
2942         of SSP in uClibc by checking if __UCLIBC_HAS_SSP__ is defined.
2943         * configure: Regenerate.
2944
2945 2008-01-26  Maxim Kuvyrkov  <maxim@codesourcery.com>
2946
2947         PR middle-end/34688
2948         * final.c (output_addr_const): Handle TRUNCATE.
2949
2950 2008-01-26  Zdenek Dvorak  <ook@ucw.cz>
2951
2952         PR target/34711
2953         * tree-ssa-loop-ivopts.c (comp_cost): New type.
2954         (zero_cost, infinite_cost): New constants.
2955         (struct cost_pair): Change type of cost to comp_cost.
2956         (struct iv_ca): Change type of cand_use_cost and cost to comp_cost.
2957         (new_cost, add_costs, sub_costs, compare_costs, infinite_cost_p):
2958         New functions.
2959         (set_use_iv_cost, force_expr_to_var_cost, force_var_cost,
2960         split_address_cost, ptr_difference_cost, difference_cost,
2961         get_computation_cost_at, get_computation_cost,
2962         determine_use_iv_cost_generic, determine_use_iv_cost_address,
2963         determine_use_iv_cost_condition, determine_use_iv_costs,
2964         cheaper_cost_pair, iv_ca_recount_cost, iv_ca_set_no_cp,
2965         iv_ca_set_cp, iv_ca_cost, iv_ca_new, iv_ca_dump, iv_ca_extend,
2966         iv_ca_narrow, iv_ca_prune, try_improve_iv_set, find_optimal_iv_set):
2967         Change type of cost to comp_cost.
2968         (determine_iv_cost): Increase cost of non-original ivs, instead
2969         of decreasing the cost of original ones.
2970         (get_address_cost): Indicate the complexity of the addressing mode 
2971         in comp_cost.
2972         (try_add_cand_for): Prefer using ivs not specific to some object.
2973         * tree-flow.h (force_expr_to_var_cost): Declaration removed.
2974
2975 2008-01-26  Peter Bergner  <bergner@vnet.ibm.com>
2976             Janis Johnson  <janis187@us.ibm.com>
2977
2978         PR target/34814
2979         * doc/tm.texi (TARGET_EXPAND_TO_RTL_HOOK): Document.
2980         (TARGET_INSTANTIATE_DECLS): Likewise.
2981         * target.h (expand_to_rtl_hook): New target hook.
2982         (instantiate_decls): Likewise.
2983         * function.c (instantiate_decl): Make non-static.  Rename to...
2984         (instantiate_decl_rtl): ... this.
2985         (instantiate_expr): Use instantiate_decl_rtl.
2986         (instantiate_decls_1): Likewise.
2987         (instantiate_decls): Likewise.
2988         (instantiate_virtual_regs: Call new instantiate_decls taget hook.
2989         * function.h (instantiate_decl_rtl): Add prototype.
2990         * cfgexpand.c (target.h): New include.
2991         (tree_expand_cfg): Call new expand_to_rtl_hook target hook.
2992         * target-def.h (TARGET_EXPAND_TO_RTL_HOOK): New define.
2993         (TARGET_INSTANTIATE_DECLS): Likewise.
2994         (TARGET_INITIALIZER): New target hooks added.
2995         * config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_rtx):
2996         New prototype.
2997         * config/rs6000/rs6000.c (tree-flow.h): New include.
2998         (machine_function): Add sdmode_stack_slot field.
2999         (rs6000_alloc_sdmode_stack_slot): New function.
3000         (rs6000_instantiate_decls): Likewise.
3001         (rs6000_secondary_memory_needed_rtx): Likewise.
3002         (rs6000_check_sdmode): Likewise.
3003         (TARGET_EXPAND_TO_RTL_HOOK): Target macro defined.
3004         (TARGET_INSTANTIATE_DECLS): Likewise.
3005         (rs6000_hard_regno_mode_ok): Allow SDmode.
3006         (num_insns_constant): Likewise.  Handle _Decimal32 constants.
3007         (rs6000_emit_move): Handle SDmode.
3008         (function_arg_advance): Likewise.
3009         (function_arg): Likewise.
3010         (rs6000_gimplify_va_arg): Likewise.  Add special handling of
3011         SDmode var args for 32-bit compiles.
3012         (rs6000_secondary_reload_class): Handle SDmode.
3013         (rs6000_output_function_epilogue): Likewise.
3014         (rs6000_function_value): Simplify if statement.
3015         (rs6000_libcall_value): Likewise.
3016         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Handle SDmode.
3017         (SECONDARY_MEMORY_NEEDED_RTX): Add define.
3018         * config/rs6000/dfp.md (movsd): New define_expand and splitter.
3019         (movsd_hardfloat): New define_insn.
3020         (movsd_softfloat): Likewise.
3021         (movsd_store): Likewise.
3022         (movsd_load): Likewise.
3023         (extendsddd2): Likewise.
3024         (extendsdtd2): Likewise.
3025         (truncddsd2): Likewise.
3026         (movdd_hardfloat64): Fixup comment.
3027         (UNSPEC_MOVSD_LOAD): New constant.
3028         (UNSPEC_MOVSD_STORE): Likewise.
3029
3030 2008-01-26  Jakub Jelinek  <jakub@redhat.com>
3031
3032         PR c++/34965
3033         * c-pretty-print.c (pp_c_exclusive_or_expression): Handle
3034         TRUTH_XOR_EXPR.
3035         (pp_c_logical_and_expression): Handle TRUTH_AND_EXPR.
3036         (pp_c_logical_or_expression): Handle TRUTH_OR_EXPR.
3037         (pp_c_expression): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR
3038         and TRUTH_XOR_EXPR.
3039
3040 2008-01-26  David Edelsohn  <edelsohn@gnu.org>
3041
3042         PR target/34794
3043         * config.gcc: Separate AIX 5.3 from AIX 6.1.
3044         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
3045         __LONGDOUBLE128 too.
3046         * config/rs6000/aix61.h: New file.
3047
3048 2008-01-26  Richard Sandiford  <rsandifo@nildram.co.uk>
3049
3050         PR rtl-optimization/34959
3051         * optabs.c (expand_unop): In libcall notes, give ffs, clz, ctz,
3052         popcount and parity rtxes the same mode as their operand.
3053         Truncate or extend the result to the return value's mode
3054         if necessary.
3055
3056 2008-01-26  Richard Sandiford  <rsandifo@nildram.co.uk>
3057
3058         PR target/34981
3059         * config/mips/mips-protos.h (mips_expand_call): Return an rtx.
3060         * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Rename FAKE_CALL_REGNO
3061         to GOT_VERSION_REGNUM.
3062         (CALL_REALLY_USED_REGISTERS): Set the GOT_VERSION_REGNUM entry to 0.
3063         (EPILOGUE_USES): Include GOT_VERSION_REGNUM if TARGET_USE_GOT.
3064         * config/mips/mips.c (mips_emit_call_insn): New function.
3065         (mips_call_tls_get_addr): Call mips_expand_call directly.
3066         (mips16_copy_fpr_return_value): Use mips_emit_call_insn rather than
3067         emit_call_insn.
3068         (mips16_build_call_stub): Likewise.  Return the call insn or null.
3069         (mips_expand_call): Update the call to mips16_build_call_stub
3070         accordingly and a remove redundant condition.  Assert that MIPS16
3071         stubs do not use lazy binding.  Use mips_emit_call_insn and return
3072         the call insn.
3073         (mips_extra_live_on_entry): Include GOT_VERSION_REGNUM if
3074         TARGET_USE_GOT.
3075         (mips_hard_regno_mode_ok_p): Allow SImode for GOT_VERSION_REGNUM.
3076         (mips_avoid_hazard): Remove hazard_set handling.
3077         * config/mips/mips.md (UNSPEC_EH_RECEIVER): Rename to...
3078         (UNSPEC_RESTORE_GP): ...this.
3079         (UNSPEC_SET_GOT_VERSION, UNSPEC_UPDATE_GOT_VERSION): New constants.
3080         (FAKE_CALL_REGNO): Rename to...
3081         (GOT_VERSION_REGNUM): ...this.
3082         (type): Add "ghost" value.  Add an associated insn reservation.
3083         (hazard_set): Remove.
3084         (exception_receiver): Rename to...
3085         (restore_gp): ...this and update the unspec identifier accordingly.
3086         (exception_receiver, nonlocal_got_receiver): New expanders.
3087         (load_call<mode>): Use GOT_VERSION_REGNUM.  Don't set
3088         FAKE_CALL_REGNO.  Remove hazard_set attribute.
3089         (set_got_version, update_got_version): New patterns.
3090
3091 2008-01-26  Danny Smith  <dannysmith@users.sourceforge.net>
3092
3093         PR target/34970
3094         * config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define.
3095
3096 2008-01-25  Joseph Myers  <joseph@codesourcery.com>
3097
3098         PR other/31955
3099         * doc/install.texi2html: Generate gcc-vers.texi.
3100
3101 2008-01-25  DJ Delorie  <dj@redhat.com>
3102
3103         * config/m32c/m32c.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3104
3105 2008-01-25  Joseph Myers  <joseph@codesourcery.com>
3106
3107         * config/c4x: Remove directory.
3108         * config.gcc (crx-*, mt-*): Mark obsolete.
3109         (c4x-*, tic4x-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*, tic4x-*,
3110         h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*,
3111         sh-*-rtemscoff*): Remove cases.
3112         * defaults.h (C4X_FLOAT_FORMAT): Remove.
3113         * real.c (encode_c4x_single, decode_c4x_single,
3114         encode_c4x_extended, decode_c4x_extended, c4x_single_format,
3115         c4x_extended_format): Remove.
3116         * real.h (c4x_single_format, c4x_extended_format): Remove.
3117         * doc/extend.texi (interrupt, naked): Remove mention of attributes
3118         on C4x.
3119         (Pragmas): Remove comment about c4x pragmas.
3120         * doc/install.texi (c4x): Remove target-specific instructions.
3121         * doc/invoke.texi (TMS320C3x/C4x Options): Remove.
3122         * doc/md.texi (Machine Constraints): Remove C4x documentation.
3123         * doc/tm.texi (MEMBER_TYPE_FORCES_BLK, c_register_pragma): Do not
3124         refer to C4x source files as examples.
3125         (C4X_FLOAT_FORMAT): Remove documentation.
3126
3127 2008-01-25  Bernd Schmidt  <bernd.schmidt@analog.com>
3128
3129         * config/bfin/bfin.c (override_options): Reorder tests so that
3130         flag_pic gets enabled for -msep-data.
3131
3132 2008-01-25  Richard Guenther  <rguenther@suse.de>
3133
3134         PR middle-end/32244
3135         * expr.c (expand_expr_real_1): Reduce result of LSHIFT_EXPR
3136         to its bitfield precision if required.
3137
3138 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
3139
3140         PR middle-end/33880
3141         * tree-nested.c (walk_omp_for): New function.
3142         (convert_nonlocal_reference, convert_local_reference): Call
3143         walk_omp_for on OMP_FOR.
3144         (convert_call_expr): Call walk_body on OMP_FOR's
3145         OMP_FOR_PRE_INIT_BODY.
3146
3147 2008-01-25  Richard Guenther  <rguenther@suse.de>
3148
3149         PR tree-optimization/34966
3150         * tree-ssa-math-opts.c (execute_cse_sincos_1): For all but
3151         default defs and PHI_NODEs we have to insert after the
3152         defining statement.
3153
3154 2008-01-24  Nick Clifton  <nickc@redhat.com>
3155
3156         * config/stormy16/stormy16-lib2.c (MIN_UNITS_PER_WORD):
3157         Provide a default definition.
3158         (LIBGCC2_UNITS_PER_WORD): Likewise.
3159
3160         * config/stormy16/stormy16.c: Include df.h for the prototype
3161         for df_regs_ever_live_p.
3162         (xstormy16_expand_builtin_va_start): Convert the stack offset
3163         into a component_ref and then use POINTER_PLUS_EXPR to add it
3164         to the incoming_virtual_args_rtx.
3165         (xstormy16_gimplify_va_arg_expr): Rename to
3166         xstormy16_gimplify_va_arg_expr.
3167         Use POINTER_PLUS_EXPR when performing pointer arithmetic.
3168         (TARGET_GIMPLIFY_VA_ARG_EXPR): Use renamed
3169         xstormy16_gimplify_va_arg_expr.
3170         Fix up some formatting issues.
3171
3172         * config/stormy16/stormy16.c: (xstormy16_carry_plus_operand):
3173         Move to predicates.md.
3174         (xs_hi_general_operand): Likewise.
3175         (xs_hi_nonmemory_operand): Likewise.
3176         * config/stormy16/predicates.md:
3177         (xstormy16_carry_plus_operand): New predicate.
3178         (xs_hi_general_operand): New predicate.
3179         (xs_hi_nonmemory_operand): New predicate.
3180         * config/stormy16/stormy16-protos.h:
3181         (xstormy16_carry_plus_operand): Delete prototype.
3182         (xs_hi_general_operand): Likewise.
3183         (xs_hi_nonmemory_operand): Likewise.
3184
3185         * config/storm16/stormy16.md (addhi3): Remove earlyclobber
3186         modifiers as they are no longer needed and they can trigger
3187         reload spill failures.
3188
3189         * config/storm16/stormy16.md (ineqbranchsi): Replace match_dup
3190         with a match_operand in order to help reload.
3191
3192         * config/storm16/stormy16.md (movhi_internal): Replace 'r'
3193         constraint with 'e' for the 8th alternative as this version of
3194         the mov.w instruction only accepts the lower 8 registers.
3195
3196 2008-01-25  Uros Bizjak  <ubizjak@gmail.com>
3197
3198         PR target/34856
3199         * simplifx-rtx.c (simplify_const_binary_operation) [VEC_CONCAT]:
3200         Consider only CONST_INT, CONST_DOUBLE and CONST_FIXED as constant
3201         vector elements.
3202
3203 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
3204
3205         PR middle-end/33333
3206         * gimplify.c (gimplify_omp_for): Gimplify OMP_FOR_PRE_BODY.
3207
3208 2008-01-25  Golovanevsky Olga  <olga@il.ibm.com>
3209
3210         * ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs):
3211         New functions.
3212         (remove_structure): Update allocations list before removing structure.
3213         
3214 2008-01-25  Golovanevsky Olga  <olga@il.ibm.com>
3215
3216         * ipa-struct-reorg.c (is_safe_cond_expr, 
3217         create_new_stmts_for_cond_expr): Use integer_zerop function,
3218         that recognize not only zero-pointer, but zero-integer too.
3219
3220 2008-01-25  Ben Elliston  <bje@au.ibm.com>
3221
3222         PR other/22232
3223         * fixproto: Escape "." in sed expression that strips leading "./".
3224
3225 2008-01-24  H.J. Lu  <hongjiu.lu@intel.com>
3226
3227         PR driver/34904
3228         * gcc.c (SWITCH_OK): Removed.
3229         (SWITCH_LIVE): Changed to bit.
3230         (SWITCH_FALSE): Likewise.
3231         (SWITCH_IGNORE): Likewise.
3232         (switchstr): Change live_cond to unsigned int.
3233         (process_command): Replace SWITCH_OK with 0.
3234         (do_self_spec): Likewise.
3235         (set_collect_gcc_options): Check the SWITCH_IGNORE bit.
3236         (give_switch): Likewise.
3237         (used_arg): Likewise.
3238         (do_spec_1): Set the SWITCH_IGNORE bit.
3239         (check_live_switch): Check both SWITCH_LIVE and SWITCH_FALSE
3240         bits.  Set the SWITCH_LIVE bit.
3241
3242 2008-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>
3243
3244         * config/s390/s390.h (MOVE_RATIO): Define new target macro.
3245
3246 2008-01-24  Richard Sandiford  <rsandifo@nildram.co.uk>
3247
3248         PR tree-optimization/34472
3249         * ipa-struct-reorg.c (safe_cond_expr_check): Change the DATA
3250         parameter to a "bool *" and set *DATA to false if there is
3251         an unsafe access.  Do not delete the structure here.
3252         (check_cond_exprs): Delete it here instead.
3253         (check_cond_exprs, exclude_cold_structs): Do not increase
3254         I when removing a structure.
3255
3256 2008-01-24  Uros Bizjak  <ubizjak@gmail.com>
3257
3258         PR target/34856
3259         * config/i386/i386.c (ix86_expand_vector_init): Consider only
3260         CONST_INT, CONST_DOUBLE and CONST_FIXED as constant vector elements.
3261
3262 2008-01-24  Jakub Jakub Jelinek  <jakub@redhat.com>
3263
3264         PR middle-end/34934
3265         * tree-stdarg.c (reachable_at_most_once): Use VEC vector instead of
3266         a fixed vector for stack.
3267
3268 2008-01-24  Ben Elliston  <bje@au.ibm.com>
3269
3270         PR c++/25701
3271         * doc/gcc.texi (Software development): Add a direntry for g++.
3272         
3273 2008-01-23  Hans-Peter Nilsson  <hp@axis.com>
3274
3275         * config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop
3276         stale and straggling -fforce-addr comments above.
3277
3278         * config/cris/cris.h (CRIS_SUBTARGET_VERSION, TARGET_VERSION): Don't
3279         define.
3280         * config/cris/linux.h (CRIS_SUBTARGET_VERSION): Don't define.
3281         * config/cris/aout.h (CRIS_SUBTARGET_VERSION): Don't define.
3282
3283 2008-01-23  Michael Matz  <matz@suse.de>
3284
3285         PR debug/34895
3286         * dwarf2out.c (force_type_die): Use modified_type_die instead of
3287         gen_type_die.
3288
3289 2008-01-23  Andreas Krebbel  <krebbel1@de.ibm.com>
3290
3291         * ipa-struct-reorg.c (create_new_malloc): Use pointer type as
3292         malloc result type.
3293
3294 2008-01-23 Anatoly Sokolov <aesok@post.ru>
3295
3296         * config/avr/avr.c (avr_current_arch): New variable.
3297         (avr_arch_types): Add 'avr31' and 'avr51' entries.
3298         (avr_arch): Add 'ARCH_AVR31' and 'ARCH_AVR51'.
3299         (avr_mcu_types): Add 'avr31' and 'avr51' architectures.
3300         (avr_override_options): Init 'avr_current_arch'. 
3301         (base_arch_s): Move from here...
3302         * config/avr/avr.h (base_arch_s): ... here. Add new members 
3303         'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename 
3304         'mega' to 'have_jmp_call'.
3305         (TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__", 
3306         "__AVR_HAVE_RAMPZ__",   "__AVR_HAVE_ELPM__" and  "__AVR_HAVE_ELPMX__"
3307         macros.
3308         (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51' 
3309         architectures.
3310         * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, 
3311         MULTILIB_MATCHES): (Ditto.).
3312
3313 2008-01-23  Richard Guenther  <rguenther@suse.de>
3314
3315         PR middle-end/31529
3316         * cgraphunit.c (cgraph_reset_node): Always mark the node
3317         not reachable if it is not queued already.
3318
3319 2008-01-23  Bernd Schmidt  <bernd.schmidt@analog.com>
3320
3321         * config/bfin/bfin-protos.h (WA_RETS, ENABLE_WA_RETS): New macros.
3322         * config/bfin/bfin.c (bfin_cpus): Add WA_RETS everywhere.
3323         (cputype_selected): New static variable.
3324         (bfin_handle_option): Set it if -mcpu is used.
3325         (override_option): Select default set of workarounds if no cpu type
3326         selected on the command line.
3327         (workaround_rts_anomaly): Only run if ENABLE_WA_RETS.
3328
3329         From  Michael Frysinger  <michael.frysinger@analog.com>
3330         * config/bfin/bfin-protos.h (enum bfin_cpu_type): Add
3331         BFIN_CPU_BF547, BFIN_CPU_BF523, BFIN_CPU_BF524, and BFIN_CPU_BF526.
3332
3333         * config/bfin/elf.h (LIB_SPEC): Use proper linker script
3334         for bf547, bf523, bf524, and bf526.
3335         * config/bfin/bfin.c (bfin_cpus[]): Add bf547,  bf523, bf524, and
3336         bf526.
3337         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
3338         __ADSPBF523__ for bf523, __ADSPBF524__ for bf524,
3339         __ADSPBF526__ for bf526, __ADSPBF52x__ for all three, as well as
3340         __ADSPBF547__ and __ADSPBF54x__ for bf547.
3341         * doc/invoke.texi (Blackfin Options): Document that
3342         -mcpu now accept bf547, bf523, bf524, and bf526.
3343
3344 2008-01-22  Eric Botcazou  <ebotcazou@adacore.com>
3345
3346         PR rtl-optimization/34628
3347         * combine.c (try_combine): Stop and undo after the first combination
3348         if an autoincrement side-effect on the first insn has effectively
3349         been lost.
3350
3351 2008-01-22  David Edelsohn  <edelsohn@gnu.org>
3352
3353         PR target/34529
3354         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
3355         Offset addresses are not valid for Altivec or paired float modes.
3356
3357 2008-01-22  Jakub Jelinek  <jakub@redhat.com>
3358
3359         PR c++/34607
3360         * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for
3361         if DECL_INITIAL (decl) is error_mark_node.
3362
3363         PR c++/34914
3364         * c-common.c (handle_vector_size_attribute): Only allow
3365         integral, scalar float and fixed point types.  Handle OFFSET_TYPE
3366         the same way as pointer, array etc. types.
3367         * tree.c (reconstruct_complex_type): Handle OFFSET_TYPE.
3368
3369         PR c++/34917
3370         * tree.c (build_type_attribute_qual_variant): Call
3371         build_qualified_type if attributes are equal, but quals are not.
3372
3373 2008-01-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
3374
3375         PR 32102
3376         * doc/invoke.texi (-Wall): -Wall enables -Wstrict-overflow=1.
3377         * flags.h (warn_strict_aliasing): Remove.
3378         (warn_strict_overflow): Remove.
3379         * opts.c (warn_strict_aliasing): Remove.
3380         (warn_strict_overflow): Remove.
3381         * c-opts.c (c_common_handle_option): -Wall only sets
3382         -Wstrict-aliasing or -Wstrict-overflow if they are uninitialized.
3383         (c_common_post_options): Give default values to -Wstrict-aliasing
3384         and -Wstrict-overflow if they are uninitialized.
3385         * common.opt (Wstrict-aliasing): Specify Var and Init.
3386         (Wstrict-overflow): Likewise.
3387
3388 2008-01-22  Kenneth Zadeck <zadeck@naturalbridge.com>
3389
3390         PR rtl-optimization/26854
3391         PR rtl-optimization/34400
3392         PR rtl-optimization/34884
3393         * ddg.c (create_ddg_dep_from_intra_loop_link): Use
3394         DF_RD->gen.
3395         * df.h (df_changeable_flags.DF_RD_NO_TRIM): Deleted
3396         (df_rd_bb_info.expanded_lr_out): Deleted
3397         * loop_invariant.c (find_defs): Deleted DF_RD_NO_TRIM flag.
3398         * loop_iv.c (iv_analysis_loop_init): Ditto.  * df-problems.c
3399         (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
3400         df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
3401         Removed code to allocate, initialize or free expanded_lr_out.
3402         (df_rd_bb_local_compute_process_def): Restructured to make more
3403         understandable.
3404         (df_rd_confluence_n): Removed code to no apply invalidate_by_call
3405         sets if the sets are being trimmed.
3406
3407 2008-01-22  H.J. Lu  <hongjiu.lu@intel.com>
3408
3409         PR bootstrap/32287
3410         * configure.ac (ld_vers): Support GNU linker version xx.xx.*
3411         (as_vers): Likewise.
3412         * configure: Regenerated.
3413
3414 2008-01-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
3415
3416         PR middle-end/33092
3417         * tree-pass.h (pass_build_alias): New pass.
3418         * tree-ssa-alias.c (gate_build_alias): New.
3419         (pass_build_alias): New.
3420         * passes.c (init_optimization_passes): Add pass_build_alias after
3421         pass_create_structure_vars.
3422
3423 2008-01-22  Wolfgang Gellerich  <gellerich@de.ibm.com>
3424
3425         * config/s390/s390.h (S390_TDC_POSITIVE_NORMALIZED_NUMBER):
3426         Renamed to S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER.
3427         (S390_TDC_NEGATIVE_NORMALIZED_NUMBER): Renamed to
3428         S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER.
3429         (S390_TDC_POSITIVE_DENORMALIZED_NUMBER): Renamed to
3430         S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER.
3431         (S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): Renamed to
3432         S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER.
3433         (S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER): New constant.
3434         (S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER): New constant.
3435         (S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER): New constant.
3436         (S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER): New constant.
3437         * config/s390/s390.md (FP_ALL): New mode iterator.
3438         (_d): New mode attribute.
3439         ("*signbit<mode>2>"): Changed mode of first operand.
3440         ("isinf<mode>2"): Changed mode of first operand.
3441         ("*TDC_insn"): Adaptation for DFP modes.
3442
3443 2008-01-22  Ben Elliston  <bje@au.ibm.com>
3444
3445         * tree.c (check_qualified_type): Improve function description.
3446
3447 2008-01-21  Jason Merrill  <jason@redhat.com>
3448
3449         PR c++/34196
3450         * tree.h (TRY_CATCH_IS_CLEANUP): New macro.
3451         * tree-eh.c (honor_protect_cleanup_actions): Strip TRY_CATCH_EXPR
3452         if it is set.
3453
3454 2008-01-21  DJ Delorie  <dj@redhat.com>
3455
3456         * doc/tm.texi (HARD_REGNO_NREGS): Note that this macro must not