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