OSDN Git Service

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