OSDN Git Service

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