OSDN Git Service

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