OSDN Git Service

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