OSDN Git Service

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