OSDN Git Service

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