OSDN Git Service

* gcc.c (ASM_DEBUG_SPEC): Check for -g0.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2009-02-12  Michael Matz  <matz@suse.de>
2
3         * gcc.c (ASM_DEBUG_SPEC): Check for -g0.
4
5 2009-02-12  Jakub Jelinek  <jakub@redhat.com>
6
7         * dwarf2out.c (dwarf2out_finish): Force output of comp_unit_die
8         for -g3.
9
10 2009-02-12  Ben Elliston  <bje@au.ibm.com>
11
12         * config/rs6000/rs6000.md (allocate_stack): Use _stack form of
13         patterns when updating the back chain.  Missed in the 2009-02-10
14         change.
15
16 2009-02-11  Janis Johnson  <janis187@us.ibm.com>
17
18         * doc/extend.texi (Decimal Floating Types): Update identifier of
19         draft TR and list of missing support.
20
21 2009-02-11  Jakub Jelinek  <jakub@redhat.com>
22
23         PR middle-end/39154
24         * gimplify.c (omp_notice_variable): If adding GOVD_SEEN
25         bit to variable length decl's flags, add it also to its
26         pointer replacement variable.
27
28 2009-02-11  Uros Bizjak  <ubizjak@gmail.com>
29             Jakub Jelinek  <jakub@redhat.com>
30
31         PR target/39118
32         * config/i386/i386.md (UNSPEC_MEMORY_BLOCKAGE): New constant.
33         (memory_blockage): New expander.
34         (*memory_blockage): New insn pattern.
35         * config/i386/i386.c (ix86_expand_prologue): Use memory_blockage
36         instead of general blockage at the end of function prologue when
37         frame pointer is used to access red zone area.  Do not emit blockage
38         when profiling, it is emitted in generic code.
39         (ix86_expand_epilogue): Emit memory_blockage at the beginning of
40         function epilogue when frame pointer is used to access red zone area.
41
42 2009-02-11  Paolo Bonzini  <bonzini@gnu.org>
43
44         * config/i386/i386.md: Add two new peephole2 to avoid mov followed
45         by arithmetic with memory operands.
46         * config/i386/predicates.md (commutative_operator): New.
47
48 2009-02-10  Janis Johnson  <janis187@us.ibm.com>
49
50         * doc/extend.texi (Fixed-Point Types): Break long paragraphs into
51         bulleted lists.
52
53 2009-02-10  Eric Botcazou  <ebotcazou@adacore.com>
54
55         * alias.h (record_alias_subset): Declare.
56         * alias.c (record_alias_subset): Make global.
57
58 2009-02-10  Nick Clifton  <nickc@redhat.com>
59
60         * tree-parloops.c: Change license to GPLv3.
61         * ipa-struct-reorg.c: Change license to GPLv3.
62         * ipa-struct-reorg.h: Change license to GPLv3.
63
64 2009-02-10  Steve Ellcey  <sje@cup.hp.com>
65
66         PR c/39084
67         * c-decl.c (start_struct): Return NULL on error.
68
69 2009-02-10  Jakub Jelinek  <jakub@redhat.com>
70
71         PR middle-end/39124
72         * cfgloopmanip.c (remove_path): Call remove_bbs after
73         cancel_loop_tree, not before it.
74
75         PR target/39139
76         * function.h (struct function): Add has_local_explicit_reg_vars bit.
77         * gimplify.c (gimplify_bind_expr): Set it if local DECL_HARD_REGISTER
78         VAR_DECLs were seen.
79         * tree-ssa-live.c (remove_unused_locals): Recompute
80         cfun->has_local_explicit_reg_vars.
81         * tree-ssa-sink.c (statement_sink_location): Don't sink BLKmode
82         copies or clearings if cfun->has_local_explicit_reg_vars.
83
84 2009-02-10  Uros Bizjak  <ubizjak@gmail.com>
85
86         PR target/39118
87         * config/i386/i386.c (expand_prologue): Emit blockage at the end
88         of function prologue when frame pointer is used to access
89         red zone area.
90
91 2009-02-10  Richard Guenther  <rguenther@suse.de>
92
93         PR middle-end/39127
94         * gimplify.c (gimple_regimplify_operands): Always look if
95         we need to create a temporary.
96
97 2009-02-10  Richard Guenther  <rguenther@suse.de>
98
99         PR tree-optimization/39132
100         * tree-loop-distribution.c (todo): New global var.
101         (generate_memset_zero): Trigger TODO_rebuild_alias.
102         (tree_loop_distribution): Return todo.
103
104 2009-02-10  H.J. Lu  <hongjiu.lu@intel.com>
105
106         PR target/39119
107         * config/i386/i386.c (x86_64_reg_class): Remove X86_64_AVX_CLASS.
108         (x86_64_reg_class_name): Removed.
109         (classify_argument): Return 0 if bytes > 32.  Return 0 if the
110         first one isn't X86_64_SSE_CLASS or any other ones aren't
111         X86_64_SSEUP_CLASS when size > 16bytes.  Don't turn
112         X86_64_SSEUP_CLASS into X86_64_SSE_CLASS if the preceded one
113         is X86_64_SSEUP_CLASS.  Set AVX modes to 1 X86_64_SSE_CLASS
114         and 3 X86_64_SSEUP_CLASS.
115         (construct_container): Remove X86_64_AVX_CLASS.  Handle 4
116         registers with 1 X86_64_SSE_CLASS and 3 X86_64_SSEUP_CLASS.
117
118 2009-02-10  Ben Elliston  <bje@au.ibm.com>
119
120         * config/rs6000/rs6000.md (allocate_stack): Always use an update
121         form instruction to update the stack back chain word, even if the
122         user has disabled the generation of update instructions.
123         (movdi_<mode>_update_stack): New.
124         (movsi_update_stack): Likewise.
125         * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Likewise,
126         always use an update form instruction to update the stack back
127         chain word.
128
129 2009-02-09  Sebastian Pop  <sebastian.pop@amd.com>
130
131         PR middle-end/38953
132         * graphite.c (if_region_set_false_region): After moving a region in
133         the false branch of a condition, remove the empty dummy basic block.
134         (gloog): Remove wrong fix for PR38953.
135
136 2009-02-09  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
137
138         * config/spu/spu.c (array_to_constant): Fix (latent) wrong-code
139         generation due to implicit sign extension.
140
141 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
142
143         PR middle-end/38981
144         * tree-ssa-coalesce.c (add_coalesce): Cap the costs of coalesce pairs
145         at MUST_COALESCE_COST-1 instead of MUST_COALESCE_COST.
146
147 2009-02-09  Richard Guenther  <rguenther@suse.de>
148
149         PR middle-end/35202
150         * convert.c (convert_to_real): Disable (float)fn((double)x)
151         to fnf(x) conversion if errno differences may occur and
152         -fmath-errno is set.
153
154 2009-02-07  Anatoly Sokolov  <aesok@post.ru>
155
156         * config/avr/avr.c (avr_mcu_t): Add ata6289 device.
157         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
158         * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
159
160 2009-02-06  Joseph Myers  <joseph@codesourcery.com>
161
162         PR c/35434
163         * c-common.c (handle_alias_attribute): Disallow attribute for
164         anything not a FUNCTION_DECL or VAR_DECL.
165
166 2009-02-06  Janis Johnson  <janis187@us.ibm.com>
167
168         PR c/39035
169         * real.c (do_compare): Special-case compare of zero against
170         decimal float value.
171
172 2009-02-06  Joseph Myers  <joseph@codesourcery.com>
173
174         PR c/36432
175         * c-decl.c (grokdeclarator): Don't treat [] declarators in fields
176         as indicating flexible array members unless the field itself is
177         being declarared as the incomplete array.
178
179 2009-02-06  Jan Hubicka  <jh@suse.cz>
180
181         PR tree-optimization/38844
182         * ipa-inline.c (try_inline): Stop inlining recursion when edge
183         is already inlined.
184
185 2009-02-06  Richard Guenther  <rguenther@suse.de>
186
187         PR middle-end/38977
188         * tree-cfg.c (need_fake_edge_p): Force a fake edge for
189         fork because we may expand it as __gcov_fork.
190
191 2009-02-06  Nick Clifton  <nickc@redhat.com>
192
193         * config/m32c/m32c.h (PCC_BITFIELD_TYPE_MATTERS): Define to zero.
194
195 2009-02-06  Paolo Bonzini  <bonzini@gnu.org>
196
197         PR tree-optimization/35659
198         * tree-ssa-sccvn.c (vn_constant_eq, vn_reference_eq, vn_nary_op_eq
199         vn_phi_eq): Shortcut if hashcode does not match.
200         (vn_reference_op_compute_hash): Do not call iterative_hash_expr for
201         NULL operands.
202         * tree-ssa-pre.c (pre_expr_hash): Look at hashcode if available,
203         and avoid iterative_hash_expr.
204         (FOR_EACH_VALUE_ID_IN_SET): New.
205         (value_id_compare): Remove.
206         (sorted_array_from_bitmap_set): Use FOR_EACH_VALUE_ID_IN_SET to
207         sort expressions by value id.
208
209 2009-02-05  Kaz Kojima  <kkojima@gcc.gnu.org>
210
211         PR target/38991
212         * config/sh/predicates.md (general_movsrc_operand): Don't check
213         the subreg of system registers here.
214
215 2009-02-05  Jakub Jelinek  <jakub@redhat.com>
216
217         PR c++/39106
218         * cgraphunit.c (cgraph_function_versioning): Clear also DECL_VIRTUAL_P
219         on the copied decl.
220
221 2009-02-05  Paolo Bonzini  <bonzini@gnu.org>
222
223         PR rtl-optimization/39110
224         * rtlanal.c (rtx_addr_can_trap_p_1): Shortcut unaligned
225         addresses, not aligned ones.
226
227 2009-02-05  Daniel Berlin  <dberlin@dberlin.org>
228             Richard Guenther  <rguenther@suse.de>
229
230         PR tree-optimization/39100
231         * tree-ssa-structalias.c (do_ds_constraint): Actually do what the
232         comment says and add edges.
233
234 2009-02-05  Joseph Myers  <joseph@codesourcery.com>
235
236         PR c/35435
237         * c-common.c (handle_tls_model_attribute): Ignore attribute for
238         non-VAR_DECLs without checking DECL_THREAD_LOCAL_P.
239
240 2009-02-04  Tobias Grosser  <grosser@fim.uni-passau.de> 
241
242         * graphite.c (bb_in_sese_p, sese_build_livein_liveouts_use,
243         sese_build_livein_liveouts_bb, sese_build_livein_liveouts,
244         register_bb_in_sese, new_sese, free_sese): Moved.
245         (dot_scop_1, build_scop_loop_nests, build_loop_iteration_domains,
246         outermost_loop_in_scop, build_scop_iteration_domain,
247         expand_scalar_variables_ssa_name, get_vdef_before_scop,
248         limit_scops): Use bb_in_sese_p instead of bb_in_scop_p.
249         Use loop_in_sese_p instead of loop_in_scop_p.
250         (new_graphite_bb, gloog): Do not initialize SCOP_BBS_B.
251         (new_scop, free_scop): Remove SCOP_LOOP2CLOOG_LOOP and SCOP_BBS_B.
252         (scopdet_basic_block_info): Fix bug in scop detection.
253         (new_loop_to_cloog_loop_str, hash_loop_to_cloog_loop,
254         eq_loop_to_cloog_loop): Remove.
255         (nb_loops_around_loop_in_scop, nb_loop
256         ref_nb_loops): Moved here...
257         * graphite.h (ref_nb_loops): ... from here.
258         (struct scop): Remove bbs_b bitmap and loop2cloog_loop.
259         (loop_domain_dim, loop_iteration_vector_dim): Remove.
260         (SCOP_BBS_B, bb_in_scop_p, loop_in_scop_p): Removed.
261         * testsuite/gcc.dg/graphite/scop-19.c: New
262
263 2009-02-04  Paolo Bonzini  <bonzini@gnu.org>
264             Hans-Peter Nilsson  <hp@axis.com>
265
266         PR rtl-optimization/37889
267         * rtlanal.c (rtx_addr_can_trap_p_1): Add offset and size arguments.
268         Move offset handling from PLUS to before the switch.  Use new
269         arguments when considering SYMBOL_REFs too.
270         (rtx_addr_can_trap_p): Pass dummy offset and size.
271         (enum may_trap_p_flags): Remove.
272         (may_trap_p_1): Pass size from MEM_SIZE.
273
274         PR rtl-optimization/38921
275         * loop-invariant.c (find_invariant_insn): Use may_trap_or_fault_p.
276         * rtl.h (may_trap_after_code_motion_p): Delete prototype.
277         * rtlanal.c (may_trap_after_code_motion_p): Delete.
278         (may_trap_p, may_trap_or_fault_p): Pass 0/1 as flags.
279
280 2009-02-04  H.J. Lu  <hongjiu.lu@intel.com>
281
282         AVX Programming Reference (January, 2009)
283         * config/i386/sse.md (*vpclmulqdq): New.
284
285 2009-02-04  Jakub Jelinek  <jakub@redhat.com>
286
287         PR tree-optimization/38977
288         PR gcov-profile/38292
289         * calls.c (special_function_p): Disregard __builtin_ prefix.
290
291 2009-02-04  Hariharan Sandanagobalane  <hariharan@picochip.com>
292
293         * config/picochip/picochip.c (GO_IF_LEGITIMATE_ADDRESS): Disallow
294         non-indexable addresses even before reload.
295
296 2009-02-03  Joseph Myers  <joseph@codesourcery.com>
297
298         PR c/29129
299         * c-decl.c (grokdeclarator): Mark [*] arrays in field declarators
300         as having variable size.  Do not give an error for unnamed
301         parameters with [*] declarators.  Give a warning for type names
302         with [*] declarators and mark them as variable size.
303         * c-parser.c (c_parser_sizeof_expression): Do not give an error
304         for sizeof applied to [*] type names.
305
306 2009-02-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
307
308         PR C++/36607
309         * convert.c (convert_to_integer): Treat OFFSET_TYPE like INTEGER_TYPE.
310
311 2009-02-03  Jakub Jelinek  <jakub@redhat.com>
312
313         * gcc.c (process_command): Update copyright notice dates.
314         * gcov.c (print_version): Likewise.
315         * gcov-dump.c (print_version): Likewise.
316         * mips-tfile.c (main): Likewise.
317         * mips-tdump.c (main): Likewise.
318
319 2009-02-03  Joseph Myers  <joseph@codesourcery.com>
320
321         PR c/35433
322         * c-typeck.c (composite_type): Set TYPE_SIZE and TYPE_SIZE_UNIT
323         for composite type involving a zero-length array type.
324
325 2009-02-03  Jakub Jelinek  <jakub@redhat.com>
326
327         PR target/35318
328         * function.c (match_asm_constraints_1): Skip over
329         initial optional % in the constraint.
330
331         PR inline-asm/39059
332         * c-parser.c (c_parser_postfix_expression): If fixed point is not
333         supported, don't accept FIXED_CSTs.
334         * c-decl.c (finish_declspecs): Error if fixed point is not supported
335         and _Sat is used without _Fract/_Accum.  Set specs->type to
336         integer_type_node for cts_fract/cts_accum if fixed point is not
337         supported.
338
339 2009-02-02  Catherine Moore  <clm@codesourcery.com>
340
341         * sde.h (SUBTARGET_ARM_SPEC): Don't assemble -fpic code as -mabicalls.
342
343 2009-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
344
345         * config/mips/mips.h (FILE_HAS_64BIT_SYMBOLS): New macro.
346         (ABI_HAS_64BIT_SYMBOLS): Use it.
347         (DWARF2_ADDR_SIZE): Use it instead of ABI_HAS_64BIT_SYMBOLS.
348
349 2009-02-02  Paul Brook  <paul@codesourcery.com>
350
351         * config/arm/arm.md (arm_addsi3): Add r/r/k alternative.
352
353 2009-02-02  Jakub Jelinek  <jakub@redhat.com>
354
355         PR inline-asm/39058
356         * recog.h (asm_operand_ok): Add constraints argument.
357         * recog.c (asm_operand_ok): Likewise.  If it is set, for digits
358         recurse on matching constraint.
359         (check_asm_operands): Pass constraints as 3rd argument to
360         asm_operand_ok.  Don't look up matching constraint here.
361         * stmt.c (expand_asm_operands): Pass NULL as 3rd argument
362         to asm_operand_ok.
363
364 2009-02-02  Ben Elliston  <bje@au.ibm.com>
365
366         * doc/tm.texi (Storage Layout): Fix TARGET_ALIGN_ANON_BITFIELD and
367         TARGET_NARROW_VOLATILE_BITFIELD macro names.
368
369 2009-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
370
371         * doc/install.texi (hppa*-hp-hpux*): Update binutils and linker
372         information.  Remove some obsolete information.  Reorganize.
373
374         * config/pa/fptr.c: Revert license to GPL 2.
375         * config/pa/milli64.S: Likewise.
376
377 2009-01-31  Dave Korn  <dave.korn.cygwin@gmail.com>
378
379         PR target/38904
380         * mkmap-flat.awk (END):  Use pe_dll command-line arg to pass
381         LIBRARY name in, instead of hard-coding it.
382         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*):  Add an
383         extra target make frag to tmake_files according to EH model.
384         (i[34567]86-*-mingw* | x86_64-*-mingw*):  Likewise.
385         * config/i386/t-dw2-eh, config/i386/t-sjlj-eh:  Add new target
386         frags that define makefile variable EH_MODEL appropriately.
387         * config/i386/cygming.h (DWARF2_UNWIND_INFO):  Add comment.
388         * config/i386/cygwin.h (LIBGCC_EH_EXTN):  Define to nothing or
389         to "-sjlj" according to type of EH configured.
390         (LIBGCC_SONAME):  Concatenate it to shared library base name.
391         * config/i386/mingw32.h (LIBGCC_EH_EXTN):  Define to "_dw2" or
392         to "_sjlj" according to type of EH configured.
393         (LIBGCC_SONAME):  Concatenate it to shared library base name.
394         * config/i386/t-cygming (SHLIB_SONAME):  Use EH_MODEL.
395         (SHLIB_LINK):  Add missing semicolon to if-else construct.
396         (SHLIB_MKMAP_OPTS):  Pass library name to mkmap-flat.awk as
397         string value of "pe_dll" command-line option.
398         * config/i386/t-cygwin (SHLIB_EH_EXTENSION):  New helper.
399         (SHLIB_SONAME):  Use it when overriding t-cygming default.
400         (SHLIB_IMPLIB):  Override t-cygming default.
401         (SHLIB_MKMAP_OPTS):  Pass library name to mkmap-flat.awk as
402         string value of "pe_dll" command-line option.
403
404 2009-01-31  Dave Korn  <dave.korn.cygwin@gmail.com>
405
406         PR target/38952
407         * config/i386/i386.c (ix86_builtin_setjmp_frame_value): New.
408         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Override default to point at it.
409
410 2009-01-31  Richard Guenther  <rguenther@suse.de>
411
412         PR tree-optimization/38937
413         * tree-ssa-structalias.c (do_sd_constraint): Do not shortcut
414         computing the transitive closure.
415
416 2009-01-30  Richard Guenther  <rguenther@suse.de>
417
418         PR tree-optimization/39041
419         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
420         Propagate variable indices only if the types match for this stmt.
421
422 2009-01-30  Jakub Jelinek  <jakub@redhat.com>
423
424         PR target/39013
425         * c-decl.c (pop_scope): Set DECL_EXTERNAL for functions declared
426         inline but never defined.
427
428 2009-01-30  Wolfgang Gellerich  <gellerich@de,ibm.com>
429
430         * config/s390/s390.md (*insv<mode>_reg_extimm): Removed.
431         (*insv_h_di_reg_extimm): New insn.
432         (*insv_l<mode>_reg_extimm): New insn.
433
434 2009-01-30  Hariharan Sandanagobalane  <hariharan@picochip.com>
435
436         * config/picochip/picochip.c (flag_conserve_stack): set
437         PARAM_LARGE_STACK_FRAME and PARAM_STACK_FRAME_GROWTH to zero under
438         fconserve-stack. Reduce call-overhead used by inliner.
439
440 2009-01-30  Hariharan Sandanagobalane  <hariharan@picochip.com>
441
442         PR/38157
443         * common.opt (flag_conserve_stack): Initialised to zero.
444
445 2009-01-30  Kai Tietz  <kai.tietz@onevision.com>
446
447         PR/39002
448         * config/i386/i386.c (ix86_can_use_return_insn_p): Check for nsseregs.
449         (ix86_expand_epilogue): Take nsseregs in account to use proper restore
450         method.
451
452 2009-01-29  H.J. Lu  <hongjiu.lu@intel.com>
453
454         * ira-color.c (allocno_reload_assign): Update comments.
455         * regmove.c (regmove_optimize): Likewise.
456
457         * ra.h: Removed.
458
459 2009-01-29  Robert Millan  <rmh@aybabtu.com>
460
461         * gcc/config.gcc: Recognize GNU/kOpenSolaris (*-*-kopensolaris*-gnu).
462         * gcc/config/i386/kopensolaris-gnu.h: New file.  Undefine
463         `MD_UNWIND_SUPPORT'.
464         * gcc/config/kopensolaris-gnu.h: New file (based on kfreebsd-gnu.h).
465
466 2009-01-29  Kazu Hirata  <kazu@codesourcery.com>
467
468         PR tree-optimization/39007
469         * tree-loop-distribution.c (generate_builtin): Use
470         recompute_dominator to compute the immediate dominator of the
471         basic block just after the loop.
472
473 2008-01-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
474
475         * config/i386/sol2-10.h [!HAVE_AS_IX86_DIFF_SECT_DELTA]
476         (ASM_OUTPUT_DWARF_PCREL): Define.
477
478 2008-01-29  Vladimir Makarov  <vmakarov@redhat.com>
479
480         * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
481         * doc/passes.texi: Remove entries about regclass, local-alloc, and
482         global.  Modify entries about regmove and IRA.
483
484         * ra-conflict.c: Remove the file.
485
486         * reload.c (push_reload, find_dummy_reload): Remove flag_ira.
487
488         * tree-pass.h (pass_local_alloc, pass_global_alloc): Remove.
489         (pass_regclass_init): Rename to pass_reginfo_init.
490
491         * cfgloopanal.c (estimate_reg_pressure_cost): Remove flag_ira.
492
493         * toplev.h (flag_ira): Remove.
494
495         * caller-save.c (setup_save_areas): Remove flag_ira.
496
497         * ira-color.c (ira_reuse_stack_slot, ira_mark_new_stack_slot): Ditto.
498
499         * global.c: Remove the file.
500
501         * opts.c: (decode_options): Remove flag_ira.
502
503         * hard-reg-set.h (losing_caller_save_reg_set): Remove.
504
505         * regmove.c: Modify file description.
506         (find_use_as_address, try_auto_increment): Define them only if
507         AUTO_INC_DEC is defined.
508         (replacement_quality, replace_in_call_usage, fixup_match_1,
509         stable_and_no_regs_but_for_p): Remove.
510         (reg_set_in_bb): Make it static.
511         (regmove_optimize): Remove flag_ira and code which worked for
512         !flag_ira.
513
514         * local-alloc.c: Remove the file.
515
516         * common.opt (fira): Remove.
517
518         * ira.c: Include except.h.
519         (eliminable_regset): Move from global.c.
520         (mark_elimination): Ditto.  Remove flag_ira.
521         (reg_renumber, struct equivalence, reg_equiv, equiv_mem,
522         equiv_mem_modified, validate_equiv_mem_from_store,
523         validate_equiv_mem, equiv_init_varies_p, equiv_init_movable_p,
524         contains_replace_regs, memref_referenced_p, memref_used_between_p,
525         no_equiv, recorded_label_ref): Move from local-alloc.c.
526         (update_equiv_regs): Ditto.  Make it static.
527         (print_insn_chain, print_insn_chains): Move it from global.c.
528         (pseudo_for_reload_consideration_p): Ditto.  Remove flag_ira.
529         (build_insn_chain): Ditto.  Make it static.
530         (ra_init_live_subregs): Move from ra-conflict.c.  Make it static.
531         Rename to init_live_subregs.
532         (gate_ira): Remove flag_ira.
533
534         * regclass.c: Rename reginfo.c.  Change file description.
535         (FORBIDDEN_INC_DEC_CLASSES): Remove.
536         (reg_class_superclasses, forbidden_inc_dec_class, in_inc_dec): Remove.
537         (init_reg_sets_1): Remove code for evaluation of
538         reg_class_superclasses and losing_caller_save_reg_set.
539         (init_regs): Remove init_reg_autoinc.
540         (struct costs, costs, init_cost, ok_for_index_p_nonstrict,
541         ok_for_base_p_nonstrict): Remove.
542         (regclass_init): Rename to reginfo_init.  Don't initialize init_cost.
543         (pass_regclass_init): Rename to pass_reginfo_init.  Modify
544         corresponding entries.
545         (dump_regclass, record_operand_costs, scan_one_insn,
546         init_reg_autoinc, regclass, record_reg_classes, copy_cost,
547         record_address_regs, auto_inc_dec_reg_p): Remove.
548         (gt-regclass.h): Rename to gt-reginfo.h.
549
550         * rtl.h (dump_global_regs, retry_global_alloc,
551         build_insn_chain, dump_local_alloc, update_equiv_regs): Remove.
552
553         * Makefile.in (RA_H): Remove.
554         (OBJS-common): Remove global.o, local-alloc.o, and ra-conflict.o.
555         Rename regclass.o to reginfo.o.
556         (regclass.o): Rename to reginfo.o.  Rename gt-regclass.h to
557         gt-reginfo.h.
558         (global.o, local-alloc.o, ra-conflict.o): Remove entries.
559         (GTFILES): Rename regclass.c to reginfo.c.
560
561         * passes.c (init_optimization_passes): Remove pass_local_alloc and
562         pass_global_alloc.  Rename pass_regclass_init to pass_reginfo_init.
563
564         * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
565         count_spilled_pseudo, find_reg, alter_reg, delete_output_reload):
566         Remove flag_ira.
567         (finish_spills): Ditto.  Remove code for !flga_ira.
568         
569 2009-01-29  Kenneth Zadeck  <zadeck@naturalbridge.com>
570
571         PR middle-end/35854
572         * doc/invoke.texi (rtl debug options): Complete rewrite.
573         * auto-inc-dec.c (pass_inc_dec): Rename pass from "auto-inc-dec"
574         to auto_inc_dec".
575         * mode-switching.c (pass_mode_switching): Rename pass from
576         "mode-sw" to "mode_sw".
577         * except.c (pass_convert_to_eh_ranges): Rename pass from
578         "eh-ranges" to "eh_ranges".
579         * lower-subreg.c (pass_lower_subreg): Renamed pass from "subreg"
580         to "subreg1".
581                 
582         
583 2009-01-29  Andrey Belevantsev  <abel@ispras.ru>
584             Alexander Monakov  <amonakov@ispras.ru>
585
586         PR middle-end/38857
587         * sel-sched.c (count_occurrences_1): Check that *cur_rtx is a hard
588         register.
589         (move_exprs_to_boundary): Change return type and pass through
590         should_move from move_op.  Relax assert.  Update usage ...
591         (schedule_expr_on_boundary): ... here.  Use should_move instead of
592         cant_move.
593         (move_op_orig_expr_found): Indicate that insn was disconnected from
594         stream.
595         (code_motion_process_successors): Do not call after_merge_succs
596         callback if original expression was not found when traversing any of
597         the branches.
598         (code_motion_path_driver): Change return type.  Update prototype.
599         (move_op): Update comment.  Add a new parameter (should_move).  Update
600         prototype.  Set *should_move based on indication provided by
601         move_op_orig_expr_found.
602
603 2009-01-28  Pat Haugen  <pthaugen@us.ibm.com>
604
605         * doc/invoke.texi (avoid-indexed-addresses): Document new option.
606         * config/rs6000/rs6000-protos.h (avoiding_indexed_address_p): Declare.
607         * config/rs6000/rs6000.opt (avoid-indexed-addresses): New option.
608         * config/rs6000/rs6000.c (rs6000_override_options): Default
609         avoid-indexed-addresses on for Power6, off for everything else.
610         (avoiding_indexed_address_p): New function.
611         (rs6000_legitimize_address): Use it.
612         (rs6000_legitimate_address): Likewise.
613         * config/rs6000/rs6000.md (movXX_updateX): Likewise
614
615 2009-01-28  Kazu Hirata  <kazu@codesourcery.com>
616
617         PR tree-optimization/38997
618         * tree-loop-distribution.c (generate_memset_zero): Use
619         POINTER_PLUS_EXPR for a pointer addition.
620
621 2009-01-28  Andreas Krebbel  <krebbel1@de.ibm.com>
622
623         * config/s390/s390.md (bswap<mode>2): New pattern added.
624
625 2009-01-28  Wolfgang Gellerich  <gellerich@de.ibm.com>
626
627         * config/s390/s390.md (*tls_load_31): Added type attribute.
628
629 2009-01-28  Wolfgang Gellerich  <gellerich@de.ibm.com>
630
631         * config/s390/s390.md: Fix a few comments.
632
633 2009-01-28  Wolfgang Gellerich  <gellerich@de.ibm.com>
634
635         * config/s390/s390.md (*tmsi_reg): Fixed z10prop attribute.
636         (*tm<mode>_full): Fixed z10prop attribute.
637         (*tst<mode>_extimm): Fixed z10prop attribute.
638         (*tst<mode>_cconly_extimm): Fixed z10prop attribute.
639         (*tstqiCCT_cconly): Fixed z10prop attribute.
640         (*cmpsi_ccu_zerohi_rlsi): Fixed z10prop attribute.
641         (*movsi_larl): Fixed z10prop attribute.
642         (*movsi_zarch): Fixed z10prop attribute.
643         (*movsi_eas): Fixed z10prop attribute.
644         (*movhi): Fixed z10prop attribute.
645         (*movqi): Fixed z10prop attribute.
646         (*movstrictqi): Fixed z10prop attribute.
647         (*mov<mode>): Fixed z10prop attribute.
648         (*movcc): Fixed z10prop attribute.
649         (*sethighpartdi_64): Fixed z10prop attribute.
650         (*zero_extendhi<mode>2_z10): Fixed z10prop attribute.
651         (*negdi2_sign_cc): Fixed z10prop attribute.
652         (*negdi2_sign): Fixed z10prop attribute.
653         (*absdi2_sign_cc): Fixed z10prop attribute.
654         (*absdi2_sign): Fixed z10prop attribute.
655         (*negabsdi2_sign_cc): Fixed z10prop attribute.
656         (*negabsdi2_sign): Fixed z10prop attribute.
657         (*cmp_and_trap_signed_int<mode>): Fixed z10prop attribute.
658         (*cmp_and_trap_unsigned_int<mode>): Fixed z10prop attribute.
659         (doloop_si64): Fixed z10prop attribute.
660         (doloop_si31): Fixed z10prop attribute.
661         (doloop_long): Fixed z10prop attribute.
662         (indirect_jump): Fixed z10prop attribute.
663         (nop): Fixed z10prop attribute.
664         (main_base_64): Fixed z10prop attribute.
665         (reload_base_64): Fixed z10prop attribute.
666
667 2009-01-28  Jakub Jelinek  <jakub@redhat.com>
668
669         PR rtl-optimization/38740
670         * reorg.c (gate_handle_delay_slots): Avoid dbr scheduling if !optimize.
671         * config/mips/mips.c (mips_reorg): Likewise.
672
673 2009-01-28  Richard Guenther  <rguenther@suse.de>
674
675         PR tree-optimization/38926
676         * tree-ssa-pre.c (add_to_value): Assert we add only expressions
677         with the correct value id to a value.
678         (do_regular_insertion): Use the value number of edoubleprime
679         for the value number of the expr.
680
681         Revert
682         2008-08-21  Richard Guenther  <rguenther@suse.de>
683
684         * tree-ssa-pre.c (insert_into_preds_of_block): Before inserting
685         a PHI ask VN if it is already available.
686         * tree-ssa-sccvn.h (vn_phi_lookup): Declare.
687         * tree-ssa-sccvn.c (vn_phi_lookup): Export.
688
689 2009-01-28  Jakub Jelinek  <jakub@redhat.com>
690
691         PR middle-end/38934
692         * tree-vrp.c (extract_range_from_assert): For LE_EXPR and LT_EXPR
693         set to varying whenever max has TREE_OVERFLOW set, similarly
694         for GE_EXPR and GT_EXPR and TREE_OVERFLOW min.
695
696 2009-01-28  Richard Guenther  <rguenther@suse.de>
697
698         PR middle-end/38908
699         * tree-ssa.c (warn_uninitialized_var): Do not warn for seemingly
700         uninitialized aggregate uses in call arguments.
701
702 2009-01-28  Paolo Bonzini  <bonzini@gnu.org>
703
704         PR tree-optimization/38984
705         * tree-ssa-structalias.c (get_constraints_for_1): Do not use
706         the nothing_id variable if -fno-delete-null-pointer-checks.
707
708 2009-01-28  Uros Bizjak  <ubizjak@gmail.com>
709
710         PR target/38988
711         * config/i386/i386.md (set_rip_rex64): Wrap operand 1 in label_ref.
712         (set_got_offset_rex64): Ditto.
713
714 2009-01-27  H.J. Lu  <hongjiu.lu@intel.com>
715
716         PR target/38941
717         * doc/extend.texi: Improve local variable with asm reg.
718
719 2009-01-27  Adam Nemet  <anemet@caviumnetworks.com>
720
721         * c.opt (Wpacked-bitfield-compat): Change init value to -1.
722         * c-opts.c (c_common_post_options): If -W*packed-bitfield-compat
723         was not supplied then set warn_packed_bitfield_compat to the
724         default value of 1.
725         * stor-layout.c (place_field): Check warn_packed_bitfield_compat
726         against 1.
727
728 2009-01-27  Richard Guenther  <rguenther@suse.de>
729
730         PR tree-optimization/38503
731         * cfgexpand.c (expand_gimple_basic_block): Ignore
732         GIMPLE_CHANGE_DYNAMIC_TYPE during expansion.
733         * tree-ssa-structalias.c (set_uids_in_ptset): Do not prune
734         variables that cannot have TBAA applied.
735         (compute_points_to_sets): Do not remove GIMPLE_CHANGE_DYNAMIC_TYPE
736         statements.
737
738 2009-01-27  Uros Bizjak  <ubizjak@gmail.com>
739
740         PR middle-end/38969
741         * calls.c (initialize_argument_information): Do not wrap complex
742         arguments in SAVE_EXPR.
743
744 2009-01-26  Andreas Tobler  <a.tobler@schweiz.org>
745
746         * config/t-vxworks (LIBGCC2_INCLUDES): Fix typo.
747         (INSTALL_LIBGCC): Revert typo commit.
748
749 2009-01-26  Richard Guenther  <rguenther@suse.de>
750
751         PR tree-optimization/38745
752         * tree-ssa-alias.c (update_alias_info_1): Exclude RESULT_DECL
753         from special handling.
754
755 2009-01-26  Richard Guenther  <rguenther@suse.de>
756
757         PR tree-optimization/38745
758         * tree-ssa.c (execute_update_addresses_taken): Do not include
759         variables that cannot possibly be a register in not_reg_needs.
760         Do not clear TREE_ADDRESSABLE on vars that may not become
761         registers.
762         * tree-ssa.c (update_alias_info_1): Include those in the set
763         of addressable vars.
764
765 2009-01-26  Richard Guenther  <rguenther@suse.de>
766
767         PR middle-end/38851
768         * Makefile.in (tree-ssa-dse.o): Add langhooks.h.
769         * tree-ssa-dse.c: Include langhooks.h
770         (execute_simple_dse): Remove stores with zero size.
771
772 2009-01-24  Jakub Jelinek  <jakub@redhat.com>
773
774         PR c/38957
775         * c-typeck.c (c_finish_return): Handle POINTER_PLUS_EXPR the same way
776         as PLUS_EXPR.
777
778 2009-01-24  Julian Brown  <julian@codesourcery.com>
779
780         * config/arm/t-linux-eabi (LIB2FUNCS_STATIC_EXTRA): Add
781         config/arm/linux-atomic.c.
782         * config/arm/linux-atomic.c: New.
783
784 2009-01-24  Eric Botcazou  <ebotcazou@adacore.com>
785
786         * config/sparc/linux.h (DBX_REGISTER_NUMBER): Delete.
787         * config/sparc/linux64.h (DBX_REGISTER_NUMBER): Likewise.
788         * config/sparc/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
789
790 2009-01-24  H.J. Lu  <hongjiu.lu@intel.com>
791
792         PR c/38938
793         * c-opts.c (c_common_handle_option): Update warn_pointer_sign
794         properly.
795
796 2009-01-24  Sebastian Pop  <sebastian.pop@amd.com>
797
798         PR tree-optimization/38953
799         * graphite.c (graphite_verify): Add a call to verify_loop_closed_ssa.
800         (scop_adjust_phis_for_liveouts): Initialize false_i to zero.
801         (gloog): Split the exit of the scop when the scop exit is a loop exit.
802         (graphite_transform_loops): Only call cleanup_tree_cfg if gloog
803         changed the CFG.
804
805 2009-01-24  Paul Brook  <paul@codesourcery.com>
806
807         * config/arm/neon.md (neon_type): Move to arm.md.
808         (neon_mov<VSTRUCT>): Add neon_type attribute.
809         * config/arm/arm.md (neon_type): Move to here.
810         (conds): Add "unconditioal" and use as default for NEON insns.
811
812 2009-01-24  Ben Elliston  <bje@au.ibm.com>
813
814         * bitmap.h (BITMAP_FREE): Eliminate `implicit conversion from
815         void *' warning from -Wc++-compat.
816         * Makefile.in (dominance.o-warn): Remove.
817
818 2008-01-23  Paolo Bonzini  <bonzini@gnu.org>
819
820         PR tree-optimization/38932
821         * fold-const.c (fold_unary_ignore_overflow): New.
822         * tree.h (fold_unary_ignore_overflow): Declare.
823         * tree-ssa-ccp.c (ccp_fold): Use fold_unary_ignore_overflow.
824         * tree-ssa-sccvn.c (visit_reference_op_load,
825         simplify_unary_expression): Likewise.
826
827 2009-01-22  Adam Nemet  <anemet@caviumnetworks.com>
828
829         * c-decl.c (finish_struct): Move code to set DECL_PACKED after
830         DECL_BIT_FIELD is alreay known.  Also inherit packed for bitfields
831         regardless of their type.
832         * c-common.c (handle_packed_attribute): Don't ignore packed on
833         bitfields.
834         * c.opt (Wpacked-bitfield-compat): New warning option.
835         * stor-layout.c (place_field): Warn if offset of a field changed.
836         * doc/extend.texi (packed): Mention the ABI change.
837         * doc/invoke.texi (-Wpacked-bitfield-compat): Document.
838         (Warning Options): Add it to the list.
839
840 2009-01-22  H.J. Lu  <hongjiu.lu@intel.com>
841
842         * c-opts.c (c_common_post_options): Fix a typo in comments.
843
844 2009-01-22  Steve Ellcey  <sje@cup.hp.com>
845
846         PR middle-end/38615
847         * gimplify.c (gimplify_init_constructor): Fix promotion of const
848         variables to static.
849         * doc/invoke.texi (-fmerge-all-constants): Update description.
850
851 2009-01-22  Uros Bizjak  <ubizjak@gmail.com>
852
853         PR target/38931
854         * config/i386/i386.md (*movsi_1): Use type "mmx" for alternative 2.
855         (*movdi_1_rex64): Use type "mmx" for alternative 5.
856
857 2009-01-22  Richard Earnshaw  <rearnsha@arm.com>
858
859         * arm.h (DATA_ALIGNMENT): Align structures, unions and arrays to
860         a word boundary.
861         (LOCAL_ALIGNMENT): Similarly.
862
863 2009-01-22  Mark Shinwell  <shinwell@codesourcery.com>
864             Joseph Myers  <joseph@codesourcery.com>
865
866         * config/arm/arm.c (all_architectures): Add iWMMXt2 entry.
867         * config/arm/arm-cores.def: New ARM_CORE entry for iWMMXt2.
868         * config/arm/arm-tune.md: Regenerate.
869         * doc/invoke.texi (ARM Options): Document -mcpu=iwmmxt2 and
870         -march=iwmmxt2.
871
872 2009-01-22  Mark Shinwell  <shinwell@codesourcery.com>
873
874         * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Bump EABI
875         version number to five.
876
877 2009-01-22  Dodji Seketeli  <dodji@redhat.com>
878
879         PR c++/38930
880         * c-decl.c: (clone_underlying_type): Revert PR c++/26693 changes.
881         * c-common.c (set_underlying_type): Likewise.
882         (is_typedef_decl ): Likewise
883         * tree.h: Likewise
884         (set_underlying_type): Likewise.
885         (is_typedef_type): Likewise.
886
887 2009-01-21  Vladimir Makarov  <vmakarov@redhat.com>
888
889         PR middle-end/38587
890         * ira-color.c (coalesce_spill_slots): Don't coalesce allocnos
891         crossing setjmps.
892
893 2009-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
894
895         PR bootstrap/37660
896         * config/i386/cygwin.h (SHARED_LIBGCC_SPEC):  New helper macro.
897         (LIBGCC_SPEC):  Don't define.
898         (REAL_LIBGCC_SPEC):  Define instead, using SHARED_LIBGCC_SPEC.
899
900 2009-01-21  Uros Bizjak  <ubizjak@gmail.com>
901
902         PR rtl-optimization/38879
903         * alias.c (base_alias_check): Unaligned access via AND address can
904         alias all surrounding object types except those with sizes equal
905         or wider than the size of unaligned access.
906
907 2009-01-21  Dodji Seketeli  <dodji@redhat.com>
908
909         PR c++/26693
910         * c-decl.c: (clone_underlying_type): Move this ...
911         * c-common.c (set_underlying_type): ... here.
912         Also, make sure the function properly sets TYPE_STUB_DECL() on
913         the newly created typedef variant type.
914         (is_typedef_decl ): New entry point.
915         * tree.h: Added a new member member_types_needing_access_check to
916         struct tree_decl_non_common.
917         (set_underlying_type): New entry point.
918         (is_typedef_type): Likewise.
919
920 2009-01-21  Bingfeng Mei  <bmei@broadcom.com>
921
922         * alias.c (walk_mems_1, walk_mems_2, insn_alias_sets_conflict_p):
923         Check whether two instructions have memory references that
924         belong to conflicting alias sets.  walk_mems_1 and walk_mems_2
925         are helper functions for traversing.
926         * alias.h (insn_alias_sets_confilict_p): New prototypes.
927         * ddg.c (add_inter_loop_mem_dep): Call insn_alias_sets_conflict_p
928         not to draw dependency edge for instructions with non-conflicting
929         alias sets.
930
931 2009-01-20  Joseph Myers  <joseph@codesourcery.com>
932
933         PR other/38758
934         * longlong.h: Update copyright years.  Use soft-fp license
935         notice.  Sync __clz_tab declaration with glibc.
936
937 2009-01-20  Steve Ellcey  <sje@cup.hp.com>
938
939         PR target/30687
940         * doc/extend.texi (syscall_linkage): New.
941         (version_id): Modify.
942
943 2009-01-20  Andrew Pinski  <andrew_pinski@playstation.sony.com>
944             Richard Guenther  <rguenther@suse.de>
945
946         PR tree-optimization/38747
947         PR tree-optimization/38748
948         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Disable the VCE
949         conversion if the base address is an indirect reference and the
950         aliasing sets could cause issues.
951
952 2009-01-20  Sebastian Pop  <sebastian.pop@amd.com>
953
954         * common.opt (fgraphite, fgraphite-identity): Add comment for 
955         explaining why these options are not documented.
956
957 2009-01-20  Sebastian Pop  <sebastian.pop@amd.com>
958
959         * graphite.c (stmt_simple_for_scop_p): Also handle cases when
960         gimple_call_lhs is NULL.
961
962 2008-01-20  Paolo Bonzini  <bonzini@gnu.org>
963
964         PR target/38868
965         * emit-rtl.c (adjust_address_1): Make sure memref is never
966         overwritten.
967
968 2009-01-20  Ben Elliston  <bje@au.ibm.com>
969
970         * libgcov.c (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
971         const qualifier from arg parameter. Remove unnecessary cast to char *.
972         * gcov-io.h (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
973         const qualifier from arg 2.
974
975 2009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
976
977         * config/darwin.h: Add static-libgfortran to LINK_SPEC.
978
979 2009-01-19  Vladimir Makarov  <vmakarov@redhat.com>
980
981         PR c/38869
982         * rtl.h (reinit_regs): New prototype.
983         * regclass.c: Include ira.h.
984         (reinit_regs): New.
985         * Makefile.in (regclass.o): Add ira.h.
986         * config/i386/i386.c (ix86_maybe_switch_abi): Use reinit_regs.
987
988 2009-01-18  H.J. Lu  <hongjiu.lu@intel.com>
989
990         PR target/38736
991         * c-common.c (handle_aligned_attribute): Use
992         ATTRIBUTE_ALIGNED_VALUE instead of BIGGEST_ALIGNMENT for
993         default alignment value.
994
995         * c-cppbuiltin.c (c_cpp_builtins): Define __BIGGEST_ALIGNMENT__.
996
997         * defaults.h (ATTRIBUTE_ALIGNED_VALUE): New.
998         * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Likewise.
999
1000         * doc/extend.texi: Update __attribute__ ((aligned)).  Document
1001         __BIGGEST_ALIGNMENT__.
1002
1003         * doc/tm.texi: Document ATTRIBUTE_ALIGNED_VALUE.
1004
1005 2009-01-18  Richard Guenther  <rguenther@suse.de>
1006
1007         PR tree-optimization/38819
1008         * tree-flow.h (operation_could_trap_helper_p): Declare.
1009         * tree-eh.c (operation_could_trap_helper_p): Export.
1010         * tree-ssa-sccvn.h (vn_nary_may_trap): Declare.
1011         * tree-ssa-sccvn.c (vn_nary_may_trap): New function.
1012         * tree-ssa-pre.c (insert_into_preds_of_block): Check if we
1013         are about to insert a possibly trapping instruction and fail
1014         in this case.
1015
1016 2009-01-18  Andreas Schwab  <schwab@suse.de>
1017
1018         * doc/install.texi (Configuration): Remove obsolete paragraph
1019         about use of --with-gnu-ld with --with-gnu-as.
1020
1021 2009-01-18  Kazu Hirata  <kazu@codesourcery.com>
1022
1023         * doc/extend.texi, doc/gimple.texi, doc/invoke.texi,
1024         doc/md.texi, doc/sourcebuild.texi, doc/tm.texi: Fix typos.
1025         Follow spelling conventions.
1026
1027 2009-01-18  Ben Elliston  <bje@au.ibm.com>
1028
1029         * bitmap.c (bitmap_obstack_alloc_stat): Adjust cast to eliminate
1030         C++ warning about implicit conversion from void * to struct
1031         bitmap_head_def *.
1032         (bitmap_obstack_free): Likewise for bitmap_element *.
1033         * Makefile.in (bitmap.o-warn): Remove.
1034
1035 2009-01-17  Dave Korn  <dave.korn.cygwin@gmail.com>
1036
1037         * Makefile.in (BACKENDLIBS):  Reorder to match dependencies.
1038
1039 2009-01-17  Sebastian Pop  <sebastian.pop@amd.com>
1040             Tobias Grosser  <tobi.grosser@amd.com>
1041
1042         * graphite.c (graphite_trans_scop_block): Do not block single
1043         nested loops.
1044
1045 2009-01-16  Alexandre Oliva  <aoliva@redhat.com>
1046
1047         * ebitmap.h (ebitmap_iter_init): Initialize all fields.
1048         * ipa-struct-reorg.c (gen_struct_type): Replace known-true
1049         test with assertion.
1050
1051 2009-01-16  Richard Guenther  <rguenther@suse.de>
1052
1053         PR tree-optimization/38835
1054         PR middle-end/36227
1055         * fold-const.c (fold_binary): Remove PTR + INT -> (INT)(PTR p+ INT)
1056         and INT + PTR -> (INT)(PTR p+ INT) folding.
1057         * tree-ssa-address.c (create_mem_ref): Properly use POINTER_PLUS_EXPR.
1058
1059 2009-01-16  Adam Nemet  <anemet@caviumnetworks.com>
1060
1061         PR target/38554
1062         * expmed.c (expand_shift): With SHIFT_COUNT_TRUNCATED, don't lift
1063         the subreg from a lowpart subreg if it is also casting the value.
1064
1065 2009-01-16  Sebastian Pop  <sebastian.pop@amd.com>
1066             Tobias Grosser  <tobi.grosser@amd.com>
1067
1068         * graphite.c (compare_prefix_loops): New.
1069         (build_scop_canonical_schedules): Rewritten.
1070         (graphite_transform_loops): Move build_scop_canonical_schedules
1071         after build_scop_iteration_domain.
1072
1073 2009-01-16  Sebastian Pop  <sebastian.pop@amd.com>
1074             Tobias Grosser  <tobi.grosser@amd.com>
1075
1076         * graphite.c (add_conditions_to_domain): Add the loops to 
1077         the dimension of the iteration domain.  Do copy the domain
1078         only when it exists.
1079         (build_scop_conditions_1): Do not call add_conditions_to_domain.
1080         (add_conditions_to_constraints): New.
1081         (can_generate_code_stmt, can_generate_code): Removed.
1082         (gloog): Do not call can_generate_code.
1083         (graphite_transform_loops): Call add_conditions_to_constraints
1084         after building the iteration domain.
1085
1086 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
1087
1088         PR tree-optimization/38789
1089         * tree-ssa-threadedge.c
1090         (record_temporary_equivalences_from_stmts_at_dest): Ignore calls to
1091         __builtin_constant_p.
1092
1093 2009-01-16  Kenneth Zadeck  <zadeck@naturalbridge.com>
1094
1095         * dce.c (delete_unmarked_insns): Reversed the order that insns are
1096         examined before deleting them.
1097         
1098 2009-01-16  Richard Earnshaw  <rearnsha@arm.com>
1099
1100         * function.c (aggregate_value_p): Correctly extract the function
1101         type from CALL_EXPR_FN lookup.
1102
1103 2009-01-16  Hariharan Sandanagobalane  <hariharan@picochip.com>
1104
1105         * config/picochip/picochip.c (picochip_override_options): Revert
1106         CFI asm flag disable commited previously.
1107
1108 2009-01-15  Sebastian Pop  <sebastian.pop@amd.com>
1109             Tobias Grosser  <tobi.grosser@amd.com>
1110             Jan Sjodin  <jan.sjodin@amd.com>
1111
1112         * graphite.c (scan_tree_for_params): On substractions negate
1113         all the coefficients of the term.
1114         (clast_to_gcc_expression_red): New.  Handle reduction expressions
1115         of more than two operands.
1116         (clast_to_gcc_expression): Call clast_to_gcc_expression_red.
1117         (get_vdef_before_scop): Handle also the case of default definitions.
1118
1119 2009-01-15  Richard Sandiford  <rdsandiford@googlemail.com>
1120
1121         * caller-save.c (add_used_regs_1, add_used_regs): New functions.
1122         (insert_one_insn): Use them instead of REG_DEAD and REG_INC notes.
1123         Also use them when walking CALL_INSN_FUNCTION_USAGE.
1124
1125 2009-01-15  H.J. Lu  <hongjiu.lu@intel.com>
1126             Joey Ye  <joey.ye@intel.com>
1127
1128         PR middle-end/37843
1129         * cfgexpand.c (expand_stack_alignment): Don't update stack
1130         boundary nor check incoming stack boundary here.
1131         (gimple_expand_cfg): Update stack boundary and check incoming
1132         stack boundary here.
1133
1134 2009-01-15  Kenneth Zadeck  <zadeck@naturalbridge.com>
1135
1136         * dce.c (find_call_stack_args, delete_unmarked_insns): Fixed comments.
1137         
1138 2009-01-14  Jakub Jelinek  <jakub@redhat.com>
1139
1140         PR rtl-optimization/38245
1141         * calls.c (expand_call): Add stack arguments to
1142         CALL_INSN_FUNCTION_USAGE even for pure calls (when
1143         ACCUMULATE_OUTGOING_ARGS) and even for args partially passed
1144         in regs and partially in memory or BLKmode arguments.
1145         (emit_library_call_value_1): Add stack arguments to
1146         CALL_INSN_FUNCTION_USAGE even for pure calls (when
1147         ACCUMULATE_OUTGOING_ARGS).
1148         * dce.c: Include tm_p.h.
1149         (find_call_stack_args): New function.
1150         (deletable_insn_p): Call it for CALL_P insns.  Add ARG_STORES
1151         argument.
1152         (mark_insn): Call find_call_stack_args for CALL_Ps.
1153         (prescan_insns_for_dce): Walk insns backwards in bb rather than
1154         forwards.  Allocate and free arg_stores bitmap if needed, pass it
1155         down to deletable_insn_p, don't mark stores set in arg_stores
1156         bitmap, clear the bitmap at the beginning of each bb.
1157         * Makefile.in (dce.o): Depend on $(TM_P_H).
1158
1159 2009-01-14  Michael Meissner  <gnu@the-meissners.org>
1160
1161         PR target/22599
1162         * config/i386/i386.c (print_operand): Add tests for 'D', 'C', 'F', 'f'
1163         to make sure the insn is a conditional test (bug 22599).  Reformat a
1164         few long lines.
1165
1166 2009-01-14  Sebastian Pop  <sebastian.pop@amd.com>
1167
1168         PR middle-end/38431
1169         * graphite.c (get_vdef_before_scop, scop_adjust_vphi): New.
1170         (scop_adjust_phis_for_liveouts): Call scop_adjust_vphi.
1171         (gloog): Do not call cleanup_tree_cfg.
1172         (graphite_transform_loops): Call cleanup_tree_cfg after all 
1173         scops have been code generated.
1174
1175 2009-01-14  Basile Starynkevitch  <basile@starynkevitch.net>
1176         * doc/gty.texi (Invoking the garbage collector): Added new node
1177         and section documenting ggc_collect.
1178
1179 2009-01-14  Richard Guenther  <rguenther@suse.de>
1180
1181         PR tree-optimization/38826
1182         PR middle-end/38477
1183         * tree-ssa-structalias.c (emit_alias_warning): Emit the pointer
1184         initialization notes only if we actually emitted a warning.
1185         (intra_create_variable_infos): Add constraints for a result decl
1186         that is passed by hidden reference.
1187         (build_pred_graph): Mark all related variables non-direct on
1188         address-taking.
1189
1190 2009-01-14  Nick Clifton  <nickc@redhat.com>
1191
1192         * ira-conflicts.c: Include addresses.h for the definition of
1193         base_reg_class.
1194         (ira_build_conflicts): Use base_reg_class instead of BASE_REG_CLASS.
1195         * Makefile.in: Add a dependency of ira-conflicts.o on addresses.h.
1196
1197 2009-01-13  Vladimir Makarov  <vmakarov@redhat.com>
1198
1199         PR target/38811
1200         * Makefile.in (ira-lives.o): Add except.h.
1201
1202         * ira-lives.c: Include except.h.
1203         (process_bb_node_lives): Process can_throw_internal.
1204
1205 2009-01-13  Jakub Jelinek  <jakub@redhat.com>
1206
1207         PR rtl-optimization/38774
1208         * combine.c (simplify_set): When undoing cc_use change, don't do
1209         PUT_CODE on the newly created comparison, but instead put back the
1210         old comparison.
1211
1212 2009-01-13  Joseph Myers  <joseph@codesourcery.com>
1213
1214         * doc/invoke.texi (ARM Options): Update lists of -mcpu and -march
1215         values.  Remove duplicate arm8 entry.
1216
1217 2009-01-13  Sebastian Pop  <sebastian.pop@amd.com>
1218
1219         PR tree-optimization/38786
1220         * graphite.c (expand_scalar_variables_ssa_name): New, outlined from
1221         the SSA_NAME case of expand_scalar_variables_expr.
1222         Set the type of an expression to the type of its assign statement.
1223         (expand_scalar_variables_expr): Also gather the scalar computation
1224         used to index the memory access.  Do not pass loop_p.
1225         Fix comment.  Stop recursion on tcc_constant or tcc_declaration.
1226         (expand_scalar_variables_stmt): Pass to expand_scalar_variables_expr
1227         the gimple_stmt_iterator where it inserts new code.
1228         Do not pass loop_p.
1229         (copy_bb_and_scalar_dependences): Do not pass loop_p.
1230         (translate_clast): Update call to copy_bb_and_scalar_dependences.
1231
1232 2009-01-13  Sebastian Pop  <sebastian.pop@amd.com>
1233
1234         * graphite.h (debug_value): Removed.
1235         * graphite.c (debug_value): Removed.
1236
1237 2009-01-13  Richard Earnshaw  <rearnsha@arm.com>
1238
1239         * config/arm/arm.c (output_move_double): Don't synthesize thumb-2
1240         ldrd/strd with two 32-bit instructions.
1241
1242 2009-01-13  Richard Earnshaw  <rearnsha@arm.com>
1243
1244         * config/arm/arm.c (struct processors): Pass for speed down into
1245         cost helper functions.
1246         (const_ok_for_op): Handle COMPARE and inequality nodes.
1247         (arm_rtx_costs_1): Rewrite.
1248         (arm_size_rtx_costs): Update prototype.
1249         (arm_rtx_costs): Pass speed down to helper functions.
1250         (arm_slowmul_rtx_costs): Rework cost calculations.
1251         (arm_fastmul_rtx_costs, arm_xscale_rtx_costs): Likewise.
1252         (arm_9e_rtx_costs): Likewise.
1253
1254 2009-01-13  Uros Bizjak  <ubizjak@gmail.com>
1255
1256         * config/alpha/alpha.c (alpha_legitimate_address_p): Explicit
1257         relocations of local symbols wider than UNITS_PER_WORD are not valid.
1258         (alpha_legitimize_address): Do not split local symbols wider than
1259         UNITS_PER_WORD into HIGH/LO_SUM parts.
1260
1261 2009-01-13  Danny Smith  <dannysmith@users.sourceforge.net>
1262
1263         PR bootstrap/38580
1264         * gcc.c (process_command): Replace call to execvp with calls
1265         to pex_one and exit.
1266
1267 2009-01-03  Anatoly Sokolov  <aesok@post.ru>
1268
1269         PR target/29141
1270         * config/avr/t-avr (LIB1ASMFUNCS): Add _tablejump_elpm.
1271         * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Add
1272         variant for devices with 3-byte PC.
1273         (__tablejump_elpm__) : New.
1274
1275 2009-01-12  Jakub Jelinek  <jakub@redhat.com>
1276
1277         PR c/32041
1278         * c-parser.c (c_parser_postfix_expression): Allow `->' in
1279         offsetof member-designator, handle it as `[0].'.
1280
1281 2009-01-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1282
1283         * pa.c (pa_asm_output_mi_thunk): Use pc-relative branch to thunk
1284         function when not using named sections on targets with named sections
1285         if branch distance is less than 262132.
1286
1287 2009-01-12  Richard Earnshaw  <rearnsha@arm.com>
1288
1289         * combine.c (combine_instructions):  Recompute
1290         optimize_this_for_speed_p  for each BB in the main combine loop.
1291
1292 2009-01-12  Tomas Bily  <tbily@suse.cz>
1293
1294         PR middlend/38385
1295         * tree-loop-distribution.c (prop_phis): New function.
1296         (generate_builtin): Call prop_phis.
1297         * testsuite/gcc.dg/tree-ssa/pr38385.c: New file.
1298
1299 2009-01-12  Jakub Jelinek  <jakub@redhat.com>
1300
1301         PR tree-optimization/38807
1302         * tree-ssa-reassoc.c (remove_visited_stmt_chain): Don't look at
1303         gimple_visited_p unless stmt is GIMPLE_ASSIGN.
1304
1305 2009-01-11  Adam Nemet  <anemet@caviumnetworks.com>
1306
1307         * expmed.c (store_bit_field_1): Properly truncate the paradoxical
1308         subreg of op0 to the original op0.
1309
1310 2009-01-11  Laurent GUERBY  <laurent@guerby.net>
1311
1312         * doc/sourcebuild.texi (Source Tree): Move up intl and fixinc.
1313         
1314 2009-01-11  Markus Schoepflin  <markus.schoepflin@comsoft.de>
1315
1316         PR debug/7055
1317         * gcc/mips-tfile.c (parse_def): Fix parsing of def strings
1318         starting with digits.
1319
1320 2009-01-10  Jakub Jelinek  <jakub@redhat.com>
1321
1322         PR target/38695
1323         * config/arm/arm.c (arm_is_long_call_p): Don't call
1324         arm_function_in_section_p if decl isn't a FUNCTION_DECL.
1325
1326 2009-01-09  Steven Bosscher  <steven@gcc.gnu.org>
1327
1328         * regrename.c (regrename_optimize): Fix dumping.
1329         (find_oldest_value_reg): Preserve REG_POINTER.
1330         (copy_hardreg_forward_1): Likewise.
1331
1332 2009-01-09  Diego Novillo  <dnovillo@google.com>
1333
1334         * gimple.h (struct gimple_statement_base) <uid>: Document
1335         the restrictions on its use.
1336         (gimple_uid): Tidy.
1337         (gimple_set_uid): Tidy.
1338
1339 2009-01-09  Jakub Jelinek  <jakub@redhat.com>
1340
1341         * config/i386/i386.c (ix86_expand_movmem, ix86_expand_setmem): Add
1342         zero guard even if align_bytes != 0 and count is smaller than
1343         size_needed.
1344
1345 2008-01-09  Vladimir Makarov  <vmakarov@redhat.com>
1346
1347         PR rtl-optimization/38495
1348         * ira-emit.c (print_move_list, ira_debug_move_list): New functions.
1349         (add_range_and_copies_from_move_list): Print all added ranges.
1350         Add ranges to memory optimized destination.
1351
1352 2009-01-09  Jakub Jelinek  <jakub@redhat.com>
1353
1354         PR target/38686
1355         PR target/38708
1356         * config/i386/i386.c (override_options): Reject
1357         -mstringop-strategy=rep_8byte with -m32.
1358         (ix86_expand_movmem): For size_needed == 1 set epilogue_size_needed
1359         to 1.  Do count comparison against epilogue_size_needed at compile
1360         time even when count_exp was constant forced into register.  For
1361         size_needed don't jump to epilogue, instead just avoid aligning
1362         and invoke the body algorithm.  If need_zero_guard, add zero guard
1363         even if count is non-zero, but smaller than size_needed + number of
1364         bytes that could be stored for alignment.
1365         (ix86_expand_setmem): For size_needed == 1 set epilogue_size_needed
1366         to 1.  If need_zero_guard, add zero guard even if count is non-zero,
1367         but smaller than size_needed + number of bytes that could be stored
1368         for alignment.  Compare size_needed with epilogue_size_needed instead
1369         of desired_align - align, don't adjust size_needed, pass
1370         epilogue_size_needed to the epilogue expanders.
1371
1372         PR c/35742
1373         * c-pretty-print.c (pp_c_expression): Handle GOTO_EXPR like BIND_EXPR.
1374
1375 2009-01-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1376
1377         * pa.c (last_address): Change to unsigned.
1378         (update_total_code_bytes): Change argument to unsigned.  Don't
1379         check if insn addresses are set.
1380         (pa_output_function_epilogue): Set last_address to UINT_MAX if insn
1381         addresses are not set.
1382         (pa_asm_output_mi_thunk): Handle wrap when updating last_address.
1383
1384 2009-01-09  Nick Clifton  <nickc@redhat.com>
1385
1386         * config/sh/symbian.c: Replace uses of DECL_INLINE with
1387         DECL_DECLARED_INLINE_P.
1388
1389 2009-01-09  Jakub Jelinek  <jakub@redhat.com>
1390
1391         PR middle-end/38347
1392         * dojump.c (do_jump_by_parts_zero_rtx): Use mode instead of
1393         GET_MODE (op0) in operand_subword_force calls.
1394
1395         PR middle-end/38771
1396         * fold-const.c (fold_unary): For COMPOUND_EXPR and COND_EXPR,
1397         fold_convert arg0 operands to TREE_TYPE (op0) first.
1398
1399 2009-01-08  Vladimir Makarov  <vmakarov@redhat.com>
1400
1401         * params.def (ira-max-conflict-table-size): Decrease default value
1402         to 1000.
1403
1404 2009-01-08  Jakub Jelinek  <jakub@redhat.com>
1405
1406         PR tree-optimization/37031
1407         * lambda-code.c (lambda_collect_parameters): Call pointer_set_destroy
1408         on parameter_set.
1409         (build_access_matrix): Reserve correct size for AM_MATRIX vector,
1410         allocate it using gc instead of heap, use VEC_quick_push instead of
1411         VEC_safe_push.
1412         * graphite.c (build_access_matrix): Allocate AM_MATRIX vector using gc
1413         instead of heap, use VEC_quick_push instead of VEC_safe_push.
1414         * tree-data-ref.h (struct access_matrix): Change matrix to gc
1415         allocated vector from heap allocated.
1416         * lambda.h: Add DEF_VEC_ALLOC_P for gc allocated lambda_vector.
1417         * tree-loop-linear.c (linear_transform_loops): Allocate nest
1418         vector only after perfect_loop_nest_depth call.
1419
1420 2009-01-08  Sebastian Pop  <sebastian.pop@amd.com>
1421             Jan Sjodin  <jan.sjodin@amd.com>
1422
1423         PR tree-optimization/38559
1424         * graphite.c (debug_value, copy_constraint,
1425         swap_constraint_variables, scale_constraint_variable, ): New.
1426         (get_lower_bound, get_upper_bound): Removed.
1427         (graphite_trans_bb_strip_mine): Clean up this code that works
1428         only for constant number of iterations.  Fully copy upper and
1429         lower bound constraints, not only the constant part of them.
1430         * graphite.h (debug_value): Declared.
1431
1432 2009-01-08  Ira Rosen  <irar@il.ibm.com>
1433
1434         PR tree-optimization/37194
1435         * tree-vect-transform.c (vect_estimate_min_profitable_iters):
1436         Don't add the cost of cost model guard in prologue to scalar 
1437         outside cost in case of known number of iterations.
1438
1439 2009-01-07  Nathan Froyd  <froydnj@codesourcery.com>
1440             Alan Modra  <amodra@bigpond.net.au>
1441
1442         * config/rs6000/rs6000.c (rs6000_legitimize_address): Check for
1443         non-word-aligned REG+CONST addressing.
1444
1445 2009-01-07  Uros Bizjak  <ubizjak@gmail.com>
1446
1447         PR target/38706
1448         * config/alpha/alpha.c (alpha_end_function): For TARGET_ABI_OSF, call
1449         free_after_compilation when outputting a thunk.
1450         (alpha_output_mi_thunk_osf): Assert that we are processing a thunk.
1451         Do not call free_after_compilation here.
1452
1453 2009-01-07  Uros Bizjak  <ubizjak@gmail.com>
1454
1455         * config/i386/i386.c (ix86_target_string): Use ARRAY_SIZE.
1456         (ix86_valid_target_attribute_inner_p): Ditto.
1457
1458 2009-01-07  Jan Sjodin  <jan.sjodin@amd.com>
1459
1460         PR tree-optimization/38492
1461         PR tree-optimization/38498
1462         * tree-check.c (operator_is_linear, scev_is_linear_expression): New.
1463         * tree-chrec.h (scev_is_linear_expression): Declared.
1464         * graphite.c (graphite_cannot_represent_loop_niter): New.
1465         (scopdet_basic_block_info): Call graphite_cannot_represent_loop_niter.
1466         (graphite_loop_normal_form): Use gcc_assert.
1467         (scan_tree_for_params): Use CASE_CONVERT.
1468         (phi_node_is_iv, bb_contains_non_iv_scalar_phi_nodes): New.
1469         (build_scop_conditions_1): Call bb_contains_non_iv_scalar_phi_nodes.
1470         Use gcc_assert.  Discard scops that contain unhandled cases.
1471         (build_scop_conditions): Return a boolean status for unhandled cases.
1472         (strip_mine_profitable_p): Print the loop number, not its depth.
1473         (is_interchange_valid): Pass the depth of the loop nest, don't
1474         recompute it wrongly.
1475         (graphite_trans_bb_block): Same.
1476         (graphite_trans_bb_block): Print tentative of loop blocking.
1477         (graphite_trans_scop_block): Do not print that the loop has been
1478         blocked.
1479         (graphite_transform_loops): Do not handle scops that contain condition
1480         scalar phi nodes.
1481
1482 2009-01-07  H.J. Lu  <hongjiu.lu@intel.com>
1483
1484         AVX Programming Reference (December, 2008)
1485         * config/i386/avxintrin.h (_mm256_stream_si256): New.
1486         (_mm256_stream_pd): Likewise.
1487         (_mm256_stream_ps): Likewise.
1488
1489         * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVNTDQ256,
1490         IX86_BUILTIN_MOVNTPD256 and IX86_BUILTIN_MOVNTPS256.
1491         (ix86_special_builtin_type): Add VOID_FTYPE_PV4DI_V4DI.
1492         (bdesc_special_args): Add __builtin_ia32_movntdq256,
1493         __builtin_ia32_movntpd256 and __builtin_ia32_movntps256.
1494         (ix86_init_mmx_sse_builtins): Handle VOID_FTYPE_PV4DI_V4DI.
1495         (ix86_expand_special_args_builtin): Likewise.
1496
1497         * config/i386/sse.md (AVXMODEDI): New.
1498         (avx_movnt<mode>): Likewise.
1499         (avx_movnt<mode>): Likewise.
1500         (<sse>_movnt<mode>): Remove AVX support.
1501         (sse2_movntv2di): Likewise.
1502
1503 2009-01-07  Richard Guenther  <rguenther@suse.de>
1504
1505         PR middle-end/38751
1506         * fold-const.c (extract_muldiv): Remove obsolete comment.
1507         (fold_plusminus_mult_expr): Undo MINUS_EXPR
1508         to PLUS_EXPR canonicalization for the canonicalization.
1509
1510 2009-01-07  Gerald Pfeifer  <gerald@pfeifer.com>
1511
1512         * doc/install.texi (alpha*-dec-osf*): Remove note on 32-bit
1513         hosted cross-compilers generating less efficient code.
1514
1515 2009-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
1516
1517         * function.h (rtl_data): Add a dbr_scheduled_p field.
1518         * reorg.c (dbr_schedule): Set it.
1519         (gate_handle_delay_slots): Check it.
1520         * config/mips/mips.c (mips_base_delayed_branch): Delete.
1521         (mips_reorg): Check flag_delayed_branch instead of
1522         mips_base_delayed_branch.
1523         (mips_override_options): Don't set mips_base_delayed_branch
1524         or flag_delayed_branch.
1525
1526 2009-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
1527
1528         PR rtl-optimization/38426.
1529         * ira.c (ira): Set current_function_is_leaf earlier.
1530
1531 2009-01-06  Jakub Jelinek  <jakub@redhat.com>
1532
1533         PR rtl-optimization/38722
1534         * combine.c (try_combine): Don't modify PATTERN (i3) and notes
1535         too early, only set a flag and modify after last possible
1536         undo_all point.
1537
1538 2009-01-06  Janis Johnson  <janis187@us.ibm.com>
1539
1540         PR c/34252
1541         * ginclude/float.h: Rename DECnn_DEN to DECnn_SUBNORMAL_MIN.
1542         * real.c (decimal_single_format): Correct values of emin and emax.
1543         (decimal_double_format): Ditto.
1544         (decimal_quad_format): Ditto.
1545         * c-cppbuiltin.c (builtin_define_decimal_float_constants): Adjust
1546         computation of DECnn_MIN and DECnn_MAX for corrected values of
1547         emin and emax.  Define __DECnn_SUBNORMAL_MIN__ instead of
1548         __DECnn_MIN__, and adjust its computation for the corrected value
1549         of emin.
1550
1551 2009-01-06  Jan Hubicka  <jh@suse.cz>
1552
1553         PR target/38744
1554         * config/i386/i386.c (ix86_expand_call): Use ARRAY_SIZE.
1555
1556 2009-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
1557
1558         * doc/contrib.texi (Contributors): Slightly adjust the end note.
1559         Add Robert Clark to the list of testers.
1560
1561 2009-01-06  Jan Hubicka  <jh@suse.cz>
1562             Kai Tietz  <kai.tietz@onevision.com>
1563
1564         * config/i386/i386.md (*msabi_syvabi): Add SSE regs clobbers.
1565         * config/i386/i386.c (ix86_expand_call): Add clobbers.
1566
1567 2009-01-06  Jan Hubicka  <jh@suse.cz>
1568             Kai Tietz  <kai.tietz@onevision.com>
1569
1570         * config/i386/i386.h (CONDITIONAL_CALL_USAGE): SSE regs are not used
1571         for w64 ABI.
1572         * config/i386/i386.c (struct ix86_frame): Add padding0 and nsseregs.
1573         (ix86_nsaved_regs): Count only general purpose regs.
1574         (ix86_nsaved_sseregs): New.
1575         (ix86_compute_frame_layout): Update nsseregs; set preferred alignment
1576         to 16 for w64; compute padding and size of sse reg save area.
1577         (ix86_emit_save_regs, ix86_emit_save_regs_using_mov): Save only
1578         general purpose regs.
1579         (ix86_emit_save_sse_regs_using_mov): New.
1580         (ix86_expand_prologue): Save SSE regs if needed.
1581         (ix86_emit_restore_regs_using_mov): Use only general purpose regs.
1582         (ix86_emit_restore_sse_regs_using_mov): New.
1583         (ix86_expand_epilogue): Save SSE regs if needed.
1584
1585 2009-01-06  Jan Hubicka  <jh@suse.cz>
1586             Kai Tietz  <kai.tietz@onevision.com>
1587
1588         * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Enable for MSABI
1589         * config/i386/i386.c (init_cumulative_args): Disallow calls of MSABI
1590         functions when accumulate outgoing args is off.
1591
1592 2009-01-06  H.J. Lu  <hongjiu.lu@intel.com>
1593
1594         PR bootstrap/38742
1595         * ira-color.c (ira_reuse_stack_slot): Check ENABLE_IRA_CHECKING
1596         before using pseudos_have_intersected_live_ranges_p.
1597
1598         * ira-int.h (ira_assert): Always define.
1599
1600 2009-01-06  H.J. Lu  <hongjiu.lu@intel.com>
1601
1602         AVX Programming Reference (December, 2008)
1603         * config/i386/avxintrin.h (_mm_permute2_pd): Removed.
1604         (_mm256_permute2_pd): Likewise.
1605         (_mm_permute2_ps): Likewise.
1606         (_mm256_permute2_ps): Likewise.
1607         * config/i386/i386.md (UNSPEC_VPERMIL2): Likewise.
1608         * config/i386/sse.md (avx_vpermil2<mode>3): Likewise.
1609
1610         * config/i386/i386.c (ix86_builtins): Remove
1611         IX86_BUILTIN_VPERMIL2PD, IX86_BUILTIN_VPERMIL2PS,
1612         IX86_BUILTIN_VPERMIL2PD256 and IX86_BUILTIN_VPERMIL2PS256.
1613         (ix86_builtin_type): Remove V8SF_FTYPE_V8SF_V8SF_V8SI_INT,
1614         V4DF_FTYPE_V4DF_V4DF_V4DI_INT, V4SF_FTYPE_V4SF_V4SF_V4SI_INT
1615         and V2DF_FTYPE_V2DF_V2DF_V2DI_INT.
1616         (bdesc_args): Remove __builtin_ia32_vpermil2pd,
1617         __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256 and
1618         __builtin_ia32_vpermil2ps256.
1619         (ix86_init_mmx_sse_builtins): Updated.
1620         (ix86_expand_args_builtin): Likewise.
1621
1622 2009-01-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1623
1624         * pa.c (output_call): Relocate non-jump insns in the delay slot of
1625         long absolute calls when generating PA 2.0 code.
1626
1627 2009-01-05  Vladimir Makarov  <vmakarov@redhat.com>
1628
1629         PR rtl-optimization/38583
1630         * params.h (IRA_MAX_CONFLICT_TABLE_SIZE): New macro.
1631
1632         * params.def (ira-max-conflict-table-size): New.
1633
1634         * doc/invoke.texi (ira-max-conflict-table-size): Decribe.
1635         
1636         * ira.h (ira_conflicts_p): New external definition.
1637         
1638         * ira-conflicts.c (build_conflict_bit_table): Do not build too big
1639         table.  Report this.  Return result of building.
1640         (ira_build_conflicts): Use ira_conflicts_p.  Check result of
1641         building conflict table.
1642
1643         * ira-color.c (fast_allocation): Use num instead of ira_allocnos_num.
1644         (ira_color): Use ira_conflicts_p.
1645         
1646         * global.c: Include ira.h.
1647         (pseudo_for_reload_consideration_p, build_insn_chain): Use
1648         ira_conflicts_p.
1649
1650         * Makefile.in (global.o): Add ira.h.
1651         
1652         * ira-build.c (mark_all_loops_for_removal,
1653         propagate_some_info_from_allocno): New.
1654         (remove_unnecessary_allocnos): Call
1655         propagate_some_info_from_allocno.
1656         (remove_low_level_allocnos): New.
1657         (remove_unnecessary_regions): Add parameter.  Call
1658         mark_all_loops_for_removal and remove_low_level_allocnos.  Pass
1659         parameter to remove_unnecessary_regions.
1660         (ira_build): Remove all regions but root if the conflict table was
1661         not built.  Update conflict hard regs for allocnos crossing calls.
1662
1663         * ira.c (ira_conflicts_p): New global.
1664         (ira): Define and use ira_conflicts_p.
1665
1666         * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
1667         count_spilled_pseudo, find_reg, alter_reg, finish_spills,
1668         emit_input_reload_insns, delete_output_reload): Use ira_conflicts_p.
1669         
1670 2009-01-06  Ben Elliston  <bje@au.ibm.com>
1671
1672         * gengtype-lex.l (YY_NO_INPUT): Define.
1673
1674 2009-01-05  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1675
1676         PR c/34911
1677         * c-common.c (handle_vector_size_attribute): Also reject
1678         BOOLEAN_TYPE types.
1679
1680 2009-01-05  Sebastian Pop  <sebastian.pop@amd.com>
1681
1682         PR tree-optimization/38492
1683         * graphite.c (rename_map_elt, debug_rename_elt,
1684         debug_rename_map_1, debug_rename_map, new_rename_map_elt,
1685         rename_map_elt_info, eq_rename_map_elts,
1686         get_new_name_from_old_name, bb_in_sese_p): Moved around.
1687         (sese_find_uses_to_rename_use): Renamed sese_build_livein_liveouts_use.
1688         (sese_find_uses_to_rename_bb): Renamed sese_build_livein_liveouts_bb.
1689         (sese_build_livein_liveouts): New.
1690         (new_sese, free_sese): New.
1691         (new_scop): Call new_sese.
1692         (free_scop): Call free_sese.
1693         (rename_variables_from_edge, rename_phis_end_scop): Removed.
1694         (register_old_new_names): Renamed register_old_and_new_names.
1695         (register_scop_liveout_renames, add_loop_exit_phis,
1696         insert_loop_close_phis, struct igp,
1697         default_liveout_before_guard, add_guard_exit_phis,
1698         insert_guard_phis, copy_renames): New.
1699         (translate_clast): Call insert_loop_close_phis and insert_guard_phis.
1700         (sese_add_exit_phis_edge): Renamed scop_add_exit_phis_edge.
1701         (rewrite_into_sese_closed_ssa): Renamed scop_insert_phis_for_liveouts.
1702         (scop_adjust_phis_for_liveouts): New.
1703         (gloog): Call scop_adjust_phis_for_liveouts.
1704
1705         * graphite.h (struct sese): Documented.  Added fields liveout,
1706         num_ver and livein.
1707         (SESE_LIVEOUT, SESE_LIVEIN, SESE_LIVEIN_VER, SESE_NUM_VER): New.
1708         (new_sese, free_sese, sese_build_livein_liveouts): Declared.
1709         (struct scop): Added field liveout_renames.
1710         (SCOP_LIVEOUT_RENAMES): New.
1711
1712 2009-01-05  Harsha Jagasia  <harsha.jagasia@amd.com>
1713
1714         PR tree-optimization/38510
1715         * graphite.c (recompute_all_dominators): Call mark_irreducible_loops.
1716         (translate_clast): Call recompute_all_dominators before
1717         graphite_verify.
1718         (gloog): Call recompute_all_dominators before graphite_verify.
1719
1720 2009-01-05  Harsha Jagasia  <harsha.jagasia@amd.com>
1721             Jan Sjodin  <jan.sjodin@amd.com>
1722
1723         PR tree-optimization/38500
1724         * graphite.c (create_sese_edges): Call fix_loop_structure after
1725         splitting blocks.
1726
1727 2009-01-05  Joel Sherrill  <joel.sherrill@oarcorp.com>
1728
1729         * config.gcc: Add m32r*-*-rtems*.
1730         * config/m32r/rtems.h: New file.
1731
1732 2009-01-05  Ben Elliston  <bje@au.ibm.com>
1733
1734         * Makefile.in (.po.gmo): Use mkinstalldirs, not test -d || mkdir.
1735         (.po.pox): Likewise.
1736         (po/gcc.pot): Likewise.
1737
1738 2009-01-04  David S. Miller  <davem@davemloft.net>
1739
1740         * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED_RTX): Delete.
1741         (STARTING_FRAME_OFFSET): Always set to zero.
1742
1743 2009-01-04  Richard Sandiford  <rdsandiford@googlemail.com>
1744
1745         * tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Add commentary.
1746         * tree-cfg.c (verify_gimple_assign_binary): Allow shifts of
1747         fixed-point types, and vectors of the same.
1748
1749 2009-01-04  Richard Sandiford  <rdsandiford@googlemail.com>
1750
1751         * config/mips/sync.md (*mb_barrier): Rename to...
1752         (*memory_barrier): ...this.
1753
1754 2009-01-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
1755
1756         * doc/extend.texi (Function Attributes): Move @cindex after @item
1757         for 'artificial' and 'flatten'. Fix grammar for 'externally_visible'
1758         and put in alphabetical order. Fix 'target' name and put in order.
1759         * doc/invoke.texi (-Wstrict-null-sentinel, -fipa-matrix-reorg): Fix
1760         typos.
1761
1762 2009-01-04  Uros Bizjak  <ubizjak@gmail.com>
1763
1764         * config/s390/s390.md (UNSPEC_MB): Rename from UNSPECV_MB.
1765         (memory_barrier): Expand as unspec instead of unspec_volatile.
1766         Remove mem:BLK from insn operands.  Use Pmode scratch register.
1767         (*memory_barrier): Define as unspec instead of unspec_volatile.
1768         Use (match_dup 0) as input operand.
1769
1770         * config/sparc/sparc.md (UNSPEC_MEMBAR): Rename from UNSPECV_MEMBAR.
1771         * config/sparc/sync.md (memory_barrier): Expand as unspec instead of
1772         unspec_volatile.  Remove mem:BLK from insn operands.  Use Pmode
1773         scratch register.  Remove operand 1.
1774         (*stbar): Define as unspec instead of unspec_volatile.
1775         Use (match_dup 0) as input operand, remove (const_int 8).
1776         (*membar): Define as unspec instead of unspec_volatile.
1777         Use (match_dup 0) as input operand, remove input operand 2.
1778
1779         * config/xtensa/xtensa.md (UNSPEC_MEMW): Rename from UNSPECV_MEMW.
1780         (memory_barrier): Expand as unspec instead of unspec_volatile.
1781         Remove mem:BLK from insn operands.  Use Pmode scratch register.
1782         (*memory_barrier): Define as unspec instead of unspec_volatile.
1783         Use (match_dup 0) as input operand.
1784
1785         * config/ia64/sync.md (memory_barrier): Redefine as expander pattern.
1786         Remove mem:BLK from insn operands.  Use Pmode scratch register.
1787         Set volatile flag on operand 0.
1788         (*memory_barrier): New insn pattern.
1789
1790         * config/rs6000/sync.md (memory_barrier): Remove mem:BLK from
1791         insn operands.
1792         (*memory_barrier): Use (match_dup 0) as input operand.
1793
1794         * config/mips/sync.md (memory_barrier): Redefine as expander pattern.
1795         Remove mem:BLK from insn operands.  Use Pmode scratch register.
1796         Set volatile flag on operand 0.
1797         (*mb_internal): New insn pattern.
1798
1799         * config/alpha/sync.md (*memory_barrier): Rename from *mb_internal.
1800
1801 2009-01-04  Steven Bosscher  <steven@gcc.gnu.org>
1802
1803         PR middle-end/38586
1804         * function.c (struct temp_slot): Move to the section of the file
1805         that deals with temp slots.  Remove field 'address'.
1806         (temp_slot_address_table): New hash table of address -> temp slot.
1807         (struct temp_slot_address_entry): New struct, items for the table.
1808         (temp_slot_address_compute_hash, temp_slot_address_hash,
1809         temp_slot_address_eq, insert_temp_slot_address): Support functions
1810         for the new table.
1811         (find_temp_slot_from_address): Rewrite to use the new hash table.
1812         (remove_unused_temp_slot_addresses): Remove addresses of temp
1813         slots that have been made available.
1814         (remove_unused_temp_slot_addresses_1): Call-back for htab_traverse,
1815         worker function for remove_unused_temp_slot_addresses.
1816         (assign_stack_temp_for_type): Don't clear the temp slot address list.
1817         Add the temp slot address to the address -> temp slot map.
1818         (update_temp_slot_address): Update via insert_temp_slot_address.
1819         (free_temp_slots): Call remove_unused_temp_slot_addresses.
1820         (pop_temp_slots): Likewise.
1821         (init_temp_slots): Allocate the address -> temp slot map, or empty
1822         the map if it is already allocated.
1823         (prepare_function_start): Initialize temp slot processing.
1824
1825 2009-01-04  Steven Bosscher  <steven@gcc.gnu.org>
1826
1827         PR middle-end/38584
1828         * cfgexpand.c (estimate_stack_frame_size): Simplify the estimate:
1829         Calculate the size of all stack vars assuming no packing of stack
1830         vars will happen, replacing a quadratic algorithm with a linear one.
1831
1832 2009-01-03  Jakub Jelinek  <jakub@redhat.com>
1833
1834         PR target/38707
1835         * expmed.c (store_bit_field_1): Don't modify op0 if movstrict insn
1836         can't be used.
1837
1838 2009-01-03  Diego Novillo  <dnovillo@google.com>
1839
1840         * doc/contrib.texi: Update contributions.
1841
1842 2009-01-03  Jakub Jelinek  <jakub@redhat.com>
1843
1844         PR c++/38705
1845         * builtins.c (fold_builtin_memory_op): Give up if either operand
1846         is volatile.  Set srctype or desttype to non-qualified version
1847         of the other type.
1848
1849         PR c/38700
1850         * builtins.c (fold_builtin_expect): Only check DECL_WEAK for VAR_DECLs
1851         and FUNCTION_DECLs.
1852
1853 2009-01-02  Kenneth Zadeck  <zadeck@naturalbridge.com>
1854
1855         PR rtl-optimization/35805
1856         * df-problems.c (df_lr_finalize): Add recursive call to resolve lr
1857         problem if fast dce is able to remove any instructions.
1858         * dce.c (dce_process_block): Fix dump message.
1859         
1860 2009-01-02  Mark Mitchell  <mark@codesourcery.com>
1861
1862         PR 33649
1863         * tree-ssa-pre.c (compute_antic): Correct loop bounds.
1864
1865 2009-01-02  Jakub Jelinek  <jakub@redhat.com>
1866
1867         PR middle-end/38690
1868         * tree-flow.h (op_code_prio, op_prio): New prototypes.
1869         * tree-pretty-print.c (op_code_prio): New function.
1870         (op_prio): No longer static.  Use op_code_prio.
1871         * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs):
1872         Use op_prio and op_code_prio to determine if () should be
1873         printed around operand(s) or not.
1874
1875         * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs,
1876         dump_gimple_call, dump_gimple_switch, dump_gimple_cond,
1877         dump_gimple_label, dump_gimple_try, dump_symbols, dump_gimple_phi,
1878         dump_gimple_mem_ops, dump_bb_header, dump_bb_end, pp_cfg_jump): Use
1879         pp_character instead of pp_string for single letter printing.
1880
1881 2009-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
1882
1883         * doc/extend.texi: Fix '#pragma GCC option' typo.
1884
1885 2009-01-02  Richard Guenther  <rguenther@suse.de>
1886
1887         * doc/install.texi (--enable-checking): Mention different
1888         default for stage1.
1889         (--enable-stage1-checking): Document.
1890
1891 2009-01-01  Andrew Pinski  <pinskia@gmail.com>
1892
1893         PR middle-end/30142
1894         * tree-cfg.c (verify_expr): Add INDIRECT_REF case.  Change MODIFY_EXPR
1895         case to be an error.
1896
1897 2009-01-02  Ben Elliston  <bje@au.ibm.com>
1898
1899         * config/fp-bit.h (pack_d): Constify argument.
1900         * config/fp-bit.c (makenan): Constify return type. Remove casts.
1901         (isnan): Constify argument.
1902         (isinf): Likewise.
1903         (iszero): Likewise.
1904         (pack_d): Likewise.
1905         (_fpadd_parts): Constify return type.
1906         (_fpmul_parts): Likewise.
1907         (_fpdiv_parts): Likewise.
1908
1909 2009-01-01  Jakub Jelinek  <jakub@redhat.com>
1910
1911         PR c/36489
1912         * c-typeck.c (add_pending_init): Add IMPLICIT argument.  Only
1913         warn about overwriting initializer with side-effects or
1914         -Woverride-init if !IMPLICIT.
1915         (output_init_element): Likewise.  Pass IMPLICIT down to
1916         add_pending_init.
1917         (process_init_element): Add IMPLICIT argument.  Pass it down
1918         to output_init_element.
1919         (push_init_element, pop_init_level, set_designator): Adjust
1920         process_init_element callers.
1921         (set_nonincremental_init, set_nonincremental_init_from_string):
1922         Adjust add_pending_init callers.
1923         (output_pending_init_elements): Adjust output_init_element callers.
1924         * c-tree.h (process_init_element): Adjust prototype.
1925         * c-parser.c (c_parser_initelt, c_parser_initval): Adjust
1926         process_init_element callers.