OSDN Git Service

2009-03-24 Ralf Corsépius <ralf.corsepius@rtems.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2009-03-24  Ralf Corsépius <ralf.corsepius@rtems.org>
2
3         * config/m68k/t-rtems: Add m5329 multilib.
4
5 2009-03-24  Dodji Seketeli  <dodji@redhat.com>
6             Jakub Jelinek  <jakub@redhat.com>
7
8         PR debug/39524
9         * dwarf2out.c (gen_variable_die): Avoid adding duplicate declaration
10         nodes.
11
12 2009-03-23  Jakub Jelinek  <jakub@redhat.com>
13
14         PR c/39495
15         * c-parser.c (c_parser_omp_for_loop): Call c_parser_binary_expression
16         instead of c_parser_expression_conv, if original_code isn't one of the
17         4 allowed comparison codes, fail.
18
19 2009-03-23  Richard Guenther  <rguenther@suse.de>
20
21         * cgraph.h (struct cgraph_node): Reorder fields for 64-bit hosts.
22         * tree.h (struct tree_type): Likewise.
23         * reload.h (struct insn_chain): Likewise.
24         * dwarf2out.c (struct dw_loc_descr_struct): Likewise.
25         * function.h (struct function): Likewise.
26         * tree-ssa-structalias.c (struct equiv_class_label): Likewise.
27
28 2009-03-23  Jakub Jelinek  <jakub@redhat.com>
29
30         PR tree-optimization/39516
31         * lambda-code.c (perfect_nestify): Fix type of the uboundvar variable.
32
33 2009-03-23 Bingfeng Mei  <bmei@broadcom.com>
34
35         * config.gcc (need_64bit_hwint): Make clear that need_64bit_hwint 
36         should be set true if BITS_PER_WORD of target is bigger than 32
37
38 2009-03-22  Hans-Peter Nilsson  <hp@axis.com>
39
40         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC):
41         Translate -B-options to -rpath-link.  Correct existing
42         rpath-link and conditionalize on !nostdlib.
43
44 2009-03-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45
46         * doc/extend.texi (Function Attributes, Variable Attributes):
47         Fix typos.
48         * doc/invoke.texi (Debugging Options, Optimize Options)
49         (i386 and x86-64 Options, MCore Options): Likewise.
50
51 2009-03-20  Jakub Jelinek  <jakub@redhat.com>
52
53         PR debug/37890
54         * dwarf2out.c (gen_namespace_die): Add context_die argument and use
55         it for block local namespace aliases.
56         (gen_decl_die): Pass context_die to gen_namespace_die.
57
58 2009-03-19  Jakub Jelinek  <jakub@redhat.com>
59
60         PR c/39495
61         * c-omp.c (c_finish_omp_for): Allow NE_EXPR with TREE_TYPE (decl)'s
62         minimum or maximum value.
63
64 2009-03-19  Alexandre Oliva  <aoliva@redhat.com>
65
66         * reginfo.c (globalize_reg): Recompute derived reg sets.
67
68 2009-03-19  Ozkan Sezer <sezeroz@gmail.com>
69
70         PR target/39063
71         * libgcc2.c (mprotect): Do not use signed arguments for
72         VirtualProtect, use DWORD arguments.  Also fix the 'may
73         be used uninitialized' warning for the np variable.
74
75 2009-03-19  Jakub Jelinek  <jakub@redhat.com>
76
77         PR target/39496
78         * config/i386/i386.c (ix86_function_regparm): Don't optimize local
79         functions using regparm calling conventions when not optimizing.
80         (ix86_function_sseregparm): Similarly for sseregparm calling
81         conventions.
82
83 2009-03-19  Li Feng  <nemokingdom@gmail.com>
84
85         PR middle-end/39500
86         * tree-data-ref.c (analyze_subscript_affine_affine): There is no
87         dependence if the first conflict is after niter iterations.
88
89 2009-03-19  Hans-Peter Nilsson  <hp@axis.com>
90
91         PR middle-end/38609
92         * config/cris/cris.h (FRAME_POINTER_REQUIRED): Force for all
93         functions with dynamic stack-pointer adjustments.
94
95 2009-03-19  Ben Elliston  <bje@au.ibm.com>
96
97         * doc/invoke.texi (RS/6000 and PowerPC Options): Fix -msdata-data
98         option; change to -msdata=data.
99
100 2009-03-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101
102         * c.opt: Unify help texts for -Wdeprecated, -Wsystem-headers,
103         and -fopenmp.
104
105 2009-03-18  Eric Botcazou  <ebotcazou@adacore.com>
106
107         PR target/35180
108         * config/sparc/sparc.md (do_builtin_setjmp_setup): Prettify asm output.
109
110 2009-03-18  Sandra Loosemore  <sandra@codesourcery.com>
111
112         * doc/invoke.texi (Code Gen Options): Expand discussion of
113         -fno-common.
114
115 2009-03-18  Jakub Jelinek  <jakub@redhat.com>
116
117         * dse.c (struct group_info): Reorder fields for 64-bit hosts.
118         * matrix-reorg.c (struct matrix_info): Likewise.
119         * tree-ssa-loop-ivopts.c (struct ivopts_data): Likewise.
120         * rtl.h (struct mem_attrs): Likewise.
121         * df.h (struct df): Likewise.
122         * tree-data-ref.h (struct data_dependence_relation): Likewise.
123         * ira-int.h (struct ira_allocno): Likewise.
124         * df-scan.c (struct df_collection_rec): Likewise.
125         * ira.c (struct equivalence): Likewise.
126         * function.c (struct temp_slot): Likewise.
127         * cfgloop.h (struct loop): Likewise.
128
129         PR debug/39485
130         * function.c (use_register_for_decl): When not optimizing, disregard
131         register keyword for variables with types containing methods.
132
133 2009-03-18  Sebastian Pop  <sebastian.pop@amd.com>
134
135         PR middle-end/39447
136         * graphite.c (exclude_component_ref): Renamed contains_component_ref_p.
137         (is_simple_operand): Call contains_component_ref_p before calling data
138         reference analysis that would fail on COMPONENT_REFs.
139
140         * tree-vrp.c (search_for_addr_array): Fix formatting.
141
142 2009-03-18  Richard Guenther  <rguenther@suse.de>
143
144         * tree-vect-transform.c (vect_loop_versioning): Fold the
145         generated comparisons.
146         * tree-vectorizer.c (set_prologue_iterations): Likewise.
147         (slpeel_tree_peel_loop_to_edge): Likewise.
148
149 2009-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
150
151         PR middle-end/37805
152         * opts.c (print_specific_help): In addition to `undocumented',
153         accept `separate' and `joined' flags if passed alone.  Describe
154         output by the first matched one of those.
155         (common_handle_option): Skip over empty strings.
156         * gcc.c (display_help): Fix help string for `--help='.
157         * doc/invoke.texi (Option Summary, Overall Options): With
158         `--help=', classes and qualifiers can both be repeated, but
159         only the latter can be negated.  One should not pass only
160         negated qualifiers.  Fix markup and examples.
161
162         Revert
163         2008-10-14  Jakub Jelinek  <jakub@redhat.com>
164         PR middle-end/37805
165         * opts.c (common_handle_option): Don't ICE on -fhelp=joined
166         and -fhelp=separate.
167
168 2009-03-17  Jing Yu  <jingyu@google.com>
169
170         PR middle-end/39378
171         * function.h (struct rtl_data): Move is_thunk from here...
172         (struct function): ...to here.
173         * cp/method.c (use_thunk): Change is_thunk from crtl to cfun.
174         * varasm.c (assemble_start_function): Change is_thunk from crtl to
175         cfun.
176         * config/alpha/alpha.c (alpha_sa_mask): Change is_thunk from crtl to
177         cfun.
178         (alpha_does_function_need_gp, alpha_start_function): Likewise.
179         (alpha_output_function_end_prologue): Likewise.
180         (alpha_end_function, alpha_output_mi_thunk_osf): Likewise.
181         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likewise.
182         (rs6000_output_function_epilogue): Likewise.
183         * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Likewise.
184
185 2009-03-17  Uros Bizjak  <ubizjak@gmail.com>
186
187         PR target/39482
188         * config/i386/i386.md (*truncdfsf_mixed): Avoid combining registers
189         from different units in a single alternative.
190         (*truncdfsf_i387): Ditto.
191         (*truncxfsf2_mixed): Ditto.
192         (*truncxfdf2_mixed): Ditto.
193
194 2009-03-17  Jakub Jelinek  <jakub@redhat.com>
195
196         * dwarf2out.c (dwarf2out_imported_module_or_decl_1): Allow
197         non-NAMESPACE_DECL IMPORTED_DECL_ASSOCIATED_DECL.
198
199         PR debug/39474
200         * tree-ssa-live.c (remove_unused_locals): Don't remove local
201         unused non-artificial variables when not optimizing.
202
203         PR debug/39471
204         * dwarf2out.c (dwarf2out_imported_module_or_decl_1): Emit
205         DW_TAG_imported_module even if decl is IMPORTED_DECL with
206         NAMESPACE_DECL in its DECL_INITIAL.
207
208         PR middle-end/39443
209         * optabs.c (set_user_assembler_libfunc): New function.
210         * expr.h (set_user_assembler_libfunc): New prototype.
211         * c-common.c: Include libfuncs.h.
212         (set_builtin_user_assembler_name): Call set_user_assembler_libfunc
213         for memcmp, memset, memcpy, memmove and abort.
214         * Makefile.in (c-common.o): Depend on libfuncs.h.
215
216         PR debug/39412
217         * dwarf2out.c (gen_inlined_enumeration_type_die,
218         gen_inlined_structure_type_die, gen_inlined_union_type_die,
219         gen_tagged_type_instantiation_die): Removed.
220         (gen_decl_die): For TYPE_DECL_IS_STUB with non-NULL decl_origin
221         do nothing.
222
223 2009-03-17  Janis Johnson  <janis187@us.ibm.com>
224
225         PR testsuite/38526
226         * Makefile.in (site.exp): Rename TEST_GCC_EXEC_PREFIX and comment
227         its use.
228         (check-%): Don't set GCC_EXEC_PREFIX when invoking runtest.
229         (check-parallel-%): Ditto.
230         (check-consistency): Ditto.
231
232 2009-03-17  Kai Tietz  <kai.tietz@onevision.com>
233
234         * ipa-struct-reorg.c (create_general_new_stmt): Initialize
235         local variable rhs by NULL_TREE.
236
237 2009-03-17  H.J. Lu  <hongjiu.lu@intel.com>
238
239         PR target/39477
240         * doc/extend.texi: Correct register behavior for regparm on Intel 386.
241
242 2009-03-17  H.J. Lu  <hongjiu.lu@intel.com>
243
244         PR target/39476
245         * config/i386/i386.c (ix86_function_regparm): Rewrite for 64bit.
246
247 2009-03-17  H.J. Lu  <hongjiu.lu@intel.com>
248
249         PR target/39473
250         * config/i386/i386.c (ix86_expand_call): Check extra clobbers
251         for ms->sysv ABI calls only in 64bit mode.
252
253         * config/i386/i386.md (untyped_call): Support 32bit.
254
255 2009-03-16  H.J. Lu  <hongjiu.lu@intel.com>
256
257         * doc/extend.texi: Replace x86_65 with x86_64.
258
259 2009-03-16  Jakub Jelinek  <jakub@redhat.com>
260
261         PR tree-optimization/39455
262         * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Fix types
263         mismatches for POINTER_TYPE_P (type).
264         (number_of_iterations_le): Likewise.
265
266 2009-03-16  Hariharan Sandanagobalane <hariharan@picochip.com>
267
268         * config/picochip/picochip.c: Removed profiling support.
269         * config/picochip/picochip.md: Removed profiling instruction.
270         * config/picochip/picochip.h: Removed profiling builtin.
271
272 2009-03-16  Joseph Myers  <joseph@codesourcery.com>
273
274         * doc/install.texi (--with-host-libstdcxx): Document.
275
276 2009-03-14  Anatoly Sokolov  <aesok@post.ru>
277
278         PR target/34299
279         * config/avr/avr.c (avr_handle_fndecl_attribute): Move code for
280         generate a warning if the function name does not begin with
281         "__vector" and the function has either the 'signal' or 'interrupt'
282         attribute, from here to ...
283         (avr_declare_function_name): ...here. New function.
284         * config/avr/avr.h (ASM_DECLARE_FUNCTION_NAME): Redefine.
285         * config/avr/avr-protos.h (avr_declare_function_name): Declare.
286
287 2009-03-14  Jakub Jelinek  <jakub@redhat.com>
288
289         PR bootstrap/39454
290         * cse.c (fold_rtx): Don't modify original const_arg1 when
291         canonicalizing SHIFT_COUNT_TRUNCATED shift count, do it on a
292         separate variable instead.
293         * rtlanal.c (nonzero_bits1) <case ASHIFTRT>: Don't assume anything
294         from out of range shift counts.
295         (num_sign_bit_copies1) <case ASHIFTRT, case ASHIFT>: Similarly.
296
297 2008-03-13  Catherine Moore  <clm@codesourcery.com>
298
299         * gcc/config/i386/x-mingw32 (host-mingw32.o): Replace
300         diagnostic.h with $(DIAGNOSTIC_H).
301
302 2008-03-12  Jakub Jelinek  <jakub@redhat.com>
303
304         PR target/39431
305         * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): New
306         predicate.
307         * config/i386/sync.md (sync_compare_and_swap<mode>,
308         sync_compare_and_swap_cc<mode>): For DImode with -m32 -fpic check
309         if operands[1] is cmpxchg8b_pic_memory_operand, if not force address
310         into a register.
311         (sync_double_compare_and_swapdi_pic,
312         sync_double_compare_and_swap_ccdi_pic): Require operand 1 to be
313         cmpxchg8b_pic_memory_operand instead of just memory_operand.
314
315 2009-03-12  H.J. Lu  <hongjiu.lu@intel.com>
316
317         PR target/39445
318         * config/i386/i386.c (ix86_expand_push): Don't set memory alignment.
319
320 2009-03-12  H.J. Lu  <hongjiu.lu@intel.com>
321
322         PR target/39327
323         * config/i386/sse.md (avx_addsubv8sf3): Correct item bits.
324         (avx_addsubv4df3): Likewise.
325         (*avx_addsubv4sf3): Likewise.
326         (sse3_addsubv4sf3): Likewise.
327
328 2009-03-12  H.J. Lu  <hongjiu.lu@intel.com>
329
330         PR target/38824
331         * config/i386/i386.md: Compare REGNO on the new peephole2 patterns.
332
333 2009-03-12  Vladimir Makarov  <vmakarov@redhat.com>
334
335         PR debug/39432
336         * ira-int.h (struct allocno): Fix comment for calls_crossed_num.
337         * ira-conflicts.c (ira_build_conflicts): Prohibit call used
338         registers for allocnos created from user-defined variables.
339
340 2009-03-11  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
341
342         PR target/39181
343         * config/spu/spu.c (spu_expand_mov): Handle invalid subregs
344         of non-integer mode as well.
345
346 2009-03-11  Adam Nemet  <anemet@caviumnetworks.com>
347
348         * gimplify.c (gimplify_call_expr): Don't set CALL_CANNOT_INLINE_P
349         for functions for which the parameter types are unknown.
350
351 2009-03-11  Jakub Jelinek  <jakub@redhat.com>
352
353         PR target/39137
354         * cfgexpand.c (get_decl_align_unit): Use LOCAL_DECL_ALIGNMENT macro.
355         * defaults.h (LOCAL_DECL_ALIGNMENT): Define if not yet defined.
356         * config/i386/i386.h (LOCAL_DECL_ALIGNMENT): Define.
357         * config/i386/i386.c (ix86_local_alignment): For
358         -m32 -mpreferred-stack-boundary=2 use 32-bit alignment for
359         long long variables on the stack to avoid dynamic realignment.
360         Allow the first argument to be a decl rather than type.
361         * doc/tm.texi (LOCAL_DECL_ALIGNMENT): Document.
362
363 2009-03-11  Nick Clifton  <nickc@redhat.com>
364
365         PR target/5362
366         * config/mcore/mcore.opt: Remove deprecated m4align and m8align
367         options.
368         Add description to mno-lsim option.
369         * config/mcore/mcore.h: Remove comment about deprecated m4align
370         option.
371         (TARGET_DEFAULT): Remove deprecated MASK_M8ALIGN.
372         * doc/invoke.texi: Add description of mno-lsim and
373         mstack-increment options.
374
375         * config/fr30/fr30.opt: Document the -mno-lsim option.
376         * doc/invoke.texi: Add descriptions of the FR30's -msmall-model
377         and -mno-lsim options.
378
379 2009-03-11  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
380
381         * fold-const.c (fold_comparison): Only call fold_inf_compare
382         if the mode supports infinities.
383
384 2009-03-11  Jason Merrill  <jason@redhat.com>
385
386         PR debug/39086
387         * tree-nrv.c (tree_nrv): Don't do this optimization if the front
388         end already did.  Notice GIMPLE_CALL modifications of the result.
389         Don't copy debug information from an ignored decl or a decl from
390         another function.
391
392 2009-03-10  Richard Guenther  <rguenther@suse.de>
393             Nathan Froyd  <froydnj@codesourcery.com>
394
395         PR middle-end/37850
396         * libgcc2.c (__mulMODE3): Use explicit assignments to form the result.
397         (__divMODE3): Likewise.
398
399 2009-03-09  Jakub Jelinek  <jakub@redhat.com>
400
401         PR tree-optimization/39394
402         * gimplify.c (gimplify_type_sizes): Gimplify DECL_SIZE and
403         DECL_SIZE_UNIT of variable length FIELD_DECLs.
404
405 2009-03-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
406
407         * recog.c (verfiy_changes): Disallow renaming of hard regs in
408         inline asms for register asm ("") declarations.
409
410 2009-03-09  Eric Botcazou  <ebotcazou@adacore.com>
411
412         * fold-const.c (fold_unary): Fix comment.
413
414 2009-03-07  Jan Hubicka  <jh@suse.cz>
415
416         PR target/39361
417         * tree-inline.c (setup_one_parameter): Do replacement of const argument
418         by constant in SSA form.
419
420 2009-03-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
421
422         PR middle-end/38028
423         * function.c (assign_parm_setup_stack): Use STACK_SLOT_ALIGNMENT to
424         determine alignment passed to assign_stack_local.
425         (assign_parms_unsplit_complex): Likewise.
426         * except.c (sjlj_build_landing_pads): Likewise.
427
428 2009-03-06  Jakub Jelinek  <jakub@redhat.com>
429
430         PR middle-end/39360
431         * tree-flow.h (add_referenced_var): Return bool instead of void.
432         * tree-dfa.c (add_referenced_var): Return result of
433         referenced_var_check_and_insert call.
434         * tree-inline.c (expand_call_inline): Call add_referenced_var instead
435         of referenced_var_check_and_insert.
436
437         PR debug/39372
438         * dwarf2out.c (add_abstract_origin_attribute): Return origin_die.
439         (gen_variable_die): Emit DW_AT_location on abstract static variable's
440         DIE, don't emit it if abstract origin already has it.
441         * tree-cfg.c (remove_useless_stmts_bind): GIMPLE_BINDs with any
442         BLOCK_NONLOCALIZED_VARS in its gimple_bind_block aren't useless.
443
444 2009-03-06  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
445
446         * genpreds.c: (needs_variable): Fix parentheses at variable name
447         detection.
448         (write_tm_constrs_h): Indent generated code.
449
450 2009-03-06  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
451
452         * doc/extend.texi (Function Attributes): Add documentation
453         for isr attributes.
454
455 2009-03-06  Jakub Jelinek  <jakub@redhat.com>
456
457         PR debug/39387
458         * dwarf2out.c (dwarf2out_imported_module_or_decl_1): For IMPORTED_DECL
459         take locus from its DECL_SOURCE_LOCATION instead of input_location.
460
461 2009-03-05  Bernd Schmidt  <bernd.schmidt@analog.com>
462
463         * config/bfin/bfin.c (bfin_discover_loop): When retrying fails, mark
464         the loop as bad.
465
466 2009-03-05  Jakub Jelinek  <jakub@redhat.com>
467
468         PR debug/39379
469         * tree-cfg.c (remove_useless_stmts_bind): Don't remove GIMPLE_BINDs
470         with blocks containing IMPORTED_DECLs in BLOCK_VARS.
471
472 2009-03-05  Uros Bizjak  <ubizjak@gmail.com>
473
474         * config/i386/i386.md (R8_REG, R9_REG): New constants.
475         * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Use named
476         constants instead of magic numbers.
477         (HARD_REGNO_CALLER_SAVE_MODE): Ditto.
478         (QI_REG_P): Ditto.
479         * config/i386/i386.c (x86_64_int_parameter_registers): Ditto.
480         (x86_64_ms_abi_int_parameter_registers): Ditto.
481         (x86_64_int_return_registers): Ditto.
482         (ix86_maybe_switch_abi): Ditto.
483         (ix86_expand_call): Ditto for clobbered_registers array.
484         (ix86_hard_regno_mode_ok): Ditto.
485         (x86_extended_QIreg_mentioned_p): Ditto.
486
487 2009-03-05  J"orn Rennecke  <joern.rennecke@arc.com>
488
489         PR tree-optimization/39349
490         * cse.c (cse_insn): Fix loop to stop at VOIDmode.
491
492         * combine.c (gen_lowpart_for_combine): Use omode when generating
493         clobber.
494
495 2009-03-04  J"orn Rennecke  <joern.rennecke@arc.com>
496
497         PR rtl-optimization/39235
498         * loop-iv.c (get_simple_loop_desc): Use XCNEW.
499
500 2009-03-04  Zdenek Dvorak  <ook@ucw.cz>
501
502         * graphite.c (nb_reductions_in_loop): Update simple_iv arguments.
503
504 2009-03-04  Richard Guenther  <rguenther@suse.de>
505
506         PR tree-optimization/39362
507         * tree-ssa-sccvn.c (visit_use): Stores and copies from SSA_NAMEs
508         that occur in abnormal PHIs should be varying.
509
510 2009-03-04  Zdenek Dvorak  <ook@ucw.cz>
511
512         * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop):
513         Extend comments.
514         (simple_iv):  Take loop as an argument instead of statement.
515         * tree-scalar-evolution.h (simple_iv): Declaration changed.
516         * tree-ssa-loop-niter.c (number_of_iterations_exit): Update calls
517         to simple_iv.
518         * tree-ssa-loop-ivopts.c (determine_biv_step, find_givs_in_stmt_scev):
519         Ditto.
520         * tree-parloops.c (loop_parallel_p, canonicalize_loop_ivs): Ditto.
521         * matrix-reorg.c (analyze_transpose): Ditto.
522         * tree-data-ref.c (dr_analyze_innermost): Ditto.
523         * tree-vect-analyze.c (vect_analyze_data_refs): Ditto.
524         * tree-predcom.c (ref_at_iteration): Ditto.
525         * tree-ssa-loop-prefetch.c (idx_analyze_ref): Ditto.
526
527 2009-03-04  Richard Guenther  <rguenther@suse.de>
528
529         PR tree-optimization/39358
530         * tree-ssa-structalias.c (do_sd_constraint): Fix check for
531         escaped_id and callused_id.
532         (solve_graph): Likewise.
533
534 2009-03-04  Richard Guenther  <rguenther@suse.de>
535
536         PR tree-optimization/39339
537         * tree-sra.c (try_instantiate_multiple_fields): Make it
538         no longer ICE on the above.
539
540 2009-03-03  Joseph Myers  <joseph@codesourcery.com>
541
542         * emit-rtl.c (adjust_address_1): Reduce offset to a signed value
543         that fits within Pmode.
544
545 2009-03-03  Steve Ellcey  <sje@cup.hp.com>
546
547         PR middle-end/10109
548         * tm.texi (LIBCALL_VALUE): Update description.
549
550 2009-03-03  Steve Ellcey  <sje@cup.hp.com>
551
552         PR middle-end/34443
553         * doc/extend.texi (section): Update description.
554
555 2009-03-03  H.J. Lu  <hongjiu.lu@intel.com>
556
557         PR middle-end/39345
558         * tree-inline.c (remapped_type): New.
559         (can_be_nonlocal): Call remapped_type instead of remap_type.
560
561 2009-03-03  Jakub Jelinek  <jakub@redhat.com>
562
563         PR fortran/39354
564         * gimplify.c (goa_stabilize_expr): Handle tcc_comparison,
565         TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR.
566
567 2009-03-03  Richard Guenther  <rguenther@suse.de>
568
569         PR middle-end/39272
570         * tree.c (tree_nonartificial_location): New function.
571         * tree.h (tree_nonartificial_location): Declare.
572         * builtins.c (expand_builtin_memory_chk): Provide location
573         of the call location for artificial function pieces.
574         (maybe_emit_chk_warning): Likewise.
575         (maybe_emit_sprintf_chk_warning): Likewise.
576         (maybe_emit_free_warning): Likewise.
577         * expr.c (expand_expr_real_1): Likewise.
578
579 2009-03-03  Jakub Jelinek  <jakub@redhat.com>
580
581         PR tree-optimization/39343
582         * tree-ssa-ccp.c (maybe_fold_offset_to_address): Don't check if
583         COMPONENT_REF t has ARRAY_TYPE.
584
585 2009-03-02  Sebastian Pop  <sebastian.pop@amd.com>
586
587         PR middle-end/39335
588         * tree-parloops.c (canonicalize_loop_ivs): Call fold_convert
589         when the type precision of the induction variable should be
590         larger than the type precision of nit.
591         (gen_parallel_loop): Update use of canonicalize_loop_ivs.
592         * graphite.c (graphite_loop_normal_form): Same.
593         * tree-flow.h (canonicalize_loop_ivs): Update declaration.
594
595 2009-03-02  Uros Bizjak  <ubizjak@gmail.com>
596
597         * config/i386/i386.md (ST?_REG, MM?_REG): New constants.
598         (*call_1_rex64_ms_sysv): Use named constants instead of magic
599         numbers to describe clobbered registers.
600         (*call_value_0_rex64_ms_sysv): Ditto.
601         * config/i386/mmx.md (mmx_emms): Ditto.
602         (mmx_femms): Ditto.
603
604 2009-03-02  Richard Sandiford  <rdsandiford@googlemail.com>
605
606         * config/mips/mips.c (mips_mdebug_abi_name): Fix the handling
607         of ABI_64.
608
609 2009-03-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
610
611         * config/spu/spu.c (TARGET_SECTION_TYPE_FLAGS): Define.
612         (spu_section_type_flags): New function.
613
614 2009-03-02  Uros Bizjak  <ubizjak@gmail.com>
615
616         * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not copy
617         reg_class_contents of FLOAT_REGS into a temporary.
618
619 2009-03-02  Richard Guenther  <rguenther@suse.de>
620             Ira Rosen  <irar@il.ibm.com>
621
622         PR tree-optimization/39318
623         * tree-vect-transform.c (vectorizable_call): Transfer the EH region
624         information to the vectorized statement.
625
626 2009-03-01  Uros Bizjak  <ubizjak@gmail.com>
627
628         * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not shadow "i"
629         variable.  Use defined names instead of magic constants for REX SSE
630         registers.
631
632 2009-03-01  Richard Guenther  <rguenther@suse.de>
633
634         PR tree-optimization/39331
635         * omp-low.c (lower_send_shared_vars): Do not receive new
636         values for the reference of DECL_BY_REFERENCE parms or results.
637
638 2009-03-01  Jan Hubicka  <jh@suse.cz>
639
640         PR debug/39267
641         * tree.h (BLOCK_NONLOCALIZED_VARS, BLOCK_NUM_NONLOCALIZED_VARS,
642         BLOCK_NONLOCALIZED_VAR): New macros.
643         (tree_block): Add nonlocalized_vars.
644         * dwarf2out.c (gen_formal_parameter_die, gen_variable_die,
645         gen_decl_die): Add origin argument.  Allow generation of die with
646         origin at hand only.
647         (gen_member_die, gen_type_die_with_usage, force_decl_die,
648         declare_in_namespace, gen_namescpace_die, dwarf2out_decl): Update use
649         of gen_*.
650         (gen_block_die): Fix checking for unused blocks.
651         (process_scope_var): Break out from .... ; work with origins only.
652         (decls_for_scope) ... here; process nonlocalized list.
653         (dwarf2out_ignore_block): Look for nonlocalized vars.
654         * tree-ssa-live.c (remove_unused_scope_block_p): Look for nonlocalized
655         vars.
656         (dump_scope_block): Dump them.
657         * tree-inline.c (remap_decls): Handle nonlocalized vars.
658         (remap_block): Likewise.
659         (can_be_nonlocal): New predicate.
660         (copy_bind_expr, copy_gimple_bind): Update use of remap_block.
661
662 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
663
664         * configure: Regenerate.
665
666 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
667
668         * optc-gen.awk: No need to duplicate option flags twice.
669         Reuse help texts for duplicate options which do not have any.
670
671         * gcc.c (display_help): Document --version.
672
673         * gcc.c (main): If print_help_list and verbose_flag, ensure
674         driver output comes before subprocess output.
675
676         * optc-gen.awk: Assign all remaining fields to help string,
677         space-separated, for multi-line help in *.opt.
678
679         * doc/invoke.texi (Warning Options): -Wsync-nand is C/C++ only.
680         -Wno-pedantic-ms-format is for MinGW targets only.
681
682         * doc/options.texi (Option file format): Fix bad indentation,
683         restoring dropped sentence.
684
685 2009-02-28  Jan Hubicka  <jh@suse.cz>
686
687         * tree-inline.c (tree_function_versioning): Output debug info.
688
689 2009-02-28  Jan Hubicka  <jh@suse.cz>
690
691         PR debug/39267
692         * tree-inline.c (setup_one_parameter): Do not copy propagate
693         arguments when not optimizing.
694
695 2009-02-28  H.J. Lu  <hongjiu.lu@intel.com>
696
697         PR target/39327
698         * config/i386/sse.md (avx_addsubv8sf3): Correct item bits.
699         (avx_addsubv4df3): Likewise.
700         (*avx_addsubv4sf3): Likewise.
701         (sse3_addsubv4sf3): Likewise.
702         (*avx_addsubv2df3): Likewise.
703         (sse3_addsubv2df3): Likewise.
704         (avx_unpckhps256): Correct item selectors.
705         (avx_unpcklps256): Likewise.
706         (avx_unpckhpd256): Likewise.
707         (avx_unpcklpd256): Likewise.
708
709 2009-02-28  Jan Hubicka  <jh@suse.cz>
710
711         * tree-inline.c (expand_call_inline): Avoid duplicate declarations of
712         static vars.
713         (copy_arguments_for_versioning): If var is declared don't declare it.
714         (tree_function_versioning): First setup substitutions and then copy
715         args.
716
717 2009-02-27  Jan Hubicka  <jh@suse.cz>
718
719         PR debug/39267
720         * cgraph.h (varpool_output_debug_info): Remove.
721         * cgraphunit.c (varpool_output_debug_info): Remove.
722         * dwarf2out.c (deferred_locations_struct): New struct
723         (deferred_locations): New type.
724         (deferred_locations_list): New static var.
725         (deffer_location): New function.
726         (gen_variable_die): Use it.
727         (decls_for_scope): Output info on local static vars.
728         (dwarf2out_finish): Process deferred locations.
729         * varpool.c (varpool_output_debug_info): Remove.
730
731 2009-02-27  Jan Hubicka  <jh@suse.cz>
732
733         PR debug/39267
734         * tree.h (TREE_PROTECTED): Fix comment.
735         (BLOCK_HANDLER_BLOCK): Remove.
736         (struct tree_block): Remove handler_block add body_block.
737         (inlined_function_outer_scope_p): New.
738         (is_body_block): Remove.
739         * dbxout.c (dbxout_block): Remove BLOCK_HANDLER_BLOCK.
740         * dwarf2out.c (is_inlined_entry_point): Remove.
741         (add_high_low_attributes): Use inlined_function_outer_scope_p.
742         (gen_block_die): Use is_inlined_entry_point check.  Remove body block
743         code.
744         * langhooks.h (struct lang_hooks): Remove no_bodu_blocks.
745         * gimplify.c (gimplify_expr): Gimplify body blocks.
746         * tree-ssa-live.c (remove_unused_scope_block_p): Allow removing wrapper
747         block with multiple subblocks.
748         (dump_scope_block): Prettier output; dump more flags and info.
749         (dump_scope_blocks): New.
750         (remove_unused_locals): Use dump_scope_blocks.
751         * tree-flow.h (dump_scope_blocks): Declare.
752         * tree-cfg.c (execute_build_cfg): Dump scope blocks.
753         * stmt.c (is_body_block): Remove.
754         * tree-inline.c (remap_block): Copy BODY_BLOCK info.
755         * langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): Remove.
756
757 2009-02-27  Sebastian Pop  <sebastian.pop@amd.com>
758
759         PR middle-end/39308
760         * graphite.c (graphite_loop_normal_form): Do not call 
761         number_of_iterations_exit from a gcc_assert.
762
763 2009-02-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
764
765         * gcc/config/s390/s390.c: (s390_swap_cmp): Look for conditional
766         jumps if COND is NULL.
767         (find_cond_jump): New function.
768         (s390_z10_optimize_cmp): Handling for reg-reg compares added.
769         * gcc/config/s390/s390.md: Remove z10_cobra attribute value.
770
771 2009-02-26  Uros Bizjak  <ubizjak@gmail.com>
772
773         * config/alpha/alpha.h (alpha_expand_mov): Return false if
774         force_const_mem returns NULL_RTX.
775
776 2009-02-26  Jan Hubicka  <jh@suse.cz>
777
778         PR debug/39267
779         * cgraph.h (varpool_output_debug_info): Remove.
780         * cgraphunit.c (varpool_output_debug_info): Remove.
781         * dwarf2out.c (deferred_locations_struct): New struct
782         (deferred_locations): New type.
783         (deferred_locations_list): New static var.
784         (deffer_location): New function.
785         (gen_variable_die): Use it.
786         (decls_for_scope): Output info on local static vars.
787         (dwarf2out_finish): Process deferred locations.
788         * varpool.c (varpool_output_debug_info): Remove.
789
790 2009-02-25  H.J. Lu  <hongjiu.lu@intel.com>
791
792         PR rtl-optimization/39241
793         * jump.c (rtx_renumbered_equal_p): Remove 2 superfluous calls
794         to subreg_offset_representable_p.
795
796 2009-02-25  Paolo Bonzini  <bonzini@gnu.org>
797
798         * regmove.c (regmove_optimize): Conform to struct rtl_opt_pass
799         execute function prototype.  Get f and nregs from max_reg_num
800         and get_insns.  Remove the first backward pass as it's dead,
801         guard the forward pass by flag_expensive_optimizations.
802         (rest_of_handle_regmove): Delete.
803         (pass_regmove): Replace it with regmove_optimize.
804
805 2009-02-25  Martin Jambor  <mjambor@suse.cz>
806
807         PR tree-optimization/39259
808         * tree-inline.c (initialize_cfun): Remove asserts for calls_setjmp and
809         calls_alloca function flags.
810         (copy_bb): Set calls_setjmp and alls_alloca function flags if such
811         calls are detected.
812
813 2009-02-25  Paolo Bonzini  <bonzini@gnu.org>
814
815         * regmove.c (discover_flags_reg, flags_set_1, mark_flags_life_zones,
816         flags_set_1_rtx, flags_set_1_set): Delete.
817         (regmove_optimize): Do not call mark_flags_life_zones.
818
819 2009-02-24  Julian Brown  <julian@codesourcery.com>
820
821         PR target/35965
822         * config/arm/arm.c (require_pic_register): Only set
823         cfun->machine->pic_reg once per function.
824
825 2009-02-24  Sandra Loosemore  <sandra@codesourcery.com>
826
827         * doc/invoke.texi (Link Options): Document an easier way to pass
828         options that take arguments to the GNU linker using -Xlinker and -Wl.
829
830 2009-02-24  Steve Ellcey  <sje@cup.hp.com>
831
832         PR target/33785
833         * doc/tm.texi (TARGET_C99_FUNCTIONS): Fix description.
834
835 2009-02-24  Richard Guenther  <rguenther@suse.de>
836
837         PR debug/39285
838         * dwarf2out.c (gen_enumeration_type_die): Handle CONST_DECLs.
839
840 2009-02-24  Richard Guenther  <rguenther@suse.de>
841             Zdenek Dvorak  <ook@ucw.cz>
842
843         PR tree-optimization/39233
844         * tree-ssa-loop-ivopts.c (add_candidate_1): Do not except pointers
845         from converting them to a generic type.
846
847 2009-02-23  Sebastian Pop  <sebastian.pop@amd.com>
848
849         PR tree-optimization/39260
850         * graphite.c (harmful_stmt_in_bb): Stop a SCoP when the basic block
851         contains a condition with a real type.
852         (build_scop_conditions_1): Conditions are always last_stmt of a bb.
853
854 2009-02-23  Jason Merrill  <jason@redhat.com>
855
856         PR c++/38880
857         * varasm.c (initializer_constant_valid_p) [PLUS_EXPR]: Check
858         narrowing_initializer_constant_valid_p.
859         (narrowing_initializer_constant_valid_p): Don't return 
860         null_pointer_node for adding a pointer to itself.
861
862 2009-02-23  Jan Hubicka  <jh@suse.cz>
863
864         PR c/12245
865         * ggc.h (htab_create_ggc): Use ggc_free to free hashtable when
866         resizing.
867
868 2009-02-23  Jan Hubicka  <jh@suse.cz>
869
870         PR tree-optimization/37709
871         * tree.c (block_ultimate_origin): Move here from dwarf2out.
872         * tree.h (block_ultimate_origin): Declare.
873         * dwarf2out.c (block_ultimate_origin): Move to tree.c
874         * tree-ssa-live.c (remove_unused_scope_block_p):
875         Eliminate blocks containig no instructions nor live variables nor
876         nested blocks.
877         (dump_scope_block): New function.
878         (remove_unused_locals): Enable removal of dead blocks by default;
879         enable dumping at TDF_DETAILS.
880
881 2009-02-21  H.J. Lu  <hongjiu.lu@intel.com>
882
883         * config/i386/i386.c (classify_argument): Don't allow COImode
884         and OImode.
885         (function_arg_advance_32): Don't allow OImode.
886         (function_arg_32): Likewise.
887         (function_value_32): Likewise.
888         (return_in_memory_32): Likewise.
889         (function_arg_64): Remove OImode comment.
890
891 2009-02-21  H.J. Lu  <hongjiu.lu@intel.com>
892
893         PR target/39261
894         * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Use
895         ix86_expand_vector_set for V4DImode in 64bit mode only.
896         (ix86_expand_vector_init_one_var): Likewise.
897
898 2009-02-21  Sebastian Pop  <sebastian.pop@amd.com>
899
900         * graphite.c (graphite_trans_loop_block): Adjust tile size to 51.
901
902 2009-02-21  Richard Sandiford  <rdsandiford@googlemail.com>
903
904         PR bootstrap/39257
905         * loop-iv.c: Revert last change.
906         * emit-rtl.c: Likewise.
907
908 2009-02-21  H.J. Lu  <hongjiu.lu@intel.com>
909
910         PR target/39256
911         * config/i386/i386.c (type_natural_mode): Remove an extra
912         space in the warning message.
913         (function_value_32): Handle 32-byte vector modes.
914         (return_in_memory_32): Likewise.
915
916 2009-02-21  Richard Sandiford  <rdsandiford@googlemail.com>
917
918         * loop-iv.c (truncate_value): New function.
919         (iv_subreg, get_iv_value, iv_number_of_iterations): Use it instead
920         of lowpart_subreg.
921         (lowpart_subreg): Move to...
922         * emit-rtl.c: ...here.
923
924 2009-02-21  Danny Smith  <dannysmith@users.sourceforge.net>
925
926         * config/i386/winnt.c (i386_pe_asm_output_aligned_decl_common): Revert
927         accidental and undocumented change at revision 140860.
928
929 2009-02-21  Joseph Myers  <joseph@codesourcery.com>
930
931         * config/arm/arm.c (arm_gimplify_va_arg_expr): Update prototype to
932         take gimple_seq * arguments.
933         (arm_mangle_type): Use CONST_CAST_TREE on type argument passed to
934         types_compatible_p langhook.
935
936 2009-02-20  Mark Mitchell  <mark@codesourcery.com>
937             Joseph Myers  <joseph@codesourcery.com>
938
939         * config/arm/arm.c (arm_builtin_va_list): New function.
940         (arm_expand_builtin_va_start): Likewise.
941         (arm_gimplify_va_arg_expr): Likewise.
942         (TARGET_BUILD_BUILTIN_VA_LIST): Define.
943         (TARGET_BUILD_BUILTIN_VA_START): Likewise.
944         (TARGET_BUILD_BUILTIN_VA_ARG_EXPR): Likewise.
945         (va_list_type): New variable.
946         (arm_mangle_type): Mangle va_list_type appropriately.
947
948 2009-02-20  Jakub Jelinek  <jakub@redhat.com>
949
950         PR middle-end/39157
951         * Makefile.in (loop-invariant.o): Depend on $(PARAMS_H).
952         * params.h (LOOP_INVARIANT_MAX_BBS_IN_LOOP): Define.
953         * params.def (loop-invariant-max-bbs-in-loop): New parameter.
954         * opts.c (decode_options): Set loop-invariant-max-bbs-in-loop
955         parameter to 1000 for -O1 by default.
956         * doc/invoke.texi (loop-invariant-max-bbs-in-loop): Document new
957         parameter.
958         * loop-invariant.c: Include params.h.
959         (move_loop_invariants): Don't call move_single_loop_invariants on
960         very large loops.
961
962 2009-02-20  Jaka Mocnik  <jaka@xlab.si>
963
964         * calls.c (emit_library_call_value_1): Use slot_offset instead of
965         offset when calculating bounds for indexing stack_usage_map.  Fixes
966         a buffer overflow with certain target setups.
967
968 2009-02-20  Jakub Jelinek  <jakub@redhat.com>
969
970         PR target/39240
971         * calls.c (expand_call): Clear try_tail_call if caller and callee
972         disagree in promotion of function return value.
973
974 2009-02-19  Jakub Jelinek  <jakub@redhat.com>
975
976         PR target/39175
977         * c-common.c (c_determine_visibility): If visibility changed and
978         DECL_RTL has been already set, call make_decl_rtl to update symbol
979         flags.
980
981 2009-02-19  H.J. Lu  <hongjiu.lu@intel.com>
982
983         PR c++/39188
984         * varasm.c (assemble_variable): Don't check DECL_NAME when
985         globalizing a variable.
986
987 2009-02-19  Joseph Myers  <joseph@codesourcery.com>
988
989         PR c/38483
990         * builtins.c (gimplify_va_arg_expr): Evaluate the va_list
991         expression before any __builtin_trap call.
992         * c-typeck.c (build_function_call): Convert and check function
993         arguments before generating a call to a trap.  Evaluate the
994         function arguments before the trap.
995
996 2009-02-19  Uros Bizjak  <ubizjak@gmail.com>
997
998         PR target/39228
999         * config/i386/i386.md (isinfxf2): Split from isinf<mode>2.
1000         (UNSPEC_FXAM_MEM): New unspec.
1001         (fxam<mode>2_i387_with_temp): New insn and split pattern.
1002         (isinf<mode>2): Use MODEF mode iterator.  Force operand[1] through
1003         memory using fxam<mode>2_i387_with_temp to remove excess precision.
1004
1005 2009-02-19  Richard Guenther  <rguenther@suse.de>
1006
1007         PR tree-optimization/39207
1008         PR tree-optimization/39074
1009         * tree-ssa-structalias.c (storedanything_id, var_storedanything,
1010         storedanything_tree): New.
1011         (do_ds_constraint): Simplify ANYTHING shortcutting.  Update
1012         the STOREDANYTHING solution if the lhs solution contains ANYTHING.
1013         (build_succ_graph): Add edges from STOREDANYTHING to all
1014         non-direct nodes.
1015         (init_base_vars): Initialize STOREDANYTHING.
1016         (compute_points_to_sets): Free substitution info after
1017         building the succ graph.
1018         (ipa_pta_execute): Likewise.
1019
1020         * tree-ssa-structalias.c (struct variable_info): Add may_have_pointers
1021         field.
1022         (do_ds_constraint): Do not add to special var or non-pointer
1023         field solutions.
1024         (type_could_have_pointers): Split out from ...
1025         (could_have_pointers): ... here.  For arrays use the element type.
1026         (create_variable_info_for): Initialize may_have_pointers.
1027         (new_var_info): Likewise.
1028         (handle_lhs_call): Make the HEAP variable unknown-sized.
1029         (intra_create_variable_infos): Use a type with pointers for
1030         PARM_NOALIAS, make it unknown-sized.
1031
1032 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
1033
1034         PR target/39224
1035         * config/i386/i386.c (ix86_return_in_memory): Properly check ABI.
1036
1037 2009-02-18  Jason Merrill  <jason@redhat.com>
1038
1039         PR target/39179
1040         * tree-ssa-ccp.c (get_symbol_constant_value): Don't assume zero
1041         value if DECL_EXTERNAL.
1042         * tree-sra.c (sra_walk_gimple_assign): Likewise.
1043         * target.h (gcc_target::binds_local_p): Clarify "module".
1044         * tree.h (TREE_PUBLIC): Clarify "module".
1045
1046 2009-02-17  Xuepeng Guo  <xuepeng.guo@intel.com>
1047
1048         PR target/38891
1049         * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Move the hunk of
1050         initialization for MS_ABI prior to the hunk of !TARGET_MMX.
1051
1052 2009-02-17  H.J. Lu  <hongjiu.lu@intel.com>
1053
1054         PR target/39082
1055         * c.opt (Wabi): Support C and ObjC.
1056         (Wpsabi): New.
1057
1058         * c-opts.c (c_common_handle_option): Handle OPT_Wabi.
1059
1060         * config/i386/i386.c (classify_argument): Warn once about the ABI
1061         change when passing union with long double.
1062
1063         * doc/invoke.texi: Update -Wabi for warning psABI changes.
1064
1065 2009-02-18  Joseph Myers  <joseph@codesourcery.com>
1066
1067         PR c/35447
1068         * c-parser.c (c_parser_compound_statement): Always enter and leave
1069         a scope.
1070
1071 2009-02-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1072
1073         PR target/34587
1074         * config/darwin.h (SUPPORTS_INIT_PRIORITY): Define.
1075
1076 2009-02-18  Jakub Jelinek  <jakub@redhat.com>
1077
1078         PR tree-optimization/36922
1079         * tree-data-ref.c (initialize_matrix_A): Handle BIT_NOT_EXPR.
1080         * tree-scalar-evolution.c (interpret_rhs_expr, instantiate_scev_1):
1081         Likewise.
1082
1083 2009-02-17  Richard Sandiford  <rdsandiford@googlemail.com>
1084
1085         * config/mips/mips.c (mips_override_options): Set flag_dwarf2_cfi_asm
1086         to 0 for EABI64.
1087
1088 2009-02-17  Richard Sandiford  <rdsandiford@googlemail.com>
1089
1090         * config/mips/mips.md (type): Reclassify lui_movf as "unknown".
1091
1092 2009-02-17  Richard Sandiford  <rdsandiford@googlemail.com>
1093
1094         * config/mips/mips.c (mips_gimplify_va_arg_expr): Fix invalid
1095         tree sharing.
1096
1097 2009-02-17  Ruan Beihong  <ruanbeihong@gmail.com>
1098             Richard Sandiford  <rdsandiford@googlemail.com>
1099
1100         * config/mips/mips.c (CODE_FOR_loongson_biadd): Delete.
1101         * config/mips/loongson.md (reduc_uplus_<mode>): Rename to...
1102         (loongson_biadd): ...this.
1103
1104 2009-02-17  Richard Guenther  <rguenther@suse.de>
1105
1106         PR tree-optimization/39202
1107         * tree-ssa-structalias.c (do_structure_copy): Before collapsing
1108         a var make sure to follow existing collapses.
1109
1110 2009-02-17  Richard Guenther  <rguenther@suse.de>
1111
1112         PR middle-end/39214
1113         * langhooks.c (lhd_print_error_function): Check for NULL block.
1114
1115 2009-02-17  Richard Guenther  <rguenther@suse.de>
1116
1117         PR tree-optimization/39204
1118         * tree-ssa-pre.c (phi_translate_1): Lookup the value-number
1119         of the PHI arg.
1120
1121 2009-02-17  Uros Bizjak  <ubizjak@gmail.com>
1122
1123         * config/soft-fp/double.h: Update from glibc CVS.
1124
1125 2009-02-17  Richard Guenther  <rguenther@suse.de>
1126
1127         PR tree-optimization/39207
1128         * tree-ssa-structalias.c (find_what_p_points_to): Do not emit
1129         strict-aliasing warnings for pointers pointing to NULL.
1130
1131 2009-02-16  Joseph Myers  <joseph@codesourcery.com>
1132
1133         PR c/35446
1134         * c-parser.c (c_parser_braced_init): Call pop_init_level when
1135         skipping until next close brace.
1136
1137 2009-02-16  H.J. Lu  <hongjiu.lu@intel.com>
1138
1139         PR target/37049
1140         * config/i386/i386.c (ix86_expand_push): Set memory alignment
1141         to function argument boundary.
1142
1143 2009-02-16  Hariharan Sandanagobalane  <hariharan@picochip.com>
1144
1145         * config/picochip/picochip.md (lea_add): Allow any nonimmediate
1146         in the lea_add. Reload eventually constraints it properly.
1147         * config/picochip/constraints.md : Remove the target constraint
1148         "b", since it is not needed anymore.
1149
1150 2009-02-16  Jakub Jelinek  <jakub@redhat.com>
1151
1152         * gthr-dce.h: Uglify function parameter and local variable names.
1153         * gthr-gnat.h: Likewise.
1154         * gthr-mipssde.h: Likewise.
1155         * gthr-nks.h: Likewise.
1156         * gthr-posix95.h: Likewise.
1157         * gthr-posix.h: Likewise.
1158         * gthr-rtems.h: Likewise.
1159         * gthr-single.h: Likewise.
1160         * gthr-solaris.h: Likewise.
1161         * gthr-tpf.h: Likewise.
1162         * gthr-vxworks.h: Likewise.
1163         * gthr-win32.h: Likewise.
1164
1165 2009-02-15  H.J. Lu  <hongjiu.lu@intel.com>
1166
1167         PR target/39196
1168         * config/i386/i386.md: Restrict the new peephole2 to move
1169         between MMX/SSE registers.
1170
1171 2009-02-15  Richard Guenther  <rguenther@suse.de>
1172
1173         Revert
1174         2009-02-13  Richard Guenther  <rguenther@suse.de>
1175
1176         * configure.ac: Enable LFS.
1177         * configure: Re-generate.
1178         * config.in: Likewise.
1179
1180 2009-02-13  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1181
1182         * config/spu/spu_internals.h (spu_sr, spu_sra, spu_srqw,
1183         spu_srqwbyte, spu_srqwbytebc): Define.
1184         * config/spu/spu-builtins.def (spu_sr, spu_sra, spu_srqw,
1185         spu_srqwbyte, spu_srqwbytebc): New overloaded builtins.
1186         * config/spu/spu.md ("shrqbybi_<mode>", "shrqbi_<mode>",
1187         "shrqby_<mode>"): New insn-and-split patterns.
1188         * config/spu/spu.c (expand_builtin_args): Determine and return
1189         number of operands using spu_builtin_description data.
1190         (spu_expand_builtin_1): Use it.
1191
1192 2009-02-13  Steve Ellcey  <sje@cup.hp.com>
1193
1194         PR target/38056
1195         * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Check
1196         TARGET_CONST_GP.
1197
1198 2009-02-13  H.J. Lu  <hongjiu.lu@intel.com>
1199
1200         PR target/39149
1201         * config/i386/i386.c (override_options): Correct warning
1202         messages for -malign-loops, -malign-jumps and -malign-functions.
1203
1204 2009-02-13  H.J. Lu  <hongjiu.lu@intel.com>
1205
1206         PR target/39152
1207         * config/i386/i386.md: Restrict the new peephole2 to move
1208         between the general purpose registers.
1209
1210 2009-02-13  H.J. Lu  <hongjiu.lu@intel.com>
1211
1212         PR target/39162
1213         * config/i386/i386.c (type_natural_mode): Add a new argument.
1214         Return the original mode and warn ABI change if vector size is 32byte.
1215         (function_arg_advance): Updated.
1216         (function_arg): Likewise.
1217         (ix86_function_value): Likewise.
1218         (ix86_return_in_memory): Likewise.
1219         (ix86_sol10_return_in_memory): Likewise.
1220         (ix86_gimplify_va_arg): Likewise.
1221         (function_arg_32): Don't warn ABX ABI change here.
1222         (function_arg_64): Likewise.
1223
1224 2009-02-13  Bernd Schmidt  <bernd.schmidt@analog.com>
1225
1226         * loop-iv.c (implies_p): In the final case, test that operands 0
1227         of the two comparisons match.
1228
1229         * config/bfin/bfin.c (find_prev_insn_start): New function.
1230         (bfin_optimize_loop): Use it in some cases instead of PREV_INSN.
1231         (find_next_insn_start): Move.
1232
1233 2009-02-13  Richard Guenther  <rguenther@suse.de>
1234
1235         * configure.ac: Enable LFS.
1236         * configure: Re-generate.
1237         * config.in: Likewise.
1238
1239 2009-02-13  Joseph Myers  <joseph@codesourcery.com>
1240
1241         PR c/35444
1242         * c-parser.c (c_parser_parms_list_declarator): Discard pending
1243         sizes on syntax error after some arguments have been parsed.
1244
1245 2009-02-12  Jakub Jelinek  <jakub@redhat.com>
1246
1247         * doc/invoke.texi (-fira): Remove.
1248
1249 2009-02-12  H.J. Lu  <hongjiu.lu@intel.com>
1250
1251         * caller-save.c: Replace regclass.c with reginfo.c in comments.
1252         * recog.c: Likewise.
1253         * rtl.h: Likewise.
1254
1255 2009-02-12  Uros Bizjak  <ubizjak@gmail.com>
1256
1257         * longlong.h (sub_ddmmss): New for ia64. Ported from GMP 4.2.
1258         (umul_ppmm): Likewise.
1259         (count_leading_zeros): Likewise.
1260         (count_trailing_zeros): Likewise.
1261         (UMUL_TIME): Likewise.
1262
1263 2009-02-12  H.J. Lu  <hongjiu.lu@intel.com>
1264
1265         * config.gcc (ia64*-*-linux*): Add ia64/t-fprules-softfp and
1266         soft-fp/t-softfp to tmake_file.
1267
1268         * config/ia64/ia64.c (ia64_soft_fp_init_libfuncs): New.
1269         (ia64_expand_compare): Use HPUX library for TFmode only for HPUX.
1270         (ia64_builtins) [IA64_BUILTIN_COPYSIGNQ, IA64_BUILTIN_FABSQ,
1271         IA64_BUILTIN_INFQ]: New.
1272         (ia64_init_builtins): Initialize __builtin_infq,
1273         __builtin_fabsq and __builtin_copysignq if not HPUX.
1274         (ia64_expand_builtin): Handle IA64_BUILTIN_COPYSIGNQ,
1275         IA64_BUILTIN_FABSQ and IA64_BUILTIN_INFQ.
1276
1277         * config/ia64/lib1funcs.asm (__divtf3): Define only if
1278         SHARED is defined.
1279         (__fixtfti): Likewise.
1280         (__fixunstfti): Likewise.
1281         (__floattitf): Likewise.
1282
1283         * config/ia64/libgcc-glibc.ver: New.
1284         * config/ia64/t-fprules-softfp: Likewise.
1285         * config/ia64/sfp-machine.h: Likewise.
1286
1287         * config/ia64/linux.h (LIBGCC2_HAS_TF_MODE): New.
1288         (LIBGCC2_TF_CEXT): Likewise.
1289         (TF_SIZE): Likewise.
1290         (TARGET_INIT_LIBFUNCS): Likewise.
1291
1292         * config/ia64/t-glibc (SHLINB_MAPFILES):
1293         Add $(srcdir)/config/ia64/libgcc-glibc.ver.
1294
1295 2009-02-12  H.J. Lu  <hongjiu.lu@intel.com>
1296
1297         * config/i386/i386.c (construct_container): Rewrite processing
1298         BLKmode with X86_64_SSE_CLASS.
1299
1300 2009-02-12  Paolo Bonzini  <bonzini@gnu.org>
1301
1302         PR target/39152
1303         * config/i386/i386.md: Replace simplify_replace_rtx with
1304         replace_rtx in the new peephole2.
1305
1306 2009-02-12  Nathan Sidwell  <nathan@codesourcery.com>
1307
1308         * doc/invoke.texi (Optimize Options): Stop claiming inlining and
1309         loop unrolling do not happen at -O2.
1310
1311 2009-02-12  Michael Matz  <matz@suse.de>
1312
1313         * gcc.c (ASM_DEBUG_SPEC): Check for -g0.
1314
1315 2009-02-12  Jakub Jelinek  <jakub@redhat.com>
1316
1317         * dwarf2out.c (dwarf2out_finish): Force output of comp_unit_die
1318         for -g3.
1319
1320 2009-02-12  Ben Elliston  <bje@au.ibm.com>
1321
1322         * config/rs6000/rs6000.md (allocate_stack): Use _stack form of
1323         patterns when updating the back chain.  Missed in the 2009-02-10
1324         change.
1325
1326 2009-02-11  Janis Johnson  <janis187@us.ibm.com>
1327
1328         * doc/extend.texi (Decimal Floating Types): Update identifier of
1329         draft TR and list of missing support.
1330
1331 2009-02-11  Jakub Jelinek  <jakub@redhat.com>
1332
1333         PR middle-end/39154
1334         * gimplify.c (omp_notice_variable): If adding GOVD_SEEN
1335         bit to variable length decl's flags, add it also to its
1336         pointer replacement variable.
1337
1338 2009-02-11  Uros Bizjak  <ubizjak@gmail.com>
1339             Jakub Jelinek  <jakub@redhat.com>
1340
1341         PR target/39118
1342         * config/i386/i386.md (UNSPEC_MEMORY_BLOCKAGE): New constant.
1343         (memory_blockage): New expander.
1344         (*memory_blockage): New insn pattern.
1345         * config/i386/i386.c (ix86_expand_prologue): Use memory_blockage
1346         instead of general blockage at the end of function prologue when
1347         frame pointer is used to access red zone area.  Do not emit blockage
1348         when profiling, it is emitted in generic code.
1349         (ix86_expand_epilogue): Emit memory_blockage at the beginning of
1350         function epilogue when frame pointer is used to access red zone area.
1351
1352 2009-02-11  Paolo Bonzini  <bonzini@gnu.org>
1353
1354         PR target/38824
1355         * config/i386/i386.md: Add two new peephole2 to avoid mov followed
1356         by arithmetic with memory operands.
1357         * config/i386/predicates.md (commutative_operator): New.
1358
1359 2009-02-10  Janis Johnson  <janis187@us.ibm.com>
1360
1361         * doc/extend.texi (Fixed-Point Types): Break long paragraphs into
1362         bulleted lists.
1363
1364 2009-02-10  Eric Botcazou  <ebotcazou@adacore.com>
1365
1366         * alias.h (record_alias_subset): Declare.
1367         * alias.c (record_alias_subset): Make global.
1368
1369 2009-02-10  Nick Clifton  <nickc@redhat.com>
1370
1371         * tree-parloops.c: Change license to GPLv3.
1372         * ipa-struct-reorg.c: Change license to GPLv3.
1373         * ipa-struct-reorg.h: Change license to GPLv3.
1374
1375 2009-02-10  Steve Ellcey  <sje@cup.hp.com>
1376
1377         PR c/39084
1378         * c-decl.c (start_struct): Return NULL on error.
1379
1380 2009-02-10  Jakub Jelinek  <jakub@redhat.com>
1381
1382         PR middle-end/39124
1383         * cfgloopmanip.c (remove_path): Call remove_bbs after
1384         cancel_loop_tree, not before it.
1385
1386         PR target/39139
1387         * function.h (struct function): Add has_local_explicit_reg_vars bit.
1388         * gimplify.c (gimplify_bind_expr): Set it if local DECL_HARD_REGISTER
1389         VAR_DECLs were seen.
1390         * tree-ssa-live.c (remove_unused_locals): Recompute
1391         cfun->has_local_explicit_reg_vars.
1392         * tree-ssa-sink.c (statement_sink_location): Don't sink BLKmode
1393         copies or clearings if cfun->has_local_explicit_reg_vars.
1394
1395 2009-02-10  Uros Bizjak  <ubizjak@gmail.com>
1396
1397         PR target/39118
1398         * config/i386/i386.c (expand_prologue): Emit blockage at the end
1399         of function prologue when frame pointer is used to access
1400         red zone area.
1401
1402 2009-02-10  Richard Guenther  <rguenther@suse.de>
1403
1404         PR middle-end/39127
1405         * gimplify.c (gimple_regimplify_operands): Always look if
1406         we need to create a temporary.
1407
1408 2009-02-10  Richard Guenther  <rguenther@suse.de>
1409
1410         PR tree-optimization/39132
1411         * tree-loop-distribution.c (todo): New global var.
1412         (generate_memset_zero): Trigger TODO_rebuild_alias.
1413         (tree_loop_distribution): Return todo.
1414
1415 2009-02-10  H.J. Lu  <hongjiu.lu@intel.com>
1416
1417         PR target/39119
1418         * config/i386/i386.c (x86_64_reg_class): Remove X86_64_AVX_CLASS.
1419         (x86_64_reg_class_name): Removed.
1420         (classify_argument): Return 0 if bytes > 32.  Return 0 if the
1421         first one isn't X86_64_SSE_CLASS or any other ones aren't
1422         X86_64_SSEUP_CLASS when size > 16bytes.  Don't turn
1423         X86_64_SSEUP_CLASS into X86_64_SSE_CLASS if the preceded one
1424         is X86_64_SSEUP_CLASS.  Set AVX modes to 1 X86_64_SSE_CLASS
1425         and 3 X86_64_SSEUP_CLASS.
1426         (construct_container): Remove X86_64_AVX_CLASS.  Handle 4
1427         registers with 1 X86_64_SSE_CLASS and 3 X86_64_SSEUP_CLASS.
1428
1429 2009-02-10  Ben Elliston  <bje@au.ibm.com>
1430
1431         * config/rs6000/rs6000.md (allocate_stack): Always use an update
1432         form instruction to update the stack back chain word, even if the
1433         user has disabled the generation of update instructions.
1434         (movdi_<mode>_update_stack): New.
1435         (movsi_update_stack): Likewise.
1436         * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Likewise,
1437         always use an update form instruction to update the stack back
1438         chain word.
1439
1440 2009-02-09  Sebastian Pop  <sebastian.pop@amd.com>
1441
1442         PR middle-end/38953
1443         * graphite.c (if_region_set_false_region): After moving a region in
1444         the false branch of a condition, remove the empty dummy basic block.
1445         (gloog): Remove wrong fix for PR38953.
1446
1447 2009-02-09  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1448
1449         * config/spu/spu.c (array_to_constant): Fix (latent) wrong-code
1450         generation due to implicit sign extension.
1451
1452 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
1453
1454         PR middle-end/38981
1455         * tree-ssa-coalesce.c (add_coalesce): Cap the costs of coalesce pairs
1456         at MUST_COALESCE_COST-1 instead of MUST_COALESCE_COST.
1457
1458 2009-02-09  Richard Guenther  <rguenther@suse.de>
1459
1460         PR middle-end/35202
1461         * convert.c (convert_to_real): Disable (float)fn((double)x)
1462         to fnf(x) conversion if errno differences may occur and
1463         -fmath-errno is set.
1464
1465 2009-02-07  Anatoly Sokolov  <aesok@post.ru>
1466
1467         * config/avr/avr.c (avr_mcu_t): Add ata6289 device.
1468         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
1469         * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
1470
1471 2009-02-06  Joseph Myers  <joseph@codesourcery.com>
1472
1473         PR c/35434
1474         * c-common.c (handle_alias_attribute): Disallow attribute for
1475         anything not a FUNCTION_DECL or VAR_DECL.
1476
1477 2009-02-06  Janis Johnson  <janis187@us.ibm.com>
1478
1479         PR c/39035
1480         * real.c (do_compare): Special-case compare of zero against
1481         decimal float value.
1482
1483 2009-02-06  Joseph Myers  <joseph@codesourcery.com>
1484
1485         PR c/36432
1486         * c-decl.c (grokdeclarator): Don't treat [] declarators in fields
1487         as indicating flexible array members unless the field itself is
1488         being declarared as the incomplete array.
1489
1490 2009-02-06  Jan Hubicka  <jh@suse.cz>
1491
1492         PR tree-optimization/38844
1493         * ipa-inline.c (try_inline): Stop inlining recursion when edge
1494         is already inlined.
1495
1496 2009-02-06  Richard Guenther  <rguenther@suse.de>
1497
1498         PR middle-end/38977
1499         * tree-cfg.c (need_fake_edge_p): Force a fake edge for
1500         fork because we may expand it as __gcov_fork.
1501
1502 2009-02-06  Nick Clifton  <nickc@redhat.com>
1503
1504         * config/m32c/m32c.h (PCC_BITFIELD_TYPE_MATTERS): Define to zero.
1505
1506 2009-02-06  Paolo Bonzini  <bonzini@gnu.org>
1507
1508         PR tree-optimization/35659
1509         * tree-ssa-sccvn.c (vn_constant_eq, vn_reference_eq, vn_nary_op_eq
1510         vn_phi_eq): Shortcut if hashcode does not match.
1511         (vn_reference_op_compute_hash): Do not call iterative_hash_expr for
1512         NULL operands.
1513         * tree-ssa-pre.c (pre_expr_hash): Look at hashcode if available,
1514         and avoid iterative_hash_expr.
1515         (FOR_EACH_VALUE_ID_IN_SET): New.
1516         (value_id_compare): Remove.
1517         (sorted_array_from_bitmap_set): Use FOR_EACH_VALUE_ID_IN_SET to
1518         sort expressions by value id.
1519
1520 2009-02-05  Kaz Kojima  <kkojima@gcc.gnu.org>
1521
1522         PR target/38991
1523         * config/sh/predicates.md (general_movsrc_operand): Don't check
1524         the subreg of system registers here.
1525
1526 2009-02-05  Jakub Jelinek  <jakub@redhat.com>
1527
1528         PR c++/39106
1529         * cgraphunit.c (cgraph_function_versioning): Clear also DECL_VIRTUAL_P
1530         on the copied decl.
1531
1532 2009-02-05  Paolo Bonzini  <bonzini@gnu.org>
1533
1534         PR rtl-optimization/39110
1535         * rtlanal.c (rtx_addr_can_trap_p_1): Shortcut unaligned
1536         addresses, not aligned ones.
1537
1538 2009-02-05  Daniel Berlin  <dberlin@dberlin.org>
1539             Richard Guenther  <rguenther@suse.de>
1540
1541         PR tree-optimization/39100
1542         * tree-ssa-structalias.c (do_ds_constraint): Actually do what the
1543         comment says and add edges.
1544
1545 2009-02-05  Joseph Myers  <joseph@codesourcery.com>
1546
1547         PR c/35435
1548         * c-common.c (handle_tls_model_attribute): Ignore attribute for
1549         non-VAR_DECLs without checking DECL_THREAD_LOCAL_P.
1550
1551 2009-02-04  Tobias Grosser  <grosser@fim.uni-passau.de> 
1552
1553         * graphite.c (bb_in_sese_p, sese_build_livein_liveouts_use,
1554         sese_build_livein_liveouts_bb, sese_build_livein_liveouts,
1555         register_bb_in_sese, new_sese, free_sese): Moved.
1556         (dot_scop_1, build_scop_loop_nests, build_loop_iteration_domains,
1557         outermost_loop_in_scop, build_scop_iteration_domain,
1558         expand_scalar_variables_ssa_name, get_vdef_before_scop,
1559         limit_scops): Use bb_in_sese_p instead of bb_in_scop_p.
1560         Use loop_in_sese_p instead of loop_in_scop_p.
1561         (new_graphite_bb, gloog): Do not initialize SCOP_BBS_B.
1562         (new_scop, free_scop): Remove SCOP_LOOP2CLOOG_LOOP and SCOP_BBS_B.
1563         (scopdet_basic_block_info): Fix bug in scop detection.
1564         (new_loop_to_cloog_loop_str, hash_loop_to_cloog_loop,
1565         eq_loop_to_cloog_loop): Remove.
1566         (nb_loops_around_loop_in_scop, nb_loop
1567         ref_nb_loops): Moved here...
1568         * graphite.h (ref_nb_loops): ... from here.
1569         (struct scop): Remove bbs_b bitmap and loop2cloog_loop.
1570         (loop_domain_dim, loop_iteration_vector_dim): Remove.
1571         (SCOP_BBS_B, bb_in_scop_p, loop_in_scop_p): Removed.
1572         * testsuite/gcc.dg/graphite/scop-19.c: New
1573
1574 2009-02-04  Paolo Bonzini  <bonzini@gnu.org>
1575             Hans-Peter Nilsson  <hp@axis.com>
1576
1577         PR rtl-optimization/37889
1578         * rtlanal.c (rtx_addr_can_trap_p_1): Add offset and size arguments.
1579         Move offset handling from PLUS to before the switch.  Use new
1580         arguments when considering SYMBOL_REFs too.
1581         (rtx_addr_can_trap_p): Pass dummy offset and size.
1582         (enum may_trap_p_flags): Remove.
1583         (may_trap_p_1): Pass size from MEM_SIZE.
1584
1585         PR rtl-optimization/38921
1586         * loop-invariant.c (find_invariant_insn): Use may_trap_or_fault_p.
1587         * rtl.h (may_trap_after_code_motion_p): Delete prototype.
1588         * rtlanal.c (may_trap_after_code_motion_p): Delete.
1589         (may_trap_p, may_trap_or_fault_p): Pass 0/1 as flags.
1590
1591 2009-02-04  H.J. Lu  <hongjiu.lu@intel.com>
1592
1593         AVX Programming Reference (January, 2009)
1594         * config/i386/sse.md (*vpclmulqdq): New.
1595
1596 2009-02-04  Jakub Jelinek  <jakub@redhat.com>
1597
1598         PR tree-optimization/38977
1599         PR gcov-profile/38292
1600         * calls.c (special_function_p): Disregard __builtin_ prefix.
1601
1602 2009-02-04  Hariharan Sandanagobalane  <hariharan@picochip.com>
1603
1604         * config/picochip/picochip.c (GO_IF_LEGITIMATE_ADDRESS): Disallow
1605         non-indexable addresses even before reload.
1606
1607 2009-02-03  Joseph Myers  <joseph@codesourcery.com>
1608
1609         PR c/29129
1610         * c-decl.c (grokdeclarator): Mark [*] arrays in field declarators
1611         as having variable size.  Do not give an error for unnamed
1612         parameters with [*] declarators.  Give a warning for type names
1613         with [*] declarators and mark them as variable size.
1614         * c-parser.c (c_parser_sizeof_expression): Do not give an error
1615         for sizeof applied to [*] type names.
1616
1617 2009-02-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1618
1619         PR C++/36607
1620         * convert.c (convert_to_integer): Treat OFFSET_TYPE like INTEGER_TYPE.
1621
1622 2009-02-03  Jakub Jelinek  <jakub@redhat.com>
1623
1624         * gcc.c (process_command): Update copyright notice dates.
1625         * gcov.c (print_version): Likewise.
1626         * gcov-dump.c (print_version): Likewise.
1627         * mips-tfile.c (main): Likewise.
1628         * mips-tdump.c (main): Likewise.
1629
1630 2009-02-03  Joseph Myers  <joseph@codesourcery.com>
1631
1632         PR c/35433
1633         * c-typeck.c (composite_type): Set TYPE_SIZE and TYPE_SIZE_UNIT
1634         for composite type involving a zero-length array type.
1635
1636 2009-02-03  Jakub Jelinek  <jakub@redhat.com>
1637
1638         PR target/35318
1639         * function.c (match_asm_constraints_1): Skip over
1640         initial optional % in the constraint.
1641
1642         PR inline-asm/39059
1643         * c-parser.c (c_parser_postfix_expression): If fixed point is not
1644         supported, don't accept FIXED_CSTs.
1645         * c-decl.c (finish_declspecs): Error if fixed point is not supported
1646         and _Sat is used without _Fract/_Accum.  Set specs->type to
1647         integer_type_node for cts_fract/cts_accum if fixed point is not
1648         supported.
1649
1650 2009-02-02  Catherine Moore  <clm@codesourcery.com>
1651
1652         * sde.h (SUBTARGET_ARM_SPEC): Don't assemble -fpic code as -mabicalls.
1653
1654 2009-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
1655
1656         * config/mips/mips.h (FILE_HAS_64BIT_SYMBOLS): New macro.
1657         (ABI_HAS_64BIT_SYMBOLS): Use it.
1658         (DWARF2_ADDR_SIZE): Use it instead of ABI_HAS_64BIT_SYMBOLS.
1659
1660 2009-02-02  Paul Brook  <paul@codesourcery.com>
1661
1662         * config/arm/arm.md (arm_addsi3): Add r/r/k alternative.
1663
1664 2009-02-02  Jakub Jelinek  <jakub@redhat.com>
1665
1666         PR inline-asm/39058
1667         * recog.h (asm_operand_ok): Add constraints argument.
1668         * recog.c (asm_operand_ok): Likewise.  If it is set, for digits
1669         recurse on matching constraint.
1670         (check_asm_operands): Pass constraints as 3rd argument to
1671         asm_operand_ok.  Don't look up matching constraint here.
1672         * stmt.c (expand_asm_operands): Pass NULL as 3rd argument
1673         to asm_operand_ok.
1674
1675 2009-02-02  Ben Elliston  <bje@au.ibm.com>
1676
1677         * doc/tm.texi (Storage Layout): Fix TARGET_ALIGN_ANON_BITFIELD and
1678         TARGET_NARROW_VOLATILE_BITFIELD macro names.
1679
1680 2009-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1681
1682         * doc/install.texi (hppa*-hp-hpux*): Update binutils and linker
1683         information.  Remove some obsolete information.  Reorganize.
1684
1685         * config/pa/fptr.c: Revert license to GPL 2.
1686         * config/pa/milli64.S: Likewise.
1687
1688 2009-01-31  Dave Korn  <dave.korn.cygwin@gmail.com>
1689
1690         PR target/38904
1691         * mkmap-flat.awk (END):  Use pe_dll command-line arg to pass
1692         LIBRARY name in, instead of hard-coding it.
1693         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*):  Add an
1694         extra target make frag to tmake_files according to EH model.
1695         (i[34567]86-*-mingw* | x86_64-*-mingw*):  Likewise.
1696         * config/i386/t-dw2-eh, config/i386/t-sjlj-eh:  Add new target
1697         frags that define makefile variable EH_MODEL appropriately.
1698         * config/i386/cygming.h (DWARF2_UNWIND_INFO):  Add comment.
1699         * config/i386/cygwin.h (LIBGCC_EH_EXTN):  Define to nothing or
1700         to "-sjlj" according to type of EH configured.
1701         (LIBGCC_SONAME):  Concatenate it to shared library base name.
1702         * config/i386/mingw32.h (LIBGCC_EH_EXTN):  Define to "_dw2" or
1703         to "_sjlj" according to type of EH configured.
1704         (LIBGCC_SONAME):  Concatenate it to shared library base name.
1705         * config/i386/t-cygming (SHLIB_SONAME):  Use EH_MODEL.
1706         (SHLIB_LINK):  Add missing semicolon to if-else construct.
1707         (SHLIB_MKMAP_OPTS):  Pass library name to mkmap-flat.awk as
1708         string value of "pe_dll" command-line option.
1709         * config/i386/t-cygwin (SHLIB_EH_EXTENSION):  New helper.
1710         (SHLIB_SONAME):  Use it when overriding t-cygming default.
1711         (SHLIB_IMPLIB):  Override t-cygming default.
1712         (SHLIB_MKMAP_OPTS):  Pass library name to mkmap-flat.awk as
1713         string value of "pe_dll" command-line option.
1714
1715 2009-01-31  Dave Korn  <dave.korn.cygwin@gmail.com>
1716
1717         PR target/38952
1718         * config/i386/i386.c (ix86_builtin_setjmp_frame_value): New.
1719         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Override default to point at it.
1720
1721 2009-01-31  Richard Guenther  <rguenther@suse.de>
1722
1723         PR tree-optimization/38937
1724         * tree-ssa-structalias.c (do_sd_constraint): Do not shortcut
1725         computing the transitive closure.
1726
1727 2009-01-30  Richard Guenther  <rguenther@suse.de>
1728
1729         PR tree-optimization/39041
1730         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
1731         Propagate variable indices only if the types match for this stmt.
1732
1733 2009-01-30  Jakub Jelinek  <jakub@redhat.com>
1734
1735         PR target/39013
1736         * c-decl.c (pop_scope): Set DECL_EXTERNAL for functions declared
1737         inline but never defined.
1738
1739 2009-01-30  Wolfgang Gellerich  <gellerich@de.ibm.com>
1740
1741         * config/s390/s390.md (*insv<mode>_reg_extimm): Removed.
1742         (*insv_h_di_reg_extimm): New insn.
1743         (*insv_l<mode>_reg_extimm): New insn.
1744
1745 2009-01-30  Hariharan Sandanagobalane  <hariharan@picochip.com>
1746
1747         * config/picochip/picochip.c (flag_conserve_stack): set
1748         PARAM_LARGE_STACK_FRAME and PARAM_STACK_FRAME_GROWTH to zero under
1749         fconserve-stack. Reduce call-overhead used by inliner.
1750
1751 2009-01-30  Hariharan Sandanagobalane  <hariharan@picochip.com>
1752
1753         PR/38157
1754         * common.opt (flag_conserve_stack): Initialised to zero.
1755
1756 2009-01-30  Kai Tietz  <kai.tietz@onevision.com>
1757
1758         PR/39002
1759         * config/i386/i386.c (ix86_can_use_return_insn_p): Check for nsseregs.
1760         (ix86_expand_epilogue): Take nsseregs in account to use proper restore
1761         method.
1762
1763 2009-01-29  H.J. Lu  <hongjiu.lu@intel.com>
1764
1765         * ira-color.c (allocno_reload_assign): Update comments.
1766         * regmove.c (regmove_optimize): Likewise.
1767
1768         * ra.h: Removed.
1769
1770 2009-01-29  Robert Millan  <rmh@aybabtu.com>
1771
1772         * gcc/config.gcc: Recognize GNU/kOpenSolaris (*-*-kopensolaris*-gnu).
1773         * gcc/config/i386/kopensolaris-gnu.h: New file.  Undefine
1774         `MD_UNWIND_SUPPORT'.
1775         * gcc/config/kopensolaris-gnu.h: New file (based on kfreebsd-gnu.h).
1776
1777 2009-01-29  Kazu Hirata  <kazu@codesourcery.com>
1778
1779         PR tree-optimization/39007
1780         * tree-loop-distribution.c (generate_builtin): Use
1781         recompute_dominator to compute the immediate dominator of the
1782         basic block just after the loop.
1783
1784 2009-01-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1785
1786         * config/i386/sol2-10.h [!HAVE_AS_IX86_DIFF_SECT_DELTA]
1787         (ASM_OUTPUT_DWARF_PCREL): Define.
1788
1789 2009-01-29  Vladimir Makarov  <vmakarov@redhat.com>
1790
1791         * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
1792         * doc/passes.texi: Remove entries about regclass, local-alloc, and
1793         global.  Modify entries about regmove and IRA.
1794
1795         * ra-conflict.c: Remove the file.
1796
1797         * reload.c (push_reload, find_dummy_reload): Remove flag_ira.
1798
1799         * tree-pass.h (pass_local_alloc, pass_global_alloc): Remove.
1800         (pass_regclass_init): Rename to pass_reginfo_init.
1801
1802         * cfgloopanal.c (estimate_reg_pressure_cost): Remove flag_ira.
1803
1804         * toplev.h (flag_ira): Remove.
1805
1806         * caller-save.c (setup_save_areas): Remove flag_ira.
1807
1808         * ira-color.c (ira_reuse_stack_slot, ira_mark_new_stack_slot): Ditto.
1809
1810         * global.c: Remove the file.
1811
1812         * opts.c: (decode_options): Remove flag_ira.
1813
1814         * hard-reg-set.h (losing_caller_save_reg_set): Remove.
1815
1816         * regmove.c: Modify file description.
1817         (find_use_as_address, try_auto_increment): Define them only if
1818         AUTO_INC_DEC is defined.
1819         (replacement_quality, replace_in_call_usage, fixup_match_1,
1820         stable_and_no_regs_but_for_p): Remove.
1821         (reg_set_in_bb): Make it static.
1822         (regmove_optimize): Remove flag_ira and code which worked for
1823         !flag_ira.
1824
1825         * local-alloc.c: Remove the file.
1826
1827         * common.opt (fira): Remove.
1828
1829         * ira.c: Include except.h.
1830         (eliminable_regset): Move from global.c.
1831         (mark_elimination): Ditto.  Remove flag_ira.
1832         (reg_renumber, struct equivalence, reg_equiv, equiv_mem,
1833         equiv_mem_modified, validate_equiv_mem_from_store,
1834         validate_equiv_mem, equiv_init_varies_p, equiv_init_movable_p,
1835         contains_replace_regs, memref_referenced_p, memref_used_between_p,
1836         no_equiv, recorded_label_ref): Move from local-alloc.c.
1837         (update_equiv_regs): Ditto.  Make it static.
1838         (print_insn_chain, print_insn_chains): Move it from global.c.
1839         (pseudo_for_reload_consideration_p): Ditto.  Remove flag_ira.
1840         (build_insn_chain): Ditto.  Make it static.
1841         (ra_init_live_subregs): Move from ra-conflict.c.  Make it static.
1842         Rename to init_live_subregs.
1843         (gate_ira): Remove flag_ira.
1844
1845         * regclass.c: Rename reginfo.c.  Change file description.
1846         (FORBIDDEN_INC_DEC_CLASSES): Remove.
1847         (reg_class_superclasses, forbidden_inc_dec_class, in_inc_dec): Remove.
1848         (init_reg_sets_1): Remove code for evaluation of
1849         reg_class_superclasses and losing_caller_save_reg_set.
1850         (init_regs): Remove init_reg_autoinc.
1851         (struct costs, costs, init_cost, ok_for_index_p_nonstrict,
1852         ok_for_base_p_nonstrict): Remove.
1853         (regclass_init): Rename to reginfo_init.  Don't initialize init_cost.
1854         (pass_regclass_init): Rename to pass_reginfo_init.  Modify
1855         corresponding entries.
1856         (dump_regclass, record_operand_costs, scan_one_insn,
1857         init_reg_autoinc, regclass, record_reg_classes, copy_cost,
1858         record_address_regs, auto_inc_dec_reg_p): Remove.
1859         (gt-regclass.h): Rename to gt-reginfo.h.
1860
1861         * rtl.h (dump_global_regs, retry_global_alloc,
1862         build_insn_chain, dump_local_alloc, update_equiv_regs): Remove.
1863
1864         * Makefile.in (RA_H): Remove.
1865         (OBJS-common): Remove global.o, local-alloc.o, and ra-conflict.o.
1866         Rename regclass.o to reginfo.o.
1867         (regclass.o): Rename to reginfo.o.  Rename gt-regclass.h to
1868         gt-reginfo.h.
1869         (global.o, local-alloc.o, ra-conflict.o): Remove entries.
1870         (GTFILES): Rename regclass.c to reginfo.c.
1871
1872         * passes.c (init_optimization_passes): Remove pass_local_alloc and
1873         pass_global_alloc.  Rename pass_regclass_init to pass_reginfo_init.
1874
1875         * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
1876         count_spilled_pseudo, find_reg, alter_reg, delete_output_reload):
1877         Remove flag_ira.
1878         (finish_spills): Ditto.  Remove code for !flag_ira.
1879         
1880 2009-01-29  Kenneth Zadeck  <zadeck@naturalbridge.com>
1881
1882         PR middle-end/35854
1883         * doc/invoke.texi (rtl debug options): Complete rewrite.
1884         * auto-inc-dec.c (pass_inc_dec): Rename pass from "auto-inc-dec"
1885         to auto_inc_dec".
1886         * mode-switching.c (pass_mode_switching): Rename pass from
1887         "mode-sw" to "mode_sw".
1888         * except.c (pass_convert_to_eh_ranges): Rename pass from
1889         "eh-ranges" to "eh_ranges".
1890         * lower-subreg.c (pass_lower_subreg): Renamed pass from "subreg"
1891         to "subreg1".
1892                 
1893         
1894 2009-01-29  Andrey Belevantsev  <abel@ispras.ru>
1895             Alexander Monakov  <amonakov@ispras.ru>
1896
1897         PR middle-end/38857
1898         * sel-sched.c (count_occurrences_1): Check that *cur_rtx is a hard
1899         register.
1900         (move_exprs_to_boundary): Change return type and pass through
1901         should_move from move_op.  Relax assert.  Update usage ...
1902         (schedule_expr_on_boundary): ... here.  Use should_move instead of
1903         cant_move.
1904         (move_op_orig_expr_found): Indicate that insn was disconnected from
1905         stream.
1906         (code_motion_process_successors): Do not call after_merge_succs
1907         callback if original expression was not found when traversing any of
1908         the branches.
1909         (code_motion_path_driver): Change return type.  Update prototype.
1910         (move_op): Update comment.  Add a new parameter (should_move).  Update
1911         prototype.  Set *should_move based on indication provided by
1912         move_op_orig_expr_found.
1913
1914 2009-01-28  Pat Haugen  <pthaugen@us.ibm.com>
1915
1916         * doc/invoke.texi (avoid-indexed-addresses): Document new option.
1917         * config/rs6000/rs6000-protos.h (avoiding_indexed_address_p): Declare.
1918         * config/rs6000/rs6000.opt (avoid-indexed-addresses): New option.
1919         * config/rs6000/rs6000.c (rs6000_override_options): Default
1920         avoid-indexed-addresses on for Power6, off for everything else.
1921         (avoiding_indexed_address_p): New function.
1922         (rs6000_legitimize_address): Use it.
1923         (rs6000_legitimate_address): Likewise.
1924         * config/rs6000/rs6000.md (movXX_updateX): Likewise
1925
1926 2009-01-28  Kazu Hirata  <kazu@codesourcery.com>
1927
1928         PR tree-optimization/38997
1929         * tree-loop-distribution.c (generate_memset_zero): Use
1930         POINTER_PLUS_EXPR for a pointer addition.
1931
1932 2009-01-28  Andreas Krebbel  <krebbel1@de.ibm.com>
1933
1934         * config/s390/s390.md (bswap<mode>2): New pattern added.
1935
1936 2009-01-28  Wolfgang Gellerich  <gellerich@de.ibm.com>
1937
1938         * config/s390/s390.md (*tls_load_31): Added type attribute.
1939
1940 2009-01-28  Wolfgang Gellerich  <gellerich@de.ibm.com>
1941
1942         * config/s390/s390.md: Fix a few comments.
1943
1944 2009-01-28  Wolfgang Gellerich  <gellerich@de.ibm.com>
1945
1946         * config/s390/s390.md (*tmsi_reg): Fixed z10prop attribute.
1947         (*tm<mode>_full): Fixed z10prop attribute.
1948         (*tst<mode>_extimm): Fixed z10prop attribute.
1949         (*tst<mode>_cconly_extimm): Fixed z10prop attribute.
1950         (*tstqiCCT_cconly): Fixed z10prop attribute.
1951         (*cmpsi_ccu_zerohi_rlsi): Fixed z10prop attribute.
1952         (*movsi_larl): Fixed z10prop attribute.
1953         (*movsi_zarch): Fixed z10prop attribute.
1954         (*movsi_eas): Fixed z10prop attribute.
1955         (*movhi): Fixed z10prop attribute.
1956         (*movqi): Fixed z10prop attribute.
1957         (*movstrictqi): Fixed z10prop attribute.
1958         (*mov<mode>): Fixed z10prop attribute.
1959         (*movcc): Fixed z10prop attribute.
1960         (*sethighpartdi_64): Fixed z10prop attribute.
1961         (*zero_extendhi<mode>2_z10): Fixed z10prop attribute.
1962         (*negdi2_sign_cc): Fixed z10prop attribute.
1963         (*negdi2_sign): Fixed z10prop attribute.
1964         (*absdi2_sign_cc): Fixed z10prop attribute.
1965         (*absdi2_sign): Fixed z10prop attribute.
1966         (*negabsdi2_sign_cc): Fixed z10prop attribute.
1967         (*negabsdi2_sign): Fixed z10prop attribute.
1968         (*cmp_and_trap_signed_int<mode>): Fixed z10prop attribute.
1969         (*cmp_and_trap_unsigned_int<mode>): Fixed z10prop attribute.
1970         (doloop_si64): Fixed z10prop attribute.
1971         (doloop_si31): Fixed z10prop attribute.
1972         (doloop_long): Fixed z10prop attribute.
1973         (indirect_jump): Fixed z10prop attribute.
1974         (nop): Fixed z10prop attribute.
1975         (main_base_64): Fixed z10prop attribute.
1976         (reload_base_64): Fixed z10prop attribute.
1977
1978 2009-01-28  Jakub Jelinek  <jakub@redhat.com>
1979
1980         PR rtl-optimization/38740
1981         * reorg.c (gate_handle_delay_slots): Avoid dbr scheduling
1982         if !optimize.
1983         * config/mips/mips.c (mips_reorg): Likewise.
1984
1985 2009-01-28  Richard Guenther  <rguenther@suse.de>
1986
1987         PR tree-optimization/38926
1988         * tree-ssa-pre.c (add_to_value): Assert we add only expressions
1989         with the correct value id to a value.
1990         (do_regular_insertion): Use the value number of edoubleprime
1991         for the value number of the expr.
1992
1993         Revert
1994         2008-08-21  Richard Guenther  <rguenther@suse.de>
1995
1996         * tree-ssa-pre.c (insert_into_preds_of_block): Before inserting
1997         a PHI ask VN if it is already available.
1998         * tree-ssa-sccvn.h (vn_phi_lookup): Declare.
1999         * tree-ssa-sccvn.c (vn_phi_lookup): Export.
2000
2001 2009-01-28  Jakub Jelinek  <jakub@redhat.com>
2002
2003         PR middle-end/38934
2004         * tree-vrp.c (extract_range_from_assert): For LE_EXPR and LT_EXPR
2005         set to varying whenever max has TREE_OVERFLOW set, similarly
2006         for GE_EXPR and GT_EXPR and TREE_OVERFLOW min.
2007
2008 2009-01-28  Richard Guenther  <rguenther@suse.de>
2009
2010         PR middle-end/38908
2011         * tree-ssa.c (warn_uninitialized_var): Do not warn for seemingly
2012         uninitialized aggregate uses in call arguments.
2013
2014 2009-01-28  Paolo Bonzini  <bonzini@gnu.org>
2015
2016         PR tree-optimization/38984
2017         * tree-ssa-structalias.c (get_constraints_for_1): Do not use
2018         the nothing_id variable if -fno-delete-null-pointer-checks.
2019
2020 2009-01-28  Uros Bizjak  <ubizjak@gmail.com>
2021
2022         PR target/38988
2023         * config/i386/i386.md (set_rip_rex64): Wrap operand 1 in label_ref.
2024         (set_got_offset_rex64): Ditto.
2025
2026 2009-01-27  H.J. Lu  <hongjiu.lu@intel.com>
2027
2028         PR target/38941
2029         * doc/extend.texi: Improve local variable with asm reg.
2030
2031 2009-01-27  Adam Nemet  <anemet@caviumnetworks.com>
2032
2033         * c.opt (Wpacked-bitfield-compat): Change init value to -1.
2034         * c-opts.c (c_common_post_options): If -W*packed-bitfield-compat
2035         was not supplied then set warn_packed_bitfield_compat to the
2036         default value of 1.
2037         * stor-layout.c (place_field): Check warn_packed_bitfield_compat
2038         against 1.
2039
2040 2009-01-27  Richard Guenther  <rguenther@suse.de>
2041
2042         PR tree-optimization/38503
2043         * cfgexpand.c (expand_gimple_basic_block): Ignore
2044         GIMPLE_CHANGE_DYNAMIC_TYPE during expansion.
2045         * tree-ssa-structalias.c (set_uids_in_ptset): Do not prune
2046         variables that cannot have TBAA applied.
2047         (compute_points_to_sets): Do not remove GIMPLE_CHANGE_DYNAMIC_TYPE
2048         statements.
2049
2050 2009-01-27  Uros Bizjak  <ubizjak@gmail.com>
2051
2052         PR middle-end/38969
2053         * calls.c (initialize_argument_information): Do not wrap complex
2054         arguments in SAVE_EXPR.
2055
2056 2009-01-26  Andreas Tobler  <a.tobler@schweiz.org>
2057
2058         * config/t-vxworks (LIBGCC2_INCLUDES): Fix typo.
2059         (INSTALL_LIBGCC): Revert typo commit.
2060
2061 2009-01-26  Richard Guenther  <rguenther@suse.de>
2062
2063         PR tree-optimization/38745
2064         * tree-ssa-alias.c (update_alias_info_1): Exclude RESULT_DECL
2065         from special handling.
2066
2067 2009-01-26  Richard Guenther  <rguenther@suse.de>
2068
2069         PR tree-optimization/38745
2070         * tree-ssa.c (execute_update_addresses_taken): Do not include
2071         variables that cannot possibly be a register in not_reg_needs.
2072         Do not clear TREE_ADDRESSABLE on vars that may not become
2073         registers.
2074         * tree-ssa.c (update_alias_info_1): Include those in the set
2075         of addressable vars.
2076
2077 2009-01-26  Richard Guenther  <rguenther@suse.de>
2078
2079         PR middle-end/38851
2080         * Makefile.in (tree-ssa-dse.o): Add langhooks.h.
2081         * tree-ssa-dse.c: Include langhooks.h
2082         (execute_simple_dse): Remove stores with zero size.
2083
2084 2009-01-24  Jakub Jelinek  <jakub@redhat.com>
2085
2086         PR c/38957
2087         * c-typeck.c (c_finish_return): Handle POINTER_PLUS_EXPR the same way
2088         as PLUS_EXPR.
2089
2090 2009-01-24  Julian Brown  <julian@codesourcery.com>
2091
2092         * config/arm/t-linux-eabi (LIB2FUNCS_STATIC_EXTRA): Add
2093         config/arm/linux-atomic.c.
2094         * config/arm/linux-atomic.c: New.
2095
2096 2009-01-24  Eric Botcazou  <ebotcazou@adacore.com>
2097
2098         * config/sparc/linux.h (DBX_REGISTER_NUMBER): Delete.
2099         * config/sparc/linux64.h (DBX_REGISTER_NUMBER): Likewise.
2100         * config/sparc/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
2101
2102 2009-01-24  H.J. Lu  <hongjiu.lu@intel.com>
2103
2104         PR c/38938
2105         * c-opts.c (c_common_handle_option): Update warn_pointer_sign
2106         properly.
2107
2108 2009-01-24  Sebastian Pop  <sebastian.pop@amd.com>
2109
2110         PR tree-optimization/38953
2111         * graphite.c (graphite_verify): Add a call to verify_loop_closed_ssa.
2112         (scop_adjust_phis_for_liveouts): Initialize false_i to zero.
2113         (gloog): Split the exit of the scop when the scop exit is a loop exit.
2114         (graphite_transform_loops): Only call cleanup_tree_cfg if gloog
2115         changed the CFG.
2116
2117 2009-01-24  Paul Brook  <paul@codesourcery.com>
2118
2119         * config/arm/neon.md (neon_type): Move to arm.md.
2120         (neon_mov<VSTRUCT>): Add neon_type attribute.
2121         * config/arm/arm.md (neon_type): Move to here.
2122         (conds): Add "unconditioal" and use as default for NEON insns.
2123
2124 2009-01-24  Ben Elliston  <bje@au.ibm.com>
2125
2126         * bitmap.h (BITMAP_FREE): Eliminate `implicit conversion from
2127         void *' warning from -Wc++-compat.
2128         * Makefile.in (dominance.o-warn): Remove.
2129
2130 2009-01-23  Paolo Bonzini  <bonzini@gnu.org>
2131
2132         PR tree-optimization/38932
2133         * fold-const.c (fold_unary_ignore_overflow): New.
2134         * tree.h (fold_unary_ignore_overflow): Declare.
2135         * tree-ssa-ccp.c (ccp_fold): Use fold_unary_ignore_overflow.
2136         * tree-ssa-sccvn.c (visit_reference_op_load,
2137         simplify_unary_expression): Likewise.
2138
2139 2009-01-22  Adam Nemet  <anemet@caviumnetworks.com>
2140
2141         * c-decl.c (finish_struct): Move code to set DECL_PACKED after
2142         DECL_BIT_FIELD is alreay known.  Also inherit packed for bitfields
2143         regardless of their type.
2144         * c-common.c (handle_packed_attribute): Don't ignore packed on
2145         bitfields.
2146         * c.opt (Wpacked-bitfield-compat): New warning option.
2147         * stor-layout.c (place_field): Warn if offset of a field changed.
2148         * doc/extend.texi (packed): Mention the ABI change.
2149         * doc/invoke.texi (-Wpacked-bitfield-compat): Document.
2150         (Warning Options): Add it to the list.
2151
2152 2009-01-22  H.J. Lu  <hongjiu.lu@intel.com>
2153
2154         * c-opts.c (c_common_post_options): Fix a typo in comments.
2155
2156 2009-01-22  Steve Ellcey  <sje@cup.hp.com>
2157
2158         PR middle-end/38615
2159         * gimplify.c (gimplify_init_constructor): Fix promotion of const
2160         variables to static.
2161         * doc/invoke.texi (-fmerge-all-constants): Update description.
2162
2163 2009-01-22  Uros Bizjak  <ubizjak@gmail.com>
2164
2165         PR target/38931
2166         * config/i386/i386.md (*movsi_1): Use type "mmx" for alternative 2.
2167         (*movdi_1_rex64): Use type "mmx" for alternative 5.
2168
2169 2009-01-22  Richard Earnshaw  <rearnsha@arm.com>
2170
2171         * arm.h (DATA_ALIGNMENT): Align structures, unions and arrays to
2172         a word boundary.
2173         (LOCAL_ALIGNMENT): Similarly.
2174
2175 2009-01-22  Mark Shinwell  <shinwell@codesourcery.com>
2176             Joseph Myers  <joseph@codesourcery.com>
2177
2178         * config/arm/arm.c (all_architectures): Add iWMMXt2 entry.
2179         * config/arm/arm-cores.def: New ARM_CORE entry for iWMMXt2.
2180         * config/arm/arm-tune.md: Regenerate.
2181         * doc/invoke.texi (ARM Options): Document -mcpu=iwmmxt2 and
2182         -march=iwmmxt2.
2183
2184 2009-01-22  Mark Shinwell  <shinwell@codesourcery.com>
2185
2186         * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Bump EABI
2187         version number to five.
2188
2189 2009-01-22  Dodji Seketeli  <dodji@redhat.com>
2190
2191         PR c++/38930
2192         * c-decl.c: (clone_underlying_type): Revert PR c++/26693 changes.
2193         * c-common.c (set_underlying_type): Likewise.
2194         (is_typedef_decl ): Likewise
2195         * tree.h: Likewise
2196         (set_underlying_type): Likewise.
2197         (is_typedef_type): Likewise.
2198
2199 2009-01-21  Vladimir Makarov  <vmakarov@redhat.com>
2200
2201         PR middle-end/38587
2202         * ira-color.c (coalesce_spill_slots): Don't coalesce allocnos
2203         crossing setjmps.
2204
2205 2009-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
2206
2207         PR bootstrap/37660
2208         * config/i386/cygwin.h (SHARED_LIBGCC_SPEC):  New helper macro.
2209         (LIBGCC_SPEC):  Don't define.
2210         (REAL_LIBGCC_SPEC):  Define instead, using SHARED_LIBGCC_SPEC.
2211
2212 2009-01-21  Uros Bizjak  <ubizjak@gmail.com>
2213
2214         PR rtl-optimization/38879
2215         * alias.c (base_alias_check): Unaligned access via AND address can
2216         alias all surrounding object types except those with sizes equal
2217         or wider than the size of unaligned access.
2218
2219 2009-01-21  Dodji Seketeli  <dodji@redhat.com>
2220
2221         PR c++/26693
2222         * c-decl.c: (clone_underlying_type): Move this ...
2223         * c-common.c (set_underlying_type): ... here.
2224         Also, make sure the function properly sets TYPE_STUB_DECL() on
2225         the newly created typedef variant type.
2226         (is_typedef_decl ): New entry point.
2227         * tree.h: Added a new member member_types_needing_access_check to
2228         struct tree_decl_non_common.
2229         (set_underlying_type): New entry point.
2230         (is_typedef_type): Likewise.
2231
2232 2009-01-21  Bingfeng Mei  <bmei@broadcom.com>
2233
2234         * alias.c (walk_mems_1, walk_mems_2, insn_alias_sets_conflict_p):
2235         Check whether two instructions have memory references that
2236         belong to conflicting alias sets.  walk_mems_1 and walk_mems_2
2237         are helper functions for traversing.
2238         * alias.h (insn_alias_sets_confilict_p): New prototypes.
2239         * ddg.c (add_inter_loop_mem_dep): Call insn_alias_sets_conflict_p
2240         not to draw dependency edge for instructions with non-conflicting
2241         alias sets.
2242
2243 2009-01-20  Joseph Myers  <joseph@codesourcery.com>
2244
2245         PR other/38758
2246         * longlong.h: Update copyright years.  Use soft-fp license notice.
2247         Sync __clz_tab declaration with glibc.
2248
2249 2009-01-20  Steve Ellcey  <sje@cup.hp.com>
2250
2251         PR target/30687
2252         * doc/extend.texi (syscall_linkage): New.
2253         (version_id): Modify.
2254
2255 2009-01-20  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2256             Richard Guenther  <rguenther@suse.de>
2257
2258         PR tree-optimization/38747
2259         PR tree-optimization/38748
2260         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Disable the VCE
2261         conversion if the base address is an indirect reference and the
2262         aliasing sets could cause issues.
2263
2264 2009-01-20  Sebastian Pop  <sebastian.pop@amd.com>
2265
2266         * common.opt (fgraphite, fgraphite-identity): Add comment for 
2267         explaining why these options are not documented.
2268
2269 2009-01-20  Sebastian Pop  <sebastian.pop@amd.com>
2270
2271         * graphite.c (stmt_simple_for_scop_p): Also handle cases when
2272         gimple_call_lhs is NULL.
2273
2274 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
2275
2276         PR target/38868
2277         * emit-rtl.c (adjust_address_1): Make sure memref is never
2278         overwritten.
2279
2280 2009-01-20  Ben Elliston  <bje@au.ibm.com>
2281
2282         * libgcov.c (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
2283         const qualifier from arg parameter. Remove unnecessary cast to char *.
2284         * gcov-io.h (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
2285         const qualifier from arg 2.
2286
2287 2009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
2288
2289         * config/darwin.h: Add static-libgfortran to LINK_SPEC.
2290
2291 2009-01-19  Vladimir Makarov  <vmakarov@redhat.com>
2292
2293         PR c/38869
2294         * rtl.h (reinit_regs): New prototype.
2295         * regclass.c: Include ira.h.
2296         (reinit_regs): New.
2297         * Makefile.in (regclass.o): Add ira.h.
2298         * config/i386/i386.c (ix86_maybe_switch_abi): Use reinit_regs.
2299
2300 2009-01-18  H.J. Lu  <hongjiu.lu@intel.com>
2301
2302         PR target/38736
2303         * c-common.c (handle_aligned_attribute): Use
2304         ATTRIBUTE_ALIGNED_VALUE instead of BIGGEST_ALIGNMENT for
2305         default alignment value.
2306
2307         * c-cppbuiltin.c (c_cpp_builtins): Define __BIGGEST_ALIGNMENT__.
2308
2309         * defaults.h (ATTRIBUTE_ALIGNED_VALUE): New.
2310         * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Likewise.
2311
2312         * doc/extend.texi: Update __attribute__ ((aligned)).  Document
2313         __BIGGEST_ALIGNMENT__.
2314
2315         * doc/tm.texi: Document ATTRIBUTE_ALIGNED_VALUE.
2316
2317 2009-01-18  Richard Guenther  <rguenther@suse.de>
2318
2319         PR tree-optimization/38819
2320         * tree-flow.h (operation_could_trap_helper_p): Declare.
2321         * tree-eh.c (operation_could_trap_helper_p): Export.
2322         * tree-ssa-sccvn.h (vn_nary_may_trap): Declare.
2323         * tree-ssa-sccvn.c (vn_nary_may_trap): New function.
2324         * tree-ssa-pre.c (insert_into_preds_of_block): Check if we
2325         are about to insert a possibly trapping instruction and fail
2326         in this case.
2327
2328 2009-01-18  Andreas Schwab  <schwab@suse.de>
2329
2330         * doc/install.texi (Configuration): Remove obsolete paragraph
2331         about use of --with-gnu-ld with --with-gnu-as.
2332
2333 2009-01-18  Kazu Hirata  <kazu@codesourcery.com>
2334
2335         * doc/extend.texi, doc/gimple.texi, doc/invoke.texi,
2336         doc/md.texi, doc/sourcebuild.texi, doc/tm.texi: Fix typos.
2337         Follow spelling conventions.
2338
2339 2009-01-18  Ben Elliston  <bje@au.ibm.com>
2340
2341         * bitmap.c (bitmap_obstack_alloc_stat): Adjust cast to eliminate
2342         C++ warning about implicit conversion from void * to struct
2343         bitmap_head_def *.
2344         (bitmap_obstack_free): Likewise for bitmap_element *.
2345         * Makefile.in (bitmap.o-warn): Remove.
2346
2347 2009-01-17  Dave Korn  <dave.korn.cygwin@gmail.com>
2348
2349         * Makefile.in (BACKENDLIBS):  Reorder to match dependencies.
2350
2351 2009-01-17  Sebastian Pop  <sebastian.pop@amd.com>
2352             Tobias Grosser  <tobi.grosser@amd.com>
2353
2354         * graphite.c (graphite_trans_scop_block): Do not block single
2355         nested loops.
2356
2357 2009-01-16  Alexandre Oliva  <aoliva@redhat.com>
2358
2359         * ebitmap.h (ebitmap_iter_init): Initialize all fields.
2360         * ipa-struct-reorg.c (gen_struct_type): Replace known-true
2361         test with assertion.
2362
2363 2009-01-16  Richard Guenther  <rguenther@suse.de>
2364
2365         PR tree-optimization/38835
2366         PR middle-end/36227
2367         * fold-const.c (fold_binary): Remove PTR + INT -> (INT)(PTR p+ INT)
2368         and INT + PTR -> (INT)(PTR p+ INT) folding.
2369         * tree-ssa-address.c (create_mem_ref): Properly use POINTER_PLUS_EXPR.
2370
2371 2009-01-16  Adam Nemet  <anemet@caviumnetworks.com>
2372
2373         PR target/38554
2374         * expmed.c (expand_shift): With SHIFT_COUNT_TRUNCATED, don't lift
2375         the subreg from a lowpart subreg if it is also casting the value.
2376
2377 2009-01-16  Sebastian Pop  <sebastian.pop@amd.com>
2378             Tobias Grosser  <tobi.grosser@amd.com>
2379
2380         * graphite.c (compare_prefix_loops): New.
2381         (build_scop_canonical_schedules): Rewritten.
2382         (graphite_transform_loops): Move build_scop_canonical_schedules
2383         after build_scop_iteration_domain.
2384
2385 2009-01-16  Sebastian Pop  <sebastian.pop@amd.com>
2386             Tobias Grosser  <tobi.grosser@amd.com>
2387
2388         * graphite.c (add_conditions_to_domain): Add the loops to 
2389         the dimension of the iteration domain.  Do copy the domain
2390         only when it exists.
2391         (build_scop_conditions_1): Do not call add_conditions_to_domain.
2392         (add_conditions_to_constraints): New.
2393         (can_generate_code_stmt, can_generate_code): Removed.
2394         (gloog): Do not call can_generate_code.
2395         (graphite_transform_loops): Call add_conditions_to_constraints
2396         after building the iteration domain.
2397
2398 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
2399
2400         PR tree-optimization/38789
2401         * tree-ssa-threadedge.c
2402         (record_temporary_equivalences_from_stmts_at_dest): Ignore calls to
2403         __builtin_constant_p.
2404
2405 2009-01-16  Kenneth Zadeck  <zadeck@naturalbridge.com>
2406
2407         * dce.c (delete_unmarked_insns): Reversed the order that insns are
2408         examined before deleting them.
2409         
2410 2009-01-16  Richard Earnshaw  <rearnsha@arm.com>
2411
2412         * function.c (aggregate_value_p): Correctly extract the function
2413         type from CALL_EXPR_FN lookup.
2414
2415 2009-01-16  Hariharan Sandanagobalane  <hariharan@picochip.com>
2416
2417         * config/picochip/picochip.c (picochip_override_options): Revert
2418         CFI asm flag disable commited previously.
2419
2420 2009-01-15  Sebastian Pop  <sebastian.pop@amd.com>
2421             Tobias Grosser  <tobi.grosser@amd.com>
2422             Jan Sjodin  <jan.sjodin@amd.com>
2423
2424         * graphite.c (scan_tree_for_params): On substractions negate
2425         all the coefficients of the term.
2426         (clast_to_gcc_expression_red): New.  Handle reduction expressions
2427         of more than two operands.
2428         (clast_to_gcc_expression): Call clast_to_gcc_expression_red.
2429         (get_vdef_before_scop): Handle also the case of default definitions.
2430
2431 2009-01-15  Richard Sandiford  <rdsandiford@googlemail.com>
2432
2433         * caller-save.c (add_used_regs_1, add_used_regs): New functions.
2434         (insert_one_insn): Use them instead of REG_DEAD and REG_INC notes.
2435         Also use them when walking CALL_INSN_FUNCTION_USAGE.
2436
2437 2009-01-15  H.J. Lu  <hongjiu.lu@intel.com>
2438             Joey Ye  <joey.ye@intel.com>
2439
2440         PR middle-end/37843
2441         * cfgexpand.c (expand_stack_alignment): Don't update stack
2442         boundary nor check incoming stack boundary here.
2443         (gimple_expand_cfg): Update stack boundary and check incoming
2444         stack boundary here.
2445
2446 2009-01-15  Kenneth Zadeck  <zadeck@naturalbridge.com>
2447
2448         * dce.c (find_call_stack_args, delete_unmarked_insns): Fixed comments.
2449         
2450 2009-01-14  Jakub Jelinek  <jakub@redhat.com>
2451
2452         PR rtl-optimization/38245
2453         * calls.c (expand_call): Add stack arguments to
2454         CALL_INSN_FUNCTION_USAGE even for pure calls (when
2455         ACCUMULATE_OUTGOING_ARGS) and even for args partially passed
2456         in regs and partially in memory or BLKmode arguments.
2457         (emit_library_call_value_1): Add stack arguments to
2458         CALL_INSN_FUNCTION_USAGE even for pure calls (when
2459         ACCUMULATE_OUTGOING_ARGS).
2460         * dce.c: Include tm_p.h.
2461         (find_call_stack_args): New function.
2462         (deletable_insn_p): Call it for CALL_P insns.  Add ARG_STORES
2463         argument.
2464         (mark_insn): Call find_call_stack_args for CALL_Ps.
2465         (prescan_insns_for_dce): Walk insns backwards in bb rather than
2466         forwards.  Allocate and free arg_stores bitmap if needed, pass it
2467         down to deletable_insn_p, don't mark stores set in arg_stores
2468         bitmap, clear the bitmap at the beginning of each bb.
2469         * Makefile.in (dce.o): Depend on $(TM_P_H).
2470
2471 2009-01-14  Michael Meissner  <gnu@the-meissners.org>
2472
2473         PR target/22599
2474         * config/i386/i386.c (print_operand): Add tests for 'D', 'C', 'F', 'f'
2475         to make sure the insn is a conditional test (bug 22599).  Reformat a
2476         few long lines.
2477
2478 2009-01-14  Sebastian Pop  <sebastian.pop@amd.com>
2479
2480         PR middle-end/38431
2481         * graphite.c (get_vdef_before_scop, scop_adjust_vphi): New.
2482         (scop_adjust_phis_for_liveouts): Call scop_adjust_vphi.
2483         (gloog): Do not call cleanup_tree_cfg.
2484         (graphite_transform_loops): Call cleanup_tree_cfg after all 
2485         scops have been code generated.
2486
2487 2009-01-14  Basile Starynkevitch  <basile@starynkevitch.net>
2488         * doc/gty.texi (Invoking the garbage collector): Added new node
2489         and section documenting ggc_collect.
2490
2491 2009-01-14  Richard Guenther  <rguenther@suse.de>
2492
2493         PR tree-optimization/38826
2494         PR middle-end/38477
2495         * tree-ssa-structalias.c (emit_alias_warning): Emit the pointer
2496         initialization notes only if we actually emitted a warning.
2497         (intra_create_variable_infos): Add constraints for a result decl
2498         that is passed by hidden reference.
2499         (build_pred_graph): Mark all related variables non-direct on
2500         address-taking.
2501
2502 2009-01-14  Nick Clifton  <nickc@redhat.com>
2503
2504         * ira-conflicts.c: Include addresses.h for the definition of
2505         base_reg_class.
2506         (ira_build_conflicts): Use base_reg_class instead of BASE_REG_CLASS.
2507         * Makefile.in: Add a dependency of ira-conflicts.o on addresses.h.
2508
2509 2009-01-13  Vladimir Makarov  <vmakarov@redhat.com>
2510
2511         PR target/38811
2512         * Makefile.in (ira-lives.o): Add except.h.
2513
2514         * ira-lives.c: Include except.h.
2515         (process_bb_node_lives): Process can_throw_internal.
2516
2517 2009-01-13  Jakub Jelinek  <jakub@redhat.com>
2518
2519         PR rtl-optimization/38774
2520         * combine.c (simplify_set): When undoing cc_use change, don't do
2521         PUT_CODE on the newly created comparison, but instead put back the
2522         old comparison.
2523
2524 2009-01-13  Joseph Myers  <joseph@codesourcery.com>
2525
2526         * doc/invoke.texi (ARM Options): Update lists of -mcpu and -march
2527         values.  Remove duplicate arm8 entry.
2528
2529 2009-01-13  Sebastian Pop  <sebastian.pop@amd.com>
2530
2531         PR tree-optimization/38786
2532         * graphite.c (expand_scalar_variables_ssa_name): New, outlined from
2533         the SSA_NAME case of expand_scalar_variables_expr.
2534         Set the type of an expression to the type of its assign statement.
2535         (expand_scalar_variables_expr): Also gather the scalar computation
2536         used to index the memory access.  Do not pass loop_p.
2537         Fix comment.  Stop recursion on tcc_constant or tcc_declaration.
2538         (expand_scalar_variables_stmt): Pass to expand_scalar_variables_expr
2539         the gimple_stmt_iterator where it inserts new code.
2540         Do not pass loop_p.
2541         (copy_bb_and_scalar_dependences): Do not pass loop_p.
2542         (translate_clast): Update call to copy_bb_and_scalar_dependences.
2543
2544 2009-01-13  Sebastian Pop  <sebastian.pop@amd.com>
2545
2546         * graphite.h (debug_value): Removed.
2547         * graphite.c (debug_value): Removed.
2548
2549 2009-01-13  Richard Earnshaw  <rearnsha@arm.com>
2550
2551         * config/arm/arm.c (output_move_double): Don't synthesize thumb-2
2552         ldrd/strd with two 32-bit instructions.
2553
2554 2009-01-13  Richard Earnshaw  <rearnsha@arm.com>
2555
2556         * config/arm/arm.c (struct processors): Pass for speed down into
2557         cost helper functions.
2558         (const_ok_for_op): Handle COMPARE and inequality nodes.
2559         (arm_rtx_costs_1): Rewrite.
2560         (arm_size_rtx_costs): Update prototype.
2561         (arm_rtx_costs): Pass speed down to helper functions.
2562         (arm_slowmul_rtx_costs): Rework cost calculations.
2563         (arm_fastmul_rtx_costs, arm_xscale_rtx_costs): Likewise.
2564         (arm_9e_rtx_costs): Likewise.
2565
2566 2009-01-13  Uros Bizjak  <ubizjak@gmail.com>
2567
2568         * config/alpha/alpha.c (alpha_legitimate_address_p): Explicit
2569         relocations of local symbols wider than UNITS_PER_WORD are not valid.
2570         (alpha_legitimize_address): Do not split local symbols wider than
2571         UNITS_PER_WORD into HIGH/LO_SUM parts.
2572
2573 2009-01-13  Danny Smith  <dannysmith@users.sourceforge.net>
2574
2575         PR bootstrap/38580
2576         * gcc.c (process_command): Replace call to execvp with calls
2577         to pex_one and exit.
2578
2579 2009-01-03  Anatoly Sokolov  <aesok@post.ru>
2580
2581         PR target/29141
2582         * config/avr/t-avr (LIB1ASMFUNCS): Add _tablejump_elpm.
2583         * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Add
2584         variant for devices with 3-byte PC.
2585         (__tablejump_elpm__) : New.
2586
2587 2009-01-12  Jakub Jelinek  <jakub@redhat.com>
2588
2589         PR c/32041
2590         * c-parser.c (c_parser_postfix_expression): Allow `->' in
2591         offsetof member-designator, handle it as `[0].'.
2592
2593 2009-01-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2594
2595         * pa.c (pa_asm_output_mi_thunk): Use pc-relative branch to thunk
2596         function when not using named sections on targets with named sections
2597         if branch distance is less than 262132.
2598
2599 2009-01-12  Richard Earnshaw  <rearnsha@arm.com>
2600
2601         * combine.c (combine_instructions):  Recompute
2602         optimize_this_for_speed_p  for each BB in the main combine loop.
2603
2604 2009-01-12  Tomas Bily  <tbily@suse.cz>
2605
2606         PR middlend/38385
2607         * tree-loop-distribution.c (prop_phis): New function.
2608         (generate_builtin): Call prop_phis.
2609         * testsuite/gcc.dg/tree-ssa/pr38385.c: New file.
2610
2611 2009-01-12  Jakub Jelinek  <jakub@redhat.com>
2612
2613         PR tree-optimization/38807
2614         * tree-ssa-reassoc.c (remove_visited_stmt_chain): Don't look at
2615         gimple_visited_p unless stmt is GIMPLE_ASSIGN.
2616
2617 2009-01-11  Adam Nemet  <anemet@caviumnetworks.com>
2618
2619         * expmed.c (store_bit_field_1): Properly truncate the paradoxical
2620         subreg of op0 to the original op0.
2621
2622 2009-01-11  Laurent GUERBY  <laurent@guerby.net>
2623
2624         * doc/sourcebuild.texi (Source Tree): Move up intl and fixinc.
2625         
2626 2009-01-11  Markus Schoepflin  <markus.schoepflin@comsoft.de>
2627
2628         PR debug/7055
2629         * gcc/mips-tfile.c (parse_def): Fix parsing of def strings
2630         starting with digits.
2631
2632 2009-01-10  Jakub Jelinek  <jakub@redhat.com>
2633
2634         PR target/38695
2635         * config/arm/arm.c (arm_is_long_call_p): Don't call
2636         arm_function_in_section_p if decl isn't a FUNCTION_DECL.
2637
2638 2009-01-09  Steven Bosscher  <steven@gcc.gnu.org>
2639
2640         * regrename.c (regrename_optimize): Fix dumping.
2641         (find_oldest_value_reg): Preserve REG_POINTER.
2642         (copy_hardreg_forward_1): Likewise.
2643
2644 2009-01-09  Diego Novillo  <dnovillo@google.com>
2645
2646         * gimple.h (struct gimple_statement_base) <uid>: Document
2647         the restrictions on its use.
2648         (gimple_uid): Tidy.
2649         (gimple_set_uid): Tidy.
2650
2651 2009-01-09  Jakub Jelinek  <jakub@redhat.com>
2652
2653         * config/i386/i386.c (ix86_expand_movmem, ix86_expand_setmem): Add
2654         zero guard even if align_bytes != 0 and count is smaller than
2655         size_needed.
2656
2657 2009-01-09  Vladimir Makarov  <vmakarov@redhat.com>
2658
2659         PR rtl-optimization/38495
2660         * ira-emit.c (print_move_list, ira_debug_move_list): New functions.
2661         (add_range_and_copies_from_move_list): Print all added ranges.
2662         Add ranges to memory optimized destination.
2663
2664 2009-01-09  Jakub Jelinek  <jakub@redhat.com>
2665
2666         PR target/38686
2667         PR target/38708
2668         * config/i386/i386.c (override_options): Reject
2669         -mstringop-strategy=rep_8byte with -m32.
2670         (ix86_expand_movmem): For size_needed == 1 set epilogue_size_needed
2671         to 1.  Do count comparison against epilogue_size_needed at compile
2672         time even when count_exp was constant forced into register.  For
2673         size_needed don't jump to epilogue, instead just avoid aligning
2674         and invoke the body algorithm.  If need_zero_guard, add zero guard
2675         even if count is non-zero, but smaller than size_needed + number of
2676         bytes that could be stored for alignment.
2677         (ix86_expand_setmem): For size_needed == 1 set epilogue_size_needed
2678         to 1.  If need_zero_guard, add zero guard even if count is non-zero,
2679         but smaller than size_needed + number of bytes that could be stored
2680         for alignment.  Compare size_needed with epilogue_size_needed instead
2681         of desired_align - align, don't adjust size_needed, pass
2682         epilogue_size_needed to the epilogue expanders.
2683
2684         PR c/35742
2685         * c-pretty-print.c (pp_c_expression): Handle GOTO_EXPR like BIND_EXPR.
2686
2687 2009-01-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2688
2689         * pa.c (last_address): Change to unsigned.
2690         (update_total_code_bytes): Change argument to unsigned.  Don't
2691         check if insn addresses are set.
2692         (pa_output_function_epilogue): Set last_address to UINT_MAX if insn
2693         addresses are not set.
2694         (pa_asm_output_mi_thunk): Handle wrap when updating last_address.
2695
2696 2009-01-09  Nick Clifton  <nickc@redhat.com>
2697
2698         * config/sh/symbian.c: Replace uses of DECL_INLINE with
2699         DECL_DECLARED_INLINE_P.
2700
2701 2009-01-09  Jakub Jelinek  <jakub@redhat.com>
2702
2703         PR middle-end/38347
2704         * dojump.c (do_jump_by_parts_zero_rtx): Use mode instead of
2705         GET_MODE (op0) in operand_subword_force calls.
2706
2707         PR middle-end/38771
2708         * fold-const.c (fold_unary): For COMPOUND_EXPR and COND_EXPR,
2709         fold_convert arg0 operands to TREE_TYPE (op0) first.
2710
2711 2009-01-08  Vladimir Makarov  <vmakarov@redhat.com>
2712
2713         * params.def (ira-max-conflict-table-size): Decrease default value
2714         to 1000.
2715
2716 2009-01-08  Jakub Jelinek  <jakub@redhat.com>
2717
2718         PR tree-optimization/37031
2719         * lambda-code.c (lambda_collect_parameters): Call pointer_set_destroy
2720         on parameter_set.
2721         (build_access_matrix): Reserve correct size for AM_MATRIX vector,
2722         allocate it using gc instead of heap, use VEC_quick_push instead of
2723         VEC_safe_push.
2724         * graphite.c (build_access_matrix): Allocate AM_MATRIX vector using gc
2725         instead of heap, use VEC_quick_push instead of VEC_safe_push.
2726         * tree-data-ref.h (struct access_matrix): Change matrix to gc
2727         allocated vector from heap allocated.
2728         * lambda.h: Add DEF_VEC_ALLOC_P for gc allocated lambda_vector.
2729         * tree-loop-linear.c (linear_transform_loops): Allocate nest
2730         vector only after perfect_loop_nest_depth call.
2731
2732 2009-01-08  Sebastian Pop  <sebastian.pop@amd.com>
2733             Jan Sjodin  <jan.sjodin@amd.com>
2734
2735         PR tree-optimization/38559
2736         * graphite.c (debug_value, copy_constraint,
2737         swap_constraint_variables, scale_constraint_variable, ): New.
2738         (get_lower_bound, get_upper_bound): Removed.
2739         (graphite_trans_bb_strip_mine): Clean up this code that works
2740         only for constant number of iterations.  Fully copy upper and
2741         lower bound constraints, not only the constant part of them.
2742         * graphite.h (debug_value): Declared.
2743
2744 2009-01-08  Ira Rosen  <irar@il.ibm.com>
2745
2746         PR tree-optimization/37194
2747         * tree-vect-transform.c (vect_estimate_min_profitable_iters):
2748         Don't add the cost of cost model guard in prologue to scalar 
2749         outside cost in case of known number of iterations.
2750
2751 2009-01-07  Nathan Froyd  <froydnj@codesourcery.com>
2752             Alan Modra  <amodra@bigpond.net.au>
2753
2754         * config/rs6000/rs6000.c (rs6000_legitimize_address): Check for
2755         non-word-aligned REG+CONST addressing.
2756
2757 2009-01-07  Uros Bizjak  <ubizjak@gmail.com>
2758
2759         PR target/38706
2760         * config/alpha/alpha.c (alpha_end_function): For TARGET_ABI_OSF, call
2761         free_after_compilation when outputting a thunk.
2762         (alpha_output_mi_thunk_osf): Assert that we are processing a thunk.
2763         Do not call free_after_compilation here.
2764
2765 2009-01-07  Uros Bizjak  <ubizjak@gmail.com>
2766
2767         * config/i386/i386.c (ix86_target_string): Use ARRAY_SIZE.
2768         (ix86_valid_target_attribute_inner_p): Ditto.
2769
2770 2009-01-07  Jan Sjodin  <jan.sjodin@amd.com>
2771
2772         PR tree-optimization/38492
2773         PR tree-optimization/38498
2774         * tree-check.c (operator_is_linear, scev_is_linear_expression): New.
2775         * tree-chrec.h (scev_is_linear_expression): Declared.
2776         * graphite.c (graphite_cannot_represent_loop_niter): New.
2777         (scopdet_basic_block_info): Call graphite_cannot_represent_loop_niter.
2778         (graphite_loop_normal_form): Use gcc_assert.
2779         (scan_tree_for_params): Use CASE_CONVERT.
2780         (phi_node_is_iv, bb_contains_non_iv_scalar_phi_nodes): New.
2781         (build_scop_conditions_1): Call bb_contains_non_iv_scalar_phi_nodes.
2782         Use gcc_assert.  Discard scops that contain unhandled cases.
2783         (build_scop_conditions): Return a boolean status for unhandled cases.
2784         (strip_mine_profitable_p): Print the loop number, not its depth.
2785         (is_interchange_valid): Pass the depth of the loop nest, don't
2786         recompute it wrongly.
2787         (graphite_trans_bb_block): Same.
2788         (graphite_trans_bb_block): Print tentative of loop blocking.
2789         (graphite_trans_scop_block): Do not print that the loop has been
2790         blocked.
2791         (graphite_transform_loops): Do not handle scops that contain condition
2792         scalar phi nodes.
2793
2794 2009-01-07  H.J. Lu  <hongjiu.lu@intel.com>
2795
2796         AVX Programming Reference (December, 2008)
2797         * config/i386/avxintrin.h (_mm256_stream_si256): New.
2798         (_mm256_stream_pd): Likewise.
2799         (_mm256_stream_ps): Likewise.
2800
2801         * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVNTDQ256,
2802         IX86_BUILTIN_MOVNTPD256 and IX86_BUILTIN_MOVNTPS256.
2803         (ix86_special_builtin_type): Add VOID_FTYPE_PV4DI_V4DI.
2804         (bdesc_special_args): Add __builtin_ia32_movntdq256,
2805         __builtin_ia32_movntpd256 and __builtin_ia32_movntps256.
2806         (ix86_init_mmx_sse_builtins): Handle VOID_FTYPE_PV4DI_V4DI.
2807         (ix86_expand_special_args_builtin): Likewise.
2808
2809         * config/i386/sse.md (AVXMODEDI): New.
2810         (avx_movnt<mode>): Likewise.
2811         (avx_movnt<mode>): Likewise.
2812         (<sse>_movnt<mode>): Remove AVX support.
2813         (sse2_movntv2di): Likewise.
2814
2815 2009-01-07  Richard Guenther  <rguenther@suse.de>
2816
2817         PR middle-end/38751
2818         * fold-const.c (extract_muldiv): Remove obsolete comment.
2819         (fold_plusminus_mult_expr): Undo MINUS_EXPR
2820         to PLUS_EXPR canonicalization for the canonicalization.
2821
2822 2009-01-07  Gerald Pfeifer  <gerald@pfeifer.com>
2823
2824         * doc/install.texi (alpha*-dec-osf*): Remove note on 32-bit
2825         hosted cross-compilers generating less efficient code.
2826
2827 2009-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
2828
2829         * function.h (rtl_data): Add a dbr_scheduled_p field.
2830         * reorg.c (dbr_schedule): Set it.
2831         (gate_handle_delay_slots): Check it.
2832         * config/mips/mips.c (mips_base_delayed_branch): Delete.
2833         (mips_reorg): Check flag_delayed_branch instead of
2834         mips_base_delayed_branch.
2835         (mips_override_options): Don't set mips_base_delayed_branch
2836         or flag_delayed_branch.
2837
2838 2009-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
2839
2840         PR rtl-optimization/38426.
2841         * ira.c (ira): Set current_function_is_leaf earlier.
2842
2843 2009-01-06  Jakub Jelinek  <jakub@redhat.com>
2844
2845         PR rtl-optimization/38722
2846         * combine.c (try_combine): Don't modify PATTERN (i3) and notes
2847         too early, only set a flag and modify after last possible
2848         undo_all point.
2849
2850 2009-01-06  Janis Johnson  <janis187@us.ibm.com>
2851
2852         PR c/34252
2853         * ginclude/float.h: Rename DECnn_DEN to DECnn_SUBNORMAL_MIN.
2854         * real.c (decimal_single_format): Correct values of emin and emax.
2855         (decimal_double_format): Ditto.
2856         (decimal_quad_format): Ditto.
2857         * c-cppbuiltin.c (builtin_define_decimal_float_constants): Adjust
2858         computation of DECnn_MIN and DECnn_MAX for corrected values of
2859         emin and emax.  Define __DECnn_SUBNORMAL_MIN__ instead of
2860         __DECnn_MIN__, and adjust its computation for the corrected value
2861         of emin.
2862
2863 2009-01-06  Jan Hubicka  <jh@suse.cz>
2864
2865         PR target/38744
2866         * config/i386/i386.c (ix86_expand_call): Use ARRAY_SIZE.
2867
2868 2009-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
2869
2870         * doc/contrib.texi (Contributors): Slightly adjust the end note.
2871         Add Robert Clark to the list of testers.
2872
2873 2009-01-06  Jan Hubicka  <jh@suse.cz>
2874             Kai Tietz  <kai.tietz@onevision.com>
2875
2876         * config/i386/i386.md (*msabi_syvabi): Add SSE regs clobbers.
2877         * config/i386/i386.c (ix86_expand_call): Add clobbers.
2878
2879 2009-01-06  Jan Hubicka  <jh@suse.cz>
2880             Kai Tietz  <kai.tietz@onevision.com>
2881
2882         * config/i386/i386.h (CONDITIONAL_CALL_USAGE): SSE regs are not used
2883         for w64 ABI.
2884         * config/i386/i386.c (struct ix86_frame): Add padding0 and nsseregs.
2885         (ix86_nsaved_regs): Count only general purpose regs.
2886         (ix86_nsaved_sseregs): New.
2887         (ix86_compute_frame_layout): Update nsseregs; set preferred alignment
2888         to 16 for w64; compute padding and size of sse reg save area.
2889         (ix86_emit_save_regs, ix86_emit_save_regs_using_mov): Save only
2890         general purpose regs.
2891         (ix86_emit_save_sse_regs_using_mov): New.
2892         (ix86_expand_prologue): Save SSE regs if needed.
2893         (ix86_emit_restore_regs_using_mov): Use only general purpose regs.
2894         (ix86_emit_restore_sse_regs_using_mov): New.
2895         (ix86_expand_epilogue): Save SSE regs if needed.
2896
2897 2009-01-06  Jan Hubicka  <jh@suse.cz>
2898             Kai Tietz  <kai.tietz@onevision.com>
2899
2900         * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Enable for MSABI
2901         * config/i386/i386.c (init_cumulative_args): Disallow calls of MSABI
2902         functions when accumulate outgoing args is off.
2903
2904 2009-01-06  H.J. Lu  <hongjiu.lu@intel.com>
2905
2906         PR bootstrap/38742
2907         * ira-color.c (ira_reuse_stack_slot): Check ENABLE_IRA_CHECKING
2908         before using pseudos_have_intersected_live_ranges_p.
2909
2910         * ira-int.h (ira_assert): Always define.
2911
2912 2009-01-06  H.J. Lu  <hongjiu.lu@intel.com>
2913
2914         AVX Programming Reference (December, 2008)
2915         * config/i386/avxintrin.h (_mm_permute2_pd): Removed.
2916         (_mm256_permute2_pd): Likewise.
2917         (_mm_permute2_ps): Likewise.
2918         (_mm256_permute2_ps): Likewise.
2919         * config/i386/i386.md (UNSPEC_VPERMIL2): Likewise.
2920         * config/i386/sse.md (avx_vpermil2<mode>3): Likewise.
2921
2922         * config/i386/i386.c (ix86_builtins): Remove
2923         IX86_BUILTIN_VPERMIL2PD, IX86_BUILTIN_VPERMIL2PS,
2924         IX86_BUILTIN_VPERMIL2PD256 and IX86_BUILTIN_VPERMIL2PS256.
2925         (ix86_builtin_type): Remove V8SF_FTYPE_V8SF_V8SF_V8SI_INT,
2926         V4DF_FTYPE_V4DF_V4DF_V4DI_INT, V4SF_FTYPE_V4SF_V4SF_V4SI_INT
2927         and V2DF_FTYPE_V2DF_V2DF_V2DI_INT.
2928         (bdesc_args): Remove __builtin_ia32_vpermil2pd,
2929         __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256 and
2930         __builtin_ia32_vpermil2ps256.
2931         (ix86_init_mmx_sse_builtins): Updated.
2932         (ix86_expand_args_builtin): Likewise.
2933
2934 2009-01-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2935
2936         * pa.c (output_call): Relocate non-jump insns in the delay slot of
2937         long absolute calls when generating PA 2.0 code.
2938
2939 2009-01-05  Vladimir Makarov  <vmakarov@redhat.com>
2940
2941         PR rtl-optimization/38583
2942         * params.h (IRA_MAX_CONFLICT_TABLE_SIZE): New macro.
2943
2944         * params.def (ira-max-conflict-table-size): New.
2945
2946         * doc/invoke.texi (ira-max-conflict-table-size): Decribe.
2947         
2948         * ira.h (ira_conflicts_p): New external definition.
2949         
2950         * ira-conflicts.c (build_conflict_bit_table): Do not build too big
2951         table.  Report this.  Return result of building.
2952         (ira_build_conflicts): Use ira_conflicts_p.  Check result of
2953         building conflict table.
2954
2955         * ira-color.c (fast_allocation): Use num instead of ira_allocnos_num.
2956         (ira_color): Use ira_conflicts_p.
2957         
2958         * global.c: Include ira.h.
2959         (pseudo_for_reload_consideration_p, build_insn_chain): Use
2960         ira_conflicts_p.
2961
2962         * Makefile.in (global.o): Add ira.h.
2963         
2964         * ira-build.c (mark_all_loops_for_removal,
2965         propagate_some_info_from_allocno): New.
2966         (remove_unnecessary_allocnos): Call
2967         propagate_some_info_from_allocno.
2968         (remove_low_level_allocnos): New.
2969         (remove_unnecessary_regions): Add parameter.  Call
2970         mark_all_loops_for_removal and remove_low_level_allocnos.  Pass
2971         parameter to remove_unnecessary_regions.
2972         (ira_build): Remove all regions but root if the conflict table was
2973         not built.  Update conflict hard regs for allocnos crossing calls.
2974
2975         * ira.c (ira_conflicts_p): New global.
2976         (ira): Define and use ira_conflicts_p.
2977
2978         * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
2979         count_spilled_pseudo, find_reg, alter_reg, finish_spills,
2980         emit_input_reload_insns, delete_output_reload): Use ira_conflicts_p.
2981         
2982 2009-01-06  Ben Elliston  <bje@au.ibm.com>
2983
2984         * gengtype-lex.l (YY_NO_INPUT): Define.
2985
2986 2009-01-05  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2987
2988         PR c/34911
2989         * c-common.c (handle_vector_size_attribute): Also reject
2990         BOOLEAN_TYPE types.
2991
2992 2009-01-05  Sebastian Pop  <sebastian.pop@amd.com>
2993
2994         PR tree-optimization/38492
2995         * graphite.c (rename_map_elt, debug_rename_elt,
2996         debug_rename_map_1, debug_rename_map, new_rename_map_elt,
2997         rename_map_elt_info, eq_rename_map_elts,
2998         get_new_name_from_old_name, bb_in_sese_p): Moved around.
2999         (sese_find_uses_to_rename_use): Renamed sese_build_livein_liveouts_use.
3000         (sese_find_uses_to_rename_bb): Renamed sese_build_livein_liveouts_bb.
3001         (sese_build_livein_liveouts): New.
3002         (new_sese, free_sese): New.
3003         (new_scop): Call new_sese.
3004         (free_scop): Call free_sese.
3005         (rename_variables_from_edge, rename_phis_end_scop): Removed.
3006         (register_old_new_names): Renamed register_old_and_new_names.
3007         (register_scop_liveout_renames, add_loop_exit_phis,
3008         insert_loop_close_phis, struct igp,
3009         default_liveout_before_guard, add_guard_exit_phis,
3010         insert_guard_phis, copy_renames): New.
3011         (translate_clast): Call insert_loop_close_phis and insert_guard_phis.
3012         (sese_add_exit_phis_edge): Renamed scop_add_exit_phis_edge.
3013         (rewrite_into_sese_closed_ssa): Renamed scop_insert_phis_for_liveouts.
3014         (scop_adjust_phis_for_liveouts): New.
3015         (gloog): Call scop_adjust_phis_for_liveouts.
3016
3017         * graphite.h (struct sese): Documented.  Added fields liveout,
3018         num_ver and livein.
3019         (SESE_LIVEOUT, SESE_LIVEIN, SESE_LIVEIN_VER, SESE_NUM_VER): New.
3020         (new_sese, free_sese, sese_build_livein_liveouts): Declared.
3021         (struct scop): Added field liveout_renames.
3022         (SCOP_LIVEOUT_RENAMES): New.
3023
3024 2009-01-05  Harsha Jagasia  <harsha.jagasia@amd.com>
3025
3026         PR tree-optimization/38510
3027         * graphite.c (recompute_all_dominators): Call mark_irreducible_loops.
3028         (translate_clast): Call recompute_all_dominators before
3029         graphite_verify.
3030         (gloog): Call recompute_all_dominators before graphite_verify.
3031
3032 2009-01-05  Harsha Jagasia  <harsha.jagasia@amd.com>
3033             Jan Sjodin  <jan.sjodin@amd.com>
3034
3035         PR tree-optimization/38500
3036         * graphite.c (create_sese_edges): Call fix_loop_structure after
3037         splitting blocks.
3038
3039 2009-01-05  Joel Sherrill  <joel.sherrill@oarcorp.com>
3040
3041         * config.gcc: Add m32r*-*-rtems*.
3042         * config/m32r/rtems.h: New file.
3043
3044 2009-01-05  Ben Elliston  <bje@au.ibm.com>
3045
3046         * Makefile.in (.po.gmo): Use mkinstalldirs, not test -d || mkdir.
3047         (.po.pox): Likewise.
3048         (po/gcc.pot): Likewise.
3049
3050 2009-01-04  David S. Miller  <davem@davemloft.net>
3051
3052         * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED_RTX): Delete.
3053         (STARTING_FRAME_OFFSET): Always set to zero.
3054
3055 2009-01-04  Richard Sandiford  <rdsandiford@googlemail.com>
3056
3057         * tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Add commentary.
3058         * tree-cfg.c (verify_gimple_assign_binary): Allow shifts of
3059         fixed-point types, and vectors of the same.
3060
3061 2009-01-04  Richard Sandiford  <rdsandiford@googlemail.com>
3062
3063         * config/mips/sync.md (*mb_barrier): Rename to...
3064         (*memory_barrier): ...this.
3065
3066 2009-01-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
3067
3068         * doc/extend.texi (Function Attributes): Move @cindex after @item
3069         for 'artificial' and 'flatten'. Fix grammar for 'externally_visible'
3070         and put in alphabetical order. Fix 'target' name and put in order.
3071         * doc/invoke.texi (-Wstrict-null-sentinel, -fipa-matrix-reorg): Fix
3072         typos.
3073
3074 2009-01-04  Uros Bizjak  <ubizjak@gmail.com>
3075
3076         * config/s390/s390.md (UNSPEC_MB): Rename from UNSPECV_MB.
3077         (memory_barrier): Expand as unspec instead of unspec_volatile.
3078         Remove mem:BLK from insn operands.  Use Pmode scratch register.
3079         (*memory_barrier): Define as unspec instead of unspec_volatile.
3080         Use (match_dup 0) as input operand.
3081
3082         * config/sparc/sparc.md (UNSPEC_MEMBAR): Rename from UNSPECV_MEMBAR.
3083         * config/sparc/sync.md (memory_barrier): Expand as unspec instead of
3084         unspec_volatile.  Remove mem:BLK from insn operands.  Use Pmode
3085         scratch register.  Remove operand 1.
3086         (*stbar): Define as unspec instead of unspec_volatile.
3087         Use (match_dup 0) as input operand, remove (const_int 8).
3088         (*membar): Define as unspec instead of unspec_volatile.
3089         Use (match_dup 0) as input operand, remove input operand 2.
3090
3091         * config/xtensa/xtensa.md (UNSPEC_MEMW): Rename from UNSPECV_MEMW.
3092         (memory_barrier): Expand as unspec instead of unspec_volatile.
3093         Remove mem:BLK from insn operands.  Use Pmode scratch register.
3094         (*memory_barrier): Define as unspec instead of unspec_volatile.
3095         Use (match_dup 0) as input operand.
3096
3097         * config/ia64/sync.md (memory_barrier): Redefine as expander pattern.
3098         Remove mem:BLK from insn operands.  Use Pmode scratch register.
3099         Set volatile flag on operand 0.
3100         (*memory_barrier): New insn pattern.
3101
3102         * config/rs6000/sync.md (memory_barrier): Remove mem:BLK from
3103         insn operands.
3104         (*memory_barrier): Use (match_dup 0) as input operand.
3105
3106         * config/mips/sync.md (memory_barrier): Redefine as expander pattern.
3107         Remove mem:BLK from insn operands.  Use Pmode scratch register.
3108         Set volatile flag on operand 0.
3109         (*mb_internal): New insn pattern.
3110
3111         * config/alpha/sync.md (*memory_barrier): Rename from *mb_internal.
3112
3113 2009-01-04  Steven Bosscher  <steven@gcc.gnu.org>
3114
3115         PR middle-end/38586
3116         * function.c (struct temp_slot): Move to the section of the file
3117         that deals with temp slots.  Remove field 'address'.
3118         (temp_slot_address_table): New hash table of address -> temp slot.
3119         (struct temp_slot_address_entry): New struct, items for the table.
3120         (temp_slot_address_compute_hash, temp_slot_address_hash,
3121         temp_slot_address_eq, insert_temp_slot_address): Support functions
3122         for the new table.
3123         (find_temp_slot_from_address): Rewrite to use the new hash table.
3124         (remove_unused_temp_slot_addresses): Remove addresses of temp
3125         slots that have been made available.
3126         (remove_unused_temp_slot_addresses_1): Call-back for htab_traverse,
3127         worker function for remove_unused_temp_slot_addresses.
3128         (assign_stack_temp_for_type): Don't clear the temp slot address list.
3129         Add the temp slot address to the address -> temp slot map.
3130         (update_temp_slot_address): Update via insert_temp_slot_address.
3131         (free_temp_slots): Call remove_unused_temp_slot_addresses.
3132         (pop_temp_slots): Likewise.
3133         (init_temp_slots): Allocate the address -> temp slot map, or empty
3134         the map if it is already allocated.
3135         (prepare_function_start): Initialize temp slot processing.
3136
3137 2009-01-04  Steven Bosscher  <steven@gcc.gnu.org>
3138
3139         PR middle-end/38584
3140         * cfgexpand.c (estimate_stack_frame_size): Simplify the estimate:
3141         Calculate the size of all stack vars assuming no packing of stack
3142         vars will happen, replacing a quadratic algorithm with a linear one.
3143
3144 2009-01-03  Jakub Jelinek  <jakub@redhat.com>
3145
3146         PR target/38707
3147         * expmed.c (store_bit_field_1): Don't modify op0 if movstrict insn
3148         can't be used.
3149
3150 2009-01-03  Diego Novillo  <dnovillo@google.com>
3151
3152         * doc/contrib.texi: Update contributions.
3153
3154 2009-01-03  Jakub Jelinek  <jakub@redhat.com>
3155
3156         PR c++/38705
3157         * builtins.c (fold_builtin_memory_op): Give up if either operand
3158         is volatile.  Set srctype or desttype to non-qualified version
3159         of the other type.
3160
3161         PR c/38700
3162         * builtins.c (fold_builtin_expect): Only check DECL_WEAK for VAR_DECLs
3163         and FUNCTION_DECLs.
3164
3165 2009-01-02  Kenneth Zadeck  <zadeck@naturalbridge.com>
3166
3167         PR rtl-optimization/35805
3168         * df-problems.c (df_lr_finalize): Add recursive call to resolve lr
3169         problem if fast dce is able to remove any instructions.
3170         * dce.c (dce_process_block): Fix dump message.
3171         
3172 2009-01-02  Mark Mitchell  <mark@codesourcery.com>
3173
3174         PR 33649
3175         * tree-ssa-pre.c (compute_antic): Correct loop bounds.
3176
3177 2009-01-02  Jakub Jelinek  <jakub@redhat.com>
3178
3179         PR middle-end/38690
3180         * tree-flow.h (op_code_prio, op_prio): New prototypes.
3181         * tree-pretty-print.c (op_code_prio): New function.
3182         (op_prio): No longer static.  Use op_code_prio.
3183         * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs):
3184         Use op_prio and op_code_prio to determine if () should be
3185         printed around operand(s) or not.
3186
3187         * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs,
3188         dump_gimple_call, dump_gimple_switch, dump_gimple_cond,
3189         dump_gimple_label, dump_gimple_try, dump_symbols, dump_gimple_phi,
3190         dump_gimple_mem_ops, dump_bb_header, dump_bb_end, pp_cfg_jump): Use
3191         pp_character instead of pp_string for single letter printing.
3192
3193 2009-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
3194
3195         * doc/extend.texi: Fix '#pragma GCC option' typo.
3196
3197 2009-01-02  Richard Guenther  <rguenther@suse.de>
3198
3199         * doc/install.texi (--enable-checking): Mention different
3200         default for stage1.
3201         (--enable-stage1-checking): Document.
3202
3203 2009-01-01  Andrew Pinski  <pinskia@gmail.com>
3204
3205         PR middle-end/30142
3206         * tree-cfg.c (verify_expr): Add INDIRECT_REF case.  Change MODIFY_EXPR
3207         case to be an error.
3208
3209 2009-01-02  Ben Elliston  <bje@au.ibm.com>
3210
3211         * config/fp-bit.h (pack_d): Constify argument.
3212         * config/fp-bit.c (makenan): Constify return type. Remove casts.
3213         (isnan): Constify argument.
3214         (isinf): Likewise.
3215         (iszero): Likewise.
3216         (pack_d): Likewise.
3217         (_fpadd_parts): Constify return type.
3218         (_fpmul_parts): Likewise.
3219         (_fpdiv_parts): Likewise.
3220
3221 2009-01-01  Jakub Jelinek  <jakub@redhat.com>
3222
3223         PR c/36489
3224         * c-typeck.c (add_pending_init): Add IMPLICIT argument.  Only
3225         warn about overwriting initializer with side-effects or
3226         -Woverride-init if !IMPLICIT.
3227         (output_init_element): Likewise.  Pass IMPLICIT down to
3228         add_pending_init.
3229         (process_init_element): Add IMPLICIT argument.  Pass it down
3230         to output_init_element.
3231         (push_init_element, pop_init_level, set_designator): Adjust
3232         process_init_element callers.
3233         (set_nonincremental_init, set_nonincremental_init_from_string):
3234         Adjust add_pending_init callers.
3235         (output_pending_init_elements): Adjust output_init_element callers.
3236         * c-tree.h (process_init_element): Adjust prototype.
3237         * c-parser.c (c_parser_initelt, c_parser_initval): Adjust
3238         process_init_element callers.