re PR target/46883 (GCC ICE with error: unrecognizable insn)
[gcc.git] / gcc / ChangeLog
1 2010-12-16 Chung-Lin Tang <cltang@codesourcery.com>
2
3 PR target/46883
4 * config/arm/arm.md
5 (zero_extendhisi2 for register input splitter): Change
6 "register_operand" to "s_register_operand".
7 (zero_extendqisi2 for register input splitter): Same.
8
9 2010-12-16 Jan Hubicka <jh@suse.cz>
10
11 PR middle-end/46939
12 * predic.c (predict_paths_leading_to_edge): New function.
13 (apply_return_prediction): Use it.
14 (predict_paths_for_bb): Do not special case abnormals.
15
16 2010-12-16 Joseph Myers <joseph@codesourcery.com>
17
18 * config.gcc (powerpc-*-lynxos*): Don't add lynx.opt to
19 extra_options twice.
20
21 2010-12-15 Joseph Myers <joseph@codesourcery.com>
22
23 * doc/tm.texi.in (US_SOFTWARE_GOFAST): Don't document.
24 * doc/tm.texi: Regenerate.
25 * system.h (US_SOFTWARE_GOFAST): Poison.
26 * config.gcc (enable_gofast): Don't handle.
27 * config/gofast.h: Remove.
28 * config/mips/t-gofast: Remove.
29 * config/fp-bit.c (US_SOFTWARE_GOFAST): Don't handle.
30 * config/fp-bit.h (US_SOFTWARE_GOFAST): Don't handle.
31 * config/mips/elforion.h: Don't mention GOFAST in comment.
32 * config/mips/mips.c: Don't include gofast.h.
33 (mips_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
34 * config/mips/t-sr71k (dp-bit.c, fp-bit.c): Don't define
35 US_SOFTWARE_GOFAST.
36 * config/sparc/sparc.c: Don't include gofast.h.
37 (sparc_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
38 * config/spu/t-spu-elf (dp-bit.c, fp-bit.c): Don't undefine
39 US_SOFTWARE_GOFAST.
40
41 2010-12-14 Jan Hubicka <jh@suse.cz>
42
43 * tree.c (get_file_function_name): Avoid using random seed on GLOBAL_sub_I
44 and GLOBAL_sub_D.
45
46 2010-12-15 Martin Jambor <mjambor@suse.cz>
47
48 PR tree-optimization/46053
49 PR middle-end/46287
50 PR middle-end/46242
51 * cgraph.h (cgraph_indirect_call_info): New field thunk_delta.
52 * gimple.h (gimple_fold_obj_type_ref): Declaration removed.
53 (gimple_fold_call): Declare.
54 (gimple_adjust_this_by_delta): Likewise.
55 * cgraph.c (cgraph_make_edge_direct): New parameter delta. Updated
56 all users.
57 (cgraph_clone_edge): Create a copy of indirect_info also for direct
58 edges.
59 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Adjust this
60 parameters.
61 * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Renamed to
62 gimple_get_virt_mehtod_for_binfo, new parameter delta. Do not search
63 through thunks, in fact bail out if we encounter one, check that
64 BINFO_VIRTUALS is not NULL.
65 (gimple_adjust_this_by_delta): New function.
66 (gimple_fold_obj_type_ref): Removed.
67 (gimple_fold_obj_type_ref_call): New function.
68 (fold_gimple_call): Renamed to gimple_fold_call, made external.
69 Updated users. Call gimple_fold_obj_type_ref_call instead of
70 gimple_fold_obj_type_ref.
71 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Process
72 thunk deltas.
73 (ipcp_discover_new_direct_edges): Likewise.
74 * ipa-prop.c (ipa_make_edge_direct_to_target): New parameter delta.
75 Updated callers.
76 (ipa_write_indirect_edge_info): Stream thunk_delta.
77 (ipa_read_indirect_edge_info): Likewise.
78 * tree-ssa-ccp.c (ccp_fold_stmt): Use gimple_fold_call instead of
79 gimple_fold_obj_type_ref.
80
81 2010-12-15 Alexander Monakov <amonakov@ispras.ru>
82
83 PR rtl-optimization/46649
84 * sel-sched-ir.c (purge_empty_blocks): Unconditionally skip the first
85 basic block in the region.
86
87 2010-12-15 Joseph Myers <joseph@codesourcery.com>
88
89 * config/stormy16/stormy16.h (LINK_SPEC, WCHAR_TYPE): Define.
90 * config.gcc (xstormy16-*-elf): Don't use svr4.h.
91
92 2010-12-15 Joseph Myers <joseph@codesourcery.com>
93
94 * config/rx/rx.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
95 * config.gcc (rx-*-elf*): Don't use svr4.h.
96
97 2010-12-14 Sebastian Pop <sebastian.pop@amd.com>
98
99 PR tree-optimization/46845
100 * sese.c (scalar_evolution_in_region): Handle scop parameters
101 before scev analysis.
102
103 2010-12-14 Sebastian Pop <sebastian.pop@amd.com>
104
105 PR tree-optimization/46928
106 * tree-data-ref.c (analyze_overlapping_iterations): Handle "A[p] == A[p]"
107 in data dependence analysis with p a parameter of the loop.
108
109 2010-12-14 Sebastian Pop <sebastian.pop@amd.com>
110
111 PR tree-optimization/45948
112 * tree-loop-distribution.c (ssa_name_has_uses_outside_loop_p): New.
113 (stmt_has_scalar_dependences_outside_loop): New.
114 (stmt_generated_in_another_partition): New.
115 (add_scalar_computations_to_partition): New.
116 (rdg_build_partitions): Call add_scalar_computations_to_partition.
117
118 2010-12-14 Joseph Myers <joseph@codesourcery.com>
119
120 * config/arc/arc.h (LIB_SPEC): Define.
121 * config.gcc (arc-*-elf*): Don't use svr4.h.
122
123 2010-12-14 Joseph Myers <joseph@codesourcery.com>
124
125 * config/sh/elf.h (LIB_SPEC): Define.
126 * config.gcc (sh-*-elf* | sh[12346l]*-*-elf* | sh-*-symbianelf* |
127 sh[12346l]*-*-symbianelf* | sh-*-linux* | sh[2346lbe]*-*-linux* |
128 sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* |
129 sh5l*-*-netbsd* | sh64-*-netbsd* | sh64l*-*-netbsd*, sh-*-rtems*,
130 sh-wrs-vxworks): Don't use svr4.h.
131
132 2010-12-14 Jan Hubicka <jh@suse.cz>
133
134 PR lto/46940
135 PR lto/44463
136 * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Construct nodes
137 for aliases when they are used.
138
139 2010-12-14 Joseph Myers <joseph@codesourcery.com>
140
141 * config.gcc (sparc-*-elf*, sparc-*-rtems*, sparc-*-linux*,
142 sparc-*-netbsdelf*, sparc*-*-solaris2*, sparc-wrs-vxworks,
143 sparc64-*-elf*, sparc64-*-rtems*, sparc64-*-linux*,
144 sparc64-*-netbsd*, sparc64-*-openbsd*): Don't use svr4.h.
145
146 2010-12-14 Thomas Klein <th.r.klein@web.de>
147
148 * config/arm/arm.c (arm_expand_prologue): Report the static stack
149 size if -fstack-usage is used.
150 (thumb1_expand_prologue): Likewise.
151
152 2010-12-14 Jakub Jelinek <jakub@redhat.com>
153
154 PR debug/46885
155 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Use gsi_last_bb
156 instead of gsi_last_nondebug_bb if bump_in_latch.
157
158 PR tree-optimization/46909
159 * gimple-fold.c (and_var_with_comparison_1): Save partial
160 result even in the is_and case, if both partial results
161 are the same, return it.
162 (or_var_with_comparison_1): Use is_or predicate instead of
163 innercode == TRUTH_OR_EXPR test. Save partial result
164 even in the is_or case, if both partial results are the
165 same, return it. In the !is_or case when both partial
166 results are the same, return the partial result instead
167 of boolean_true_node.
168
169 2010-12-14 Jan Hubicka <jh@suse.cz>
170
171 PR middle-end/46667
172 * varasm.c (assemble_start_function): Do not call resolve_unique_section.
173 * cfgexpand.c (gimple_expand_cfg): Resolve it here.
174
175 2010-12-14 Alexander Monakov <amonakov@ispras.ru>
176
177 PR rtl-optimization/46875
178 * sched-vis.c (print_pattern): Dump "sequence" for ADDR_VECs.
179 * sel-sched-ir.c (bb_has_removable_jump_to_p): Forbid table jumps.
180
181 2010-12-14 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
182
183 * config/h8300/h8300.md (define_split) : Add condition for
184 "and with single_zero" splitter to handle 16-bit const operands.
185 * config/h8300/h8300.md (define_split) : Add condition for
186 "ior with single_one" splitter to handle 16-bit const operands.
187 * config/h8300/h8300.md (define_split) : Add condition for
188 "xor with single_one" splitter to handle 16-bit const operands.
189 * testsuite/gcc.dg/h8300-bit-insn-ice.c: New.
190
191 2010-12-13 Jan Hubicka <jh@suse.cz>
192
193 PR middle-end/45388
194 * ipa.c (cgraph_build_static_cdtor_1): Break out from ... ; add FINAL parameter.
195 (cgraph_build_static_cdtor): ... here.
196 (build_cdtor): Use cgraph_build_static_cdtor_1.
197
198 2010-12-13 Joseph Myers <joseph@codesourcery.com>
199
200 * config/m32c/m32c.h (ENDFILE_SPEC, LINK_SPEC, SIZE_TYPE,
201 PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
202 * config.gcc (m32c-*-rtems*, m32c-*-elf*): Don't use svr4.h.
203
204 2010-12-14 Bernd Schmidt <bernds@codesourcery.com>
205
206 PR rtl-optimization/44374
207 Reapply patch with fixes.
208 * basic-block.h (enum bb_flags): Add BB_MODIFIED.
209 * df-core.c (df_set_bb_dirty): Set it.
210 * ifcvt.c (find_memory): Remove function.
211 (dead_or_predicable): Use can_move_insns_across.
212 * df.h (can_move_insns_across): Declare function.
213 * cfgcleanup.c (block_was_dirty): New static variable.
214 (flow_find_head_matching_sequence): Test for epilogue notes.
215 (try_crossjump_bb, try_forward_edges): Test BB_MODIFIED flag rather
216 than df_get_bb_dirty.
217 (try_head_merge_bb): New static function.
218 (try_optimize_cfg): Call it. Call df_analyze if block_was_dirty
219 is set.
220 * df-problems.c: Include "target.h"
221 (df_simulate_find_uses): New static function.
222 (MEMREF_NORMAL, MEMREF_VOLATILE): New macros.
223 (find_memory, find_memory_store): New static functions.
224 (can_move_insns_across): New function.
225 * Makefile.in (df-problems.o): Update dependencies.
226
227 2010-12-13 Joseph Myers <joseph@codesourcery.com>
228
229 * config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
230 (DBX_REGISTER_NUMBER): Undefine.
231 * config/xtensa/linux.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
232 (DBX_REGISTER_NUMBER): Undefine.
233 * config.gcc (xtensa*-*-elf*, xtensa*-*-linux*): Don't use svr4.h.
234
235 2010-12-13 Jack Howarth <howarth@bromo.med.uc.edu>
236 Joseph Myers <joseph@codesourcery.com>
237
238 PR bootstrap/46650
239 * system.h: Include cstring for cxx bootstrap.
240
241 2010-12-13 Jakub Jelinek <jakub@redhat.com>
242
243 PR lto/46879
244 * lto-streamer-out.c (output_gimple_stmt): Never replace first
245 GIMPLE_DEBUG argument with MEM_REF.
246
247 PR debug/46867
248 * var-tracking.c (emitted_notes, string_pointer_flags): Removed.
249 (emit_note_insn_var_location): Remove ENABLE_RTL_CHECKING verification.
250 (vt_emit_notes): Don't initialize and destroy emitted_notes.
251
252 2010-12-13 Nathan Froyd <froydnj@codesourcery.com>
253
254 PR target/46040
255 * config.gcc (arm*-*-linux-*eabi): Use bpabi-lib.h.
256 (arm*-*-uclinux*eabi, arm*-*-eabi*): Likewise.
257
258 2010-12-13 Joseph Myers <joseph@codesourcery.com>
259
260 * config/v850/v850.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
261 WCHAR_TYPE_SIZE): Define.
262 * config.gcc (v850e1-*-*, v850e-*-*, v850-*-*): Don't use svr4.h.
263
264 2010-12-13 Joseph Myers <joseph@codesourcery.com>
265
266 * config.gcc (s390-*-linux*, s390x-*-linux*, s390x-ibm-tpf*):
267 Don't use svr4.h.
268
269 2010-12-13 Joseph Myers <joseph@codesourcery.com>
270
271 * config/mn10300/linux.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
272 WCHAR_TYPE_SIZE): Undefine.
273 * config/mn10300/mn10300.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
274 WCHAR_TYPE_SIZE): Define.
275 * config.gcc (mn10300-*-*): Don't use svr4.h.
276
277 2010-12-13 Joseph Myers <joseph@codesourcery.com>
278
279 * config/m68k/linux.h (DBX_REGISTER_NUMBER): Undefine and
280 redefine.
281 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
282 * config.gcc (m68k-*-uclinux*, m68k-*-linux*): Don't use svr4.h.
283
284 2010-12-13 Alexandre Oliva <aoliva@redhat.com>
285
286 PR debug/46756
287 * jump.c (mark_all_labels): Skip debug insns.
288
289 2010-12-13 Alexandre Oliva <aoliva@redhat.com>
290
291 PR debug/46782
292 * cfgcleanup.c (try_forward_edges): Skip debug insns.
293
294 2010-12-12 Jan Hubicka <jh@suse.cz>
295 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
296
297 * varasm.c (default_function_section): Check flag_reorder_functions
298 and targetm.have_named_sections.
299 * config/darwin.c (darwin_function_section): Check
300 flag_reorder_functions.
301
302 2010-12-12 Finn Thain <fthain@telegraphics.com.au>
303
304 PR target/46179
305 * config/m68k/m68k.c (handle_move_double): Insert calls to
306 m68k_final_prescan_insn to clean up @TLS operand syntax.
307
308 2010-12-10 Sebastian Pop <sebastian.pop@amd.com>
309
310 PR tree-optimization/43023
311 * tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p):
312 Removed.
313 (stores_zero_from_loop): Call stmt_stores_zero.
314 * tree-data-ref.h (stmt_stores_zero): New.
315 * tree-loop-distribution.c (generate_memset_zero): Do not return a
316 boolean. Call gcc_assert on stride_of_unit_type_p.
317 (generate_builtin): Call stmt_stores_zero.
318 (rdg_flag_all_uses): Removed.
319 (rdg_flag_similar_memory_accesses): Removed.
320 (build_rdg_partition_for_component): Removed parameter
321 other_stores. Removed call to rdg_flag_similar_memory_accesses.
322 (can_generate_builtin): New.
323 (similar_memory_accesses): New.
324 (fuse_partitions_with_similar_memory_accesses): New.
325 (rdg_build_partitions): Call
326 fuse_partitions_with_similar_memory_accesses.
327
328 2010-12-10 Jakub Jelinek <jakub@redhat.com>
329
330 PR rtl-optimization/46804
331 * regmove.c (optimize_reg_copy_3): Look for REG_EQUAL note
332 on the setter of src_reg rather than on insn. If it is
333 equal to the setter's original SET_SRC, replace it with its
334 zero or sign extension instead of dropping it.
335
336 2010-12-10 Richard Guenther <rguenther@suse.de>
337
338 PR lto/46808
339 * lto-symtab.c (lto_symtab_merge_decls_2): Avoid type warnings
340 after errors.
341 (lto_symtab_merge_decls_1): Adjust.
342
343 2010-12-10 Dave Korn <dave.korn.cygwin@gmail.com>
344
345 PR middle-end/46674
346 PR lto/43157
347 * target.def (mangle_assembler_name): New target asm_out hook.
348 * targhooks.c (default_mangle_assembler_name): Add default hook
349 implementation.
350 * targhooks.h (default_mangle_assembler_name): Add prototype.
351 * lto-symtab.c (lto_symtab_register_decl): Use new hook when
352 processing DECL_ASSEMBLER_NAMEs for lto symtabs.
353 (lto_symtab_get_resolution): Likewise.
354 (lto_cgraph_replace_node): Likewise.
355 (lto_symtab_prevailing_decl): Likewise.
356 * lto-streamer-out.c (write_symbol): Likewise.
357 * doc/tm.texi.in (TARGET_MANGLE_ASSEMBLER_NAME): Add @hook directive.
358 * doc/tm.texi: Regenerate.
359 * config/i386/cygming.h (TARGET_MANGLE_ASSEMBLER_NAME): Define to
360 point at i386_pe_mangle_assembler_name.
361 * config/i386/winnt.c (i386_pe_mangle_assembler_name): New function.
362 * config/i386/i386-protos.h (i386_pe_mangle_assembler_name): Add
363 prototype.
364
365 2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
366
367 * c-typeck.c (readonly_error): Delete.
368
369 2010-12-10 Jakub Jelinek <jakub@redhat.com>
370
371 PR rtl-optimization/46865
372 * rtl.c (rtx_equal_p_cb, rtx_equal_p): For last operand of
373 ASM_OPERANDS and ASM_INPUT if integers are different,
374 call locator_eq.
375 * jump.c (rtx_renumbered_equal_p): Likewise.
376
377 PR tree-optimization/46864
378 * tree-ssa-loop-im.c (loop_suitable_for_sm): Return false even
379 when there are EDGE_EH exit edges.
380
381 2010-12-10 Tobias Burnus <burnus@net-b.de>
382
383 PR fortran/46540
384 * configure.ac: Handle --disable-libquadmath-support.
385 * doc/install.texi: Document --disable-libquadmath and
386 --disable-libquadmath-support
387 * configure: Regenerate.
388 * config.in: Regenerate.
389
390 2010-12-10 Jack Howarth <howarth@bromo.med.uc.edu>
391 Iain Sandoe <iains@gcc.gnu.org>
392
393 PR 43751/target
394 * config/darwin9.h (DSYMUTIL_SPEC): Add fortran source types.
395
396 2010-12-10 Iain Sandoe <iains@gcc.gnu.org>
397
398 * config/rs6000/rs6000.c
399 (rs6000_darwin64_record_arg_advance_recurse): Name register increment
400 explicitly. (rs6000_darwin64_record_arg_recurse): Make sure we split
401 long doubles when we run out of regs. Also flag that this requires
402 stack and therefore cannot be returned by value.
403 (rs6000_darwin64_record_arg): Update comment.
404 (rs6000_function_value): Likewise.
405
406 2010-12-10 Nicola Pero <nicola.pero@meta-innovation.com>
407
408 * c-parser.c (c_parser_objc_class_definition): Recognize
409 Objective-C 2.0 class extensions.
410
411 2010-12-10 Iain Sandoe <iains@gcc.gnu.org>
412
413 * config/darwin.c: Remove c-tree.h and c-lang.h
414 * config/t-darwin: Remove dependencies on c-tree.h and c-lang.h.
415
416 2010-12-10 Joern Rennecke <amylaar@spamcop.net>
417
418 PR target/46881
419 * doc/tm.texi: Regenerate.
420 * target.def: Fix "preferred" spelling. Refer to rclass by its
421 exact name.
422 * config/arm/arm.c (arm_preferred_rename_class): Rename parameter class
423 to rclass.
424
425 2010-12-09 Paul Koning <ni1d@arrl.net>
426
427 * config/pdp11/pdp11-protos.h (output_move_double,
428 output_move_quad): Delete.
429 (output_move_multiple, pdp11_expand_operands): New functions.
430 (pdp11_action, pdp11_partorder): New enums.
431 * config/pdp11/pdp11.md (movdi, movsi, movdf, movsf): Use
432 output_move_multiple.
433 (adddi3, subdi3, negdi2): New patterns.
434 (addsi3, subsi3, negsi2): Use pdp11_expand_operands.
435 (abshi2): Delete.
436 (neghi2, negqi2): Use PDPint iterator.
437 * config/pdp11/pdp11.c (find_addr_reg, output_move_double,
438 output_move_quad): Delete.
439 (pdp11_expand_operands, output_move_multiple): New functions.
440
441 2010-12-09 Joseph Myers <joseph@codesourcery.com>
442
443 * config/vax/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
444 * config.gcc (vax-*-linux*): Don't use svr4.h.
445
446 2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
447
448 * c-typeck.c (build_indirect_ref): Call invalid_indirection_error.
449
450 2010-12-09 Joseph Myers <joseph@codesourcery.com>
451
452 * doc/extend.texi (Attribute Syntax): Correct description of
453 attributes in pointer declarators.
454
455 2010-12-09 Joseph Myers <joseph@codesourcery.com>
456
457 * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Undefine.
458 * config.gcc (mips64*-*-linux* | mipsisa64*-*-linux*,
459 mips*-*-linux*, mips-wrs-vxworks): Don't use svr4.h.
460
461 2010-12-09 Joseph Myers <joseph@codesourcery.com>
462
463 * config/mep/mep.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
464 WCHAR_TYPE_SIZE): Define.
465 * config.gcc (mep-*-*): Don't use svr4.h.
466
467 2010-12-09 Joseph Myers <joseph@codesourcery.com>
468
469 * config/mcore/mcore.h (PTRDIFF_TYPE, WCHAR_TYPE,
470 WCHAR_TYPE_SIZE): Define.
471 * config/svr3.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
472 WCHAR_TYPE_SIZE): Don't define.
473 * config.gcc (mcore-*-elf): Don't use svr4.h.
474
475 2010-12-09 Joseph Myers <joseph@codesourcery.com>
476
477 * config.gcc (m32r-*-elf*, m32rle-*-elf*, m32r-*-rtems*,
478 m32r-*-linux*, m32rle-*-linux*): Don't use svr4.h.
479
480 2010-12-09 Joseph Myers <joseph@codesourcery.com>
481
482 * config/iq2000/iq2000.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE,
483 WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
484 * config.gcc (iq2000*-*-elf*): Don't use svr4.h.
485
486 2010-12-09 Joseph Myers <joseph@codesourcery.com>
487
488 * config.gcc (ia64*-*-linux*, ia64*-*-hpux*): Don't use svr4.h.
489
490 2010-12-09 Joseph Myers <joseph@codesourcery.com>
491
492 * config/pa/pa32-linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
493 * config.gcc (hppa*64*-*-linux*, hppa*-*-linux*): Don't use
494 svr4.h.
495
496 2010-12-09 Joseph Myers <joseph@codesourcery.com>
497
498 * config/moxie/moxie.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE,
499 WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
500 * config/moxie/rtems.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE,
501 WCHAR_TYPE, WCHAR_TYPE_SIZE): Undefine.
502 * config.gcc (moxie-*-elf, moxie-*-uclinux*): Don't use svr4.h.
503
504 2010-12-09 Joseph Myers <joseph@codesourcery.com>
505
506 * config/frv/frv.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
507 WCHAR_TYPE_SIZE): Define.
508 * config.gcc (frv-*-elf, frv-*-*linux*): Don't use svr4.h.
509
510 2010-12-09 Joseph Myers <joseph@codesourcery.com>
511
512 * config/fr30/fr30.h (LIB_SPEC, LINK_SPEC, SIZE_TYPE,
513 PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
514 * config.gcc (fr30-*-elf): Don't use svr4.h.
515
516 2010-12-09 Joseph Myers <joseph@codesourcery.com>
517
518 * config/cris/linux.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
519 * config.gcc (crisv32-*-linux* | cris-*-linux*): Don't use svr4.h.
520
521 2010-12-09 Richard Guenther <rguenther@suse.de>
522
523 PR middle-end/46844
524 * gimple-fold.c (canonicalize_constructor_val): Canonicalize
525 addresses.
526
527 2010-12-09 Joseph Myers <joseph@codesourcery.com>
528
529 * config/i386/netware.h (TARGET_POSIX_IO): Define.
530 * config/i386/nto.h (TARGET_POSIX_IO): Define.
531 * config/ia64/hpux.h (TARGET_POSIX_IO): Define.
532 * config/moxie/moxie.h (TARGET_POSIX_IO): Don't undefine.
533 * config/openbsd.h (TARGET_POSIX_IO): Define.
534 * config/rtems.h (TARGET_POSIX_IO): Define.
535 * config/sh/embed-elf.h (TARGET_POSIX_IO): Don't undefine.
536 * config/sol2.h (TARGET_POSIX_IO): Define.
537 * config/svr4.h (TARGET_POSIX_IO): Don't define.
538 * config/vxworksae.h (TARGET_POSIX_IO): Define.
539
540 2010-12-09 Joseph Myers <joseph@codesourcery.com>
541
542 * config/i386/nto.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
543 * config/ia64/hpux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
544 Define.
545 * config/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
546 undefine.
547 * config/mips/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
548 undefine.
549 * config/mips/netbsd.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
550 Don't undefine.
551 * config/rs6000/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
552 Don't undefine.
553 * config/rs6000/linux64.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
554 Don't undefine.
555 * config/sol2.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
556 * config/sparc/netbsd-elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
557 Don't undefine.
558 * config/sparc/openbsd64.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
559 Don't undefine.
560 * config/sparc/sp64-elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
561 Don't undefine.
562 * config/svr4.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
563 define.
564 * config/xtensa/elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
565 undefine.
566
567 2010-12-09 Joseph Myers <joseph@codesourcery.com>
568
569 * config/ia64/hpux.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Define for
570 non-GNU assembler.
571 * config/m68k/netbsd-elf.h (AS_NEEDS_DASH_FOR_PIPED_INPUT):
572 Remove.
573 * config/m68k/openbsd.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
574 * config/mips/openbsd.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
575 * config/sol2.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Define for
576 non-GNU assembler.
577 * config/sparc/sparc.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
578 * config/svr4.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
579
580 2010-12-09 Martin Jambor <mjambor@suse.cz>
581
582 * ipa-prop.c (compute_complex_ancestor_jump_func): Work also if the
583 zero is the first phi parameter.
584
585 2010-12-09 Martin Jambor <mjambor@suse.cz>
586
587 * ipa-prop.h (struct ipa_parm_adjustment): New field alias_ptr_type.
588 * ipa-prop.c (ipa_modify_call_arguments): Use it.
589 * tree-sra.c (splice_param_accesses): Test that all accesses have the
590 same alias reference type.
591 (turn_representatives_into_adjustments): Set alias_ptr_type of the
592 adjustment.
593
594 2010-12-09 Martin Jambor <mjambor@suse.cz>
595
596 PR middle-end/46734
597 * tree-sra.c (splice_param_accesses): Check that there are not
598 multiple ADDRESSABLE types.
599
600 2010-12-09 Joseph Myers <joseph@codesourcery.com>
601
602 * config/arc/arc.h (ASM_SPEC): Remove %{v}.
603 * config/bfin/bfin.h (ASM_SPEC): Remove %{v}.
604 * config/cris/cris.h (ASM_SPEC): Remove %{v:-v}.
605 * config/fr30/fr30.h (ASM_SPEC): Remove %{v}.
606 * config/frv/frv.h (ASM_SPEC): Remove %{v}.
607 * config/i386/linux.h (ASM_SPEC): Remove %{v}.
608 * config/i386/linux64.h (ASM_SPEC): Remove %{v}.
609 * config/i386/mingw-w64.h (ASM_SPEC): Remove %{v}.
610 * config/i386/sol2-10.h (ASM_SPEC): Remove %{v}.
611 * config/i386/vxworks.h (ASM_SPEC): Remove %{v}.
612 * config/i386/x86-64.h (ASM_SPEC): Remove %{v}.
613 * config/lm32/lm32.h (ASM_SPEC): Remove %{v}.
614 * config/m32r/m32r.h (ASM_SPEC): Remove %{v}.
615 * config/m68k/linux.h (ASM_SPEC): Remove %{v:-V}.
616 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{v}.
617 * config/mips/mips.h (ASM_SPEC): Remove %{v}.
618 * config/mips/vxworks.h (ASM_SPEC): Remove %{v}.
619 * config/pa/pa-linux.h (ASM_SPEC): Remove %{v:-V}.
620 * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Remove %{v}.
621 * config/rs6000/linux64.h (ASM_SPEC): Remove %{v:-V}.
622 * config/rs6000/vxworks.h (ASM_SPEC): Remove %{v:-v}.
623 * config/sparc/openbsd64.h (ASM_SPEC): Remove %{v:-V}.
624 * config/svr4.h (SVR4_ASM_SPEC): Remove %{v:-V}.
625 * config/xtensa/elf.h (ASM_SPEC): Remove %{v}.
626 * config/xtensa/linux.h (ASM_SPEC): Remove %{v}.
627
628 2010-12-09 Joseph Myers <joseph@codesourcery.com>
629
630 * config/i386/openbsdelf.h (LINK_SPEC): Use %{r:} not %{r*:}.
631 * config/mips/openbsd.h (LINK_SPEC): Use %{r:} not %{r*:}.
632 * config/netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): Use %{r:} not
633 %{r*:}.
634 * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Use %{r:} not
635 %{r*:}.
636 * config/sparc/openbsd64.h (LINK_SPEC): Use %{r:} not %{r*:}.
637 * config/vax/netbsd-elf.h (LINK_SPEC): Use %{r:} not %{r*:}.
638
639 2010-12-09 Joseph Myers <joseph@codesourcery.com>
640
641 * config/alpha/freebsd.h (LINK_SPEC): Don't use
642 %{!dynamic-linker:}.
643 * config/alpha/linux-elf.h (LINK_SPEC): Likewise.
644 * config/arm/freebsd.h (LINK_SPEC): Likewise.
645 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Likewise.
646 * config/bfin/linux.h (LINK_SPEC): Likewise.
647 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Likewise.
648 * config/frv/linux.h (LINK_SPEC): Likewise.
649 * config/i386/freebsd.h (LINK_SPEC): Likewise.
650 * config/i386/freebsd64.h (LINK_SPEC): Likewise.
651 * config/i386/linux.h (LINK_SPEC): Likewise.
652 * config/i386/linux64.h (LINK_SPEC): Likewise.
653 * config/i386/openbsdelf.h (LINK_SPEC): Likewise.
654 * config/ia64/freebsd.h (LINK_SPEC): Likewise.
655 * config/ia64/linux.h (LINK_SPEC): Likewise.
656 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
657 * config/m32r/linux.h (LINK_SPEC): Likewise.
658 * config/m68k/linux.h (LINK_SPEC): Likewise.
659 * config/microblaze/linux.h (LINK_SPEC): Likewise.
660 * config/mips/linux.h (LINK_SPEC): Likewise.
661 * config/mips/linux64.h (LINK_SPEC): Likewise.
662 * config/mips/openbsd.h (LINK_SPEC): Likewise.
663 * config/mn10300/linux.h (LINK_SPEC): Likewise.
664 * config/netbsd-elf.h (LINK_SPEC): Likewise.
665 * config/pa/pa-linux.h (LINK_SPEC): Likewise.
666 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32,
667 LINK_OS_LINUX_SPEC64): Likewise.
668 * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC,
669 LINK_OS_LINUX_SPEC, LINK_OS_GNU_SPEC, LINK_OS_NETBSD_SPEC):
670 Likewise.
671 * config/s390/linux.h (LINK_SPEC): Likewise.
672 * config/sh/linux.h (SUBTARGET_LINK_SPEC): Likewise.
673 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
674 * config/sparc/linux.h (LINK_SPEC): Likewise.
675 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
676 LINK_SPEC): Likewise.
677 * config/sparc/openbsd64.h (LINK_SPEC): Likewise.
678 * config/vax/linux.h (LINK_SPEC): Likewise.
679 * config/xtensa/linux.h (LINK_SPEC): Likewise.
680
681 2010-12-09 Joseph Myers <joseph@codesourcery.com>
682
683 * config/bfin/bfin.h (ASM_SPEC): Remove %{n} and %{T}.
684 * config/frv/frv.h (ASM_SPEC): Likewise.
685 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
686 * config/i386/sol2.h (ASM_SPEC): Likewise.
687 * config/m68k/linux.h (ASM_SPEC): Likewise.
688 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
689 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
690 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
691 * config/sol2.h (ASM_SPEC): Likewise.
692 * config/sparc/linux.h (ASM_SPEC): Likewise.
693 * config/sparc/linux64.h (ASM_SPEC): Likewise.
694 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
695 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
696 * config/svr4.h (SVR4_ASM_SPEC): Likewise.
697
698 2010-12-09 Richard Guenther <rguenther@suse.de>
699
700 * reginfo.c (struct subregs_of_mode_node): Remove.
701 (subregs_of_mode): Likewise.
702 (som_hash): Likewise.
703 (som_eq): Likewise.
704 (invalid_mode_changes): New bitmap.
705 (record_subregs_of_mode): Get subregs_of_mode argument.
706 Fill in invalid_mode_changes bitmap.
707 (find_subregs_of_mode): Get subregs_of_mode argument and pass
708 it through.
709 (init_subregs_of_mode): Adjust.
710 (finish_subregs_of_mode): Likewise.
711 (invalid_mode_change_p): Query invalid_mode_changes bitmap.
712
713 2010-12-09 Richard Guenther <rguenther@suse.de>
714
715 * ira.c (ira): Do not call finish_subregs_of_mode.
716 * ira-costs.c (finish_costs): Call finish_subregs_of_mode.
717
718 2010-12-09 Richard Guenther <rguenther@suse.de>
719
720 * rtl.h (invalid_mode_change_p): Adjust prototype.
721 * reginfo.c (invalid_mode_change_p): Remove from argument.
722 * ira-costs.c (print_allocno_costs): Adjust callers.
723 (find_costs_and_classes): Likewise.
724
725 2010-12-09 Jakub Jelinek <jakub@redhat.com>
726
727 * config/s390/s390.md (*mov<mode>cc): Change lgoc and stgoc to
728 locg and stocg even in comment.
729 (sync_old_<atomic><mode>): Give mode to UNSPEC_VOLATILE.
730
731 PR target/41082
732 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Use stvx
733 instead of stve*x.
734 (altivec_expand_stv_builtin): For op0 use mode of operand 1 instead
735 of operand 0.
736 * config/rs6000/altivec.md (VI_scalar): New mode attr.
737 (altivec_stve<VI_char>x, *altivec_stvesfx): Use scalar instead of
738 vector mode for operand 0, put operand 1 into UNSPEC.
739
740 2010-12-09 Yao Qi <yao@codesourcery.com>
741
742 * config/arm/arm.c (arm_preferred_rename_class): Implement targethook
743 PREFERRED_RENAME_CLASS.
744
745 2010-12-08 Ian Lance Taylor <iant@google.com>
746
747 * doc/sourcebuild.texi (Front End): Remove reference to
748 snapshot-README and snapshot-index.html.
749
750 2010-12-08 Ian Lance Taylor <iant@google.com>
751
752 * doc/sourcebuild.texi (Texinfo Manuals): Change update_web_docs
753 to update_web_docs_svn.
754 (Front End): Likewise.
755
756 2010-12-08 Iain Sandoe <iains@gcc.gnu.org>
757
758 gcc/config.gcc (with_cpu): Default i[34567]86-*-darwin* and
759 x86_64-*-darwin* to with_cpu:-core2.
760 gcc/config/i386/mmx.md (*mov<mode>_internal_rex64): Replace movq
761 with movd for darwin assembler.
762 gcc/config/i386/sse.md (*vec_concatv2di_rex64_sse4_1): Ditto.
763 (*vec_concatv2di_rex64_sse): Ditto.
764
765 2010-12-08 Richard Guenther <rguenther@suse.de>
766 Sebastian Pop <sebastian.pop@amd.com>
767
768 PR tree-optimization/45230
769 PR tree-optimization/45231
770 PR tree-optimization/45370
771 * sese.c (rename_uses): Returns a bool. Call
772 recompute_tree_invariant_for_addr_expr only on the RHS of a
773 GIMPLE_ASSIGN.
774 (graphite_copy_stmts_from_block): Call fold_stmt_inplace when
775 rename_uses returns true.
776 * tree-ssa-copy.c (replace_exp): Add a comment about calling
777 fold_stmt_inplace after replace_exp.
778
779 2010-12-08 Mike Stump <mikestump@comcast.net>
780
781 PR debug/46749
782 * config/darwin.h (COLLECT_RUN_DSYMUTIL): Add.
783 (DSYMUTIL_SPEC): Use `linker' flags instead to handle lto better.
784 * config/darwin9.h (COLLECT_RUN_DSYMUTIL): Add.
785 (DSYMUTIL_SPEC): Use `linker' flags instead to handle lto better.
786 * collect2.c (post_ld_pass): Add.
787 (process_args): Add.
788 (maybe_run_lto_and_relink): Call post_ld_pass after ld.
789 (main): Likewise. Call process_args.
790
791 2010-12-08 Jakub Jelinek <jakub@redhat.com>
792
793 PR middle-end/46844
794 * regrename.c (check_new_reg_p): Add ATTRIBUTE_UNUSED to reg
795 parameter.
796
797 2010-12-08 Richard Earnshaw <rearnsha@arm.com>
798
799 PR target/46631
800 * arm.c (thumb2_reorg): Also try to reduce <commutative_op> Rd, Rn, Rd
801 into a 16-bit instruction.
802
803 2010-12-08 Michael Meissner <meissner@linux.vnet.ibm.com>
804
805 PR middle-end/42694
806 * builtins.c (expand_builtin_pow_root): Don't optimize pow(x,y)
807 where y is 0.25, 1./6., or 0.75 if the target does not have a sqrt
808 instruction, but do optimize if y is 0.5 or 1./3. since that
809 changes an expensive call into a cheaper one.
810
811 2010-12-08 Richard Guenther <rguenther@suse.de>
812
813 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use a shift
814 instead of a division to divide by BITS_PER_UNIT.
815
816 2010-12-08 Richard Guenther <rguenther@suse.de>
817
818 * gimplify.c (gimple_tree_eq): Assert hashes are equal only
819 when checking is enabled.
820
821 2010-12-07 Andrey Belevantsev <abel@ispras.ru>
822
823 PR target/43603
824 * haifa-sched.c (sched_create_recovery_edges): Update
825 dominator info.
826 * sel-sched-ir.c (maybe_tidy_empty_bb): Update dominator info
827 after deleting an empty block.
828 (tidy_control_flow): Also verify dominators.
829 (sel_remove_bb): Update dominator info after removing a block.
830 (sel_redirect_edge_and_branch_force): Assert that no unreachable
831 blocks will be created. Update dominator info.
832 (sel_redirect_edge_and_branch): Update dominator info when
833 basic blocks do not become unreachable.
834 (sel_remove_loop_preheader): Update dominator info.
835
836 2010-12-07 Richard Guenther <rguenther@suse.de>
837
838 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
839 Reset alignment information.
840 (bump_vector_ptr): Likewise.
841
842 2010-12-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
843
844 PR middle-end/46671
845 PR target/46685
846 * config/pa/pa.c (pa_function_section): New function.
847 (TARGET_ASM_FUNCTION_SECTION): Define.
848
849 2010-12-07 Ian Lance Taylor <iant@google.com>
850 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
851
852 PR bootstrap/46810
853 * configure.ac: Disable AC_MSG_ERROR while looking for the C++
854 preprocessor.
855 * configure: Rebuild.
856
857 2010-12-07 Paul Koning <ni1d@arrl.net>
858
859 * config/pdp11/pdp11.c (output_addr_const_pdp11): Output negative
860 values with sign rather than as unsigned.
861
862 2010-12-07 Paul Koning <ni1d@arrl.net>
863
864 * config/pdp11/pdp11.c (TARGET_ASM_FUNCTION_SECTION): Define.
865 (pdp11_function_section): New function.
866
867 2010-12-07 Joseph Myers <joseph@codesourcery.com>
868
869 * config/mcore/mcore.c Don't include assert.h.
870 (layout_mcore_frame, handle_structs_in_regs): Use gcc_assert.
871 * config/spu/spu.c: Don't include assert.h.
872 (spu_sms_res_mii): Use gcc_assert.
873
874 2010-12-07 Sebastian Pop <sebastian.pop@amd.com>
875
876 PR tree-optimization/42327
877 * tree-data-ref.c (omega_setup_subscript): Call build_int_cst
878 instead of using integer_minus_one_node.
879
880 2010-12-07 Nathan Froyd <froydnj@codesourcery.com>
881
882 PR c++/45330
883 * params.def (CXX_MAX_NAMESPACES_FOR_DIAGNOSTIC_HELP): New parameter.
884 * doc/invoke.texi (cxx-max-namespaces-for-diagnostic-help): Document.
885
886 2010-12-07 Richard Guenther <rguenther@suse.de>
887
888 PR tree-optimization/46832
889 * tree-ssa-math-opts.c (execute_optimize_widening_mul): Check
890 that the call has a lhs.
891
892 2010-12-07 Yao Qi <yao@codesourcery.com>
893
894 * Makefile.in: Add $(TARGET_H) to the regrename.o rule.
895 * regrename.c (struct du_head): Add new element length.
896 (sort_du_head, get_element, merge, merge_sort_comparison):
897 New functions of merge sort implementation to du_head list.
898 (regrename_optimize): Sort du_head linked list by length.
899 Iterate registers in a preferred-register-first order.
900 Move some code to ...
901 (check_new_reg_p): here. New function.
902 (create_new_chain): Initialize length.
903 (scan_rtx_reg): Increase length for non-debug insns.
904 * target.def: New hook preferred_rename_class.
905 * targhook.c (default_preferred_rename_class): New.
906 * targhook.h: Declare it.
907 * doc/tm.texi.in: New hook TARGET_PREFERRED_RENAME_CLASS.
908 * doc/tm.texi: Regenerate.
909
910 2010-12-07 Jakub Jelinek <jakub@redhat.com>
911
912 PR debug/46799
913 * tree-parloops.c (separate_decls_in_region): Use UNKNOWN_LOCATION
914 instead of BUILTINS_LOCATION.
915 (create_loop_fn): Add LOC argument, pass it to build_decl instead of
916 BUILTINS_LOCATION.
917 (create_parallel_loop): Add LOC argument, use it for OMP clauses
918 and GIMPLE_*OMP* statements.
919 (gen_parallel_loop): Determine locus for the parallel loop, pass it
920 to create_loop_fn and create_parallel_loop.
921 * cfgexpand.c (gimple_expand_cfg): For builtin functions, call
922 set_curr_insn_source_location (UNKNOWN_LOCATION).
923
924 2010-12-07 Joern Rennecke <amylaar@spamcop.net>
925 Richard Guenther <rguenther@suse.de>
926
927 PR target/46737
928 * config/bfin/bfin.c (BB_AUX_INDEX): Cast to intptr_t.
929 (bfin_reorder_loops): Change type of index to intptr_t.
930
931 2010-12-07 Richard Guenther <rguenther@suse.de>
932
933 PR tree-optimization/46726
934 * tree-inline.c (estimate_num_insns): Special case pow (x, 2.0).
935
936 2010-12-07 Richard Guenther <rguenther@suse.de>
937
938 * tree-ssa-math-opts.c (execute_optimize_widening_mul): Unlink
939 virtual operands.
940
941 2010-12-07 Nicola Pero <nicola.pero@meta-innovation.com>
942
943 * c-parser.c (c_parser_typeof_specifier): Removed special
944 treatment of objc_volatilized attribute for Objective-C.
945
946 2010-12-06 Vladimir Makarov <vmakarov@redhat.com>
947
948 * ira.c (update_equiv_regs): Prohibit move insns if
949 pressure-sensitive scheduling was done.
950
951 2010-12-06 Nicola Pero <nicola.pero@meta-innovation.com>
952
953 * c-parser.c (c_parser_for_statement): Use c_fully_fold() instead
954 of c_process_expr_stmt() for the iterating and collection
955 expressions of an Objective-C fast enumeration loop.
956
957 2010-12-06 Jakub Jelinek <jakub@redhat.com>
958
959 PR debug/45997
960 * dwarf2out.c (modified_type_die): If both is_const_type and
961 is_volatile_type is set, start with DW_TAG_const_type or
962 DW_TAG_volatile_type depending on where we get qualified type
963 in the recursive call.
964
965 PR target/43897
966 * config/ia64/ia64.c (rtx_needs_barrier): Handle asm CLOBBER
967 as a store into that register.
968
969 PR tree-optimization/46528
970 PR debug/46338
971 * profile.c (branch_prob): Make sure last is never set to a debug
972 stmt.
973
974 PR debug/46771
975 * reginfo.c (init_subregs_of_mode): Don't call find_subregs_of_mode
976 on DEBUG_INSNs.
977
978 PR rtl-optimization/46777
979 * cfglayout.c (duplicate_insn_chain): Avoid duplicating
980 also barrier after tablejump.
981
982 2010-12-06 Joern Rennecke <amylaar@spamcop.net>
983 Richard Henderson <rth@redhat.com>
984
985 PR target/46740
986 * config/vax/vax.c (vax_output_int_move): Fold #if into if.
987
988 2010-12-06 Eric Botcazou <ebotcazou@adacore.com>
989
990 * config/sparc/sol2.h (PUSHSECTION_FORMAT): Redefine unconditionally.
991 * config/sparc/sol2-gas.h (PUSHSECTION_FORMAT): Redefine.
992
993 2010-12-06 Joern Rennecke <amylaar@spamcop.net>
994
995 PR target/46735
996 * config/frv/predicates.md (gpr_or_int12_operand): Use IN_RANGE.
997 (gpr_fpr_or_int12_operand, gpr_or_int10_operand): Likewise.
998 (int12_operand, int_2word_operand, uint16_operand): Likewise.
999 (fpr_or_int6_operand, int6_operand, int5_operand): Likewise.
1000 (uint5_operand, uint4_operand): Likewise.
1001 * config/frv/frv.h (IN_RANGE_P): Delete.
1002 (GPR_P, FPR_P, CC_P, ICC_P, FCC_P, CR_P, ICR_P, FCR_P): Use IN_RANGE.
1003 (ACC_P, ACCG_P, SPR_P, CONST_OK_FOR_I, CONST_OK_FOR_J): Likewise.
1004 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
1005 (CONST_OK_FOR_P): Likewise.
1006 * config/frv/frv.md (*movqicc_internal2_int): Likewise.
1007 (*movqicc_internal2_float, *movhicc_internal2_int): Likewise.
1008 (*movhicc_internal2_float, *movsicc_internal2_int): Likewise.
1009 (*movsicc_internal2_float, casesi): Likewise.
1010 * config/frv/frv.c (frv_frame_offset_rtx): Likewise.
1011 (frv_asm_output_mi_thunk, frv_legitimate_address_p_1): Likewise.
1012 (frv_emit_movsi, output_move_single, frv_emit_cond_move): Likewise.
1013 (frv_split_cond_move, frv_rtx_costs): Likewise.
1014
1015 PR target/46739
1016 * config/mmix/mmix.c (mmix_intval): Split shift count.
1017
1018 2010-12-06 H.J. Lu <hongjiu.lu@intel.com>
1019
1020 * config/i386/i386.c (m_COREI7): New.
1021 (initial_ix86_tune_features): Turn on
1022 X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL and
1023 X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL for Core i7.
1024
1025 2010-12-06 H.J. Lu <hongjiu.lu@intel.com>
1026
1027 * config.gcc: Allow corei7-avx for --with-arch/--with-cpu.
1028
1029 * config/i386/driver-i386.c (host_detect_local_cpu): Support
1030 Sandy Bridge.
1031
1032 * config/i386/i386.c (override_options): Handle "corei7-avx".
1033
1034 * doc/invoke.texi: Document corei7-avx.
1035
1036 2010-12-06 Richard Guenther <rguenther@suse.de>
1037
1038 PR tree-optimization/46806
1039 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do not
1040 coalesce different types.
1041
1042 2010-12-06 Richard Guenther <rguenther@suse.de>
1043
1044 PR tree-optimization/46785
1045 * tree-vect-loop.c (vect_is_simple_reduction_1): Also allow
1046 call statements as operand definition.
1047
1048 2010-12-06 Mingjie Xing <mingjie.xing@gmail.com>
1049
1050 * doc/tm.texi.in: Fix typo.
1051 * doc/tm.texi: Regenerate.
1052
1053 2010-12-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1054
1055 * config.gcc [hppa[12]*-*-hpux10*, hppa[12]*-*-hpux11*]: Fix typo in
1056 last change.
1057
1058 2010-12-06 Nicola Pero <nicola.pero@meta-innovation.com>
1059
1060 * c-family/c-common.h: Removed the declarations of all the objc_
1061 callbacks, and moved them into c-objc.h. Removed
1062 objc_ivar_visibility_kind and moved it into c-objc.h.
1063 * c-family/c-objc.h: New file.
1064 * c-family/c-common.c: Include c-objc.h.
1065 * c-family/c-format.c: Same change.
1066 * c-family/stub-objc.c: Same change.
1067 * c-decl.c: Include c-family/c-objc.h.
1068 * c-parser.c: Same change.
1069 * c-typeck.c: Same change.
1070 * c-config-lang.in (gtfiles): Added c-family/c-objc.h.
1071 * Makefile.in (c-decl.o): Depend on c-family/c-objc.h.
1072 (c-parser.o): same change.
1073 (c-typeck.o): Same change.
1074 (c-family/c-format.o): Same change.
1075 (c-family/stub-objc.o): Same change.
1076 (c-family/c-common.o): Same change.
1077 (PLUGIN_HEADERS): Added c-family/c-objc.h.
1078
1079 2010-12-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1080
1081 * config.gcc [hppa[12]*-*-hpux10*, hppa[12]*-*-hpux11*]: Ignore
1082 --with-dwarf2 option.
1083
1084 2010-12-03 Jan Hubicka <jh@suse.cz>
1085
1086 * lto-streamer-in.c (input_cfg): Fix pasto.
1087
1088 2010-12-03 Jan Hubicka <jh@suse.cz>
1089
1090 * ipa.c (cgraph_externally_visible_p): Do not localize builtins
1091 and functions with user asm defined names.
1092 (varpool_externally_visible_p): Do not localize vars with user
1093 asm defined names.
1094
1095 2010-12-03 Jan Hubicka <jh@suse.cz>
1096
1097 * dwarf2asm.c (dw2_output_indirect_constant_1): Set DECL_ASSEMBLER_NAME
1098 to prevent mangling with lto frontend.
1099
1100 2010-12-03 Jan Hubicka <jh@suse.cz>
1101
1102 * Makefile.in (LTO_STREAMER_H): Add GCOV_IO_H.
1103 * lto-cgraph.c (merge_profile_summaries): Fix thinko.
1104
1105 2010-12-03 Jan Hubicka <jh@suse.cz>
1106
1107 PR tree-optimization/46760
1108 * cgraph.c (cgraph_create_node): Initialize count_materialization_scale.
1109 * cgraph.h (struct cgraph_node): Add count_materialization_scale.
1110 * lto-cgraph.c (lto_output_edge): Fix assert.
1111 (lto_output_node): Output count_materialization_scale.
1112 (output_profile_summary): Output only runs and sum_max.
1113 (input_node): Input count_materialization_scale.
1114 (input_profile_summary): Read data into file specific gcov summary.
1115 (merge_profile_summaries): New function.
1116 (input_cgraph): Update call of input_profile_summary;
1117 call merge_profile_summaries.
1118 * lto-streamer-in.c (input_cfg): Add count_materialization_scale arg;
1119 rescale counts at read in.
1120 (intput_bb): Likewise.
1121 (input_function): Update call of input_bb.
1122 (lto_read_body): Update call of input_cfg.
1123 * lto-streamer.h: Inlclude gcov-io.h
1124 (lto_file_decl_data): Add gcov_ctr_summary.
1125
1126 2010-12-03 Dave Korn <dave.korn.cygwin@gmail.com>
1127
1128 * doc/tm.texi.in (Cond. Exec. Macros): Rename node from this ...
1129 (Cond Exec Macros): ... to this.
1130 * doc/tm.texi: Regenerate.
1131
1132 2010-12-03 Jason Merrill <jason@redhat.com>
1133
1134 PR debug/46123
1135 * dwarf2out.c (gen_tagged_type_die): Don't put local types in
1136 a declaration DIE.
1137
1138 2010-12-03 Nathan Froyd <froydnj@codesourcery.com>
1139
1140 * config/arm/arm.c (arm_legitimate_index_p): Split
1141 VALID_NEON_QREG_MODE and VALID_NEON_DREG_MODE cases. Permit
1142 slightly larger constants in the latter case.
1143 (thumb2_legitimate_index_p): Likewise.
1144
1145 2010-12-03 Joseph Myers <joseph@codesourcery.com>
1146
1147 * common.opt (N, Q, Qn, Qy, Z, n, r, s, t): New options.
1148 * gcc.c (cc1_options): Add %{Qy:}.
1149
1150 2010-12-03 Joseph Myers <joseph@codesourcery.com>
1151
1152 * gcc.c (LINK_COMMAND_SPEC): Don't handle -A, -d or -m.
1153 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
1154 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Likewise.
1155
1156 2010-12-03 Alexander Monakov <amonakov@ispras.ru>
1157
1158 PR rtl-optimization/45354
1159 * sel-sched-ir.c (jump_leads_only_to_bb_p): Rename to ...
1160 (bb_has_removable_jump_to_p): This. Update all callers. Make static.
1161 Allow BBs ending with a conditional jump. Forbid EDGE_CROSSING jumps.
1162 * sel-sched-ir.h (jump_leads_only_to_bb_p): Delete prototype.
1163
1164 2010-12-03 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1165
1166 * basic-block.h (struct edge_prediction): Remove forward
1167 declaration.
1168 * tree-flow.h (struct edge_prediction): Move from here...
1169 * predict.c (struct edge_prediction): ...to here.
1170 * cselib.h (struct elt_list): Move from here...
1171 * cselib.c (struct elt_list): ...to here.
1172
1173 2010-12-02 Ian Lance Taylor <iant@google.com>
1174
1175 * gcc.c (default_compilers): Add entry for ".go".
1176 * common.opt: Add -static-libgo as a driver option.
1177 * doc/install.texi (Configuration): Mention libgo as an option for
1178 --enable-shared. Mention go as an option for --enable-languages.
1179 * doc/invoke.texi (Overall Options): Mention .go as a file name
1180 suffix. Mention go as a -x option.
1181 * doc/frontends.texi (G++ and GCC): Mention Go as a supported
1182 language.
1183 * doc/sourcebuild.texi (Top Level): Mention libgo.
1184 * doc/standards.texi (Standards): Add section on Go language.
1185 Move references for other languages into their own section.
1186 * doc/contrib.texi (Contributors): Mention that I contributed the
1187 Go frontend.
1188
1189 2010-12-03 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1190
1191 * tree.h (struct call_expr_arg_iterator_d): Remove GTY tag.
1192 (const_call_expr_arg_iterator_d): Likewise.
1193 (expanded_location): Likewise.
1194 * c-tree.h (struct c_arg_tag_d): Likewise.
1195 * dwarf2out.c (struct cfa_loc): Likewise.
1196 (struct skeleton_chain_struct): Likewise.
1197 * except.c (struct ttypes_filter): Likewise.
1198 * cselib.h (struct cselib_val_struct): Likewise.
1199 (elt_loc_list): Likewise.
1200 (elt_list): Likewise.
1201 * varasm.c (struct addr_const): Likewise.
1202 * tree-flow.h (struct edge_prediction): Likewise.
1203 (struct int_tree_map): Likewise.
1204 (struct _edge_var_map): Likewise.
1205
1206 2010-12-02 H.J. Lu <hongjiu.lu@intel.com>
1207
1208 PR target/46768
1209 * config/i386/i386.c (initial_ix86_tune_features): Turn on
1210 X86_TUNE_INTER_UNIT_MOVES for Core 2 and Core i7.
1211
1212 2010-12-02 H.J. Lu <hongjiu.lu@intel.com>
1213
1214 * config.gcc: Allow corei7 for --with-arch=/--with-cpu=.
1215
1216 2010-12-02 Ian Lance Taylor <iant@google.com>
1217
1218 * configure.ac: AC_DEFINE ENABLE_BUILD_WITH_CXX. Check for C++
1219 header files unordered_map, tr1/unordered_map, and ext/hash_map.
1220 * configure, config.in: Rebuild.
1221
1222 2010-11-02 Eric Botcazou <ebotcazou@adacore.com>
1223
1224 PR target/46685
1225 * config/sparc/sparc.c (can_use_mov_pic_label_ref): New predicate.
1226 (sparc_expand_move): Call it to decide whether to emit the special
1227 mov{si,di}_pic_label_ref patterns.
1228 (sparc_legitimize_pic_address): Call it to decide whether to emit
1229 the regular PIC sequence for labels. Fix long line.
1230 (sparc_file_end): Set is_thunk for the PIC helper.
1231
1232 2010-12-02 Eric Botcazou <ebotcazou@adacore.com>
1233
1234 * tree.c (build_range_type_1): Do not SET_TYPE_STRUCTURAL_EQUALITY
1235 for a non-shared type.
1236
1237 2010-12-02 Sebastian Pop <sebastian.pop@amd.com>
1238
1239 PR middle-end/45297
1240 * tree-scalar-evolution.c (interpret_rhs_expr): Handle ADDR_EXPR
1241 with MEM_REFs as POINTER_PLUS_EXPR.
1242
1243 2010-12-02 Joseph Myers <joseph@codesourcery.com>
1244
1245 * config/i386/linux.h, config/m32r/linux.h, config/m68k/linux.h,
1246 config/sparc/linux.h, config/sparc/linux64.h: Remove comments
1247 mentioning /lib/elf.
1248
1249 2010-12-02 Joseph Myers <joseph@codesourcery.com>
1250
1251 * config/bfin/bfin.h (LINK_SPEC): Remove %{b}.
1252 * config/frv/frv.h (LINK_SPEC): Remove %{b}.
1253 * config/i386/netware.h (LINK_SPEC): Remove %{b}.
1254 * config/i386/nto.h (LINK_SPEC): Remove %{b}.
1255 * config/lm32/uclinux-elf.h (LINK_SPEC): Remove %{b}.
1256 * config/sol2.h (LINK_SPEC): Remove %{b}.
1257 * config/svr4.h (LINK_SPEC): Remove %{b}.
1258
1259 2010-12-02 Joseph Myers <joseph@codesourcery.com>
1260
1261 * config/i386/freebsd.h (LINK_SPEC): Cut long comment.
1262 * config/i386/linux.h (LINK_SPEC): Cut long comment.
1263 * config/i386/netware.h (LINK_SPEC): Remove %{V}.
1264 * config/m32r/linux.h (LINK_SPEC): Cut long comment.
1265 * config/m68k/linux.h (LINK_SPEC): Cut long comment.
1266 * config/sparc/linux.h (LINK_SPEC): Cut long comment.
1267 (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}.
1268 * config/sparc/linux64.h (LINK_SPEC): Cut long comment.
1269 (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}.
1270 * config/sparc/netbsd-elf.h (ASM_SPEC): Remove %{V} and
1271 %{v:%{!V:-V}}.
1272
1273 2010-12-02 Joseph Myers <joseph@codesourcery.com>
1274
1275 * gcc.c (trad_capable_cpp, default_compilers): Don't handle
1276 -ftraditional.
1277
1278 2010-12-02 Joseph Myers <joseph@codesourcery.com>
1279
1280 * config/alpha/freebsd.h (LINK_SPEC): Don't handle -Wl,.
1281 * config/bfin/bfin.h (ASM_SPEC): Don't handle -Wa,.
1282 * config/frv/frv.h (ASM_SPEC): Don't handle -Wa,.
1283 * config/lm32/uclinux-elf.h (LINK_SPEC): Don't handle -Wl,.
1284 * config/microblaze/microblaze.h (LINK_SPEC): Don't handle -Wl,.
1285 * config/mn10300/linux.h (ASM_SPEC): Don't handle -Wa,.
1286 * config/pa/pa-linux.h (ASM_SPEC): Don't handle -Wa,.
1287 * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Don't handle -Wa,.
1288 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Don't handle -Wa,.
1289 * config/rs6000/sysv4.h (LINK_SPEC): Don't handle -Wl,.
1290 * config/rs6000/vxworks.h (ASM_SPEC): Don't handle -Wa,.
1291 * config/sol2.h (ASM_SPEC): Don't handle -Wa,.
1292 * config/sparc/linux.h (ASM_SPEC): Don't handle -Wa,.
1293 * config/sparc/linux64.h (ASM_SPEC): Don't handle -Wa,.
1294 * config/sparc/sp-elf.h (ASM_SPEC): Don't handle -Wa,.
1295 * config/sparc/sysv4.h (ASM_SPEC): Don't handle -Wa,.
1296 * config/svr4.h (SVR4_ASM_SPEC): Don't handle -Wa,.
1297 * config/vxworks.h (VXWORKS_LINK_SPEC): Don't handle -Wl,.
1298
1299 2010-12-02 Paul Koning <ni1d@arrl.net>
1300
1301 * config/pdp11/pdp11.c (output_jump): Map unsigned to signed
1302 opcodes if CC_NO_OVERFLOW is set.
1303 (notice_update_cc_on_set): Correct setting of CC0 as a side
1304 effect; set CC_NO_OVERFLOW for cases where C flag is not
1305 meaningful.
1306
1307 2010-12-02 Ian Lance Taylor <iant@google.com>
1308
1309 * doc/install.texi (Configuration): Update default for
1310 --with-boot-ldflags.
1311
1312 2010-12-02 Nathan Froyd <froydnj@codesourcery.com>
1313
1314 PR c/45062
1315 * c-decl.c (grokparms): Set arg_info->parms to NULL_TREE when
1316 !funcdef_flag.
1317
1318 2010-12-02 Sebastian Pop <sebastian.pop@amd.com>
1319
1320 PR tree-optimization/45199
1321 * tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p): New.
1322 (stores_zero_from_loop): Call
1323 mem_write_stride_of_same_size_as_unit_type_p.
1324 * tree-data-ref.h (stride_of_unit_type_p): New.
1325 * tree-loop-distribution.c (generate_memset_zero): Simplified.
1326 Call stride_of_unit_type_p.
1327 (build_rdg_partition_for_component): Do not call
1328 rdg_flag_similar_memory_accesses when
1329 flag_tree_loop_distribute_patterns is set.
1330
1331 2010-12-02 Richard Guenther <rguenther@suse.de>
1332
1333 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Disregard
1334 sign-changing conversions for induction detection.
1335
1336 2010-12-02 Richard Guenther <rguenther@suse.de>
1337
1338 PR tree-optimization/46723
1339 * tree-vect-loop.c (get_initial_def_for_induction): Strip
1340 conversions from the induction evolution and apply it to
1341 the result instead.
1342 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Handle
1343 assigns for induction defs.
1344
1345 2010-12-02 Richard Guenther <rguenther@suse.de>
1346
1347 * value-prof.c (gimple_ic): Use stmt_ends_bb_p to detect
1348 the case we need to split the edge and not the block.
1349
1350 2010-12-02 Bernd Schmidt <bernds@codesourcery.com>
1351
1352 DFA model for Core 2 and Core i7 scheduling.
1353
1354 * config/i386/core2.md: New DFA model for Core 2 and Core i7.
1355 * config/i386/i386.c (ix86_option_override_internal): Update entries
1356 for Core 2 and Core i7.
1357 (ix86_issue_rate): Set issue rate to 3 [be realistic].
1358 * config/i386/i386.md: Include "core2.md".
1359 (define_attr cpu): Add "corei7".
1360
1361 2010-12-02 Maxim Kuvyrkov <maxim@codesourcery.com>
1362
1363 Define tuning for Core 2 and Core i7.
1364
1365 * config/i386/i386-c.c (ix86_target_macros_internal): Update.
1366 * config/i386/i386.c (core2_cost): Delete, use generic costs instead.
1367 (m_CORE2): Replace with m_CORE2_{32,64}.
1368 (m_CORE2I7{,_32,_64}): New macros.
1369 (m_GENERIC32, m_GENERIC64): Update.
1370 (initial_ix86_tune_features, x86_accumulate_outgoing_args,)
1371 (x86_arch_always_fancy_math_387): Set m_CORE2I7_32 iff m_GENERIC32 and
1372 set m_CORE2I7_64 iff m_GENERIC64.
1373 (processor_target_table): Use generic costs for Core 2 and Core i7.
1374 (ix86_option_override_internal): Update entries for Core 2 and Core i7.
1375 (ix86_issue_rate): Remove entry for Core 2.
1376 (ia32_multipass_dfa_lookahead, ix86_sched_init_global): Update.
1377 * config/i386/i386.h (TARGET_CORE2_32, TARGET_CORE2_64): New macros.
1378 (TARGET_CORE2): Update.
1379 (PROCESSOR_CORE2_32, PROCESSOR_CORE2_64): New constants.
1380 (PROCESSOR_CORE2): Remove.
1381
1382 2010-12-02 Richard Guenther <rguenther@suse.de>
1383
1384 * lto-streamer.h (LTO_major_version): Bump to 2.
1385
1386 2010-12-02 Richard Guenther <rguenther@suse.de>
1387
1388 PR lto/44871
1389 * gimple.c (canonical_type_hash_cache): New hashtable.
1390 (gimple_type_hash): Make a wrapper around ...
1391 (gimple_type_hash_1): ... this. Take gtc_mode argument.
1392 (gimple_canonical_type_hash): Likewise.
1393 (gtc_visit): Take a gtc_mode argument.
1394 (gimple_types_compatible_p_1): Likewise. Do not compare struct
1395 tag names or field names when computing canonical types.
1396 (gimple_types_compatible_p): Adjust.
1397 (visit): Take a gtc_mode argument.
1398 (iterative_hash_gimple_type): Likewise. Do not hash struct tag
1399 names or field names when computing hashes of canonical types.
1400 (gimple_register_canonical_type): Use gimple_canonical_type_hash
1401 for the hash.
1402 (print_gimple_types_stats): Dump stats of canonical_type_hash_cache.
1403 (free_gimple_type_tables): Free canonical_type_hash_cache.
1404
1405 2010-12-02 Richard Guenther <rguenther@suse.de>
1406 Ira Rosen <irar@il.ibm.com>
1407
1408 PR tree-optimization/46663
1409 * tree-vect-patterns.c (vect_recog_pow_pattern): Check that
1410 FUNCTION_DECL exists and that it's a builtin.
1411
1412 2010-12-02 Jie Zhang <jie@codesourcery.com>
1413
1414 PR middle-end/46674
1415 * varasm.c (compute_visible_aliases): Handle user set
1416 assembler name.
1417
1418 2010-12-01 Michael Meissner <meissner@linux.vnet.ibm.com>
1419
1420 * config/rs6000/rs6000.c (rs6000_option_override_internal): Fix
1421 thinko regarding setting -mno-<xxx> debug switches.
1422 (rs6000_rtx_costs): Add FMA. Delete old rtl based FMA costs.
1423
1424 2010-12-01 Joseph Myers <joseph@codesourcery.com>
1425
1426 * intl.c: Don't include tm.h.
1427 * Makefile.in (intl.o): Don't depend on $(TM_H).
1428
1429 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
1430
1431 * graphite-sese-to-poly.c (analyze_drs_in_stmts): Fix set but
1432 unused warning.
1433 (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
1434
1435 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
1436
1437 * graphite-sese-to-poly.c (analyze_drs): Removed.
1438 (build_scop_drs): Do not call analyze_drs.
1439 (analyze_drs_in_stmts): New.
1440 (insert_stmts): New.
1441 (insert_out_of_ssa_copy): Call analyze_drs_in_stmts.
1442 (insert_out_of_ssa_copy_on_edge): Same.
1443 (rewrite_close_phi_out_of_ssa): Call insert_stmts.
1444 (rewrite_phi_out_of_ssa): Same.
1445 (rewrite_cross_bb_scalar_dependence): Same.
1446 (split_reduction_stmt): Move data references in the new basic blocks.
1447 (translate_scalar_reduction_to_array_for_stmt): Call insert_stmts.
1448
1449 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
1450
1451 * sese.c (rename_uses): Do not handle ADDR_EXPR in LHS of assignments.
1452
1453 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
1454
1455 PR middle-end/45297
1456 * graphite-poly.c (new_poly_bb): Returns a poly_bb_p. Do not take
1457 the reduction bool in parameter. Clear PBB_IS_REDUCTION. Set GBB_PBB.
1458 * graphite-poly.h (new_poly_bb): Update declaration.
1459 (gbb_from_bb): Moved here...
1460 (pbb_from_bb): New.
1461 * graphite-sese-to-poly.c (var_used_in_not_loop_header_phi_node):
1462 Removed.
1463 (graphite_stmt_p): Removed.
1464 (try_generate_gimple_bb): Returns a gimple_bb_p. Do not pass in
1465 sbitmap reductions. Always build a gimple_bb_p. Do not call
1466 new_poly_bb.
1467 (build_scop_bbs_1): Do not pass in sbitmap reductions.
1468 (build_scop_bbs): Same.
1469 (gbb_from_bb): ... from here.
1470 (add_conditions_to_constraints): Moved up.
1471 (analyze_drs): New.
1472 (build_scop_drs): Call analyze_drs. Remove all the PBBs that do
1473 not contain data references.
1474 (new_pbb_from_pbb): New.
1475 (insert_out_of_ssa_copy_on_edge): Call new_pbb_from_pbb after a
1476 block is split.
1477 (rewrite_close_phi_out_of_ssa): Update call to
1478 insert_out_of_ssa_copy_on_edge.
1479 (rewrite_reductions_out_of_ssa): Now static.
1480 (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
1481 (split_pbb): New.
1482 (split_reduction_stmt): Call split_pbb.
1483 (translate_scalar_reduction_to_array): Pass in the scop, do not
1484 pass in the sbitmap reductions.
1485 (rewrite_commutative_reductions_out_of_ssa_close_phi): Same.
1486 (rewrite_commutative_reductions_out_of_ssa_loop): Same.
1487 (rewrite_commutative_reductions_out_of_ssa): Same.
1488 (build_poly_scop): Call build_scop_bbs,
1489 rewrite_commutative_reductions_out_of_ssa,
1490 rewrite_reductions_out_of_ssa, and
1491 rewrite_cross_bb_scalar_deps_out_of_ssa. Move build_scop_drs
1492 before scop_to_lst.
1493 * graphite-sese-to-poly.h (rewrite_commutative_reductions_out_of_ssa):
1494 Removed declaration.
1495 (rewrite_reductions_out_of_ssa): Same.
1496 (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
1497 (build_scop_bbs): Same.
1498 * graphite.c (graphite_transform_loops): Do not initialize reductions.
1499 Do not call build_scop_bbs,
1500 rewrite_commutative_reductions_out_of_ssa,
1501 rewrite_reductions_out_of_ssa, and
1502 rewrite_cross_bb_scalar_deps_out_of_ssa.
1503 * sese.h (struct gimple_bb): Add field pbb.
1504 (GBB_PBB): New.
1505
1506 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
1507
1508 * graphite-sese-to-poly.c (handle_scalar_deps_crossing_scop_limits):
1509 New.
1510 (rewrite_cross_bb_scalar_deps): Pass in the scop. Call
1511 handle_scalar_deps_crossing_scop_limits.
1512 (rewrite_cross_bb_scalar_deps_out_of_ssa): Create an empty BB
1513 after the scop. Update call to rewrite_cross_bb_scalar_deps.
1514
1515 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
1516
1517 * sese.c (rename_uses): Call recompute_tree_invariant_for_addr_expr
1518 when replacing a constant in an ADDR_EXPR.
1519
1520 2010-12-01 Sebastian Pop <sebastian.pop@amd.com>
1521
1522 * graphite-blocking.c (lst_do_strip_mine_loop): Extra parameter
1523 for the stride.
1524 (lst_do_strip_mine): Same.
1525 (scop_do_strip_mine): Same.
1526 * graphite-poly.c (apply_poly_transforms): Update call to
1527 scop_do_strip_mine.
1528 * graphite-poly.h (scop_do_strip_mine): Update declaration.
1529
1530 2010-12-01 Jan Hubicka <jh@suse.cz>
1531
1532 * tree.c (build_common_builtin_nodes): Do not initialize
1533 BUILT_IN_PROFILE_FUNC_ENTER and BUILT_IN_PROFILE_FUNC_EXIT.
1534 * builtins.c (expand_builtin_profile_func): Remove.
1535 (expand_builtin): Do not handle BUILT_IN_PROFILE_FUNC_ENTER and
1536 BUILT_IN_PROFILE_FUNC_EXIT.
1537 * builtins.def (profile_func_enter, profile_func_exit): Remove stubs.
1538 (__cyg_profile_func_enter, __cyg_profile_func_exit): New.
1539 * gimplify.c (gimplify_function_tree): Reorganize code calling
1540 profiling functions.
1541
1542 2010-12-01 Joseph Myers <joseph@codesourcery.com>
1543
1544 * opts.c: Expand comment on tm.h include.
1545
1546 2010-12-01 Yao Qi <yao@codesourcery.com>
1547
1548 * config/arm/predicates.md ("vfp_register_operand"): Return true for
1549 VFP_D0_D7_REGS classes.
1550
1551 2010-12-01 Joseph Myers <joseph@codesourcery.com>
1552
1553 * common.opt (flag_stack_check): New Variable entry.
1554 (fcompare-debug-second): Use Var.
1555 * flags.h (flag_compare_debug, flag_stack_check): Remove.
1556 * opts.c (flag_compare_debug): Remove.
1557 (common_handle_option): Don't handle OPT_fcompare_debug_second.
1558 Set opts->x_flag_stack_check for OPT_fstack_check_.
1559 * toplev.c (flag_stack_check): Remove.
1560
1561 2010-12-01 Joseph Myers <joseph@codesourcery.com>
1562
1563 * common.opt (main_input_filename, main_input_basename,
1564 main_input_baselength): New Variable entries. From toplev.c.
1565 * final.c (output_quoted_string): Move from toplev.c.
1566 * output.h (output_quoted_string): Move from toplev.h.
1567 * opts-global.c (read_cmdline_options): Use gcc_options pointer to
1568 access main_input_filename, main_input_baselength and
1569 main_input_basename.
1570 * targhooks.c: Include intl.h and opts.h.
1571 (option_affects_pch_p, default_get_pch_validity): Move from
1572 toplev.c.
1573 * targhooks.h (option_affects_pch_p, default_get_pch_validity):
1574 Move from toplev.h.
1575 * toplev.c (main_input_filename, main_input_basename,
1576 main_input_baselength): Move to common.opt.
1577 (output_quoted_string): Move to final.c.
1578 (warn_deprecated_use): Move to tree.c.
1579 (option_affects_pch_p, default_get_pch_validity,
1580 pch_option_mismatch, default_pch_valid_p): Move to targhooks.c.
1581 * toplev.h (skip_leading_substring): Move to tree-dump.c.
1582 (warn_deprecated_use): Move to tree.h.
1583 (output_quoted_string): Move to output.h.
1584 (main_input_filename, main_input_basename, main_input_baselength):
1585 Move to common.opt.
1586 (default_get_pch_validity, default_pch_valid_p): Move to
1587 targhooks.c.
1588 * tree-dump.c (skip_leading_substring): Move from toplev.h.
1589 * tree.c (warn_deprecated_use): Move from toplev.c.
1590 * tree.h (warn_deprecated_use): Move from toplev.h.
1591 * c-typeck.c, config/alpha/alpha.c, config/arc/arc.c,
1592 config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
1593 config/cris/cris.c, config/crx/crx.c, config/fr30/fr30.c,
1594 config/frv/frv.c, config/h8300/h8300.c, config/ia64/ia64.c,
1595 config/iq2000/iq2000.c, config/lm32/lm32.c, config/m32c/m32c.c,
1596 config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c,
1597 config/mcore/mcore.c, config/mep/mep.c,
1598 config/microblaze/microblaze.c, config/mips/mips.c,
1599 config/mmix/mmix.c, config/mn10300/mn10300.c,
1600 config/moxie/moxie.c, config/pa/pa.c, config/pdp11/pdp11.c,
1601 config/picochip/picochip.c, config/s390/s390.c,
1602 config/score/score.c, config/sh/sh.c, config/sparc/sparc.c,
1603 config/spu/spu.c, config/stormy16/stormy16.c, config/v850/v850.c,
1604 config/vax/vax.c, config/xtensa/xtensa.c, gimple-low.c,
1605 graphite-sese-to-poly.c, plugin.c, tree-cfg.c, tree-inline.c,
1606 varasm.c, xcoffout.c: Don't include toplev.h.
1607 * Makefile.in (c-typeck.o, tree-inline.o, tree-cfg.o,
1608 gimple-low.o, graphite-sese-to-poly.o, targhooks.o, plugin.o,
1609 varasm.o, xcoffout.o): Update dependencies.
1610 * config/arm/t-arm (arm.o): Update dependencies.
1611 * config/spu/t-spu-elf (spu.o): Update dependencies.
1612
1613 2010-12-01 Richard Guenther <rguenther@suse.de>
1614
1615 PR tree-optimization/46730
1616 * value-prof.c (gimple_ic): Always generate a separate merge BB.
1617
1618 2010-11-30 Ian Lance Taylor <iant@google.com>
1619
1620 * config/i386/linux.h (ASM_SPEC): Pass -v as -v, not -V. Remove
1621 all of %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}.
1622 * config/i386/linux64.h (ASM_SPEC): Likewise.
1623 * config/i386/mingw-w64.h (ASM_SPEC): Likewise.
1624 * config/i386/sol2-10.h (ASM_SPEC) [USE_GAS]: Likewise.
1625 * config/i386/vxworks.h (ASM_SPEC): Likewise.
1626 * config/i386/x86-64.h (ASM_SPEC): Likewise.
1627 * config/i386/sol2.h (ASM_SPEC): Remove %{Wa,*:%*}.
1628 * config/i386/sol2-10.h (ASM_SPEC) [!USE_GAS]: Likewise.
1629
1630 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
1631
1632 * c-decl.c (finish_function): Call objc_finish_function in
1633 Objective-C.
1634 * c-typeck.c (convert_for_assignment): Do not call
1635 objc_type_quals_match().
1636
1637 2010-11-30 Richard Guenther <rguenther@suse.de>
1638
1639 PR tree-optimization/46722
1640 * tree-ssa-math-opts.c (convert_mult_to_fma): Get multiplication
1641 operands as arguments.
1642 (execute_optimize_widening_mul): Also handle power of two as
1643 multiplication.
1644
1645 2010-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
1646
1647 PR middle-end/46709
1648 * cgraphunit.c (process_function_and_variable_attributes): Fix
1649 cut'n'pasteo.
1650
1651 2010-11-30 Joseph Myers <joseph@codesourcery.com>
1652
1653 * hwint.c: New. Extracted from toplev.c.
1654 * hwint.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
1655 Move from toplev.h.
1656 * toplev.c (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
1657 Move to hwint.c.
1658 * toplev.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
1659 Move to hwint.h.
1660 * builtins.c, combine.c, config/i386/winnt.c, double-int.c,
1661 explow.c, expmed.c, fold-const.c, ggc-page.c, ggc-zone.c, ifcvt.c,
1662 ipa-struct-reorg.c, ira-color.c, matrix-reorg.c, omp-low.c,
1663 real.c, recog.c, reload.c, rtlanal.c, simplify-rtx.c,
1664 stor-layout.c, tree-dfa.c, tree-ssa-alias.c,
1665 tree-ssa-loop-niter.c, tree-vect-data-refs.c,
1666 tree-vect-loop-manip.c, tree-vect-loop.c, tree-vect-stmts.c,
1667 tree-vrp.c: Don't include toplev.h.
1668 * genattrtab.c, genconditions.c, genemit.c, genextract.c,
1669 genoutput.c, genpeep.c, genpreds.c, genrecog.c: Don't include
1670 toplev.h in generated output.
1671 * Makefile.in (OBJS-common): Add hwint.o.
1672 Dependencies for above files changed to remove toplev.h.
1673 (hwint.o): New.
1674 (insn-attrtab.o, insn-emit.o, insn-extract.o, insn-output.o,
1675 insn-peep.o, insn-preds.o, insn-recog.o): Don't depend on
1676 toplev.h.
1677 * config/i386/t-cygming (winnt.o): Don't depend on toplev.h.
1678 * config/i386/t-interix (winnt.o): Don't depend on toplev.h.
1679
1680 2010-11-30 Richard Guenther <rguenther@suse.de>
1681
1682 PR tree-optimization/46717
1683 * value-prof.c (gimple_ic): Preserve EH edges of the indirect
1684 call. Manually create EH edges for the direct call and update
1685 target PHI nodes.
1686
1687 2010-11-30 Joseph Myers <joseph@codesourcery.com>
1688
1689 * diagnostic-core.h: Include bversion.h.
1690 * toplev.h: Don't include input.h or bversion.h.
1691 (parse_optimize_options): Don't declare here.
1692 * alias.c, auto-inc-dec.c, c-aux-info.c, c-convert.c, c-parser.c,
1693 caller-save.c, cfg.c, cfganal.c, cfgbuild.c, cfgcleanup.c,
1694 combine-stack-adj.c, config/arm/pe.c, config/darwin-c.c,
1695 config/host-darwin.c, config/i386/host-cygwin.c,
1696 config/i386/host-mingw32.c, config/i386/msformat-c.c,
1697 config/i386/netware.c, config/i386/nwld.c,
1698 config/i386/winnt-cxx.c, config/i386/winnt-stubs.c,
1699 config/ia64/ia64-c.c, config/m32c/m32c-pragma.c,
1700 config/mep/mep-pragma.c, config/microblaze/microblaze-c.c,
1701 config/rs6000/host-darwin.c, config/rs6000/rs6000-c.c,
1702 config/score/score3.c, config/score/score7.c,
1703 config/sh/symbian-base.c, config/sh/symbian-c.c,
1704 config/sh/symbian-cxx.c, config/sol2-c.c, config/sol2.c,
1705 config/v850/v850-c.c, config/vxworks.c, convert.c, cppbuiltin.c,
1706 cselib.c, dbgcnt.c, ddg.c, dfp.c, dominance.c, emit-rtl.c,
1707 fixed-value.c, fwprop.c, ggc-common.c, gimple.c, gimplify.c,
1708 graphite-blocking.c, graphite-clast-to-gimple.c,
1709 graphite-dependences.c, graphite-flattening.c,
1710 graphite-interchange.c, graphite-poly.c,
1711 graphite-scop-detection.c, graphite.c, haifa-sched.c,
1712 implicit-zee.c, integrate.c, ipa-pure-const.c, ipa-reference.c,
1713 ira-build.c, ira-conflicts.c, ira-costs.c, ira-lives.c, jump.c,
1714 lists.c, loop-doloop.c, loop-iv.c, lto-cgraph.c, lto-compress.c,
1715 lto-opts.c, lto-section-in.c, lto-section-out.c,
1716 lto-streamer-out.c, lto-symtab.c, modulo-sched.c, optabs.c,
1717 params.c, postreload-gcse.c, postreload.c, predict.c, profile.c,
1718 regcprop.c, reginfo.c, regmove.c, reorg.c, resource.c,
1719 sched-deps.c, sched-ebb.c, sched-rgn.c, sdbout.c,
1720 sel-sched-dump.c, sel-sched-ir.c, sese.c, stmt.c, targhooks.c,
1721 tree-cfgcleanup.c, tree-mudflap.c, tree-nomudflap.c,
1722 tree-object-size.c, tree-outof-ssa.c, tree-phinodes.c,
1723 tree-profile.c, tree-sra.c, tree-ssa-ccp.c, tree-ssa-coalesce.c,
1724 tree-ssa-live.c, tree-ssa-loop-prefetch.c, tree-ssa-loop.c,
1725 tree-ssa-operands.c, tree-ssa-structalias.c, tree-ssa-uninit.c,
1726 tree-vect-patterns.c, value-prof.c, var-tracking.c, web.c: Don't
1727 include toplev.h.
1728 * Makefile.in (TOPLEV_H): Remove. All uses changed to use
1729 toplev.h. Dependencies for above files and c-family files changed
1730 to remove $(TOPLEV_H) or toplev.h.
1731 (C_TREE_H): Don't include $(TOPLEV_H).
1732 (DIAGNOSTIC_CORE_H): Use $(INPUT_H) instead of input.h. Add
1733 bversion.h.
1734 * config/arm/t-pe, config/arm/t-wince-pe, config/i386/t-cygming,
1735 config/ia64/t-ia64, config/mep/t-mep, config/score/t-score-elf,
1736 config/t-darwin, config/t-sol2,
1737 config/t-vxworks, config/v850/t-v850, config/v850/t-v850e:
1738 Dependencies for above files changed to remove $(TOPLEV_H) or
1739 toplev.h.
1740
1741 2010-11-30 Richard Guenther <rguenther@suse.de>
1742
1743 PR lto/44986
1744 * gcc.c (main): Use the first input with a compiler as infile
1745 for link spec processing.
1746
1747 2010-11-30 Richard Guenther <rguenther@suse.de>
1748
1749 PR lto/45949
1750 * cgraphunit.c (ipa_passes): Stop after errors from
1751 small IPA passes.
1752
1753 2010-11-30 Mingjie Xing <mingjie.xing@gmail.com>
1754
1755 * gcc-plugin.h: Include coretypes.h.
1756 * Makefile.in (FUNCTION_H): Add hard-reg-set.h.
1757
1758 2010-11-30 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1759
1760 * ggc-zone.c (ggc_pch_read): Fix conditional compilation.
1761 * ggc-none.c (ggc_internal_alloc_zone_stat)
1762 (ggc_internal_cleared_alloc_zone_stat): New.
1763
1764 2010-11-29 Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
1765
1766 * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Check
1767 TARGET_SINGLE_PIC_BASE for RS6000_PIC_OFFSET_TABLE_REGNUM.
1768 (rs6000_emit_prologue): Don't set PIC register if
1769 TARGET_SINGLE_PIC_BASE.
1770 * config/rs6000/rs6000.opt (msingle-pic-base): New option.
1771 * doc/invoke.texi (msingle-pic-base): Document.
1772
1773 2010-11-29 H.J. Lu <hongjiu.lu@intel.com>
1774
1775 PR driver/46712
1776 * exec-tool.in (id): New.
1777 Check and export LT_RCU_$id instead of LT_RCU.
1778
1779 2010-11-29 Zdenek Dvorak <rakdver@kam.uniff.cz>
1780
1781 PR tree-optimization/46675
1782 * tree-ssa-loop-niter.c (split_to_var_and_offset): Avoid overflow
1783 in offset calculation.
1784
1785 2010-11-29 Jan Hubicka <jh@suse.cz>
1786
1787 * collect2.c (main): Do not imply verbose output with
1788 LTO and linker plugin.
1789
1790 2010-11-29 Dodji Seketeli <dodji@redhat.com>
1791
1792 * dwarf2out.c (print_die): Print the address of the current DIE or
1793 of any DIE referenced by the current one.
1794
1795 2010-11-29 Dodji Seketeli <dodji@redhat.com>
1796
1797 PR debug/46101
1798 * dwarf2out.c (lookup_type_die_strip_naming_typedef): New
1799 function.
1800 (scope_die_for, gen_type_die_for_member): Replace uses of
1801 lookup_type_die with use of lookup_type_die_strip_naming_typedef.
1802
1803 2010-11-29 Iain Sandoe <iains@gcc.gnu.org>
1804
1805 * config/darwin.c (darwin_mergeable_string_section): Remove blank line.
1806 (darwin_asm_declare_object_name): Correct spelling.
1807 (darwin_output_aligned_bss): Likewise.
1808
1809 2010-11-29 Iain Sandoe <iains@gcc.gnu.org>
1810 Mike Stump <mrs@gcc.gnu.org>
1811
1812 PR target/26427
1813 PR target/33120
1814 PR testsuite/35710
1815 * config/i386/darwin.h (ASM_OUTPUT_COMMON): Remove
1816 (ASM_OUTPUT_LOCAL): Likewise.
1817 * config/darwin-protos.h (darwin_asm_declare_object_name): New.
1818 (darwin_output_aligned_bss): Likewise.
1819 (darwin_asm_output_aligned_decl_local): Likewise.
1820 (darwin_asm_output_aligned_decl_common): Likewise.
1821 (darwin_use_anchors_for_symbol_p): Likewise.
1822 * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Remove.
1823 (TARGET_ASM_OUTPUT_ANCHOR): Define.
1824 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define.
1825 (DARWIN_SECTION_ANCHORS): Set to 1.
1826 * config/darwin.c (emit_aligned_common): New var.
1827 (darwin_init_sections): Check that the Darwin private zero-size section
1828 marker is in range.
1829 (darwin_text_section): Check for zero-sized objects.
1830 (darwin_mergeable_string_section): Likewise.
1831 (darwin_mergeable_constant_section): Likewise.
1832 (machopic_select_section): Adjust to check for zero-sized objects.
1833 Assert that OBJC meta data are non-zero sized.
1834 (darwin_asm_declare_object_name): New.
1835 (darwin_asm_declare_constant_name): Adjust for zero-sized
1836 object sections.
1837 (BYTES_ZFILL): Define.
1838 (darwin_emit_weak_or_comdat): New.
1839 (darwin_emit_local_bss): New.
1840 (darwin_emit_common): New.
1841 (darwin_output_aligned_bss): New.
1842 (darwin_asm_output_aligned_decl_common): New.
1843 (darwin_asm_output_aligned_decl_local): New.
1844 (darwin_file_end): Disable subsections_via_symbols when section
1845 anchoring is active.
1846 (darwin_asm_output_anchor): Re-enable.
1847 (darwin_use_anchors_for_symbol_p): New.
1848 (darwin_override_options): Check for versions that can emit
1849 aligned common. Update usage of flags to current.
1850 * config/darwin-sections.def: Update comments and flags for
1851 non-anchor sections. zobj_const_section, zobj_data_section,
1852 zobj_bss_section, zobj_const_data_section: New.
1853 * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Redefine.
1854 (ASM_OUTPUT_ALIGN): Make whitespace output consistent.
1855 (L2_MAX_OFILE_ALIGNMENT): Define.
1856 (ASM_OUTPUT_ALIGNED_BSS): Define.
1857 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
1858 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
1859 (SECTION_NO_ANCHOR): Define.
1860 (TARGET_ASM_OUTPUT_ANCHOR) Define with a default of NULL.
1861 (DARWIN_SECTION_ANCHORS): Define with a default of 0.
1862
1863 2010-11-29 Joseph Myers <joseph@codesourcery.com>
1864
1865 * system.h: Include "safe-ctype.h" instead of <safe-ctype.h>.
1866 Include <signal.h>, <sys/mman.h>, <sys/resource.h> and <sys/times.h>.
1867 (O_BINARY, SIGCHLD, MAP_FAILED, MAP_ANONYMOUS, kill):
1868 Conditionally define.
1869 (GET_ENVIRONMENT): Poison.
1870 * configure.ac: Don't test for mincore.
1871 * configure: Regenerate.
1872 * config.in: Regenerate.
1873 * collect2-aix.c: Don't include <sys/mman.h>.
1874 * collect2.c: Don't include <signal.h>.
1875 (SIGCHLD): Don't define.
1876 (prefix_from_env): Use getenv instead of GET_ENVIRONMENT.
1877 * config/alpha/alpha.c: Include "splay-tree.h" instead of
1878 <splay-tree.h>.
1879 * config/arm/arm.c (arm_target_help): Use getenv instead of
1880 GET_ENVIRONMENT.
1881 * config/avr/driver-avr.c: Don't include <stdlib.h>.
1882 * config/frv/frv.c: Don't include <ctype.h>.
1883 * config/host-darwin.c: Don't include <sys/mman.h>.
1884 * config/host-hpux.c: Don't include <sys/mman.h> or <unistd.h>.
1885 (MAP_FAILED): Don't define.
1886 * config/host-linux.c: Don't include <sys/mman.h> or <limits.h>.
1887 * config/host-solaris.c: Don't include <sys/mman.h>.
1888 * config/i386/cygming.h: Don't include <stdio.h>.
1889 * config/i386/driver-i386.c: Don't include <stdlib.h>.
1890 * config/i386/host-cygwin.c: Don't include <sys/mman.h>.
1891 * config/iq2000/iq2000.c: Don't include <signal.h>.
1892 * config/m32c/m32c-pragma.c: Don't include <stdio.h>.
1893 * config/m68hc11/m68hc11.c: Don't include <stdio.h>.
1894 * config/mep/mep-pragma.c: Don't include <stdio.h>.
1895 * config/microblaze/microblaze.c: Don't include <signal.h>.
1896 * config/mips/mips.c: Don't include <signal.h>.
1897 * config/rs6000/host-darwin.c: Don't include <signal.h>.
1898 * cppdefault.c (cpp_relocated): Use getenv instead of GET_ENVIRONMENT.
1899 * defaults.h (GET_ENVIRONMENT): Don't define.
1900 * et-forest.h: Don't include <ansidecl.h> or <stddef.h>.
1901 * gcc.c: Don't include <signal.h>, <sys/mman.h> or <sys/types.h>.
1902 (SIGCHLD, MAP_FAILED, kill): Don't define.
1903 (process_command): Use getenv instead of GET_ENVIRONMENT.
1904 * genhooks.c: Don't include <string.h>.
1905 * ggc-common.c: Don't include <sys/resource.h>, <sys/mman.h> or
1906 <sys/types.h>.
1907 (MAP_FAILED): Don't define.
1908 * ggc-page.c Don't include <sys/mman.h>.
1909 (MAP_ANONYMOUS, MAP_FAILED): Don't define.
1910 * ggc-zone.c: Don't include <sys/mman.h>.
1911 (MAP_ANONYMOUS, MAP_FAILED): Don't define.
1912 * graph.c: Include "config.h" instead of <config.h>.
1913 * incpath.c (add_env_var_paths): Use getenv instead of GET_ENVIRONMENT.
1914 * lto-wrapper.c: Don't include <errno.h>, <signal.h> or "libiberty.h".
1915 (SIGCHLD, kill): Don't define.
1916 * mips-tfile.c: Don't include <signal.h>.
1917 * opts.c: Don't include <signal.h> or <sys/resource.h>.
1918 (print_specific_help): Use getenv instead of GET_ENVIRONMENT.
1919 * passes.c: Don't include <signal.h>, <sys/resource.h> or
1920 <sys/times.h>.
1921 * sparseset.h: Don't include <assert.h>.
1922 * timevar.c: Don't include <sys/times.h> or <sys/resource.h>.
1923 * tlink.c: Don't include "libiberty.h".
1924 * toplev.c: Don't include <signal.h> or <sys/times.h>.
1925 * tree-mudflap.c: Include "demangle.h" instead of <demangle.h>.
1926 * tree-switch-conversion.c: Don't include <signal.h>.
1927 * vmsdbgout.c: Don't include <errno.h> or <string.h>.
1928
1929 2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>
1930
1931 * c-parser.c (c_parser_objc_try_catch_statement): Renamed to
1932 c_parser_objc_try_catch_finally_statement for consistency with the
1933 C++ parser. Parse @catch(...) and pass NULL_TREE to
1934 objc_begin_catch_clause() in that case. Improved error recovery.
1935 Reorganized code to be almost identical to
1936 cp_parser_objc_try_catch_finally_statement.
1937
1938 2010-11-29 Joern Rennecke <amylaar@spamcop.net>
1939
1940 PR tree-optimization/46621
1941 * gimple.h: Don't include tm.h or hard-reg-set.h .
1942 * Makefile.in (GIMPLE_H): Remove $(TM_H).
1943
1944 PR bootstrap/44756
1945 * cppbuiltin.c: Include target.h .
1946 (define_builtin_macros_for_type_sizes):
1947 Use targetm.float_words_big_endian.
1948
1949 2010-11-27 Jan Hubicka <jh@suse.cz>
1950
1951 * dwarf2out.c (dwarf2out_begin_function): Set cold_text_section
1952 and output cold_text_section_label.
1953 (dwarf2out_init): Don't do that there.
1954 (dwarf2out_finish): Handle cold section end label only if cold
1955 section was used.
1956
1957 2010-11-27 Eric Botcazou <ebotcazou@adacore.com>
1958
1959 * tree-nested.c (remap_vla_decls): Fully expand value expressions of
1960 VLA variables.
1961
1962 2010-11-27 Richard Guenther <rguenther@suse.de>
1963
1964 * gimple.c (gimple_assign_copy_p): Use gimple_assign_single_p.
1965 (gimple_assign_ssa_name_copy_p): Likewise.
1966 (gimple_assign_unary_nop_p): Use is_gimple_assign.
1967 (is_gimple_cast): Remove.
1968 (gimple_assign_single_p): Move ...
1969 * gimple.h (gimple_assign_single_p): ... here.
1970 (is_gimple_cast): Remove.
1971 (gimple_assign_rhs_code): Simplify.
1972 * gimple-fold.c (gimple_fold_builtin): Use CONVERT_EXPR_P
1973 instead of is_gimple_cast.
1974 * ipa-type-escape.c (look_for_casts): Likewise.
1975
1976 2010-11-26 Joseph Myers <joseph@codesourcery.com>
1977
1978 * doc/options.texi (Enum, EnumValue): Document new record types.
1979 (Enum): Document new option flag.
1980 * opt-functions.awk
1981 * optc-gen.awk: Handle enumerated option arguments.
1982 * opth-gen.awk: Handle enumerated option arguments.
1983 * opts-common.c (enum_arg_ok_for_language, enum_arg_to_value,
1984 enum_value_to_arg): New.
1985 (decode_cmdline_option): Handle enumerated arguments.
1986 (read_cmdline_option): Handle CL_ERR_ENUM_ARG.
1987 (set_option, option_enabled, get_option_state): Handle CLVC_ENUM.
1988 * opts.c (print_filtered_help, print_specific_help): Take
1989 lang_mask arguments.
1990 (print_filtered_help): Handle printing values of enumerated
1991 options. Print possible arguments for enumerated options.
1992 (print_specific_help): Update call to print_filtered_help.
1993 (common_handle_option): Update calls to print_specific_help. Use
1994 value rather than arg for OPT_fdiagnostics_show_location_. Don't
1995 handle OPT_ffp_contract_, OPT_fexcess_precision_,
1996 OPT_fvisibility_, OPT_ftls_model_, OPT_fira_algorithm_ or
1997 OPT_fira_region_ here.
1998 * opts.h (enum cl_var_type): Add CLVC_ENUM.
1999 (struct cl_option): Add var_enum.
2000 (CL_ENUM_CANONICAL, CL_ENUM_DRIVER_ONLY, struct cl_enum_arg,
2001 struct cl_enum, cl_enums, cl_enums_count): New.
2002 (CL_ERR_ENUM_ARG): Define.
2003 (CL_ERR_NEGATIVE): Update value.
2004 (enum_value_to_arg): Declare.
2005 * common.opt (flag_ira_algorithm, flag_ira_region,
2006 flag_fp_contract_mode, flag_excess_precision_cmdline,
2007 default_visibility, flag_tls_default): Remove Variable entries.
2008 (help_enum_printed): New Variable.
2009 (fdiagnostics-show-location=): Use Enum. Add associated
2010 SourceInclude, Enum and EnumValue entries.
2011 (fexcess-precision=, ffp-contract=, fira-algorithm=, fira-region=,
2012 ftls-model=, fvisibility=): Use Enum, Var and Init. Add
2013 associated Enum and EnumValue entries.
2014
2015 2010-11-26 Joern Rennecke <amylaar@spamcop.net>
2016
2017 PR target/46623
2018 * config/microblaze/microblaze.c (microblaze_block_move_straight):
2019 Use XALLOCAVEC.
2020 (microblaze_option_override): Don't use C++ style comments.
2021 (save_restore_insns): Remove unused variable base_offset.
2022 (microblaze_expand_prologue): Remove unused variable insn.
2023 (microblaze_secondary_reload): Adjust type to match target.h .
2024 (microblaze_elf_in_small_data_p): Move declarations to start of block.
2025 (microblaze_expand_move): Likewise.
2026 * config/microblaze/microblaze.h (LARGE_INT):
2027 Avoid signed / unsigned comparisons.
2028 (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
2029 (ASM_FORMAT_PRIVATE_NAME): Make format specifier match printed data.
2030 (ASM_FINISH_DECLARE_OBJECT): Likewise. Constify name.
2031
2032 2010-11-26 Michael Matz <matz@suse.de>
2033
2034 * tree-ssa-copy.c (fini_copy_prop): Don't DCE when we have loops.
2035
2036 * passes.c (init_optimization_passes): Remove superfluous
2037 copy-prop pass.
2038
2039 2010-11-26 Richard Guenther <rguenther@suse.de>
2040
2041 PR lto/46648
2042 * gimple.c (gtc_visit): Do not return true for members of an
2043 SCC still being processed but the current lattice value of
2044 the member. Treat SCC members comparison state as lattice,
2045 starting at equal, eventually dropping to unequal.
2046 (gimple_types_compatible_p_1): Likewise.
2047
2048 2010-11-26 Richard Guenther <rguenther@suse.de>
2049
2050 PR middle-end/46559
2051 * dwarf2out.c (dwarf2out_finish): Use comp_unit_die as root
2052 for location list processing.
2053
2054 2010-11-26 Richard Guenther <rguenther@suse.de>
2055
2056 PR lto/46560
2057 * cgraph.c (cgraph_clone_edge): Clone call_stmt dependent
2058 flags manually.
2059
2060 2010-11-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2061
2062 * config/s390/s390.c (print_operand_address): Replace assert with
2063 error message.
2064 (print_operand): Replace assertions, gcc_unreachable and
2065 fatal_insn with error messages.
2066
2067 2010-11-26 Richard Guenther <rguenther@suse.de>
2068
2069 PR tree-optimization/46665
2070 * tree-ssa-structalias.c (pt_solution_set_var): Use DECL_PT_UID.
2071
2072 2010-11-26 Ian Bolton <ian.bolton@arm.com>
2073
2074 * config/arm/arm.c (arm_option_override): enable loop array
2075 prefetching at -O3 for suitable targets, and configure params.
2076 * config/arm/arm-protos.h (struct tune_params): Add fields for
2077 configuring loop array prefetching.
2078
2079 2010-11-26 Christian Borntraeger <borntraeger@de.ibm.com>
2080
2081 * config/s390/2817.md (z196_crack): Add z196_g3 as possible slot.
2082
2083 2010-11-26 Richard Guenther <rguenther@suse.de>
2084
2085 PR tree-optimization/46664
2086 * tree-affine.c (aff_combination_to_tree): Add rest last.
2087
2088 2010-11-26 Michael Haubenwallner <michael.haubenwallner@salomon.at>
2089
2090 PR target/33637
2091 * configure.ac: Accept extra arguments for AS_FOR_TARGET,
2092 LD_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET.
2093 * configure: Regenerated.
2094 * exec-tool.in: Not quoting command, may have extra arguments.
2095
2096 2010-11-26 Richard Guenther <rguenther@suse.de>
2097
2098 PR tree-optimization/46528
2099 PR debug/46338
2100 * profile.c (branch_prob): Do not split blocks based on locations
2101 from debug statements.
2102
2103 2010-11-26 Jakub Jelinek <jakub@redhat.com>
2104
2105 PR middle-end/46647
2106 * builtins.c (fold_builtin_memset): Check c is INTEGER_CST instead
2107 of host_integerp check. Use TREE_INT_CST_LOW instead of tree_low_cst.
2108
2109 PR bootstrap/45700
2110 * tree.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
2111 build4_stat_loc, build5_stat_loc, build6_stat_loc): New inlines.
2112 (build1_loc, build2_loc, build3_loc, build4_loc, build5_loc,
2113 build6_loc): Define.
2114 * fold-const.c (protected_set_expr_location_unshare): New inline.
2115 (fold_convert_loc, pedantic_non_lvalue_loc): Use it.
2116 (negate_expr, associate_trees, non_lvalue_loc, omit_one_operand_loc,
2117 pedantic_omit_one_operand_loc, omit_two_operands_loc,
2118 fold_truth_not_expr, invert_truthvalue_loc, make_bit_field_ref,
2119 optimize_bit_field_compare, make_range, fold_range_test, fold_truthop,
2120 build_fold_addr_expr_with_type_loc, fold_unary_loc, fold_binary_loc,
2121 fold_indirect_ref_1, build_fold_indirect_ref_loc): Use builN_loc
2122 instead of buildN followed by SET_EXPR_LOCATION or
2123 protected_set_expr_location.
2124 (fold_build1_stat_loc, fold_build2_stat_loc, fold_build3_stat_loc):
2125 Use buildN_stat_loc instead of buildN_stat followed by
2126 SET_EXPR_LOCATION.
2127
2128 2010-11-26 Basile Starynkevitch <basile@starynkevitch.net>
2129
2130 * Makefile.in (s-tm-texi): Remove spurous tab.
2131
2132 2010-11-26 Alexandre Oliva <aoliva@redhat.com>
2133
2134 PR debug/46258
2135 * tree-cfg.c (replace_uses_by): Don't mark BBs as altered on
2136 debug stmts.
2137
2138 2010-11-26 Alexandre Oliva <aoliva@redhat.com>
2139
2140 * toplev.c (finalize): Add no_backend parameter. Don't finish
2141 passes when preprocessing only. Adjust...
2142 (do_compile): ... caller.
2143
2144 2010-11-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2145
2146 * config/pa/pa.md (negdf2): Condition on !flag_signed_zeros instead of
2147 flag_unsafe_math_optimizations.
2148 (negsf2): Likewise.
2149 Move fnegabs related patterns together. Only use fmpynfadd instruction
2150 to negate a multiply if !flag_signed_zeros is true.
2151
2152 2010-11-25 Uros Bizjak <ubizjak@gmail.com>
2153
2154 * gengtype-state.c (read_state_structures): Initialize "previous".
2155
2156 2010-11-25 Basile Starynkevitch <basile@starynkevitch.net>
2157 Jeremie Salvucci <jeremie.salvucci@free.fr>
2158
2159 * gengtype-state.c: Add new file.
2160
2161 * gengtype.c (type count): New variable.
2162 (new_structure, find_param_structure, create_pointer)
2163 (create_array): Use it to set state_number in types.
2164 (dump_everything): Improve comment.
2165 (main): Call read_state and write_state. Print type_count.
2166
2167 * gengtype.h (type_lineloc): New function.
2168 (read_state, write_state): New declarations.
2169
2170 * Makefile.in (GENGTYPE_FLAGS): New variable.
2171 (s-gtype): Run gengtype twice and generate gtype.state.
2172 (build/gengtype-state.o): New rule.
2173 (build/gengtype$(build_exeext)): Link gengtype-state.o.
2174 (mostlyclean): Update comment. Remove gtype.state.
2175
2176 2010-11-25 Jakub Jelinek <jakub@redhat.com>
2177
2178 PR middle-end/46637
2179 * combine.c (try_combine): When substing i2dest for i2src, pass
2180 1 as last argument even if
2181 i0_feeds_i1_n && i1_feeds_i2_n && i0dest_in_i0src.
2182
2183 2010-11-25 H.J. Lu <hongjiu.lu@intel.com>
2184
2185 PR middle-end/46647
2186 * builtins.c (target_char_cast): Check INTEGER_CST instead of
2187 host_integerp. Replace tree_low_cst with TREE_INT_CST_LOW.
2188
2189 2010-11-25 Joseph Myers <joseph@codesourcery.com>
2190
2191 * target.def (supports_split_stack, except_unwind_info): Take
2192 gcc_options parameters.
2193 * targhooks.c (default_except_unwind_info,
2194 dwarf2_except_unwind_info, sjlj_except_unwind_info): Take
2195 gcc_options parameters.
2196 * targhooks.h (default_except_unwind_info,
2197 dwarf2_except_unwind_info, sjlj_except_unwind_info): Update
2198 prototypes.
2199 * doc/tm.texi.in (TARGET_IRA_COVER_CLASSES,
2200 TARGET_HAVE_NAMED_SECTIONS, TARGET_UNWIND_TABLES_DEFAULT):
2201 Document that hooks must not be modified.
2202 (TARGET_EXCEPT_UNWIND_INFO): Refer to opts argument.
2203 * doc/tm.texi: Regenerate.
2204 * defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Pass
2205 &global_options to targetm.except_unwind_info.
2206 * dwarf2out.c (dwarf2out_do_frame, dwarf2out_do_cfi_asm,
2207 dwarf2out_begin_prologue, dwarf2out_frame_init,
2208 dwarf2out_frame_finish, dwarf2out_assembly_start): Pass
2209 &global_options to targetm.except_unwind_info.
2210 * except.c (init_eh, finish_eh_generation,
2211 gate_convert_to_eh_region_ranges,
2212 output_one_function_exception_table): Pass &global_options to
2213 targetm.except_unwind_info.
2214 * expr.c (build_personality_function): Pass &global_options to
2215 targetm.except_unwind_info.
2216 * function.c (expand_function_end): Pass &global_options to
2217 targetm.except_unwind_info.
2218 * hooks.c (hook_bool_bool_gcc_optionsp_false): New.
2219 * hooks.h (hook_bool_bool_gcc_optionsp_false): Declare.
2220 * opts.c (finish_options): Pass opts to targetm.except_unwind_info
2221 and targetm.supports_split_stack. Remove assertions about opts
2222 and opts_set.
2223 (common_handle_option): Remove assertions about opts, opts_set and dc.
2224 * tree-tailcall.c (suitable_for_tail_call_opt_p): Pass
2225 &global_options to targetm.except_unwind_info.
2226 * tree.c (build_common_builtin_nodes: Pass &global_options to
2227 targetm.except_unwind_info.
2228 * config/arm/arm.c (arm_except_unwind_info): Add gcc_options parameter.
2229 (arm_compute_func_type, arm_expand_prologue, thumb_pushpop,
2230 thumb1_expand_prologue, thumb1_output_function_prologue,
2231 arm_unwind_emit, arm_output_fn_unwind): Update calls to
2232 arm_except_unwind_info.
2233 * config/i386/i386.c (ix86_supports_split_stack): Add gcc_options
2234 parameter.
2235 * config/ia64/ia64.c (ia64_except_unwind_info): Add gcc_options
2236 parameter.
2237 (ia64_output_function_prologue, ia64_add_bundle_selector_before,
2238 ia64_reorg, ia64_asm_unwind_emit): Update calls to
2239 ia64_except_unwind_info.
2240 * config/pa/pa.c (pa_option_override): Pass &global_options to
2241 targetm.except_unwind_info.
2242 * config/picochip/picochip-protos.h (picochip_except_unwind_info):
2243 Remove prototype.
2244
2245 2010-11-25 Kai Tietz <kai.tietz@onevision.com>
2246
2247 * cgraphunit.c (process_function_and_variable_attributes):
2248 Mark dllexport-ed function/variables as needed.
2249 * ipa.c (cgraph_externally_visible_p): Make dllexport-ed
2250 as externally visible.
2251
2252 2010-11-25 Alexander Monakov <amonakov@ispras.ru>
2253
2254 PR rtl-optimization/46585
2255 * sel-sched-ir.c (return_regset_to_pool): Verify that RS is not NULL.
2256 (vinsn_init): Skip computation of dependencies for local NOPs.
2257 (vinsn_delete): Don't try to free regsets for local NOPs.
2258 (setup_nop_and_exit_insns): Change definition of nop_pattern.
2259
2260 2010-11-25 Alexander Monakov <amonakov@ispras.ru>
2261
2262 PR rtl-optimization/46602
2263 * sel-sched-ir.c (maybe_tidy_empty_bb): Move checking ...
2264 (tidy_control_flow): Here.
2265
2266 2010-11-25 Joern Rennecke <amylaar@spamcop.net>
2267 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2268
2269 PR bootstrap/45888
2270 * Makefile.in (s-tm-texi): Remove \r occurences from tmp-tm.texi.
2271 Fix target.def pathname in timestamp comparison.
2272
2273 2010-11-24 Richard Henderson <rth@redhat.com>
2274
2275 * config/ia64/predicates.md (pmpyshr_operand): New.
2276 * config/ia64/ia64.c (ia64_expand_unpack): New.
2277 (ia64_expand_widen_mul_v4hi): New.
2278 (ia64_expand_widen_sum): Update for pattern renames.
2279 (ia64_expand_dot_prod_v8qi): Likewise.
2280 * config/ia64/ia64-protos.h: Update.
2281 * config/ia64/vect.md (vecwider): New mode attribute.
2282 (vec_widen_umult_lo_v8qi, vec_widen_umult_hi_v8qi): New.
2283 (vec_widen_smult_lo_v8qi, vec_widen_smult_hi_v8qi): New.
2284 (pmpyshr2, pmpyshr2_u): New.
2285 (vec_widen_smult_lo_v4hi, vec_widen_smult_hi_v4hi): New.
2286 (vec_widen_umult_lo_v4hi, vec_widen_umult_hi_v4hi): New.
2287 (mulv2si3): New.
2288 (vec_pack_ssat_v4hi): Rename from pack2_sss.
2289 (vec_pack_usat_v4hi): Rename from *pack2_uss.
2290 (vec_pack_ssat_v2si): Rename from pack4_sss.
2291 (vec_interleave_lowv8qi): Rename from unpack1_l, use the correct
2292 vec_select operation.
2293 (vec_interleave_highv8qi): Similarly.
2294 (mux1_alt): Rename from *mux1_alt.
2295 (vec_extract_evenv8qi, vec_extract_oddv8qi): New.
2296 (vec_interleave_lowv4hi): Rename from unpack2_l.
2297 (vec_interleave_highv4hi): Rename from unpack2_h.
2298 (mix2_r): Rename from *mix2_r.
2299 (mix2_l): Similarly.
2300 (vec_extract_evenodd_helper): New.
2301 (vec_extract_evenv4hi, vec_extract_oddv4hi): New.
2302 (vec_interleave_lowv2si): Rename from *unpack4_l.
2303 (vec_interleave_highv2si): Rename from *unpack4_h.
2304 (vec_extract_evenv2si, vec_extract_oddv2si): New.
2305 (vec_interleave_lowv2sf): Rename from fmix_r.
2306 (vec_interleave_highv2sf): Rename from *fmix_l.
2307 (vec_extract_evenv2sf, vec_extract_oddv2sf): New.
2308 (vec_unpacku_lo_<VECINT12>, vec_unpacku_hi_<VECINT12>): New.
2309 (vec_unpacks_lo_<VECINT12>, vec_unpacks_hi_<VECINT12>): New.
2310 (vec_pack_trunc_v4hi, vec_pack_trunc_v2si): New.
2311
2312 2010-11-24 Nathan Froyd <froydnj@codesourcery.com>
2313
2314 * targhooks.c (default_except_unwind_info): Remove
2315 MUST_USE_SJLJ_EXCEPTIONS case.
2316 * config/h8300/h8300.h (MUST_USE_SJLJ_EXCEPTIONS): Delete.
2317 * config/h8300/h8300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
2318 * doc/tm.texi.in (MUST_USE_SJLJ_EXCEPTIONS): Delete.
2319 * doc/tm.texi: Regenerate.
2320 * system.h (MUST_USE_SJLJ_EXCEPTIONS): Poison.
2321
2322 2010-11-24 Nathan Froyd <froydnj@codesourcery.com>
2323
2324 * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
2325 __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
2326 * config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
2327 * doc/cpp.texi (__FLOAT_WORD_ORDER__): Document.
2328 * system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison.
2329
2330 2010-11-24 H.J. Lu <hongjiu.lu@intel.com>
2331
2332 PR target/46519
2333 * config/i386/i386.c (ix86_expand_call): Don't check
2334 TREE_THIS_VOLATILE.
2335
2336 2010-11-24 H.J. Lu <hongjiu.lu@intel.com>
2337
2338 PR target/46519
2339 * config/i386/i386.c (upper_128bits_state): New.
2340 (block_info_def): Remove upper_128bits_set and done. Add state,
2341 referenced, count, processed and rescanned.
2342 (check_avx256_stores): Updated.
2343 (move_or_delete_vzeroupper_2): Updated. Handle deleted BB_END.
2344 Call note_stores only if needed. Set referenced and count.
2345 (move_or_delete_vzeroupper_1): Updated. Set rescan_vzeroupper_p.
2346 (rescan_move_or_delete_vzeroupper): New.
2347 (move_or_delete_vzeroupper): Process and rescan all all basic
2348 blocks instead of predecessor blocks of all exit points.
2349 (ix86_option_override_internal): Enable vzeroupper optimization
2350 only for -fexpensive-optimizations and not optimizing for size.
2351 (use_avx256_p): Removed.
2352 (init_cumulative_args): Don't set use_avx256_p.
2353 (ix86_function_arg): Likewise.
2354 (ix86_expand_move): Likewise.
2355 (ix86_expand_vector_move_misalign): Likewise.
2356 (ix86_local_alignment): Likewise.
2357 (ix86_minimum_alignment): Likewise.
2358 (ix86_expand_epilogue): Don't check use_avx256_p when generating
2359 vzeroupper.
2360 (ix86_expand_call): Likewise.
2361
2362 * config/i386/i386.h (machine_function): Remove use_vzeroupper_p
2363 and use_avx256_p. Add rescan_vzeroupper_p.
2364
2365 2010-11-24 Joseph Myers <joseph@codesourcery.com>
2366
2367 * toplev.c: Include <signal.h>.
2368
2369 2010-11-24 Richard Guenther <rguenther@suse.de>
2370
2371 PR lto/43218
2372 * lto-symtab.c (lto_cgraph_replace_node): Mark edges with
2373 conflicting function signatures as non-inlineable.
2374
2375 2010-11-24 Jakub Jelinek <jakub@redhat.com>
2376
2377 PR rtl-optimization/46614
2378 * sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP_P): Define.
2379 (deps_analyze_insn): Mark JUMP_INSNs in
2380 last_pending_memory_flush that weren't added through
2381 flush_pending_lists with NON_FLUSH_JUMP_KIND.
2382 (sched_analyze_2, sched_analyze_insn): Check NON_FLUSH_JUMP_P
2383 on INSN_LIST instead of JUMP_P check on its operand.
2384 * sched-rgn.c (concat_INSN_LIST): Copy over REG_NOTE_KIND.
2385
2386 2010-11-24 Richard Guenther <rguenther@suse.de>
2387
2388 * lto-streamer-in.c (input_gimple_stmt): Use types_compatible_p.
2389
2390 2010-11-24 Richard Guenther <rguenther@suse.de>
2391
2392 PR lto/46606
2393 * lto-streamer-in.c (input_gimple_stmt): When we cannot find
2394 a FIELD_DECL that is type correct issue a warning and fixup
2395 with a VIEW_CONVERT_EXPR.
2396
2397 2010-11-24 Basile Starynkevitch <basile@starynkevitch.net>
2398
2399 * doc/invoke.texi (Options for Debugging Your Program or GCC):
2400 Explain static numbering of dump files.
2401
2402 2010-11-24 Joseph Myers <joseph@codesourcery.com>
2403
2404 * common.opt (user_vect_verbosity_level): New Variable entry.
2405 (ftree-vectorizer-verbose=): Mark as UInteger.
2406 * flag-types.h (enum vect_verbosity_levels): Move from enum
2407 verbosity_levels in tree-vectorizer.h.
2408 * opts.c: Don't include tree.h.
2409 (vect_set_verbosity_level): Move from tree-vectorizer.c. Use
2410 gcc_options parameter; take integer option argument.
2411 (common_handle_option): Update call to vect_set_verbosity_level.
2412 * tree-vectorizer.c (user_vect_verbosity_level): Remove.
2413 (vect_set_verbosity_level): Move to opts.c.
2414 (vect_verbosity_level, vect_print_dump_info): Update for change of
2415 enum name.
2416 * tree-vectorizer.h (enum verbosity_levels): Move to flag-types.h.
2417 (vect_print_dump_info): Update for change of enum name.
2418 * tree.h (vect_set_verbosity_level): Remove.
2419 * Makefile.in (opts.o): Update dependencies.
2420
2421 2010-11-24 Jakub Jelinek <jakub@redhat.com>
2422
2423 PR middle-end/46629
2424 * cfgexpand.c (maybe_cleanup_end_of_block): Test NEXT_INSN (insn)
2425 instead of insn with any_condjump_p.
2426
2427 2010-11-24 Mingjie Xing <mingjie.xing@gmail.com>
2428
2429 * config/mips/loongson.md: Change the description comment of the file
2430 and update the copyright years.
2431 (define_insn "<u>div<mode>3): Add loongson3a support.
2432 (define_insn "<u>mod<mode>3"): Likewise.
2433 * config/mips/mips.md: Rename mul<mode>3_mul3_ls2ef to
2434 mul<mode>3_mul3_loongson.
2435 (define_expand "mul<mode>3"): Add TARGET_LOONGSON_3A.
2436 (define_insn "mul<mode>3_mul3_loongson"): Add loongson3a support.
2437
2438 2010-11-23 Joseph Myers <joseph@codesourcery.com>
2439
2440 * common.opt (initial_max_fld_align, flag_debug_asm,
2441 flag_dump_rtl_in_asm, flag_dump_all_passed, rtl_dump_and_exit,
2442 flag_print_asm_name, graph_dump_format, help_printed,
2443 help_columns, flag_opts_finished): New Variable entries.
2444 (fdbg-cnt-list, fdbg-cnt=, fdebug-prefix-map=, frandom-seed,
2445 frandom-seed=): Mark deferred.
2446 (fsched-verbose=): Use UInteger and Var.
2447 * flags.h (set_struct_debug_option, flag_print_asm_name,
2448 rtl_dump_and_exit, flag_debug_asm, flag_dump_rtl_in_asm,
2449 graph_dump_format): Don't declare here.
2450 * haifa-sched.c (sched_verbose_param, fix_sched_param): Remove.
2451 * opts-global.c: Include dbgcnt.h and debug.h.
2452 (decode_options): Pass location to finish_options.
2453 (handle_common_deferred_options): Check flag_dump_all_passed.
2454 Handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list, OPT_fdebug_prefix_map_,
2455 OPT_frandom_seed and OPT_frandom_seed_. Don't assert on
2456 OPT_fstack_limit.
2457 * opts.c: Don't include toplev.h, dbgcnt.h or debug.h.
2458 (set_struct_debug_option): Add location_t parameter. Update
2459 recursive call. Use error_at.
2460 (default_options_optimization): Use error_at.
2461 (finish_options): Add location_t parameter. Use
2462 opts->x_flag_opts_finished instead of first_time_p. Use
2463 opts->x_optimize instead of optimize. Use error_at. Pass
2464 location to inform.
2465 (print_filtered_help): Use opts->x_help_printed to track what
2466 options have been printed.
2467 (print_specific_help): Use opts->x_help_columns to track number of
2468 columns.
2469 (common_handle_option): Pass locations and gcc_options pointers to
2470 more functions. Use warning_at instead of fnotice and warning.
2471 Don't handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list or
2472 OPT_fdebug_prefix_map_. Use error_at. Set
2473 opts->x_initial_max_fld_align; don't set maximum_field_alignment.
2474 Don't handle OPT_frandom_seed or OPT_frandom_seed_. Don't handle
2475 OPT_fsched_verbose_.
2476 (handle_param): Add location_r parameter. Use error_at.
2477 (set_debug_level): Add location_r parameter. Use error_at and
2478 warning_at.
2479 (setup_core_dumping): Add diagnostic_context parameter.
2480 (decode_d_option): Add gcc_options, location_t and
2481 diagnostic_context parameters and use them instead of global
2482 state. Use warning_at.
2483 (enable_warning_as_error): Use error_at.
2484 * opts.h (finish_options): Update prototype.
2485 (set_struct_debug_option): Declare here.
2486 * rtl.h (fix_sched_param): Remove.
2487 * stor-layout.c (initial_max_fld_align): Remove.
2488 * toplev.c (rtl_dump_and_exit, flag_print_asm_name,
2489 graph_dump_format, flag_debug_asm, flag_dump_rtl_in_asm): Remove.
2490 (process_options): Set maximum_field_alignment.
2491 * tree.h (initial_max_fld_align) Don't declare here.
2492 * Makefile.in (opts.o, opts-global.o): Update dependencies.
2493
2494 2010-11-23 Joseph Myers <joseph@codesourcery.com>
2495
2496 * flag-types.h (struct visibility_flags): Don't declare here.
2497 * flags.h (strip_off_ending, fast_math_flags_set_p,
2498 fast_math_flags_struct_set_p): Declare here.
2499 (visibility_options): Don't declare here.
2500 * opts-common.c (option_enabled, get_option_state): Move from
2501 opts.c.
2502 * opts-global.c: Include diagnostic.h instead of
2503 diagnostic-core.h. Include tree.h, langhooks.h, lto-streamer.h
2504 and toplev.h.
2505 (const_char_p, ignored_options, in_fnames, num_in_fnames,
2506 write_langs, complain_wrong_lang, postpone_unknown_option_warning,
2507 print_ignored_options, unknown_option_callback,
2508 post_handling_callback, lang_handle_option, add_input_filename,
2509 read_cmdline_options, initial_lang_mask, init_options_once,
2510 decode_cmdline_options_to_array_default_mask,
2511 set_default_handlers, decode_options): Move from opts.c.
2512 (print_ignored_options): Use warning_at instead of saving and
2513 restoring input_location.
2514 * opts.c: Include <signal.h> and <sys/resource.h>. Include rtl.h
2515 instead of expr.h. Don't include langhooks.h, except.h or
2516 lto-streamer.h. Add more comments on includes.
2517 (strip_off_ending, setup_core_dumping, decode_d_option): Move from
2518 toplev.c.
2519 (visibility_options): Move to c-family/c-common.c.
2520 (const_char_p, ignored_options, in_fnames, num_in_fnames,
2521 write_langs, complain_wrong_lang, postpone_unknown_option_warning,
2522 print_ignored_options, unknown_option_callback,
2523 post_handling_callback, lang_handle_option, add_input_filename,
2524 read_cmdline_options, initial_lang_mask, init_options_once,
2525 decode_cmdline_options_to_array_default_mask,
2526 set_default_handlers, decode_options): Move to opts-global.c.
2527 (target_handle_option, default_options_optimization,
2528 finish_options, common_handle_option): Remove static.
2529 (option_enabled, get_option_state): Move to opts-common.c.
2530 * opts.h (common_handle_option, target_handle_option,
2531 finish_options, default_options_optimization): Declare.
2532 * toplev.c: Don't include <signal.h> or <sys/resource.h>.
2533 (setup_core_dumping, strip_off_ending, decode_d_option): Move to
2534 opts.c.
2535 * toplev.h (strip_off_ending, decode_d_option,
2536 fast_math_flags_set_p, fast_math_flags_struct_set_p): Don't
2537 declare here.
2538 * Makefile.in (opts.o, opts-global.o): Update dependencies.
2539
2540 2010-11-23 Dave Korn <dave.korn.cygwin@gmail.com>
2541
2542 PR driver/42690
2543 * gcc.c (LINK_COMMAND_SPEC): Remove hard-coded pass-through plugin
2544 options, replace by call of pass-through-libs spec function to process
2545 link_gcc_c_sequence spec.
2546 (lto_libgcc_spec): Delete variable.
2547 (static_specs[]): Remove related entry.
2548 (static_spec_functions[]): Add new entry for pass-through-libs.
2549 (main): Don't generate deleted lto_libgcc_spec.
2550 (pass_through_libs_spec_func): New function to implement the new
2551 pass-through-libs spec function.
2552 * doc/invoke.texi (pass-through-libs): Document new spec function.
2553
2554 2010-11-23 Joseph Myers <joseph@codesourcery.com>
2555
2556 * doc/options.texi (Warning, Optimization): Document.
2557
2558 2010-11-23 Jan Hubicka <jh@suse.cz>
2559
2560 * tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): New macro.
2561 (tree_decl_with_vis): Add implicit_section_name_p.
2562 * targhooks.h (default_function_section): Declare.
2563 * target.def (function_section): New hook.
2564 * defaults.h (HOT_TEXT_SECTION_NAME,
2565 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
2566 * predict.c (choose_function_section): Remove.
2567 (estimate_bb_frequencies): Do not use choose_function_section.
2568 * coretypes.h (enum node_frequency): Move here from cgraph.h
2569 * cgraph.h (enum node_frequency): Remove.
2570 * varasm.c (initialize_cold_section_name, unlikely_text_section,
2571 unlikely_text_section_p): Remove.
2572 (named_subsection_entry): New structure.
2573 (get_text_section): New function.
2574 (default_function_section): New function.
2575 (function_section_1): Break out from ...; handle profile info.
2576 (function_section): ... here.
2577 (unlikely_text_section): Remove.
2578 (unlikely_text_section_p): Use function_section_1.
2579 (assemble_start_function): Do not initialize cold section.
2580 (default_section_type_flags): Do not special case cold subsection.
2581 (switch_to_section): Likewise.
2582 * output.h (get_text_section): Define.
2583 * config/i386/winnt.c: Do not special case cold section.
2584 * config/darwin-protos.h (darwin_function_section): Declare.
2585 * config/microblaze/microblaze.h (HOT_TEXT_SECTION_NAME,
2586 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
2587 * config/ia64/hpux.h (HOT_TEXT_SECTION_NAME,
2588 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
2589 (TARGET_ASM_FUNCTION_SECTION): Define to ia64_hpux_function_section.
2590 * config/ia64/ia64.c (ia64_hpux_function_section): New function.
2591 * config/darwin.c (machopic_select_section): Use
2592 darwin_function_section.
2593 (darwin_function_section): New function.
2594 * config/darwin.h (HOT_TEXT_SECTION_NAME,
2595 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
2596 (TARGET_ASM_FUNCTION_SECTION): Define.
2597 * system.h (HOT_TEXT_SECTION_NAME,
2598 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Poison.
2599
2600 2010-11-23 Iain Sandoe <iains@gcc.gnu.org>
2601
2602 * config/darwin.h (LINK_COMMAND_SPEC_A): Use %(link_gcc_c_sequence).
2603 LINK_GCC_C_SEQUENCE_SPEC: Define new macro.
2604
2605 2010-11-23 Jakub Jelinek <jakub@redhat.com>
2606
2607 PR middle-end/46499
2608 * cfgexpand.c (maybe_cleanup_end_of_block): Remove also BARRIERs
2609 following unconditional jumps.
2610
2611 2010-11-23 Richard Guenther <rguenther@suse.de>
2612
2613 * doc/md.texi (386 constraints): Clarify A constraint documentation.
2614
2615 2010-11-23 Basile Starynkevitch <basile@starynkevitch.net>
2616 Jeremie Salvucci <jeremie.salvucci@free.fr>
2617
2618 * gengtype.c (enum typekind, struct options)
2619 (struct nested_ptr_data, struct pair, NUM_PARAM)
2620 (enum gc_used_num, struct type, UNION_P, UNION_OR_STRUCT_P):
2621 Move to gengtype.h.
2622 (string_type, scalar_nonchar, scalar_nonchar, scalar_char):
2623 Remove static, add zero state_number.
2624 (typedefs, structures, param_structs, variables): Remove static.
2625 (create_option): Remove.
2626 (create_string_option, create_type_option, create_nested_option):
2627 New functions.
2628 (create_nested_ptr_option): Use create_nested_option.
2629 (note_variable, adjust_field_rtx_def, adjust_field_type): Call the
2630 new create*option functions.
2631 (process_gc_options): Adjust for discriminated option.
2632 (output_mangled_typename): Handle TYPE_NONE.
2633 (walk_type): Test option kinds.
2634 (write_types_process_field): Handle TYPE_NONE and TYPE_ARRAY.
2635 (write_func_for_structure, write_type, write_local, write_root)
2636 (write_roots, note_def_vec, dump_options): Adjust for
2637 discriminated option.
2638
2639 * gengtype.h (typedefs, structures, param_structs, variables
2640 enum typekind): Move from gengtype.c
2641 (enum option_kind): New discriminating enumeration.
2642 (struct options): Becomes discriminated.
2643 (struct nested_ptr_data): Nove from gengtype.c
2644 (create_string_option, create_type_option, create_nested_option)
2645 (create_nested_ptr_option): New functions
2646 (struct pair, enum_gc_used_enum, NUM_PARAM, struct type, UNION_P)
2647 (UNION_OR_STRUCT_P): Move from gengtype.c
2648
2649 * gengtype-parse.c (str_optvalue_opt, type_optvalue, option): Make
2650 discriminated options.
2651
2652 2010-11-23 Richard Guenther <rguenther@suse.de>
2653
2654 * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid doing work
2655 twice. Avoid re-allocating the ops vector all the time.
2656
2657 2010-11-23 Richard Guenther <rguenther@suse.de>
2658
2659 * tree-ssa-alias.c (refs_may_alias_p_1): Avoid calls to
2660 is_gimple_min_invariant, group tree code checks to allow
2661 combining them.
2662 (stmt_may_clobber_ref_p_1): Check for SSA_NAME instead
2663 of is_gimple_reg.
2664
2665 2010-11-23 Eric Botcazou <ebotcazou@adacore.com>
2666
2667 * config.gcc (sparc*-*-*): Reorder.
2668
2669 2010-11-23 Basile Starynkevitch <basile@starynkevitch.net>
2670
2671 * gengtype.c (header_dot_h_frul, source_dot_c_frul):
2672 Remove ENABLE_CHECKING around DBGPRINTF.
2673
2674 2010-11-22 Joseph Myers <joseph@codesourcery.com>
2675
2676 * common.opt (exit_after_options, write_symbols, debug_info_level,
2677 use_gnu_debug_info_extensions): New Variable entries.
2678 (fprofile-dir=): Use Var.
2679 * flag-types.h (enum debug_info_level): Rename to enum
2680 debug_info_levels.
2681 * flags.h (write_symbols, debug_info_level,
2682 use_gnu_debug_info_extensions): Remove declarations.
2683 * opts.c (exit_after_options, write_symbols, debug_info_level): Remove.
2684 (set_struct_debug_option): Make static variables const.
2685 (use_gnu_debug_info_extensions): Remove.
2686 (set_debug_level, print_filtered_help, print_specific_help,
2687 fast_math_flags_set_p): Take gcc_options parameters and use them
2688 in place of global variables.
2689 (print_filtered_help): Make new_help non-static.
2690 (print_specific_help): Update call to print_filtered_help.
2691 (common_handle_option): Update calls to print_specific_help. Use
2692 gcc_options structure for more settings. Make --help table
2693 const. Don't handle OPT_fprofile_dir_ here. Update calls to
2694 set_debug_level.
2695 * toplev.c (profile_data_prefix): Remove.
2696 * toplev.h (profile_data_prefix, exit_after_options): Remove
2697 declarations.
2698 (fast_math_flags_set_p): Update prototype.
2699 * cppbuiltin.c (define_builtin_macros_for_compilation_flags):
2700 Update call to fast_math_flags_set_p.
2701
2702 2010-11-22 Richard Henderson <rth@redhat.com>
2703
2704 PR target/46434
2705 * config/crx/crx.c (crx_addr_reg): Rename from crx_addr_reg_p;
2706 return the address register extracted.
2707 (crx_decompose_address): Update the extracted address register.
2708
2709 2010-11-22 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
2710
2711 PR driver/43335
2712 * gcc.c (main): Don't crash when lto-wrapper program is not found.
2713
2714 2010-11-22 Joern Rennecke <amylaar@spamcop.net>
2715
2716 PR target/46608
2717 * config/picochip/picochip.c (picochip_secondary_reload): Make static.
2718 * config/picochip/picochip-protos.h: Don't include "target.h" .
2719 (picochip_secondary_reload): Don't declare.
2720
2721 PR target/46613
2722 * config/m32c/m32c-protos.h (m32c_conditional_register_usage): Declare.
2723 * config/m32c/m32c.c (m32c_conditional_register_usage): No longer
2724 static.
2725
2726 2010-11-22 H.J. Lu <hongjiu.lu@intel.com>
2727
2728 PR bootstrap/46609
2729 * gengtype.c (header_dot_h_frul): Check ENABLE_CHECKING.
2730 (source_dot_c_frul): Likewise.
2731
2732 2010-11-22 Basile Starynkevitch <basile@starynkevitch.net>
2733
2734 * gimple-pretty-print.c (dump_bb_header): Add check for cfun.
2735
2736 2010-11-22 Paolo Bonzini <bonzini@gnu.org>
2737
2738 PR bootstrap/44970
2739 * Makefile.in (fwprop.o) Add sparseset.h.
2740 * fwprop.c: Include sparseset.h
2741 (struct find_occurrence_data, find_occurrence_callback,
2742 find_occurrence): Remove.
2743 (active_defs, active_defs_check, register_active_defs,
2744 update_df_init, update_uses): New.
2745 (update_df): Rewrite.
2746 (try_fwprop_subst, forward_propagate_asm): Add calls to
2747 update_df_init and update_df.
2748 (fwprop_init): Allocate active_defs and active_defs_check.
2749 (fwprop_done): Free them.
2750 (fwprop, fwprop_addr): Adjust comments.
2751 * df.h (df_uses_create): Declare.
2752 * df-scan.c (df_install_ref_incremental): Break out of df_ref_create.
2753 (df_ref_create): Return result of df_ref_create_structure directly.
2754 (df_ref_create_structure): Call df_install_ref_incremental when
2755 no collection_rec is passed.
2756 (df_ref_record): Do not create multiword hard reg info when no
2757 collection_rec is passed.
2758 (df_uses_create): New.
2759
2760 2010-11-21 Uros Bizjak <ubizjak@gmail.com>
2761
2762 PR middle-end/43057
2763 * fold-const.c (pedantic_non_lvalue_loc): Unshare x before
2764 setting location.
2765
2766 2010-11-22 Richard Guenther <rguenther@suse.de>
2767
2768 * gimple-fold.c (maybe_fold_reference): When canonicalizing
2769 MEM_REFs, preserve volatileness.
2770 * cgraphbuild.c (mark_address): Properly check for FUNCTION_DECL
2771 addresses.
2772
2773 2010-11-22 Richard Guenther <rguenther@suse.de>
2774
2775 * tree-ssa-ccp.c (get_base_constructor): Remove superfluous breaks.
2776
2777 2010-11-22 Alexander Monakov <amonakov@ispras.ru>
2778
2779 PR rtl-optimization/45652
2780 * alias.c (get_reg_base_value): New.
2781 * rtl.h (get_reg_base_value): Add prototype.
2782 * sel-sched.c (init_regs_for_mode): Use it. Don't use registers with
2783 non-null REG_BASE_VALUE for renaming.
2784
2785 2010-11-22 Jeremie Salvucci <jeremie.salvucci@free.fr>
2786 Basile Starynkevitch <basile@starynkevitch.net>
2787
2788 * gengtype.c: Include xregex.h and obstack.h
2789 Added comments about role of get_output_file_with_visibility and
2790 our regexpr machinery.
2791 (frul_actionrout_t, struct file_rule_st): New.
2792 (hader_dot_h_frul, source_dot_c_frul): New functions.
2793 (NULL_REGEX, NULL_FRULACT): New.
2794 (files_rules): New.
2795 (matching_file_name_substitute): New function.
2796 (get_output_file_with_visibility): Updated comments and rewritten
2797 to use the new files_rules machinery.
2798
2799 * Makefile.in (XREGEX_H): Added variable.
2800 (build/gengtype.o): Added dependencies for xregex.h and obstack.h
2801
2802 2010-11-21 Nathan Froyd <froydnj@codesourcery.com>
2803
2804 * system.h (FUNCTION_ARG_BOUNDARY): Really poison.
2805
2806 2010-11-21 Nathan Froyd <froydnj@codesourcery.com>
2807
2808 * target.def (conditional_register_usage): Define.
2809 * reginfo.c (init_reg_sets_1): Call
2810 targetm.conditional_register_usage.
2811 * system.h (CONDITIONAL_REGISTER_USAGE): Poison.
2812 * doc/tm.texi.in (CONDITIONAL_REGISTER_USAGE): Adjust language
2813 for making it a hook.
2814 * doc/tm.texi: Regenerate.
2815 * config/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Move logic...
2816 * config/alpha/alpha.c (alpha_conditional_register_usage): ...here.
2817 New function.
2818 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2819 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): Move logic...
2820 * config/arc/arc.c (arc_conditional_register_usage): ...here.
2821 New function.
2822 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2823 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move logic...
2824 * config/arm/arm.c (arm_conditional_register_usage): ...here.
2825 New function.
2826 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2827 * config/bfin/bfin.h (CONDITIONAL_REGISTER_USAGE): Delete.
2828 * config/bfin/bfin-protos.h (conditional_register_usage): Delete.
2829 * config/bfin/bfin.c (conditional_register_usage): Move code into...
2830 (bfin_conditional_register_usage): ...here. New function.
2831 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2832 * config/cris/cris.h (CONDITIONAL_REGISTER_USAGE): Delete.
2833 * config/cris/cris-protos.h (cris_conditional_register_usage): Delete.
2834 * config/cris/cris.c (cris_conditional_register_usage): Make static.
2835 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2836 * config/fr30/fr30.h (FIXED_REGISTERS): Adjust comment.
2837 * config/frv/frv.h (CONDITIONAL_REGISTER_USAGE): Delete.
2838 * config/frv/frv-protos.h (frv_conditional_register_usage): Delete.
2839 * config/frv/frv.c (frv_conditional_register_usage): Make static.
2840 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2841 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Move logic...
2842 * config/h8300/h8300.c (h8300_conditional_register_usage): ...here.
2843 New function.
2844 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2845 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Delete.
2846 * config/i386/i386-protos.h (ix86_conditional_register_usage): Delete.
2847 * config/i386/i386.c (ix86_conditional_register_usage): Make static.
2848 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2849 * config/m32c/m32c.h (CONDITIONAL_REGISTER_USAGE): Delete.
2850 * config/m32c/m32c-protos.h (m32c_conditional_register_usage): Delete.
2851 * config/m32c/m32c.c (m32c_conditional_register_usage): Make static.
2852 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2853 * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Move logic...
2854 * config/m32r/m32r.c (m32r_conditional_register_usage): ...here.
2855 New function.
2856 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2857 * config/m68hc11/m68hc11.h (CONDITIONAL_REGISTER_USAGE): Delete.
2858 * config/m68hc11/m68hc11-protos.h (m68hc11_conditional_register_usage):
2859 Delete.
2860 * config/m68hc11/m68hc11.c (m68hc11_conditional_register_usage): Make
2861 static.
2862 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2863 * config/mep/mep.h (CONDITIONAL_REGISTER_USAGE): Delete.
2864 * config/mep/mep-protos.h (mep_conditional_register_usage): Delete.
2865 * config/mep/mep.c (mep_conditional_register_usage): Make static.
2866 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2867 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Delete.
2868 * config/mips/mips-protos.h (mips_conditional_register_usage): Delete.
2869 * config/mips/mips.c (mips_conditional_register_usage): Make static.
2870 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2871 * config/mmix/mmix.h (CONDITIONAL_REGISTER_USAGE): Delete.
2872 * config/mmix/mmix-protos.h (mmix_conditional_register_usage): Delete.
2873 * config/mmix/mmix.c (mmix_conditional_register_usage): Make static.
2874 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2875 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Move logic...
2876 * config/mn10300/mn10300.c (mn10300_conditional_register_usage):
2877 ...here. New function.
2878 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2879 * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Move logic...
2880 * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): ...with this...
2881 * config/pa/pa.c (pa_conditional_register_usage): ...here.
2882 New function.
2883 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2884 * config/pdp11/pdp11.h (CONDITIONAL_REGISTER_USAGE): Move logic...
2885 * config/pdp11/pdp11.c (pdp11_conditional_register_usage): ...here.
2886 New function.
2887 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2888 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Delete.
2889 * config/rs6000/rs6000-protos.h (rs6000_conditional_register_usage):
2890 Delete.
2891 * config/rs6000/rs6000.c (rs6000_conditional_register_usage): Make
2892 static.
2893 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2894 * config/rx/rx.h (CONDITIONAL_REGISTER_USAGE): Delete.
2895 * config/rx/rx-protos.h (rx_conditional_register_usage): Delete.
2896 * config/rx/rx.c (rx_conditional_register_usage): Make static.
2897 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2898 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Delete.
2899 * config/s390/s390-protos.h (s390_conditional_register_usage): Delete.
2900 * config/s390/s390.c (s390_conditional_register_usage): Make static.
2901 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2902 * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Move logic...
2903 * config/score/score.c (score_conditional_register_usage): ...here.
2904 New function.
2905 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2906 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Move logic...
2907 * config/sh/sh.c (sh_conditional_register_usage): ...here.
2908 New function.
2909 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2910 * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Move logic...
2911 * config/sparc/sparc.c (sparc_conditional_register_usage): ...here.
2912 New function.
2913 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2914 * config/spu/spu.h (CONDITIONAL_REGISTER_USAGE): Delete.
2915 * config/spu/spu-protos.h (spu_conditional_register_usage): Delete.
2916 * config/spu/spu.c (spu_conditional_register_usage): Make static.
2917 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2918 * config/v850/v850.h (CONDITIONAL_REGISTER_USAGE): Move logic...
2919 * config/v850/v850.c (v850_conditional_register_usage): ...here.
2920 New function.
2921 (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
2922
2923 2010-11-21 Jan Hubicka <jh@suse.cz>
2924 Dominique d'Humieres <dominiq@lps.ens.ft>
2925
2926 PR target/46510
2927 * tree-emutls.c (get_emutls_init_templ_addr, new_emutls_decl): Do not
2928 finalize external decls.
2929
2930 2010-11-21 Joseph Myers <joseph@codesourcery.com>
2931
2932 * system.h (strerror): Poison.
2933
2934 2010-11-21 Richard Henderson <rth@redhat.com>
2935
2936 * config/ia64/ia64.c (ia64_expand_builtin): Use the correct mode
2937 for infq/huge_valq.
2938
2939 2010-11-21 Richard Henderson <rth@redhat.com>
2940
2941 PR rtl-optimization/46571
2942 * gcse.c (hash_scan_set): Use next_nonnote_nondebug_insn.
2943 (compute_hash_table_work): Use NONDEBUG_INSN_P.
2944
2945 2010-11-21 Paul Koning <ni1d@arrl.net>
2946
2947 * config/mips/pdp11.md (negsi2): Fix wrong code.
2948
2949 2010-11-21 Paul Koning <ni1d@arrl.net>
2950
2951 * config/mips/pdp11.c (pdp11_legitimate_address_p): New function.
2952 * config/mips/pdp11.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
2953
2954 2010-11-21 Eric Botcazou <ebotcazou@adacore.com>
2955
2956 * config/mips/mips.c (machine_function): Rename load_label_length to
2957 load_label_num_insns.
2958 (mips_load_label_length): Rename to...
2959 (mips_load_label_num_insns): ...this. Adjust to first renaming.
2960 (mips_adjust_insn_length): Adjust to second renaming. Fix thinko.
2961
2962 2010-11-21 Uros Bizjak <ubizjak@gmail.com>
2963
2964 PR target/46533
2965 * config/alpha/predicates.md (direct_call_operand): Return false
2966 for !TARGET_SMALL_TEXT targets.
2967
2968 2010-11-20 Joseph Myers <joseph@codesourcery.com>
2969
2970 * doc/tm.texi.in (HANDLE_SYSV_PRAGMA,
2971 HANDLE_PRAGMA_PACK_PUSH_POP): Remove.
2972 (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Don't refer to HANDLE_SYSV_PRAGMA.
2973 * doc/tm.texi: Regenerate.
2974 * system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGMA,
2975 HANDLE_PRAGMA_WEAK): Poison.
2976 * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
2977 * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
2978 * config/alpha/osf5.h (HANDLE_SYSV_PRAGMA): Don't define.
2979 * config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Don't define.
2980 * config/arm/arm.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
2981 * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
2982 * config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
2983 * config/darwin.h (HANDLE_SYSV_PRAGMA): Don't define.
2984 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
2985 * config/elfos.h (HANDLE_SYSV_PRAGMA): Don't define.
2986 * config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
2987 * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Don't define.
2988 * config/i386/cygming.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
2989 * config/i386/djgpp.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
2990 * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Don't define.
2991 (HANDLE_PRAGMA_WEAK): Don't undefine.
2992 * config/i386/netware.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
2993 * config/i386/vxworks.h (HANDLE_SYSV_PRAGMA): Don't define.
2994 * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
2995 * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Don't define.
2996 * config/interix.h (HANDLE_SYSV_PRAGMA): Don't define.
2997 (HANDLE_PRAGMA_WEAK): Don't undefine.
2998 * config/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
2999 * config/m32r/linux.h (HANDLE_SYSV_PRAGMA): Don't define.
3000 (HANDLE_PRAGMA_PACK): Don't undefine.
3001 * config/m32r/m32r.h (HANDLE_SYSV_PRAGMA): Don't undefine.
3002 * config/mep/mep.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
3003 * config/mips/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
3004 * config/mips/sde.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
3005 * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Don't define.
3006 * config/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
3007 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
3008 * config/openbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
3009 * config/pa/pa-hpux.h (HANDLE_SYSV_PRAGMA): Don't define.
3010 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
3011 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Don't define.
3012 * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
3013 * config/rx/rx.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
3014 * config/score/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
3015 * config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
3016 * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Don't define.
3017 * config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
3018
3019 2010-11-20 Eric Botcazou <ebotcazou@adacore.com>
3020
3021 PR target/31100
3022 * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP): Move to...
3023 * config/sparc/sol2.h (ASM_OUTPUT_ALIGN_WITH_NOP): ...here.
3024 * config/sparc/sol2-gas.h (ASM_OUTPUT_ALIGN_WITH_NOP): Undefine.
3025
3026 2010-11-20 Jan Hubicka <jh@suse.cz>
3027
3028 * cgraph.c (ld_plugin_symbol_resolution_names): New.
3029 (dump_cgraph_node): Dump resolution.
3030 * cgraph.h (ld_plugin_symbol_resolution_names): Declare.
3031 (cgraph_comdat_can_be_unshared_p): Dclare.
3032 * lto-streamer-out.c (produce_symtab): Use
3033 cgraph_comdat_can_be_unshared_p.
3034 * ipa.c (cgraph_address_taken_from_non_vtable_p): New function.
3035 (cgraph_comdat_can_be_unshared_p): New function based on logic
3036 in cgraph_externally_visible_p.
3037 (cgraph_externally_visible_p): Use it.
3038 (varpool_externally_visible_p): Virtual tables can be unshared.
3039 * varpool.c (dump_varpool_node): Dump resolution.
3040
3041 2010-11-20 Jan Hubicka <jh@suse.cz>
3042
3043 * stmt.c (lshift_cheap_p): Support properly optimize_insn_for_speed_p.
3044
3045 2010-11-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3046
3047 PR other/46202
3048 * Makefile.in (install_sh, INSTALL_STRIP_PROGRAM): New variables.
3049 (AR_FOR_TARGET, RANLIB_FOR_TARGET, STRIP_FOR_TARGET): Fix
3050 shell quoting.
3051 (STRIP_FOR_TARGET): Look for in-tree strip under name strip-new.
3052 (install-strip): New target.
3053 (STRIPPROG): New variable, exported if STRIP is set.
3054 * doc/install.texi (Final install): Minor markup and code style
3055 fixes. Document install-strip target.
3056
3057 2010-11-20 Paul Koning <ni1d@arrl.net>
3058
3059 * config/pdp11/pdp11-protos.h (pdp11_initial_elimination_offset,
3060 pdp11_regno_reg_class): New functions.
3061 * config/pdp11/pdp11.md (define_constants): Add register numbers.
3062 * config/pdp11/pdp11.c (pdp11_regno_reg_class,
3063 pdp11_sp_frame_offset, pdp11_initial_elimination_offset): New
3064 functions.
3065 * config/pdp11/pdp11.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Add
3066 frame pointer and argument pointer pseudo-registers.
3067 (ARG_POINTER_REGNUM): Define.
3068 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add frame pointer and
3069 argument pointer.
3070 (FIRST_PARM_OFFSET): Update for argument pointer.
3071 (INITIAL_FRAME_POINTER_OFFSET): Delete.
3072 (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): New macros.
3073 (REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P, REGISTER_NAMES): Add
3074 frame pointer and argument pointer.
3075
3076 2010-11-20 Jakub Jelinek <jakub@redhat.com>
3077
3078 PR debug/46561
3079 * tree-parloops.c (try_create_redunction_list): Ignore debug stmts
3080 when looking for immediate uses.
3081
3082 PR tree-optimization/45830
3083 * stmt.c (expand_switch_using_bit_tests_p): New function.
3084 (expand_case): Use it.
3085 * tree.h (expand_switch_using_bit_tests_p): New prototype.
3086 * tree-switch-conversion.c (struct switch_conv_info): Add
3087 bit_test_uniq, bit_test_count and bit_test_bb fields.
3088 (check_range): Fix a comment.
3089 (check_process_case): Compute bit_test_uniq and bit_test_count.
3090 (create_temp_arrays): Use XCNEWVEC, merge 3 arrays into one
3091 allocation.
3092 (free_temp_arrays): Use XDELETEVEC, adjust for the 3 arrays merging.
3093 (constructor_contains_same_values_p): Use FOR_EACH_VEC_ELT.
3094 (array_value_type): New function.
3095 (build_one_array): Use it, if it returned different type,
3096 fold_convert all constructor fields and convert back to the
3097 wider type in the generated code.
3098 (process_switch): Initialize bit_test_uniq, bit_test_count and
3099 bit_test_bb fields. Don't optimize if expand_switch_using_bit_tests_p
3100 returned true.
3101
3102 2010-11-19 Michael Matz <matz@suse.de>
3103
3104 PR tree-optimization/46077
3105 * tree-chrec.c (eq_evolutions_p): Accept some expressions.
3106
3107 2010-11-19 Anatoly Sokolov <aesok@post.ru>
3108
3109 * config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
3110 * config/mn10300/mn10300.c (mn10300_asm_output_addr_const_extra): New
3111 function.
3112 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
3113
3114 2010-11-19 Uros Bizjak <ubizjak@gmail.com>
3115
3116 * mode-switching.c (optimize_mode_switching): Use
3117 FOR_BB_INSNS instead of open-coded loop.
3118 * cfgrtl.c (redirect_branch_edge): Ditto.
3119
3120 2010-11-19 Joern Rennecke <amylaar@spamcop.net>
3121
3122 PR target/46436
3123 * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Split shift count
3124 to accomodate 32 bit HOST_WIDE_INT.
3125 (m68hc11_emit_logical): Remove unused variable insn.
3126 (m68hc11_check_z_replacement) <CLOBBER>: Set this_insn_uses_ix and
3127 this_insn_uses_iy before use.
3128
3129 PR target/46434
3130 * config/crx/crx.c (crx_expand_epilogue): Remove unused variable.
3131
3132 2010-11-19 Joseph Myers <joseph@codesourcery.com>
3133
3134 PR c/46547
3135 * c-tree.h (in_late_binary_op): Move to c-family/c-common.h.
3136 * c-typeck.c (in_late_binary_op): Move to c-family/c-common.c.
3137
3138 2010-11-19 Michael Meissner <meissner@linux.vnet.ibm.com>
3139
3140 * doc/extend.texi (Function attributes): Document PowerPC target
3141 attributes that are supported.
3142 (Pragmas): Document that PowerPC now supports target pragmas.
3143
3144 * doc/options.texi (TargetVariable): Document TargetVariable,
3145 HeaderInclude, and SourceInclude.
3146
3147 * doc/invoke.texi (-mfused-madd): Document that -mfused-madd is
3148 mapped to -ffp-contract=fast, and -mno-fused-madd is mapped to
3149 -ffp-contract=off.
3150
3151 * optc-gen.awk: Add support for TargetVariable, HeaderInclude, and
3152 SourceInclude directives. Fix a cut+paste error with target save
3153 enum variables. Sort enums in the structures after ints and
3154 before shorts.
3155 * opth-gen.awk: Ditto.
3156
3157 * configure.ac: Add support for HeaderInclude and SourceInclude option
3158 directives to add the appropriate files to the dependency lists.
3159 * configure: Regenerate.
3160 * Makefile.in (OPTIONS_H_EXTRA): New variable for HeaderInclude.
3161 (OPTIONS_C_EXTRA): New variable for SourceInclude.
3162 (OPTIONS_H): Add $(OPTIONS_H_EXTRA).
3163 (options.o): Add $(OPTIONS_C_EXTRA) dependency.
3164 (gcc-options.o): Ditto.
3165 * opt-include.awk: New awk script to handle HeaderInclude and
3166 TargetInclude.
3167
3168 * config/rs6000/aix.opt (-mxl-compat): Mark option as Save so it
3169 gets saved in the target options.
3170 * config/rs6000/linux64.opt (-mprofile-kernel): Ditto.
3171 * config/rs6000/sysv4.opt (-mbit-align): Ditto.
3172 (-mprototype): Ditto.
3173 (-mbit-word): ditto.
3174 (-mregnames): Ditto.
3175 (-msecure-plt): Ditto.
3176 (-mbss-plt): Ditto.
3177 * config/rs6000/rs6000.opt (-mpowerpc-gpopt): Ditto.
3178 (-mpowerpc-gfxopt): Ditto.
3179 (-mmfcrf): Ditto.
3180 (-mpopcntb): Ditto.
3181 (-mfprnd): Ditto.
3182 (-mcmpb): Ditto.
3183 (-mmmfpgpr): Ditto.
3184 (-maltivec): Ditto.
3185 (-mhard-dfp): Ditto.
3186 (-mmulhw): Ditto.
3187 (-mdlmzb): Ditto.
3188 (-mmultiple): Ditto.
3189 (-mstring): Ditto.
3190 (-mpopcntd): Ditto.
3191 (-mfriz): Ditto.
3192 (-mvsx): Ditto.
3193 (-mno-update): Ditto.
3194 (-mavoid-indexed-addresses): Ditto.
3195 (-mtls-markers): Ditto.
3196 (-msched-epilog): Ditto.
3197 (-msched-prolog): Ditto.
3198 (-maix-struct-return): Ditto.
3199 (-msvr4-struct-return): Ditto.
3200 (-mxl-compat): Ditto.
3201 (-mrecip-precision): Ditto.
3202 (-mfp-in-toc): Ditto.
3203 (-msum-in-toc): Ditto.
3204 (-mvrsave): Ditto.
3205 (-mblock-move-inline-limit=): Ditto.
3206 (-misel): Ditto.
3207 (-mpaired): Ditto.
3208 (-mlongcall): Ditto.
3209 (-mgen-cell-microcode): Ditto.
3210 (-mwarn-cell-microcode): Ditto.
3211 (-mwarn-altivec-long): Ditto.
3212 (-mprioritize-restricted-insns=): Ditto.
3213 (-msingle-float): Ditto.
3214 (-mdouble-float): Ditto.
3215 (-msimple-fpu): Ditto.
3216 (-mxilinx-fpu): Ditto.
3217 * config/rs6000/aix64.opt (-mpe): Ditto.
3218
3219 * config/rs6000/rs6000.opt (HeaderInclude): Include rs6000-opts.h.
3220 (rs6000_cpu): Move variable to be a target variable. Rename
3221 cmodel to rs6000_current_cmodel because of macro conflict. Merge
3222 -mdebug=<xxx> variables into a single int.
3223 (rs6000_always_hint): Ditto.
3224 (rs6000_sched_groups): Ditto.
3225 (rs6000_align_branch_targets): Ditto.
3226 (rs6000_sched_costly_dep): Ditto.
3227 (rs6000_sched_insert_nops): Ditto.
3228 (rs6000_long_double_type_size): Ditto.
3229 (rs6000_ieeequad): Ditto.
3230 (rs6000_altivec_abi): Ditto.
3231 (rs6000_spe): Ditto.
3232 (rs6000_spe_abi): Ditto.
3233 (rs6000_float_gprs): Ditto.
3234 (rs6000_darwin64_abi): Ditto.
3235 (can_override_loop_align): Ditto.
3236 (rs6000_sdata): Ditto.
3237 (rs6000_tls_size): Ditto.
3238 (rs6000_current_abi): Ditto.
3239 (rs6000_traceback): Ditto.
3240 (rs6000_alignment_flags): Ditto.
3241 (rs6000_current_cmodel): Ditto.
3242 (rs6000_recip_control): Ditto.
3243 (rs6000_cpu_index): Ditto.
3244 (rs6000_tune_index): Ditto.
3245 (rs6000_debug): Ditto.
3246 (rs6000_target_flags_explict): Ditto.
3247
3248 * config/rs6000/rs6000-protos.h (rs6000_pragma_target_parse): Add
3249 declaration.
3250
3251 * config/rs6000/linux64.h (rs6000_current_cmode): Rename from
3252 cmodel. Change all uses.
3253
3254 * config/rs6000/rs6000.c (rs6000_always_hint): Move to
3255 rs6000.opt. Combine -mdebug=<xxx> variables into a single int.
3256 Rename cmodel to rs6000_current_cmodel.
3257 (rs6000_sched_groups): Ditto.
3258 (rs6000_align_branch_targets): Ditto.
3259 (rs6000_sched_costly_dep): Ditto.
3260 (rs6000_sched_insert_nops): Ditto.
3261 (rs6000_long_double_type_size): Ditto.
3262 (rs6000_ieeequad): Ditto.
3263 (rs6000_altivec_abi): Ditto.
3264 (rs6000_spe): Ditto.
3265 (rs6000_spe_abi): Ditto.
3266 (rs6000_float_gprs): Ditto.
3267 (rs6000_darwin64_abi): Ditto.
3268 (can_override_loop_align): Ditto.
3269 (rs6000_sdata): Ditto.
3270 (rs6000_tls_size): Ditto.
3271 (rs6000_current_abi): Ditto.
3272 (rs6000_traceback): Ditto.
3273 (rs6000_alignment_flags): Ditto.
3274 (rs6000_current_cmodel): Ditto.
3275 (rs6000_recip_control): Ditto.
3276 (rs6000_cpu_index): Ditto.
3277 (rs6000_tune_index): Ditto.
3278 (rs6000_debug): Ditto.
3279 (rs6000_target_flags_explict): Ditto.
3280 (rs6000_sched_insert_nops_str): Make static.
3281 (rs6000_sched_costly_dep_str): Ditto.
3282 (rs6000_recip_name): Ditto.
3283 (rs6000_abi_name): Ditto.
3284 (rs6000_sdata_name): Ditto.
3285 (enum rs6000_traceback_name): Move to rs6000-opts.h.
3286 (rs6000_parse_tls_size_option): Delete.
3287 (rs6000_valid_attribute_p): New function for target attributes and
3288 pragmas.
3289 (rs6000_function_specific_save): Ditto.
3290 (rs6000_function_specific_restore): Ditto.
3291 (rs6000_function_specific_print): Ditto.
3292 (rs6000_can_inline_p): Ditto.
3293 (rs6000_set_current_function): Ditto.
3294 (rs6000_inner_target_options): Ditto.
3295 (rs6000_debug_target_options): Ditto.
3296 (rs6000_pragma_target_parse): Ditto.
3297 (TARGET_OPTION_VALID_ATTRIBUTE_P): Define target hooks for target
3298 attributes and pragmas.
3299 (TARGET_OPTION_SAVE): Ditto.
3300 (TARGET_OPTION_RESTORE): Ditto.
3301 (TARGET_OPTION_PRINT): Ditto.
3302 (TARGET_CAN_INLINE_P): Ditto.
3303 (TARGET_SET_CURRENT_FUNCTION): Ditto.
3304 (POWER_MASKS): Move to file level scope from the
3305 rs6000_option_override_internal function.
3306 (POWERPC_MASKS): Ditto.
3307 (ISA_*_MASKS): Ditto.
3308 (struct rs6000_ptt): Ditto.
3309 (processor_target_table): Ditto.
3310 (rs6000_cpu_name_lookup): Map cpu name to an index in
3311 processor_target_table.
3312 (rs6000_debug_reg_global): Print more information on processor
3313 options for -mdebug=reg.
3314 (rs6000_init_hard_regno_mode_ok): Add support for target
3315 attributes and pragmas. Merge all -mdebug=<xxx> fields into one.
3316 Allow -mdebug=val1,val2. Rename cmodel variable.
3317 (rs6000_option_override_internal): Ditto.
3318 (rs6000_option_override): Ditto.
3319 (rs6000_handle_option): Ditto.
3320 (rs6000_conditional_register_usage): Add debug trace message.
3321 (struct rs6000_opt_mask): New for target attribute/pragma support.
3322 (rs6000_opt_masks): Ditto.
3323 (struct rs6000_opt_var): Ditto.
3324 (rs6000_opt_vars): Ditto.
3325 (rs6000_previous_function): Ditto.
3326
3327 * config/rs6000/rs6000.h (top level): Include rs6000-opts.h if it
3328 wasn't already included.
3329 (enum rs6000_cmodel): Move to rs6000-opts.h or rs6000.opt.
3330 (enum processor_type): Ditto.
3331 (rs6000_cpu): Ditto.
3332 (enum fpu_type_t): Ditto.
3333 (fpu_type): Ditto.
3334 (enum rs6000_dependence_cost): Ditto.
3335 (enum rs6000_nop_insertion): Ditto.
3336 (enum group_termination): Ditto.
3337 (rs6000_long_double_type_size): Ditto.
3338 (rs6000_ieeequad): Ditto.
3339 (rs6000_altivec_abi): Ditto.
3340 (rs6000_spe_abi): Ditto.
3341 (rs6000_spe): Ditto.
3342 (rs6000_float_gprs): Ditto.
3343 (rs6000_alignment_flags): Ditto.
3344 (rs6000_sched_insert_nops): Ditto.
3345 (enum rs6000_vector): Ditto.
3346 (enum rs6000_abi): Ditto.
3347 (rs6000_current_opt): Ditto.
3348 (rs6000_debug_*): Delete.
3349 (MASK_DEBUG*): Combine -mdebug=xxxx into one int.
3350 (TARGET_DEBUG*): Ditto.
3351
3352 * config/rs6000/rs6000-opts.h: New header file to define the enums
3353 that are used in target variables that are now defined in rs6000.opt.
3354
3355 * config/rs6000/sysv4.h (enum rs6000_sdata_type): Move to
3356 rs6000-opts.h.
3357 (rs6000_sdata): Ditto.
3358 (rs6000_abi_name): Delete.
3359 (rs6000_sdata_name): Ditto.
3360 (rs6000_tls_size_string): Ditto.
3361
3362 2010-11-19 Joseph Myers <joseph@codesourcery.com>
3363
3364 * common.opt (debug_struct_ordinary, debug_struct_generic): New
3365 Variable entries.
3366 * dwarf2out.c (matches_main_base, dump_struct_debug, DUMP_GSTRUCT,
3367 should_emit_struct_debug): Move from opts.c.
3368 * flag-types.h (enum debug_struct_file): Move from opts.c.
3369 * flags.h (should_emit_struct_debug): Remove.
3370 (base_of_path): Declare.
3371 (set_struct_debug_option): Add gcc_options parameter.
3372 * optc-gen.awk, opth-gen.awk: Handle array variables.
3373 * opts.c (enum debug_struct_file, debug_struct_ordinary,
3374 debug_struct_generic): Remove.
3375 (set_struct_debug_option): Add gcc_options parameter.
3376 (base_of_path): Remove static.
3377 (main_input_basename, main_input_baselength, matches_main_base,
3378 dump_struct_debug, DUMP_GSTRUCT, should_emit_struct_debug):
3379 Remove.
3380 * toplev.c (main_input_basename, main_input_baselength): Define
3381 here.
3382 * toplev.h (main_input_basename, main_input_baselength): Declare
3383 here.
3384
3385 2010-11-19 Joseph Myers <joseph@codesourcery.com>
3386
3387 * common.opt (flag_instrument_functions_exclude_functions,
3388 flag_instrument_functions_exclude_files): New Variable definitions.
3389 * flags.h (flag_instrument_functions_exclude_p): Don't declare.
3390 * gimplify.c (char_p): Declare type and vectors.
3391 (flag_instrument_functions_exclude_p): Moved from opts.c. Make static.
3392 * opts.c (flag_instrument_functions_exclude_functions,
3393 flag_instrument_functions_exclude_files): Remove.
3394 (add_comma_separated_to_vector): Take void **.
3395 (flag_instrument_functions_exclude_p): Move to gimplify.c.
3396 (common_handle_option): Use options structure for
3397 -finstrument-functions-exclude- options.
3398
3399 2010-11-19 Joseph Myers <joseph@codesourcery.com>
3400
3401 * doc/options.texi (Var): Document effects of Defer.
3402 (Defer): Document.
3403 * opt-functions.awk (var_type, var_set): Handle deferred options.
3404 * opts-common.c (set_option): Handle CLVC_DEFER.
3405 * common.opt (fcall-saved-, fcall-used-, fdump-, ffixed-,
3406 fplugin=, fplugin-arg-, fstack-limit, fstack-limit-register=,
3407 fstack-limit-symbol=): Mark as deferred.
3408 * opts.c: Don't include rtl.h, ggc.h, output.h, tree-pass.h or
3409 plugin.h.
3410 (print_filtered_help): Don't report state of CLVC_DEFER options.
3411 (common_handle_option): Move code for OPT_fcall_used_,
3412 OPT_fcall_saved_, OPT_fdump_, OPT_ffixed_, OPT_fplugin_,
3413 OPT_fplugin_arg_, OPT_fstack_limit, OPT_fstack_limit_register_ and
3414 OPT_fstack_limit_symbol_ to opts-global.c.
3415 (option_enabled, get_option_state): Handle CLVC_DEFER.
3416 * opts.h: Include vec.h.
3417 (enum cl_var_type): Add CLVC_DEFER.
3418 (cl_deferred_option): Define type and vectors.
3419 (handle_common_deferred_options): Declare.
3420 * opts-global.c: New.
3421 * toplev.c (toplev_main): Call handle_common_deferred_options
3422 * Makefile.in (OPTS_H): Include $(VEC_H).
3423 (OBJS-common): Include opts-global.o.
3424 (opts.o): Update dependencies.
3425 (opts-global.o): Add dependencies.
3426
3427 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
3428
3429 * c-parser.c (c_parser_objc_protocol_definition): Pass attributes
3430 to objc_declare_protocols.
3431
3432 2010-11-19 Richard Guenther <rguenther@suse.de>
3433
3434 PR lto/45789
3435 * lto-streamer-out.c (lto_output_ts_common_tree_pointers): For
3436 IDENTIFIERs do not stream TREE_TYPE.
3437 * lto-streamer-in.c (lto_input_ts_common_tree_pointers): Likewise.
3438
3439 2010-11-19 Christian Borntraeger <borntraeger@de.ibm.com>
3440
3441 * config/s390/s390.c (s390_function_arg_integer): Handle NULLPTR_TYPE.
3442
3443 2010-11-19 Jakub Jelinek <jakub@redhat.com>
3444
3445 PR target/45870
3446 * dwarf2out.c (const_ok_for_output_1): Don't complain about
3447 non-delegitimized TLS UNSPECs.
3448
3449 2010-11-18 Jack Howarth <howarth@bromo.med.uc.edu>
3450 Ian Lance Taylor <iant@google.com>
3451
3452 * config/darwin-c.c (darwin_additional_format_types): Export.
3453
3454 2010-11-18 Paul Koning <ni1d@arrl.net>
3455
3456 * config/pdp11/pdp11.h (FIRST_PARM_OFFSET): Fix case of no frame
3457 pointer.
3458
3459 2010-11-18 Paul Koning <ni1d@arrl.net>
3460
3461 * config/pdp11/pdp11.md (abshi2): Delete TARGET_ABSHI_BUILTIN.
3462 * config/pdp11/pdp11.c (TARGET_DEFAULT_TARGET_FLAGS): Ditto.
3463 * config/pdp11/pdp11.opt (-mabshi): Delete.
3464
3465 2010-11-19 Mingjie Xing <mingjie.xing@gmail.com>
3466
3467 * resource.h (struct resources): Fix typo in the comment.
3468
3469 2010-11-19 Uros Bizjak <ubizjak@gmail.com>
3470
3471 PR target/46546
3472 * config/i386/i386.c (ix86_reorg): Call compute_bb_for_insn.
3473
3474 2010-11-18 Richard Henderson <rth@redhat.com>
3475
3476 PR middle-end/46515
3477 * function.c (maybe_copy_prologue_epilogue_insn): Rename from
3478 maybe_copy_epilogue_insn; handle prologue insns as well.
3479 * rtl.h, cfglayout.c: Update for rename.
3480 * recog.c (peep2_attempt): Copy prologue/epilogue data for
3481 RTX_FRAME_RELATED_P insns.
3482
3483 2010-11-18 Jakub Jelinek <jakub@redhat.com>
3484
3485 PR middle-end/46534
3486 * builtins.c (fold_builtin_printf): Don't copy and modify string
3487 before build_string_literal, instead modify what
3488 build_string_literal returned.
3489
3490 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
3491
3492 PR c/33193
3493 * c-typeck.c (build_unary_op): Call build_real_imag_expr for
3494 REALPART_EXPR and IMAGPART_EXPR.
3495
3496 2010-11-18 Richard Guenther <rguenther@suse.de>
3497
3498 PR tree-optimization/46172
3499 * tree-vect-loop-manip.c (remove_dead_stmts_from_loop): New
3500 function.
3501 (slpeel_tree_peel_loop_to_edge): Call it.
3502
3503 2010-11-18 Jeff Law <law@redhat.com>
3504
3505 PR middle-end-optimization/46297
3506 * postreload.c (reload_combine_note_store): Deal with embedded
3507 side effects in MEM expressions.
3508
3509 2010-11-18 Richard Guenther <rguenther@suse.de>
3510
3511 PR lto/45089
3512 * dwarf2out.c (add_AT_die_ref): Work around LTO losing types
3513 when checking is not enabled.
3514
3515 2010-11-18 Richard Guenther <rguenther@suse.de>
3516
3517 PR lto/46525
3518 * gimple.c (gimple_register_type): Update TYPE_MAIN_VARIANT of
3519 type leaders.
3520 (gimple_register_canonical_type): Also cache the canoncial type
3521 for non type leaders.
3522
3523 2010-11-18 Richard Guenther <rguenther@suse.de>
3524
3525 * lto-wrapper.c (run_gcc): Fix -flto=N parsing.
3526
3527 2010-11-18 Alexander Monakov <amonakov@ispras.ru>
3528
3529 PR middle-end/46518
3530 * sel-sched-ir.c (init_expr): Use the correct type for
3531 target_available.
3532 * sel-sched.c (fill_vec_av_set): Use explicitly signed char type.
3533
3534 2010-11-17 Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
3535
3536 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Support -fpic
3537 as well as -mrelocatable at the same time.
3538
3539 2010-11-17 Quentin Neill <quentin.neill.gnu@gmail.com>
3540
3541 PR target/46422
3542 * config/i386/bmiintrin.h (__lzcnt_u16, __lzcnt_u32, __lzcnt_u64):
3543 Call the clz builtin.
3544
3545 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
3546 Steve Ellcey <sje@cup.hp.com>
3547
3548 PR middle-end/31490
3549 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
3550 if section attribute used.
3551
3552 2010-11-17 Jan Hubicka <jh@suse.cz>
3553
3554 * builtins.c (expand_builtin_mathfn_2, expand_builtin_mathfn): Do not
3555 expand errno setting variant when optimizing for size.
3556
3557 2010-11-17 Eric Botcazou <ebotcazou@adacore.com>
3558
3559 * postreload.c (reload_combine): Call control_flow_insn_p only once.
3560 Reverse backward loop. Fix formatting issues.
3561
3562 2010-11-17 Paolo Bonzini <bonzini@gnu.org>
3563
3564 * c-parser.c (c_token_is_qualifier,
3565 c_parser_next_token_is_qualifier): New.
3566 (c_parser_declaration_or_fndef, c_parser_struct_declaration):
3567 Improve error message on specs->tagdef_seen_p.
3568 (c_parser_struct_or_union_specifier): Improve error recovery.
3569 (c_parser_declspecs): Move exit condition on C_ID_ID early.
3570 Reorganize exit condition for C_ID_TYPENAME/C_ID_CLASSNAME
3571 using c_parser_next_token_is_qualifier; extend it to cover
3572 a ctsk_tagdef typespec and !typespec_ok in general.
3573
3574 2010-11-17 Richard Guenther <rguenther@suse.de>
3575
3576 * value-prof.c (gimple_divmod_fixed_value_transform): Update the stmt.
3577 (gimple_mod_pow2_value_transform): Likewise.
3578 (gimple_mod_subtract_transform): Likewise.
3579
3580 2010-11-17 Richard Guenther <rguenther@suse.de>
3581
3582 PR lto/46504
3583 * gimple.c (gimple_register_canonical_type): Make sure to only
3584 make type leaders canonical types.
3585
3586 2010-11-17 Michael Matz <matz@suse.de>
3587
3588 * timevar.def (TV_IPA_OPT, TV_EARLY_LOCAL, TV_OPTIMIZE,
3589 TV_POSTRELOAD, TV_REMOVE_UNUSED, TV_ADDRESS_TAKEN, TV_TODO,
3590 TV_VERIFY_LOOP_CLOSED, TV_VERIFY_RTL_SHARING,
3591 TV_REBUILD_FREQUENCIES, TV_REPAIR_LOOPS): New.
3592 * tree-into-ssa.c (rewrite_into_ssa): Don't push/pop timevar here ...
3593 (pass_build_ssa): ... but here.
3594 * cgraphbuild.c (pass_rebuild_cgraph): Use timevar.
3595 * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Use timevar.
3596 * tree-emutls.c (pass_ipa_lower_emutls): Ditto.
3597 * df-core.c (pass_df_initialize_opt, pass_df_initialize_no_opt): Ditto.
3598 * predict.c (rebuild_frequencies): Ditto.
3599 * tree-vectorizer.c (pass_ipa_increase_alignment): Ditto.
3600 * emit-rtl.c (verify_rtl_sharing): Ditto.
3601 * tree-cfgcleanup.c (repair_loop_structures): Ditto.
3602 * tree-ssa-live.c (remove_unused_locals): Ditto.
3603 * cfglayout.c (pass_into_cfg_layout, pass_outof_cfg_layout): Ditto.
3604 * tree-ssa.c (pass_early_warn_uninitialized,
3605 execute_update_addresses_taken, pass_update_address_taken): Ditto.
3606 * tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
3607 pass_cleanup_cfg_post_optimizing, tree_rest_of_compilation): Ditto.
3608 * passes.c (pass_postreload, execute_todo): Ditto.
3609 * tree-ssanames.c (pass_release_ssa_names): Ditto.
3610
3611 2010-11-17 Joseph Myers <joseph@codesourcery.com>
3612
3613 * doc/invoke.texi (-dy): Remove.
3614 * langhooks-def.h (lhd_do_nothing_i): Don't declare.
3615 (LANG_HOOKS_PARSE_FILE): Define to lhd_do_nothing.
3616 * langhooks.c (lhd_do_nothing_i): Remove.
3617 * langhooks.h (lang_hooks.parse_file): Take no arguments.
3618 * toplev.c (set_yydebug): Remove.
3619 (compile_file): Update call to lang_hooks.parse_file.
3620 (decode_d_option): Don't handle -dy.
3621
3622 2010-11-17 Jakub Jelinek <jakub@redhat.com>
3623
3624 PR rtl-optimization/46440
3625 * combine.c (update_cfg_for_uncondjump): When changing
3626 an indirect jump into unconditional jump, remove BARRIERs
3627 from bb's footer.
3628
3629 2010-11-17 Joseph Myers <joseph@codesourcery.com>
3630
3631 * opts.c (target_handle_option): Do not assert that loc ==
3632 UNKNOWN_LOCATION.
3633
3634 2010-11-17 Jakub Jelinek <jakub@redhat.com>
3635 Richard Guenther <rguenther@suse.de>
3636
3637 PR middle-end/45838
3638 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
3639 call_may_clobber_ref_p_1): Return true for __sync_* and some
3640 OpenMP builtins that act as threading barriers.
3641
3642 2010-11-17 Richard Guenther <rguenther@suse.de>
3643
3644 PR tree-optimization/46498
3645 * tree-ssa-dce.c (perform_tree_ssa_dce): Compute dominator info.
3646
3647 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
3648
3649 * config/xtensa/xtensa.c (function_arg_boundary): Really rename to...
3650 (xtensa_function_arg_boundary): ...this.
3651 * config/picochip/pichochip.c (picochip_function_arg_boundary): Fix
3652 thinko in declaration.
3653 (picochip_function_arg, picochip_arg_partial_bytes): Pass proper
3654 number of parameters to picochip_function_arg_boundary.
3655 (picochip_arg_advance): Likewise.
3656
3657 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
3658
3659 PR target/46512
3660 * config/pa/pa.c (pa_function_arg_boundary): Move TYPE_SIZE accesses
3661 under check for type.
3662
3663 2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
3664
3665 * ifcvt.c (dead_or_predicable): Fix typo.
3666
3667 2010-11-16 Richard Henderson <rth@redhat.com>
3668
3669 * config.gcc [s390*-*] (extra_options): Add fused-madd.opt.
3670 * config/s390/s390.opt (mfused-madd): Remove.
3671 * config/s390/s390.c (s390_rtx_costs): Handle FMA.
3672 (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
3673 * config/s390/s390.md (fma<DSF>4): Rename from *fmadd<DSF>; use FMA.
3674 (fms<DSF>4): Rename from *fmsub<DSF>; use FMA.
3675
3676 2010-11-16 Richard Henderson <rth@redhat.com>
3677
3678 * config.gcc [powerpc*, rs6000*] (extra_options): Add fused-madd.opt.
3679 * config/rs6000/rs6000.opt (mfused-madd): Remove.
3680 * config/rs6000/altivec.md (altivec_vmaddfp): Remove.
3681 (*altivec_vmaddfp_1): Remove.
3682 (*altivec_fmav4sf4): Rename from altivec_vmaddfp_2; use FMA.
3683 (altivec_mulv4sf3): Expand to FMA directly.
3684 (*altivec_vnmsubfp): Rename from altivec_vnmsubfp.
3685 (*altivec_vnmsubfp_1, *altivec_vnmsubfp_2): Remove.
3686 * config/rs6000/paired.md (paired_madds0): Use FMA.
3687 (paired_madds1): Likewise.
3688 (*paired_madd): Rename from paired_madd; use FMA.
3689 (*paired_msub, *paired_nmadd, *paired_nmsub): Similarly.
3690 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
3691 consider TARGET_FUSED_MADD wrt rs6000_recip_control.
3692 (bdesc_3arg): Update CODE_FOR_* for pattern renames.
3693 (rs6000_emit_madd): Use fma_optab.
3694 (rs6000_emit_msub): Use fms_optab.
3695 (rs6000_emit_nmsub): Expand the FMA pattern directly.
3696 * config/rs6000/rs6000.md (FMA_F): New mode iterator.
3697 (*fmasf4_fpr): Rename from fmasf4_fpr.
3698 (*nfmasf4_fpr): Rename from *fnmasf4_fpr.
3699 (*nfmssf4_fpr): Rename from *fnmssf4_fpr.
3700 (*fmaddsf4_powerpc, *fmaddsf4_power, *fmsubsf4_powerpc): Remove.
3701 (*fmsubsf4_power, *fnmaddsf4_powerpc_1, *fnmaddsf4_powerpc_2): Remove.
3702 (*fnmaddsf4_power_1, *fnmaddsf4_power_2, *fnmsubsf4_powerpc_1): Remove.
3703 (*fnmsubsf4_powerpc_2, *fnmsubsf4_power_1, *fnmsubsf4_power_2): Remove.
3704 (*fmadf4_fpr): Rename from fmadf4_fpr.
3705 (*nfmadf4_fpr): Rename from *fnmadf4_fpr.
3706 (*nfmsdf4_fpr): Rename from *fnmsdf4_fpr.
3707 (*fmadddf4_fpr, *fmsubdf4_fpr, *fnmadddf4_fpr_1): Remove.
3708 (*fnmadddf4_fpr_2, *fnmsubdf4_fpr_1, *fnmsubdf4_fpr_2): Remove.
3709 (fmasf4, fmadf4): Macroize into...
3710 (fma<FMA_F>4): ... here.
3711 (fms<FMA_F>4, fnma<FMA_F>4, fnms<FMA_F>4): New.
3712 (nfma<FMA_F>4, nfms<FMA_F>4): New.
3713 * config/rs6000/vector.md (mul<VEC_F>3): Do not depend on
3714 TARGET_FUSED_MADD.
3715 * config/rs6000/vsx.md (vsx_fmadd<VSX_B>4): Remove.
3716 (*vsx_fmadd<mode>4_1): Remove.
3717 (vsx_fmsub<mode>4, *vsx_fmsub<mode>4_1): Remove.
3718 (vsx_fnmadd<mode>4_1, vsx_fnmadd<mode>4_2): Remove.
3719 (vsx_fnmsub<mode>4_1, vsx_fnmsub<mode>4_2): Remove.
3720 (*vsx_fma<mode>4): Rename from vsx_fmadd<mode>4_2.
3721 (*vsx_fms<mode>4): Rename from vsx_fmsub<mode>4_2.
3722 (*vsx_nfma<mode>4): Rename from vsx_fnmadd<mode>4.
3723 (*vsx_nfms<mode>4): Rename from vsx_fnmsub<mode>4.
3724
3725 2010-11-16 Richard Henderson <rth@redhat.com>
3726
3727 * config/pa/pa.md (fmadf4): Rename from unnamed; use FMA.
3728 (fmasf4, fnmadf4, fnmasf4): Likewise.
3729 (unnamed plus+mult insns and splitters): Delete.
3730
3731 2010-11-16 Richard Henderson <rth@redhat.com>
3732
3733 * config/spu/spu.md (fma<VSF>4): Rename from fma_<VSF>.
3734 (fnma<VSF>4): Rename from fnms_<VSF>.
3735 (fms<VSF>4): Rename from fms_<VSF>.
3736 (fma<VDF>4): Rename from fma_<VDF>.
3737 (fms<VDF>4): Rename from fms_<VDF>.
3738 (nfma<VDF>4): Rename from fnma_<VDF>.
3739 (nfms<VDF>4): Rename from fnms_<VDF>.
3740 (fnma<VDF>4, fnms<VDF>4): New expanders.
3741 (floatunsdisf2): Update for the renames.
3742 (*div<VSF>3_fast, *div<VSF>3_adjusted): Likewise.
3743 * config/spu/spu-builtins.def: Update CODE_FOR_* for the renames.
3744
3745 2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
3746
3747 PR rtl-optimization/46490
3748 * combine.c (expand_compound_operation): Fix thinko.
3749
3750 2010-11-16 Richard Henderson <rth@redhat.com>
3751
3752 PR target/46470
3753 * recog.c (peep2_attempt): Convert frame-related info when possible.
3754 (peep2_fill_buffer): Allow frame-related insns into the buffer.
3755 (peephole2_optimize): Allow peep2_attempt to fail.
3756
3757 2010-11-16 Eric Botcazou <ebotcazou@adacore.com>
3758
3759 PR rtl-optimization/46315
3760 * rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare.
3761 * rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function
3762 extracted from...
3763 * dce.c (delete_corresponding_reg_eq_notes): ...here. Rename into...
3764 (remove_reg_equal_equiv_notes_for_defs): ...this.
3765 (delete_unmarked_insns): Adjust to above renaming.
3766 * ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes
3767 referring to registers set in the insns being moved, if any.
3768
3769 * df-core.c (df_ref_dump): New function extracted from...
3770 (df_refs_chain_dump): ...here. Call it.
3771 (df_regs_chain_dump): Likewise.
3772 * df-problems.c (df_chain_dump): Print 'e' for uses in notes.
3773 * df-scan.c (df_scan_start_dump): Likewise. Fix long line.
3774
3775 2010-11-16 Andreas Schwab <schwab@linux-m68k.org>
3776
3777 PR rtl-optimization/46395
3778 * postreload.c (reload_combine): Invalidate register use
3779 information on all control flow insns.
3780
3781 * config/m68k/m68k.c (m68k_delegitimize_address): Also expect
3782 LABEL_REF in UNSPEC operand.
3783
3784 2010-11-16 Jan Hubicka <jh@suse.cz>
3785
3786 * cgraph.h (+varpool_can_remove_if_no_refs): Move here from ...;
3787 when !flag_toplevel_reorder do not remove unless variable is
3788 COMDAT or ARTIFICIAL.
3789 * ipa.c (varpool_can_remove_if_no_refs): ... here.
3790 (cgraph_remove_unreachable_nodes): Only analyzed nodes needs to stay.
3791 * cgraphunit.c (cgraph_analyze_functions): Dump varpool, too.
3792 * varpool.c (decide_is_variable_needed): Do not handle visibility
3793 issues.
3794 (varpool_finalize_decl): Likewise.
3795 (varpool_remove_unreferenced_decls): Use varpool_mark_needed_node;
3796 update outdated comment on DECL_RTL_SET_P check.
3797
3798 2010-11-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3799
3800 * config/sol2.h (NM_FLAGS): Define.
3801 * doc/tm.texi.in (Macros for Initialization, NM_FLAGS): Document.
3802 * doc/tm.texi: Update.
3803
3804 2010-11-16 Nick Clifton <nickc@redhat.com>
3805
3806 * config/v850/v850.md (maddsf4): Rename to fmasf4 and use fma rtx_code.
3807 (msubsf4): Rename to fmssf4, and use fma.
3808 (nmaddsf4): Rename to fnmasf4 and use fma.
3809 (nmsubsf4): Rename to fnmssf4 and use fma.
3810
3811 2010-11-16 Joern Rennecke <amylaar@spamcop.net>
3812
3813 PR target/44762
3814 * config/score/score3.c (score3_return_in_memory): Constify arguments.
3815 (score3_in_small_data_p, score3_function_value): Likewise.
3816 (score3_trampoline_init): Use LCT_NORMAL.
3817 (score3_print_operand): Initialize code as UNKNOWN.
3818 * config/score/predicates.md (score_load_multiple_operation):
3819 Remove unused variable.
3820 (score_store_multiple_operation): Likewise.
3821 * config/score/score7.c (score7_return_in_memory): Constify arguments.
3822 (score7_in_small_data_p, score7_function_value): Likewise.
3823 (score7_trampoline_init): Use LCT_NORMAL.
3824 (score7_print_operand): Initialize code as UNKNOWN.
3825 * config/score/score3.h (score3_return_in_memory): Update prototype.
3826 (score3_in_small_data_p, score3_function_value): Likewise.
3827 * config/score/score-protos.h (score_function_value): Likewise.
3828 * config/score/score7.h (score7_return_in_memory): Update prototype.
3829 (score7_in_small_data_p, score7_function_value): Likewise.
3830 * config/score/score.c (TARGET_PROMOTE_PROTOTYPES): Constify.
3831 (score_return_in_memory, score_pass_by_reference): Constify arguments.
3832 (score_output_mi_thunk, score_function_prologue): Don't return a value.
3833 (score_function_epilogue, score_in_small_data_p): Likewise.
3834 (score_option_override, score_asm_trampoline_template): Likewise.
3835 (score_trampoline_init, score_print_operand): Likewise.
3836 (score_print_operand_address, score_prologue): Likewise.
3837 (score_epilogue, score_call, score_call_value): Likewise.
3838 (score_movsicc, score_movdi, score_zero_extract_andi): Likewise.
3839 (score_function_arg_advance): Likewise. Make static.
3840 (score_asm_file_end): Mark parameter value with ATTRIBUTE_UNUSED.
3841 (score_function_arg, score_legitimate_address_p): Make static.
3842 (score_function_value): Mark parameter func with ATTRIBUTE_UNUSED.
3843 * config/score/score.h (REGNO_REG_CLASS): Cast value to enum reg_class.
3844 * config/score/score-conv.h (UIMM_IN_RANGE, SIMM_IN_RANGE):
3845 Allow (W) == HOST_BITS_PER_WIDE_INT.
3846
3847 PR java/46386
3848 * config/pdp11/t-pdp11 (java/constants.o-warn): Remove.
3849 * config/t-pnt16-warn (java/constants.o-warn): Likewise.
3850
3851 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
3852
3853 * config/arc/arc.c: Delete pasto.
3854 * config/pa/pa.c (pa_function_arg_boundary): Add missing comparison.
3855
3856 2010-11-16 Anatoly Sokolov <aesok@post.ru>
3857
3858 * config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS,
3859 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
3860 * config/mn10300/mn10300.c (TARGET_PREFERRED_RELOAD_CLASS,
3861 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
3862 (mn10300_preferred_reload_class,
3863 mn10300_preferred_output_reload_class): New functions.
3864
3865 2010-11-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3866
3867 * gensupport.c (MNEMONIC_ATTR_NAME, MNEMONIC_HTAB_SIZE): New macros.
3868 (htab_eq_string, add_mnemonic_string, gen_mnemonic_setattr)
3869 (mnemonic_htab_callback, gen_mnemonic_attr): New functions.
3870 (init_rtx_reader_args_cb): Invoke gen_mnemonic_attr.
3871
3872 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
3873
3874 * builtins.c (std_gimplify_va_arg_expr): Use
3875 targetm.calls.function_arg_boundary.
3876 * function.c (assign_parms, locate_and_pad_parm): Likewise.
3877 * calls.c (struct arg_data): Update comment.
3878 * defaults.h (FUNCTION_ARG_BOUNDARY): Delete.
3879 * target.def (function_arg_boundary): Define.
3880 * targhooks.h (default_function_arg_boundary): Declare.
3881 * targhooks.c (default_function_arg_boundary): Define.
3882 * doc/tm.texi.in (FUNCTION_ARG_PADDING): Use
3883 TARGET_FUNCTION_ARG_BOUNDARY.
3884 (FUNCTION_ARG_BOUNDARY): Delete.
3885 (TARGET_FUNCTION_ARG_BOUNDARY): New.
3886 * doc/tm.texi: Regenerate.
3887 * system.h (FUNCTION_ARG_BOUNDARY): Poison.
3888 * config/arc/arc.h (FUNCTION_ARG_BOUNDARY): Delete.
3889 * config/arc/arc.c (arc_function_arg_boundary): Define.
3890 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
3891 * config/arm/arm.h (FUNCTION_ARG_BOUNDARY): Delete.
3892 * config/arm/arm-protos.h (arm_needs_doubleword_align): Delete.
3893 * config/arm/arm.c (arm_needs_doubleword_align): Make static.
3894 (arm_function_arg_boundary): Define.
3895 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
3896 * config/frv/frv.h (FUNCTION_ARG_BOUNDARY): Delete.
3897 * config/frv/frv-protos.h (frv_function_arg_boundary): Delete.
3898 * config/frv/frv.c (frv_function_arg_boundary): Make static.
3899 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
3900 * config/i386/i386.h (FUNCTION_ARG_BOUNDARY): Delete.
3901 * config/i386/i386-protos.h (ix86_function_arg_boundary): Delete.
3902 * config/i386/i386.c (ix86_function_arg_boundary): Make static.
3903 (ix86_compat_function_arg_boundary): Take and return unsigned int.
3904 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
3905 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Delete.
3906 * config/ia64/ia64-protos.h (ia64_function_arg_boundary): Delete.
3907 * config/ia64/ia64.c (ia64_function_arg_boundary): Make static.
3908 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
3909 * config/m32c/m32c.h (FUNCTION_ARG_BOUNDARY): Delete.
3910 * config/m32c/m32c.c (m32c_function_arg_boundary): Define.
3911 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
3912 * config/m32r/m32r.h (FUNCTION_ARG_BOUNDARY): Delete.
3913 * config/mcore/mcore.h (FUNCTION_ARG_BOUNDARY): Delete.
3914 * config/mcore/mcore.c (mcore_function_arg_boundary): Define.
3915 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
3916 * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Delete.
3917 * config/mips/mips-protos.h (mips_function_arg_boundary): Delete.
3918 * config/mips/mips.c (mips_function_arg_boundary): Make static.
3919 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
3920 * config/pa/pa.h (FUNCTION_ARG_BOUNDARY): Delete.
3921 * config/pa/pa.c (pa_function_arg_boundary): Define.
3922 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
3923 * config/picochip/picochip.h (FUNCTION_ARG_BOUNDARY): Delete.
3924 * config/picochip/picochip-protos.h
3925 (picochip_get_function_arg_boundary): Delete.
3926 * config/picochip/picochip.c (picochip_get_function_arg_boundary):
3927 Rename to...
3928 (picochip_function_arg_boundary): ...this. Make static.
3929 (picochip_function_arg, picochip_arg_partial_bytes): Adjust.
3930 (picochip_arg_advance): Adjust.
3931 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
3932 * config/rs6000/rs6000.h (FUNCTION_ARG_BOUNDARY): Delete.
3933 * config/rs6000/rs6000-protos.h (function_arg_boundary): Delete.
3934 * config/rs6000/rs6000.c (function_arg_boundary): Rename to...
3935 (rs6000_function_arg_boundary): ...this. Make static.
3936 (rs6000_parm_start, rs6000_gimplify_va_arg): Adjust.
3937 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
3938 * config/rx/rx.h (FUNCTION_ARG_BOUNDARY): Delete.
3939 * config/rx/rx.c (rx_function_arg_boundary): Define.
3940 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
3941 * config/sparc/sparc.h (FUNCTION_ARG_BOUNDARY): Delete.
3942 * config/sparc/sparc.c (sparc_function_arg_boundary): Define.
3943 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
3944 * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Delete.
3945 * config/xtensa/xtensa-protos.h (function_arg_boundary): Delete.
3946 * config/xtensa/xtensa.c (function_arg_boundary): Rename to...
3947 (xtensa_function_arg_boundary): ...this. Make static.
3948 (TARGET_FUNCTION_ARG_BOUNDARY): Define.
3949
3950 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
3951
3952 * expr.c (alignment_for_piecewise_move): New function.
3953 (widest_int_mode_for_size): New function.
3954 (move_by_pieces, move_by_pieces_ninsns): Call them.
3955 (can_store_by_pieces, store_by_pieces_1): Likewise.
3956
3957 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
3958
3959 * gcc.c (char_p): Define. Define a VEC of it.
3960 (n_linker_options, n_assembler_options, n_preprocessor_options):
3961 Delete.
3962 (linker_options, assembler_options, preprocessor_options): Convert
3963 to a VEC.
3964 (add_preprocessor_option): Adjust.
3965 (add_assembler_option): Adjust.
3966 (add_linker_option): Adjust.
3967 (do_specs_vec): New function.
3968 (do_spec_1): Call it. Adjust for new types.
3969
3970 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
3971
3972 * Makefile.in (bitmap.o, ebitmap.o, et-forest.o): Update dependencies.
3973 (sreal.o, statistics.o, stringpool.o): Likewise.
3974
3975 2010-11-16 Richard Guenther <rguenther@suse.de>
3976
3977 PR tree-optimization/44545
3978 * tree-ssa-reassoc.c (linearize_expr_tree): Possibly throwing
3979 statements are not reassociatable.
3980 (reassociate_bb): Likewise.
3981
3982 2010-11-16 Nathan Froyd <froydnj@codesourcery.com>
3983
3984 * bitmap.c: Delete unnecessary includes.
3985 * ebitmap.c: Likewise.
3986 * et-forest.c: Likewise.
3987 * sreal.c: Likewise.
3988 * statistics.c: Likewise.
3989 * stringpool.c: Likewise.
3990 * double-int.c: Add comment for inclusion of tm.h.
3991
3992 2010-11-16 Richard Guenther <rguenther@suse.de>
3993
3994 * tree-ssa-sccvn.c (visit_unary_op): Rename to ...
3995 (visit_nary_op): ... this.
3996 (visit_binary_op): Remove.
3997 (visit_use): Adjust and handle GIMPLE_TERNARY_RHS.
3998
3999 2010-11-16 Richard Guenther <rguenther@suse.de>
4000
4001 PR middle-end/45172
4002 * tree-eh.c (cleanup_empty_eh_unsplit): Avoid creating duplicate edges.
4003
4004 2010-11-16 Nick Clifton <nickc@redhat.com>
4005
4006 * config/rx/rx.c (rx_is_ms_bitfield_layout): Return false if the
4007 record is packed.
4008
4009 2010-11-15 Richard Henderson <rth@redhat.com>
4010
4011 * fold-const.c (operand_equal_for_comparison_p): Handle FMA_EXPR,
4012 WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR, VEC_COND_EXPR and
4013 DOT_PROD_EXPR.
4014
4015 2010-11-15 Richard Henderson <rth@redhat.com>
4016
4017 * config/mn10300/mn10300.md (fmasf4, fmssf4, fnmasf4, fnmssf4): Rename
4018 from fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4 respectively. Use
4019 fma rtx_code.
4020
4021 2010-11-15 Richard Henderson <rth@redhat.com>
4022
4023 * config/frv/frv.md (fmasf4, fmssf4): Rename from *muladdsf4
4024 and *mulsubsf4 respectively. Use fma rtx_code.
4025
4026 2010-11-15 Joseph Myers <joseph@codesourcery.com>
4027
4028 * gcc.c: Include "vec.h".
4029 (argbuf): Make into a VEC.
4030 (argbuf_length, argbuf_index): Remove.
4031 (alloc_args, clear_args, store_arg, execute, insert_wrapper,
4032 do_spec, do_self_spec, do_spec_1, eval_spec_function, main,
4033 compare_debug_dump_opt_spec_function: Use VEC interfaces on argbuf.
4034 * Makefile.in (GCC_OBJS): Add vec.o and ggc-none.o.
4035 (gcc.o): Depend on $(VEC_H).
4036
4037 2010-11-15 Richard Henderson <rth@redhat.com>
4038
4039 * loop-unroll.c (analyze_insn_to_expand_var): Accept accumulation
4040 via FMA if unsafe math.
4041 (insert_var_expansion_initialization): Handle FMA.
4042 (combine_var_copies_in_loop_exit): Likewise.
4043
4044 2010-11-15 Richard Henderson <rth@redhat.com>
4045
4046 * config.gcc [ia64-*] (extra_options): Add fused-madd.opt.
4047 * config/ia64/ia64.opt: Remove mfused-madd.
4048 * config/ia64/ia64.c (ia64_rtx_costs): Handle FP MULT, PLUS, FMA.
4049 * config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_FUSED_MADD.
4050 * config/ia64/vms64.h (TARGET_DEFAULT): Likewise.
4051 * config/ia64/ia64.h (TARGET_DEFAULT): Likewise.
4052 * config/ia64/hpux.h (TARGET_DEFAULT): Likewise.
4053 * config/ia64/vect.md (addv2sf3, subv2sf3): Generate FMA.
4054 (*addv2sf3_1, *addv2sf3_2, *subv2sf3_1, *subv2sf3_2): Remove.
4055 (fmav2sf4): Rename from fpma; use FMA code.
4056 (fmsv2sf4): Rename from fpms; use FMA code.
4057 (fnmav2sf4): Rename from *fpnma; use FMA code.
4058 * config/ia64/ia64.md (MODE_SDF): New iterator.
4059 (suffix): New mode attribute.
4060 (*maddsf4, *msubsf4, *nmaddsf4): Remove.
4061 (fmssf4): Rename from *fmssf4.
4062 (fnmasf4): Rename from *nfmasf4.
4063 (*madddf4, *madddf4_trunc, *msubdf4, *msubdf4_trunc): Remove.
4064 (*nmadddf4, *nmadddf4_truncsf): Remove.
4065 (fmsdf4): Rename from *fmsdf4.
4066 (fnmadf4): Rename from *nfmadf4.
4067 (*fmadf_trunc_sf, *fmsdf_trunc_sf, *fnmadf_trunc_sf): New.
4068 (*maddxf4, *maddxf4_truncsf, *maddxf4_truncdf): Remove.
4069 (*msubxf4, *msubxf4_truncsf, *msubxf4_truncdf): Remove.
4070 (*nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf): Remove.
4071 (fmsxf4): Rename from *fmsxf4.
4072 (fnmaxf4): Rename from *nfmaxf4.
4073 (*fmaxf_trunc_<MODE_SDF>, *fmsxf_trunc_<MODE_SDF>): New.
4074 (*fnmaxf_trunc_<MODE_SDF>): New.
4075
4076 2010-11-15 Jakub Jelinek <jakub@redhat.com>
4077
4078 PR tree-optimization/46461
4079 * tree-ssa-forwprop.c (simplify_builtin_call): Ensure ptr1 is
4080 a gimple val.
4081
4082 2010-11-15 Ian Lance Taylor <iant@google.com>
4083
4084 * godump.c: New file.
4085 * common.opt (fdump-go-spec=): New option.
4086 * tree.h: Add comments for TYPE_SYMTAB_ADDRESS and friends.
4087 (TYPE_SYMTAB_IS_ADDRESS, TYPE_SYMTAB_IS_POINTER): Define.
4088 (TYPE_SYMTAB_IS_DIE): Define.
4089 (struct tree_type): Change GTY for symtab field to use
4090 TYPE_SYMTAB_IS_ADDRESS and friends and to use a debug_hooks field
4091 to pick the union field.
4092 * debug.h (struct gcc_debug_hooks): Add tree_type_symtab_field.
4093 (dump_go_spec_init): Declare.
4094 * toplev.c (process_options): Handle flag_dump_go_spec.
4095 * debug.c: Include "tree.h".
4096 (do_nothing_debug_hooks): Set tree_type_symtab_field.
4097 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
4098 * dbxout.c (dbx_debug_hooks): Likewise.
4099 (xcoff_debug_hooks): Likewise.
4100 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
4101 * sdbout.c (sdb_debug_hooks): Likewise. Do not define if
4102 SDB_DEBUGGING_INFO is not defined.
4103 * doc/invoke.texi (Option Summary): Mention -fdump-go-spec.
4104 (Overall Options): Document -fdump-go-spec.
4105 * Makefile.in (OBJS-common): Add godump.o.
4106 (debug.o): Add dependency on $(TREE_H).
4107 (godump.o): New target.
4108 (GTFILES): Add $(srcdir)/godump.c.
4109
4110 2010-11-15 Jakub Jelinek <jakub@redhat.com>
4111
4112 PR debug/46095
4113 * config/i386/i386.c (pro_epilogue_adjust_stack): Instead of
4114 marking r11 set RTX_FRAME_RELATED_P if offset is too large for
4115 style < 0, add REG_FRAME_RELATED_EXPR.
4116
4117 PR debug/46387
4118 * rtl.h (vt_equate_reg_base_value): New prototype.
4119 * alias.c (vt_equate_reg_base_value): New function.
4120 * var-tracking.c (vt_init_cfa_base): Use it.
4121
4122 2010-11-15 Jan Hubicka <jh@suse.cz>
4123 Diego Novillo <dnovillo@google.com>
4124
4125 PR lto/41528
4126 * doc/lto.texi: Add.
4127 * doc/gccint.texi: Add reference to lto.texi.
4128 * doc/invoke.texi: Update user documentation for LTO.
4129 Move internal flags to lto.texi
4130
4131 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
4132
4133 * c-typeck.c (build_unary_op): Use
4134 objc_build_incr_expr_for_property_ref to build the pre/post
4135 increment/decrement of an Objective-C property ref, and skip the
4136 lvalue_or_else check in that case.
4137
4138 2010-11-15 Martin Jambor <mjambor@suse.cz>
4139
4140 PR tree-optimization/46349
4141 * tree-sra.c (contains_bitfld_comp_ref_p): New function.
4142 (contains_vce_or_bfcref_p): Likewise.
4143 (sra_modify_assign): Use them.
4144
4145 2010-11-15 Richard Guenther <rguenther@suse.de>
4146
4147 PR tree-optimization/46467
4148 * tree-ssa-structalias.c (do_structure_copy): Properly treat
4149 variables without subvars.
4150
4151 2010-11-15 Hariharan Sandanagobalane <hariharan@picochip.com>
4152
4153 * config/picochip/picochip.c (file header): Picochip name change.
4154 * config/picochip/picochip.md (file header): Likewise.
4155 * config/picochip/predicates.md (file header): Likewise.
4156 * config/picochip/dfa_space.md (file header): Likewise.
4157 * config/picochip/dfa_speed.md (file header): Likewise.
4158 * config/picochip/picochip.h(file header): Likewise.
4159 * config/picochip/constraints.md (file header): Likewise.
4160 * config/picochip/picochip-protos.h (file header): Likewise.
4161 * config/picochip/libgccExtras/setjmp.asm (file header): Likewise.
4162 * config/picochip/libgccExtras/divmodsi4.asm (file header): Likewise.
4163 * config/picochip/libgccExtras/ashlsi3.asm (file header): Likewise.
4164 * config/picochip/libgccExtras/longjmp.asm (file header): Likewise.
4165 * config/picochip/libgccExtras/ashlsi3.c (file header): Likewise.
4166 * config/picochip/libgccExtras/popcounthi2.asm (file header): Likewise.
4167 * config/picochip/libgccExtras/parityhi2.asm (file header): Likewise.
4168 * config/picochip/libgccExtras/udivmodhi4.asm (file header): Likewise.
4169 * config/picochip/libgccExtras/ashrsi3.asm (file header): Likewise.
4170 * config/picochip/libgccExtras/ashrsi3.c (file header): Likewise.
4171 * config/picochip/libgccExtras/ucmpsi2.asm (file header): Likewise.
4172 * config/picochip/libgccExtras/divmodhi4.asm (file header): Likewise.
4173 * config/picochip/libgccExtras/lshrsi3.asm (file header): Likewise.
4174 * config/picochip/libgccExtras/subdi3.asm (file header): Likewise.
4175
4176 2010-11-15 Richard Guenther <rguenther@suse.de>
4177
4178 PR bootstrap/46474
4179 * tree-ssa-math-opts.c (convert_mult_to_fma): Disregard debug stmts.
4180
4181 2010-11-15 Nick Clifton <nickc@redhat.com>
4182
4183 * config/stormy16/stormy16.c (direct_return): Do not generate a
4184 direct return for interrupt handlers.
4185
4186 2010-11-15 Joern Rennecke <amylaar@spamcop.net>
4187
4188 * Makefile.in (tm.texi): Replace with rule for:
4189 ($(srcdir)/doc/tm.texi).
4190 (s-tm-texi): Depend on $(srcdir)/doc/../doc/tm.texi instead of on
4191 $(srcdir)/doc/tm.texi .
4192 (TEXI_GCCINT_FILES): Depend on $(srcdir)/doc/tm.texi instead of on
4193 tm.texi .
4194
4195 PR target/46427
4196 * config/m32r/m32r.c: Remove unused variables frame_size and insn.
4197
4198 PR bootstrap/45444
4199 * config/arm/arm.c (locate_neon_builtin_icode): Initialize key.
4200 (arm_output_asm_insn) Add ATTRIBUTE_PRINTF_4.
4201
4202 PR target/46432
4203 * config/v850/v850.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
4204
4205 2010-11-15 Richard Guenther <rguenther@suse.de>
4206
4207 PR lto/44150
4208 * lto-opts.c (lto_write_options): Write -fexceptions even if
4209 not set by the user.
4210
4211 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
4212
4213 PR c/46462
4214 * c-decl.c (declspecs_add_type): Make variables with error types
4215 integers.
4216 * c-parser.c (c_parser_next_tokens_start_declaration): Two IDs
4217 do not start a declaration before an Objective-C foreach.
4218 (c_parser_declaration_or_fndef): Improve recovery after unknown
4219 type name.
4220 (c_parser_for_statement): Hoist entrance of "foreach context"
4221 before ifs, add corresponding reset where it was missing. Do
4222 not set objc_could_be_foreach_context for C.
4223
4224 2010-11-14 Eric Botcazou <ebotcazou@adacore.com>
4225
4226 PR tree-optimization/45722
4227 * tree-sra.c (build_ref_for_model): Always build a COMPONENT_REF if
4228 this is a reference to a component.
4229 * ipa-prop.c (ipa_get_member_ptr_load_param): Accept COMPONENT_REF.
4230 (ipa_note_param_call): Adjust comment.
4231
4232 2010-11-14 Richard Sandiford <rdsandiford@googlemail.com>
4233
4234 * config/mips/mips.c (machine_function): Remove
4235 initialized_mips16_gp_pseudo_p.
4236 (mips16_gp_pseudo_reg): Use cfun->machine->mips16_gp_pseudo_rtx to
4237 detect whether a pseudo has already been created. Unconditionally
4238 create a new one if not.
4239 (mips_pic_base_register): Only call mips16_gp_pseudo_reg when
4240 expanding to rtl. Create a new pseudo otherwise, if allowed.
4241
4242 2010-11-13 Richard Earnshaw <rearnsha@arm.com>
4243
4244 PR target/43440
4245 * tm.texi.in (OVERLAPPING_REGISTER_NAMES): Document new macro.
4246 * tm.texi: Regenerated.
4247 * output.h (decode_reg_name_and_count): Declare.
4248 * varasm.c (decode_reg_name_and_count): New function.
4249 (decode_reg_name): Reimplement using decode_reg_name_and_count.
4250 * reginfo.c (fix_register): Use decode_reg_name_and_count and
4251 iterate over all regs used.
4252 * stmt.c (expand_asm_operands): Likewise.
4253 * arm/aout.h (OVERLAPPING_REGISTER_NAMES): Define.
4254 (ADDITIONAL_REGISTER_NAMES): Remove aliases that overlap
4255 multiple machine registers.
4256
4257 2010-11-13 Eric Botcazou <ebotcazou@adacore.com>
4258
4259 * stor-layout.c (place_union_field): Do not put location information
4260 on offset expressions.
4261 (place_field): Likewise.
4262 (finalize_record_size): Likewise on size expressions.
4263 (finalize_type_size): Likewise.
4264 (layout_type): Likewise.
4265
4266 2010-11-13 Alexandre Oliva <aoliva@redhat.com>
4267
4268 PR debug/42889
4269 * df-scan.c (df_insn_rescan): Don't mark BBs upon debug insns.
4270 * df-core.c (df_set_bb_dirty_nonrl): Remove.
4271 * df.h (df_set_bb_dirty_nonlr): Likewise.
4272
4273 2010-11-13 Uros Bizjak <ubizjak@gmail.com>
4274
4275 * config/mips/mips.md (call_internal): Pass curr_insn to
4276 mips_split_call.
4277 (call_internal_direct): Ditto.
4278 (call_value_internal): Ditto.
4279 (call_value_internal_direct): Ditto.
4280 (call_value_multiple_internal): Ditto.
4281 * config/mips/mips.c (mips_split_call): Do not copy
4282 CALL_INSN_FUNCTION_USAGE here.
4283
4284 2010-11-13 Mingming Sun <mingm.sun@gmail.com>
4285
4286 * doc/invoke.texi (MIPS Options): Add loongson3a processor.
4287 * config/mips/mips.md (define_attr "cpu"): Add loongson_3a.
4288 (define_insn "prefetch"): Add TARGET_LOONGSON_3A.
4289 * config/mips/mips.h (TARGET_LOONGSON_3A): Define.
4290 (TUNE_LOONGSON_3A): Define.
4291 (TARGET_LOONGSON_VECTORS): Add TARGET_LOONGSON_3A.
4292 (MIPS_ISA_LEVEL_SPEC): Add loongson3a.
4293 * config/mips/mips.c (mips_cpu_info_table): Add loongson3a.
4294 (mips_issue_rate): Add PROCESSOR_LOONGSON_3A.
4295 (mips_rtx_cost_data): Add Loongson-3A.
4296
4297 2010-11-13 Iain Sandoe <iains@gcc.gnu.org>
4298
4299 * config/darwin.h (LINK_COMMAND_SPEC_A): Update for changes to lto
4300 switches.
4301
4302 2010-11-13 Iain Sandoe <iains@gcc.gnu.org>
4303
4304 * dwarf2out.c (macinfo_entry): New struct.
4305 (output_comp_unit): Emit the section start label here and flag that we
4306 will emit an info section.
4307 (dwarf2out_start_source_file): Save data in a macinfo entry rather than
4308 emitting directly.
4309 (dwarf2out_end_source_file): Likewise.
4310 (dwarf2out_define): Likewise.
4311 (dwarf2out_undef): Likewise.
4312 (output_macinfo): New.
4313 (dwarf2out_init): Do not emit debug section switches here, allocate a
4314 vec for macinfo, when required.
4315 (dwarf2out_finish): First switch to debug_abbrev_section here.
4316 debug_line_section, debug_macinfo_section, Likewise.
4317 Check that the pubtypes table has at least one unpruned entry before
4318 trying to emit it.
4319
4320 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
4321
4322 PR c/20385
4323 * c-parser.c (c_parser_next_token_starts_declaration): Rename to...
4324 (c_parser_next_tokens_start_declaration): ... this. Handle 2nd
4325 token lookahead.
4326 (c_parser_compound_statement_nostart, c_parser_label,
4327 c_parser_for_statement, c_parser_omp_for_loop): Adjust calls.
4328 (c_parser_declaration_or_fndef): Detect the case now matched by
4329 c_parser_next_tokens_start_declaration, give error and correct it.
4330
4331 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
4332
4333 * c-tree.h (enum c_typespec_kind): Add ctsk_none.
4334 (struct c_declspecs): Replace tagdef_seen_p and type_seen_p
4335 with typespec_kind.
4336 * c-decl.c (build_null_declspecs): Initialize typespec_kind.
4337 (shadow_tag_warned, check_compound_literal_type): Adjust
4338 uses of tag_defined_p.
4339 (declspecs_add_type): Set typespec_kind.
4340 * c-parser.c (c_parser_declaration_or_fndef,
4341 c_parser_declspecs, c_parser_struct_declaration,
4342 c_parser_parameter_declaration, c_parser_type_name,
4343 c_parser_objc_diagnose_bad_element_prefix): Adjust uses
4344 of type_seen_p.
4345 * c-typeck.c (c_cast_expr): Use typespec_kind instead of
4346 tag_defined_p, pass ctsk_firstref through.
4347
4348 2010-11-13 Paolo Bonzini <bonzini@gnu.org>
4349
4350 * c-format.c (enum format_specifier_kind, kind_descriptions): New.
4351 (struct format_wanted_type): Replace field "name" with "kind", add
4352 "format_start" and "format_length".
4353 (check_format_info_main): Fill in new fields. Fill in
4354 FORMAT_WANTED_TYPES even for missing arguments. Move checks
4355 after the final NUL outside the while loop. Do not include
4356 width and precision modifiers in the format_start/format_length
4357 of the main format.
4358 (check_format_types): Remove FORMAT_START and FORMAT_LENGTH
4359 arguments. Compute WANTED_TYPE first so that format_type_warning
4360 can be called for missing arguments. Adjust calls to
4361 format_type_warning.
4362 (format_type_warning): Fetch as much information as possible
4363 from format_wanted_type. Adjust printing now that every
4364 warning has a "descr", as well as for missing argument warnings
4365 and to include % sign for format specifiers.
4366
4367 2010-11-12 Alexander Monakov <amonakov@ispras.ru>
4368
4369 PR rtl-optimization/46204
4370 * sel-sched-ir.c (maybe_tidy_empty_bb): Remove second argument.
4371 Update all callers. Do not recompute topological order. Adjust
4372 fallthrough edges following a degenerate conditional jump.
4373
4374 2010-11-12 Joseph Myers <joseph@codesourcery.com>
4375
4376 * opts-common.c (control_warning_option): New.
4377 * opts.c (set_default_handlers): New.
4378 (decode_options): Use set_default_handlers and
4379 control_warning_option.
4380 (common_handle_option): Update call to enable_warning_as_error.
4381 (enable_warning_as_error): Take gcc_options parameters. Use
4382 control_warning_option.
4383 * opts.h (set_default_handlers, control_warning_option): Declare.
4384
4385 2010-11-12 Joseph Myers <joseph@codesourcery.com>
4386
4387 * Makefile.in (OPTS_H): Define.
4388 (c-decl.o, c-family/c-common.o, c-family/c-opts.o,
4389 c-family/c-pch.o, c-family/c-pragma.o, gcc.o, gccspec.o,
4390 cppspec.o, options.o, gcc-options.o, lto-opts.o, opts.o,
4391 opts-common.o, toplev.o, passes.o, matrix-reorg.o,
4392 ipa-struct-reorg.o, PLUGIN_HEADERS): Use $(OPTS_H).
4393 * gcc.c (driver_handle_option): Take location_t parameter.
4394 (process_command, do_self_spec): Update calls to
4395 read_cmdline_option.
4396 * langhooks-def.h (lhd_handle_option): Take location_t parameter.
4397 * langhooks.c (lhd_handle_option): Take location_t parameter.
4398 * langhooks.h (handle_option): Take location_t parameter.
4399 * lto-opts.c (lto_reissue_options): Update call to set_option.
4400 * opts-common.c (handle_option): Make static. Take location_t
4401 parameter and pass it to other functions.
4402 (handle_generated_option): Take location_t parameter and pass it
4403 to other functions.
4404 (read_cmdline_option): Take location_t parameter and pass it to
4405 other functions. Use warning_at and error_at.
4406 (set_option): Take location_t parameter and pass it to other
4407 functions.
4408 * opts.c (common_handle_option): Take location_t parameter and
4409 pass it to other functions.
4410 (enable_warning_as_error): Make static. Take location_t parameter
4411 and pass it to other functions.
4412 (lang_handle_option): Take location_t parameter and pass it to
4413 other functions.
4414 (target_handle_option): Take location_t parameter.
4415 (read_cmdline_options, maybe_default_option,
4416 maybe_default_options, default_options_optimization,
4417 decode_options): Take location_t parameter and pass it to other
4418 functions.
4419 * opts.h: Include input.h.
4420 (struct cl_option_handler_func, decode_options, set_option,
4421 handle_generated_option, read_cmdline_option): Take location_t
4422 parameters.
4423 (handle_option, enable_warning_as_error): Remove.
4424 * toplev.c (toplev_main): Update call to decode_options.
4425
4426 2010-11-12 Tobias Grosser <grosser@fim.uni-passau.de>
4427
4428 * graphite-cloog-util.c (oppose_constraint,
4429 cloog_matrix_to_ppl_constraint,
4430 new_Constraint_System_from_Cloog_Matrix): Explicitly cast to int as
4431 CLooG isl uses unsigned integers. This triggered a warning.
4432
4433 2010-11-12 Joern Rennecke <amylaar@spamcop.net>
4434
4435 PR target/46438
4436 * config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use LCT_NORMAL.
4437 (xtensa_setup_frame_addresses, xtensa_trampoline_init): Likewise.
4438 (xtensa_function_arg_1): De-constify cum.
4439 (xtensa_expand_prologue): Use add_reg_note.
4440
4441 PR target/46435
4442 * config/cris/cris.c (saved_regs_mentioned): Delete.
4443 (cris_reload_address_legitimized): Cast itype to enum reload_type.
4444 Remove unused variable op0p.
4445 (cris_rtx_costs): Cast argument 2 to rtx_cost to enum rtx_code.
4446 (cris_emit_movem_store): Use add_reg_note.
4447
4448 PR bootstrap/46456
4449 * cppbuiltin.c (define_builtin_macros_for_type_sizes): Split assert.
4450
4451 2010-11-12 Eric Botcazou <ebotcazou@adacore.com>
4452
4453 * function.c (expand_function_end): Set the locator of the prologue on
4454 the stack checking insns.
4455
4456 2010-11-12 Richard Henderson <rth@redhat.com>
4457
4458 * config.gcc [xtensa] (extra_options): Add fused-madd.opt.
4459 * config/xtensa/xtensa.opt (mfused-madd): Remove.
4460 * config/xtensa/xtensa.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
4461 MASK_FUSED_MADD.
4462 * config/xtensa/xtensa.md (fmasf4): Rename from muladdsf3; use fma.
4463 (fnmasf4): Rename from mulsubsf3; use fma.
4464
4465 2010-11-12 Joern Rennecke <amylaar@spamcop.net>
4466 Richard Henderson <rth@redhat.com>
4467
4468 PR target/46428
4469 * config/moxie/moxie.c (moxie_expand_prologue): Remove unused variables.
4470 * config/moxie/moxie.h (HARD_REGNO_OK_FOR_BASE_P): Use unsigned
4471 comparison.
4472
4473 2010-11-12 Pat Haugen <pthaugen@us.ibm.com>
4474
4475 * opts-common.c (decode_cmdline_option): Initialize separate_args.
4476
4477 2010-11-12 Jan Hubicka <jh@suse.cz>
4478
4479 * doc/invoke.texi (early-inlining-insns): Update default.
4480 * params.def (early-inlining-insns): Default to 10.
4481
4482 2010-11-12 Olivier Hainque <hainque@adacore.com>
4483
4484 * config/rs6000/aix.h: #undef TARGET_AIX_OS before #define.
4485
4486 2010-11-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4487
4488 * config/mips/iris6.h [!IRIX_USING_GNU_LD]
4489 (SUPPORTS_INIT_PRIORITY): Define.
4490
4491 2010-11-12 Joern Rennecke <amylaar@spamcop.net>
4492
4493 PR target/46430
4494 * config/avr/avr-protos.h (avr_return_addr_rtx): Update prototype.
4495 * config/avr/driver-avr.c (avr_device_to_arch): Always return value.
4496 (avr_device_to_data_start, avr_device_to_startfiles): Likewise.
4497 (avr_device_to_devicelib): Likewise.
4498 * config/avr/avr.md (zero_extendqihi2): Put variable declarations
4499 into block.
4500 (zero_extendqisi2, zero_extendhisi2, zero_extendqidi2): Likewise.
4501 (zero_extendhidi2, zero_extendsidi2): Likewise.
4502 * config/avr/avr.c (avr_num_arg_regs): Constify type.
4503 (avr_return_addr_rtx): De-constify tem.
4504 (avr_rotate_bytes): Move declarations to start of block.
4505 Don't use variable length array. Put nested if/else into block.
4506
4507 PR rtl-optimization/46433
4508 * var-tracking.c: Include tm_p.h .
4509
4510 PR bootstrap/44756
4511 PR build/44767
4512 * doc/tm.texi.in (LOCAL_ALIGNMENT): State that the type, if any,
4513 should be unsigned.
4514 (STACK_SLOT_ALIGNMENT, LOCAL_DECL_ALIGNMENT, PUSH_ROUNDING): Likewise.
4515 * doc/tm.texi: Regenerate.
4516
4517 PR target/46412
4518 * config/bfin/bfin-protos.h (bfin_local_alignment): Update prototype.
4519 * config/bfin/bfin.c: Include sel-sched.h .
4520 (bfin_cpus): Use BFIN_CPU_UNKNOWN for last initializer element.
4521 (expand_interrupt_handler_prologue): Remove unused variable insn.
4522 (bfin_load_pic_reg): Likewise.
4523 (bfin_rtx_costs): Make code / outer_code variables of type
4524 enum rtx_code, copied from re-named parameters.
4525 (bfin_local_alignment): Change align argument and return type
4526 to unsigned.
4527 (bfin_adjust_cost): Remove unused variable insn_type.
4528 Declare variables at start of block.
4529 (struct loop_info): Rename to...
4530 (struct loop_info_d).
4531 (workaround_rts_anomaly): Change type of icode to int.
4532 (harmless_null_pointer_p): Cast REGNO (..) to int before comparison
4533 with int-typed variable.
4534 (note_np_check_stores): Likewise.
4535 (trapping_loads_p): Remove unused variable pat.
4536 (bfin_expand_binop_builtin): Use expand_normal.
4537 (bfin_expand_unop_builtin): Likewise.
4538 (bfin_expand_builtin): Likewise. Set tmode before use.
4539
4540 PR middle-end/44769
4541 * final.c (split_double): Don't use BITS_PER_WORD directly in
4542 shift count.
4543
4544 PR target/46431
4545 * config/fr30/fr30.md (*movsf_constant_store): Remove duplicated
4546 assignment.
4547
4548 PR target/46450
4549 * config/stormy16/stormy16.c (xstormy16_expand_prologue):
4550 Use add_reg_note.
4551 (xstormy16_function_arg): Dereference cum.
4552 (xstormy16_expand_builtin): Use expand_normal.
4553 Change type of omode to enum machine_mode.
4554 (combine_bnp): Rename and to and_insn.
4555
4556 PR target/46437
4557 * config/mcore/mcore.c (layout_mcore_frame): Remove unused variable
4558 localreg.
4559
4560 2010-11-12 Eric Botcazou <ebotcazou@adacore.com>
4561
4562 PR debug/46375
4563 * emit-rtl.c (remove_insn): Do not mark BBs upon debug insns.
4564
4565 2010-11-11 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
4566
4567 PR lto/46376
4568 * lto-symtab.c (lto_symtab_resolve_replaceable_p): Use DECL_ONE_ONLY.
4569
4570 2010-11-11 Nathan Froyd <froydnj@codesourcery.com>
4571
4572 PR c/44782
4573 * common.opt (fmax-errors=): New option.
4574 * opts.c (common_handle_option) [OPT_fmax_errors_]: Handle it.
4575 * diagnostic.h (struct diagnostic_context): Add max_errors field.
4576 * diagnostic.c (diagnostic_initialize): Initialize it.
4577 (diagnostic_action_after_output): Exit if more than max_errors
4578 have been output.
4579 * doc/invoke.texi (Warning Options): Add -fmax-errors.
4580 (-fmax-errors): Document.
4581
4582 2010-11-11 Richard Henderson <rth@redhat.com>
4583
4584 * optabs.c (init_optabs): Init {fma,fms,fnma,fnms}_optab properly.
4585
4586 2010-11-11 Richard Henderson <rth@redhat.com>
4587
4588 * config/fused-madd.opt: New file.
4589 * config.gcc [i386-*, x86_64-*] (extra_options): Use it.
4590 * config/i386/i386.c (ix86_extra_costs): Handle FMA.
4591 (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
4592 * config/i386/i386.opt (mfused-madd): Remove.
4593 * config/i386/sse.md (split_fma): Remove.
4594 (split_fms, split_fnma, split_fnms): Remove.
4595
4596 2010-11-12 Jakub Jelinek <jakub@redhat.com>
4597
4598 PR target/46088
4599 * config/i386/i386.md (*ashl<mode>3_cconly,
4600 *<shiftrt_insn><mode>3_cconly): Don't use ix86_binary_operator_ok,
4601 change nonimmediate_operand predicate to register_operand.
4602
4603 2010-11-11 Paolo Bonzini <bonzini@gnu.org>
4604
4605 * Makefile.in (gengtype-lex.c): Include bconfig.h first.
4606
4607 2010-11-11 Jan Hubicka <jh@suse.cz>
4608
4609 * opts.c (finish_options): Do not error on -flto-partition alone.
4610
4611 * doc/invoke.texi (-fwhopr): Merge into -flto section.
4612 (-flto-partition): Document none.
4613 * gcc.c (LINK_COMMAND_SPEC): Remove -fwhopr.
4614 * lto-wrapper.c: Update comment.
4615 (run_gcc): Update LTO option parsing.
4616 * opts.c (finish_options): add support -flto-partition=none
4617 (common_handle_option): Remove fwhopr.
4618 * common.opt: Turn fwhopr into flto.
4619 * collect2.c (main): Update option handling.
4620 * cgraphunit.c (cgraph_decide_is_function_needed): Remove flag_whopr.
4621 * ipa-split.c (execute_split_functions): Remove flag_whopr.
4622 * ipa.c (function_and_variable_visibility): Remove flag_whopr.
4623 * ipa-prop.c (ipa_compute_jump_functions): Remove flag_whopr.
4624 * varpool.c (decide_is_variable_needed): Remove flag_whopr.
4625
4626 2010-11-11 Jan Hubicka <jh@suse.cz>
4627
4628 PR tree-optimize/40436
4629 * ipa-inline.c (likely_eliminated_by_inlining_p): Rename to ...
4630 (eliminated_by_inlining_prob): ... this one; return 50% probability
4631 for SRA.
4632 (estimate_function_body_sizes): Update use of
4633 eliminated_by_inlining_prob; estimate static function size
4634 for 2 instructions.
4635
4636 2010-11-11 Joern Rennecke <amylaar@spamcop.net>
4637
4638 PR target/44749
4639 * config/mep/mep-protos.h (mep_legitimize_reload_address): Always
4640 declare. Change type of argument four to type int.
4641 (mep_secondary_input_reload_class): Returns enum reg_class.
4642 (mep_secondary_output_reload_class): Likewise.
4643 (mep_function_value): Change types of arguments to cont_tree.
4644 * config/mep/mep.c (mep_legitimize_reload_address): Change type of
4645 argument four to type int.
4646 (mep_secondary_input_reload_class): Returns enum reg_class.
4647 (mep_secondary_output_reload_class): Likewise.
4648 (mep_function_value): Change types of arguments to cont_tree.
4649 * config/mep/mep.h (REGNO_REG_CLASS): Cast return value of
4650 mep_regno_reg_class to enum reg_class.
4651
4652 2010-11-11 Richard Henderson <rth@redhat.com>
4653
4654 * tree-ssa-math-opts.c (convert_mult_to_fma): Do not verify
4655 that the target has the exact fma operation that we matched.
4656
4657 2010-11-11 Joseph Myers <joseph@codesourcery.com>
4658
4659 * reginfo.c (fix_register): Avoid inserting English word in
4660 diagnostic sentence. Use %qs for quoting and %'.
4661
4662 2010-11-11 H.J. Lu <hongjiu.lu@intel.com>
4663
4664 * config/i386/driver-i386.c (host_detect_local_cpu): Support
4665 Intel processor family 6, model 0x2c.
4666
4667 2010-11-11 Joseph Myers <joseph@codesourcery.com>
4668
4669 * opts.c (warning_as_error_callback,
4670 register_warning_as_error_callback): Remove.
4671 (enable_warning_as_error): Don't use warning_as_error_callback.
4672 * opts.h (register_warning_as_error_callback): Remove.
4673
4674 2010-11-11 Richard Henderson <rth@redhat.com>
4675
4676 * tree-ssa-math-opts.c (convert_mult_to_fma): Handle a NEGATE_EXPR
4677 in between the MULT and the PLUS/MINUS.
4678
4679 2010-11-11 Jakub Jelinek <jakub@redhat.com>
4680
4681 PR middle-end/46388
4682 * expr.c (expand_assignment): If to_rtx is a VOIDmode MEM, use
4683 BLKmode mode for it.
4684 (expand_expr_real_1): Similarly for op0.
4685
4686 2010-11-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4687
4688 * doc/sourcebuild.texi (LTO Testing, dg-suppress-ld-options):
4689 Document optional target selector.
4690
4691 2010-11-11 Dave Korn <dave.korn.cygwin@gmail.com>
4692
4693 * lto-streamer-out.c (write_symbol): Use int_size_in_bytes rather than
4694 assembling high and low parts of size if not using 32-bit HWINT; else
4695 use DECL_SIZE_UNITS, not DECL_SIZE.
4696
4697 2010-11-11 Martin Jambor <mjambor@suse.cz>
4698
4699 PR tree-optimization/46383
4700 * ipa-prop.c (compute_complex_assign_jump_func): Ignore negative
4701 offsets.
4702 (compute_complex_ancestor_jump_func): Likewise.
4703 * tree.c (get_binfo_at_offset): Return NULL_TREE if offset is negative.
4704
4705 2010-11-11 Jakub Jelinek <jakub@redhat.com>
4706
4707 PR debug/46150
4708 * tree-ssa-loop-ivopts.c (htab_inv_expr_eq): Don't return
4709 true if expr1->hash != expr2->hash.
4710
4711 2010-11-10 Joseph Myers <joseph@codesourcery.com>
4712
4713 * cfgloop.c (verify_loop_structure): Use %' in diagnostics. Start
4714 diagnostics with lowercase letters.
4715 * cgraphunit.c (verify_cgraph_node): Start diagnostics with
4716 lowercase letters.
4717 * collect2.c (maybe_run_lto_and_relink): Remove trailing '.' from
4718 diagnostic.
4719 * config/alpha/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
4720 * config/arm/arm.c (arm_get_pcs_model): Start diagnostics with
4721 lowercase letters.
4722 * config/arm/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
4723 Remove trailing ' ' from diagnostic.
4724 * config/avr/avr.c (print_operand_address): Start diagnostic with
4725 a lowercase letter and remove trailing '.'.
4726 * config/avr/avr.opt (mpmem-wrap-around): Fix typo in help text.
4727 * config/bfin/bfin.c (bfin_option_override): Start diagnostics
4728 with lowercase letters. Use %' in diagnostics. Remove trailing
4729 '.' from diagnostics.
4730 (bfin_handle_longcall_attribute): Use %' in diagnostic.
4731 * config/cris/cris.c (cris_split_movdx,
4732 cris_expand_pic_call_address): Start diagnostics with lowercase
4733 letters.
4734 (cris_asm_output_label_ref): Use %' in diagnostic.
4735 * config/cris/cris.h (ASM_SPEC): Start diagnostic with a lowercase
4736 letter.
4737 * config/crx/crx.h (FUNCTION_PROFILER): Start diagnostic with a
4738 lowercase letter.
4739 * config/darwin-c.c (version_as_macro): Start diagnostic with a
4740 lowercase letter.
4741 * config/darwin-driver.c (darwin_default_min_version): Use %' in
4742 diagnostic.
4743 * config/host-darwin.c (darwin_gt_pch_use_address): Use %' in
4744 diagnostic.
4745 * config/i386/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
4746 * config/i386/host-cygwin.c (cygwin_gt_pch_get_address): Use %' in
4747 diagnostics.
4748 * config/i386/i386.c (ix86_option_override_internal): Write
4749 diagnostic as a single sentence without trailing '.'. Use %' in
4750 diagnostics.
4751 (ix86_function_sseregparm, classify_argument): Start diagnostics
4752 with lowercase letters.
4753 (ix86_expand_prologue): Use %' in diagnostic.
4754 * config/i386/i386.h (CC1_CPU_SPEC_1): Remove trailing '.' from
4755 diagnostic.
4756 * config/i386/nwld.h (LINK_SPEC): Start diagnostic with a
4757 lowercase letter.
4758 * config/i386/winnt.c (i386_pe_determine_dllimport_p): Use %' in
4759 diagnostic.
4760 * config/ia64/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
4761 * config/ia64/ia64.opt (msched-max-memory-insns-hard-limit): Avoid
4762 '`' in help text.
4763 * config/lm32/lm32.c (lm32_print_operand): Start diagnostic with a
4764 lowercase letter.
4765 * config/mep/mep.c (mep_validate_vliw): Start diagnostics with
4766 lowercase letters.
4767 * config/microblaze/microblaze.c (microblaze_handle_option):
4768 Remove trailing '.' from diagnostic.
4769 (print_operand): Start diagnostic with a lowercase letter.
4770 * config/pa/pa-hpux10.h (LINK_SPEC): Start diagnostics with
4771 lowercase letters. Avoid '`' in diagnostics.
4772 * config/pa/pa-hpux11.h (LINK_SPEC): Start diagnostics with
4773 lowercase letters. Avoid '`' in diagnostics.
4774 * config/pa/pa64-hpux.h (LINK_SPEC): Start diagnostics with
4775 lowercase letters. Avoid '`' in diagnostics.
4776 * config/picochip/picochip.c (picochip_option_override,
4777 picochip_emit_save_register, picochip_function_arg,
4778 picochip_output_label, picochip_output_internal_label,
4779 picochip_asm_output_opcode, picochip_output_cbranch,
4780 picochip_output_compare, picochip_output_branch,
4781 picochip_get_vliw_alu_id): Remove trailing '.' and '\n' from
4782 diagnostics. Start diagnostics with lowercase letters. Use %' in
4783 diagnostics.
4784 * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
4785 "SPE" capitalization. Start diagnostic with a lowercase letter.
4786 (rs6000_handle_option): Start diagnostics with lowercase letters.
4787 (def_builtin): Remove trailing '.' from diagnostic.
4788 (rs6000_savres_routine_name): Start diagnostic with a lowercase
4789 letter.
4790 * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Avoid '`' in
4791 diagnostic.
4792 * config/rx/rx.c (rx_handle_option): Start diagnostic with a
4793 lowercase letter.
4794 * config/s390/s390.c (s390_option_override) Start diagnostics with
4795 lowercase letters. Use %' in diagnostic.
4796 * config/sh/sh.c (sh_output_mi_thunk): Start diagnostics with
4797 lowercase letters.
4798 * config/sh/symbian-base.c (sh_symbian_mark_dllimport): Use %' in
4799 diagnostic.
4800 * config/sh/symbian-c.c (sh_symbian_is_dllimported): Use %' in
4801 diagnostic.
4802 * config/sh/symbian-cxx.c (sh_symbian_is_dllimported): Use %' in
4803 diagnostic.
4804 * config/sparc/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
4805 * config/spu/spu.c (spu_option_override): Start diagnostics with
4806 lowercase letters. Use %qs for quoting in diagnostics.
4807 (spu_check_builtin_parm): Remove trailing '.' from diagnostics.
4808 Use %wd instead of HOST_WIDE_INT_PRINT_DEC in diagnostic .
4809 * config/v850/v850.c (construct_save_jarl): Remove trailing '\n'
4810 from diagnostic.
4811 * convert.c (convert_to_integer, convert_to_vector): Use %' in
4812 diagnostics.
4813 * dbgcnt.c (dbg_cnt_process_opt): Start diagnostic with lowercase
4814 letter and use "cannot" spelling.
4815 * expmed.c (extract_fixed_bit_field): Start diagnostic with
4816 lowercase letter and format as a single sentence without '.'.
4817 * ggc-common.c (write_pch_globals, gt_pch_save, gt_pch_restore):
4818 Use %' in diagnostics.
4819 * ggc-page.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
4820 Use %' in diagnostics.
4821 * ggc-zone.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
4822 Use %' in diagnostics.
4823 * graph.c (clean_graph_dump_file): Use %' in diagnostic.
4824 * graphite-poly.c (graphite_read_scop_file): Start diagnostics
4825 with lowercase letters and remove tailing '.' and '\n'.
4826 * lto-cgraph.c (input_profile_summary): Start diagnostic with
4827 lowercase letter and remove trailing '.'.
4828 (input_cgraph): Start diagnostics with lowercase letters and
4829 remove trailing '\n'.
4830 * opts.c (finish_options, common_handle_option): Start diagnostics
4831 with lowercase letters and remove trailing '.'. Fix typo in
4832 diagnostic.
4833 * passes.c (position_pass): Start diagnostic with lowercase letter.
4834 * plugin.c (add_new_plugin, parse_plugin_arg_opt,
4835 register_callback, try_init_one_plugin): Start diagnostics with
4836 lowercase letters.
4837 * reload1.c (spill_failure): Use %' in diagnostic.
4838 (gen_reload): Start diagnostic with a lowercase letter.
4839 * stor-layout.c (place_field): Start diagnostic with a lowercase
4840 letter.
4841 * toplev.c (open_auxiliary_file): Use %' in diagnostic.
4842 * tree-cfg.c (verify_expr, verify_types_in_gimple_reference,
4843 verify_gimple_call, verify_gimple_phi, verify_eh_throw_stmt_node):
4844 Start diagnostics with lowercase letters, remove trailing '.' and
4845 use %' in diagnostics.
4846 * tree-ssa.c (verify_def): Remove trailing '.' from diagnostic.
4847 (verify_ssa): Don't split diagnostic across two error calls.
4848 Spell out "number" and use %' in diagnostic.
4849 * value-prof.c (visit_hist, check_counter): Start diagnostics with
4850 lowercase letters.
4851
4852 2010-11-10 Uros Bizjak <ubizjak@gmail.com>
4853
4854 PR middle-end/46419
4855 * config/i386/xmmintrin.h (_mm_cvtpi16_ps): Swap __hisi and __losi.
4856 (_mm_cvtpu16_ps): Ditto.
4857
4858 2010-11-10 Joseph Myers <joseph@codesourcery.com>
4859
4860 * common.opt (flag_excess_precision_cmdline, flag_generate_lto,
4861 warn_larger_than, larger_than_size, warn_frame_larger_than,
4862 frame_larger_than_size, flag_gen_aux_info, flag_shlib,
4863 default_visibility, flag_tls_default): New Variable declarations.
4864 (aux-info, auxbase, dumpbase, dumpdir, falign-functions=,
4865 falign-jumps=, falign-labels=, falign-loops=, o, v): Use Var.
4866 (v): Declare as Common and document here.
4867 * flags.h (default_visibility, flag_generate_lto,
4868 warn_larger_than, larger_than_size, warn_frame_larger_than,
4869 frame_larger_than_size, flag_gen_aux_info, flag_pedantic_errors,
4870 flag_shlib, flag_excess_precision_cmdline): Remove.
4871 (set_Wstrict_aliasing): Update prototype.
4872 * gcc.c (verbose_flag): Remove.
4873 (driver_handle_option): Add diagnostic_context parameter. Don't
4874 handle OPT_v explicitly here. Set verbose_flag to 1 rather than
4875 incrementing it.
4876 * opts-common.c (handle_option): Pass dc to handler.
4877 * opts.c (warn_larger_than, larger_than_size,
4878 warn_frame_larger_than, frame_larger_than_size,
4879 default_visibility): Remove.
4880 (common_handle_option): Add diagnostic_context parameter.
4881 (set_fast_math_flags, set_unsafe_math_optimizations_flags): Add
4882 gcc_options parameters.
4883 (lang_handle_option, target_handle_option, read_cmdline_options,
4884 decode_options): Add diagnostic_context parameters.
4885 (finish_options): Access option state through opts pointer where
4886 possible.
4887 (common_handle_option): Access option state through opts pointer
4888 where possible. Do not set local static variable verbose. Do not
4889 explicitly handle OPT_v, OPT_Wstrict_aliasing_,
4890 OPT_Wstrict_overflow_, OPT_Wunused, OPT_auxbase, OPT_dumpbase,
4891 OPT_dumpdir, OPT_falign_functions_, OPT_falign_jumps_,
4892 OPT_falign_labels_, OPT_falign_loops_, OPT_fira_verbose_, OPT_o or
4893 OPT_fwhopr_. Do not explicitly set .opt file variables for
4894 OPT_aux_info or OPT_pedantic_errors. Use dc for diagnostic context.
4895 (set_Wstrict_aliasing): Add gcc_options parameter.
4896 * opts.h (struct cl_option_handler_func): Add diagnostic_context
4897 parameter to handler.
4898 (decode_options): Add diagnostic_context parameter.
4899 * toplev.c (dump_base_name, dump_dir_name, aux_base_name,
4900 asm_file_name, flag_generate_lto, flag_gen_aux_info,
4901 aux_info_file_name, flag_shlib, flag_tls_default,
4902 flag_excess_precision_cmdline, flag_pedantic_errors): Remove.
4903 (toplev_main): Pass global_dc to decode_options.
4904 * toplev.h (dump_base_name, dump_dir_name, aux_base_name,
4905 aux_info_file_name, asm_file_name): Remove.
4906 * tree.h (flag_tls_default): Remove.
4907
4908 2010-11-10 Eric Botcazou <ebotcazou@adacore.com>
4909
4910 PR target/45986
4911 * config/sparc/sparc.c (sparc_delegitimize_address): New function.
4912 (TARGET_DELEGITIMIZE_ADDRESS): Define to above.
4913
4914 2010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com>
4915
4916 * config.gcc (i[34567]86-*-*): Include tbmintrin.h.
4917 (x86_64-*-*): Likewise.
4918 * config/i386/cpuid.h: Define TBM bit.
4919 * config/i386/driver-i386.c (host_detect_local_cpu): Define
4920 and set has_tbm.
4921 * config/i386/i386-c.c (ix86_target_macros_internal): Check
4922 isa_flag for TBM.
4923 * config/i386/i386.c (OPTION_MASK_ISA_TBM_SET): New.
4924 (OPTION_MASK_ISA_TBM_UNSET): New.
4925 (ix86_handle_option): Handle -mtbm.
4926 (isa_opts): Add -mtbm.
4927 (enum pta_flags): Add PTA_TBM.
4928 (ix86_option_override_internal): Add TBM support.
4929 (ix86_valid_target_attribute_inner_p): Handle -mtbm.
4930 (IX86_BUILTIN_BEXTRI32): New for TBM intrinsic.
4931 (IX86_BUILTIN_BEXTRI64): Likewise.
4932 (bdesc_args): Add TBM intrinsics.
4933 (ix86_expand_builtin): Add TBM specific case.
4934 * config/i386/i386.h (TARGET_TBM): New for TBM.
4935 * config/i386/i386.md (UNSPEC_BEXTRI): New for TBM.
4936 (tbm_bextri_<mode>): Likewise.
4937 (*tbm_blcfill_<mode>): Likewise.
4938 (*tbm_blci_<mode>): Likewise.
4939 (*tbm_blcic_<mode>): Likewise.
4940 (*tbm_blcmsk_<mode>): Likewise.
4941 (*tbm_blcs_<mode>): Likewise.
4942 (*tbm_blsfill_<mode>): Likewise.
4943 (*tbm_blsic_<mode>): Likewise.
4944 (*tbm_t1mskc_<mode>): Likewise.
4945 (*tbm_tzmsk_<mode>): Likewise.
4946 * config/i386/i386.opt: Add -mtbm.
4947 * config/i386/tbmintrin.h (__bextri_u32): New.
4948 (__blcfill_u32): Likewise.
4949 (__blci_u32): Likewise.
4950 (__blcic_u32): Likewise.
4951 (__blcmsk_u32): Likewise.
4952 (__blcs_u32): Likewise.
4953 (__blsfill_u32): Likewise.
4954 (__blsic_u32): Likewise.
4955 (__t1mskc_u32): Likewise.
4956 (__tzmsk_u32): Likewise.
4957 (__bextri_u64): Likewise.
4958 (__blcfill_u64): Likewise.
4959 (__blci_u64): Likewise.
4960 (__blcic_u64): Likewise.
4961 (__blcmsk_u64): Likewise.
4962 (__blcs_u64): Likewise.
4963 (__blsfill_u64): Likewise.
4964 (__blsic_u64): Likewise.
4965 (__t1mskc_u64): Likewise.
4966 (__tzmsk_u64): Likewise.
4967 * config/i386/x86intrin.h: Add TBM check and tbmintrin.h.
4968 * doc/invoke.texi: Document -mtbm.
4969 * doc/extend.texi: Document TBM built-in functions.
4970
4971 2010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com>
4972
4973 * config.gcc (i[34567]86-*-*): Include bmiintrin.h.
4974 (x86_64-*-*): Likewise.
4975 * config/i386/cpuid.h: Define BMI bit.
4976 * config/i386/driver-i386.c (host_detect_local_cpu): Define
4977 and set has_bmi.
4978 * config/i386/i386-c.c (ix86_target_macros_internal): Check
4979 isa_flag for BMI.
4980 * config/i386/i386.c (OPTION_MASK_ISA_BMI_SET): New.
4981 (OPTION_MASK_ISA_BMI_UNSET): New.
4982 (ix86_handle_option): Handle -mbmi.
4983 (isa_opts): Add -mbmi.
4984 (enum pta_flags): Add PTA_BMI.
4985 (ix86_option_override_internal): Add BMI support.
4986 (ix86_valid_target_attribute_inner_p): Handle -mbmi.
4987 (IX86_BUILTIN_BEXTR32): New for BMI intrinsic.
4988 (IX86_BUILTIN_BEXTR64): Likewise.
4989 (IX86_BUILTIN_CTZS): Likewise.
4990 (bdesc_args): Add BMI intrinsics.
4991 (ix86_expand_args_builtin): Add BMI specific cases.
4992 * config/i386/i386.h (TARGET_BMI): New for BMI.
4993 (CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
4994 (CLZ_DEFINED_VALUE_AT_ZERO): Likewise.
4995 * config/i386/i386.md (UNSPEC_BEXTR): New for BMI.
4996 (UNSPEC_TZCNT): Likewise.
4997 (ctz<mode>2): Add tzcnt, and handle 16 bit operands.
4998 (bmi_andn_<mode>): New for BMI.
4999 (bmi_bextr_<mode>): Likewise.
5000 (bmi_blsi_<mode>): Likewise.
5001 (bmi_blsmsk_<mode>): Likewise.
5002 (bmi_blsr_<mode>): Likewise.
5003 * config/i386/i386.opt: Add -mbmi.
5004 * config/i386/x86intrin.h: Add BMI check and bmiintrin.h.
5005 * config/i386/bmiintrin.h (__lzcnt_u16): New.
5006 (__tzcnt_u16): Likewise.
5007 (__andn_u32): Likewise.
5008 (__bextr_u32): Likewise.
5009 (__blsi_u32): Likewise.
5010 (__blsmsk_u32): Likewise.
5011 (__blsr_u32): Likewise.
5012 (__lzcnt_u32): Likewise.
5013 (__tzcnt_u32): Likewise.
5014 (__andn_u64): Likewise.
5015 (__bextr_u64): Likewise.
5016 (__blsi_u64): Likewise.
5017 (__blsmsk_u64): Likewise.
5018 (__blsr_u64): Likewise.
5019 (__lzcnt_u64): Likewise.
5020 (__tzcnt_u64): Likewise.
5021 * doc/invoke.texi: Document -mbmi and -mno-bmi.
5022 * doc/extend.texi: Document BMI built-in functions.
5023
5024 2010-11-10 Jan Hubicka <jh@suse.cz>
5025
5026 PR tree-optimize/46228
5027 * doc/invoke.texi (comdat-sharing-probability): Document.
5028 * ipa-inline.c (cgraph_estimate_growth): Handle COMDATs
5029 * params.def (PARAM_COMDAT_SHARING_PROBABILITY): New param.
5030
5031 2010-11-10 Jan Hubicka <jh@suse.cz>
5032
5033 PR tree-optimize/46228
5034 * cgraph.c (cgraph_propagate_frequency): Fix typo.
5035
5036 2010-11-10 H.J. Lu <hongjiu.lu@intel.com>
5037
5038 PR tree-optimization/46414
5039 * tree-inline.c (estimate_move_cost): Check preferred vector
5040 mode for vector type.
5041
5042 2010-11-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5043
5044 * config/alpha/osf5.h (ASM_SPEC): Remove -nocpp.
5045
5046 2010-11-10 Sebastian Pop <sebastian.pop@amd.com>
5047
5048 PR tree-optimization/45971
5049 * tree-if-conv.c (predicate_scalar_phi): Do not generate a COND_EXPR
5050 for phi nodes analyzable by scev.
5051
5052 2010-11-10 Richard Guenther <rguenther@suse.de>
5053
5054 PR tree-optimization/44964
5055 * ipa-inline.c (cgraph_flatten): Check that SSA form matches.
5056
5057 2010-11-10 Martin Jambor <mjambor@suse.cz>
5058
5059 PR tree-optimization/46351
5060 PR tree-optimization/46377
5061 * tree-sra.c (type_internals_preclude_sra_p): Disqualify types with
5062 aggregate bit-fields.
5063
5064 2010-11-10 Joseph Myers <joseph@codesourcery.com>
5065
5066 * doc/tm.texi.in (TARGET_OPTION_TRANSLATE_TABLE): Remove.
5067 * doc/tm.texi: Regenerate.
5068 * opts-common.c (tm.h): Don't include.
5069 (target_option_translations): Remove.
5070 (decode_cmdline_options_to_array): Don't handle translating options.
5071 * system.h (TARGET_OPTION_TRANSLATE_TABLE): Poison.
5072 * config/darwin-driver.c: Don't condition includes on
5073 CROSS_DIRECTORY_STRUCTURE.
5074 (darwin_default_min_version): Make static.
5075 (darwin_driver_init): New. Call darwin_default_min_version if not
5076 CROSS_DIRECTORY_STRUCTURE.
5077 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
5078 (DRIVER_SELF_SPECS, DARWIN_CC1_SPEC): Define.
5079 (ASM_SPEC): Add %{static}.
5080 (darwin_default_min_version): Don't declare.
5081 (darwin_driver_init): Declare.
5082 (GCC_DRIVER_HOST_INITIALIZATION): Define to call
5083 darwin_driver_init, independent of CROSS_DIRECTORY_STRUCTURE.
5084 * config/darwin.opt (all_load, allowable_client,
5085 arch_errors_fatal, bind_at_load, bundle, bundle_loader,
5086 dead_strip, dependency-file, dylib_file, dynamic, dynamiclib,
5087 exported_symbols_list, filelist, findirect-virtual-calls,
5088 flat_namespace, force_cpusubtype_ALL, force_flat_namespace,
5089 framework, fterminated-vtables, gfull, gused, image_base, init,
5090 install_name, multi_module, multiply_defined,
5091 multiply_defined_unused, no_dead_strip_inits_and_terms,
5092 seg_addr_table, seg_addr_table_filename, segaddr,
5093 segs_read_only_addr, segs_read_write_addr, single_module,
5094 umbrella, unexported_symbols_list, weak_reference_mismatches,
5095 Zall_load, Zarch_errors_fatal, Zbind_at_load, Zbundle,
5096 Zdead_strip, Zdynamic, Zdynamiclib, Zflat_namespace,
5097 Zforce_cpusubtype_ALL, Zforce_flat_namespace, Zmulti_module,
5098 Zno_dead_strip_inits_and_terms, Zsingle_module): New.
5099 * config/i386/darwin.h (CC1_SPEC): Add DARWIN_CC1_SPEC.
5100 (ASM_SPEC): Add %{static}.
5101 (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
5102 * config/mep/mep.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
5103 (DRIVER_SELF_SPECS): Handle options formerly in
5104 TARGET_OPTION_TRANSLATE_TABLE.
5105 * config/mep/mep.opt (mfar): New.
5106 * config/picochip/picochip.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
5107 (DRIVER_SELF_SPECS): Define. Handle options formerly in
5108 TARGET_OPTION_TRANSLATE_TABLE.
5109 * config/rs6000/darwin.h (CC1_SPEC): Handle -faltivec and -fno-altivec.
5110 (SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
5111 * config/rs6000/darwin.opt (Waltivec-long-deprecated, faltivec,
5112 ffix-and-continue, findirect-data): New.
5113 * config/rx/rx.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
5114 * config/rx/rx.opt (nofpu): Make into alias of mnofpu.
5115 (mnofpu): Define mask and use Report here.
5116
5117 2010-11-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5118
5119 * config/s390/s390.c (s390_emit_prologue): Report the stack
5120 size if -fstack-usage is used.
5121
5122 2010-11-10 Richard Guenther <rguenther@suse.de>
5123
5124 PR tree-optimization/46398
5125 * tree-ssa-sccvn.c (process_scc): Iterate for all PHIs.
5126
5127 2010-11-10 Joern Rennecke <amylaar@spamcop.net>
5128
5129 PR target/44760
5130 * config/iq2000/iq2000.h (REGISTER_NAMES): Remove trailing semicolon.
5131 (REGNO_MODE_OK_FOR_BASE_P): Cast REGNO to int before passing it to
5132 GP_REG_OR_PSEUDO_STRICT_P.
5133 * config/iq2000/iq2000.md (andsi3+1): Add gcc_unreachable for
5134 unexpected alternative.
5135 (*movsf_internal): Likewise.
5136 (indirect_jump): Replace call to non-existant function with call to
5137 internal_error.
5138 (tablejump): Likewise.
5139 * config/iq2000/iq2000.c: Include df.h .
5140 (iq2000_function_arg_advance): Use CONST_CAST2.
5141 (compute_frame_size, iq2000_expand_prologue): Remove unused variables.
5142 (iq2000_can_eliminate): Call leaf_function_p instead of testing for
5143 a non-zero function address.
5144 (iq2000_initial_elimination_offset): Add gcc_unreachable for
5145 unexpected value of FROM.
5146 (symbolic_expression_p): Delete.
5147 (iq2000_function_value): Constify func.
5148 (expand_one_builtin): Use expand_normal.
5149 (iq2000_print_operand): Don't print VALUE if calculating it failed.
5150
5151 PR rtl-optimization/44764
5152 * addresses.h (ok_for_base_p_1): Mark regno with ATTRIBUTE_UNUSED.
5153
5154 PR target/46407
5155 * config/rx/rx.h (REGISTER_NAMES): Remove trailing semicolon.
5156 * config/rx/rx.c (rx_promote_function_mode): Mark punsignedp
5157 with ATTRIBUTE_UNUSED.
5158 (valid_psw_flag): Constify parameter which.
5159 (rx_memory_move_cost): Change type of parameter regclass to reg_class_t.
5160
5161 PR target/46415
5162 * config/mmix/mmix-protos.h (mmix_local_alignment): Update prototype.
5163 (mmix_dbx_register_number): Likewise.
5164 * config/mmix/mmix.c: Include df.h .
5165 (mmix_local_alignment): Change argument basic_align and return type
5166 to unsigned.
5167 (mmix_dbx_register_number): Change argument and return type to
5168 unsigned.
5169 (mmix_expand_prologue): Use add_reg_note.
5170
5171 PR target/46417
5172 * config/spu/spu.c (spu_expand_insv): Remove unused variables.
5173 (spu_split_store): Use aform.
5174 (spu_function_profiler): Mark parameter labelno with ATTRIBUTE_UNUSED.
5175
5176 2010-11-10 Laurynas Biveinis <laurynas.biveinis@gmail.com>
5177
5178 PR/46268
5179 * doc/gty.texi (GTY Options): Clarify that variable_size produces
5180 allocators taking size in bytes, compare with length option. Add
5181 size calculation example.
5182 (Invoking the garbage collector): Ensure that sentences are
5183 followed by two spaces. Describe that pointer fields must be
5184 initialized at ggc_collect call.
5185 (Troubleshooting): New section.
5186
5187 2010-11-09 Jan Hubicka <jh@suse.cz>
5188
5189 PR tree-optimization/40436
5190 * ipa-inline.c (leaf_node_p): Implement using is_inexpensive_builtin.
5191 * tree-inline.c (estimate_num_insns): Inexpensive builtins are like
5192 normal instructions; be sure bultin is not implemented in this file;
5193 compute non-zero return cost.
5194 (init_inline_once): Reduce builtin_call_cost to 1; set return cost.
5195 * tree-inline.h (eni_weights_d): Add return cost.
5196
5197 2010-11-09 Joseph Myers <joseph@codesourcery.com>
5198
5199 * c-parser.c (c_parser_struct_declaration): Handle declaration
5200 specifiers followed by CPP_CLOSE_BRACE.
5201
5202 2010-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
5203
5204 * config/rs6000/rs6000.md (floatsi<mode>2_lfiwax): Rewrite so
5205 split occurs before reload, and we allocate memory at the time of
5206 the split, not during expansion. Add attributes.
5207 (floatsi<mode>2_lfiwax_mem): Ditto.
5208 (floatunssi<mode>2_lfiwzx): Ditto.
5209 (floatunssi<mode>2_lfiwzx_mem): Ditto.
5210 (floatsidf2): Ditto.
5211 (floatunssisf2): Ditto.
5212 (floatunssidf2): Ditto.
5213 (fix_trunc<mode>si2): Ditto.
5214 (fix_trunc<mode>si2_stfiwx): Ditto.
5215 (fix_trunc<mode>si2_internal): Ditto.
5216 (fix_trunc<mode>si2): Ditto.
5217 (fix_trunc<mode>di2): Ditto.
5218 (fixuns_trunc<mode>si2_stfiwx): Ditto.
5219 (floatsisf2): Ditto.
5220 (floatdidf2_mem): Ditto.
5221 (floatunsdidf2_mem): Ditto.
5222 (floatunsdidf2): Ditto.
5223 (floatdisf2_internal1): Ditto.
5224 (floatdisf2_mem): Ditto.
5225 (floatunsdisf2_mem): Ditto.
5226 (floatsi<mode>2_lfiwax_mem2): Delete.
5227 (floatunssi<mode>2_lfiwzx_mem2): Ditto.
5228 (fix_trunc<mode>si2_mem): Ditto.
5229 (fixuns_trunc<mode>si2_mem): Ditto.
5230 (round32<mode>2_fprs): New combiner insn to combine (double)(int)
5231 type operations to reduce copying the values to multiple memory slots.
5232 (roundu32<mode>2_fprs): Ditto.
5233
5234 * config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Handle
5235 PRE_INC, PRE_DEC, PRE_MODIFY.
5236 (rs6000_expand_convert_si_to_sfdf): Delete, no longer used.
5237
5238 * config/rs6000/rs6000-protos.h (rs6000_expand_convert_si_to_sfdf):
5239 Delete prototype.
5240
5241 2010-11-09 Jakub Jelinek <jakub@redhat.com>
5242
5243 PR target/43808
5244 * cfgexpand.c (partition_stack_vars): Call
5245 update_alias_info_with_stack_vars unconditionally.
5246 (update_alias_info_with_stack_vars): Allow unused
5247 unreferenced vars when not optimizing.
5248
5249 2010-11-09 Sebastian Pop <sebastian.pop@amd.com>
5250
5251 PR tree-optimization/46036
5252 * tree-if-conv.c (predicate_bbs): Call unshare_expr before
5253 add_to_dst_predicate_list.
5254
5255 2010-11-09 Jakub Jelinek <jakub@redhat.com>
5256
5257 PR debug/46171
5258 * df-problems.c (struct dead_debug_use, struct dead_debug): Move
5259 earlier.
5260 (df_set_unused_notes_for_mw, df_create_unused_note): Add DEBUG
5261 argument, call dead_debug_reset when adding REG_UNUSED note.
5262 (dead_debug_reset): New function.
5263 (df_note_bb_compute): Adjust df_set_unused_notes_for_mw and
5264 df_create_unused_note callers.
5265
5266 2010-11-09 Anatoly Sokolov <aesok@post.ru>
5267
5268 * config/fr30/fr30.c: Include "df.h".
5269
5270 2010-11-09 Richard Guenther <rguenther@suse.de>
5271
5272 PR tree-optimization/46355
5273 * tree-loop-distribution.c (tree_loop_distribution): Do not
5274 distribute loops without a single exit.
5275
5276 2010-11-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5277
5278 PR rtl-optimization/46237
5279 * ira-conflicts.c (ira_build_conflicts): Record conflicts for call
5280 saved hard regs if they might get partially clobbered.
5281
5282 2010-11-09 Paul Koning <ni1d@arrl.net>
5283
5284 * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Use add for decrement.
5285
5286 2010-11-09 Richard Guenther <rguenther@suse.de>
5287
5288 PR tree-optimization/46177
5289 * tree-loop-distribution.c (prop_phis): Remove.
5290 (generate_builtin): Re-use the old loop exit edge to avoid
5291 needing to update PHI nodes.
5292
5293 2010-11-09 Joern Rennecke <amylaar@spamcop.net>
5294
5295 * config/i386/i386.c (ix86_expand_split_stack_prologue): Change
5296 type of args_size to unsigned HOST_WIDE_INT.
5297
5298 PR target/44755
5299 * config.gcc (picochip-*): Add t-pnt16-warn to tmake_file.
5300 * config/t-pnt16-warn: New file.
5301 * config/picochip/picochip.c (picochip_emit_stack_allocate):
5302 Use add_reg_note.
5303 (picochip_emit_save_register): Likewise.
5304 (picochip_emit_restore_register): Remove variable insn.
5305 (picochip_legitimize_address): Don't use C++ style comments.
5306 (picochip_legitimize_reload_address): Likewise.
5307 (reorder_var_tracking_notes): Remove variable vliw_start.
5308 (picochip_reorg): Cast first arguemnt to emit_note_after to
5309 enum insn_note.
5310 (picochip_expand_builtin_2op): Use EXPAND_NORMAL.
5311 (picochip_expand_builtin_3op): Likewise.
5312 (picochip_expand_builtin_2opvoid): Likewise.
5313 (picochip_expand_array_get, picochip_expand_array_put): Likewise.
5314 (picochip_expand_array_testport): Likewise.
5315 (picochip_init_builtins): Remove unused variables.
5316 * config/picochip/picochip.h (ASM_FORMAT_PRIVATE_NAME): Cast LABELNO
5317 to unsigned long, and output it as such.
5318 (ASM_OUTPUT_SKIP): Use HOST_WIDE_INT_PRINT_UNSIGNED.
5319 * config/picochip/picochip.md (movhicc): Remove nonsense statement.
5320 (schedType): Cast result of picochip_schedule_type to
5321 enum attr_schedType.
5322
5323 PR target/44759
5324 * config/mn10300/mn10300.c (SIZE_FMOV_LIMIT): Promote all arms of
5325 conditional to type of S.
5326 (mn10300_function_arg): Remove unused variable align.
5327 (mn10300_arg_partial_bytes): Likewise.
5328 * config/mn10300/mn10300.md (attribute cpu): Cast value to
5329 enum attr_cpu.
5330
5331 2010-11-09 H.J. Lu <hongjiu.lu@intel.com>
5332
5333 PR bootstrap/46392
5334 * gengtype-parse.c (type): Call get_input_file_name to get file name.
5335
5336 2010-11-09 Eric Botcazou <ebotcazou@adacore.com>
5337
5338 * tree.h (contains_placeholder_p): Fix comment.
5339 (type_contains_placeholder_p): Adjust comment.
5340 * tree.c (contains_placeholder_p): Fix comment.
5341 (type_contains_placeholder_1): Do not recurse on pointed-to types and
5342 adjust comment.
5343 (type_contains_placeholder_p): Add comment.
5344
5345 2010-11-09 Paul Koning <ni1d@arrl.net>
5346
5347 * config/pdp11/pdp11.c (pdp11_assemble_integer): Clean up fix for
5348 output of byte values.
5349
5350 2010-11-09 Jakub Jelinek <jakub@redhat.com>
5351
5352 PR middle-end/46360
5353 * tree-ssa-propagate.c (update_call_from_tree): Fix for use
5354 not in SSA mode.
5355
5356 2010-11-09 Richard Guenther <rguenther@suse.de>
5357
5358 PR middle-end/46221
5359 * varasm.c (compute_visible_aliases): New function.
5360 (remove_unreachable_alias_pairs): Aliases make a target available
5361 even though we reclaimed the cgraph node.
5362 (finish_aliases_1): Likewise.
5363 * Makefile.in (varasm.o): Add pointer-set.h dependency.
5364
5365 2010-11-09 Nick Clifton <nickc@redhat.com>
5366
5367 * config/mn10300/mn10300-modes.def: New file.
5368
5369 2010-11-09 Basile Starynkevitch <basile@starynkevitch.net>
5370 Jeremie Salvucci <jeremie.salvucci@free.fr>
5371
5372 * gengtype.c (get_output_file_name): Declaration moved to gengtype.h.
5373 (plugin_files, get_file_basename, get_file_realbasename)
5374 (get_file_langdir, error_at_line, gt_files, this_file)
5375 (system_h_file, read_input_list, create_field_all)
5376 (get_file_srcdir_relative_path, get_file_basename)
5377 (get_file_langdir, get_file_gtfilename)
5378 (get_output_file_with_visibility, get_output_file_name)
5379 (struct flist, put_mangled_filename, walk_type)
5380 (put_mangled_filename, finish_root_table, write_roots): Use
5381 input_file-s.
5382 (lang_dir_names, num_lang_dirs): Remove static.
5383 (get_lang_bitmap, set_lang_bitmap): Moved to gengtype.h.
5384 (main): Use input_file-s.
5385
5386 * gengtype.h: (struct input_file_st, input_file): New type.
5387 (struct fileloc): Use it.
5388 (gt_files, num_gt_files, this_file, system_h_file)
5389 (input_file_by_name, get_file_srcdir_relative_path): Use input_file.
5390 (get_input_file_name): New function.
5391 (get_lang_bitmap, set_lang_bitmap): Moved from gengtype.c and
5392 use input_file.
5393 (lang_dir_names, num_lang_dirs, get_output_file_with_visibility)
5394 (get_output_file_name): Ditto.
5395
5396 * gengtype-lex.l (yybegin): Use input_file.
5397
5398 * gengtype-parse.c (parse_error): Use input_file.
5399
5400 2010-11-08 Xinliang David Li <davidxl@google.com>
5401
5402 PR tree-optimization/46316
5403 * tree-vrp.c (adjust_range_with_scev): Check double_int overflow.
5404 * double-int.h (double_int_mul_with_sign): New function.
5405 * double-int.c (double_int_mul_with_sign): New function.
5406
5407 2010-11-08 Paul Koning <ni1d@arrl.net>
5408
5409 * config/pdp11/pdp11.md (lshrsi3, lshrhi3): Fix wrong code.
5410
5411 2010-11-08 Paul Koning <ni1d@arrl.net>
5412
5413 * config/pdp11/pdp11.md (negsi2): Fix wrong code.
5414
5415 2010-11-08 Paul Koning <ni1d@arrl.net>
5416
5417 * config/pdp11/pdp11.c (pdp11_assemble_integer): Mask byte values
5418 to 8 bits.
5419
5420 2010-11-08 Michael Meissner <meissner@linux.vnet.ibm.com>
5421
5422 PR target/46378
5423 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
5424 turn on ISA 2.04 rounding instructions for power5.
5425
5426 * config/rs6000/rs6000.md (friz): Friz is an ISA 2.04 instruciton,
5427 not ISA 2.02.
5428
5429 PR target/45585
5430 * config/rs6000/darwin.md (movdi_low): Allow DImode values to be
5431 in FPR registers.
5432 (movdi_low_st): Ditto.
5433
5434 2010-11-08 Joern Rennecke <amylaar@spamcop.net>
5435 Richard Henderson <rth@redhat.com>
5436
5437 PR target/44758
5438 * config/frv/frv.md (attribute cpu): Cast value to enum attr_cpu.
5439 (attribute acc_group): Cast value to enum attr_acc_group.
5440 (*movdi_nodouble+6): Use gen_int_mode.
5441 * config/frv/frv-protos.h (frv_trampoline_size): Declare no matter
5442 if RTX_CODE is defined or not.
5443 * config/frv/frv.c (enum frv_io_type): New enum, broken out of
5444 struct frv_io.
5445 (frv_handle_option): Mark parameter value with ATTRIBUTE_UNUSED.
5446 (frv_frame_access, frv_expand_prologue): Remove unused variables.
5447 (frv_expand_block_clear): Likewise.
5448 (frv_trampoline_init): Use LCT_NORMAL.
5449 (struct frv_packet_group): New struct, broken out of type of
5450 frv_packet.
5451 (frv_start_packet, frv_reorder_packet): Initialize group to GROUP_I,
5452 use cast in loop counter increment.
5453 (frv_extract_membar): Cast HOST_WIDE_INT to enum frv_io_type before
5454 assigning to io->type.
5455 (bdesc_set): Use rtx_code UNKNOWN in initializer.
5456 (bdesc_1arg, bdesc_2arg, bdesc_int_void2arg): Likewise.
5457 (bdesc_prefetches, bdesc_cut, bdesc_2argimm, bdesc_void2arg): Likewise.
5458 (bdesc_void3arg, bdesc_voidacc, bdesc_loads, bdesc_stores): Likewise.
5459 (frv_read_argument): Use expand_normal.
5460
5461 PR target/44757
5462 * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Call
5463 lm32_legitimate_constant_p.
5464 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
5465 * config/lm32/lm32.c (gen_int_relational): Make new block for
5466 LE / LT / LEU / LTU case. Declare variables at start of block.
5467 (lm32_block_move_inline): Use XALLOCAVEC.
5468
5469 2010-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5470
5471 * config/i386/i386.c (ix86_function_arg_boundary): Fix warning message.
5472
5473 2010-11-08 Basile Starynkevitch <basile@starynkevitch.net>
5474
5475 * gengtype (get_output_file_for_structure): Ensure type is union
5476 or struct.
5477 (write_splay_tree_allocator_def): Use
5478 get_output_file_with_visibility.
5479
5480 2010-11-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5481
5482 * config/s390/s390.c (s390_handle_arch_option): Set type and flags
5483 to defined values in case of an error.
5484 (s390_option_override): Skip further processing if the -march
5485 parameter wasn't recognized.
5486
5487 2010-11-08 Joern Rennecke <amylaar@spamcop.net>
5488
5489 * caller-save.c (reg_save_code): After HARD_REGNO_MODE_OK check fails,
5490 assert that REG is a hard register number before using it as an index.
5491
5492 PR bootstrap/46358
5493 * config/i386/i386.c (ix86_expand_split_stack_prologue):
5494 Avoid warnings when HOST_WIDE_INT is 32 bit.
5495
5496 2010-11-08 Eric Botcazou <ebotcazou@adacore.com>
5497
5498 PR target/46208
5499 * config/sparc/sparc.c (TARGET_PROMOTE_PROTOTYPES): Delete.
5500 (sparc_promote_prototypes): Likewise.
5501 (sparc_promote_function_mode): Promote in 32-bit mode as well.
5502 (sparc_return_in_memory): Remove superfluous parentheses.
5503 (sparc_struct_value_rtx): Fix long lines.
5504 (sparc_function_value_1): Promote in 32-bit mode as well.
5505
5506 2010-11-08 Andrey Belevantsev <abel@ispras.ru>
5507
5508 PR rtl-optimization/45352
5509 * sel-sched.c (find_best_expr): Do not set pneed_stall when
5510 the variable_issue hook is not implemented.
5511 (fill_insns): Remove dead variable stall_iterations.
5512 (init_seqno_1): Force EBB start for resetting sched cycles on any
5513 successor blocks of the rescheduled region.
5514 (sel_sched_region_1): Use bitmap_bit_p instead of bitmap_clear_bit.
5515 (reset_sched_cycles_in_current_ebb): Add debug printing.
5516 New variable issued_insns. Advance state when we have issued
5517 issue_rate insns.
5518
5519 2010-11-08 Basile Starynkevitch <basile@starynkevitch.net>
5520
5521 * gengtype (main): Get here's position using POS_HERE macro for
5522 do*typedef calls.
5523
5524 2010-11-07 Ian Lance Taylor <iant@google.com>
5525
5526 PR target/46089
5527 * config/i386/i386.c (split_stack_fn_large): New static variable.
5528 (ix86_expand_split_stack_prologue): Handle large model.
5529
5530 2010-11-07 Andreas Schwab <schwab@linux-m68k.org>
5531
5532 * config/m68k/m68k.c (m68k_delegitimize_address): Update to handle
5533 all possible addressing modes.
5534
5535 2010-11-07 Uros Bizjak <ubizjak@gmail.com>
5536
5537 PR tree-optimization/46346
5538 * tree-ssa-forwprop.c (rhs_to_tree): Handle GIMPLE_TERNARY_RHS.
5539
5540 2010-11-07 Richard Sandiford <rdsandiford@googlemail.com>
5541
5542 * config/mips/mips.c: Revert previous patch.
5543 * config/mips/mips.md: Likewise.
5544
5545 2010-11-07 Richard Sandiford <rdsandiford@googlemail.com>
5546
5547 * config/mips/mips.c (mips_rtx_costs): Handle FMA.
5548 * config/mips/mips.md (*madd4<mode>, *madd3<mode>, *msub4<mode>)
5549 (*msub3<mode>, *nmadd4<mode>_fastmath, *nmadd3<mode>_fastmath)
5550 (*nmsub4<mode>_fastmath, *nmsub3<mode>_fastmath): Delete.
5551 (*nmadd4<mode>, *nmadd3<mode>. *nmsub4<mode>, *nmsub3<mode>): Redefine
5552 to use FMA.
5553 (fma<mode>4, *fma<mode>4_madd3, *fma<mode>4_madd4): New patterns.
5554 (fms<mode>4, *fms<mode>4_msub3, *fms<mode>4_msub4): Likewise.
5555 (fnms<mode>4, *fnms<mode>4_nmadd3, *fnms<mode>4_nmadd4): Likewise.
5556 (fnma<mode>4, *fnma<mode>4_nmsub3, *fnma<mode>4_nmsub4): Likewise.
5557
5558 2010-11-06 Simon Martin <simartin@users.sourceforge.net>
5559
5560 PR c/43384
5561 * c-decl.c (lookup_label): Labels can only be referenced in a
5562 function's scope.
5563 (store_parm_decls_oldstyle): Skip erroneous parameters.
5564
5565 2010-11-06 Anatoly Sokolov <aesok@post.ru>
5566
5567 * config/fr30/fr30.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
5568 LIBCALL_VALUE): Remove macros.
5569 * config/fr30/fr30.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
5570 TARGET_FUNCTION_VALUE_REGNO_P): Define.
5571 (fr30_function_value_regno_p, fr30_function_value,
5572 fr30_libcall_value): New functions.
5573
5574 2010-11-06 Joern Rennecke <amylaar@spamcop.net>
5575
5576 PR middle-end/46314
5577 * target.def (generate_internal_label): New asm_out hook.
5578 * output.h (default_generate_internal_label): Declare.
5579 * varasm.c (default_generate_internal_label): Define.
5580
5581 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
5582
5583 PR target/44981
5584 * doc/extend.tex (format): Document NSString extension.
5585 (format_arg): Likewise.
5586 (Darwin Format Checks): New section.
5587 * doc/tm.texi: Document string object hooks (generated).
5588 * doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Rename.
5589 (TARGET_STRING_OBJECT_REF_TYPE_P): New.
5590 (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
5591 * target.def (objc_construct_string_object): Rename, amend
5592 documentation.
5593 (string_object_ref_type_p): New hook.
5594 (check_string_object_format_arg): New hook.
5595 * c-parser.c (c_parser_attributes): Allow objective-c class names as
5596 attribute identifiers.
5597 * config/darwin-c.c (darwin_cfstring_ref_p): New.
5598 (darwin_check_cfstring_format_arg): New.
5599 (darwin_additional_format_types): New.
5600 * config/darwin-protos.h (darwin_cfstring_ref_p) New.
5601 (darwin_check_cfstring_format_arg): New.
5602 * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Renamed.
5603 (TARGET_STRING_OBJECT_REF_TYPE_P): New.
5604 (TARGET_N_FORMAT_TYPES): New.
5605 (TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
5606
5607 2010-11-06 Eric Botcazou <ebotcazou@adacore.com>
5608 Pascal Obry <obry@adacore.com>
5609
5610 * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Redefine. Use 33
5611 in 64-bit mode and 17 otherwise.
5612
5613 2010-11-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5614
5615 PR debug/45939
5616 * var-tracking.c (emit_note_insn_var_location): Make sure that
5617 call related var location notes come before the normal ones.
5618
5619 2010-11-05 H.J. Lu <hongjiu.lu@intel.com>
5620
5621 PR target/46326
5622 * config/i386/i386.c (ix86_delegitimize_address): Fix a typo
5623 in the last change.
5624
5625 2010-11-05 Ian Lance Taylor <iant@google.com>
5626
5627 * explow.c (allocate_dynamic_stack_space): Check MALLOC_ABI_ALIGNMENT.
5628
5629 2010-11-05 Jakub Jelinek <jakub@redhat.com>
5630
5631 PR c/44772
5632 * c-decl.c (warn_cxx_compat_finish_struct): Don't call
5633 pointer_set_contains if DECL_NAME is NULL.
5634
5635 2010-11-05 Ian Lance Taylor <iant@google.com>
5636
5637 PR target/46084
5638 * explow.c (allocate_dynamic_stack_space): If flag_split_stack,
5639 request enough additional space for alignment, and force alignment.
5640
5641 2010-11-05 Kai Tietz <kai.tietz@onevision.com>
5642
5643 * config/i386/i386.c (legitimate_pic_address_disp_p):
5644 Handle UNSPEC_PCREL.
5645 (ix86_legitimate_address_p): Likewise.
5646 (legitimize_pic_address): Likewise.
5647 (output_pic_addr_const): Likewise.
5648 (ix86_delegitimize_address): Likewise.
5649 (ix86_find_base_term): Likewise.
5650 (memory_address_length): Likewise.
5651 (x86_output_mi_thunk): Handle special case x64
5652 for non local binding.
5653 * config/i386/i386.md (UNSPEC_PCREL): New.
5654 * config/i386/winnt.c (i386_pe_binds_local_p):
5655 Allow weak symbol for x64 windows with non-local binding.
5656
5657 2010-11-05 Jakub Jelinek <jakub@redhat.com>
5658
5659 PR target/45670
5660 * expr.c (expand_expr_real_1) <case MEM_REF>: Use EXPAND_SUM
5661 instead of EXPAND_NORMAL for base expansion.
5662
5663 2010-11-05 Uros Bizjak <ubizjak@gmail.com>
5664
5665 * config.gcc: Support --with-fpmath=avx for x86.
5666 * config/i386/avxmath.h: New.
5667 * doc/install.texi (--with-fpmath=): Document --with-fpmath=avx.
5668
5669 2010-11-05 Ian Lance Taylor <iant@google.com>
5670
5671 * tree.h (struct tree_type): Don't use descbits in GTY annotation.
5672 * gengtype.c (walk_type): Don't recognize descbits option.
5673
5674 2010-11-05 Joseph Myers <joseph@codesourcery.com>
5675
5676 * defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG,
5677 WORD_SWITCH_TAKES_ARG): Remove.
5678 * doc/options.texi (Args): Document.
5679 * doc/tm.texi.in (WORD_SWITCH_TAKES_ARG): Remove.
5680 * doc/tm.texi: Regenerate.
5681 * opt-functions.awk (switch_flags): Handle Args.
5682 * opts-common.c: Update comment on tm.h include.
5683 (decode_cmdline_option): Handle options with multiple arguments.
5684 Don't check WORD_SWITCH_TAKES_ARG for unknown options.
5685 * opts.h (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK): Define.
5686 (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
5687 CL_COMMON): Update values.
5688 * system.h (WORD_SWITCH_TAKES_ARG): Poison.
5689 * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove.
5690 * config/darwin.opt (Zsegaddr, sectalign, sectcreate,
5691 sectobjectsymbols, sectorder, segcreate, segprot): New.
5692
5693 2010-11-05 H.J. Lu <hongjiu.lu@intel.com>
5694 Uros Bizjak <ubizjak@gmail.com>
5695
5696 * config/i386/i386.c (ix86_expand_move): Set use_avx256_p if
5697 256bit AVX register is used.
5698 (ix86_expand_vector_move_misalign): Likewise.
5699 (ix86_expand_vector_move): Replace use_avx256_p with
5700 VALID_AVX256_REG_MODE.
5701
5702 2010-11-05 Joern Rennecke <amylaar@spamcop.net>
5703
5704 PR target/44750
5705 * config/pdp11/t-pdp11 (dwarf2out.o, java/constants.o): Undo last
5706 change. Set $@-warn.o to -Wno-error.
5707
5708 PR bootstrap/44756
5709 * expr.c (emit_push_insn): Cast value of PUSH_ROUNDING before
5710 comparing it to a signed value.
5711
5712 PR middle-end/44766
5713 * expr.c (can_store_by_pieces): Add ATTRIBUTE_UNUSED to cst.
5714 PR bootstrap/44770
5715 * haifa-sched.c (initiate_bb_reg_pressure_info): Add ATTRIBUTE_UNUSED
5716 to i.
5717
5718 PR target/44754
5719 * config/m32c/m32c.c (m32_function_arg): Rename declaration to...
5720 (m32c_function_arg). Add comma between arguments two and three.
5721 (m32c_promote_prototypes): Remove declaration.
5722 (current_function_special_page_vector): Likewise.
5723 (m32c_regno_reg_class): Change return type to enum reg_class.
5724 (m32c_pushm_popm): Use add_reg_note.
5725 (m32c_push_rounding): Change return type to unsigned int.
5726 (m32c_legitimize_reload_address): Cast argument 11 to push_reload to
5727 enum reload_type.
5728 (m32c_insert_attributes): Constify variable name.
5729 (m32c_output_aligned_common): Add ATTRIBUTE_UNUSED to argument decl.
5730 (m32c_prepare_shift): Remove variable lref.
5731 (m32c_expand_movcc): Remove variable cmp.
5732 (m32c_expand_insv): Fix check of op0 rtx_code to use GET_CODE.
5733 (m32c_compare_redundant): Remove variable op2.
5734 * config/m32c/m32c-pragma.c ("c-family/c-common.h"): Include.
5735 (m32c_pragma_memregs): Assign the number to target_memregs.
5736 (m32c_pragma_address): Remove variable var_str.
5737 * config/m32c/m32c.h (REG_CLASS_FROM_CONSTRAINT): Case value to
5738 enum reg_class.
5739 (LIMIT_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
5740 * config/m32c/bitops.md (andsi3): Add default case to switch.
5741 (iorsi3, xorsi3): Likewise.
5742 * config/m32c/addsub.md (addsi3_1, subsi3_1): Likewise.
5743 * config/m32c/jump.md (call, call_value): Likewise.
5744 * config/m32c/m32c-protos.h (m32c_push_rounding): Update prototype.
5745 (m32c_regno_reg_class): Likewise.
5746 (current_function_special_page_vector): Declare.
5747
5748 2010-11-05 Jakub Jelinek <jakub@redhat.com>
5749
5750 * cfgexpand.c (expand_debug_expr): Handle MEM_REF with non-zero offset.
5751
5752 PR tree-optimization/46099
5753 * tree-parloops.c (take_address_of): Add GSI argument. Return NULL
5754 if it is NULL and uid wasn't found in the hash table. Just fold the
5755 result if it is NULL otherwise. Insert other potentially needed
5756 stmts right before current stmt instead of on the entry edge.
5757 (struct elv_data): Add gsi and reset fields.
5758 (eliminate_local_variables_1): Adjust caller. If take_address_of
5759 failed for debug stmt, set dta->reset and return.
5760 (eliminate_local_variables_stmt): Change STMT argument for GSI,
5761 pass GSI through to the callback, handle resetting of debug stmts.
5762 (eliminate_local_variables): Adjust caller. Process debug stmts
5763 in second phase.
5764
5765 PR middle-end/43690
5766 * gimplify.c (gimplify_asm_expr): If a "m" input is a
5767 {pre,post}{in,de}crement, fail.
5768
5769 PR debug/46307
5770 * tree-ssa-operands.c (get_expr_operands): Handle FMA_EXPR.
5771 * tree-pretty-print.c (dump_generic_node): Likewise.
5772 (op_code_prio): Likewise.
5773 * cfgexpand.c (expand_debug_expr): Likewise.
5774
5775 2010-11-04 Paul Koning <ni1d@arrl.net>
5776
5777 * doc/md.texi (Machine Constraints): Correct formatting in PDP-11
5778 constraints.
5779
5780 2010-11-04 Chao-ying Fu <fu@mips.com>
5781
5782 * configure.ac: Test assembler support for DSP Rev1 mult.
5783 * configure: Regenerate.
5784 * config.in: Regenerate.
5785 * config/mips/mips.h (ISA_HAS_DSP_MULT): New define.
5786 * config/mips/mips.c (CODE_FOR_mips_mult): New define.
5787 (CODE_FOR_mips_multu): New define.
5788 (mips_builtins): Move madd, maddu, msub, msubu, mult, multu from
5789 dspr2_32 to dsp_32.
5790 (mips_mulsidi3_gen_fn): Test (TARGET_FIX_R4000 && !ISA_HAS_DSP).
5791 Delete returns when ISA_HAS_DSPR2 because the old patterns are deleted.
5792 * config/mips/mips-dsp.md (mips_madd<u>, mips_msub<u>):
5793 New define_expand patterns.
5794 * config/mips/constraints.md (ka): Update the constraint to test
5795 ISA_HAS_DSP_MULT instead of ISA_HAS_DSPR2.
5796 * config/mips/mips-dspr2.md (mips_madd<u>, mips_msub<u>, mips_mult,
5797 mips_multu): Delete.
5798 * config/mips/mips.md (<u>mulsidi3_32bit): Add comments.
5799 Change target constraint to "ka".
5800 Use (!TARGET_FIX_R4000 || ISA_HAS_DSP), instead of
5801 (!TARGET_FIX_R4000 && !ISA_HAS_DSPR2).
5802 Emit the accumulator destination when ISA_HAS_DSP_MULT.
5803 (<u>msubsidi4): Add comments. Test ISA_HAS_DSP.
5804 Emit the accumulator destination when ISA_HAS_DSP_MULT.
5805 (<u>maddsidi4): Likewise.
5806 * doc/extend.texi (MIPS DSP Built-in Functions): Move madd, maddu,
5807 msub, msubu, mult, multu built-in functions from DSP r2 to DSP r1.
5808
5809 2010-11-04 Paul Koning <ni1d@arrl.net>
5810
5811 * doc/md.texi (Machine Constraints): Add PDP-11 constraints.
5812
5813 2010-11-04 Paul Koning <ni1d@arrl.net>
5814
5815 * doc/invoke.texi (PDP-11 Options): Delete -msplit, -mno-split.
5816
5817 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
5818
5819 Fixed using the Objective-C 2.0 dot-syntax with class names.
5820 * c-parser.c (c_parser_next_token_starts_declspecs): In
5821 Objective-C, detect Objective-C 2.0 dot-syntax with a class name.
5822 (c_parser_next_token_starts_declaration): Same.
5823 (c_parser_postfix_expression): Parse the Objective-C 2.0
5824 dot-syntax with a class name.
5825
5826 2010-11-04 Pat Haugen <pthaugen@us.ibm.com>
5827
5828 * final.c (compute_alignments): Compute/free loop info all the time.
5829 * config/rs6000/rs6000.h (LOOP_ALIGN): Define.
5830 * config/rs6000/rs6000-protos.h (rs6000_loop_align): Declare.
5831 * config/rs6000/t-rs6000 (rs6000.o): Add cfgloop.h.
5832 * config/rs6000/rs6000.c (cfgloop.h): Include.
5833 (can_override_loop_align): New.
5834 (rs6000_option_override_internal): Set it.
5835 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define target hook.
5836 (rs6000_loop_align): New function.
5837 (rs6000_loop_align_max_skip): Likewise.
5838
5839 2010-11-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5840
5841 PR driver/45703
5842 * collect2.c (main): Print --help output to stdout. Do not
5843 exit right away, so ld --help is appended. Add empty lines
5844 to separate output suitably.
5845
5846 2010-11-04 Jakub Jelinek <jakub@redhat.com>
5847
5848 PR tree-optimization/46233
5849 * ipa-pure-const.c (local_pure_const): Do noreturn discovery
5850 after calling analyze_function, not before.
5851
5852 PR target/46234
5853 * config/rs6000/rs6000.c (rs6000_va_start): Use build_simple_mem_ref
5854 instead of build_va_arg_indirect_ref.
5855 * config/spu/spu.c (spu_va_start): Likewise.
5856 * config/s390/s390.c (s390_va_start): Likewise.
5857
5858 2010-11-03 Uros Bizjak <ubizjak@gmail.com>
5859
5860 PR middle-end/46292
5861 * lower-subreg.c (simplify_subreg_concatn): For VOIDmode elements,
5862 if the innermode is not vector mode, determine the mode of a subreg
5863 by using mode_for_size of inner_size.
5864
5865 2010-11-04 Richard Guenther <rguenther@suse.de>
5866
5867 PR rtl-optimization/46183
5868 * gcse.c (execute_rtl_cprop): Cleanup the CFG if something changed.
5869 (execute_rtl_pre): Likewise.
5870 (execute_rtl_hoist): Likewise.
5871
5872 2010-11-04 Richard Guenther <rguenther@suse.de>
5873
5874 PR tree-optimization/46068
5875 * ipa-split.c (consider_split): Remove gcc_unreachable.
5876
5877 2010-11-04 Richard Guenther <rguenther@suse.de>
5878
5879 * tree-nested.c (build_addr): Use build_fold_addr_expr.
5880
5881 2010-11-04 Richard Guenther <rguenther@suse.de>
5882
5883 PR tree-optimization/45991
5884 * gimplify.c (force_gimple_operand_1): Use the provded test
5885 function in the initial test.
5886
5887 2010-11-04 Jeff Law <law@redhat.com>
5888
5889 * ira.c (validate_equiv_mem): Remove code to avoid invalidation
5890 of readonly memory equivalances for const/pure calls.
5891
5892 2010-11-04 Richard Guenther <rguenther@suse.de>
5893
5894 PR tree-optimization/45733
5895 * tree-vect-stmts.c (reverse_vec_elements): Honor the
5896 permute builtins function return type.
5897
5898 2010-11-04 Joern Rennecke <amylaar@spamcop.net>
5899
5900 PR middle-end/44765
5901 * emit-rtl.c (gen_rtx_REG): Before using PIC_OFFSET_TABLE_REGNUM
5902 as an index, check it is not INVALID_REGNUM.
5903
5904 PR bootstrap/44756
5905 * ifcvt.c (noce_emit_cmove): Add ATTRIBUTE_UNUSED to target and
5906 unsignedp.
5907 * reload1.c (set_reload_reg): Add ATTRIBUTE_UNUSED to regno.
5908
5909 PR bootstrap/44756
5910 * function.c (thread_prologue_and_epilogue_insns): Add
5911 ATTRIBUTE_UNUSED to seq, epilogue_end and entry_edge.
5912
5913 PR bootstrap/44756
5914 * varasm.c (asm_output_bss): Add ATTRIBUTE_UNUSED to function.
5915
5916 PR target/44750
5917 * config/pdp11/pdp11.c: (pdp11_secondary_reload): Now static.
5918 (pdp11_preferred_reload_class): Rename class to rclass.
5919 (pdp11_preferred_output_reload_class): Likewise.
5920 * config/pdp11/t-pdp11 (dwarf2out.o): Add -Wno-error=type-limits to
5921 ALL_COMPILERFLAGS .
5922 (java/constants.o): Add -Wno-error to ALL_COMPILERFLAGS.
5923
5924 PR bootstrap/44756
5925 * genopinit.c (main) [FIXUNS_TRUNC_LIKE_FIX_TRUNC]: Cast
5926 iteration variables to enum machine_mode.
5927
5928 PR target/44751
5929 * config/h8300/h8300.c: Include df.h.
5930 (push, pop): Use add_reg_note.
5931 (compute_plussi_cc, compute_logical_op_cc): Return enum attr_c.
5932 (compute_a_shift_cc): Likewise.
5933 (expand_a_shift): Argument code has type enum rtx_code.
5934 (struct shift_insn): Member cc_valid has type enum attr_cc.
5935 (struct shift_info) <cc_inline, cc_special>: Likewise.
5936 enum attr_cc.
5937 * config/h8300/h8300-protos.h (compute_plussi_cc): Update prototype.
5938 (compute_a_shift_cc, compute_logical_op_cc, expand_a_shift): Likewise.
5939
5940 2010-11-04 Ira Rosen <irar@il.ibm.com>
5941
5942 PR tree-optimization/46213
5943 * tree-vect-loop.c (vect_is_simple_reduction_1): Handle
5944 MINUS_EXPR only if the first operand is reduction operand.
5945
5946 2010-11-04 Richard Guenther <rguenther@suse.de>
5947 Richard Henderson <rth@redhat.com>
5948
5949 * tree.def (FMA_EXPR): New tree code.
5950 * expr.c (expand_expr_real_2): Add FMA_EXPR expansion code.
5951 * gimple.c (gimple_rhs_class_table): FMA_EXPR is a GIMPLE_TERNARY_RHS.
5952 * tree-cfg.c (verify_gimple_assign_ternary): Verify FMA_EXPR types.
5953 * tree-inline.c (estimate_operator_cost): Handle FMA_EXPR.
5954 * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
5955 * tree-ssa-math-opts.c (convert_mult_to_fma): New function.
5956 (execute_optimize_widening_mul): Call it. Reorganize to allow
5957 dead stmt removal. Move TODO flags ...
5958 (pass_optimize_widening_mul): ... here.
5959 * flag-types.h (enum fp_contract_mode): New enum.
5960 * common.opt (flag_fp_contract_mode): New variable.
5961 (-ffp-contract): New option.
5962 * opts.c (common_handle_option): Handle it.
5963 * doc/invoke.texi (-ffp-contract): Document.
5964 * tree.h (fold_fma): Declare.
5965 * builtins.c (fold_fma): New function.
5966 (fold_builtin_fma): Likewise.
5967 (fold_builtin_3): Call it for fma.
5968 * fold-const.c (fold_ternary_loc): Fold FMA_EXPR.
5969 * optabs.c (optab_for_tree_code): Handle FMA_EXPR.
5970 * config/i386/sse.md (fms<mode>4, fnma<mode>, fnms<mode>4):
5971 New expanders.
5972 * doc/md.texi (fms<mode>4, fnma<mode>, fnms<mode>4): Document new
5973 named patterns.
5974 * genopinit.c (optabs): Initialize fms_optab, fnma_optab and fnms_optab.
5975 * optabs.h (enum optab_index): Add OTI_fms, OTI_fnma and OTI_fnms.
5976 (fms_optab, fnma_optab, fnms_optab): New defines.
5977 * gimplify.c (gimplify_expr): Handle binary truth expressions
5978 explicitly. Handle FMA_EXPR.
5979 * tree-vect-stmts.c (vectorizable_operation): Handle ternary
5980 operations.
5981
5982 2010-11-04 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
5983 Richard Guenther <rguenther@suse.de>
5984
5985 * passes.c (init_optimization_passes): Move veclower after SSA.
5986 * tree-vect-generic.c (uniform_vector_p): New function.
5987 (expand_vector_operations_1): Handle conversion.
5988 (pass_lower_vector): Update SSA form.
5989
5990 2010-11-04 Iain Sandoe <iains@gcc.gnu.org>
5991
5992 * configure.ac: Filter -mdynamic-no-pic from CFLAGS when testing for
5993 plugin capabilities.
5994 * configure: Regenerate.
5995
5996 2010-11-03 Xinliang David Li <davidxl@google.com>
5997
5998 PR target/46200
5999 * tree-ssa-loop-ivopts.c (get_computation_cost_at):
6000 Adjust cbase if the use stmt is after iv update.
6001
6002 2010-11-03 Kaz Kojima <kkojima@gcc.gnu.org>
6003
6004 * config.gcc (sh64*) <tm_file>: Add newlib-stdint.h for newlib targets.
6005
6006 2010-11-03 Kaz Kojima <kkojima@gcc.gnu.org>
6007
6008 * config/sh/sh.c (sh_expand_prologue): Remove unnecessary
6009 comment. Pass true to the last argument of output_stack_adjust.
6010
6011 2010-11-03 H.J. Lu <hongjiu.lu@intel.com>
6012
6013 PR target/46295
6014 * config/i386/i386.c (ix86_expand_vector_move): Set use_avx256_p
6015 if 256bit AVX register is used.
6016
6017 2010-11-03 Michael Meissner <meissner@linux.vnet.ibm.com>
6018
6019 * config/rs6000/rs6000.c (rs6000_emit_minmax): Add support to use
6020 xsmindp/xsmaxdp on VSX for single precision min/max.
6021 * config/rs6000/vsx.md (vsx_smaxsf3): Ditto.
6022 (vsx_sminsf3): Ditto.
6023
6024 2010-11-03 Eric Botcazou <ebotcazou@adacore.com>
6025
6026 * combine.c (try_combine): Fix formatting issues, improve comments and
6027 fix a pasto.
6028
6029 2010-11-03 Eric Botcazou <ebotcazou@adacore.com>
6030
6031 * tree-tailcall.c (find_tail_calls): Convert the operands to the type
6032 of the result before building binary expressions.
6033
6034 2010-11-03 H.J. Lu <hongjiu.lu@intel.com>
6035
6036 PR rtl-optimization/45865
6037 * Makefile.in (df-problems.o): Revert revision 164552.
6038 * basic-block.h (enum bb_flags): Likewise.
6039 * cfgcleanup.c (block_was_dirty): Likewise.
6040 (try_forward_edges): Likewise.
6041 (try_crossjump_bb): Likewise.
6042 (try_head_merge_bb): Likewise.
6043 (try_optimize_cfg): Likewise.
6044 (cleanup_cfg): Likewise.
6045 * df-core.c (df_set_bb_dirty): Likewise.
6046 * df-problems.c: Likewise.
6047 (df_simulate_find_uses): Likewise.
6048 (MEMREF_NORMAL, MEMREF_VOLATILE): Likewise.
6049 (find_memory, find_memory_store): Likewise.
6050 (can_move_insns_across): Likewise.
6051 * df.h (can_move_insns_across): Likewise.
6052 * ifcvt.c (find_memory): Likewise.
6053 (dead_or_predicable): Likewise.
6054
6055 2010-11-03 Richard Guenther <rguenther@suse.de>
6056
6057 PR middle-end/46288
6058 * predict.c (strip_predict_hints): Simply DCE builtin expect if
6059 the result is unused.
6060
6061 2010-11-03 Jakub Jelinek <jakub@redhat.com>
6062
6063 PR tree-optimization/46009
6064 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Call
6065 cond_if_else_store_replacement if bb1 and bb2 have the same
6066 single successor.
6067 (cond_store_replacement): Use gimple_assign_single_p, don't
6068 check if rhs is SSA_NAME or invariant. Call release_defs for
6069 assign.
6070 (cond_if_else_store_replacement): New function.
6071
6072 2010-11-03 Richard Guenther <rguenther@suse.de>
6073
6074 * opts.c (finish_options): Properly check for all WHOPR
6075 flags before complaining about -flto-partition.
6076
6077 2010-11-04 Alan Modra <amodra@gmail.com>
6078
6079 * config/rs6000/rs6000.c (rs6000_pic_labelno): Make static.
6080 (rs6000_emit_load_toc_table): Don't use rs6000_pic_labelno when
6081 TARGET_SECURE_PLT.
6082 * config/rs6000/sysv4.h (rs6000_pic_labelno): Don't declare.
6083 * config/rs6000/rs6000.md (load_toc_v4_PIC_3b): Use "b" constraint
6084 on input, "r" on output.
6085
6086 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
6087
6088 Implemented -fobjc-std=objc1 flag.
6089 * doc/invoke.texi (Option Summary): Document -fobjc-std=objc1
6090 option.
6091 * doc/standards.texi (Standards): Updated the section on
6092 Objective-C; mention support for Objective-C 2.0 features and the
6093 new -fstd-objc=objc1 flag to disable them.
6094
6095 2010-11-03 Richard Guenther <rguenther@suse.de>
6096
6097 PR middle-end/46241
6098 * dwarf2out.c (scope_die_for): Properly detect global scope.
6099
6100 2010-11-03 Richard Guenther <rguenther@suse.de>
6101
6102 PR tree-optimization/46190
6103 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
6104 Properly compute peel iterations.
6105
6106 2010-11-03 Richard Guenther <rguenther@suse.de>
6107
6108 PR tree-optimization/46286
6109 * tree-ssa-structalias.c (get_constraint_for_1): Avoid referencing
6110 re-allocated vector data.
6111
6112 2010-11-03 H.J. Lu <hongjiu.lu@intel.com>
6113
6114 PR target/46285
6115 * config/i386/i386.c (ix86_expand_call): Conditionally decorate
6116 calls with UNSPEC_CALL_NEEDS_VZEROUPPER unspec before reload
6117 is completed.
6118
6119 2010-11-03 Richard Guenther <rguenther@suse.de>
6120
6121 PR tree-optimization/46217
6122 * tree-ssa.c (non_rewritable_mem_ref_base): Check if volatile
6123 flag matches.
6124 (execute_update_addresses_taken): Likewise.
6125
6126 2010-11-03 Joern Rennecke <joern.rennecke@embecosm.com>
6127
6128 PR bootstrap/44335
6129 * targhooks.c (targhook_words_big_endian): New function.
6130 (targhook_float_words_big_endian): Likewise.
6131 * targhooks.h (targhook_words_big_endian): Declare.
6132 (targhook_float_words_big_endian): Likewise.
6133 * target.def (words_big_endian, float_words_big_endian): New hooks.
6134
6135 2010-11-03 Jakub Jelinek <jakub@redhat.com>
6136
6137 PR tree-optimization/46165
6138 * tree-ssa-pre.c (eliminate): Return TODO_cleanup_cfg if changing
6139 a normal call into noreturn call.
6140
6141 2010-11-03 Richard Guenther <rguenther@suse.de>
6142
6143 PR middle-end/46251
6144 * builtins.c (expand_builtin_sincos): Properly build MEM_REFs,
6145 not INDIRECT_REFs.
6146
6147 2010-11-03 Jakub Jelinek <jakub@redhat.com>
6148
6149 PR tree-optimization/46107
6150 * cfgloopmanip.c (loop_version): Set irred_flag back into entry->flags
6151 if cfg_hook_duplicate_loop_to_header_edge failed.
6152
6153 2010-11-03 Ian Lance Taylor <iant@google.com>
6154
6155 PR lto/46273
6156 * config.gcc: Don't set lto_binary_reader.
6157 * doc/install.texi (Prerequisites): Remove libelf paragraphs.
6158 (Configuration): Mention --disable-lto. Remove --with-libelf
6159 paragraph.
6160
6161 2010-11-03 Jakub Jelinek <jakub@redhat.com>
6162
6163 PR debug/46252
6164 * reload1.c (delete_dead_insn): Use prev_active_insn instead of
6165 prev_real_insn.
6166 * gcse.c (insert_insn_end_basic_block): Likewise.
6167
6168 PR rtl-optimization/46034
6169 PR rtl-optimization/46212
6170 PR rtl-optimization/46248
6171 * combine.c (try_combine): If added_sets_2 where i0dest_in_i0src
6172 and i0 feeds i1 and i1 feeds i2 or i0 feeds i2, make a copy of i1src
6173 before i0dest -> i0src substitution and pass 1 instead of 0 as last
6174 argument to subst on i2pat.
6175
6176 2010-11-02 Ian Lance Taylor <iant@google.com>
6177
6178 * configure.ac: Use AC_SYS_LARGEFILE.
6179 * configure: Rebuild.
6180 * config.in: Rebuild.
6181
6182 2010-11-02 Nathan Froyd <froydnj@codesourcery.com>
6183
6184 * builtins.c (fold_builtin_signbit): Use build_zero_cst instead of
6185 fold_convert.
6186 * c-typeck.c (build_function_call_vec): Likewise.
6187 * cfgexpand.c (expand_debug_expr): Likewise.
6188 * cgraphunit.c (assemble_thunk): Likewise.
6189 * config/sparc/sparc.c (sparc_fold_builtin): Likewise.
6190 * fold-const.c (fold_unary_loc, fold_mult_zconjz): Likewise.
6191 (fold_binary_loc, fold_ternary_loc): Likewise.
6192 * gimple-fold.c (get_symbol_constant_value): Likewise.
6193 * gimple-low.c (lower_builtin_setjmp): Likewise.
6194 * gimple.c (gimple_cond_get_ops_from_tree): Likewise.
6195 * gimplify.c (gimplify_init_constructor): Likewise.
6196 * lambda.h (build_linear_expr): Likewise.
6197 * omp-low.c (omp_reduction_init): Likewise.
6198 * tree-inline.c (remap_ssa_name): Likewise.
6199 * tree-object-size.c (compute_object_sizes): Likewise.
6200 * tree-sra.c (init_subtree_with_zero): Likewise.
6201 (sra_ipa_modify_assign): Likewise.
6202 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Likewise.
6203 * tree-ssa-reassoc.c (eliminate_duplicate_pair): Likewise.
6204 (eliminate_plus_minus_pair, eliminate_not_pairs): Likewise.
6205 (undistribute_ops_list): Likewise.
6206 * tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
6207 * tree-vect-stmts.c (vectorizable_call): Likewise.
6208 * tree.c (build_vector_from_ctor, build_one_cst): Likewise.
6209 (build_zero_cst): Handle more cases directly. Update comment.
6210
6211 2010-11-02 H.J. Lu <hongjiu.lu@intel.com>
6212
6213 * config/i386/i386-protos.h (ix86_split_call_pop_vzeroupper): Removed.
6214 * config/i386/i386.c (ix86_split_call_pop_vzeroupper): Likewise.
6215
6216 * config/i386/i386.md (*call_pop_0_vzeroupper): Use parallel
6217 and call ix86_split_call_vzeroupper instead of
6218 ix86_split_call_pop_vzeroupper.
6219 (*call_pop_1_vzeroupper): Likewise.
6220 (*sibcall_pop_1_vzeroupper): Likewise.
6221 (*call_value_pop_0_vzeroupper): Likewise.
6222 (*call_value_pop_1_vzeroupper): Likewise.
6223 (*sibcall_value_pop_1_vzeroupper): Likewise.
6224
6225 2010-11-02 H.J. Lu <hongjiu.lu@intel.com>
6226
6227 * config/i386/i386.md (*sibcall_1_rex64_vzeroupper): Fix a typo.
6228
6229 2010-11-02 Eric Botcazou <ebotcazou@adacore.com>
6230
6231 * basic-block.h (insert_insn_end_bb_new): Delete.
6232 * cfgrtl.c (insert_insn_end_bb_new): Likewise.
6233
6234 2010-11-02 Uros Bizjak <ubizjak@gmail.com>
6235 H.J. Lu <hongjiu.lu@intel.com>
6236
6237 * config/i386/i386-protos.h (ix86_split_call_vzeroupper): New.
6238 (ix86_split_call_pop_vzeroupper): Likewise.
6239
6240 * config/i386/i386.c (move_or_delete_vzeroupper_2): Rewrite the loop.
6241 (ix86_expand_call): Conditionally decorate calls with
6242 UNSPEC_CALL_NEEDS_VZEROUPPER unspec.
6243 (ix86_split_call_vzeroupper): New.
6244 (ix86_split_call_pop_vzeroupper): Likewise.
6245
6246 * config/i386/i386.md (UNSPEC_CALL_NEEDS_VZEROUPPER): New.
6247 (*call_pop_0_vzeroupper): New insn_and_split pattern.
6248 (*call_pop_1_vzeroupper): Likewise.
6249 (*sibcall_pop_1_vzeroupper): Likewise.
6250 (*call_0_vzeroupper): Likewise.
6251 (*call_1_vzeroupper): Likewise.
6252 (*sibcall_1_vzeroupper): Likewise.
6253 (*call_1_rex64_vzeroupper): Likewise.
6254 (*call_1_rex64_ms_sysv_vzeroupper): Likewise.
6255 (*call_1_rex64_large_vzeroupper): Likewise.
6256 (*sibcall_1_rex64_vzeroupper): Likewise.
6257 (*call_value_pop_0_vzeroupper): Likewise.
6258 (*call_value_pop_1_vzeroupper): Likewise.
6259 (*sibcall_value_pop_1_vzeroupper): Likewise.
6260 (*call_value_0_vzeroupper): Likewise.
6261 (*call_value_0_rex64_vzeroupper): Likewise.
6262 (*call_value_0_rex64_ms_sysv_vzeroupper): Likewise.
6263 (*call_value_1_vzeroupper): Likewise.
6264 (*sibcall_value_1_vzeroupper): Likewise.
6265 (*call_value_1_rex64_vzeroupper): Likewise.
6266 (*call_value_1_rex64_ms_sysv_vzeroupper): Likewise.
6267 (*call_value_1_rex64_large_vzeroupper): Likewise.
6268 (*sibcall_value_1_rex64_vzeroupper): Likewise.
6269
6270 2010-11-02 Ian Lance Taylor <iant@google.com>
6271
6272 PR lto/46273
6273 * config.gcc: Revert last patch: set lto_binary_reader.
6274
6275 2010-11-02 Richard Guenther <rguenther@suse.de>
6276
6277 PR tree-optimization/46149
6278 * tree-ssa-structalias.c (get_constraint_fop_1): Properly handle
6279 non-indirect MEM_REF variants.
6280
6281 2010-11-02 Richard Guenther <rguenther@suse.de>
6282
6283 PR tree-optimization/46216
6284 * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
6285 Check if we can propagate from a POINTER_PLUS_EXPR before doing so.
6286
6287 2010-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6288
6289 * configure.ac (*-*-irix6*): Disable set_have_as_tls.
6290 (*-*-osf*): Likewise.
6291 * configure: Regenerate.
6292
6293 2010-11-02 H.J. Lu <hongjiu.lu@intel.com>
6294
6295 * config/i386/driver-i386.c (host_detect_local_cpu): Updated
6296 for Intel Core 2 and Core i7.
6297
6298 2010-11-02 Maxim Kuvyrkov <maxim@codesourcery.com>
6299
6300 Model decoder of Core 2/i7 for multipass scheduling.
6301
6302 * config/i386/i386-protos.h (struct ix86_first_cycle_multipass_data_):
6303 New type to hold target-specific data for multipass scheduling.
6304 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
6305 * config/i386/i386.c (ia32_multipass_dfa_lookahead): Update for
6306 Core 2/i7.
6307 (core2i7_secondary_decoder_max_insn_size,)
6308 (core2i7_secondary_ifetch_block_size, core2i7_ifetch_block_max_insns):
6309 New static variables.
6310 ([const_]ix86_first_cycle_multipass_data_t): New typedefs.
6311 ([_]ix86_first_cycle_multipass_data): New static variable.
6312 (core2i7_first_cycle_multipass_init, core2i7_dfa_poast_advance_cycle):
6313 Implement targetm.sched hooks.
6314 (core2i7_first_cycle_multipass_filter_ready_try): New static subroutine
6315 of ...
6316 (core2i7_first_cycle_multipass_{begin, issue, backtrack, end, fini}):
6317 Implement new targetm.sched hooks.
6318 (ix86_sched_init_global, TARGET_SCHED_INIT_GLOBAL): Define
6319 targetm.sched hook to install multipass scheduling hooks on demand.
6320
6321 * doc/tm.texi.in: Document new targetm.sched hooks.
6322 * doc/tm.texi: Regenerate.
6323
6324 * haifa-sched.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
6325 (first_cycle_multipass_data_t): New typedef.
6326 (struct choice_entry: target_data): New field.
6327 (max_issue): Add first_cycle_insn_p parameter. Call new target hooks
6328 to allow target model restrictions not represented in DFA.
6329 (choose_ready, schedule_block): Update.
6330 (sched_extend_ready_list, sched_finish_ready_list): Call new target
6331 hooks to initialize target-specific data for multipass scheduling.
6332 * sched-int.h (max_issue): Update declaration.
6333 * sel-sched.c (choose_best_insn): Update.
6334 * target.def (first_cycle_multipass_{begin, issue, backtrack},)
6335 (first_cycle_multipass_{init, fini}): Define and document new
6336 targetm.sched hooks.
6337
6338 2010-11-02 Richard Guenther <rguenther@suse.de>
6339
6340 PR tree-optimization/46184
6341 * tree-vect-loop.c (vectorizable_reduction): Try to obtain the
6342 input vector type from the reduction operand as well.
6343
6344 2010-11-02 Richard Guenther <rguenther@suse.de>
6345
6346 PR tree-optimization/46177
6347 * tree-loop-distribution.c (prop_phis): Use
6348 mark_virtual_phi_result_for_renaming.
6349
6350 2010-11-02 Martin Jambor <mjambor@suse.cz>
6351
6352 PR middle-end/46120
6353 * tree.c (get_binfo_at_offset): Bail out on artificial
6354 fields. Identify primary bases according to their offsets.
6355
6356 2010-11-02 Martin Jambor <mjambor@suse.cz>
6357
6358 PR tree-optimization/45875
6359 * gimple-fold.c (get_first_base_binfo_with_virtuals): Removed.
6360 (gimple_get_relevant_ref_binfo): Detect primary bases according to
6361 their field offset.
6362
6363 2010-11-02 Ian Lance Taylor <iant@google.com>
6364
6365 * doc/install.texi (Configuration): Note in two places that Java
6366 is not enabled by default.
6367
6368 2010-11-02 Ian Lance Taylor <iant@google.com>
6369
6370 * doc/install.texi (Prerequisites): Remove libelf paragraphs.
6371 (Configuration): Mention --disable-lto. Remove --with-libelf
6372 paragraph.
6373
6374 2010-11-02 Ian Lance Taylor <iant@google.com>
6375
6376 * configure.ac: Remove elf_getshdrstrndx test. Don't substitute
6377 LTO_BINARY_READER or LTO_USE_LIBELF. Remove LIBELFLIBS and
6378 LIBELFINC. Remove HAVE_libelf.
6379 * config.gcc: Don't set lto_binary_reader.
6380 * Makefile.in (LIBELFLIBS, LIBELFINC): Remove variables.
6381 (LTO_BINARY_READER, LTO_USE_LIBELF): Remove variables.
6382 (LIBS): Remove $(LIBELFLIBS).
6383 (INCLUDES): Remove $(LIBELFINC).
6384 * configure: Rebuild.
6385 * config.in: Rebuild.
6386
6387 2010-11-02 Nathan Froyd <froydnj@codesourcery.com>
6388
6389 * config/microblaze/microblaze-protos.h (function_arg): Delete.
6390 (function_arg_advance): Delete.
6391 * config/microblaze/microblaze.h (FUNCTION_ARG_ADVANCE): Delete.
6392 (FUNCTION_ARG): Delete.
6393 * config/microblaze/microblaze.c (function_arg_advance): Rename to...
6394 (microblaze_function_arg_advance): ...this. Make static. Take a
6395 const_tree and a bool.
6396 (function-arg): Rename to...
6397 (microblaze_function_arg): ...this. Make static. Take a const_tree
6398 and a bool.
6399 (microblaze_expand_prologue): Call targetm.calls.function_arg and
6400 targetm.calls.function_arg_advance.
6401 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
6402
6403 2010-11-02 Iain Sandoe <iains@gcc.gnu.org>
6404
6405 Merge from FSF "apple/trunk" branch.
6406
6407 * config/rs6000/darwin.opt (mdynamic-no-pic): move from here ...
6408 * config/darwin.opt: .. to here.
6409 (matt-stubs): New option.
6410 * config/i386/darwin.opt: Delete.
6411 * config/i386/i386.h (MACHOPIC_ATT_STUB): New.
6412 (MACHO_DYNAMIC_NO_PIC_P): New.
6413 (MACHOPIC_INDIRECT): New.
6414 (MACHOPIC_PURE): New.
6415 * config/i386/darwin.h (DARWIN_X86) Define to 1.
6416 (MACHOPIC_ATT_STUB): New.
6417 (CC1_SPEC): Do not remove mdynamic-no-pic.
6418 Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
6419 UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
6420 (FUNCTION_PROFILER): Correct over-length line.
6421 (SUBTARGET_OVERRIDE_OPTIONS): New.
6422 (MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
6423 * config/i386/i386.c (config/i386/i386.c): Darwin has no PLT.
6424 (legitimate_constant_p): Handle mdynamic-no-pic.
6425 (ix86_legitimate_address_p): Likewise.
6426 (ix86_legitimize_address): Likewise.
6427 (ix86_expand_move): Likewise.
6428 (machopic_output_stub): Update for ATT-style stubs and
6429 mdynamic-no-pic.
6430 * config/darwin-protos.h (machopic_symbol_defined_p): New.
6431 * config/rs6000/darwin.h (DARWIN_PPC): Define to 1.
6432 TARGET_DYNAMIC_NO_PIC: Remove.
6433 Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
6434 UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
6435 * config/rs6000/rs6000.c (darwin_rs6000_override_options):
6436 Remove handling of mdynamic-no-pic.
6437 * config/darwin.c (HAVE_lo_sum, gen_macho_high, gen_macho_low):
6438 Define if required.
6439 (machopic_symbol_defined_p): Do not try to use current_function_decl
6440 when generating _get_pc thunks within stubs.
6441 (machopic_indirect_data_reference): Rework for direct conditionals
6442 rather than #ifdefs, add x86 mdynamic-no-pic
6443 (machopic_legitimize_pic_address): Update to use HAVE_lo_sum with a
6444 defined value.
6445 (darwin_override_options): Handle mdynamic-no-pic here.
6446 * config/darwin-sections.def (machopic_lazy_symbol_ptr2_section): New.
6447 (machopic_lazy_symbol_ptr3_section): New.
6448 (machopic_picsymbol_stub2_section): New.
6449 (machopic_picsymbol_stub3_section): New.
6450 * config/darwin.h (DARWIN_X86, DARWIN_PPC): Define to 0.
6451 (MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
6452 (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
6453 Moved common definition from x86 and rs6000.
6454 (MACHO_DYNAMIC_NO_PIC_P): Override value.
6455 (MACHOPIC_INDIRECT): Likewise.
6456 (MACHOPIC_PURE): Likewise.
6457 * config.gcc (x86-darwin-*): Remove darwin.opt.
6458
6459 2010-11-02 Jakub Jelinek <jakub@redhat.com>
6460
6461 PR debug/46255
6462 * tree-cfg.c (gimple_flow_call_edges_add): Use gsi_last_nondebug_bb
6463 instead of gsi_last_bb.
6464
6465 2010-11-02 Bernd Schmidt <bernds@codesourcery.com>
6466 Maxim Kuvyrkov <maxim@codesourcery.com>
6467
6468 * config/i386/i386.c (cpu_names): Add "corei7".
6469 * config/i386/i386.h (enum target_cpu_default): Add entry for Core i7.
6470
6471 2010-11-02 Bernd Schmidt <bernds@codesourcery.com>
6472 Maxim Kuvyrkov <maxim@codesourcery.com>
6473
6474 Tune alignment for Intel Core i7
6475
6476 * config/i386.h (TARGET_COREI7{_32,_64,}): New macros.
6477 (enum processor_type): Update comment. Add entries for Core i7.
6478 * config/i386-c.c (ix86_target_macros_internal): Update.
6479 * config/i386.c (m_COREI7{_32,_64}): New macros.
6480 (m_GENERIC32, m_GENERIC64): Use generic tuning for Core i7.
6481 (processor_target_table): Tune alignment for Core i7.
6482 (ix86_option_override_internal): Use PROCESSOR_COREI7_*.
6483
6484 * doc/invoke.texi: Document "corei7" option value.
6485
6486 2010-11-02 Bernd Schmidt <bernds@codesourcery.com>
6487 Maxim Kuvyrkov <maxim@codesourcery.com>
6488 H.J. Lu <hjl.tools@gmail.com>
6489
6490 Basic support for Intel Core i7
6491
6492 * i386.c (ix86_option_override_internal): Add entry for corei7, use
6493 generic tuning. Use generic32 when compiling for 32-bit ABI.
6494
6495 2010-11-02 Iain Sandoe <iains@gcc.gnu.org>
6496
6497 * config/darwin.c (darwin_asm_named_section): Check for __DWARF
6498 sections and call darwin_asm_dwarf_section() to handle them.
6499 (darwin_asm_dwarf_section): New.
6500 (darwin_file_start): Remove code emitting dwarf section symbols.
6501
6502 2010-11-02 Chung-Lin Tang <cltang@codesourcery.com>
6503
6504 * Makefile.in (LIBGCC2_CFLAGS): Add -fno-stack-protector, to
6505 explicitly disable stack protection when building libgcc.
6506 (CRTSTUFF_CFLAGS): Same, for crtbegin/end.
6507
6508 2010-11-01 Jason Merrill <jason@redhat.com>
6509
6510 * fold-const.c (fold_indirect_ref_1): Handle folding
6511 POINTER_PLUS_EXPR to ARRAY_REF.
6512
6513 2010-11-01 Kaz Kojima <kkojima@gcc.gnu.org>
6514
6515 * config/sh/sh.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
6516 (sh_delegitimize_address): New function.
6517
6518 2010-11-01 Joseph Myers <joseph@codesourcery.com>
6519
6520 * config/alpha/alpha.h (WORD_SWITCH_TAKES_ARG): Remove.
6521 * config/cris/cris.h (WORD_SWITCH_TAKES_ARG): Remove.
6522 (CC1_SPEC): Don't handle -target.
6523 * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove single-argument
6524 options.
6525 * config/darwin.opt (Zallowable_client, Zbundle_loader,
6526 Zdylib_file, Zexported_symbols_list, Zfn_seg_addr_table_filename,
6527 Zimage_base, Zinit, Zinstall_name, Zmultiply_defined,
6528 Zmultiplydefinedunused, Zseg_addr_table, Zsegs_read_only_addr,
6529 Zsegs_read_write_addr, Zumbrella, Zunexported_symbols_list,
6530 Zweak_reference_mismatches, client_name, compatibility_version,
6531 current_version, dylinker_install_name, pagezero_size,
6532 read_only_relocs, seg1addr, segs_read_only_addr,
6533 segs_read_write_addr, sub_library, sub_umbrella): New.
6534 * config/freebsd-spec.h (BSD_WORD_SWITCH_TAKES_ARG): Remove.
6535 * config/freebsd.h (WORD_SWITCH_TAKES_ARG): Remove.
6536 * config/freebsd.opt: New.
6537 * config/interix.h (WORD_SWITCH_TAKES_ARG): Remove.
6538 * config/mips/iris6.h (WORD_SWITCH_TAKES_ARG): Remove.
6539 * config/rpath.opt: New.
6540 * config.gcc (*-*-freebsd*): Use rpath.opt and freebsd.opt.
6541 (alpha*-dec-osf5.1*, i[34567]86-*-interix3*, mips-sgi-irix6.5*):
6542 Use rpath.opt.
6543
6544 2010-11-01 Joseph Myers <joseph@codesourcery.com>
6545
6546 * common.opt (R, T, Tbss, Tdata, Ttext, h, z): New.
6547 * defaults.h (DEFAULT_SWITCH_TAKES_ARG, SWITCH_TAKES_ARG): Remove.
6548 (DEFAULT_WORD_SWITCH_TAKES_ARG): Define to 0.
6549 * doc/tm.texi.in (SWITCH_TAKES_ARG): Remove.
6550 (WORD_SWITCH_TAKES_ARG): Don't refer to SWITCH_TAKES_ARG.
6551 Document that options in .opt files do not need to be included.
6552 * doc/tm.texi: Regenerate.
6553 * gcc.c (LINK_COMMAND_SPEC): Don't include %{x}.
6554 * opts-common.c: Update comment on tm.h include.
6555 (decode_cmdline_option): Don't use SWITCH_TAKES_ARG.
6556 * system.h (SWITCH_TAKES_ARG): Poison.
6557 * config/alpha/alpha.h (SWITCH_TAKES_ARG): Remove.
6558 * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove options included
6559 in darwin.opt.
6560 (LINK_COMMAND_SPEC_A): Don't include %{x}.
6561 * config/fr30/fr30.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
6562 * config/freebsd-spec.h (FBSD_SWITCH_TAKES_ARG): Remove.
6563 * config/freebsd.h (SWITCH_TAKES_ARG): Remove.
6564 * config/frv/frv.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
6565 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Don't include %{x}.
6566 * config/ia64/ia64.h (SWITCH_TAKES_ARG): Remove.
6567 * config/interix.h (WORD_SWITCH_TAKES_ARG): Don't handle -T options.
6568 * config/lm32/lm32.h (SWITCH_TAKES_ARG): Remove.
6569 * config/m32r/m32r.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
6570 * config/microblaze/microblaze.h (SWITCH_TAKES_ARG): Remove.
6571 * config/mips/mips.h (SWITCH_TAKES_ARG): Remove.
6572 * config/mips/netbsd.h (SWITCH_TAKES_ARG): Remove.
6573 * config/mips/vxworks.h (SWITCH_TAKES_ARG): Remove.
6574 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove.
6575 * config/netbsd-elf.h (SWITCH_TAKES_ARG): Remove.
6576 * config/openbsd.h (SWITCH_TAKES_ARG): Remove.
6577 * config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Remove.
6578 * config/score/score.h (SWITCH_TAKES_ARG): Remove.
6579 * config/sol2.h (SWITCH_TAKES_ARG): Remove.
6580 * config/sparc/sp-elf.h (SWITCH_TAKES_ARG): Remove.
6581 * config/sparc/sp64-elf.h (SWITCH_TAKES_ARG): Remove.
6582 * config/sparc/sparc.h (ASM_SPEC): Don't include %{R}.
6583 * config/svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
6584
6585 2010-11-01 Paul Koning <ni1d@arrl.net>
6586
6587 * config/pdp11/pdp11.md: Use iterators.
6588 (addqi3, subqi3, iorsi3, xorsi3): Delete.
6589
6590 2010-11-01 Steve Ellcey <sje@cup.hp.com>
6591
6592 * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): Move under ifdef
6593 GCC_INSN_FLAGS_H.
6594 * libgcov.c (__gcov_indirect_call_profiler): Set
6595 VTABLE_USES_DESCRIPTORS if TARGET_VTABLE_USES_DESCRIPTORS is
6596 defined and use in place of TARGET_VTABLE_USES_DESCRIPTORS.
6597
6598 2010-11-01 Nathan Froyd <froydnj@codesourcery.com>
6599
6600 PR tree-optimization/46259
6601
6602 Revert:
6603 2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
6604 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
6605 build_vector_from_val.
6606
6607 2010-11-01 DJ Delorie <dj@redhat.com>
6608
6609 * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Add define for RX610
6610 as well as an assertion.
6611
6612 2010-11-01 Paul Koning <ni1d@arrl.net>
6613
6614 * config/pdp11/pdp11.c (pdp11_return_in_memory): Return vector and
6615 complex modes in memory.
6616
6617 2010-11-01 Nathan Froyd <froydnj@codesourcery.com>
6618
6619 * tree.c (build_vector_from_val): Use useless_type_conversion_p.
6620
6621 2010-11-01 Jakub Jelinek <jakub@redhat.com>
6622
6623 PR target/45250
6624 * var-tracking.c (cfa_base_rtx): Move definition earlier in the file.
6625 (cfa_base_offset): New variable.
6626 (compute_cfa_pointer): Use cfa_base_rtx and cfa_base_offset.
6627 (adjust_mems): Don't do any sp or hfp replacements if cfa_base_rtx
6628 is NULL.
6629 (vt_init_cfa_base): Initialize cfa_base_offset.
6630
6631 2010-11-01 Alan Modra <amodra@gmail.com>
6632
6633 PR target/46030
6634 * config/rs6000/rs6000.c (struct rs6000_stack): Add reload_completed
6635 and savres_strategy.
6636 (stack_info): New file scope var.
6637 (rs6000_init_machine_status): Init stack_info.
6638 (SAVRES_INLINE_FPRS, SAVRES_INLINE_GPRS,
6639 SAVRES_NOINLINE_GPRS_SAVES_LR, SAVRES_NOINLINE_FPRS_SAVES_LR,
6640 SAVRES_NOINLINE_FPRS_DOESNT_RESTORE_LR): Replace with..
6641 (SAVE_INLINE_FPRS, SAVE_INLINE_GPRS, REST_INLINE_FPRS, REST_INLINE_GPRS,
6642 SAVE_NOINLINE_GPRS_SAVES_LR, SAVE_NOINLINE_FPRS_SAVES_LR
6643 REST_NOINLINE_FPRS_DOESNT_RESTORE_LR): ..this. Update all refs.
6644 (rs6000_savres_strategy): Rewrite.
6645 (rs6000_stack_info): Use "stack_info" in place of local "info".
6646 Return cached stack info when reload_completed unless ENABLE_CHECKING
6647 in which case confirm newly calculated stack info matches old info.
6648 Delay calculation of lr_save_p, set it for out of line gp save/restore
6649 as well as fp. Call rs6000_savres_strategy from here..
6650 (rs6000_emit_prologue, rs6000_emit_epilogue): ..rather than here.
6651 (rs6000_output_function_prologue): Use info->savres_strategy to
6652 determine whether fp save/restore externs need to be emitted.
6653
6654 2010-10-31 Jason Merrill <jason@redhat.com>
6655
6656 * tree.h (EXPR_LOC_OR_HERE): New macro.
6657 * builtins.c (c_strlen): Use it.
6658 * c-decl.c (build_enumerator): Likewise.
6659 * gimplify.c (internal_get_tmp_var): Likewise.
6660 (shortcut_cond_expr): Likewise.
6661 (gimplify_one_sizepos): Likewise.
6662
6663 2010-10-31 Richard Henderson <rth@redhat.com>
6664
6665 * config/i386/cygming.h (TARGET_SEH): New.
6666 (MAX_STACK_ALIGNMENT): New. Disable alignment for SEH.
6667 (TARGET_ASM_UNWIND_EMIT, TARGET_ASM_UNWIND_EMIT_BEFORE_INSN,
6668 TARGET_ASM_FUNCTION_END_PROLOGUE, SUBTARGET_ASM_UNWIND_INIT): New.
6669 (TARGET_OS_CPP_BUILTINS): Define __SEH__ as needed.
6670 (ASM_DECLARE_FUNCTION_NAME): Use i386_pe_start_function.
6671 (ASM_DECLARE_FUNCTION_SIZE): New.
6672 * config/i386/i386-protos.h: Update.
6673 * config/i386/i386.c (ix86_option_override_internal): Enable
6674 flag_unwind_tables with flag_asynchronous_unwind_tables immediately;
6675 restrict -mpreferred-stack-boundary for SEH; enable flag_fentry.
6676 (ix86_asm_output_function_label): Use SUBTARGET_ASM_UNWIND_INIT.
6677 (ix86_compute_frame_layout): For SEH, disable
6678 use_fast_prologue_epilogue, move frame pointer to the end of
6679 the frame. Initialize hfp_save_offset.
6680 (ix86_expand_prologue): Honor hfp_save_offset. Emit blockage
6681 at end of prologue for SEH.
6682 (ix86_expand_epilogue): For SEH, use pops, emit a nop if needed,
6683 emit blockage at beginning of epilogue.
6684 (ix86_expand_binary_operator): After reload, emit LEA if needed.
6685 (ix86_output_call_insn): New.
6686 * config/i386/i386.h (TARGET_SEH): New.
6687 (struct machine_function): Add member seh.
6688 * config/i386/i386.md (all call patterns): Use ix86_output_call_insn.
6689 * config/i386/winnt.c (struct seh_frame_state): New.
6690 (i386_pe_seh_init, i386_pe_seh_end_prologue, i386_pe_seh_fini,
6691 seh_emit_push, seh_emit_save, seh_emit_stackalloc, seh_cfa_adjust_cfa,
6692 seh_cfa_offset, seh_frame_related_expr, i386_pe_seh_unwind_emit,
6693 i386_pe_start_function, i386_pe_end_function): New.
6694
6695 * dwarf2out.c (dwarf2out_frame_debug_expr): Accept CFA as well
6696 as CFA_STORE in rules 12 and 13.
6697
6698 2010-10-31 Uros Bizjak <ubizjak@gmail.com>
6699
6700 PR tree-optimization/46142
6701 * tree-vect-stmts.c (vectorizable_call): Enlarge dt array to
6702 accommodate third function argument.
6703
6704 2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
6705
6706 * tree-ssa-loop-im.c (rewrite_reciprocal): Use build_one_cst.
6707
6708 2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
6709
6710 * fold-const.c (build_zero_vector): Use build_vector_from_val.
6711 * tree-vect-loop.c (get_initial_def_for_induction): Likewise.
6712 (get_initial_def_for_reduction): Likewise.
6713 * tree-vect-slp.c (vect_get_constant_vectors): Likewise.
6714 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Likewise.
6715 * tree.c (build_one_cst): Likewise.
6716 (build_vector_from_val): Use types_compatible_p for assert.
6717
6718 2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
6719
6720 * emit-rtl.c (mark_used_flags): New function.
6721 (set_used_flags, reset_used_flags): Call it.
6722
6723 2010-10-30 Uros Bizjak <ubizjak@gmail.com>
6724
6725 PR middle-end/44569
6726 * lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements,
6727 determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX.
6728
6729 2010-10-30 H.J. Lu <hongjiu.lu@intel.com>
6730
6731 PR target/46195
6732 * config/i386/i386.c (contains_aligned_value_p): Renamed to ...
6733 (ix86_compat_aligned_value_p): This.
6734 (ix86_old_function_arg_boundary): Renamed to ...
6735 (ix86_compat_function_arg_boundary): This. Updated.
6736 (ix86_contains_aligned_value_p): New.
6737 (ix86_function_arg_boundary): Align long double parameters on
6738 stack to 4byte in 32bit.
6739
6740 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
6741
6742 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
6743 * c-parser.c (c_parser_objc_at_property_declaration): Removed
6744 parsing of RID_COPIES and RID_IVAR. Updated call to
6745 objc_add_property_declaration.
6746 * c-typecheck.c (build_component_ref): Call
6747 objc_maybe_build_component_ref instead of objc_build_setter_call.
6748 Use objc_is_property_ref to improve Objective-C checks.
6749 (cp_build_modify_expr): Call objc_maybe_build_modify_expr instead
6750 of objc_build_getter_call.
6751
6752 2010-10-29 Paul Koning <ni1d@arrl.net>
6753
6754 * doc/tm.texi.in (REGNO_OK_FOR_BASE_P, REGNO_MODE_OK_FOR_BASE_P,
6755 REGNO_MODE_OK_FOR_REG_BASE, REGNO_MODE_CODE_OK_FOR_BASE_P,
6756 REGNO_OK_FOR_INDEX_P): Delete non-strict variant.
6757 (REG_OK_STRICT): Move description.
6758
6759 2010-10-29 Paul Koning <ni1d@arrl.net>
6760
6761 * config/pdp11/pdp11.md (*and<mode>): Rename to *bic<mode>.
6762
6763 2010-10-29 Paul Koning <ni1d@arrl.net>
6764
6765 * config/pdp11/pdp11.md (divhi3, modhi3, divmodhi3): Fix ICE.
6766
6767 2010-10-29 Paul Koning <ni1d@arrl.net>
6768
6769 PR/41822
6770 * config/pdp11/pdp11.md (andhi3, andqi3): Fix wrong code error.
6771
6772 2010-10-29 Richard Henderson <rth@redhat.com>
6773
6774 PR rtl-opt/46226
6775 * stmt.c (expand_asm_operands): Call do_pending_stack_adjust
6776 for asm goto.
6777
6778 2010-10-29 Paul Koning <ni1d@arrl.net>
6779
6780 * config/pdp11/pdp11.c (output_move_quad): Fix ICE for CPU
6781 register to register move.
6782
6783 2010-10-29 Paul Koning <ni1d@arrl.net>
6784
6785 * config/pdp11/pdp11.c (print_operand_address): Correct handling
6786 of integer constant addresses, delete vax-only logic.
6787
6788 2010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
6789
6790 * config/picochip/picochip.c (picochip_is_short_branch): Simplify
6791 a conditional expression.
6792
6793 2010-10-29 Paul Koning <ni1d@arrl.net>
6794
6795 * config/pdp11/pdp11.c (pdp11_trampoline_init): Correct
6796 instruction encoding.
6797
6798 2010-10-29 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
6799 Andrew Pinski <pinskia@gmail.com>
6800
6801 * tree.h (build_vector_from_val): Declare.
6802 * tree.c (build_vector_from_val): New function.
6803 * c-typeck.c (build_binary_op): Handle vector shifting.
6804 * doc/extend.texi: Description of the vector shifting operation.
6805
6806 2010-10-29 Paul Koning <pkoning@equallogic.com>
6807
6808 * config/pdp11/pdp11-protos.h (pdp11_cannot_change_mode_class,
6809 pdp11_secondary_memory_needed): Declare.
6810 * config/pdp11/predicates.md (float_operand): New predicate.
6811 * config/pdp11/pdp11.md (RETVAL_REGNUM): New constant.
6812 (cbranchdf4, movdf): Change predicate.
6813 (movsf): Handle FPU register case.
6814 (truncdfsf2, extendsfdf2): Add FPU register case.
6815 * config/pdp11/pdp11.c (TARGET_SECONDARY_RELOAD,
6816 TARGET_REGISTER_MOVE_COST, TARGET_PREFERRED_RELOAD_CLASS,
6817 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
6818 (pdp11_register_move_cost): Update cost matrix.
6819 (pdp11_cannot_change_mode_class, pdp11_preferred_reload_class,
6820 pdp11_preferred_output_reload_class, pdp11_secondary_reload,
6821 pdp11_secondary_memory_needed): New function.
6822 (pdp11_return_in_memory): Add other float types.
6823 * config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Add other float types.
6824 (SECONDARY_MEMORY_NEEDED, CANNOT_CHANGE_MODE_CLASS): Define.
6825 (PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS,
6826 REGISTER_MOVE_COST): Delete.
6827 (BASE_RETURN_VALUE_REG): Add other float types.
6828
6829 2010-10-29 Nick Clifton <nickc@redhat.com>
6830
6831 * doc/invoke.texi: Document -mam34 and -mtune options.
6832 * config/mn10300/mn10300.c (mn10300_tune_string): New variable.
6833 (mn10300_tune_cpu): New variable.
6834 (mn10300_handle_option): Handle -mam34 and -mtune options.
6835 (mn10300_option_override): Convert tune string into tune cpu variable.
6836 (mn10300_legitimate_constant_p): Delete unused local variable.
6837 (is_load_insn): New function.
6838 (is_store_insn): New function.
6839 (mn10300_adjust_schedule_cost): New function.
6840 (TARGET_SCHED_ADJUST_COST): Define.
6841 * config/mn10300/mn10300.opt (mam34): New option.
6842 (mtune): New option.
6843 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add AM34 support.
6844 (enum processor_type): Add AM34.
6845 (TARGET_AM34): Define.
6846 * config/mn10300/mn10300.md (attr cpu): Add am34.
6847 Add pipeline description.
6848 (movqi, movhi, movsi, movsf, movdf, movdi): Fix predicates.
6849 Remove unneeded alternatives. Add timing attribute.
6850 (pop_pic_reg, am33_addsi3, mn10300_addsi3, am33_subsi3,
6851 mn10300_subsi3, mulsidi3, umulsidi3, am33_mulsi3,
6852 mn10300_mulsi3, udivmodsi4_am33, divmodsi4, am33_andsi3,
6853 mn10300_andsi3, am33_iorsi3, mn10300_iorsi3, am33_xorsi3,
6854 mn10300_xorsi3, byte_clear, byte_set, bit_clear1, bit_clear2,
6855 bit_set, am33_iorqi3, mn10300_iorqi3, test_byte_bitfield,
6856 bit_test, subreg_bit_test, cmpsi, am33_cmpsf, am33_subsi3,
6857 float_conditional_branch, jump, indirect_jump, tablejump,
6858 call_internal, call_value_internal, zero_extendqisi2_am33,
6859 zero_extendqisi2_mn10300, zero_extendhisi2_am33,
6860 zero_extendhisi2_mn10300, extendqisi2_am33, extendqisi2_mn10300,
6861 extendhisi2_am33, extendhisi2_mn10300, am33_ashlsi3,
6862 mn10300_ashlsi3, am33_lshrsi3, mn10300_lshrsi3, am33_ashrisi3,
6863 mn10300_ashrsi3, abssf2_am33_2, negsf2_am33_2, rsqrtsf2,
6864 addsf3_internal, subsf3_internal, mulsf3_internal, divsf3,
6865 fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4, return_internal,
6866 return_internal_regs, store_movm, return, call_next_insn):
6867 Add timing attribute.
6868 (am33_subsi3): Add missing clobber of CC_REG.
6869 (am33_andsi3, mn10300_andsi3): Fix compile time warnings.
6870 (udivmodsi4, udivmodsi4_insn, divmodsi4, test_byte_bitfield,
6871 subreg_bit_test, zero_extendqisi2, zero_extendhisi2,
6872 extendqisi2): Fix predicates.
6873 (call_internal, call_internal_value): Separate alternatives.
6874 * config/mn10300/t-mn10300: Add AM34 multilib.
6875
6876 2010-10-29 Paolo Bonzini <bonzini@gnu.org>
6877
6878 * config/sh/sh.c (sh_promote_function_mode): Use
6879 default_promote_function_mode if !sh_promote_prototypes.
6880
6881 2010-10-28 Paolo Bonzini <bonzini@gnu.org>
6882
6883 * recog.c (split_all_insns): Remove dead code.
6884
6885 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
6886
6887 * score.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
6888
6889 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
6890
6891 * config/cris/cris.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
6892 (FUNCTION_ARG_ADVANCE): Delete.
6893 * config/cris/cris.c (cris_function_arg_1, cris_function_arg): New
6894 functions.
6895 (cris_function_incoming_arg, cris_function_arg_advance): New functions.
6896 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
6897 (TARGET_FUNCTION_ARG_ADVANCE): Define.
6898
6899 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
6900
6901 * config/lm32/lm32-protos.h (lm32_function_arg): Delete.
6902 * config/lm32/lm32.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
6903 * config/mcore/mcore.c (mcore_function_arg): Declare. Make static.
6904 Take a const_tree and a bool.
6905 (mcore_function_arg_advance): New function.
6906 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
6907
6908 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
6909
6910 * config/mcore/mcore-protos.h (mcore_function_arg): Delete.
6911 * config/mcore/mcore.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
6912 * config/mcore/mcore.c (mcore_function_arg): Declare. Make static.
6913 Take a const_tree and a bool.
6914 (mcore_function_arg_advance): New function.
6915 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
6916
6917 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
6918
6919 * config/h8300/h8300-protos.h (function_arg): Delete.
6920 * config/h8300/h8300.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
6921 * config/h8300/h8300.c (function_arg): Rename to...
6922 (h8300_function_arg): ...this. Make static. Take a const_tree and
6923 a bool.
6924 (h8300_function_arg_advance): New function.
6925 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
6926
6927 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
6928
6929 * config/arc/arc.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move code
6930 to...
6931 * config/arc/arc.c (arc_function_arg): ...here and...
6932 (arc_function_arg_advance): ...here. New functions.
6933 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
6934
6935 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
6936
6937 * config/crx/crx-protos.h (crx_function_arg): Delete.
6938 (crx_function_arg_advance): Delete.
6939 * config/crx/crx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
6940 * config/crx/crx.c (crx_function_arg): Make static. Take a
6941 const_tree and a bool.
6942 (crx_function_arg_advance): Make static. Take a const_tree and a bool.
6943 (enough_regs_for_param): Take a const_tree.
6944 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
6945
6946 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
6947
6948 * config/m68hc11/m68hc11-protos.h (m68hc11_function_arg): Delete.
6949 (m68hc11_function_arg_advance): Delete.
6950 * config/m68hc11/m68hc11.h (FUNCTION_ARG): Delete.
6951 (FUNCTION_ARG_ADVANCE): Delete.
6952 * config/m68hc11/m68hc11.c (m68hc11_function_arg): Make static.
6953 Take a const_tree and a bool.
6954 (m68hc11_function_arg_advance): Likewise.
6955 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
6956
6957 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
6958
6959 * config/stormy16/stormy16-protos.h (xstormy16_function_arg): Delete.
6960 (xstormy16_function_arg_advance): Delete.
6961 * config/stormy16/stormy16.h (FUNCTION_ARG): Delete.
6962 (FUNCTION_ARG_ADVANCE): Delete.
6963 * config/stormy16/stormy16.c (xstormy16_function_arg): Make static.
6964 Take a const_tree and a bool.
6965 (xstormy16_function_arg_advance): Likewise. Return void, updating
6966 the CUM parameter instead.
6967 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
6968
6969 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
6970
6971 * config/moxie/moxie-protos.h (moxie_function_arg): Delete.
6972 * config/moxie/moxie.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
6973 (MOXIE_FUNCTION_ARG_SIZE): Move to...
6974 * config/moxie/moxie.c (MOXIE_FUNCTION_ARG_SIZE): ...here.
6975 (moxie_function_arg): Make static. Take a const_tree and a bool.
6976 (moxie_function_arg_advance): New function.
6977 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
6978
6979 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
6980
6981 * config/mn10300/mn10300-protos.h (function_arg): Delete.
6982 * config/mn10300/mn10300.h (FUNCTION_ARG): Delete.
6983 (FUNCTION_ARG_ADVANCE): Delete.
6984 * config/mn10300/mn10300.c (function_arg): Rename to...
6985 (mn10300_function_arg): ...this. Make static. Take a const_tree
6986 and a bool.
6987 (mn10300_function_arg_advance): New function.
6988 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
6989
6990 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
6991
6992 * config/iq2000/iq2000-protos.h (function_arg): Delete.
6993 (function_arg_advance): Delete.
6994 * config/iq2000/iq2000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
6995 * config/iq2000/iq2000.c (function_arg): Rename to...
6996 (iq2000_function_arg): ...this. Make static. Take a const_tree and
6997 a bool.
6998 (function_arg_advance): Rename to...
6999 (iq2000_function_arg_advance): ...this. Make static. Take a
7000 const_tree and a bool.
7001 (iq2000_expand_prologue): Call iq2000_function_arg_advance and
7002 iq2000_function_arg.
7003 (iq2000_pass_by_reference): Call iq2000_function_arg).
7004 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
7005
7006 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
7007
7008 * config/fr30/fr30-protos.h (fr30_num_arg_regs): Delete.
7009 * config/fr30/fr30.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
7010 * config/fr30/fr30.c (fr30_num_arg_regs): Make static. Take a
7011 const_tree.
7012 (fr30_function_arg): New function.
7013 (fr30_function_arg_advance): New function.
7014 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
7015
7016 2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
7017
7018 * config/frv/frv-protos.h (frv_function_arg): Delete.
7019 (frv_function_arg_advance): Delete.
7020 * config/frv/frv.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
7021 * config/frv/frv.c (frv_function_arg): Rename to...
7022 (frv_function_arg_1): Make static. Take const_tree and bool arguments.
7023 (frv_function_arg, frv_function_incoming_arg): New functions.
7024 (frv_function_arg_advance): Make static. Take a const_tree and a bool.
7025 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
7026 (TARGET_FUNCTION_ARG_ADVANCE): Define.
7027
7028 2010-10-28 Uros Bizjak <ubizjak@gmail.com>
7029
7030 PR target/46153
7031 * config/i386/sse.md (sse_movhlps_exp): Use destination
7032 returned from ix86_fixup_binary_operands to expand insn.
7033 (sse_movlhps_exp): Ditto.
7034 (sse_loadhps_exp): Ditto.
7035 (sse_loadlps_exp): Ditto.
7036 (sse2_loadhpd_exp): Ditto.
7037 (sse2_loadlpd_exp): Ditto.
7038
7039 2010-10-28 Andrew Stubbs <ams@codesourcery.com>
7040
7041 * config/arm/arm.c (const_ok_for_arm): Support 0xXY00XY00 pattern
7042 constants in thumb2.
7043
7044 2010-10-28 Eric Botcazou <ebotcazou@adacore.com>
7045
7046 * combine.c (set_nonzero_bits_and_sign_copies): Use unsigned
7047 arithmetics in masking operations.
7048 (contains_muldiv): Likewise.
7049 (try_combine): Likewise.
7050 (find_split_point): Likewise.
7051 (combine_simplify_rtx): Likewise.
7052 (simplify_if_then_else): Likewise.
7053 (simplify_set): Likewise.
7054 (expand_compound_operation): Likewise.
7055 (expand_field_assignment): Likewise.
7056 (make_extraction): Likewise.
7057 (extract_left_shift): Likewise.
7058 (make_compound_operation): Likewise.
7059 (force_to_mode): Likewise.
7060 (make_field_assignment): Likewise.
7061 (reg_nonzero_bits_for_combine): Likewise.
7062 (simplify_shift_const_1): Likewise.
7063 (simplify_comparison): Likewise.
7064
7065 2010-10-27 Nathan Froyd <froydnj@codesourcery.com>
7066
7067 * config/ia64/ia64-protos.h (ia64_function_arg): Delete.
7068 (ia64_function_arg_advance): Delete.
7069 * config/ia64/ia64.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
7070 (FUNCTION_ARG_ADVANCE): Delete.
7071 * config/ia64/ia64.c (ia64_function_arg): Rename to...
7072 (ia64_function_arg_1): ...this. Make static. Take const_tree and
7073 bool arguments.
7074 (ia64_function_arg, ia64_function_incoming_arg): New functions.
7075 (ia64_function_arg_advance): Make static. Take a const_tree and
7076 a bool.
7077 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
7078 (TARGET_FUNCTION_ARG_ADVANCE): Define.
7079
7080 2010-10-27 Steve Ellcey <sje@cup.hp.com>
7081
7082 * doc/tm.texi.in (TARGET_GET_RAW_RESULT_MODE): New.
7083 (TARGET_GET_RAW_ARG_MODE): New.
7084 * doc/tm.texi: Regenerate.
7085 * target.def (get_raw_result_mode): New.
7086 (get_raw_arg_mode): New.
7087 * targhooks.c (default_get_reg_raw_mode): New.
7088 * targhooks.h (default_get_reg_raw_mode): New.
7089 * builtins.c (apply_args_size): Use targetm.calls.get_raw_arg_mode.
7090 (apply_result_size): Ditto.
7091 * config/ia64/ia64.c (ia64_get_reg_raw_mode): New.
7092 (TARGET_GET_RAW_RESULT_MODE): Define.
7093 (TARGET_GET_RAW_ARG_MODE): Ditto.
7094
7095 2010-10-27 Eric Botcazou <ebotcazou@adacore.com>
7096
7097 * config/sparc/sol2-unwind.h (sparc64_fallback_frame_state): Adjust
7098 for newer Solaris 10 release.
7099 (sparc_fallback_frame_state): Likewise.
7100
7101 2010-10-27 Jason Merrill <jason@redhat.com>
7102
7103 * gimplify.c (gimplify_decl_expr): Handle anonymous artificial
7104 variables sooner.
7105
7106 2010-10-27 Jie Zhang <jie@codesourcery.com>
7107 Maxim Kuvyrkov <maxim@codesourcery.com>
7108
7109 * haifa-sched.c (ISSUE_POINTS): Remove.
7110 (max_issue): Don't issue more than issue_rate instructions.
7111
7112 2010-10-27 Ian Lance Taylor <iant@google.com>
7113
7114 PR target/46197
7115 * config/i386/i386.md (UNSPECV_SPLIT_STACK_RETURN): New.
7116 (split_stack_return): Replace UNSPEC_STACK_CHECK with
7117 UNSPECV_SPLIT_STACK_RETURN.
7118
7119 2010-10-27 H.J. Lu <hongjiu.lu@intel.com>
7120
7121 * config/i386/i386-protos.h (init_cumulative_args): Add an int.
7122
7123 * config/i386/i386.c (block_info): New.
7124 (BLOCK_INFO): Likewise.
7125 (call_avx256_state): Likewise.
7126 (check_avx256_stores): Likewise.
7127 (move_or_delete_vzeroupper_2): Likewise.
7128 (move_or_delete_vzeroupper_1): Likewise.
7129 (move_or_delete_vzeroupper): Likewise.
7130 (use_avx256_p): Likewise.
7131 (function_pass_avx256_p): Likewise.
7132 (flag_opts): Add -mvzeroupper.
7133 (ix86_option_override_internal): Turn on MASK_VZEROUPPER by
7134 default for TARGET_AVX. Turn off MASK_VZEROUPPER if TARGET_AVX
7135 is disabled.
7136 (ix86_function_ok_for_sibcall): Disable sibcall if we need to
7137 generate vzeroupper.
7138 (init_cumulative_args): Add an int to indicate caller. Set
7139 use_avx256_p, callee_return_avx256_p and caller_use_avx256_p
7140 based on return type.
7141 (ix86_function_arg): Set use_avx256_p, callee_pass_avx256_p and
7142 caller_pass_avx256_p based on argument type.
7143 (ix86_expand_epilogue): Emit vzeroupper if 256bit AVX register
7144 is used, but not returned by caller.
7145 (ix86_expand_call): Emit vzeroupper if 256bit AVX register is used.
7146 (ix86_local_alignment): Set use_avx256_p if 256bit AVX register
7147 is used.
7148 (ix86_minimum_alignment): Likewise.
7149 (ix86_expand_special_args_builtin): Set target to
7150 GEN_INT (vzeroupper_intrinsic) for CODE_FOR_avx_vzeroupper.
7151 (ix86_reorg): Run the vzeroupper optimization if needed.
7152
7153 * config/i386/i386.h (ix86_args): Add caller.
7154 (INIT_CUMULATIVE_ARGS): Updated.
7155 (machine_function): Add use_vzeroupper_p, use_avx256_p,
7156 caller_pass_avx256_p, caller_return_avx256_p,
7157 callee_pass_avx256_p and callee_return_avx256_p.
7158
7159 * config/i386/i386.opt (-mvzeroupper): New.
7160
7161 * config/i386/predicates.md (vzeroupper_operation): Removed.
7162
7163 * config/i386/sse.md (avx_vzeroupper): Removed.
7164 (*avx_vzeroupper): Removed.
7165 (avx_vzeroupper): New.
7166
7167 * doc/invoke.texi: Document -mvzeroupper.
7168
7169 2010-10-27 Eric Botcazou <ebotcazou@adacore.com>
7170
7171 * config/i386/t-mingw32 (SHLIB_LC): Add -lmingwthrd.
7172 * config/i386/t-mingw-w32 (SHLIB_LC): Likewise.
7173 * config/i386/t-mingw-w64 (SHLIB_LC): Likewise.
7174
7175 2010-10-27 Eric Botcazou <ebotcazou@adacore.com>
7176 Olivier Hainque <hainque@adacore.com>
7177
7178 * config/i386/w32-unwind.h (i386_w32_fallback_frame_state): Fix regnum
7179 of EBP. Do not restore reg #9. Remove +1 adjustment to EIP and set
7180 fs->signal_frame instead.
7181
7182 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
7183
7184 * c-parser.c (cp_parser_objc_at_property_declaration): Removed
7185 parsing of RID_COPIES and RID_IVAR.
7186
7187 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
7188
7189 * c-parser.c (c_parser_objc_at_property_declaration): Recognize
7190 RID_ASSIGN, RID_COPY, RID_RETAIN, RID_READWRITE and RID_NONATOMIC.
7191 Do not use objc_set_property_attr, but use local variables
7192 instead. Detect repeated usage of setter, getter and ivar
7193 attributes. Improved error processing when a setter name does not
7194 end in ':'. Do not check for CPP_CLOSE_PAREN after we determined
7195 that the token is a keyword. Updated call to
7196 objc_add_property_declaration.
7197
7198 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
7199
7200 * c-parser.c (c_parser_objc_at_property): Renamed to
7201 c_parser_objc_at_property_declaration. Updated calls to
7202 objc_add_property_variable, now objc_add_property_declaration.
7203 Code rewritten to be much more robust in recovering from syntax
7204 errors. Added comments.
7205 (c_parser_objc_property_attrlist): Removed.
7206 (c_parser_external_declaration): Updated calls to
7207 c_parser_objc_at_property, now
7208 c_parser_objc_at_property_declaration.
7209 (c_parser_objc_methodprotolist): Same change.
7210
7211 2010-10-26 H.J. Lu <hongjiu.lu@intel.com>
7212
7213 * config/i386/i386.md (split_stack_return): Put back unspec_volatile.
7214
7215 2010-10-26 Jan Hubicka <jh@suse.cz>
7216
7217 * ipa.c (process_references): Enqueue all referenced nodes;
7218 mark as reachable only non-external nodes.
7219 (cgraph_remove_unreachable_nodes): All referenced nodes should
7220 be enqueued; remove bogues node->needed check.
7221
7222 2010-10-26 Jan Hubicka <jh@suse.cz>
7223
7224 * cgraphbuild.c (build_cgraph_edges): Use ipa-reference
7225 to represent OMP.
7226
7227 2010-10-26 H.J. Lu <hongjiu.lu@intel.com>
7228
7229 * config/i386/i386.md (split_stack_return): Replace
7230 unspec_volatile with unspec.
7231
7232 2010-10-26 Jonathan Wakely <jwakely.gcc@gmail.com>
7233
7234 * doc/install.texi: Fix typo in --with-sysroot description.
7235
7236 2010-10-26 Jan Hubicka <jh@suse.cz>
7237
7238 * ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p):
7239 Use info provided by linker plugin.
7240
7241 2010-10-26 Jason Merrill <jason@redhat.com>
7242
7243 * varasm.c (constructor_static_from_elts_p): Don't require a
7244 CONSTRUCTOR to have elements to be suitable for static
7245 initialization. Allow ARRAY_TYPE as well.
7246
7247 2010-10-26 Jan Hubicka <jh@suse.cz>
7248
7249 PR middle-end/45736
7250 * cgraph.c (cgraph_set_readonly_flag): Rename to...
7251 (cgraph_set_const_flags) ... this one; get also looping argument;
7252 clear constructor/destructor flags.
7253 (cgraph_set_pure_flag): Likewise.
7254 (cgraph_set_looping_const_or_pure_flag): Remove.
7255 (cgraph_can_remove_if_no_direct_calls_and_refs): Do not try
7256 to optimize away static ctors/dtors; it does not work on inline clones;
7257 external functions can always be rmeoved.
7258 (cgraph_will_be_removed_from_program_if_no_direct_calls): Assert on
7259 inline clones; in LTO external functions always can go.
7260 (cgraph_used_from_object_file_p): Handle EXTERNAL functions correctly.
7261 (cgraph_mark_address_taken_node): Assert that we are not taking
7262 address of inline clone.
7263 (cgraph_can_remove_if_no_direct_calls_p): We always eventually remove
7264 external functions.
7265 * ipa-cp.c (ipcp_cloning_candidate_p): Do not clone functions with
7266 address taken.
7267 (ipcp_initialize_node_lattices): Only local functions can be
7268 handled without cloning.
7269 * cgraph.h (cgraph_set_readonly_flag,
7270 cgraph_set_looping_const_or_pure_flag): Remove.
7271 (cgraph_set_const_flag): Declare.
7272 (cgraph_set_pure_flag): Update.
7273 * ipa-pure-const (propagate_pure_const, local_pure_const): Update
7274 flags setting code.
7275 * ipa.c (cgraph_remove_unreachable_nodes): Fix formating; do not
7276 look at inline clones; fix handling of external definitions.
7277 (cgraph_postorder): Do not look at inline clones in the first pass.
7278 (function_and_variable_visibility): Drop constructors/destructor
7279 flags at pure and const functions.
7280 * tree-profile.c (tree_profiling): Update.
7281 * ipa-inline.c (cgraph_clone_inlined_nodes): Always clone functions with
7282 address taken; external functions do not account to whole program size.
7283 (cgraph_decide_inlining): Likewise; do not try to inline
7284 functions already inlined.
7285
7286 2010-10-26 Jie Zhang <jie@codesourcery.com>
7287
7288 * doc/invoke.texi: Improve documentation of
7289 -fstrict-volatile-bitfields.
7290
7291 2010-10-26 Ira Rosen <irar@il.ibm.com>
7292
7293 PR tree-optimization/46167
7294 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check that there
7295 is basic block for the statement.
7296
7297 2010-10-26 Paul Koning <ni1d@arrl.net>
7298
7299 * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Update to
7300 current definition of struct_real_format.
7301
7302 2010-10-26 H.J. Lu <hongjiu.lu@intel.com>
7303
7304 PR target/44948
7305 * config/i386/i386.c (ix86_old_function_arg_boundary): New.
7306 (ix86_function_arg_boundary): Always align parameters on stack
7307 in 64bit and align parameters with alignment >= 16byte on stack
7308 in 32bit. Warn alignment change.
7309
7310 2010-10-26 Ian Lance Taylor <iant@google.com>
7311
7312 PR middle-end/45687
7313 * ipa-prop.c (ipa_modify_call_arguments): Correct type of MEM_REF
7314 offset.
7315
7316 2010-10-25 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
7317
7318 Implement opaque-enum-specifiesr for C++0x
7319 * tree.h (ENUM_IS_OPAQUE): New.
7320 * dwarf2out.c (gen_enumeration_type_die): Use ENUM_IS_OPAQUE.
7321
7322 2010-10-26 Jie Zhang <jie@codesourcery.com>
7323
7324 * stor-layout.c (layout_decl): Use the field's type to
7325 determine the mode and keep DECL_BIT_FIELD for a volatile bit-field.
7326 * config/arm/arm.c (arm_override_options): Default to
7327 -fstrict-volatile-bitfields.
7328
7329 2010-10-25 Paul Koning <ni1d@arrl.net>
7330
7331 * config/pdp11/pdp11.md: Add define_constants for register
7332 numbers, branch offset limits.
7333 * config/pdp11/pdp11.c: Use named constants instead of numbers.
7334 * config/pdp11.pdp11.h: Ditto.
7335
7336 2010-10-25 Eric Botcazou <ebotcazou@adacore.com>
7337
7338 * configure.ac: Use $cpu_type instead of $target to define the nop.
7339 * configure: Regenerate.
7340
7341 2010-10-25 Jie Zhang <jie@codesourcery.com>
7342
7343 * combine.c (try_combine): If insns need to be kept around, check that
7344 they can be copied in the merged instruction.
7345
7346 2010-10-24 Eric Botcazou <ebotcazou@adacore.com>
7347
7348 * reg-stack.c (convert_regs_1): Return boolean value, true if the CFG
7349 has been modified.
7350 (convert_regs_2): Likewise. Adjust calls to convert_regs_1.
7351 (convert_regs): Adjust calls to convert_regs_2. Clean up the CFG if
7352 it has been modified.
7353
7354 2010-10-24 Eric Botcazou <ebotcazou@adacore.com>
7355
7356 * config/sparc/sparc.c (sparc_type_code) <NULLPTR_TYPE>: New case.
7357
7358 2010-10-24 Paul Koning <ni1d@arrl.net>
7359
7360 * config/pdp11/pdp11.md: Change length attribute to be in bytes.
7361 * config/pdp11/pdp11.c (output_jump): Ditto.
7362
7363 2010-10-24 Ian Lance Taylor <iant@google.com>
7364
7365 * config/i386/i386.c (ix86_va_start): Remove extraneous blank line.
7366
7367 2010-10-24 Eric Botcazou <ebotcazou@adacore.com>
7368
7369 * cfglayout.c (fixup_reorder_chain): When ensuring that there is at
7370 least one insn with a locus corresponding to an edge's goto_locus,
7371 disregard non-fallthru edges to the exit block and merge the blocks
7372 created for the same goto_locus.
7373
7374 2010-10-23 Joseph Myers <joseph@codesourcery.com>
7375
7376 * gcc.c (n_switches_alloc_debug_check): New.
7377 (set_option_handlers): New.
7378 (process_command): Use set_option_handlers.
7379 (do_self_spec): Pass spec-generated options through option handlers.
7380 (main): Also save and restore n_switches_alloc when swapping
7381 switch arrays.
7382
7383 2010-10-23 Richard Henderson <rth@redhat.com>
7384
7385 PR target/46144
7386 * config/i386/sse.md (*avx_absneg<AVXMODEF2P>2): New.
7387 (*sse_absneg<SSEMODEF2P>2): Rename from *absneg<VEC_FLOAT_MODE>2.
7388 Honor matching operands when splitting to XOR.
7389
7390 2010-10-23 Ian Lance Taylor <iant@google.com>
7391
7392 * tree-vrp.c (extract_range_from_binary_expr): If
7393 flag_non_call_exceptions don't eliminate division by zero.
7394 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
7395
7396 2010-10-23 Nathan Froyd <froydnj@codesourcery.com>
7397
7398 * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
7399 __BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__, __ORDER_BIG_ENDIAN__, and
7400 __ORDER_PDP_ENDIAN__.
7401 * libgcc2.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7402 (struct DWstruct): Define based on __BYTE_ORDER__.
7403 * config/fixed-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7404 (struct INTstruct): Define based on __BYTE_ORDER__.
7405 * config/dfp-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7406 (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
7407 * system.h (LIBGCC2_WORDS_BIG_ENDIAN): Poison identifier.
7408 * config/arc/arc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7409 * config/arm/arm.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7410 * config/ia64/ia64.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7411 * config/iq2000/iq2000.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7412 * config/lm32/lm32.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7413 * config/m32r/m32r.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7414 * config/mcore/mcore.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7415 * config/mep/mep.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7416 * config/mips/mips.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7417 * config/rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7418 * config/rx/rx.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7419 * config/score/score.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7420 * config/sh/sh.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7421 * config/sparc/sparc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7422 * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7423 * doc/tm.texi.in (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
7424 * doc/tm.texi: Regenerate.
7425 * doc/cpp.texi (__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__): Document.
7426 (__ORDER_BIG_ENDIAN__, __ORDER_PDP_ENDIAN__): Likewise.
7427
7428 2010-10-23 Jie Zhang <jie@codesourcery.com>
7429
7430 PR rtl-optimization/37360
7431 * config/mips/mips.c (cached_can_issue_more): New local variable.
7432 (mips_sched_reorder_1): New.
7433 (mips_sched_reorder): Use mips_sched_reorder_1.
7434 (mips_sched_reorder2): New.
7435 (mips_variable_issue): Set cached_can_issue_more.
7436 (TARGET_SCHED_REORDER2): Define to mips_sched_reorder2
7437 instead of mips_sched_reorder.
7438
7439 Revert:
7440 2008-09-09 Andrey Belevantsev <abel@ispras.ru>
7441 PR rtl-optimization/37360
7442 * haifa-sched.c (max_issue): Do not assert that we never issue more
7443 insns than issue_rate. Add comment.
7444
7445 2010-10-22 Eric Botcazou <ebotcazou@adacore.com>
7446
7447 * gimplify.c (gimplify_variable_sized_compare): Preserve the source
7448 location info of the expression.
7449
7450 2010-10-22 DJ Delorie <dj@redhat.com>
7451
7452 * doc/extend.texi (Named Address Spaces): Document the M32C named
7453 address space.
7454
7455 * config/m32c/m32c-pragma.c (m32c_register_pragmas): Register the
7456 __far address space.
7457 * config/m32c/m32c.h (ADDR_SPACE_FAR): New. Add support for
7458 "__far" address space for R8C and M16C processor variants.
7459 * config/m32c/m32c.c (m32c_addr_space_legitimate_address_p): New.
7460 (far_addr_space_p): New.
7461 (encode_pattern_1): Add sign and zero extend support.
7462 (m32c_hard_regno_nregs_1): Large pointers in A16 mode are SImode.
7463 (m32c_extra_constraint_p2): Add SF constraint.
7464 (m32c_legitimate_address_p): Support __far addresses.
7465 (m32c_addr_space_pointer_mode): New.
7466 (m32c_addr_space_address_mode): New.
7467 (m32c_addr_space_legitimate_address_p): New.
7468 (m32c_addr_space_legitimize_address): New.
7469 (m32c_addr_space_subset_p): New.
7470 (m32c_addr_space_convert): New.
7471 (conversions): Add __far operand patterns.
7472 (m32c_prepare_move): Force constants into registers for __far moves.
7473 (m32c_split_move): __far moves are always split.
7474 * config/m32c/addsub.md (addsi3_1): Support SImode symbols.
7475 * config/m32c/mov.md (mov<mode>_far_op1): New.
7476 (mov<mode>_far_op2): New.
7477 (movqi_op): Add __far (SF) support.
7478 (movhi_op): Likewise.
7479 (movsi_splittable): Split A1A0 also.
7480
7481 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7482 Andrew Pinski <pinskia@gmail.com>
7483
7484 * c-typeck.c (build_array_ref): Handle subscripting of vectors.
7485 * doc/extend.texi: New paragraph
7486
7487 2010-10-22 Paul Koning <ni1d@arrl.net>
7488
7489 * config.pdp11/pdp11.h (DBX_DEBUGGING_INFO): Define.
7490
7491 2010-10-22 DJ Delorie <dj@redhat.com>
7492
7493 * config/m32c/m32c-lib1.S (m32c_jsri16): Make reentrant.
7494
7495 2010-10-22 Paul Koning <ni1d@arrl.net>
7496
7497 * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Define.
7498
7499 2010-10-22 Richard Henderson <rth@redhat.com>
7500
7501 * config/i386/i386.c (ix86_builtin_vectorized_function): Add
7502 cases for __builtin_fma and __builtin_fmaf.
7503
7504 2010-10-22 Richard Henderson <rth@redhat.com>
7505
7506 * config/i386/i386.c (ix86_expand_fp_absneg_operator): Produce
7507 NEG+USE for vectors as well.
7508 * config/i386/i386.md (*absneg<VEC_FLOAT_MODE>2): New pattern
7509 and splitter.
7510
7511 2010-10-22 Joseph Myers <joseph@codesourcery.com>
7512
7513 * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION,
7514 SWITCH_CURTAILS_COMPILATION): Remove.
7515 * doc/tm.texi.in (SWITCH_CURTAILS_COMPILATION): Remove documentation.
7516 * doc/tm.texi: Regenerate.
7517 * system.h (SWITCH_CURTAILS_COMPILATION): Poison.
7518
7519 2010-10-22 Changpeng Fang <changpeng.fang@amd.com>
7520
7521 * config/i386/bdver1.md: New file.
7522 * config/i386/i386.md (include "bdver1.md"): Invoke the
7523 pipeline description for bdver1.
7524 (x86_sahf_1): Add "bdver1_decode" attribute.
7525 (*cmpfp_i_mixed): Likewise.
7526 (*cmpfp_i_sse): Likewise.
7527 (*cmpfp_i_i387): Likewise.
7528 (*cmpfp_iu_mixed): Likewise.
7529 (*cmpfp_iu_sse): Likewise.
7530 (*cmpfp_iu_387): Likewise.
7531 (*swap<mode>,*swap<mode>_1): Likewise.
7532 (fixuns_trunc<mode>hi2): Likewise.
7533 (fix_trunc<mode>si_sse): Likewise.
7534 (x86_fnstcw_1): Likewise.
7535 (x86_fldcw_1): Likewise.
7536 (*floatsi<mode>2_vector_mixed_with_temp): Likewise.
7537 (*floatsi<mode>2_vector_mixed): Likewise.
7538 (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_with_temp): Likewise.
7539 (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Likewise.
7540 (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Likewise.
7541 (*floatsi<mode>2_vector_sse_with_temp): Likewise.
7542 (*floatsi<mode>2_vector_sse): Likewise.
7543 (*float<SSEMODEI24:mode><MODEF:mode>2_sse_with_temp): Likewise.
7544 (*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit): Likewise.
7545 (*float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit): Likewise.
7546 (*mul<mode>3_1): Likewise.
7547 (*mulsi3_1_zext): Likewise.
7548 (*mulhi3_1): Likewise.
7549 (*mulqi3_1): Likewise.
7550 (*<u>mul<mode><dwi>3_1): Likewise.
7551 (*<u>mulqihi3_1): Likewise.
7552 (*<s>muldi3_highpart_1): Likewise.
7553 (*<s>mulsi3_highpart_1): Likewise.
7554 (*<s>mulsi3_highpart_zext): Likewise.
7555 (x86_64_shld): Likewise.
7556 (x86_shld): Likewise.
7557 (x86_64_shrd): Likewise.
7558 (x86_shrd): Likewise.
7559 (sqrtxf2): Likewise.
7560 (sqrt_extend<mode>xf2_i387): Likewise.
7561 (*sqrt<mode>2_sse): Likewise.
7562 * config/i386/sse.md (sse_cvtsi2ss): Add "bdver1_decode" attribute.
7563 (sse_cvtsi2ssq): Likewise.
7564 (sse_cvtss2si): Likewise.
7565 (sse_cvtss2si_2): Likewise.
7566 (sse_cvtss2siq): Likewise.
7567 (sse_cvtss2siq_2): Likewise.
7568 (sse_cvttss2si): Likewise.
7569 (sse_cvttss2siq): Likewise.
7570 (sse2_cvtpi2pd): Likewise.
7571 (sse2_cvttpd2pi): Likewise.
7572 (sse2_cvtsi2sd): Likewise.
7573 (sse2_cvtsi2sdq): Likewise.
7574 (sse2_cvtsd2si): Likewise.
7575 (sse2_cvtsd2si_2): Likewise.
7576 (sse2_cvtsd2siq): Likewise.
7577 (sse2_cvtsd2siq_2): Likewise.
7578 (sse2_cvttsd2si): Likewise.
7579 (sse2_cvttsd2siq): Likewise.
7580 (*sse2_cvtpd2dq): Likewise.
7581 (*sse2_cvttpd2dq): Likewise.
7582 (sse2_cvtsd2ss): Likewise.
7583 (sse2_cvtss2sd): Likewise.
7584 (*sse2_cvtpd2ps): Likewise.
7585 (sse2_cvtps2pd): Likewise.
7586
7587 2010-10-22 Richard Guenther <rguenther@suse.de>
7588
7589 PR middle-end/46137
7590 * gimple-fold.c (gimplify_and_update_call_from_tree): Properly
7591 remove the virtual operands if they are not needed.
7592
7593 2010-10-22 Changpeng Fang <changpeng.fang@amd.com>
7594
7595 * config/i386/i386.c (processor_costs bdver1_cost): Update
7596 insn costs and architectural parameters for bdver1.
7597
7598 2010-10-22 Richard Guenther <rguenther@suse.de>
7599
7600 * gimple.h (gimple_register_canonical_type): Declare.
7601 * gimple.c (gimple_canonical_types): New global hashtable.
7602 (struct gimple_type_leader_entry_s): New type.
7603 (gimple_type_leader): New global cache.
7604 (gimple_lookup_type_leader): New function.
7605 (gtc_visit): Query the proper cache.
7606 (gimple_types_compatible_p): Likewise.
7607 (gimple_register_type): Use the new cache instead of TYPE_CANONICAL.
7608 (gimple_canonical_type_eq): New function.
7609 (gimple_register_canonical_type): Likewise.
7610 (print_gimple_types_stats): Adjust for gimple_canonical_types.
7611 (free_gimple_type_tables): Likewise. Free gimple_type_leader.
7612 * tree-ssa.c (useless_type_conversion_p): Do not dispatch to
7613 gimple_types_compatible_p for LTO.
7614
7615 2010-10-22 Uros Bizjak <ubizjak@gmail.com>
7616
7617 PR target/46098
7618 * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
7619 Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
7620 (avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
7621 (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
7622 (<sse>_movu<ssemodesuffix>): New expander.
7623 (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
7624 (avx_movdqu<avxmodesuffix>): New expander.
7625 (*sse2_movdqu): Rename from sse2_movdqu.
7626 (sse2_movdqu): New expander.
7627
7628 2010-10-22 Richard Guenther <rguenther@suse.de>
7629
7630 PR tree-optimization/45720
7631 * tree-vect-data-refs.c (vect_update_misalignment_for_peel):
7632 Handle negative step.
7633 (vect_enhance_data_refs_alignment): Likewise.
7634 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Likewise.
7635 (vect_create_cond_for_align_checks): Likewise.
7636 (vect_create_cond_for_alias_checks): Likewise.
7637
7638 2010-10-22 Ira Rosen <irar@il.ibm.com>
7639
7640 PR tree-optimization/46126
7641 * tree-vect-stmts.c (vect_analyze_stmt): Pass NODE to
7642 vectorizable_shift in case of basic block vectorization.
7643
7644 2010-10-22 Joseph Myers <joseph@codesourcery.com>
7645
7646 * target.h (enum opt_levels, struct default_options): New.
7647 * target.def (handle_ofast): Remove hook.
7648 (target_option.optimization): Change to
7649 target_option.optimization_table.
7650 * doc/tm.texi.in (TARGET_OPTION_OPTIMIZATION): Change to
7651 TARGET_OPTION_OPTIMIZATION_TABLE.
7652 (CAN_DEBUG_WITHOUT_FP): Remove.
7653 * doc/tm.texi: Regenerate.
7654 * opts.c (maybe_default_option, maybe_default_options,
7655 default_options_table): New.
7656 (default_options_optimization): Take extra parameters. Don't
7657 assert that global_options and global_options_set are in use. Use
7658 maybe_default_options.
7659 (decode_options): Pass extra parameters to
7660 default_options_optimization.
7661 * common.opt (falign-loops): Use value 0 with Var.
7662 (frerun-cse-after-loop, ftree-ter): Remove Init.
7663 * system.h (CAN_DEBUG_WITHOUT_FP, TARGET_HANDLE_OFAST,
7664 TARGET_OPTION_OPTIMIZATION): Remove.
7665 * targhooks.c (empty_optimization_table): New.
7666 * targhooks.h (empty_optimization_table): Declare.
7667 * toplev.c (process_options): Don't set flag_rerun_cse_after_loop.
7668 * config/alpha/alpha.c (alpha_option_optimization_table,
7669 TARGET_OPTION_OPTIMIZATION_TABLE): New.
7670 * config/alpha/alpha.h (CAN_DEBUG_WITHOUT_FP): Remove.
7671 * config/arm/arm.c (arm_option_optimization: Change to
7672 arm_option_optimization_table.
7673 (TARGET_OPTION_OPTIMIZATION): Change to
7674 TARGET_OPTION_OPTIMIZATION_TABLE.
7675 * config/arm/arm.h (CAN_DEBUG_WITHOUT_FP): Remove.
7676 * config/avr/avr.c (avr_option_optimization_table,
7677 TARGET_OPTION_OPTIMIZATION_TABLE): New.
7678 * config/avr/avr.h (CAN_DEBUG_WITHOUT_FP): Remove.
7679 * config/cris/cris.c (cris_option_optimization): Change to
7680 cris_option_optimization_table.
7681 (TARGET_OPTION_OPTIMIZATION): Change to
7682 TARGET_OPTION_OPTIMIZATION_TABLE.
7683 * config/crx/crx.c (crx_option_optimization): Change to
7684 crx_option_optimization_table.
7685 (TARGET_OPTION_OPTIMIZATION): Change to
7686 TARGET_OPTION_OPTIMIZATION_TABLE.
7687 * config/crx/crx.h (CAN_DEBUG_WITHOUT_FP): Remove.
7688 * config/fr30/fr30.c (fr30_option_optimization_table,
7689 TARGET_OPTION_OPTIMIZATION_TABLE): New.
7690 * config/fr30/fr30.h (CAN_DEBUG_WITHOUT_FP): Remove.
7691 * config/frv/frv.c (frv_option_optimization_table,
7692 TARGET_OPTION_OPTIMIZATION_TABLE): New.
7693 * config/frv/frv.h (CAN_DEBUG_WITHOUT_FP): Remove.
7694 * config/h8300/h8300.c (h8300_option_optimization): Change to
7695 h8300_option_optimization_table.
7696 (TARGET_OPTION_OPTIMIZATION): Change to
7697 TARGET_OPTION_OPTIMIZATION_TABLE.
7698 * config/h8300/h8300.h (CAN_DEBUG_WITHOUT_FP): Remove.
7699 * config/i386/i386.c (ix86_option_optimization): Change to
7700 ix86_option_optimization_table.
7701 (TARGET_OPTION_OPTIMIZATION): Change to
7702 TARGET_OPTION_OPTIMIZATION_TABLE.
7703 * config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define
7704 as initializer.
7705 * config/ia64/ia64.c (ia64_option_optimization): Change to
7706 ia64_option_optimization_table.
7707 (TARGET_OPTION_OPTIMIZATION): Change to
7708 TARGET_OPTION_OPTIMIZATION_TABLE.
7709 * config/ia64/ia64.h (CAN_DEBUG_WITHOUT_FP): Remove.
7710 * config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define as
7711 initializer.
7712 * config/iq2000/iq2000.c (iq2000_option_optimization_table,
7713 TARGET_OPTION_OPTIMIZATION_TABLE): New.
7714 * config/iq2000/iq2000.h (CAN_DEBUG_WITHOUT_FP): Remove.
7715 * config/lm32/lm32.c (lm32_option_optimization_table,
7716 TARGET_OPTION_OPTIMIZATION_TABLE): New.
7717 * config/lm32/lm32.h (CAN_DEBUG_WITHOUT_FP): Remove.
7718 * config/m32r/m32r.c (m32r_option_optimization): Change to
7719 m32r_option_optimization_table.
7720 (TARGET_OPTION_OPTIMIZATION): Change to
7721 TARGET_OPTION_OPTIMIZATION_TABLE.
7722 * config/m32r/m32r.h (SUBTARGET_OPTIMIZATION_OPTIONS,
7723 CAN_DEBUG_WITHOUT_FP): Remove.
7724 * config/mcore/mcore.c (mcore_option_optimization): Change to
7725 mcore_option_optimization_table.
7726 (TARGET_OPTION_OPTIMIZATION): Change to
7727 TARGET_OPTION_OPTIMIZATION_TABLE.
7728 * config/mep/mep.c (mep_option_optimization): Change to
7729 mep_option_optimization_table.
7730 (TARGET_OPTION_OPTIMIZATION): Change to
7731 TARGET_OPTION_OPTIMIZATION_TABLE.
7732 * config/mep/mep.h (CAN_DEBUG_WITHOUT_FP): Remove.
7733 * config/microblaze/microblaze.c
7734 (microblaze_option_optimization_table,
7735 TARGET_OPTION_OPTIMIZATION_TABLE): New.
7736 * config/microblaze/microblaze.h (CAN_DEBUG_WITHOUT_FP): Remove.
7737 * config/mips/mips.c (mips_option_optimization_table,
7738 TARGET_OPTION_OPTIMIZATION_TABLE): New.
7739 * config/mips/mips.h (CAN_DEBUG_WITHOUT_FP): Remove.
7740 * config/mmix/mmix.c (mmix_option_optimization): Change to
7741 mmix_option_optimization_table.
7742 (TARGET_OPTION_OPTIMIZATION): Change to
7743 TARGET_OPTION_OPTIMIZATION_TABLE.
7744 * config/mmix/mmix.h (CAN_DEBUG_WITHOUT_FP): Remove.
7745 * config/mn10300/mn10300.c (mn10300_option_optimization_table,
7746 TARGET_OPTION_OPTIMIZATION_TABLE): New.
7747 * config/mn10300/mn10300.h (CAN_DEBUG_WITHOUT_FP): Remove.
7748 * config/pa/pa.c (pa_option_optimization_table,
7749 TARGET_OPTION_OPTIMIZATION_TABLE): New.
7750 * config/pa/pa.h (CAN_DEBUG_WITHOUT_FP): Remove.
7751 * config/pdp11/pdp11.c (pdp11_option_optimization): Change to
7752 pdp11_option_optimization_table.
7753 (TARGET_OPTION_OPTIMIZATION): Change to
7754 TARGET_OPTION_OPTIMIZATION_TABLE.
7755 * config/picochip/picochip.c (picochip_option_optimization_table,
7756 TARGET_OPTION_OPTIMIZATION_TABLE): New.
7757 * config/picochip/picochip.h (CAN_DEBUG_WITHOUT_FP): Remove.
7758 * config/rs6000/rs6000.c (rs6000_option_optimization_table,
7759 TARGET_OPTION_OPTIMIZATION_TABLE): New.
7760 * config/rs6000/rs6000.h (CAN_DEBUG_WITHOUT_FP): Remove.
7761 * config/rx/rx.c (rx_option_optimization_table,
7762 TARGET_OPTION_OPTIMIZATION_TABLE): New.
7763 * config/rx/rx.h (CAN_DEBUG_WITHOUT_FP): Remove.
7764 * config/s390/s390.c (s390_option_optimization): Change to
7765 s390_option_optimization_table.
7766 (s390_option_override): Update comment.
7767 (TARGET_OPTION_OPTIMIZATION): Change to
7768 TARGET_OPTION_OPTIMIZATION_TABLE.
7769 * config/s390/s390.h (CAN_DEBUG_WITHOUT_FP): Remove.
7770 * config/score/score.c (score_option_optimization_table,
7771 TARGET_OPTION_OPTIMIZATION_TABLE): New.
7772 * config/score/score.h (CAN_DEBUG_WITHOUT_FP): Remove.
7773 * config/sh/sh.c (sh_option_optimization): Change to
7774 sh_option_optimization_table.
7775 (TARGET_OPTION_OPTIMIZATION): Change to
7776 TARGET_OPTION_OPTIMIZATION_TABLE.
7777 (sh_option_override): Set MASK_SAVE_ALL_TARGET_REGS here.
7778 (sh_option_override, expand_block_move, multcosts, find_barrier,
7779 barrier_align): Use optimize_size instead of TARGET_SMALLCODE.
7780 * config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Remove.
7781 (LOOP_ALIGN, TRAMPOLINE_ALIGNMENT, MOVE_BY_PIECES_P,
7782 STORE_BY_PIECES_P, SH_DYNAMIC_SHIFT_COST): Use optimize_size
7783 instead of TARGET_SMALLCODE.
7784 * config/sh/sh.opt (mspace): Make into an alias for -Os.
7785 * config/sparc/sparc.c (sparc_option_optimization_table,
7786 TARGET_OPTION_OPTIMIZATION_TABLE): New.
7787 * config/sparc/sparc.h (CAN_DEBUG_WITHOUT_FP): Remove.
7788 * config/stormy16/stormy16.c (xstorym16_option_optimization_table,
7789 TARGET_OPTION_OPTIMIZATION_TABLE): New.
7790 * config/stormy16/stormy16.h (CAN_DEBUG_WITHOUT_FP): Remove.
7791 * config/v850/v850.c (v850_option_optimization): Change to
7792 v850_option_optimization_table.
7793 (TARGET_OPTION_OPTIMIZATION): Change to
7794 TARGET_OPTION_OPTIMIZATION_TABLE.
7795 * config/v850/v850.h (CAN_DEBUG_WITHOUT_FP): Remove.
7796 * config/xtensa/xtensa.c (xtensa_option_optimization): Change to
7797 xtensa_option_optimization_table.
7798 (TARGET_OPTION_OPTIMIZATION): Change to
7799 TARGET_OPTION_OPTIMIZATION_TABLE.
7800 * config/xtensa/xtensa.h (CAN_DEBUG_WITHOUT_FP): Remove.
7801
7802 2010-10-21 Iain Sandoe <iains@gcc.gnu.org>
7803
7804 Based on the CFString implementation in FSF apple/trunk branch.
7805
7806 * target.def (objc_construct_string): New Hook.
7807 * doc/tm.texi (objc_construct_string): Document.
7808 * doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING): New.
7809 * config/t-darwin: Amend build rules for darwin.o.
7810 * config/darwin.opt: Add cfstrings flags.
7811 * config/darwin-c.c: Define __CONSTANT_CFSTRINGS__.
7812 (darwin_objc_construct_string): New.
7813 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Define.
7814 * config/i386/i386.c (ix86_init_builtins): Add SUBTARGET_INIT_BUILTINS.
7815 * config/darwin-protos.h (darwin_init_cfstring_builtins): New prototype.
7816 (darwin_fold_builtin): Likewise.
7817 (darwin_build_constant_cfstring): Likewise.
7818 (darwin_objc_construct_string): Likewise.
7819 (darwin_cfstring_p): Likewise.
7820 (darwin_enter_string_into_cfstring_table): Likewise.
7821 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS) Update for CFString.
7822 * config/darwin.c (darwin_running_cxx): New var.
7823 (machopic_select_section): Return cfstring_constant_object_section.
7824 (darwin_override_options): Set darwin_running_cxx.
7825 (add_builtin_field_decl): New.
7826 (darwin_init_cfstring_builtins): New.
7827 (darwin_build_constant_cfstring): New.
7828 (darwin_fold_builtin): New.
7829 (cfstring_hash): New.
7830 (cfstring_eq): New.
7831 (darwin_enter_string_into_cfstring_table): New.
7832 * config/darwin-sections.def (cfstring_constant_object_section): New.
7833 * config/darwin.h (TARGET_FOLD_BUILTIN): Define.
7834 (TARGET_OBJC_CONSTRUCT_STRING): Define.
7835
7836 2010-10-21 Nathan Froyd <froydnj@codesourcery.com>
7837
7838 * config/alpha/alpha.c (alpha_build_builtin_va_list): Use
7839 TYPE_STUB_DECL instead of TREE_CHAIN.
7840 * config/i386/i386.c (ix86_build_builtin_va_list_abi): Likewise.
7841 * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Likewise.
7842 * config/s390/s390.c (s390_build_builtin_va_list): Likewise.
7843 * config/sh/sh.c (sh_build_builtin_va_list): Likewise.
7844 * config/spu/spu.c (spu_build_builtin_va_list): Likewise.
7845 * config/stormy16/stormy16.c (xstormy16_build_builtin_va_list):
7846 Likewise.
7847 * config/xtensa/xtensa.c (xtensa_build_builtin_va_list): Likewise.
7848
7849 2010-10-22 Jie Zhang <jie@codesourcery.com>
7850
7851 * expr.c (emit_group_load_1): Update calls to extract_bit_field.
7852 (copy_blkmode_from_reg): Likewise.
7853 (read_complex_part): Likewise.
7854 (expand_expr_real_1): Calculate packedp and pass it to
7855 extract_bit_field.
7856 * expr.h (extract_bit_field): Update declaration.
7857 * calls.c (store_unaligned_arguments_into_pseudos): Update call
7858 to extract_bit_field.
7859 * expmed.c (extract_fixed_bit_field): Update calls to
7860 extract_fixed_bit_field.
7861 (store_split_bit_field): Likewise.
7862 (extract_bit_field_1): Add new argument packedp.
7863 (extract_bit_field): Add new argument packedp.
7864 (extract_fixed_bit_field): Add new argument packedp and let
7865 packed attribute override volatile.
7866 * stmt.c (expand_return): Update call to extract_bit_field.
7867
7868 2010-10-21 Nathan Froyd <froydnj@codesourcery.com>
7869
7870 * config/spu/spu.c (spu_function_arg): Dereference CUM parameter.
7871
7872 2010-10-21 Nathan Froyd <froydnj@codesourcery.com>
7873
7874 * ddg.c (add_cross_iteration_register_deps): Call gcc_assert instead
7875 of gcc_checking_assert.
7876 * sel-sched.c (code_motion_process_successors): Likewise.
7877
7878 2010-10-21 Eric Botcazou <ebotcazou@adacore.com>
7879
7880 * cfgcleanup.c (try_forward_edges): Do not throw away previous steps
7881 when stopping because of a different locus on edge or insn.
7882 (try_optimize_cfg): Add comment.
7883 * cfgrtl.c (rtl_merge_blocks): Tweak log message. If the destination
7884 block is a forwarder block, propagate locus on the edge.
7885 (cfg_layout_merge_blocks): Likewise.
7886
7887 2010-10-21 Uros Bizjak <ubizjak@gmail.com>
7888
7889 PR target/45946
7890 * config/i386/i386.md (*pushti2): New insn pattern.
7891 (pushti2 splitter): New insn splitter.
7892 (*push<mode>2): Macroize insn pattern from *push{di,ti}2 using
7893 DWI mode iterator.
7894
7895 2010-10-21 Paul Koning <ni1d@arrl.net>
7896
7897 * config/pdp11/pdp11-protos.md (arith_operand,
7898 const_immediate_operand, expand_shift_operand,
7899 immediate15_operand): Delete
7900 * config/pdp11/pdp11.c: Ditto.
7901 * config/pdp11/pdp11.h (REG_CLASS_FROM_LETTER,
7902 CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P,
7903 EXTRA_CONSTRAINT): Delete.
7904 * config/pdp11/pdp11.md (various): Use standard constraints
7905 instead of removed ones.
7906 * config/pdp11/constraints.md: New file.
7907 * config/pdp11/predicates.md: New file.
7908
7909 2010-10-21 Bingfeng Mei <bmei@broadcom.com>
7910
7911 PR c/45834
7912 * alias.c (true_dependence_1): Remove obsolete check for QImode.
7913 (may_alias_p): Ditto.
7914
7915 2010-10-21 Martin Jambor <mjambor@suse.cz>
7916
7917 PR tree-optimization/45875
7918 * tree.c (get_binfo_at_offset): Remove initial zero offset test.
7919
7920 2010-10-21 Nathan Froyd <froydnj@codesourcery.com>
7921
7922 * tree-into-ssa.c (rewrite_update_enter_block): Remove unused
7923 variables.
7924 (create_new_def_for): Likewise.
7925
7926 2010-10-21 Nick Clifton <nickc@redhat.com>
7927
7928 * config/mn10300/mn10300.c: Fold code to 80-character width.
7929 Replace GET_CODE (foo) == REG with REG_P (foo). Likewise for
7930 MEM, CONST_INT and CONST_DOUBLE.
7931 (targetm): Move initialization to end of file.
7932 (print_operand): Rename to mn10300_print_operand.
7933 (print_operand_address): Rename to mn10300_print_operand_address.
7934 (can_use_return_insn): Rename to mn10300_can_use_return_insn.
7935 (expand_prologue): Rename to mn10300_expand_prologue.
7936 (expand_epilogue): Rename to mn10300_expand_epilogue.
7937 (initial_offset): Rename to mn10300_initial_offset.
7938 (function_arg): Rename to mn10300_function_arg.
7939 (mask_ok_for_mem_btst): Rename to mn10300_mask_ok_for_mem_btst.
7940 (symbolic_operand): Rename to mn10300_symbolic_operand.
7941 (legitimize_pic_address): Rename to mn10300_legitimize_pic_address.
7942 (legitimate_pic_operand_p): Rename to mn10300_legitimate_pic_operand_p.
7943 * config/mn10300/mn10300-protos.h: Update prototypes.
7944 * config/mn10300/mn10300.h: Fold code to 80-character width.
7945 Replace GET_CODE (foo) == REG with REG_P (foo). Likewise for
7946 MEM, CONST_INT and CONST_DOUBLE.
7947 (CPP_SPEC): Move to...
7948 (TARGET_CPU_CPP_BUILTINS): ... here.
7949 * config/mn10300/mn10300.md: Fold code to 80-character width.
7950 Replace GET_CODE (foo) == REG with REG_P (foo). Likewise for
7951 MEM, CONST_INT and CONST_DOUBLE.
7952
7953 2010-10-21 Ira Rosen <irar@il.ibm.com>
7954
7955 PR tree-optimization/46049
7956 PR tree-optimization/46052
7957 * tree-vectorizer.h (enum stmt_vec_info_type): Add new value for shift.
7958 (vect_get_slp_defs): Add arguments.
7959 * tree-vect-loop.c (vect_create_epilog_for_reduction): Pass scalar
7960 operands to vect_get_slp_defs.
7961 (vectorizable_reduction): Fix comment, pass scalar operands to
7962 vect_get_slp_defs.
7963 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use operand's
7964 type to determine number of units in the created vector.
7965 (vect_get_vec_defs): Pass scalar operands to vect_get_slp_defs.
7966 (vectorizable_conversion): Fix comment.
7967 (vectorizable_shift): New function.
7968 (vectorizable_operation): Move code that handles shifts to
7969 vectorizable_shift.
7970 (vectorizable_type_demotion): Fix comment, pass scalar operands to
7971 vect_get_slp_defs.
7972 (vectorizable_type_promotion, vectorizable_store): Likewise.
7973 (vectorizable_condition): Fix comment.
7974 (vect_analyze_stmt): Call vectorizable_shift.
7975 (vect_transform_stmt): Likewise.
7976 * tree-vect-slp.c (vect_get_constant_vectors): Add new argument.
7977 Use it as the operand to create vectors for, except reduction
7978 initial definition and store. Use operands type.
7979 (vect_get_slp_defs): Add new arguments. Pass them to
7980 vect_get_constant_vectors.
7981
7982 2010-10-21 Nathan Froyd <froydnj@codesourcery.com>
7983
7984 * basic-block.h (single_succ_edge): Use gcc_checking_assert.
7985 (single_pred_edge, ei_container, ei_next, ei_prev): Likewise.
7986 * cfghooks.c (fixup_reorder_chain): Likewise.
7987 * cfgrtl.c (cfg_layout_merge_blocks): Likewise.
7988 * cgraph.c (cgraph_add_thunk): Likewise.
7989 (cgraph_create_edge_1): Likewise.
7990 (cgraph_create_virtual_clone): Likewise.
7991 * ddg.c (add_cross_iteration_register_deps): Likewise.
7992 * dwarf2out.c (modified_type_die): Likewise.
7993 * emit-rtl.c (set_mem_alias_set): Likewise.
7994 * ggc-zone.c (zone_allocate_marks): Likewise.
7995 * gimple-iterator.c (gsi_move_to_bb_end): Likewise.
7996 * gimple.c (iterative_hash_gimple_type): Likewise.
7997 * graphite-scop-detection.c (create_single_entry_edge): Likewise.
7998 (create_single_exit_edge): Likewise.
7999 * haifa-sched.c (choose_ready): Likewise.
8000 * lto-streamer-in.c (input_gimple_stmt): Likewise.
8001 * passes.c (execute_todo): Likewise.
8002 * sched-ebb.c (begin_schedule_ready): Likewise.
8003 * sel-sched.c (code_motion_process_successors): Likewise.
8004 * tree-call-cdce.c (gen_conditions_for_pow): Likewise.
8005 * tree-cfg-cleanup.c (tree_forwarder_block_p): Likewise.
8006 * tree-flow-inline.h (link_imm_use, move_use_after_head): Likewise.
8007 (phi_arg_index_from_use, phi_ssa_name_p): Likewise.
8008 * tree-into-ssa.c (insert_updated_phi_nodes_for): Likewise.
8009 * tree-ssa-coalesce.c (ssa_conflicts_test_p): Likewise.
8010 (ssa_conflicts_add): Likewise.
8011 * tree-ssa-copy.c (replace_exp): Likewise.
8012 * tree-ssa-dom.c (eliminate_redundant_computations): Likewise.
8013 * tree-ssa-forwprop.c (simple_gimple_switch): Likewise.
8014 * tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
8015 * tree-ssa-pre.c (bitmap_value_insert_into_set): Likewise.
8016 (compute_antic): Likewise.
8017 * tree-ssa-ter.c (add_to_partition_kill_list): Likewise.
8018 (add_dependence): Likewise.
8019 (process_replaceable, kill_expr, find_replaceable_exprs): Likewise.
8020 * tree-vrp.c (supports_overflow_infinity): Likewise.
8021 (make_overflow_infinity, negative_overflow_infinity): Likewise.
8022 (avoid_overflow_infinity, register_new_assert_for): Likewise.
8023 (process_assert_insertions_for): Likewise.
8024 * var-tracking.c (dv_is_value_p, dv_as_decl, dv_from_decl): Likewise.
8025 (dv_from_value, variable_union, find_loc_in_1pdv): Likewise.
8026 (intersect_loc_chains, variable_merge_over_cur): Likewise.
8027
8028 2010-10-21 Nathan Froyd <froydnj@codesourcery.com>
8029
8030 * cfgloop.c (flow_loops_find): Call bb_has_abnormal_pred.
8031 * reload1.c (has_nonexceptional_receiver): Likewise.
8032 * tree-into-ssa.c (rewrite_update_enter_block): Likewise.
8033 (create_new_def_for): Likewise.
8034 * tree-cfgcleanup.c (remove_forwarder_block): Likewise.
8035 (merge_phi_nodes): Likewise.
8036 (has_abnormal_incoming_edge_p): Delete.
8037
8038 2010-10-21 H.J. Lu <hongjiu.lu@intel.com>
8039
8040 * config/i386/sse.md (ssescalarmodesuffix): Add V8SI and V4DI.
8041
8042 2010-10-21 Richard Guenther <rguenther@suse.de>
8043 Michael Matz <matz@suse.de>
8044
8045 PR tree-optimization/45764
8046 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
8047 Adjust initial misalignment for negative DR_STEP.
8048 (vect_find_same_alignment_drs): Two DRs with different DR_STEP
8049 do not have the same alignment over the whole iteration domain.
8050
8051 2010-10-21 Richard Guenther <rguenther@suse.de>
8052
8053 PR tree-optimization/46111
8054 * tree-parloops.c (take_address_of): Re-organize for MEM_REF.
8055
8056 2010-10-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8057
8058 * config/s390/s390.md (*xordi3_cc): Mark xgrk as z196 only.
8059
8060 2010-10-21 Tristan Gingold <gingold@adacore.com>
8061
8062 * config/vms/vms-crtl.h (CRTL_NAMES): Add new translations.
8063 * config/vms/vms-crtl-64.h (CRTL_NAMES): Ditto.
8064
8065 2010-10-21 Tristan Gingold <gingold@adacore.com>
8066
8067 * config/alpha/vms-unwind.h (alpha_vms_fallback_frame_state): Set
8068 signal_frame.
8069 * config/alpha/alpha.c (alpha_function_arg): Adjust call.
8070
8071 2010-10-21 Tristan Gingold <gingold@adacore.com>
8072
8073 * config/ia64/vms64.h (TARGET_DEFAULT): Add MASK_FUSED_MADD.
8074 * config/ia64/vms.h (TARGET_DEFAULT): Ditto.
8075
8076 2010-10-20 Nathan Froyd <froydnj@codesourcery.com>
8077
8078 * basic-block.h (find_fallthru_edge): Define.
8079 * cfgcleanup.c (merge_blocks_move): Use it.
8080 (try_crossjump_bb): Likewise.
8081 * cfglayout.c (fixup_reorder_chains): Likewise.
8082 (fixup_fallthru_exit_predecessor): Likewise.
8083 * cfgrtl.c (rtl_split_edge): Likewise.
8084 (rtl_verify_flow_info): Likewise.
8085 * function.c (thread_prologue_and_epilogue_insns): Likewise.
8086 * gimple-pretty-print.c (dump_implicit_edges): Likewise.
8087 * ifcvt.c (block_fallthru): Likewise.
8088 * reload1.c (fixup_abnormal_edges): Likewise.
8089 * sched-ebb.c (being_schedule_ready): Likewise.
8090 (schedule_ebb): Likwise.
8091 * sched-rgn.c (find_single_block_region): Likewise.
8092 * sel-sched-ir.c (bb_ends_ebb_p): Likewise.
8093 * tree-complex.c (expand_complex_move): Likewise.
8094 * sched-int.h (find_fallthru_edge): Rename to...
8095 (find_fallthru_edge_from): ...this.
8096 * haifa-sched.c (find_fallthru_edge): Rename to...
8097 (find_fallthru_edge_from): ...this. Use new find_fallthru_edge.
8098 (init_before_recovery): Call find_fallthru_edge_from.
8099 * sel-sched-ir.c (merge_fences): Likewise.
8100 * sel-sched.c (in_fallthru_bb_p): Likewise.
8101 (move_cond_jump): Likewise.
8102
8103 2010-10-20 Paul Koning <ni1d@arrl.net>
8104
8105 * config/pdp11/pdp11.md (various): Fix conditions on a number of
8106 insn to check for target 11/40 or higher.
8107
8108 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
8109
8110 * parser.c (c_parser_objc_method_type): Mark inline. Return a
8111 bool instead of a tree.
8112 (c_parser_objc_method_decl): Added bool argument. Updated call to
8113 objc_build_method_signature.
8114 (c_parser_objc_method_definition): Do not call
8115 objc_set_method_type. Updated calls to c_parser_objc_method_type,
8116 c_parser_objc_method_decl and objc_start_method_definition.
8117 (c_parser_objc_methodproto): Do not call objc_set_method_type.
8118 Updated calls to c_parser_objc_method_type,
8119 c_parser_objc_method_decl and objc_add_method_declaration.
8120
8121 2010-10-20 Jakub Jelinek <jakub@redhat.com>
8122
8123 PR tree-optimization/45919
8124 * tree-ssa-ccp.c (fold_nonarray_ctor_reference): Handle flexible
8125 array members.
8126
8127 PR tree-optimization/46066
8128 * tree-parloops.c (create_parallel_loop): Use gsi_last_nondebug_bb
8129 instead of gsi_last_bb.
8130
8131 2010-10-20 DJ Delorie <dj@redhat.com>
8132
8133 * config/m32c/m32c.c (m32c_option_override): Always disable
8134 function-cse in 16-bit mode. Indirect calls are always worse than
8135 direct calls as there is no 16-bit indirect call opcode.
8136 (m32c_override_options_after_change): New, likewise.
8137
8138 2010-10-20 Nathan Froyd <froydnj@codesourcery.com>
8139
8140 * ifcvt.c (noce_emit_cmove): If both of the values are SUBREGs, try
8141 emitting the conditional move in the inner mode of the SUBREG.
8142
8143 2010-10-20 Anatoly Sokolov <aesok@post.ru>
8144
8145 * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Remove macros.
8146 * config/ia64/ia64-protos.h (ia64_preferred_reload_class): Remove.
8147 * config/ia64/ia64.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
8148 (ia64_preferred_reload_class): Make static. Change rclass argument
8149 and result types from enum reg_class to reg_class_t.
8150
8151 2010-10-20 Pat Haugen <pthaugen@us.ibm.com>
8152
8153 * tree-ssa-ter.c (find_replaceable_in_bb): Allow replacement over
8154 call for single operand expression.
8155
8156 2010-10-20 Eric Botcazou <ebotcazou@adacore.com>
8157
8158 * tree-optimize.c (execute_fixup_cfg): Purge dead abnormal call edges
8159 if there is a call statement to pure or const function in the block.
8160
8161 2010-10-20 Paul Koning <pkoning@equallogic.com>
8162
8163 Fix several build errors for pdp11 target.
8164 * config/pdp11/pdp11.md (*cmpdf): Fix tstd operands.
8165 (cbranchdf4): Conditional on TARGET_FPU.
8166 (movdf): Ditto; correct alternatives check.
8167 (movmemhi): Fix predicate and constraint.
8168 * config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Handle 64 bit mode.
8169
8170 2010-10-20 Richard Guenther <rguenther@suse.de>
8171
8172 PR lto/45667
8173 * lto-streamer-out.c (output_gimple_stmt): Fix typo.
8174 * tree-cfg.c (verify_gimple_call): Properly get the call fndecl.
8175 (verify_gimple_assign_single): Disable ADDR_EXPR type check
8176 when in LTO.
8177
8178 2010-10-20 Vladimir Makarov <vmakarov@redhat.com>
8179
8180 PR fortran/42169
8181 * ira-emit.c (store_can_be_removed_p): Return false instead of
8182 gcc_unreachable.
8183
8184 2010-10-20 Dmitry Melnik <dm@ispras.ru>
8185
8186 * fold-const.c (fold_binary_loc): New transformation.
8187
8188 2010-10-20 H.J. Lu <hongjiu.lu@intel.com>
8189
8190 PR target/46085
8191 * config/i386/sse.md (reduc_splus_v8sf): Updated.
8192 (reduc_splus_v4df): Likewise.
8193
8194 2010-10-20 Richard Guenther <rguenther@suse.de>
8195
8196 PR tree-optimization/45860
8197 * tree-ssa-phiopt.c (cond_store_replacement): Do not do
8198 conditional store replacement for non-register type stores.
8199
8200 2010-10-20 Eric Botcazou <ebotcazou@adacore.com>
8201
8202 * stor-layout.c (skip_simple_constant_arithmetic): New function.
8203 (self_referential_size): Use it instead of skip_simple_arithmetic.
8204
8205 2010-10-20 Olivier Hainque <hainque@adacore.com>
8206
8207 * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p):
8208 If the current function calls eh_return, claim live all registers
8209 that we need to check for liveness otherwise.
8210
8211 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
8212
8213 * c-decl.c (c_write_global_declarations): Call
8214 objc_write_global_declarations when compiling Objective-C.
8215 * c-lang.c (finish_file): Removed.
8216
8217 2010-10-19 DJ Delorie <dj@redhat.com>
8218
8219 * doc/tm.texi.in (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): New.
8220 (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Change to hook.
8221 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Likewise.
8222 (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Likewise.
8223 * doc/tm.texi: Regenerate.
8224 * targhooks.h (default_label_align_after_barrier_max_skip,
8225 default_loop_align_max_skip, default_label_align_max_skip,
8226 default_jump_align_max_skip): Declare.
8227 * target.def (label_align_after_barrier_max_skip): New.
8228 (loop_align_max_skip): New.
8229 (label_align_max_skip): New.
8230 (jump_align_max_skip): New.
8231 * system.h (poison): Add those macros to the list.
8232 * final.c (LABEL_ALIGN_MAX_SKIP): Remove.
8233 (LOOP_ALIGN_MAX_SKIP): Remove.
8234 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Remove.
8235 (JUMP_ALIGN_MAX_SKIP): Remove.
8236 (default_label_align_after_barrier_max_skip): New.
8237 (default_loop_align_max_skip): New.
8238 (default_label_align_max_skip): New.
8239 (default_jump_align_max_skip): New.
8240 (compute_alignments): Use the new hooks.
8241 (shorten_branches): Likewise.
8242
8243 2010-10-19 Richard Henderson <rth@redhat.com>
8244
8245 * config/i386/i386.c (bdesc_multi_arg): Use fma4i_fmadd_<mode>.
8246 * config/i386/sse.md (fma<mode>4): Enable for FMA & SSE_MATH.
8247 (fma4i_fmadd_<mode>): New.
8248 (*split_fma, *split_fms, *split_fnma, *split_fnms): Rename from
8249 fma4_fm*_<mode> and adjust to be pre-reload splitters to the
8250 standard fma patterns.
8251 (fmaddsub_<mode>): Rename from fma4i_fmaddsub_<mode> and
8252 enable for FMA.
8253 (*fma_fmadd_<mode>, *fma_fmsub_<mode>): New.
8254 (*fma_fmadd_<mode>, *fma_fmsub_<mode>): New.
8255 (*fma_fmaddsub_<mode>, *fma_fmsubadd_<mode>): New.
8256
8257 2010-10-19 Paul Koning <pkoning@equallogic.com>
8258
8259 * lower-subreg.c (resolve_shift_zext): Delete conditional code for
8260 WORDS_BIG_ENDIAN != BYTES_BIG_ENDIAN.
8261
8262 2010-10-19 Richard Henderson <rth@redhat.com>
8263
8264 * config/ia64/ia64.md (fmasf4, *fmssf4, *nfmasf4): New.
8265 (fmadf4, *fmsdf4, *nfmadf4): New.
8266 (fmaxf4, *fmsxf4, *nfmaxf4): New.
8267
8268 2010-10-19 Michael Eager <eager@eagercon.com>
8269
8270 * config/microblaze/microblaze.c (TARGET_EXCEPT_UNWIND_INFO):
8271 Use sjlj unwind info for exceptions.
8272
8273 2010-10-19 Francois-Xavier Coudert<fxcoudert@gcc.gnu.org>
8274
8275 PR fortran/43414
8276 * dwarf2out.c (add_calling_convention_attribute): Flag main
8277 Fortran subroutine with DW_AT_main_subprogram.
8278
8279 2010-10-19 Nick Clifton <nickc@redhat.com>
8280
8281 * config/rx/rx.c (rx_function_value): Small integer types are
8282 promoted to SImode.
8283 (rx_promote_function_mode): New function.
8284 (TARGET_PROMOTE_FUNCTION_MODE): Define.
8285
8286 2010-10-19 Nick Clifton <nickc@redhat.com>
8287
8288 * config/mep/mep.c (mep_print_operand): Use
8289 targetm.strip_name_encoding.
8290 (mep_output_aligned_common): Likewise.
8291
8292 2010-10-19 Basile Starynkevitch <basile@starynkevitch.net>
8293
8294 * gengtype.c (new_structure): Remove ad-hoc "location_s" processing.
8295
8296 2010-10-18 Richard Henderson <rth@redhat.com>
8297
8298 * simplify-rtx.c (simplify_ternary_operation) [FMA]: Simplify
8299 (fma (neg a) (neg b) c) and (fma a (neg b) c).
8300
8301 2010-10-18 Richard Henderson <rth@redhat.com>
8302
8303 * config/i386/i386.c (IX86_BUILTIN_VFMSUBSS, IX86_BUILTIN_VFMSUBSD,
8304 IX86_BUILTIN_VFMSUBPS, IX86_BUILTIN_VFMSUBPD,
8305 IX86_BUILTIN_VFMSUBADDPS, IX86_BUILTIN_VFMSUBADDPD,
8306 IX86_BUILTIN_VFNMADDSS, IX86_BUILTIN_VFNMADDSD,
8307 IX86_BUILTIN_VFNMADDPS, IX86_BUILTIN_VFNMADDPD,
8308 IX86_BUILTIN_VFNMSUBSS, IX86_BUILTIN_VFNMSUBSD,
8309 IX86_BUILTIN_VFNMSUBPS, IX86_BUILTIN_VFNMSUBPD,
8310 IX86_BUILTIN_VFMSUBADDPS256, IX86_BUILTIN_VFMSUBADDPD256,
8311 IX86_BUILTIN_VFNMADDPS256, IX86_BUILTIN_VFNMADDPD256,
8312 IX86_BUILTIN_VFNMSUBPS256, IX86_BUILTIN_VFNMSUBPD256): Remove.
8313 (bdesc_multi_arg): Remove the corresponding builtins.
8314 * config/i386/i386.md (UNSPEC_FMA4_INTRINSIC): Remove.
8315 (UNSPEC_FMA4_FMSUBADD): Remove.
8316 (UNSPEC_FMADDSUB): Rename from UNSPEC_FMA4_FMADDSUB.
8317 * config/i386/sse.md (FMA4MODEF4): Remove.
8318 (FMAMODE): Add.
8319 (fma<mode>4): New expander.
8320 (*fma4i_fmadd_<mode>): Macroize from fma4i_fmadd<mode>4 patterns,
8321 and use FMA rtx code instead of UNSPEC_FMA4_INTRINSIC.
8322 (*fma4i_fmsub_<mode>): Similarly.
8323 (*fma4i_fnmadd_<mode>): Similarly.
8324 (*fma4i_fnmsub_<mode>): Similarly.
8325 (fma4i_vmfmadd_<mode>): Scalar patterns zero-extend, not merge
8326 with the first operand.
8327 (fma4i_fmaddsub_<mode>): Represent with UNSPEC_FMADDSUB instead
8328 of explicit arithmetic. Macroize with AVXMODEF2P.
8329 (*fma4i_fmsubadd_<mode>): Represent with UNSPEC_FMADDSUB + NEG.
8330 (xop_frcz<mode>2): Macroize with FMAMODE.
8331 (xop_vmfrcz<mode>2): Scalar patterns zero-extend, not merge with
8332 the first operand.
8333 * config/i386/fma4intrin.h (_mm_msub_ps): Use vfmadd intrinsic with
8334 extra negations.
8335 (_mm_msub_pd, _mm_msub_ss, _mm_msub_sd): Likewise.
8336 (_mm_nmacc_ps, _mm_nmacc_pd, _mm_nmacc_ss, _mm_nmacc_sd): Likewise.
8337 (_mm_nmsub_ps, _mm_nmsub_pd, _mm_nmsub_ss, _mm_nmsub_sd): Likewise.
8338 (_mm256_msub_ps, _mm256_msub_pd): Likewise.
8339 (_mm256_nmacc_ps, _mm256_nmacc_pd): Likewise.
8340 (_mm256_nmsub_ps, _mm256_nmsub_pd): Likewise.
8341 (_mm_msubadd_ps): Use vfmaddsub intrinsic with extra negation.
8342 (_mm_msubadd_pd, _mm256_msubadd_ps, _mm256_msubadd_pd): Likewise.
8343
8344 2010-10-18 Bernd Schmidt <bernds@codesourcery.com>
8345
8346 PR rtl-optimization/45966
8347 * combine.c (try_combine): If added_sets_2, deal with the case
8348 where i0 feeds i1 and i1 feeds i2.
8349
8350 2010-10-18 Jan Hubicka <jh@suse.cz>
8351
8352 * ipa.c (cgraph_externally_visible_p): Handle externally visible and
8353 preserve flags before trying to guess on visibility.
8354 (varpool_externally_visible_p): New function.
8355 (function_and_variable_visibility): Use it.
8356
8357 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
8358
8359 Implemented parsing @synthesize and @dynamic for Objective-C.
8360 * c-parser.c (c_parser_external_declaration): Recognize
8361 RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
8362 (c_parser_objc_at_synthesize_declaration): New.
8363 (c_parser_objc_at_dynamic_declaration): New.
8364
8365 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
8366
8367 * c-parser.c (c_parser_objc_class_declaration): After finding an
8368 error, parse the whole declaration then reset parser->error.
8369
8370 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
8371
8372 PR target/46041
8373 * tree.h (mode_has_fma): Delete, move to c-cppbuiltins.c.
8374 * builtins.c (mode_has_fma): Ditto.
8375
8376 2010-10-18 Steve Ellcey <sje@cup.hp.com>
8377
8378 PR target/36898
8379 PR middle-end/43760
8380 * config/ia64/ia64.c (rws_access_regno): Remove predicate check.
8381
8382 2010-10-18 Joseph Myers <joseph@codesourcery.com>
8383
8384 * config/i386/i386.c (ix86_option_override_internal): Define and
8385 use USE_X86_64_FRAME_POINTER for 64-bit flag_omit_frame_pointer
8386 default.
8387 * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8388 (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Define.
8389
8390 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
8391
8392 Merge from 'apple/trunk' branch on FSF servers.
8393 * c-parser.c (c_parser_objc_type_name): Adapted to new parser the
8394 following Objective-C change:
8395
8396 2005-10-10 Fariborz Jahanian <fjahanian@apple.com>
8397
8398 Radar 4301047
8399 * c-parse.in (objc_quals): Build objc qualifier list same way
8400 as gcc-3.3
8401
8402 2010-10-18 Jan Hubicka <jh@suse.cz>
8403
8404 * ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p,
8405 function_and_variable_visibility): Revert accidental commit.
8406
8407 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
8408
8409 Merge from 'apple/trunk' branch on FSF servers.
8410 * c-parser.c (c_parser_typeof_specifier): Adapted to new parser
8411 the following Objective-C change:
8412
8413 2005-10-07 Fariborz Jahanian <fjahanian@apple.com>
8414
8415 Radar 4204796
8416 * c-parse.in (typespec_nonreserved_nonattr): Remove volatile from
8417 'volatilized' type used in a typeof operator.
8418
8419 2010-10-18 Eric Botcazou <ebotcazou@adacore.com>
8420
8421 * tree-flow.h (gimple_purge_all_dead_abnormal_call_edges): Declare.
8422 * tree-cfg.c (gimple_purge_dead_abnormal_call_edges): Move around and
8423 rewrite modelled on gimple_purge_dead_eh_edges.
8424 (gimple_purge_all_dead_abnormal_call_edges): New function.
8425 * tree-inline.c (expand_call_inline): Call gimple_purge_dead_eh_edges
8426 directly instead of through gimple_purge_dead_abnormal_call_edges.
8427 * tree-ssa-pre.c (need_ab_cleanup): New static variable.
8428 (eliminate): Set bit in need_ab_cleanup for the basic block if we have
8429 removed AB side-effects from one of its statements.
8430 (init_pre): Initialize need_ab_cleanup.
8431 (fini_pre): Purge dead abnormal call edges and clean up the CFG if bits
8432 are set in need_ab_cleanup. Free need_ab_cleanup afterward.
8433
8434 2010-10-18 Jakub Jelinek <jakub@redhat.com>
8435
8436 PR c/46015
8437 * c-parser.c (c_parser_statement_after_labels): Call mark_exp_read
8438 on computed goto argument.
8439
8440 2010-10-18 Richard Guenther <rguenther@suse.de>
8441
8442 PR tree-optimization/45967
8443 * tree-ssa-structalias.c (type_could_have_pointers): Remove.
8444 (could_have_pointers): Likewise.
8445 (handle_rhs_call, handle_const_call, handle_pure_call,
8446 find_func_aliases, intra_create_variable_infos): Remove calls to them.
8447 (struct fieldoff): Add must_have_pointers field.
8448 (type_must_have_pointers): New function.
8449 (field_must_have_pointers): Likewise.
8450 (push_fields_onto_fieldstack): Remove must_have_pointers_p argument.
8451 Adjust field merging.
8452 (create_function_info_for): May-have-pointers of varinfo is
8453 almost always true.
8454 (create_variable_info_for_1): Likewise.
8455
8456 2010-10-18 Tejas Belagod <tejas.belagod@arm.com>
8457
8458 * config/arm/neon.md (neon_move_hi_quad_<mode>): Fix the order
8459 of operands to vec_concat.
8460
8461 2010-10-18 Richard Guenther <rguenther@suse.de>
8462
8463 PR lto/44950
8464 * tree.c (free_lang_data_in_decl): As we clear TYPE_METHODS
8465 also clear references to entries of it.
8466
8467 2010-10-18 Andi Kleen <ak@linux.intel.com>
8468
8469 PR other/43448
8470 * gccbug.in: Remove.
8471 * Makefile.in (GCCBUG_INSTALL_NAME, gccbug): Remove
8472 (doc, distclean, install-common): Remove reference to gccbug.
8473 * configure: Regenerate.
8474 * configure.ac (all_outputs): Remove gccbug.
8475 * doc/configfiles.texi: Remove references to gccbug.
8476 * doc/sourcebuild.texi: Dito.
8477
8478 2010-10-18 Jakub Jelinek <jakub@redhat.com>
8479
8480 PR middle-end/46019
8481 * fold-const.c (fold_binary_loc): If integer_pow2p has
8482 TREE_INT_CST_LOW zero, look at TREE_INT_CST_HIGH.
8483
8484 2010-10-18 Basile Starynkevitch <basile@starynkevitch.net>
8485 Jeremie Salvucci <jeremie.salvucci@free.fr>
8486
8487 * gengtype.c (verbosity_level): Add variable.
8488 (set_gc_used): Count variables for verbosity.
8489 (close_output_files): Backing up files, counting written ones
8490 verbosily.
8491 (write_types): Count emitted functions for verbosity. Added
8492 debug messages.
8493 (write_enum_defn): Count structures for verbosity. Added debug
8494 messages.
8495 (gengtype_long_options): Add "verbose" & "backupdir".
8496 (print_usage): Ditto.
8497 (main): Verbose display of parsed files.
8498
8499 * gengtype.h (verbosity_level): Add declaration.
8500
8501 2010-10-18 Basile Starynkevitch <basile@starynkevitch.net>
8502
8503 * gengtype.c (parse_program_options): Add allocation of
8504 plugin_files, and correct test on nb_plugin_files.
8505
8506 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
8507
8508 Merge from 'apple/trunk' branch on FSF servers.
8509
8510 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
8511
8512 Radar 4133425
8513 * c-decl.c (undeclared_variable): Issue diagnostic on
8514 private 'ivar' access.
8515
8516 2010-10-17 Uros Bizjak <ubizjak@gmail.com>
8517
8518 PR target/46051
8519 * config/i386/sse.md (vec_interleave_highv4df): Fix third RTX of
8520 generated sequence to match *avx_vperm2f128<mode>_nozero.
8521 (vec_interleave_lowv4df): Ditto.
8522 (vec_interleave_highv8sf): Ditto.
8523 (vec_interleave_lowv8sf): Ditto.
8524
8525 2010-10-17 Kai Tietz <kai.tietz@onevision.com>
8526
8527 * libgcov.c (create_file_directory): Enable it for win32 case.
8528 (gcov_exit): De-couple GCOV_PREFIX and GCOV_PREFIX_STRIP.
8529 * doc/gcov.texi (GCOV_PREFIX): Adjusted.
8530 (GCOV_PREFIX_SKIP): Likewise.
8531
8532 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
8533
8534 * doc/objc.texi (GNU Objective-C runtime API): New section.
8535 (Modern GNU Objective-C runtime API): New section.
8536 (Traditional GNU Objective-C runtime API): New section.
8537 (Executing code before main): Mention that this section is
8538 specific to the GNU Objective-C runtime.
8539 (Garbage Collection): Same.
8540
8541 2010-10-17 Uros Bizjak <ubizjak@gmail.com>
8542
8543 * c-parser.c (c_parser_for_statement): Move initialization of
8544 cond and incr before if.
8545
8546 2010-10-17 Anatoly Sokolov <aesok@post.ru>
8547
8548 * target.def (preferred_output_reload_class): New hook.
8549 * doc/tm.texi.in (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Document.
8550 * doc/tm.texi: Regenerate.
8551 * targhooks.c (default_preferred_output_reload_class): New function.
8552 * targhooks.h (default_preferred_output_reload_class): Declare.
8553 * reload.c (find_dummy_reload): Change rclass argument type from
8554 enum reg_class to reg_class_t. Change this_alternative array type
8555 from enum reg_class to reg_class_t.
8556 Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
8557 (push_reload): Change preferred_class variable type to reg_class_t.
8558 Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
8559 * recog.c (reg_fits_class_p): Change result type to bool. Change cl
8560 argument type from enum reg_class to reg_class_t. Use
8561 HARD_REGISTER_NUM_P predicate.
8562 * recog.h (reg_fits_class_p): Update prototype.
8563
8564 * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
8565 * config/i386/i386-protos.h (ix86_preferred_output_reload_class):
8566 Remove.
8567 * config/i386/i386.c (ix86_preferred_output_reload_class): Make
8568 static. Change regclass argument and result types from enum reg_class
8569 to reg_class_t.
8570 (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
8571
8572 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
8573
8574 * c-parser.c (c_parser_objc_class_instance_variables): Update to use
8575 visibility enum, and handle @package.
8576
8577 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
8578
8579 * doc/objc.texi (What you can and what you cannot do in +load):
8580 Document that sending messages to constant string objects in +load
8581 is not guaranteed to work.
8582
8583 2010-10-16 Jan Hubicka <jh@suse.cz>
8584
8585 PR middle-end/44206
8586 * ipa.c (cgraph_remove_unreachable_nodes): Cleanup; check
8587 existence of refrences before removing the function.
8588
8589 2010-10-16 Jan Hubicka <jh@suse.cz>
8590
8591 * cgraph.c (dump_cgraph_node): Dump same_comdat_group,
8592 only_called_at_startup and only_called_at_exit.
8593 (cgraph_propagate_frequency): Compute only_called_at_startup and
8594 only_called_at_exit.
8595 * cgraph.h (struct cgraph_node): New fileds only_called_at_startup and
8596 only_called_at_exit.
8597 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream the new
8598 flags.
8599 * predict.c (compute_function_frequency): Initialize the new flags.
8600
8601 2010-10-16 Eric Botcazou <ebotcazou@adacore.com>
8602
8603 * gimplify.c (gimplify_type_sizes) <ARRAY_TYPE>: If the type is to be
8604 ignored for debug info purposes, do not clear the DECL_IGNORED_P flag
8605 on the bounds of its domain.
8606 * tree.h (DECL_IGNORED_P): Document effect on TYPE_DECL specifically.
8607
8608 2010-10-16 Anatoly Sokolov <aesok@post.ru>
8609
8610 * config/avr/avr.h (PREFERRED_RELOAD_CLASS): Remove.
8611 * config/avr/avr-protos.h (preferred_reload_class): Remove.
8612 * config/avr/avr.c (preferred_reload_class): Remove.
8613 * config/pa/pa.h (PREFERRED_RELOAD_CLASS): Remove.
8614 * config/pa/pa.c (emit_move_sequence): Update comment
8615 * config/arc/arc.h (PREFERRED_RELOAD_CLASS): Remove.
8616 * config/crx/crx.h (PREFERRED_RELOAD_CLASS): Remove.
8617 * config/fr30/fr30.h (PREFERRED_RELOAD_CLASS): Remove.
8618 * config/frv/frv.h (PREFERRED_RELOAD_CLASS): Remove.
8619 * config/h8300/h8300.h (PREFERRED_RELOAD_CLASS): Remove.
8620 * config/lm32/lm32.h (PREFERRED_RELOAD_CLASS): Remove.
8621 * config/m32r/m32r.h (PREFERRED_RELOAD_CLASS): Remove.
8622 * config/moxie/moxie.h (PREFERRED_RELOAD_CLASS): Remove.
8623 * config/picochip/picochip.h (PREFERRED_RELOAD_CLASS): Remove.
8624 * config/rx/rx.h (PREFERRED_RELOAD_CLASS): Remove.
8625 * config/spu/spu.h (PREFERRED_RELOAD_CLASS): Remove.
8626 * config/v850/v850.h (PREFERRED_RELOAD_CLASS): Remove.
8627 * config/vax/vax.h (PREFERRED_RELOAD_CLASS): Remove.
8628
8629 2010-10-16 Joseph Myers <joseph@codesourcery.com>
8630
8631 * opts.c (set_fast_math_flags,
8632 set_unsafe_math_optimizations_flags): Make static.
8633 * toplev.h (set_fast_math_flags,
8634 set_unsafe_math_optimizations_flags): Remove prototypes.
8635
8636 2010-10-16 Joseph Myers <joseph@codesourcery.com>
8637
8638 * config/arm/arm.c (arm_option_optimization): Set
8639 flag_section_anchors to 1 not 2.
8640 * config/i386/i386.c (ix86_option_override_internal): Check
8641 global_options_set.x_flag_zee and
8642 global_options_set.x_flag_omit_frame_pointer.
8643 (ix86_option_optimization): Don't set flag_omit_frame_pointer and
8644 flag_zee to 2.
8645 * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Check
8646 global_options_set.x_flag_omit_frame_pointer.
8647 * config/rs6000/rs6000.c (rs6000_option_init_struct): Set
8648 opts->x_flag_section_anchors to 1 not 2.
8649 * config/sh/sh.c (sh_option_optimization): Don't set
8650 flag_schedule_insns to 2.
8651 (sh_option_override): Check
8652 global_options_set.x_flag_schedule_insns.
8653 * opts.c (finish_options): Check opts_set->x_flag_section_anchors.
8654
8655 2010-10-16 Kai Tietz <kai.tietz@onevision.com>
8656
8657 * configure.ac: Make sure inhibit_libc remains false for mingw targets
8658 as cross.
8659 * configure: Regenerated.
8660
8661 2010-10-15 Xinliang David Li <davidxl@google.com>
8662
8663 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths): New
8664 function.
8665 (use_pred_not_overlap_with_undef_path_pred): Outline phi arg pruning
8666 into a recursive function.
8667
8668 2010-10-15 Uros Bizjak <ubizjak@gmail.com>
8669
8670 * config/i386/i386.md (*movdfcc_1_rex64): Correct mode attribute.
8671 (*movdfcc_1): ditto.
8672
8673 2010-10-15 Joseph Myers <joseph@codesourcery.com>
8674
8675 * target.def (target_option.init_struct): New hook.
8676 * doc/tm.texi.in (TARGET_OPTION_INIT_STRUCT): New @hook.
8677 * doc/tm.texi: Regenerate.
8678 * hooks.c (hook_void_gcc_optionsp): New.
8679 * hooks.h (hook_void_gcc_optionsp): Declare.
8680 * langhooks-def.h (lhd_init_options_struct): Remove.
8681 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define to hook_void_gcc_optionsp.
8682 * langhooks.c (lhd_init_options_struct): Remove.
8683 * opts.c (init_options_struct): Also call
8684 targetm.target_option.init_struct.
8685 * config/i386/i386.c (ix86_option_init_struct,
8686 TARGET_OPTION_INIT_STRUCT): New.
8687 (ix86_option_optimization): Move some settings to
8688 ix86_option_init_struct.
8689 * config/pdp11/pdp11.c (pdp11_option_init_struct,
8690 TARGET_OPTION_INIT_STRUCT): New.
8691 (pdp11_option_optimization): Move some settings to
8692 pdp11_option_init_struct.
8693 * config/rs6000/rs6000.c (rs6000_option_optimization): Replace by
8694 rs6000_option_init_struct. Use options structure pointer.
8695 (TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT.
8696 * config/s390/s390.c (s390_option_init_struct,
8697 TARGET_OPTION_INIT_STRUCT): New.
8698 (s390_option_optimization): Don't set
8699 flag_asynchronous_unwind_tables here.
8700 * config/sh/sh.c (sh_option_init_struct,
8701 TARGET_OPTION_INIT_STRUCT): New.
8702 (sh_option_optimization): Don't set flag_finite_math_only here.
8703 * config/spu/spu.c (spu_option_optimization): Replace by
8704 spu_option_optimization. Use options structure pointer.
8705 (TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT.
8706
8707 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
8708
8709 * doc/md.texi (Standard Names): Add fma@var{m}4 documentation.
8710
8711 * doc/rtl.texi (RTX_TERNARY): Document FMA is ternary. Add
8712 SIGN_EXTRACT and ZERO_EXTRACT which were missing.
8713 (Standard names): Document fma.
8714
8715 * doc/cpp.texi (Common Predefined Macros): Document __FP_FAST_FMA,
8716 __FP_FAST_FMAF, __FP_FAST_FMAL.
8717
8718 * builitns.c (expand_builtin_mathfn_ternary): New function for
8719 expanding ternary math functions, like fma.
8720 (expand_builtin): Call it for the fma builtins.
8721
8722 * simplify-rtx.c (simplify_ternary_operation): Don't simplify FMA
8723 ops at present.
8724
8725 * tree-vect-stmts.c (vectorizable_call): Allow 3 argument
8726 vectorizable functions to support vectorizing fma.
8727
8728 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
8729 Handle fma builtins.
8730
8731 * config/rs6000/vsx.md (UNSPEC_VSX_MADD): Delete.
8732 (UNSPEC_VSX_MSUB): Ditto.
8733 (UNSPEC_VSX_NMADD): Ditto.
8734 (UNSPEC_VSX_NMSUB): Ditto.
8735 (vsx_fmadd<mode>4*): Rewrite to use FMA rtl in some cases instead
8736 of UNSPEC. Renumber combiner patterns.
8737 (vsx_fmsub<mode>4*): Ditto.
8738 (vsx_fnmadd<mode>4*): Ditto.
8739 (vsx_fnmsub<mode>4*): Ditto.
8740
8741 * config/rs6000/altivec.md (UNSPEC_VNMSUBFP): Delete.
8742 (altivec_vmaddfp): Rewrite to use FMA rtl if no fused
8743 multiply/add. Rename combiner pattern, and add TARGET_FUSED_MADD test.
8744 (altivec_vmaddfp_1): Ditto.
8745 (altivec_vmaddfp_2): Ditto.
8746 (atlivec_mulv4sf3): Ditto.
8747 (altivec_vnmsubfp): Ditto.
8748 (altivec_vnmsubfp_1): Ditto.
8749 (altivec_vnmsubfp_2): Ditto.
8750 (altivec_vnmsubfp_3): Delete.
8751
8752 * config/rs6000/rs6000.md (fmasf4): New insns for fma builtin support.
8753 (fmasf4_fpr): Ditto.
8754 (fmssf4_fpr): Ditto.
8755 (fnmasf4_fpr): Ditto.
8756 (fnmssf4_fpr): Ditto.
8757 (fmadf4): Ditto.
8758 (fmadf4_fpr): Ditto.
8759 (fmsdf4_fpr): Ditto.
8760 (fnmadf4_fpr): Ditto.
8761 (fnmsdf4_fpr): Ditto.
8762
8763 * optabs.h (OTI_fma): Add fma optab.
8764 (fma_optab): Ditto.
8765
8766 * genopinit.c (optabs): Set fma optab.
8767
8768 * rtl.def (FMA): Add FMA rtl.
8769
8770 * tree.h (mode_has_fma): New function to return if MODE supports a
8771 fast multiply and add instruction.
8772 * builtins.c (mode_has_fma): Ditto.
8773
8774 2010-10-15 Jan Hubicka <jh@suse.cz>
8775
8776 * lto-streamer-out.c (write_symbol): Use pointer set of seen
8777 objects instead of bitmap.
8778 (produce_symtab): Likewise; output defined symbols first.
8779
8780 2010-10-15 Jie Zhang <jie@codesourcery.com>
8781
8782 * doc/invoke.texi: Add -fstrict-volatile-bitfields to
8783 Option Summary and Index.
8784
8785 2010-10-15 Richard Guenther <rguenther@suse.de>
8786
8787 * tree.c (free_lang_data_in_decl): Clear DECL_INITIAL
8788 for automatic variables again.
8789
8790 2010-10-15 Joseph Myers <joseph@codesourcery.com>
8791
8792 * doc/extend.texi (Variable Length): Don't refer to VLAs not
8793 conforming to C99.
8794
8795 2010-10-15 Joseph Myers <joseph@codesourcery.com>
8796
8797 * config/rx/rx.c (rx_option_optimization): Change to
8798 rx_override_options_after_change. Don't change
8799 flag_lto_compression_level. Don't check for changes to whether
8800 FPU instructions can be used. Check and set only
8801 flag_finite_math_only, not other fast-math flags.
8802 (rx_option_override): Call rx_override_options_after_change.
8803 (TARGET_OPTION_OPTIMIZATION): Remove.
8804 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
8805
8806 2010-10-15 Joseph Myers <joseph@codesourcery.com>
8807
8808 * config/rs6000/rs6000.c (rs6000_option_optimization): Don't
8809 disable section anchors for lang_hooks.name[4] != 'O'.
8810
8811 2010-10-15 Joseph Myers <joseph@codesourcery.com>
8812
8813 * config/frv/frv.c (frv_option_optimization,
8814 TARGET_OPTION_OPTIMIZATION): Remove.
8815 * config/frv/frv.h (RCSP_SOFTWARE_PIPELINING): Remove.
8816
8817 2010-10-15 Michael Matz <matz@suse.de>
8818
8819 * cgraphunit.c (clone_of_p): Define unconditionally.
8820
8821 2010-10-15 Richard Guenther <rguenther@suse.de>
8822
8823 PR lto/45957
8824 * tree.c (free_lang_data_in_decl): Do not clear DECL_INITIAL of vars.
8825
8826 2010-10-15 Chung-Lin Tang <cltang@codesourcery.com>
8827
8828 * ifcvt.c (find_active_insn_before): New function.
8829 (find_active_insn_after): New function.
8830 (cond_exec_process_if_block): Use new functions to replace
8831 prev_active_insn() and next_active_insn().
8832
8833 2010-10-14 Yao Qi <yao@codesourcery.com>
8834
8835 PR target/45447
8836 * config/arm/arm.c (arm_build_builtin_va_list): Assign
8837 va_list_name to TYPE_STUB_DECL (va_list_type).
8838
8839 2010-10-14 Jan Hubicka <jh@suse.cz>
8840
8841 PR middle-end/45621
8842 * cgraph.c (cgraph_update_edges_for_call_stmt_node): When new call is
8843 redirected to clone, be happy.
8844 * cgraph.h (cgraph node): Enable former_clone_of unconditinally.
8845 * cgraphunit.c (verify_cgraph_node, cgraph_materialize_clone): Handle
8846 former_clone_of unconditionally.
8847
8848 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
8849
8850 Merge from FSF apple 'trunk' branch.
8851 2006 Fariborz Jahanian <fjahanian@apple.com>
8852
8853 Radars 4436866, 4505126, 4506903, 4517826
8854 * c-parser.c (c_parser, objc_property_attr_context) New flag.
8855 (c_lex_one_token): Handle property attributes.
8856 (c_parser_external_declaration): Handle @property.
8857 (c_parser_declaration_or_fndef): Warn on invalid attributes before
8858 @alias, @class, @end and @property objc keywords.
8859 (c_parser_objc_methodprotolist): Handle @property.
8860 (c_parser_objc_property_attrlist): New.
8861 (c_parser_objc_at_property): New.
8862 * c-typeck.c (build_component_ref): Handle CLASS.property syntax.
8863 (build_modify_expr): Likewise.
8864
8865 2010-10-14 Jakub Jelinek <jakub@redhat.com>
8866
8867 PR tree-optimization/46008
8868 * tree-if-conv.c (predicate_bbs): Try to canonicalize c2 if possible.
8869
8870 2010-10-14 Richard Guenther <rguenther@suse.de>
8871
8872 PR tree-optimization/44913
8873 * tree-data-ref.c (disjoint_objects_p): Remove.
8874 (dr_may_alias_p): Simplify. Only hand the base object to
8875 the alias-oracle.
8876 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
8877 some more trees, bail out instead of asserting.
8878 (ptr_derefs_may_alias_p): Likewise. Export.
8879 (refs_may_alias_p_1): Handle STRING_CSTs.
8880 * tree-ssa-alias.h (ptr_derefs_may_alias_p): Declare.
8881
8882 2010-10-14 Joseph Myers <joseph@codesourcery.com>
8883
8884 PR c/45969
8885 * c-typeck.c (build_binary_op): Don't try to compute a semantic
8886 type with excess precision for boolean operations.
8887
8888 2010-10-14 Jeremie Salvucci <jeremie.salvucci@free.fr>
8889 Basile Starynkevitch <basile@starynkevitch.net>
8890
8891 * gengtype.c: Include getopt.h and version.h.
8892
8893 (lang_bitmap, struct outf, outf_p)
8894 (get_output_file_with_visibility, oprintf): Definitions moved to
8895 gengtype.h
8896 (output_files, header_file, srcdir, srcdir_len, this_file)
8897 (do_dump): No more static variables.
8898 (do_debug): New.
8899 (dbgprint_count_type_at): Added new function.
8900 (gengtype_long_options): New.
8901 (print_usage, print_version, parse_program_options): New.
8902 (main): Call parse_program_options, and removed old option
8903 handling code. Added some debug output.
8904
8905 * gengtype.h: Updated copyright year.
8906 (lang_bitmap, struct outf, outf_p, header_file, oprintf)
8907 (get_output_file_with_visibility, srcdir, srcdir_len, do_dump):
8908 Moved from gengtype.c to here.
8909 (do_debug, read_state_filename, write_state_filename): New variables.
8910 (DBGPRINTF, DBGPRINT_COUNT_TYPE): New macros.
8911
8912 * Makefile.in:
8913 (REVISION): Always defined.
8914 (version.o): Removed ifdef REVISION_c.
8915 (s-gtype): Pass arguments to build/gengtype program.
8916 (build/version.o): Added building rule.
8917 (build/gengtype$(build_exeext)): Added build/version.o.
8918
8919 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
8920
8921 Partial merge of 'ObjC GC' from FSF apple 'trunk' branch.
8922 * config/darwin-c.c (darwin_cpp_builtins): Define __weak and
8923 __strong macros.
8924
8925 2010-10-14 Eric Botcazou <ebotcazou@adacore.com>
8926
8927 * sched-deps.c (sched_insn_is_legitimate_for_speculation): Invoke
8928 may_trap_or_fault_p instead of may_trap_p predicate.
8929 * tree.c (substitute_in_expr): Propagate the TREE_THIS_NOTRAP flag.
8930 (substitute_placeholder_in_expr): Likewise.
8931 * tree-inline.c (remap_gimple_op_r): Propagate the TREE_THIS_NOTRAP
8932 flag on MEM_REF nodes.
8933 (copy_tree_body_r): Propagate the TREE_READONLY and TREE_THIS_NOTRAP
8934 flags on INDIRECT_REF nodes.
8935
8936 2010-10-14 Nathan Froyd <froydnj@codesourcery.com>
8937
8938 * config.gcc (arm*-*-linux-*eabi) <tm_file>: Add bpabi.h from libgcc.
8939 (arm*-*-uclinux*eabi) <tm_file>: Likewise.
8940 (arm*-*-eabi*) <tm_file>: Likewise.
8941 (frv-*-elf) <tm_file>: Add frv-abi.h from libgcc.
8942 (frv-*-*linux*) <tm_file>: Likewise.
8943 * config/arm/bpabi.h: Delete DECLARE_LIBRARY_RENAMES stanzas
8944 and associated helper macros.
8945 * config/frv/frv-abi.h: Delete.
8946
8947 2010-10-14 Richard Guenther <rguenther@suse.de>
8948
8949 PR lto/44561
8950 * tree.def (NULLPTR_TYPE): New tree code.
8951 * dbxout.c (dbxout_type): Handle NULLPTR_TYPE.
8952 * dwarf2out.c (is_base_type): Likewise.
8953 (gen_type_die_with_usage): Likewise.
8954 * sdbout.c (plain_type_1): Likewise.
8955 * tree.c (build_int_cst_wide): Likewise.
8956 * gimple.c (gimple_types_compatible_p_1): NULLPTR_TYPE types are equal.
8957
8958 2010-10-14 Joseph Myers <joseph@codesourcery.com>
8959
8960 * params.c (params_finished): New.
8961 (add_params): Assert !params_finished.
8962 (finish_params): New.
8963 (set_param_value_internal): Take params and params_set
8964 parameters. Assert params_finished.
8965 (set_param_value, maybe_set_param_value): Take params and
8966 params_set parameters. Update calls to set_param_value_internal.
8967 (set_default_param_value): Assert !params_finished. Don't use
8968 set_param_value_internal.
8969 (default_param_value, init_param_values): New.
8970 * params.h (struct param_info): Change value to default_value.
8971 Remove set.
8972 (set_param_value, maybe_set_param_value): Add params and
8973 params_set parameters.
8974 (PARAM_VALUE): Get parameters from global_options.
8975 (PARAM_SET_P): Remove.
8976 (finish_params, default_param_value, init_param_values): New.
8977 * common.opt (param_values): New Variable.
8978 * config/arm/arm.c (arm_option_override): Pass extra arguments to
8979 maybe_set_param_value.
8980 * config/i386/i386.c (ix86_option_override_internal): Pass extra
8981 arguments to maybe_set_param_value.
8982 * config/picochip/picochip.c (picochip_option_override): Pass
8983 extra arguments to maybe_set_param_value.
8984 * config/rs6000/rs6000.c (rs6000_option_override_internal): Pass
8985 extra arguments to maybe_set_param_value.
8986 * config/s390/s390.c (s390_option_override): Use
8987 maybe_set_param_value instead of set_param_value. Pass extra
8988 arguments to maybe_set_param_value.
8989 * config/sparc/sparc.c (sparc_option_override): Pass extra
8990 arguments to maybe_set_param_value.
8991 * config/spu/spu.c (spu_option_override): Pass extra arguments to
8992 maybe_set_param_value.
8993 * opts.c (handle_param): Take opts and opts_set parameters.
8994 Update call to set_param_value.
8995 (initial_min_crossjump_insns, initial_max_fields_for_field_sensitive,
8996 initial_loop_invariant_max_bbs_in_loop): Remove.
8997 (init_options_once): Don't set them.
8998 (init_options_struct): Initialize parameters structures.
8999 (default_options_optimization): Use default_param_value when
9000 restoring defaults. Update calls to maybe_set_param_value.
9001 (finish_options): Update calls to maybe_set_param_value.
9002 (common_handle_option): Update calls to handle_param and
9003 set_param_value.
9004 * toplev.c (DEFPARAM): Update definition for changes to param_info.
9005 (general_init): Call finish_params.
9006
9007 2010-10-14 Nick Clifton <nickc@redhat.com>
9008
9009 * config/mn10300/mn10300.h (CONSTANT_ALIGNMENT): Define.
9010 (DATA_ALIGNMENT, LOCAL_ALIGNMENT): Define.
9011 (FIRST_PSEUDO_REGISTER): Increase by one.
9012 (FIXED_REGISTERS, CALL_USED_REGISTERS): Update with CC_REG.
9013 (HARD_REGNO_MODE_OK): Call mn10300_hard_regno_mode_ok.
9014 (MODES_TIEABLE): Call mn10300_modes_tieable.
9015 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add CC_REGS.
9016 (LEGITIMATE_CONSTANT_P): Call mn10300_legitimate_constant_p.
9017 (CC_OVERFLOW_UNUSABLE, CC_NO_CARRY, NOTICE_UPDATE_CC)
9018 (SELECT_CC_MODE, REVERSIBLE_CC_MODE): Delete.
9019 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Add CC register.
9020 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
9021 (mn10300_cc_status_mdep): Delete.
9022 (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Delete.
9023 * config/mn10300/mn10300 (mn10300_option_override): Stop disabling
9024 the combine-stack-adjust pass.
9025 (print_operand): Use the mode of the comparison operation to
9026 select the comparison suffix.
9027 (notice_update_cc): Delete.
9028 (mn10300_secondary_reload_class): Remove test for stack pointer
9029 based arithmetic.
9030 (output_tst): Rename to mn10300_output_cmp.
9031 (impossible_plus_operand): Move into predicates.md.
9032 (mn10300_legitimize_address): Make static.
9033 (mn10300_legitimate_address_p): Make static. Only allow SI sized
9034 constant pic operands.
9035 (mn10300_legitimate_constant_p): New function.
9036 (mn10300_case_values_threshold): Make static.
9037 (mn10300_hard_regno_mode_ok): New function.
9038 (mn10300_modes_tieable): New function.
9039 (mn10300_select_cc_mode): New function.
9040 * config/mn10300/predicates.md (impossible_plus_operand): Define.
9041 * config/mn10300/mn10300-protos.h: Tidy.
9042 (mn10300_legitimate_constant_p, mn10300_modes_tieable)
9043 (mn10300_hard_regno_mode_ok, mn10300_select_cc_mode): Prototype.
9044 * config/mn10300/mn10300.md (cc attribute): Delete. Replace
9045 with clobbers or sets of CC_REG.
9046 (CC_REG): Define.
9047 (mov*): Remove use of CLR instruction.
9048 (cbranch_si4_<code>): New pattern/split.
9049 (integer_conditional_branch): New pattern.
9050 (cbranch_sf4_<code>): New pattern/split.
9051 (float_conditional_branch): New pattern.
9052 (casesi): Use addsi3 pattern instead of movsi pattern to add and
9053 move a value at the same time.
9054 (cc0 peepholes): Remove.
9055
9056 2010-10-14 Andrey Belevantsev <abel@ispras.ru>
9057
9058 * sel-sched-ir.c (init_global_and_expr_for_insn): Set CANT_MOVE
9059 on RTX_FRAME_RELATED_P insns and the insn to which
9060 NOTE_INSN_EPILOGUE_BEG is attached.
9061 * sched-vis.c (print_value): Allow NULL value.
9062
9063 2010-10-14 Andrey Belevantsev <abel@ispras.ru>
9064
9065 PR rtl-optimization/45570
9066 * sel-sched-ir.c (cfg_preds_1): When walking out of the region,
9067 assert that we are pipelining outer loops. Allow returning
9068 zero predecessors.
9069
9070 2010-10-14 Andrey Belevantsev <abel@ispras.ru>
9071
9072 * sel-sched-ir.c (maybe_tidy_empty_bb): Simplify comment.
9073 (tidy_control_flow): Tidy vertical space.
9074 (sel_remove_bb): New variable idx. Use it to remember the basic
9075 block index before deleting the block.
9076 (sel_remove_empty_bb): Remove dead code, simplify and insert to ...
9077 (sel_merge_blocks): ... here.
9078 * sel-sched-ir.h (sel_remove_empty_bb): Remove prototype.
9079
9080 2010-10-14 Jakub Jelinek <jakub@redhat.com>
9081
9082 * cse.c (is_dead_reg): Change into inline function that is not
9083 called through for_each_rtx.
9084 (set_live_p): Adjust caller.
9085 (insn_live_p): Don't reset DEBUG_INSNs here.
9086 (struct dead_debug_insn_data): New data.
9087 (count_stores, is_dead_debug_insn, replace_dead_reg): New functions.
9088 (delete_trivially_dead_insns): If there is just one setter for the
9089 dead reg that is referenced by some DEBUG_INSNs, create a DEBUG_EXPR
9090 and add DEBUG_INSN for it right before the removed setter and
9091 use the DEBUG_EXPR instead of the dead pseudo.
9092
9093 2010-10-14 Zdenek Dvorak <rakdver@kam.uniff.cz>
9094
9095 * et-forest.c (et_nca): Return NULL immediately when
9096 the dominance forest has disjoint components.
9097
9098 2010-10-13 Vladimir Makarov <vmakarov@redhat.com>
9099
9100 * ira.c (setup_class_hard_regs): Fix typo in indexing
9101 ira_non_ordered_class_hard_regs and ira_class_hard_reg_index.
9102
9103 2010-10-14 Tijs Wiebe Lefering <twlevo@gmail.com>
9104
9105 * graph.c (inbb): New variable.
9106 (start_bb): Set inbb to 1 if output is inside of a building block.
9107 (end_bb): Check if output is inside of a building block.
9108
9109 2010-10-13 Eric Botcazou <ebotcazou@adacore.com>
9110
9111 PR rtl-optimization/45912
9112 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Test the
9113 regno of registers instead of their index to compute the alignment.
9114
9115 2010-10-13 H.J. Lu <hongjiu.lu@intel.com>
9116
9117 * config/i386/i386.c (ix86_build_const_vector): Check vector
9118 mode instead of scalar mode.
9119 (ix86_build_signbit_mask): Likewise.
9120 (ix86_expand_fp_absneg_operator): Updated.
9121 (ix86_expand_copysign): Likewise.
9122 (ix86_expand_int_vcond): Likewise.
9123 (ix86_emit_swdivsf): Likewise.
9124 (ix86_sse_copysign_to_positive): Likewise.
9125 (ix86_expand_sse_fabs): Likewise.
9126 * config/i386/i386.md (fixuns_trunc<mode>si2): Likewise.
9127 * config/i386/sse.md (copysign<mode>3): Likewise.
9128 (sse2_cvtudq2ps): Likewise.
9129 (vec_unpacku_float_hi_v4si): Likewise.
9130 (vec_unpacku_float_lo_v4si): Likewise.
9131
9132 * config/i386/i386.c (ix86_builtins): Add
9133 IX86_BUILTIN_CPYSGNPS256 and IX86_BUILTIN_CPYSGNPD256.
9134 (bdesc_args): Likewise.
9135 (ix86_builtin_vectorized_function): Support
9136 IX86_BUILTIN_CPYSGNPS256, IX86_BUILTIN_CPYSGNPD256,
9137 IX86_BUILTIN_SQRTPD256, IX86_BUILTIN_SQRTPS_NR256,
9138 and IX86_BUILTIN_CVTPS2DQ256.
9139 (ix86_builtin_reciprocal): Support IX86_BUILTIN_SQRTPS_NR256.
9140
9141 * config/i386/sse.md (STORENT_MODE): New.
9142 (VEC_FLOAT_MODE): Likewise.
9143 (VEC_EXTRACT_MODE): Likewise.
9144 (*avx_cvtdq2pd256_2): Likewise.
9145 (vec_pack_trunc_v4df): Likewise.
9146 (vec_interleave_highv8sf): Likewise.
9147 (vec_interleave_lowv8sf): Likewise.
9148 (storent<mode>): Macroized.
9149 (<code><mode>2: absneg): Likewise.
9150 (copysign<mode>3): Likewise.
9151 (vec_extract<mode>): Likewise.
9152
9153 PR target/44180
9154 * config/i386/i386.c (expand_vec_perm_even_odd_1): Rewritten
9155 for V8SFmode.
9156
9157 2010-10-13 Richard Guenther <rguenther@suse.de>
9158 H.J. Lu <hongjiu.lu@intel.com>
9159
9160 * config/i386/sse.md (reduc_splus_v8sf): Add.
9161 (reduc_splus_v4df): Likewise.
9162 (vec_unpacks_hi_v8sf): Likewise.
9163 (vec_unpacks_lo_v8sf): Likewise.
9164 (*avx_cvtps2pd256_2): Likewise.
9165 (vec_unpacks_float_hi_v8si): Likewise.
9166 (vec_unpacks_float_lo_v8si): Likewise.
9167 (vec_interleave_highv4df): Likewise.
9168 (vec_interleave_lowv4df): Likewise.
9169
9170 2010-10-13 Richard Guenther <rguenther@suse.de>
9171
9172 PR objc/45878
9173 * gimple-fold.c (gimple_fold_obj_type_ref): Leave OBJ_TYPE_REFs
9174 alone if there are no virtual methods.
9175
9176 2010-10-13 Richard Henderson <rth@redhat.com>
9177
9178 * expr.c (build_personality_function): Take parameter LANG instead
9179 of parameter NAME. Build the name based on the lang prefix and the
9180 unwind method in use.
9181 * tree.c (lhd_gcc_personality): Update call to
9182 build_personality_function.
9183
9184 2010-10-13 Richard Guenther <rguenther@suse.de>
9185
9186 PR objc/45878
9187 * tree-ssa-ccpc (ccp_fold_stmt): Use gimple_fold_obj_type_ref.
9188
9189 2010-10-13 Eric Botcazou <ebotcazou@adacore.com>
9190
9191 * cse.c (cse_insn): Fix thinko in the canonicalization of USE insns.
9192 Canonicalize input operands of ASM_OPERANDS insns.
9193
9194 2010-10-13 Richard Guenther <rguenther@suse.de>
9195
9196 PR tree-optimization/45788
9197 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Delay
9198 EH update until fixup-cfg.
9199
9200 2010-10-13 Julian Brown <julian@codesourcery.com>
9201
9202 * config/arm/arm.h (REG_CLASS_CONTENTS): Remove soft frame pointer
9203 from CORE_REGS and GENERAL_REGS classes.
9204 * config/arm/arm.md (*thumb1_movsi_insn): Ignore all parts of
9205 final constraint for register preferencing.
9206
9207 2010-10-13 Richard Guenther <rguenther@suse.de>
9208
9209 PR tree-optimization/45970
9210 * tree-ssa-alias.h (stmt_kills_ref_p): Declare.
9211 * tree-ssa-alias.c (stmt_kills_ref_p_1): New function.
9212 (stmt_kills_ref_p): Likewise.
9213 * tree-ssa-dse.c (dse_optimize_stmt): Use it.
9214
9215 2010-10-13 Richard Guenther <rguenther@suse.de>
9216
9217 PR tree-optimization/45982
9218 * tree-ssa-structalias.c (make_constraints_to): New function.
9219 (make_constraint_to): Implement in terms of make_constraints_to.
9220 (find_func_aliases): Properly make return values of pure/const
9221 functions escape if they assign to sth that is not a pointer.
9222
9223 2010-10-13 Richard Guenther <rguenther@suse.de>
9224
9225 PR middle-end/45874
9226 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee):
9227 Fixup the CFG when EH was fixed up.
9228
9229 2010-10-13 Ira Rosen <irar@il.ibm.com>
9230
9231 * tree-vect-slp.c (vect_get_constant_vectors): Fix comment.
9232 Use operand's type for POINTER_PLUS_EXPR.
9233
9234 2010-10-13 Alexandre Oliva <aoliva@redhat.com>
9235
9236 * c-parser.c (c_parser_for_statement): Initialize incr.
9237
9238 2010-10-12 Xinliang David Li <davidxl@google.com>
9239
9240 PR tree-optimization/45972
9241 * tree-ssa-uninit.c (compute_uninit_opnds_pos): Skip phis
9242 with too many arguments.
9243
9244 2010-10-12 Jakub Jelinek <jakub@redhat.com>
9245
9246 PR fortran/45636
9247 * tree-ssa-forwprop.c: Include expr.h.
9248 (constant_pointer_difference, simplify_builtin_call): New functions.
9249 (tree_ssa_forward_propagate_single_use_vars): Call
9250 simplify_builtin_call on builtin calls.
9251
9252 2010-10-12 Eric Botcazou <ebotcazou@adacore.com>
9253
9254 * config/sparc/sparc.md (*adddi3_insn_sp32): Rename.
9255 (*adddi3_extend_sp32): Likewise.
9256 (*subdi3_insn_sp32): Likewise.
9257 (*subdi3_extend_sp32): Likewise.
9258 (*negdi2_sp32): Use negative test for consistency.
9259
9260 2010-10-12 Nathan Froyd <froydnj@codesourcery.com>
9261
9262 * libgcc2.h: Use __SIZEOF_DOUBLE__ instead of LIBGCC2_DOUBLE_TYPE_SIZE.
9263 (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
9264 * config/fixed-bit.h: Likewise.
9265 * config/rx/rx.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
9266 * config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
9267 * system.h (LIBGCC2_DOUBLE_TYPE_SIZE): Poison.
9268 * doc/tm.texi.in (LIBGCC2_HAS_DF_MODE): Use DOUBLE_TYPE_SIZE.
9269 (DF_SIZE): Likewise.
9270 * doc/tm.texi: Regenerate.
9271
9272 2010-10-12 Nathan Froyd <froydnj@codesourcery.com>
9273
9274 * config/rs6000/predicates.md (scc_rev_comparison_operator): New.
9275 * config/rs6000/rs6000.md (*isel_reversed_signed_<mode>): New.
9276 (*isel_reversed_unsigned_<mode>): New.
9277 * config/rs6000/rs6000.c (output_isel): Accept GE/GEU/LE/LEU/NE
9278 as valid comparisons and adjust operands and output appropriately.
9279 (rs6000_rtx_costs) <CONST_INT>: Accept NE as a cost-0 outer_code.
9280
9281 2010-10-12 Chung-Lin Tang <cltang@codesourcery.com>
9282
9283 * config/arm/arm.h (ARM_EXPAND_ALIGNMENT): Rename from
9284 DATA_ALIGNMENT and add COND parameter. Update comments above.
9285 (DATA_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !optimize_size.
9286 (LOCAL_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !flag_conserve_stack.
9287
9288 2010-10-12 H.J. Lu <hongjiu.lu@intel.com>
9289
9290 PR bootstrap/45958
9291 * exec-tool.in: Support '-plugin' as the second option to the linker.
9292
9293 2010-10-12 Richard Henderson <rth@redhat.com>
9294
9295 PR middle-end/45962
9296 * cfgexpand.c (add_stack_var): Ensure every variable has 1 byte.
9297 (expand_stack_vars): Assert large base allocated when used.
9298
9299 2010-10-12 Richard Guenther <rguenther@suse.de>
9300
9301 * tree-ssa-structalias.c (get_constraint_for_1): Constants
9302 only point to nonlocal, not anything.
9303
9304 2010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
9305
9306 * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Use sjlj
9307 unwind info for exceptions.
9308
9309 2010-10-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9310
9311 PR testsuite/45851
9312 * doc/sourcebuild.texi (LTO Testing, dg-extra-ld-options):
9313 Document optional target selector.
9314
9315 2010-10-12 Joseph Myers <joseph@codesourcery.com>
9316
9317 * flag-types.h: New.
9318 * Makefile.in (TH_H): Include $(OPTIONS_H) instead of $(FLAGS_H).
9319 (FLAGS_H): Include flag-types.h. Include $(OPTIONS_H) instead of
9320 options.h.
9321 (OPTIONS_H): Define.
9322 (c-family/c-opts.o, lto-opts.o, opts.o): Use $(OPTIONS_H) instead
9323 of options.h.
9324 * configure.ac (tm_include_list): Include options.h not flags.h.
9325 * configure: Regenerate.
9326 * flags.h: Include flag-types.h. Include options.h at top of file
9327 again.
9328 (enum debug_info_type, enum debug_info_level, enum
9329 debug_info_usage, enum symbol_visibility, struct visibility_flags,
9330 enum ira_algorithm, enum ira_region, enum excess_precision, enum
9331 graph_dump_types, enum stack_check_type,
9332 enum warn_strict_overflow_code): Move to flag-types.h
9333 * opth-gen.awk: Include flag-types.h in options.h.
9334
9335 2010-10-12 Jakub Jelinek <jakub@redhat.com>
9336
9337 * expr.c (store_expr): Share code for STRING_CST and
9338 MEM_REF of &STRING_CST cases. Don't require BLKmode, instead
9339 check if target is a MEM.
9340
9341 * rtl.h: Include hashtab.h.
9342 (iterative_hash_rtx): New prototype.
9343 * rtl.c (iterative_hash_rtx): New function.
9344 * dwarf2out.c (dw_loc_list_node): Add hash and emitted fields.
9345 (output_loc_list): Return immediately if emitted is set, set it.
9346 (hash_loc_operands, hash_locs, hash_loc_list,
9347 compare_loc_operands, compare_locs, loc_list_hash, loc_list_eq,
9348 optimize_location_lists_1, optimize_location_lists): New function.
9349 (dwarf2out_finish): Call optimize_location_lists.
9350 * Makefile.in (RTL_BASE_H): Depend on $(HASHTAB_H).
9351
9352 2010-10-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9353
9354 PR testsuite/45974
9355 Revert:
9356 * Makefile.in ($(lang_checks_parallel))
9357 ($(lang_checks_parallelized)): Use single quotes for
9358 $(RUNTESTFLAGS), to allow passing quoted content.
9359
9360 2010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9361
9362 * config/pa/linux-atomic.c (__sync_val_compare_and_swap_4): Return
9363 actual_oldval. Use __builtin_expect.
9364 (SUBWORD_VAL_CAS): Likewise.
9365
9366 2010-10-11 Nathan Froyd <froydnj@codesourcery.com>
9367
9368 * recog.c (nonmemory_operand): Call immediate_operand for
9369 CONSTANT_P operands.
9370
9371 2010-10-11 Uros Bizjak <ubizjak@gmail.com>
9372
9373 * config/i386/i386.md (movmem<mode>): Macroize expander from
9374 movmem{si,di} using SWI48 mode iterator.
9375 (*strmovsi_1): Macroize insn pattern from *strmovsi_1 and
9376 *strmovsi_rex_1 using P mode iterator.
9377 (*strmovhi_1): Ditto from *strmovhi_1 and *strmovhi_rex_1.
9378 (*strmovqi_1): Ditto from *strmovqi_1 and *strmovqi_rex_1.
9379 (*rep_movsi): Ditto from *rep_movsi and *rep_movsi_rex64.
9380 (*rep_movqi): Ditto from *rep_movqi and *rep_movqi_rex64.
9381 (setmem<mode>): Macroize expander from setmem{si,di} using
9382 SWI48 mode iterator.
9383 (*strsetsi_1): Macroize insn pattern from *strsetsi_1 and
9384 *strsetsi_rex_1 using P mode iterator.
9385 (*strsethi_1): Ditto from *strsethi_1 and *strsethi_rex_1.
9386 (*strsetqi_1): Ditto from *strsetqi_1 and *strsetqi_rex_1.
9387 (*rep_stossi): Ditto from *rep_stossi and *rep_stossi_rex64.
9388 (*rep_stosqi): Ditto from *rep_stosqi and *rep_stosqi_rex64.
9389 (*cmpstrnqi_nz_1): Ditto from *cmpstrnqi_nz_1 and *cmpstrnqi_nz_rex_1.
9390 (*cmpstrnqi_1): Ditto from *cmpstrnqi_1 and *cmpstrnqi_rex_1.
9391 (strlen<mode>): Macroize expander from strlen{si,di} using SWI48x
9392 mode iterator.
9393 (*strlenqi_1): Macroize insn pattern from *strlenqi_1 and
9394 *strlenqi_rex_1 using P mode iterator.
9395
9396 2010-10-11 Bernd Schmidt <bernds@codesourcery.com>
9397
9398 PR bootstrap/45445
9399 * ira-lives.c (mark_pseudo_reg_live, mark_pseudo_reg_dead): New
9400 static functions.
9401 (mark_ref_live, mark_ref_dead): Use them.
9402 (make_pseudo_conflict): New arg ORIG_DREG. All callers changed.
9403 Save the original reg, and use the new functions.
9404 (check_and_make_def_use_conflict): New arg ORIG_DREG. All callers
9405 changed.
9406 (check_and_make_def_conflict): Save the original reg.
9407
9408 2010-10-11 Martin Jambor <mjambor@suse.cz>
9409
9410 PR middle-end/45699
9411 * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Choose among
9412 thunks.
9413
9414 2010-10-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9415
9416 * Makefile.in ($(lang_checks_parallel))
9417 ($(lang_checks_parallelized)): Use single quotes for
9418 $(RUNTESTFLAGS), to allow passing quoted content.
9419
9420 PR bootstrap/35855
9421 * opt-functions.awk (BEGIN): New section.
9422 (lower, upper, digit, alnum): New variables.
9423 (static_var, opt_sanitized_name): Use alnum instead of character
9424 classes, for non-C locale.
9425 * optc-gen.awk: Likewise.
9426 * opth-gen.awk: Likewise.
9427
9428 2010-10-11 Anatoly Sokolov <aesok@post.ru>
9429
9430 * target.def (preferred_reload_class): New hook.
9431 * doc/tm.texi.in (TARGET_PREFERRED_RELOAD_CLASS): Document.
9432 * doc/tm.texi: Regenerate.
9433 * targhooks.c (default_preferred_reload_class): New function.
9434 * targhooks.h (default_preferred_reload_class): Declare.
9435 * reload.c (find_dummy_reload): Change preferred_class variable type
9436 from enum reg_class to reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS
9437 target hook.
9438 (find_reloads): Change goal_alternative array type from int to
9439 reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS target hook.
9440 (push_reload, find_reloads_address_part): Use
9441 TARGET_PREFERRED_RELOAD_CLASS target hook.
9442 * reload1.c (emit_input_reload_insns): Ditto.
9443 * ira-costs.c (copy_cost): Use TARGET_PREFERRED_RELOAD_CLASS target
9444 hook. Change rclass argument and secondary_class variable types from
9445 'enum reg_class' to reg_class_t.
9446
9447 * config/i386/i386.h (PREFERRED_RELOAD_CLASS): Remove.
9448 * config/i386/i386-protos (ix86_preferred_reload_class): Remove.
9449 * config/i386/i386.c (ix86_preferred_reload_class): Make static.
9450 Change regclass argument and result types from enum reg_class to
9451 reg_class_t.
9452 (TARGET_PREFERRED_RELOAD_CLASS): Define.
9453
9454 2010-10-11 Eric Botcazou <ebotcazou@adacore.com>
9455
9456 * simplify-rtx.c (simplify_unary_operation_1): Use unsigned arithmetics
9457 in masking operations.
9458 (simplify_const_unary_operation): Likewise.
9459 (simplify_binary_operation_1): Likewise.
9460 (simplify_const_binary_operation): Likewise.
9461 (simplify_const_relational_operation): Likewise.
9462 (simplify_ternary_operation): Likewise.
9463 (simplify_immed_subreg): Likewise.
9464
9465 2010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9466
9467 PR middle-end/45862
9468 * doc/tm.texi.in (SUPPORTS_WEAK): Update.
9469 (TARGET_SUPPORTS_WEAK): New.
9470 * doc/tm.texi: Regenerate.
9471 * defaults.h (SUPPORTS_WEAK): Update comment.
9472 (TARGET_SUPPORTS_WEAK): New.
9473 * dwarf2asm.c (USE_LINKONCE_INDIRECT): Update define.
9474 * varasm.c (assemble_external): Use TARGET_SUPPORTS_WEAK instead of
9475 SUPPORTS_WEAK.
9476 (merge_weak, declare_weak, do_assemble_alias, supports_one_only,
9477 make_decl_one_only): Likewise.
9478 * config/pa/som.h (SUPPORTS_WEAK): Rename defines to
9479 TARGET_SUPPORTS_WEAK.
9480 (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Use TARGET_SUPPORTS_WEAK
9481 instead of SUPPORTS_WEAK.
9482
9483 2010-10-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9484
9485 * config/sparc/gmon-sol2.c: Don't include coretypes.h, tm.h.
9486
9487 2010-10-11 Nathan Froyd <froydnj@codesourcery.com>
9488
9489 * vec.h (VEC_qsort): Define.
9490 * dbxout.c (output_used_types): Use it.
9491 * df-scan.c (df_sort_and_compress_refs): Likewise.
9492 (df_sort_and_compress_mws): Likewise.
9493 * genautomata.c (uniq_sort_alt_states): Likewise.
9494 (evaluate_equiv_classes): Likewise.
9495 (output_trans_table): Likewise.
9496 (output_state): Likewise.
9497 * gimplify.c (compare_case_labels): Likewise.
9498 * graphite-sese-to-poly.c (graphite_sort_dominated_info): Likewise.
9499 * ipa.c (build_cdtor_fns): Likewise.
9500 * lto.c (lto_wpa_write_files): Likewise.
9501 * sel-sched.c (fill_vec_av_set): Likewise.
9502 * tree-predcom.c (determine_roots_comp): Likewise.
9503 * tree-sra.c (sort_and_spliace_var_accesses): Likewise.
9504 (splice_param_accesses): Likewise.
9505 * tree-ssa-live.c (dump_enumerated_decls): Likewise.
9506 * tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
9507 (reassociate_bb): Likewise.
9508 * tree-ssa-sccvn.c (sort_scc): Likewise.
9509 * tree-ssa-structalias.c (sort_fieldstack): Likewise.
9510
9511 2010-10-11 Ian Lance Taylor <iant@google.com>
9512
9513 * tree.h (TREE_THIS_NOTRAP): Use TREE_CHECK5.
9514 * emit-rtl.c (set_mem_attributes_minus_bitpos): Only check
9515 TREE_THIS_NOTRAP when appropriate.
9516 (get_spill_slot_decl): Don't set TREE_THIS_NOTRAP on the new VAR_DECL.
9517 * gimplify.c (gimplify_expr): Copy NOTRAP from INDIRECT_REF to
9518 newly created MEM_REF.
9519
9520 2010-10-11 Hariharan Sandanagobalane <hariharan@picochip.com>
9521
9522 Nathan Froyds patch to hooks FUNCTION_ARG etc.
9523 * config/picochip/picochip-protos.h (picochip_function_arg): Delete.
9524 (picochip_incoming_function_arg): Delete.
9525 (picochip_arg_advance): Delete.
9526 * config/picochip/picochip.h (FUNCTION_ARG): Delete.
9527 (FUNCTION_INCOMING_ARG): Delete.
9528 (FUNCTION_ARG_ADVANCE): Delete.
9529 * config/picochip/picochip.c (picochip_function_arg): Take a
9530 const_tree and a bool.
9531 (picochip_incoming_function_arg): Likewise.
9532 (picochip_arg_advance): Likewise.
9533 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
9534 (TARGET_FUNCTION_ARG_ADVANCE): Define.
9535
9536 2010-10-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9537
9538 PR middle-end/45955
9539 * ipa.c (build_cdtor): Delete endless loop.
9540
9541 2010-10-07 Andi Kleen <ak@linux.intel.com>
9542
9543 * Makefile.in (MOSTLYCLEANFILES): Remove cc1*dummy, add
9544 checksum-options.
9545 (checksum-options): Add.
9546 (cc1-dummy): Remove.
9547 (cc1-checksum): Change to run checksum over object files
9548 and options only.
9549 * dummy-checksum.c: Remove.
9550 * genchecksum.c: Update copyright.
9551 (usage): Allow multiple arguments.
9552 (BLOCKSIZE): Add.
9553 (dosum): Change for incremental checksum. Remove C output.
9554 (main): Iterate over all argument files. Add C output.
9555
9556 2010-10-11 Joseph Myers <joseph@codesourcery.com>
9557
9558 * params.c (set_param_value_internal): New.
9559 (set_param_value): Use set_param_value_internal.
9560 (maybe_set_param_value, set_default_param_value): New.
9561 * params.h (PARAM_VALUE, PARAM_SET_P): Make into rvalues.
9562 (maybe_set_param_value, set_default_param_value): Declare.
9563 * config/arm/arm.c (arm_option_override): Use maybe_set_param_value.
9564 * config/i386/i386.c (ix86_option_override_internal): Use
9565 maybe_set_param_value.
9566 * config/ia64/ia64.c (ia64_option_default_params,
9567 TARGET_OPTION_DEFAULT_PARAMS): New.
9568 (ia64_option_optimization): Move some code to
9569 ia64_option_default_params.
9570 * config/picochip/picochip.c (picochip_option_override): Use
9571 maybe_set_param_value.
9572 * config/rs6000/rs6000.c (rs6000_option_default_params,
9573 TARGET_OPTION_DEFAULT_PARAMS): New.
9574 (rs6000_option_override_internal): Use maybe_set_param_value.
9575 (rs6000_option_optimization): Move some code to
9576 rs6000_option_default_params.
9577 * config/s390/s390.c (s390_option_override): Use maybe_set_param_value.
9578 * config/sh/sh.c (sh_option_default_params,
9579 TARGET_OPTION_DEFAULT_PARAMS): New.
9580 (sh_option_optimization): Move some code to sh_option_default_params.
9581 * config/sparc/sparc.c (sparc_option_override): Use
9582 maybe_set_param_value.
9583 * config/spu/spu.c (spu_option_default_params,
9584 TARGET_OPTION_DEFAULT_PARAMS): New.
9585 (spu_option_optimization): Move some code to spu_option_default_params.
9586 (spu_option_override): Use maybe_set_param_value.
9587 * doc/tm.texi.in (TARGET_OPTION_DEFAULT_PARAMS): New @hook.
9588 * doc/tm.texi: Regenerate.
9589 * ggc-common.c (init_ggc_heuristics): Use set_default_param_value.
9590 * opts.c (init_options_once): Use PARAM_VALUE not direct access to
9591 compiler_params.
9592 (default_options_optimization): Use maybe_set_param_value.
9593 (finish_options): Use maybe_set_param_value.
9594 * target.def (target_option.default_params): New hook.
9595 * toplev.c (general_init): Call targetm.target_option.default_params.
9596
9597 2010-10-11 Ira Rosen <irar@il.ibm.com>
9598
9599 PR tree-optimization/45902
9600 * tree-vect-slp.c (vect_get_constant_vectors): Use statement's
9601 vector type for constants, unless it's a pointer.
9602
9603 2010-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9604
9605 * config/s390/s390.md (*mov<mode>cc): lgoc -> locg and stgoc -> stocg.
9606
9607 2010-10-11 Jakub Jelinek <jakub@redhat.com>
9608
9609 PR target/45870
9610 * config/i386/i386.c (ix86_delegitimize_tls_address): New function.
9611 (ix86_delegitimize_address): Use it.
9612
9613 2010-10-10 Eric Botcazou <ebotcazou@adacore.com>
9614
9615 * opt-functions.awk (opt_sanitized_name): Remove gdwarf+ handling.
9616
9617 2010-10-10 Uros Bizjak <ubizjak@gmail.com>
9618
9619 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Pass pointer
9620 to cum struct in the call to function_arg_advance.
9621 (alpha_function_arg_advance): Mark named as unused.
9622
9623 2010-10-10 Richard Sandiford <rdsandiford@googlemail.com>
9624
9625 * config/mips/mips.c (mips_handle_option): Make "value" with
9626 ATTRIBUTE_UNUSED.
9627
9628 2010-10-09 Richard Henderson <rth@redhat.com>
9629
9630 PR rtl-opt/33721
9631 * explow.c (allocate_dynamic_stack_space): Add REQUIRED_ALIGN parm,
9632 remove TARGET parm, convert KNOWN_ALIGN parm to SIZE_ALIGN. Honor
9633 required_align, tidy the code a bit. Emit split_stack code in the
9634 right place. Mark the return value with the alignment properly.
9635 * expr.h (allocate_dynamic_stack_space): Update decl.
9636 * builtins.c (expand_builtin_apply): Update call to
9637 allocate_dynamic_stack_space.
9638 (expand_builtin_alloca): Likewise. Remove TARGET parameter.
9639 * calls.c (initialize_argument_information): Update call to
9640 allocate_dynamic_stack_space.
9641 (expand_call): Likewise.
9642
9643 * cfgexpand.c (get_decl_align_unit): Don't limit alignment.
9644 Don't update_stack_alignment here.
9645 (alloc_stack_frame_space): Make ALIGN unsigned.
9646 (stack_var_cmp): Sort by alignment too.
9647 (partition_stack_vars): Don't merge large and small alignment vars.
9648 (expand_one_stack_var_at): Add BASE and BASE_ALIGN parameters.
9649 Take care when BASE is not virtual_stack_vars_rtx.
9650 (expand_stack_vars): Allocate dynamic stack space for large
9651 alignment variables.
9652 (expand_one_stack_var): Update all to expand_one_stack_var_at.
9653 (defer_stack_allocation): True for large alignment vars.
9654 (update_stack_alignment): Merge into ...
9655 (expand_one_var): ... here.
9656 (gimple_expand_cfg): Place code from expand_stack_vars.
9657
9658 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
9659
9660 * config/pdp11/pdp11.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
9661 * config/pdp11/pdp11.c (pdp11_function_arg): New function.
9662 (pdp11_function_arg_advance): New function.
9663 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
9664
9665 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
9666
9667 * libgcc2.h: Use __SIZEOF_LONG_LONG__ instead of LONG_LONG_TYPE_SIZE.
9668 * libgcc2.c: Likewise.
9669
9670 2010-10-09 Richard Guenther <rguenther@suse.de>
9671
9672 PR lto/45956
9673 * lto-streamer-in.c (lto_register_var_decl_in_symtab):
9674 Properly check if a decl is an automatic var.
9675
9676 2010-10-09 Richard Guenther <rguenther@suse.de>
9677
9678 PR lto/45947
9679 * tree.c (free_lang_data_in_cgraph): Properly walk the varpool.
9680
9681 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
9682
9683 * config/mmix/mmix-protos.h (mmix_function_arg): Delete.
9684 * config/mmix/mmix.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
9685 * config/mmix/mmix.c (mmix_function_arg): Rename to...
9686 (mmix_function_arg_1): ...this. Make static. Take a const_tree and
9687 bool arguments.
9688 (mmix_function_arg): New function.
9689 (mmix_function_incoming_arg): New function.
9690 (mmix_function_arg_advance): New function.
9691 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
9692 (TARGET_FUNCTION_ARG_ADVANCE): Define.
9693
9694 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
9695
9696 * config/vax/vax.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
9697 * config/vax/vax.c (vax_function_arg): New function.
9698 (vax_function_arg_advance): New function.
9699 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
9700
9701 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
9702
9703 * config/pa/pa-protos.h (function_arg): Delete.
9704 * config/pa/pa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
9705 * config/pa/pa.c (function_arg): Rename to...
9706 (pa_function_arg): ...this. Make static. Take a const_tree and
9707 a bool.
9708 (pa_function_arg_advance): New function.
9709 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
9710
9711 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
9712
9713 * config/m68k/m68k.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
9714 * config/m68k/m68k.c (m68k_function_arg): New function.
9715 (m68k_function_arg_advance): New function.
9716 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
9717
9718 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
9719
9720 * config/avr/avr-protos.h (function_arg): Delete.
9721 (function_arg_advance): Delete.
9722 * config/avr/avr.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
9723 * config/avr/avr.c (function_arg): Rename to...
9724 (avr_function_arg): ...this. Make static. Take a const_tree and
9725 a bool.
9726 (function_arg_advance): Rename to...
9727 (avr_function_arg_advance): ...this. Make static. Take a
9728 const_tree and a bool.
9729 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
9730
9731 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
9732
9733 * config/alpha/alpha-protos.h (function_arg): Delete.
9734 * config/alpha/alpha.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
9735 * config/alpha/vms.h (FUNCTION_ARG_ADVANCE): Delete.
9736 * config/alpha/alpha.c (function_arg): Rename to...
9737 (alpha_function_arg): ...this. Make static. Take a const_tree and
9738 a bool. Delete TARGET_ABI_UNICOSMK code.
9739 (alpha_function_arg_advance): New function.
9740 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
9741
9742 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
9743
9744 * config/mep/mep-protos.h (mep_function_arg): Delete.
9745 (mep_function_arg_advance): Delete.
9746 * config/mep/mep.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
9747 * config/mep/mep.c (mep_function_arg): Make static. Take a
9748 const_tree and a bool.
9749 (mep_function_arg_advance): Likewise.
9750 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
9751
9752 2010-10-09 Richard Guenther <rguenther@suse.de>
9753
9754 PR tree-optimization/45945
9755 * tree-ssa.c (execute_update_addresses_taken): Fixup LHS scanning.
9756
9757 2010-10-09 Eric Botcazou <ebotcazou@adacore.com>
9758
9759 PR tree-optimization/45612
9760 * ipa-split.c (test_nonssa_use): Remove bogus ATTRIBUTE_UNUSED.
9761 Test LABEL_DECLs as well. Fix formatting issues.
9762 (verify_non_ssa_vars): Return false for a GIMPLE_LABEL statement
9763 whose label is present in NON_SSA_VARS.
9764 (mark_nonssa_use): Remove bogus ATTRIBUTE_UNUSED. Handle LABEL_DECLs
9765 as well. Fix formatting issues.
9766 (visit_bb): Fix typos and formatting issue.
9767
9768 2010-10-09 Nathan Froyd <froydnj@codesourcery.com>
9769
9770 PR tree-optimization/45950
9771 * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): Consult length
9772 before initializing vno->op.
9773
9774 2010-10-09 Ralf Corsépius <ralf.corsepius@rtems.org>
9775
9776 * config.gcc (bfin*-rtems*): Add newlib-stdint.h.
9777 * config.gcc (lm32*-rtems*): Add newlib-stdint.h.
9778
9779 2010-10-08 H.J. Lu <hongjiu.lu@intel.com>
9780
9781 PR target/45913
9782 * config/i386/i386.c (ix86_binary_operator_ok): Support
9783 "andhi/andsi/anddi" as a zero-extending move.
9784
9785 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
9786
9787 * builtins.c (fold_call_stmt): Don't copy gimple call arguments
9788 into a temporary array.
9789
9790 2010-10-08 Jakub Jelinek <jakub@redhat.com>
9791
9792 PR tree-optimization/45903
9793 * simplify-rtx.c (simplify_subreg): Optimize lowpart SUBREG
9794 of {A,L}SHIFTRT of MEM.
9795
9796 2010-10-08 Richard Guenther <rguenther@suse.de>
9797
9798 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
9799 Re-construct BLOCK_VARS.
9800 (lto_input_ts_block_tree_pointers): Do not stream BLOCK_VARS.
9801 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
9802 * tree.c (free_lang_data_in_block): Remove.
9803 (free_lang_data_in_decl): Do not touch DECL_CONTEXT of non-PARM_DECLs.
9804 Do not touch the BLOCK tree.
9805 * expr.c (expand_expr_real_1): Allow externals.
9806
9807 2010-10-08 Richard Guenther <rguenther@suse.de>
9808
9809 * lto-streamer-out.c (lto_output_ts_block_tree_pointers):
9810 Do not output BLOCK_SUBBLOCKS.
9811 * lto-streamer-in.c (lto_input_ts_block_tree_pointers):
9812 Reserve exact space needed for BLOCK_NONLOCALIZED_VARS.
9813 Re-construct BLOCK_SUBBLOCKS of parent block.
9814 (lto_input_ts_binfo_tree_pointers): Reserve exact space needed
9815 for BINFO_BASE_ACCESSES.
9816
9817 2010-10-08 Joseph Myers <joseph@codesourcery.com>
9818
9819 * Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h.
9820 (TREE_H): Include $(FLAGS_H) instead of options.h.
9821 (opts-common.o): Depend on $(FLAGS_H) instead of options.h.
9822 * c-objc-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
9823 * common.opt (flag_complex_method, flag_evaluation_order,
9824 flag_ira_algorithm, flag_ira_region, flag_warn_unused_result): New
9825 Variable declarations.
9826 * configure.ac (tm_include_list): Include flags.h instead of options.h.
9827 * configure: Regenerate.
9828 * flags.h: Condition out contents for target libraries. Include
9829 options.h at end of file.
9830 (flag_complex_method, flag_ira_algorithm, flag_ira_region,
9831 flag_evaluation_order, flag_warn_unused_result): Remove.
9832 * gcc.c (main): Intialize global_options with global_options_init.
9833 * langhooks-def.h (lhd_init_options_struct): Declare.
9834 (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
9835 (LANG_HOOKS_INITIALIZER): Include LANG_HOOKS_INIT_OPTIONS_STRUCT.
9836 * langhooks.c (lhd_init_options_struct): New.
9837 * langhooks.h (struct lang_hooks): Add init_options_struct.
9838 Update comment on init_options.
9839 * optc-gen.awk: Generate initializer for global_options_init, not
9840 global_options.
9841 * opth-gen.awk: Condition out structure declarations for target
9842 libraries. Declare global_options_init.
9843 * opts-common.c: Include flags.h instead of options.h.
9844 * opts.c (flag_warn_unused_result): Remove.
9845 (read_cmdline_options): Take gcc_options parameters. Pass them to
9846 read_cmdline_option.
9847 (initial_lang_mask, initial_min_crossjump_insns,
9848 initial_max_fields_for_field_sensitive,
9849 initial_loop_invariant_max_bbs_in_loop): Define at file scope.
9850 (init_options_once): New. Split out of decode_options.
9851 (init_options_struct): New. Split out of decode_options.
9852 (decode_cmdline_options_to_array_default_mask): New.
9853 (default_options_optimization): New. Split out of decode_options.
9854 (decode_options): Move most code to other functions. Update call
9855 to read_cmdline_options.
9856 (finish_options): New. Split out of decode_options.
9857 * opts.h (decode_options): Add gcc_options parameters.
9858 (init_options_once, init_options_struct,
9859 decode_cmdline_options_to_array_default_mask): New.
9860 * toplev.c (flag_complex_method, flag_ira_algorithm,
9861 flag_ira_region, flag_evaluation_order): Remove.
9862 (general_init): Use global_options_init for initial flag values
9863 for global_dc.
9864 (toplev_main): Call init_options_once, init_options_struct,
9865 lang_hooks.init_options_struct,
9866 decode_cmdline_options_to_array_default_mask and
9867 lang_hooks.init_option before decode_options. Update arguments to
9868 decode_options.
9869 * tree.h: Include flags.h instead of options.h.
9870
9871 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
9872
9873 * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
9874
9875 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
9876
9877 * config/sparc/sparc-protos.h (function_arg_advance, function-arg):
9878 Delete.
9879 * config/sparc/sparc.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.
9880 (FUNCTION_INCOMING_ARG): Delete.
9881 * config/sparc/sparc.c (scan_record_type): Const-ify tree argument.
9882 (function_arg_slotno): Likewise. Take bool arguments.
9883 (sparc_arg_partial_bytes): Update call to it.
9884 (function_arg): Rename to...
9885 (sparc_function_arg_1): ...this. Take bool arguments.
9886 (sparc_function_arg, sparc_function_incoming_arg): New functions.
9887 (function_arg_advance): Rename to...
9888 (sparc_function_arg_advance): ...this. Take bool argument.
9889 (TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG): Define.
9890 (TARGET_FUNCTION_INCOMING_ARG): Define.
9891
9892 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
9893
9894 * config/bfin/bfin-protos.h (function_arg, function_arg_advance):
9895 Delete.
9896 * config/bfin/bfin.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
9897 * config/bfin/bfin.c (function_arg_advance): Rename to...
9898 (bfin_function_arg_advance): ...this. Make static. Take const_tree
9899 and bool arguments.
9900 (function_arg): Rename to...
9901 (bfin_function_arg): ...this. Make static. Take const_tree and bool
9902 arguments.
9903 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
9904
9905 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
9906
9907 * config/score/score-protos.h (score_function_arg): Delete.
9908 (score_function_arg_advance): Delete.
9909 * config/score/score3.h (score3_function_arg_advance): Take a
9910 const_tree and a bool.
9911 (score3_function_arg): Likewise.
9912 * config/score/score7.h (score7_function_arg_advance): Likewise.
9913 (score7_function_arg): Likewise.
9914 * config/score/score3.c (score3_classify_arg): Likewise.
9915 (score3_function_arg_advance, score3_function_arg): Likewise.
9916 * config/score/score7.c (score7_classify_arg): Likewise.
9917 (score7_function_arg_advance, score7_function_arg): Likewise.
9918 * config/score/score.c (score_function_arg_advance): Likewise.
9919 (score_function_arg): Likewise. De-const-ify `cum' argument.
9920 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
9921
9922 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
9923
9924 * config/s390/s390-protos.h (s390_function_arg_advance): Delete.
9925 (s390_function_arg): Delete.
9926 * config/s390/s390.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
9927 * config/s390/s390.c (s390_function_arg_float): Take a const_tree.
9928 (s390_function_arg_integer): Likewise.
9929 (s390_function_arg_advance): Make static. Take a const_tree and
9930 a bool.
9931 (s390_function_arg): Likewise.
9932 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
9933
9934 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
9935
9936 * config/spu/spu-protos.h (spu_function_arg): Delete.
9937 * config/spu/spu.h (FUNCTION_ARG): Delete.
9938 (FUNCTION_ARG_ADVANCE): Move code to ...
9939 * config/spu/spu.c (spu_function_arg_advance): New function.
9940 (spu_function_arg): Make static. Take a const_tree and a bool.
9941 (spu_setup_incoming_varargs): Call spu_function_arg_advance.
9942 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
9943
9944 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
9945
9946 * config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
9947
9948 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
9949
9950 * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): New function.
9951 (init_vn_nary_op_from_op): New function.
9952 (init_vn_nary_op_from_stmt): New function.
9953 (vn_nary_op_lookup_1): New function.
9954 (sizeof_vn_nary_op): New function.
9955 (alloc_vn_nary_op_noinit): New function.
9956 (alloc_vn_nary_op): New function.
9957 (vn_nary_op_insert_into): New function.
9958 (vn_nary_op_lookup_pieces): Rewrite to use new helper functions.
9959 (vn_nary_op_lookup): Likewise.
9960 (vn_nary_op_lookup_stmt): Likewise.
9961 (vn_nary_op_insert_pieces): Likewise.
9962 (vn_nary_op_insert): Likewise.
9963 (vn_nary_op_insert_stmt): Likewise.
9964 (copy_nary): Likewise.
9965 (set_value_id_for_result): New function.
9966 (set_hashtable_value_ids): Call it.
9967
9968 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
9969
9970 * config/fr30/fr30.c (TARGET_EXCEPT_UNWIND_INFO): Define.
9971 * config/fr30/fr30.md (leave_func): Rewrite without post_inc.
9972
9973 2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
9974
9975 * config/mcore/mcore.h (INCOMING_RETURN_ADDR_RTX): Define.
9976 * config/mcore/mcore.c (TARGET_EXCEPT_UNWIND_INFO): Define.
9977
9978 2010-10-08 Alexandre Oliva <aoliva@redhat.com>
9979
9980 PR debug/45656
9981 * cse.c (cse_extended_basic_block): Preserve cc0 info across
9982 debug isnsn. Skip them when searching for cc0 setter.
9983 (set_live_p): Skip debug insns when searching for cc0 user.
9984
9985 2010-10-08 Alexandre Oliva <aoliva@redhat.com>
9986
9987 PR debug/45673
9988 PR debug/45604
9989 PR debug/45419
9990 PR debug/45408
9991 * tree-pretty-print.c (dump_generic_node): Explicitly dump the
9992 type of MEM_REFs to INTEGER_CSTs.
9993
9994 2010-10-07 Nathan Froyd <froydnj@codesourcery.com>
9995
9996 * config/m68hc11/m68hc11.c (m68hc11_print_operand): Call
9997 m68hc11_print_operand_address.
9998
9999 2010-10-07 Nathan Froyd <froydnj@codesourcery.com>
10000
10001 * builtins.c (rewrite_call_expr): Move code to...
10002 (rewrite_call_expr_valist): ...here. Call build_call_expr_loc_array.
10003 (rewrite_call_expr_array): New function.
10004 (fold_builtin_sprintf_chk_1): New function.
10005 (fold_builtin_sprintf_chk): Call it.
10006 (gimple_fold_builtin_sprintf_chk): Likewise.
10007 (fold_builtin_snprintf_chk_1): New function.
10008 (fold_builtin_snprintf_chk): Call it.
10009 (gimple_fold_builtin_snprintf_chk): Likewise.
10010 (gimple_rewrite_call_expr): Delete.
10011
10012 2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
10013
10014 * config.host: Update copyright year.
10015
10016 2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
10017
10018 * config.host (host_lto_plugin_soname): New shell variable.
10019 * configure.ac (LTOPLUGINSONAME): Add an AC_DEFINE for the above.
10020 * config.in: Regenerate.
10021 * configure: Regenerate.
10022 * gcc.c (main): Use LTOPLUGINSONAME instead of hard-coding name of
10023 LTO plugin shared library.
10024
10025 2010-10-07 Richard Henderson <rth@redhat.com>
10026
10027 * target.h (enum unwind_info_type): Move ...
10028 * coretypes.h: ... here.
10029
10030 2010-10-07 Nicola Pero <nicola.pero@meta-innovation.com>
10031
10032 * doc/objc.texi (Fast enumeration protocol): Mention that
10033 'unsigned int' can also be used instead of 'unsigned long' in
10034 countByEnumeratingWithState:objects:count:.
10035
10036 2010-10-07 Martin Jambor <mjambor@suse.cz>
10037
10038 * tree-sra.c (struct access): New field grp_assignment_write.
10039 (dump_access): Dump grp_assignment_write.
10040 (build_accesses_from_assign): Set grp_assignment_write.
10041 (sort_and_splice_var_accesses): Aggregate grp_assignment_write.
10042 (mark_read_status): Renamed to mark_rw_status, individual values
10043 renamed too.
10044 (analyze_access_subtree): Changed type of mark_write to
10045 mark_read_status. Fixed propagating of mark_read and
10046 mark_write. Changed benefit estimate. Updated comment.
10047
10048 2010-10-07 Tejas Belagod <tejas.belagod@arm.com>
10049
10050 PR Tree-Vect/45847
10051 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Add NULL
10052 check for vectype_out returned by get_vectype_for_scalar_type().
10053
10054 2010-10-07 Tejas Belagod <tejas.belagod@arm.com>
10055
10056 PR target/45805
10057 * config/arm/neon.md (neon_unpack<US>_<mode>): Add 'w' to
10058 constraint, add register specifier in instruction template.
10059 (neon_vec_pack_trunc_<mode>): Likewise.
10060 (neon_vec_<US>mult_<mode>): Add register specifier to
10061 instruction template.
10062
10063 2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com>
10064
10065 * config.gcc (c_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add
10066 cygwin2.o.
10067 (cxx_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Likewise.
10068 (extra_gcc_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add cygwin1.o.
10069 * config/i386/t-cygwin (cygwin1.o): Delete build rule.
10070 (cygwin2.o): Likewise.
10071 * config/i386/cygwin1.c: Delete file.
10072 * config/i386/cygwin2.c: Likewise.
10073 * config/i386/cygwin.h (CPP_SPEC): Remove all %{mno-cygwin} specs and
10074 make all {%!mno-cygwin} ones unconditional.
10075 (STARTFILE_SPEC): Likewise.
10076 (REAL_LIBGCC_SPEC): Likewise.
10077 (LIB_SPEC): Likewise.
10078 (CXX_WRAP_SPEC): Likewise.
10079 (LINK_SPEC): Likewise.
10080 (CYGWIN_MINGW_SUBDIR): Delete now-unused macro definition.
10081 (CYGWIN_MINGW_SUBDIR_LEN): Likewise.
10082 (cygwin_gplusplus_include_dir): Delete now-unused array.
10083 (GPLUSPLUS_INCLUDE_DIR): Don't redefine to point to it.
10084 (cygwin_gplusplus_tool_include_dir): Delete now-unused array.
10085 (GPLUSPLUS_TOOL_INCLUDE_DIR): Don't redefine to point to it.
10086 (cygwin_gplusplus_backward_include_dir): Delete now-unused array.
10087 (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Don't redefine to point to it.
10088 (cygwin_local_include_dir): Delete now-unused array.
10089 (LOCAL_INCLUDE_DIR): Don't redefine to point to it.
10090 (cygwin_cross_include_dir): Delete now-unused array.
10091 (CROSS_INCLUDE_DIR): Don't redefine to point to it.
10092 (cygwin_tool_include_dir): Delete now-unused array.
10093 (TOOL_INCLUDE_DIR): Don't redefine to point to it.
10094 (cygwin_standard_include_dir): Delete now-unused array.
10095 (STANDARD_INCLUDE_DIR): Don't redefine to point to it.
10096 (GEN_CVT_ARRAY): Delete now-unused macro definition.
10097 (cvt_to_mingw): Delete now-unused array.
10098 (mingw_scan): Remove prototype of deleted function.
10099 (GCC_DRIVER_HOST_INITIALIZATION): Don't define now-unused target macro.
10100 * config/i386/cygming.opt (mcygwin): Delete target-specific option.
10101 * doc/invoke.texi (-mcygwin): Don't document removed option.
10102 (-mno-cygwin): Likewise.
10103
10104 2010-10-07 Richard Guenther <rguenther@suse.de>
10105
10106 * machmode.h (mode_for_vector): Declare.
10107 * stor-layout.c (mode_for_vector): New function, split out from ...
10108 (layout_type): ... here.
10109 * tree-vectorizer.h (current_vector_size): Declare.
10110 * tree-vect-stmts.c (perm_mask_for_reverse): Check if the
10111 mask vector type is available.
10112 (get_vectype_for_scalar_type): Rename to ...
10113 (get_vectype_for_scalar_type_and_size): ... this. Get a vector
10114 size argument.
10115 (get_vectype_for_scalar_type): New wrapper around
10116 get_vectype_for_scalar_type_and_size using current_vector_size.
10117 (get_same_sized_vectype): Use get_vectype_for_scalar_type_and_size.
10118 * tree-vect-loop.c (vect_analyze_loop_2): Split out core part
10119 of vect_analyze_loop here.
10120 (vect_analyze_loop): Loop over vector sizes calling vect_analyze_loop_3.
10121 * tree-vect-slp.c (vect_slp_analyze_bb): Set current_vector_size
10122 to autodetect.
10123 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Fix
10124 V8SF to V8SI conversion builtin.
10125
10126 2010-10-07 Richard Guenther <rguenther@suse.de>
10127
10128 * target.def (autovectorize_vector_sizes): New target hook.
10129 * targhooks.c (default_autovectorize_vector_sizes): New function.
10130 * targhooks.h (default_autovectorize_vector_sizes): Declare.
10131 * doc/tm.texi.in (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES):
10132 Document.
10133 * doc/tm.texi: Update.
10134 * config/i386/i386.c (ix86_autovectorize_vector_sizes): New function.
10135 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
10136
10137 2010-10-07 Richard Guenther <rguenther@suse.de>
10138
10139 * target.def (units_per_simd_word): Rename to ...
10140 (preferred_simd_mode): ... this. Return mode instead of size.
10141 * targhooks.c (default_units_per_simd_word): Rename to ...
10142 (default_preferred_simd_mode): ... this. Return word_mode.
10143 * targhooks.h (default_preferred_simd_mode): Declare.
10144 * config/arm/arm.c (arm_units_per_simd_word): Rename to ...
10145 (arm_preferred_simd_mode): ... this. Re-implement.
10146 * config/i386/i386.c (ix86_units_per_simd_word): Rename to ...
10147 (ix86_preferred_simd_mode): ... this. Re-implement.
10148 * config/sparc/sparc.c (sparc_units_per_simd_word): Rename to ...
10149 (sparc_preferred_simd_mode): ... this. Re-implement.
10150 * config/mips/mips.c (mips_units_per_simd_word): Rename to ...
10151 (mips_preferred_simd_mode): ... this. Re-implement.
10152 * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Rename to ...
10153 (rs6000_preferred_simd_mode): ... this. Re-implement.
10154 * tree-vect-stmts.c (get_vectype_for_scalar_type): Adjust.
10155 * doc/tm.texi.in (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Remove.
10156 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE): Document.
10157 * doc/tm.texi: Update.
10158
10159 2010-10-07 Richard Guenther <rguenther@suse.de>
10160
10161 PR middle-end/45869
10162 * tree-cfg.c (verify_gimple_assign_binary): Allow vector shifts
10163 of pointers.
10164
10165 2010-10-07 Alan Modra <amodra@gmail.com>
10166
10167 * config/rs6000/rs6000.c (rs6000_emit_prologue): Use gen_int_mode
10168 rather than sign extension by hand.
10169
10170 2010-10-07 Jan Hubicka <jh@suse.cz>
10171
10172 PR middle-end/45926
10173 * ipa.c (cgraph_remove_unreachable_nodes): Revert my previous patch.
10174
10175 2010-10-07 Richard Guenther <rguenther@suse.de>
10176
10177 PR bootstrap/45914
10178 * configure.ac: Fix typo.
10179 * configure: Regenerated.
10180
10181 2010-10-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10182
10183 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Don't use
10184 define_builtin_std where it's unnecessary.
10185 * config/i386/nto.h (TARGET_OS_CPP_BUILTINS): Likewise.
10186
10187 2010-10-06 Anatoly Sokolov <aesok@post.ru>
10188
10189 * doc/tm.texi.in (CLASS_LIKELY_SPILLED_P): Remove documentation.
10190 * doc/tm.texi.in: Regenerate.
10191 * system.h (CLASS_LIKELY_SPILLED_P): Poison.
10192 * targhooks.c (default_class_likely_spilled_p): Don't use the
10193 CLASS_LIKELY_SPILLED_P macro.
10194
10195 * config/arm/arm.md: Update comment.
10196
10197 2010-10-06 Jan Hubicka <jh@suse.cz>
10198
10199 * ipa.c (cgraph_remove_unreachable_nodes): External references can
10200 always be removed.
10201 (cgraph_externally_visible_p): We can not bring local comdats that
10202 are known to linker; fix handling of internal visibility.
10203 (function_and_variable_visibility): Likewise.
10204
10205 2010-10-06 Eric Botcazou <ebotcazou@adacore.com>
10206
10207 PR rtl-optimization/45394
10208 * combine.c (cleanup_auto_inc_dec): Remove AFTER parameter and adjust.
10209 (struct rtx_subst_pair): Remove AFTER field.
10210 (propagate_for_debug_subst): Adjust call to cleanup_auto_inc_dec.
10211 (propagate_for_debug): Remove MOVE parameter and adjust.
10212 (try_combine): In the special case where I2 is a PARALLEL, combine only
10213 destinations of SETs and set I2SRC to the I2 source.
10214 Adjust calls to propagate_for_debug throughout.
10215 * reload1.c (eliminate_regs_1) <ASM_OPERANDS>: Do not abort for debug
10216 insns.
10217
10218 2010-10-06 Olivier Hainque <hainque@adacore.com>
10219
10220 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Rewrite
10221 switch on insn codes as sequence of ifs.
10222
10223 2010-10-06 Hariharan Sandanagobalane <hariharan@picochip.com>
10224
10225 * config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Define it to
10226 be UI_NONE for picochip.
10227 (picochip_option_override): Do not disable exception flags.
10228 * config/picochip/picochip-protos.h (picochip_except_unwind_info):
10229 Declare.
10230
10231 2010-10-06 Richard Guenther <rguenther@suse.de>
10232
10233 * Makefile.in (regmove.o): Depend on $(TARGET_H).
10234
10235 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
10236
10237 Implemented fast enumeration for Objective-C.
10238 * c-parser.c (objc_could_be_foreach_context): New.
10239 (c_lex_one_token): Recognize RID_IN keyword in a potential
10240 Objective-C foreach context.
10241 (c_parser_declaration_or_fndef): Added parameter. Accept
10242 Objective-C RID_IN keyword as terminating a declaration; in that
10243 case, return the declaration in the new parameter.
10244 (c_parser_extenral_declaration): Updated calls to
10245 c_parser_declaration_or_fndef.
10246 (c_parser_declaration_or_fndef): Same change.
10247 (c_parser_compound_statement_nostart): Same change.
10248 (c_parser_label): Same change.
10249 (c_parser_objc_methodprotolist): Same change.
10250 (c_parser_omp_for_loop): Same change.
10251 (c_parser_for_statement): Detect and parse Objective-C foreach
10252 statements.
10253 (c_parser_omp_for_loop): Updated call to check_for_loop_decls().
10254 * c-decl.c (check_for_loop_decls): Added parameter to allow ObjC
10255 fast enumeration parsing code to turn off the c99 error but still
10256 perform checks on the loop declarations.
10257 * c-tree.h (check_for_loop_decls): Updated declaration.
10258 * doc/objc.texi: Document fast enumeration.
10259
10260 2010-10-06 Nick Clifton <nickc@redhat.com>
10261
10262 * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Increment by one.
10263 (MDR_REGNUM): Define.
10264 (FIXED_REGISTERS, CALL_USED_REGISTERS): Add MDR as a fixed register.
10265 (REG_CLASS_CONTENTS): Add MDR to ALL_REGS.
10266 (INCOMING_RETURN_ADDR_RTX): Define in terms of MDR.
10267 (REGISTER_NAMES): Add MDR.
10268 (DWARF2_DEBUGGING_INFO): Define to 1.
10269 * config/mn10300/mn10300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
10270 (F): New function. Sets RTX_FRAME_RELATED_P.
10271 (mn10300_gen_multiple_store): Use F.
10272 (expand_prologue): Use F. Use gen_movsf() to push floating
10273 point registers.
10274 (expand_epilogue): Use gen_movsf() to pop floating point registers.
10275 (mn10300_option_override): Disable combine stack adjust pass.
10276
10277 2010-10-06 Thomas Schwinge <thomas@schwinge.name>
10278
10279 PR target/45901
10280 * config/alpha/gnu.h (TARGET_OS_CPP_BUILTINS): Refer to
10281 LINUX_TARGET_OS_CPP_BUILTINS instead of HURD_TARGET_OS_CPP_BUILTINS.
10282
10283 2010-10-06 Jakub Jelinek <jakub@redhat.com>
10284
10285 * builtins.def (BUILT_IN_CALLOC, BUILT_IN_REALLOC,
10286 BUILT_IN_ISALNUM, BUILT_IN_ISALPHA, BUILT_IN_ISASCII,
10287 BUILT_IN_ISBLANK, BUILT_IN_ISCNTRL, BUILT_IN_ISDIGIT,
10288 BUILT_IN_ISGRAPH, BUILT_IN_ISLOWER, BUILT_IN_ISPRINT,
10289 BUILT_IN_ISPUNCT, BUILT_IN_ISSPACE, BUILT_IN_ISUPPER,
10290 BUILT_IN_ISXDIGIT, BUILT_IN_TOASCII, BUILT_IN_TOLOWER,
10291 BUILT_IN_TOUPPER): Mark as leaf.
10292
10293 PR middle-end/45838
10294 * omp-builtins.def (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
10295 BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
10296 BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
10297 BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
10298 BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_TASK,
10299 BUILT_IN_GOMP_PARALLEL_SECTIONS_START): Use
10300 Revert back to ATTR_NOTHROW_LIST instead of ATTR_NOTHROW_LEAF_LIST.
10301
10302 2010-10-05 Anatoly Sokolov <aesok@post.ru>
10303
10304 * config/m68hc11/m68hc11.h (CLASS_LIKELY_SPILLED_P): Remove.
10305 * config/m68hc11/m68hc11.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
10306 (m68hc11_class_likely_spilled_p): New function.
10307
10308 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
10309
10310 * c-parser.c (c_parser_objc_method_definition): Updated comment.
10311
10312 2010-10-05 Jan Hubicka <jh@suse.cz>
10313
10314 * doc/invoke.texi (-flto-partition, lto-partitions, lto-minpartition):
10315 Document.
10316 * opts.c (decode_options): Handle lto partitions.
10317 * common.opt (flto-partition=1to1, flto-partition=balanced): New.
10318 * params.def (PARAM_LTO_PARTITIONS, MIN_PARTITION_SIZE): New.
10319
10320 2010-10-05 Jan Hubicka <jh@suse.cz>
10321
10322 * cgraphunit.c (assemble_function): Output thunks and aliases before
10323 the function itself.
10324
10325 2010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
10326
10327 * config/picochip/picochip.c (picochip_option_override): Disable
10328 exception flags for picochip.
10329
10330 2010-10-05 Joseph Myers <joseph@codesourcery.com>
10331
10332 * opts-common.c (handle_option, handle_generated_option,
10333 read_cmdline_option, set_option): Add diagnostic_context
10334 parameter. Update calls among these functions.
10335 (set_option): Don't use global_dc.
10336 * opts.c (read_cmdline_options): Pass global_dc to read_cmdline_option.
10337 (decode_options): Pass global_dc to enable_warning_as_error.
10338 (common_handle_option): Pass global_dc to enable_warning_as_error.
10339 (enable_warning_as_error): Add diagnostic_context parameter.
10340 Document parameters. Don't use global_dc. Pass
10341 diagnostic_context parameter to handle_generated_option.
10342 * opts.h (set_option, handle_option, handle_generated_option,
10343 read_cmdline_option, enable_warning_as_error): Add
10344 diagnostic_context parameter.
10345 * Makefile.in (lto-opts.o): Update dependencies.
10346 * coretypes.h (struct diagnostic_context, diagnostic_context):
10347 Declare here.
10348 * diagnostic.h (diagnostic_context): Don't declare typedef here.
10349 * gcc.c (process_command): Pass global_dc to read_cmdline_option.
10350 * langhooks-def.h (struct diagnostic_context): Don't declare here.
10351 (lhd_print_error_function, lhd_initialize_diagnostics): Declare
10352 using diagnostic_context typedef.
10353 * langhooks.c (lhd_initialize_diagnostics): Declare using
10354 diagnostic_context typedef.
10355 * langhooks.h (struct diagnostic_context): Don't declare here.
10356 (initialize_diagnostics, print_error_function): Declare using
10357 diagnostic_context typedef.
10358 * lto-opts.c: Include diagnostic.h.
10359 (lto_reissue_options): Pass global_dc to set_option. Pass
10360 DK_UNSPECIFIED not 0.
10361 * plugin.c (plugins_internal_error_function): Declare using
10362 diagnostic_context typedef.
10363 * plugin.h (struct diagnostic_context): Don't declare here.
10364 (plugins_internal_error_function): Declare using
10365 diagnostic_context typedef.
10366
10367 2010-10-05 Olivier Hainque <hainque@adacore.com>
10368 Nicolas Roche <roche@adacore.com>
10369
10370 * config/vxworksae.h: Add missing VXWORKS_OS_CPP_BUILTINS.
10371 * config/rs6000/vxworks.h: Remove redundant CPP builtin definitions.
10372
10373 2010-10-05 Ira Rosen <irar@il.ibm.com>
10374
10375 PR tree-optimization/45752
10376 * tree-vect-slp.c (vect_get_mask_element): Remove static
10377 variables, make them function arguments.
10378 (vect_transform_slp_perm_load): Pass new arguments to
10379 vect_get_mask_element.
10380
10381 2010-10-05 Richard Guenther <rguenther@suse.de>
10382
10383 * value-prof.c (gimple_divmod_fixed_value): Work on SSA form.
10384 (gimple_mod_pow2): Likewise.
10385 (gimple_mod_subtract): Likewise.
10386 (gimple_ic): Likewise.
10387 (gimple_stringop_fixed_value): Likewise.
10388 * tree-profile.c (tree_init_edge_profiler): Mark profile
10389 functions nothrow and leaf.
10390 (add_abnormal_goto_call_edges): Remove.
10391 (tree_gen_edge_profiler): Work on SSA form.
10392 (tree_gen_ic_profiler): Likewise. Simplify.
10393 (do_tree_profiling): Update SSA form.
10394 (pass_tree_profile): Remove.
10395 (do_tree_profiling): Likewise.
10396 (gate_tree_profile_ipa): New function.
10397 (pass_ipa_tree_profile): New.
10398 (tree_profiling): Re-write as IPA pass. Properly drop const/pure
10399 state of instrumented functions.
10400 * passes.c (init_optimization_passes): Remove early non-SSA
10401 inlining. Move profiling after early optimizations.
10402 * ipa-inline.c (cgraph_gate_ipa_early_inlining): Remove.
10403 (pass_ipa_early_inline): Likewise.
10404 * tree-pass.h (pass_ipa_early_inline): Remove.
10405 (pass_tree_profile): Likewise.
10406 (pass_ipa_tree_profile): Declare.
10407
10408 2010-10-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10409 Christian Borntraeger <Christian.Borntraeger@de.ibm.com>
10410
10411 * config/s390/s390.c (z196_cost): New.
10412 (s390_handle_arch_option): Add -march=z196.
10413 (s390_option_override): Use the new cost function and use the z10
10414 defaults also for z196.
10415 (legitimate_reload_constant_p): Adjust comment.
10416 (legitimate_reload_fp_constant_p): New function.
10417 (s390_preferred_reload_class): Distingiush between FP and Int constants.
10418 (preferred_la_operand_p): Avoid la with index on z196.
10419 (s390_adjust_priority): Trigger also for z196.
10420 (s390_issue_rate): Issue rate for z196 is 3.
10421 (s390_z10_fix_long_loop_prediction): Rename to ...
10422 (s390_fix_long_loop_prediction): ... this.
10423 (s390_reorg): Apply the z10 adjustments also for z196.
10424 (s390_loop_unroll_adjust): Do this also for z196.
10425 * config/s390/s390.h (enum processor_type): Add PROCESSOR_2817_Z196.
10426 (enum processor_flags): Add PF_Z196.
10427 (TARGET_AVOID_CMP_AND_BRANCH): New macro.
10428 (TARGET_CPU_Z196, TARGET_Z196): New macros.
10429 * config.gcc: Enable z196 for --with-arch.
10430 * config/s390/2817.md: New file.
10431 * config/s390/2084.md: New type for multiply and add.
10432 * config/s390/2097.md: Likewise.
10433 * config/s390/s390.md (UNSPEC_POPCNT, UNSPEC_COPYSIGN)
10434 (UNSPECV_ATOMIC_OP): New constants.
10435 (fmadddf, fmaddsf): New values for type attribute.
10436 (z196prop): New insn attribute.
10437 (cpu, cpu_facility): Add z196.
10438 (ATOMIC_Z196): New code iterator.
10439 (noxa): New code attribute.
10440 (gk): New mode attribute.
10441 (*mov<mode>_64, *mov<mode>_31, *mov<mode>_64dfp, mov<mode>):
10442 Support load zero for fp constants.
10443 (fixuns_truncdddi2, fixuns_trunctddi2)
10444 (fixuns_trunc<BFP:mode><GPR:mode>2): Use the standard rtx pattern
10445 for z196.
10446 (fixuns_trunc<mode>si2, mov<mode>cc, popcountdi2, popcountsi2)
10447 (popcounthi2, popcountqi2): New expander.
10448 (*fixuns_trunc<FP:mode><GPR:mode>2_z196, floatsi<mode>2)
10449 (floatuns<GPR:mode><FP:mode>2, *mov<mode>cc, sync_<atomic><mode>)
10450 (sync_old_<atomic><mode>, *popcount<mode>, copysign<mode>3): New
10451 insn definition.
10452 (add<mode>3, *add<mode>3_carry1_cc, *add<mode>3_carry1_cconly)
10453 (*add<mode>3_carry2_cc, *add<mode>3_carry2_cconly, *add<mode>3_cc)
10454 (*add<mode>3_cconly, *add<mode>3_cconly2, *add<mode>3_imm_cc)
10455 (*sub<mode>3, *sub<mode>3_borrow_cc, *sub<mode>3_borrow_cconly)
10456 (*sub<mode>3_cc, *sub<mode>3_cc2, *sub<mode>3_cconly)
10457 (*sub<mode>3_cconly2, *anddi3_cc, *anddi3_cconly, *anddi3, *andsi3_cc)
10458 (*andsi3_cconly, *andsi3_zarch, *andsi3_esa, *andhi3_zarch
10459 (*andqi3_zarch, *iordi3_cc, *iordi3_cconly, *iordi3, *iorsi3_cc)
10460 (*iorsi3_cconly, *iorsi3_zarch, *iorhi3_zarch, *iorqi3_zarch)
10461 (*xordi3_cc, *xordi3_cconly, *xordi3, *xorsi3_cc, *xorsi3_cconly)
10462 (*xorsi3, *xorhi3, *xorqi3, *<shift><mode>3, *<shift><mode>3_and)
10463 (*ashr<mode>3_cc, *ashr<mode>3_cconly, *ashr<mode>3)
10464 (*ashr<mode>3_cc_and, *ashr<mode>3_cconly_and, *ashr<mode>3_and):
10465 Support new z196 instructions.
10466
10467 2010-10-05 Richard Guenther <rguenther@suse.de>
10468
10469 PR middle-end/45877
10470 * gimple-fold.c (gimplify_and_update_call_from_tree): Handle
10471 case where gimplification optimizes away the stmt.
10472
10473 2010-10-04 Jakub Jelinek <jakub@redhat.com>
10474
10475 PR debug/45849
10476 * var-tracking.c (strip_pointer_flags): New function.
10477 (emit_note_insn_var_location): If rtx_equal_p check failed,
10478 retry on locations simplified with simplify_replace_fn_rtx
10479 and strip_pointer_flags as its callback.
10480
10481 2010-10-04 Jan Hubicka <jh@suse.cz>
10482
10483 * gimple-fold.c (static_object_in_other_unit_p): Rename to...
10484 (can_refer_decl_in_current_unit_p): ... this one; reverse return
10485 value; handle comdats too.
10486 (canonicalize_constructor_val): Use it; handle function_decls
10487 correctly.
10488 (gimple_fold_obj_type_ref_known_binfo): Likewise.
10489 * gimple.c (get_base_address): Accept all kinds of decls.
10490
10491 2010-10-04 Joseph Myers <joseph@codesourcery.com>
10492
10493 * flags.h (g_switch_value, g_switch_set): Remove.
10494 * opts.c (g_switch_value, g_switch_set): Remove.
10495 * config/g.opt (G): Add Var(g_switch_value).
10496 * config/alpha/alpha.c (alpha_handle_option): Don't handle -G here.
10497 (alpha_option_override): Check global_options_set.x_g_switch_value
10498 instead of g_switch_set.
10499 (alpha_in_small_data_p): Remove cast in comparison with
10500 g_switch_value.
10501 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
10502 g_switch_value to unsigned HOST_WIDE_INT.
10503 * config/frv/frv.c (frv_const_unspec_p): Remove cast in comparison
10504 with g_switch_value.
10505 (frv_handle_option): Don't handle -G here.
10506 (frv_option_override): Check global_options_set.x_g_switch_value
10507 instead of g_switch_set. Don't modify g_switch_set.
10508 (frv_in_small_data_p): Remove cast in comparison with g_switch_value.
10509 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Cast
10510 g_switch_value to unsigned HOST_WIDE_INT.
10511 * config/ia64/ia64.c (ia64_handle_option): Don't handle -G here.
10512 (ia64_option_override): Check global_options_set.x_g_switch_value
10513 instead of g_switch_set.
10514 * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION):
10515 Remove.
10516 (lm32_in_small_data_p): Remove cast in comparison with
10517 g_switch_value.
10518 * config/lm32/lm32.h (ASM_OUTPUT_ALIGNED_LOCAL,
10519 ASM_OUTPUT_ALIGNED_COMMON): Cast g_switch_value to unsigned
10520 HOST_WIDE_INT.
10521 * config/m32r/m32r.c (m32r_handle_option): Don't handle -G here.
10522 (m32r_init): Check global_options_set.x_g_switch_value instead of
10523 g_switch_set.
10524 (m32r_in_small_data_p): Remove cast in comparison with
10525 g_switch_value.
10526 (m32r_file_start): Format g_switch_value with %d.
10527 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_COMMON,
10528 ASM_OUTPUT_ALIGNED_BSS): Cast g_switch_value to unsigned HOST_WIDE_INT.
10529 * config/microblaze/microblaze.c (microblaze_handle_option): Don't
10530 handle -G here.
10531 (microblaze_option_override): Check
10532 global_options_set.x_g_switch_value instead of g_switch_set.
10533 * config/mips/mips.c (mips_handle_option): Don't handle -G here.
10534 (mips_option_override): Check global_options_set.x_g_switch_value
10535 instead of g_switch_set.
10536 * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle -G here.
10537 (rs6000_file_start): Format g_switch_value with %d.
10538 (small_data_operand, rs6000_elf_in_small_data_p): Remove casts in
10539 comparisons with g_switch_value.
10540 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Check
10541 global_options_set.x_g_switch_value instead of g_switch_set.
10542 * config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
10543 global_options_set.x_g_switch_value instead of g_switch_set.
10544 * config/score/score.c (score_handle_option): Don't handle -G here.
10545 * config/score/score3.c (score3_option_override): Check
10546 global_options_set.x_g_switch_value instead of g_switch_set.
10547 * config/score/score7.c (score7_option_override): Check
10548 global_options_set.x_g_switch_value instead of g_switch_set.
10549
10550 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
10551
10552 * common.opt (fira-coalesce): Remove.
10553
10554 * doc/invoke.texi (flag_ira_coalesce): Remove.
10555
10556 * ira-color.c (allocno_coalesced_p): Move before
10557 copy_freq_compare_func.
10558 processed_coalesced_allocno_bitmap): Ditto.
10559 (update_conflict_hard_regno_costs): Don't use
10560 ALLOCNO_FIRST_COALESCED_ALLOCNO.
10561 (allocno_cost_compare_func, print_coalesced_allocno): Remove.
10562 (assign_hard_reg): Assume no coalesced allocnos.
10563 (get_coalesced_allocnos_attributes): Remove.
10564 (bucket_allocno_compare_func): Assume no coalesced allocnos.
10565 (push_allocno_to_stack): Ditto.
10566 (remove_allocno_from_bucket_and_push): Use
10567 ira_print_expanded_allocno instead of print_coalesced_allocno.
10568 (push_allocnos_to_stack): Assume uncoalesced allocnos.
10569 (all_conflicting_hard_regs_coalesced): Ditto. Rename to
10570 all_conflicting_hard_regs.
10571 (setup_allocno_available_regs_num): Assume uncoalesced allocnos.
10572 (setup_allocno_left_conflicts_size): Ditto.
10573 (put_allocno_into_bucket): Ditto.
10574 (copy_freq_compare_func): Remove.
10575 (copy_freq_compare_func, merge_allocnos): Move before
10576 coalesced_pseudo_reg_freq_compare.
10577 coalesced_allocno_conflict_p): Ditto.
10578 (coalesced_allocno_conflict_p, coalesce_allocnos): Ditto. Remove
10579 parameter. Assume it true.
10580 (color_allocnos): Assume uncoalesced allocnos. Use
10581 ira_print_expanded_allocno instead of print_coalesced_allocno.
10582 (ira_sort_regnos_for_alter_reg): Call coalesce_allocnos without
10583 parameter.
10584
10585 * ira.c: Remove comment about coalescing.
10586
10587 2010-10-04 Joseph Myers <joseph@codesourcery.com>
10588
10589 * config/mips/mips.h (target_flags_explicit): Declare for
10590 GENERATOR_FILE.
10591
10592 2010-10-04 Andi Kleen <ak@linux.intel.com>
10593
10594 * Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov,
10595 gcov-dump, cc1-dummy, genprog, build/gcov-iov): Add + to build rule.
10596
10597 2010-10-04 Matthias Klose <doko@ubuntu.com>
10598
10599 * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
10600 multilib osdirname if it exists.
10601 * config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
10602
10603 2010-10-04 Jakub Jelinek <jakub@redhat.com>
10604
10605 PR middle-end/45876
10606 * fold-const.c (fold_binary_loc) <case BIT_AND_EXPR>: Use
10607 arg0's type or its unsigned counterpart as utype. Convert
10608 arg1 to utype unconditionally.
10609
10610 2010-10-04 Julian Brown <julian@codesourcery.com>
10611
10612 * expr.c (expand_assignment): Add assertion to prevent emitting
10613 null rtx for movmisalign pattern.
10614 (expand_expr_real_1): Likewise.
10615 * config/arm/arm.c (arm_builtin_support_vector_misalignment): New.
10616 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): New. Use above.
10617 (arm_vector_alignment_reachable): New.
10618 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): New. Use above.
10619 (neon_vector_mem_operand): Disallow PRE_DEC for misaligned loads.
10620 (arm_print_operand): Include alignment qualifier in %A.
10621 * config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant.
10622 (movmisalign<mode>): New expander.
10623 (movmisalign<mode>_neon_store, movmisalign<mode>_neon_load): New
10624 insn patterns.
10625
10626 2010-10-04 Joseph Myers <joseph@codesourcery.com>
10627
10628 * optc-gen.awk: Define global_options_set. Don't define
10629 target_flags_explicit.
10630 * opth-gen.awk: Declare global_options_set. Define
10631 target_flags_explicit as macro.
10632 * opts-common.c (handle_option): Take opts_set and generated_p
10633 parameters.
10634 (handle_generated_option, read_cmdline_option, set_option): Take
10635 opts_set parameter.
10636 (set_option): Use opts_set instead of hardcoding target_flags and
10637 target_flags_explicit.
10638 * opts.c (sel_sched_switch_set, profile_arc_flag_set,
10639 flag_profile_values_set, flag_unroll_loops_set, flag_tracer_set,
10640 flag_value_profile_transformations_set, flag_peel_loops_set,
10641 flag_branch_probabilities_set, flag_inline_functions_set,
10642 flag_ipa_cp_set, flag_ipa_cp_clone_set,
10643 flag_predictive_commoning_set, flag_unswitch_loops_set,
10644 flag_gcse_after_reload_set): Remove.
10645 (common_handle_option, lang_handle_option, target_handle_option):
10646 Take opts_set parameter. Assert that it is &global_options_set.
10647 (common_handle_option): Don't set _set variables. Check opts_set
10648 instead of such variables.
10649 (enable_warning_as_error): Pass &global_options_set to
10650 handle_generated_option.
10651 * opts.h (cl_option_handler_func.handler, set_option,
10652 handle_option, handle_generated_option, read_cmdline_option): Add
10653 opts_set parameters.
10654 (handle_option): Add generated_p parameter.
10655 * config/i386/i386.c (ix86_function_specific_save,
10656 ix86_function_specific_restore): Updat for renaming of
10657 target_flags_explicit field.
10658 * config/i386/i386.opt (target_flags_explicit): Rename to
10659 ix86_target_flags_explicit.
10660 * config/ia64/ia64.c (ia64_override_options_after_change): Check
10661 global_options_set.x_flag_selective_scheduling and
10662 global_options_set.x_flag_selective_scheduling2, not
10663 sel_sched_switch_set.
10664 * flags.h (sel_sched_switch_set,
10665 flag_speculative_prefetching_set): Remove.
10666 * gcc.c (driver_handle_option): Take opts_set parameter. Assert
10667 that it is &global_options_set.
10668 (process_command): Pass &global_options_set to read_cmdline_option.
10669 * lto-opts.c (lto_reissue_options): Pass &global_options_set to
10670 set_option.
10671 * toplev.c (target_flags_explicit): Remove.
10672
10673 2010-10-04 Jan Hubicka <jh@suse.cz>
10674
10675 PR middle-end/45871
10676 * tree-ssa-ccp.c (get_base_constructor): Take HOST_WIDE_INT offset;
10677 use get_ref_base_and_offset to handle references.
10678 (fold_const_aggregate_ref): Update.
10679
10680 2010-10-04 Martin Jambor <mjambor@suse.cz>
10681
10682 PR tree-optimization/45572
10683 * ipa-prop.c (ipa_make_edge_direct_to_target): Call
10684 ipa_check_create_node_params.
10685 * ipa-inline.c (add_new_edges_to_heap): Do not insert inlined edges.
10686
10687 2010-10-04 Yao Qi <yao@codesourcery.com>
10688
10689 * doc/passes.texi: Clean up.
10690
10691 2010-10-03 Ian Lance Taylor <iant@google.com>
10692
10693 * c-typeck.c (lookup_field): If -fplan9-extensions, permit
10694 referring to a field using a typedef name.
10695 (find_anonymous_field_with_type): New static function.
10696 (convert_to_anonymous_field): New static function.
10697 (convert_for_assignment): If -fplan9-extensions, permit converting
10698 pointer to struct to pointer to anonymous field.
10699 * c-decl.c (grokfield): If -fplan9-extensions, permit anonymous fields.
10700 (is_duplicate_field): New static function.
10701 (detect_field_duplicates_hash): If -fplan9-extensions, check for
10702 typedef names duplicating field names.
10703 (detect_field_duplicates): Likewise.
10704 * doc/invoke.texi (Option Summary): Mention -fplan9-extensions.
10705 (C Dialect Options): Document -fplan9-extensions.
10706 * doc/extend.texi (Unnamed Fields): Document -fplan9-extensions.
10707
10708 2010-10-03 H.J. Lu <hongjiu.lu@intel.com>
10709
10710 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Revert
10711 revision 164914.
10712 (vect_create_data_ref_ptr): Likewise.
10713 * tree-vect-stmts.c (vectorizable_store): Likewise.
10714 (perm_mask_for_reverse): Likewise.
10715 (reverse_vec_elements): Likewise.
10716 (vectorizable_load): Likewise.
10717
10718 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10719
10720 * cppbuiltin.c: New file.
10721 * cppbuiltin.h: New file.
10722 * Makefile.in: Take into account cppbuiltin.{h,c}.
10723
10724 2010-10-03 Andi Kleen <ak@linux.intel.com>
10725
10726 * lto-cgraph.c (input_cgraph): Check for missing sections.
10727
10728 2010-10-03 Uros Bizjak <ubizjak@gmail.com>
10729
10730 * config/i386/i386.md (*ashl<mode>3_mask): Change operand 2 predicate
10731 to nonimmediate_operand. Force operand 2 to register when allowed.
10732 (*<shiftrt_insn><mode>3_mask): Ditto.
10733 (*<rotate_insn><mode>3_mask): Ditto.
10734
10735 2010-10-02 H.J. Lu <hongjiu.lu@intel.com>
10736
10737 PR tree-optimization/45720
10738 PR tree-optimization/45764
10739 * tree-vect-data-refs.c (vect_analyze_data_ref_access):
10740 Don't accept backwards consecutive accesses.
10741 (vect_create_data_ref_ptr): Disallow negative steps.
10742
10743 * tree-vect-stmts.c (vectorizable_store): Allow negative steps.
10744 (perm_mask_for_reverse): Removed.
10745 (reverse_vec_elements): Likewise.
10746 (vectorizable_load): Don't handle negative steps.
10747
10748 2010-10-02 Jan Hubicka <jh@suse.cz>
10749
10750 * tree-ssa-ccp.c (ccp_fold_stmt): Fold away OBJ_TYPE_REF when
10751 call destination is known.
10752
10753 2010-10-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10754
10755 PR target/45820
10756 * config/pa/pa.c (pa_secondary_reload): Handle symbolic operands
10757 earlier.
10758
10759 2010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10760
10761 * doc/install.texi (Configuration): Document build_configargs,
10762 host_configargs, target_configargs.
10763
10764 2010-10-01 Uros Bizjak <ubizjak@gmail.com>
10765
10766 * config/i386/i386.md (*ashl<mode>3_mask): New insn_and_split pattern.
10767 (*<shiftrt_insn><mode>3_mask): Ditto.
10768 (*<rotate_insn><mode>3_mask): Ditto.
10769
10770 2010-10-01 Steve Ellcey <sje@cup.hp.com>
10771
10772 PR tree-optimization/44716
10773 * config/ia64/hpux.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
10774 (HOT_TEXT_SECTION_NAME): Define.
10775
10776 2010-10-01 Nick Clifton <nickc@redhat.com>
10777
10778 * common.opt: Add -fcombine-stack-adjustments.
10779 * opts.c (decode_options): Enable -fcombine-stack-adjustments at -O1.
10780 * combine-stack-adj.c (gate_handle_stack_adjustments): Check
10781 flag_combine_stack_adjustments.
10782 * doc/invoke.texi: Document the new option.
10783
10784 2010-10-01 Richard Guenther <rguenther@suse.de>
10785
10786 PR tree-optimization/45854
10787 * tree-eh.c (cleanup_empty_eh): Avoid degenerate case.
10788
10789 2010-10-01 Anthony Green <green@moxielogic.com>
10790
10791 * config.gcc: Fix moxie-*-rtems* configuration.
10792
10793 2010-10-01 Richard Guenther <rguenther@suse.de>
10794
10795 * dwarf2out.c (gen_namespace_die): Use DECL_FILE_SCOPE_P.
10796 (gen_decl_die): Likewise.
10797
10798 2010-10-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10799
10800 * config/spu/spu.c (spu_init_builtins): No longer add END_BUILTINS
10801 to the function code for SPU MD builtins.
10802 (spu_expand_builtin): Update.
10803 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Update.
10804
10805 2010-10-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10806
10807 * config/spu/spu.c (TARGET_EXCEPT_UNWIND_INFO): Set to
10808 sjlj_except_unwind_info.
10809
10810 2010-10-01 Tristan Gingold <gingold@adacore.com>
10811
10812 * configure.ac: Define the nop insn for avr*-*-*
10813 * configure: Regenerate.
10814
10815 2010-10-01 Alan Modra <amodra@gmail.com>
10816
10817 PR target/45807
10818 * config/rs6000/rs6000.c (rs6000_emit_prologue): Properly sign
10819 extend toc_restore_insn.
10820
10821 2010-09-30 Richard Guenther <rguenther@suse.de>
10822
10823 PR tree-optimization/43959
10824 * function.c (gimplify_parameters): Use create_tmp_reg instead of
10825 create_tmp_var.
10826
10827 2010-09-30 Kaz Kojima <kkojima@gcc.gnu.org>
10828
10829 * config/sh/sh.c (sh_expand_prologue): Set
10830 current_function_static_stack_size.
10831
10832 2010-09-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10833
10834 * configure.ac: Check for Solaris 8 ld with .hidden support.
10835 * configure: Regenerate.
10836
10837 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10838
10839 PR middle-end/45758
10840 * graphite.c (graphite_initialize): Call scev_reset.
10841
10842 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10843
10844 * sese.h (scev_analyzable_p): Return false for real or floating
10845 point. Only handle INTEGRAL_TYPE_P and POINTER_TYPE_P.
10846
10847 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10848
10849 * graphite-clast-to-gimple.c (compute_bounds_for_level): Free le
10850 and ps.
10851 * graphite-poly.c (pbb_number_of_iterations_at_time): Free le and
10852 domain.
10853 * graphite-sese-to-poly.c (add_upper_bounds_from_estimated_nit):
10854 Do not allocate ub_expr, it is passed in initialized.
10855
10856 2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
10857
10858 * graphite-clast-to-gimple.c (init_cloog_input_file): New.
10859 (build_cloog_prog): Dump CLooG input file when
10860 flag_graphite_dump_cloog is set. This is disabled on trunk.
10861 * graphite-cloog-compat.h (cloog_program_dump_cloog): New.
10862
10863 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10864
10865 * graphite-clast-to-gimple.c (graphite_verify): Remove call to
10866 verify_dominators for CDI_POST_DOMINATORS.
10867 * sese.h: Remove comment about CDI_POST_DOMINATORS.
10868 (recompute_all_dominators): Remove call to free_dominance_info
10869 for CDI_POST_DOMINATORS. Remove call to calculate_dominance_info
10870 for CDI_POST_DOMINATORS.
10871
10872 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10873
10874 * graphite-poly.c (pbb_number_of_iterations_at_time): Only iterate
10875 over pbb_dim_iter_domain.
10876
10877 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10878
10879 * graphite-flattening.c: Fix comments.
10880
10881 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10882
10883 * Makefile.in (OBJS-common): Add graphite-flattening.o.
10884 (graphite-flattening.o): New rule.
10885 * common.opt (floop-flatten): New flag.
10886 * doc/invoke.texi (-floop-flatten): Documented.
10887 * graphite-flattening.c: New.
10888 * graphite-poly.c (apply_poly_transforms): Call flatten_all_loops.
10889 * graphite-poly.h (flatten_all_loops): Declared.
10890 (lst_remove_loop_and_inline_stmts_in_loop_father): New.
10891 * tree-ssa-loop.c (gate_graphite_transforms): When flag_loop_flatten
10892 is set, also set flag_graphite.
10893
10894 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10895
10896 * graphite-poly.c (cloog_checksum): New.
10897 * graphite-poly.h (cloog_checksum): Declared.
10898
10899 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10900
10901 * graphite-poly.c (pbb_number_of_iterations): Removed.
10902 (pbb_number_of_iterations_at_time): Correctly compute the number
10903 of iterations in the transformed loop.
10904 * graphite-poly.h (pbb_number_of_iterations): Removed.
10905
10906 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10907
10908 * graphite-poly.h (lst_update_scattering_seq): Removed.
10909 (lst_update_scattering): Correctly handle outermost loop dewey
10910 renumbering.
10911
10912 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10913
10914 * graphite-blocking.c (pbb_strip_mine_profitable_p): Renamed
10915 lst_strip_mine_profitable_p. Call lst_niter_for_loop.
10916 * graphite-poly.h (lst_niter_for_loop): New.
10917
10918 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10919
10920 * graphite-poly.c (apply_poly_transforms): Do not abort when the
10921 transform read from disk is not legal. Call fatal_error instead.
10922
10923 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10924
10925 * graphite-poly.c (print_pbb_body): Add missing closing parenthesis.
10926 (print_scop_header): Removed. Inlined in the only call place...
10927 (print_scop): ... here.
10928
10929 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10930
10931 * graphite-poly.h (lst_dewey_number): Use FOR_EACH_VEC_ELT.
10932
10933 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10934
10935 * graphite-poly.c (graphite_read_scop_file): Fix uninitialize warning.
10936
10937 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10938
10939 * graphite-dependences.c (dot_deps): Avoid set but not used warning.
10940 (dot_deps_stmt): Same.
10941 * graphite-poly.c (dot_lst): Same.
10942
10943 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10944
10945 * graphite-blocking.c (scop_do_strip_mine): Do not call
10946 graphite_legal_transform.
10947 (scop_do_block): Same.
10948
10949 2010-09-30 Vladimir Kargov <kargov@gmail.com>
10950
10951 * graphite-scop-detection.c (graphite_can_represent_loop): Correct the
10952 description.
10953
10954 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10955
10956 * tree-scalar-evolution.c (instantiate_array_ref): New.
10957 (instantiate_scev_r): Also handle ARRAY_REFs.
10958
10959 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10960
10961 * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
10962 Do not check for VAR_DECL, PARM_DECL, FUNCTION_DECL, LABEL_DECL,
10963 RESULT_DECL, and FIELD_DECL. Return false for an
10964 SSA_NAME_IS_DEFAULT_DEF.
10965 (compute_scalar_evolution_in_loop): Do not further analyze the
10966 scalar evolution when no_evolution_in_loop_p returns true.
10967
10968 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10969
10970 * tree-chrec.h (evolution_function_is_affine_p): Do not check
10971 whether CHREC_LEFT is invariant. A function is affine when
10972 CHREC_RIGHT is invariant.
10973
10974 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10975
10976 * graphite-sese-to-poly.c (reduction_phi_p): Remove check for
10977 is_gimple_reg.
10978 (rewrite_degenerate_phi): Same.
10979 (rewrite_reductions_out_of_ssa): Add check for is_gimple_reg.
10980
10981 2010-09-30 Vladimir Kargov <kargov@gmail.com>
10982
10983 * graphite-scop-detection.c (graphite_can_represent_scev,
10984 graphite_can_represent_expr, stmt_has_simple_data_refs_p,
10985 graphite_can_represent_loop): Remove outermost_loop.
10986
10987 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
10988
10989 PR middle-end/45229
10990 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Do not
10991 handle GIMPLE_CALLs with no LHS.
10992
10993 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
10994
10995 * graphite-poly.c (init_graphite_out_file): New.
10996 (init_graphite_in_file): New.
10997 (apply_poly_transforms): Updated to enable reading and writing of
10998 multiple scop files.
10999
11000 2010-09-30 Tobias Grosser <grosser@fim.uni-passau.de>
11001
11002 * graphite-scop-detection.c (graphite_can_represent_scev): Remove
11003 redundant checks.
11004
11005 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
11006
11007 * graphite-clast-to-gimple.c (precision_for_value): Adjust
11008 computation of precision by 1.
11009
11010 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
11011
11012 * graphite-cloog-util.c (openscop_read_cloog_matrix): New.
11013 (openscop_read_polyhedron_matrix): New.
11014 * graphite-cloog-util.h (openscop_read_polyhedron_matrix): Declared.
11015 (openscop_read_N_int): Same.
11016 * graphite-poly.c (openscop_read_N_int): New.
11017 (openscop_read_one_int): New.
11018 (openscop_read_N_string): New.
11019 (openscop_read_one_string): New.
11020 (openscop_read_powerset_matrix): New.
11021 (graphite_read_transforms): Remove.
11022 (graphite_read_scatt): New.
11023 (graphite_read_scop_file): New.
11024 (apply_poly_transforms): Updated to call graphite_read_scop_file.
11025
11026 2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
11027
11028 * graphite-poly.c: Change include order.
11029
11030 2010-09-30 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
11031
11032 * graphite-cloog-compat.h (cloog_matrix_ncolumns): New.
11033 (cloog_matrix_nrows): New.
11034
11035 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
11036
11037 * graphite-cloog-util.c (openscop_print_cloog_matrix): Remove spaces
11038 from matrix lines.
11039 * graphite-poly.c (openscop_print_scattering_function_1): Same.
11040 (print_scattering_function_1): Same.
11041 (openscop_print_pbb_domain): Same.
11042 (openscop_print_scop_context): Same.
11043 (print_scop_context): Same.
11044
11045 2010-09-30 Riyadh Baghdad <baghdadi.mr@gmail.com>
11046
11047 * graphite-poly.c (openscop_print_pdr_polyhedron): Fix indentation.
11048 (openscop_print_pdr_polyhedron): Print pph.
11049
11050 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
11051
11052 * graphite-clast-to-gimple.c (gcc_type_for_interval): Generate in
11053 priority signed types.
11054
11055 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
11056
11057 * graphite-clast-to-gimple.c (max_signed_precision_type): Remove
11058 the call to lang_hooks.types.type_for_size. Call
11059 build_nonstandard_integer_type.
11060
11061 2010-09-30 Riyadh Baghdadi <baghdadi.mr@gmail.com>
11062
11063 * graphite-cloog-util.c (openscop_print_cloog_matrix): New.
11064 (openscop_print_polyhedron_matrix): New.
11065 * graphite-cloog-util.h (openscop_print_polyhedron_matrix): Declared.
11066 * graphite-poly.c (openscop_print_pdr_polyhedron): Same.
11067 (openscop_print_pdr_powerset): New.
11068 (openscop_print_powerset_matrix): New.
11069 (openscop_print_scattering_function_1): New.
11070 (print_scattering_function): Add support for scattering names and
11071 OpenScop format.
11072 (graphite_write_transforms): Remove.
11073 (print_pdr_access_layout): Updated to support OpenScop format.
11074 (print_pdr): Same.
11075 (openscop_print_pbb_domain): New.
11076 (print_pbb_body): Added a parameter to allow indicating that pbb_body
11077 is not provided.
11078 (print_pbb): Updated to call the new print_pbb_body.
11079 (openscop_print_scop_context): New.
11080 (print_scop_header): New.
11081 (print_scop): Updated to call print_scop_header.
11082 * graphite-poly.h: Document OpenScop format.
11083
11084 2010-09-30 Anatoly Sokolov <aesok@post.ru>
11085
11086 * config/cris/m32c.c (cris_memory_move_cost): New.
11087 (cris_register_move_cost): Make static. Change arguments type from
11088 enum reg_class to reg_class_t.
11089 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
11090 * config/cris/cris.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
11091 * config/cris/cris-protos.h (cris_register_move_cost): Remove.
11092
11093 2010-09-30 Jakub Jelinek <jakub@redhat.com>
11094
11095 PR target/45843
11096 * config/i386/i386.c (ix86_gimplify_va_arg): Use
11097 INTVAL (XEXP (slot, 1)) as prev_size.
11098
11099 2010-09-30 Michael Meissner <meissner@linux.vnet.ibm.com>
11100
11101 PR target/45837
11102 * config/rs6000/aix.h (TARGET_AIX_OS): Define to be 1.
11103 * config/rs6000/rs6000.h (TARGET_AIX_OS): Define to be 0 if not
11104 defined.
11105 * config/rs6000/option-defaults.h (toplevel): Change #if
11106 TARGET_AIX to TARGET_AIX_OS to allow compiler to build after
11107 global option changes.
11108
11109 2010-09-30 Jakub Jelinek <jakub@redhat.com>
11110
11111 * dwarf2out.c (mem_loc_descriptor): Handle IF_THEN_ELSE.
11112
11113 PR tree-optimization/31261
11114 * fold-const.c (fold_binary): Optimize ((A & N) + B) & M
11115 for constants M and N, M == (1LL << cst) - 1 && (N & M) == M.
11116
11117 2010-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11118
11119 PR bootstrap/45796
11120 * Makefile.in (build/gen%$(build_exeext)): Move rule after all
11121 special-casing for generators and turn into ...
11122 ((genprog:%=build/gen%$(build_exeext))): ... this static pattern
11123 rule, for better error messages in case of toplevel dependency errors.
11124 (genprog): Add hooks, rename to ...
11125 (genprogerr): ... this, and let genprog also contain check,
11126 checksum, condmd.
11127 ((genprog:%=build/gen%$(build_exeext))): Rename to ...
11128 ((genprogerr:%=build/gen%$(build_exeext))): ... this.
11129 (build/genhooks$(build_exeext)): Remove now-unneeded dependency.
11130
11131 2010-09-30 Jonathan Wakely <jwakely.gcc@gmail.com>
11132 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11133
11134 * doc/install.texi: Suggest using LD_LIBRARY_PATH to find libs
11135 for GMP, MPFR and MPC.
11136
11137 2010-09-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11138
11139 * config/sparc/sparc.opt (mimpure-text): Move ...
11140 * config/sol2.opt: ... here. Correct description.
11141 * config.gcc (*-*-solaris2*): Add sol2.opt to extra_options.
11142 * doc/invoke.texi (Option Summary, SPARC Options): Move
11143 -mimpure-text, -mno-impure-text, -threads, -pthreads, -pthread ...
11144 (Option Summary, Solaris 2 Options): ... here.
11145 (Submodel Options, Solaris 2 Options): New menu entry.
11146 (SPARC Options): Move -mimpure-text, -threads, -pthreads, -pthread ...
11147 (Solaris 2 Options): ... here.
11148
11149 2010-09-30 Michael Eager <eager@eagercon.com>
11150
11151 * extend.texi (interrupt_handler): Add MicroBlaze to list.
11152 (save_volatiles): Describe option for MicroBlaze.
11153 * invoke.texi: Add MicroBlaze Options.
11154 * contrib.texi: Add acknowledgment.
11155 * md.texi: Add MicroBlaze d and z constraints.
11156 * install.texi: Add microblaze-*-elf.
11157 * configure.ac: Add microblaze-*-* to target list.
11158 * configure: Regenerate.
11159 * config.gcc: Add microblaze*-*-*, microblaze*-linux*.
11160 * config/microblaze/microblaze-protos.h: New.
11161 * config/microblaze/crti.s: New.
11162 * config/microblaze/predicates.md: New.
11163 * config/microblaze/linux.h: New.
11164 * config/microblaze/microblaze.md: New.
11165 * config/microblaze/constraints.md: New.
11166 * config/microblaze/crtn.s: New.
11167 * config/microblaze/microblaze.opt: New.
11168 * config/microblaze/microblaze-c.c: New.
11169 * config/microblaze/t-microblaze: New.
11170 * config/microblaze/microblaze.c: New.
11171 * config/microblaze/microblaze.h: New.
11172
11173 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
11174
11175 * c-parser.c (c_parser_objc_methodprotolist): Amend preceding comment,
11176 parse @optional/@required and set the flags as appropriate.
11177
11178 2010-09-30 Nathan Froyd <froydnj@codesourcery.com>
11179
11180 * config/iq2000/t-iq2000 (TARGET_LIBGCC2_CFLAGS): Delete.
11181
11182 2010-09-30 Joseph Myers <joseph@codesourcery.com>
11183
11184 * opt-functions.awk (static_var): Update comment.
11185 (var_ref): Return offsetof expression or -1, not variable address.
11186 * optc-gen.awk: Generate structure field initializers instead of
11187 static variables. Expect -1 for missing variables instead of null
11188 pointer. Add gcc_options parameters to generated functions.
11189 * opth-gen.awk: Generate structure fields for static variables.
11190 Add gcc_options parameters to generated functions.
11191 * common.opt (optimize, optimize_size): Add variables.
11192 * config/i386/i386-c.c (ix86_pragma_target_parse): Pass
11193 &global_options to cl_target_option_restore.
11194 * config/i386/i386.c (ix86_valid_target_attribute_p): Pass
11195 &global_options to cl_optimization_restore, cl_target_option_save
11196 and cl_target_option_restore.
11197 (ix86_set_current_function): Pass &global_options to
11198 cl_target_option_restore.
11199 * config/pdp11/pdp11.h (optimize): Remove.
11200 * config/rs6000/rs6000.h (optimize): Remove.
11201 * config/sh/sh.h (optimize): Remove.
11202 * config/xtensa/xtensa.h (optimize): Remove.
11203 * coretypes.h (struct gcc_options): Declare.
11204 * diagnostic.c (diagnostic_initialize): Initialize
11205 context->option_state.
11206 (diagnostic_report_diagnostic): Pass option_state to
11207 option_enabled hook.
11208 * diagnostic.h (diagnostic_context.option_enabled): Add void *
11209 parameter.
11210 (diagnostic_context.option_state): New field.
11211 * final.c (final_start_function, final, final_scan_insn): Rename
11212 optimize parameter to optimize_p.
11213 * flags.h (optimize, optimize_size): Remove.
11214 * function.c (invoke_set_current_function_hook): Pass
11215 &global_options to cl_optimization_restore.
11216 * gcc.c (driver_handle_option): Take gcc_options parameter.
11217 Assert that it is &global_options.
11218 (process_command): Pass &global_options to read_cmdline_option.
11219 * ipa-pure-const.c (suggest_attribute): Pass &global_options to
11220 option_enabled.
11221 * lto-opts.c (lto_reissue_options): Use option_flag_var. Pass
11222 &global_options to set_option.
11223 * opts-common.c (handle_option, handle_generated_option,
11224 read_cmdline_option, set_option): Take explicit gcc_options
11225 parameters. Use option_flag_var.
11226 (option_flag_var): New.
11227 * opts.c (common_handle_option, lang_handle_option,
11228 target_handle_option): Take gcc_options parameter. Assert that it
11229 is &global_options.
11230 (read_cmdline_options): Pass &global_options to read_cmdline_option.
11231 (print_filtered_help): Use option_flag_var. Pass &global_options
11232 to option_enabled.
11233 (common_handle_option): Use option_flag_var.
11234 (option_enabled): Take opts parameter. Use option_flag_var.
11235 (get_option_state): Take gcc_options parameter. Use
11236 option_flag_var. Pass gcc_options parameter to option_enabled.
11237 (enable_warning_as_error): Pass &global_options to
11238 handle_generated_option.
11239 * opts.h (struct cl_option): Change flag_var to flag_var_offset.
11240 (cl_option_handler_func.handler): Take gcc_options parameter.
11241 (option_enabled, get_option_state, set_option, handle_option,
11242 handle_generated_option, read_cmdline_option): Take gcc_options
11243 parameters.
11244 * toplev.c (optimize, optimize_size): Remove.
11245 (print_switch_values): Pass &global_options to option_enabled.
11246 (option_affects_pch_p): Use option_flag_var. Pass &global_options
11247 to get_option_state.
11248 (general_init): Initialize global_dc->option_state.
11249 * tree.c (build_optimization_node): Pass &global_options to
11250 cl_optimization_save.
11251 (build_target_option_node): Pass &global_options to
11252 cl_target_option_save.
11253
11254 2010-09-30 Martin Jambor <mjambor@suse.cz>
11255
11256 * tree-sra.c (type_consists_of_records_p): Do not check for trailing
11257 zero sized bit-fields.
11258
11259 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
11260
11261 * c-parser.c (c_lex_one_token): When finding a CPP_AT_NAME
11262 Objective-C token, map RID_CLASS to RID_AT_CLASS and similar.
11263 (c_parser_external_declaration): Use RID_AT_CLASS instead of RID_CLASS.
11264 (c_parser_objc_class_declaration): Same change.
11265 (c_parser_objc_try_catch_statement): Use RID_AT_TRY instead of
11266 RID_TRY and RID_AT_CATCH instead of RID_CATCH.
11267 (c_parser_objc_class_instance_variables): Use RID_AT_PRIVATE
11268 instead of RID_PRIVATE, RID_AT_PROTECTED instead of RID_PROTECTED
11269 and RID_AT_PUBLIC instead of RID_PUBLIC.
11270 (c_parser_statement_after_labels): Use RID_AT_TRY instead of
11271 RID_TRY and RID_AT_CATCH instead of RID_CATCH.
11272
11273 2010-09-30 Tom G. Christensen <tgc@jupiterrise.com>
11274
11275 * doc/install.texi (Binaries): Update link to HP-UX porting centre.
11276 Add links to current providers of packages for Solaris and IRIX.
11277
11278 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
11279
11280 Merge from 'apple/trunk' branch on FSF servers.
11281 * c-parser.c: Applied change originally in c-parse.in.
11282
11283 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
11284
11285 Radar 4281748
11286 * c-decl.c (start_decl): Check for redeclaration of class name.
11287 * c-parse.in (after_type_declarator): Recognize CLASSNAME.
11288
11289 2010-09-29 Steve Ellcey <sje@cup.hp.com>
11290
11291 * config/ia64/ia64.c (ia64_builtin_decl): New.
11292 (TARGET_BUILTIN_DECL): Define.
11293 (ia64_builtins): New.
11294 (ia64_init_builtins): Save decls in ia64_builtins.
11295
11296 2010-09-29 Bernd Schmidt <bernds@codesourcery.com>
11297
11298 PR target/40457
11299 * postreload.c (move2add_use_add2_insn): Use full_costs for comparison.
11300 (move2add_use_add3_insn): Likewise.
11301 (reload_cse_move2add): Likewise.
11302 * rtlanal.c (get_full_rtx_cost): New function.
11303 * rtl.h (struct full_rtx_costs): New.
11304 (init_costs_to_max, init_costs_to_zero, costs_lt_p,
11305 costs_add_n_insns): New inline functions.
11306 (get_full_rtx_cost): Declare.
11307
11308 PR c/45054
11309 * reload1.c (replace_pseudos_in): Use eliminate_regs_1, allowing
11310 invariants. Check for reg_equiv_invariant.
11311 (reload): Assert that spilled_pseudos is empty when returning.
11312
11313 2010-09-29 Kai Tietz <kai.tietz@onevision.com>
11314
11315 * config/i386/mingw32.h (TARGET_64BIT): replaced by
11316 TARGET_64BIT_DEFAULT in #if check.
11317
11318 2010-09-29 Jack Howarth <howarth@bromo.med.uc.edu>
11319
11320 * varasm.c (assemble_alias): Add error message for unsupported ifunc.
11321
11322 2010-09-29 Mike Stump <mikestump@comcast.net>
11323
11324 * config/darwin.h (flag_mkernel): Remove.
11325 (flag_apple_kext): Likewise.
11326
11327 2010-09-29 Joseph Myers <joseph@codesourcery.com>
11328 Jack Howarth <howarth@bromo.med.uc.edu>
11329
11330 * config/darwin.opt (undefined): Add.
11331
11332 2010-09-29 Nathan Sidwell <nathan@codesourcery.com>
11333
11334 PR testsuite/45664
11335 * configure.ac: Add --enable-indirect-function option.
11336 * config.gcc: Add default_gnu_indirect_function.
11337 * config.in (HAVE_GAS_INDIRECT_FUNCTION): Rename to ...
11338 (HAVE_GNU_INDIRECT_FUNCTION): ... this.
11339 * varasm.c (do_assemble_alias): Adjust for macro name change.
11340 * configure: Rebuilt.
11341 * doc/install.texi: Document --enable-indirect-function.
11342
11343 2010-09-29 Joseph Myers <joseph@codesourcery.com>
11344
11345 * doc/options.texi (Variable, Var, Init): Update documentation
11346 without reference to VarExists.
11347 (VarExists): Remove.
11348 * common.opt, config/i386/i386.opt, config/linux.opt,
11349 config/rs6000/rs6000.opt, config/sh/sh.opt, config/spu/spu.opt:
11350 Don't use VarExists.
11351
11352 2010-09-29 Joseph Myers <joseph@codesourcery.com>
11353
11354 * optc-gen.awk: Generate global_options initializer instead of
11355 individual variables. Add x_ prefix to names of structure members.
11356 * opth-gen.awk: Generate gcc_options structure. Add x_ prefix to
11357 names of structure members.
11358 * doc/tm.texi.in (HARD_FRAME_POINTER_IS_FRAME_POINTER,
11359 HARD_FRAME_POINTER_IS_ARG_POINTER): Document.
11360 * doc/tm.texi: Regenerate.
11361 * alias.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
11362 * builtins.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
11363 * c-parser.c (disable_extension_diagnostics,
11364 restore_extension_diagnostics): Update names of cpp_options members.
11365 * combine.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
11366 * common.opt (fcompare-debug-second): Don't use Var.
11367 * config/alpha/alpha.h (target_flags): Remove.
11368 * config/arm/arm.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
11369 HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
11370 * config/bfin/bfin.h (target_flags): Remove.
11371 * config/cris/cris.h (target_flags): Remove.
11372 * config/i386/i386-c.c (ix86_pragma_target_parse): Update names of
11373 cl_target_option members.
11374 * config/i386/i386.c (ix86_force_align_arg_pointer): Remove.
11375 (ix86_function_specific_print, ix86_valid_target_attribute_tree,
11376 ix86_can_inline_p): Update names of cl_target_option members.
11377 * config/i386/i386.h (ix86_isa_flags): Remove.
11378 * config/lm32/lm32.h (target_flags): Remove.
11379 * config/mcore/mcore.h (mcore_stack_increment): Remove.
11380 * config/mcore/mcore.md (addsi3): Remove extern declaration of
11381 flag_omit_frame_pointer.
11382 * config/mep/mep.h (target_flags): Remove.
11383 * config/mips/mips.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
11384 HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
11385 * config/mmix/mmix.h (target_flags): Remove.
11386 * config/rs6000/rs6000.h (rs6000_xilinx_fpu, flag_pic,
11387 flag_expensive_optimizations): Remove.
11388 * config/s390/s390.h (flag_pic): Remove.
11389 * config/score/score-conv.h (target_flags): Remove.
11390 * config/sh/sh.h (sh_fixed_range_str): Remove.
11391 * config/spu/spu.h (target_flags, spu_fixed_range_string): Remove.
11392 * dbxout.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
11393 * df-scan.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
11394 * diagnostic.c (diagnostic_initialize): Update names of
11395 diagnostic_context members.
11396 * diagnostic.h (diagnostic_context): Rename inhibit_warnings and
11397 warn_system_headers.
11398 (diagnostic_report_warnings_p): Update for new names.
11399 * dwarf2out.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
11400 * emit-rtl.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER and
11401 HARD_FRAME_POINTER_IS_ARG_POINTER.
11402 * flags.h (flag_compare_debug): Declare.
11403 * ira.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
11404 * opts.c (flag_compare_debug): Define.
11405 (common_handle_option): Update names of diagnostic_context
11406 members. Handle -fcompare-debug-second.
11407 (fast_math_flags_struct_set_p): Update names of cl_optimization
11408 members.
11409 * reginfo.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
11410 * regrename.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
11411 * reload.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
11412 * reload1.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
11413 * resource.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
11414 * rtl.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
11415 HARD_FRAME_POINTER_IS_ARG_POINTER): Define and use.
11416 * sel-sched.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
11417 * stmt.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
11418
11419 2010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
11420
11421 * config/picochip/picochip.c (picochip_output_internal_label):
11422 This function can now be called for debug CFI labels, which can come
11423 in the middle of a vliw instruction. Postpone until end of vliw.
11424
11425 2010-09-29 Richard Guenther <rguenther@suse.de>
11426
11427 * tree.h (SCOPE_FILE_SCOPE_P): New macro.
11428 (DECL_FILE_SCOPE_P): Use it.
11429 (TYPE_FILE_SCOPE_P): New macro.
11430
11431 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
11432
11433 * c-parser.c (c_lex_one_token): In Objective-C, when dealing with
11434 a CPP_NAME which is a reserved word, clearly separate cases for
11435 OBJC_IS_PQ_KEYWORD, OBJC_IS_AT_KEYWORD and OBJC_IS_CXX_KEYWORD.
11436
11437 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
11438
11439 * c-parser.c (c_lex_one_token): In Objective-C, do not replace
11440 token->value with the canonical spelling. Do exactly like C and
11441 C++ and leave it as it is.
11442
11443 2010-09-28 Richard Henderson <rth@redhat.com>
11444
11445 * config/alpha/alpha.c (alpha_builtins): New.
11446 (alpha_builtin_decl, TARGET_BUILTIN_DECL): New.
11447 (alpha_builtin_function): New.
11448 (alpha_add_builtins, alpha_init_builtins): Use it.
11449
11450 2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
11451
11452 * doc/standards.texi (Standards): Expanded the section on
11453 Objective-C and Objective-C++.
11454
11455 2010-09-28 DJ Delorie <dj@redhat.com>
11456
11457 PR target/45800
11458 * config/m32c/m32c.c (m32c_subreg): Force adjustment of subregs of
11459 volatile MEMs.
11460
11461 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
11462
11463 * c-parser.c (c_parser_declaration_or_fndef): Diagnose incorrect prefix
11464 attributes on methods.
11465 (c_parser_objc_method_definition): Handle attributes.
11466 (c_parser_objc_methodproto): Likewise.
11467 (c_parser_objc_maybe_method_attributes): New.
11468 (c_parser_objc_method_decl): Handle attributes, add a diagnostic for a
11469 missing definition, similar to that in ObjC++.
11470
11471 2010-09-28 Richard Henderson <rth@redhat.com>
11472
11473 * defaults.h (DWARF2_UNWIND_INFO): Don't depend on TARGET_UNWIND_INFO.
11474 (MUST_USE_SJLJ_EXCEPTIONS): Remove.
11475 (CONFIG_SJLJ_EXCEPTIONS): Remove.
11476 (STACK_OLD_CHECK_PROTECT): Use targetm.except_unwind_info.
11477 (STACK_CHECK_PROTECT): Likewise.
11478 * dwarf2out.c (DWARF2_UNWIND_INFO, DWARF2_FRAME_INFO): Poison.
11479 (dwarf2out_do_frame): Use debug_unwind_info and except_unwind_info.
11480 (dwarf2out_do_cfi_asm, dwarf2out_begin_prologue): Likewise.
11481 (dwarf2out_frame_init, dwarf2out_frame_finish): Likewise.
11482 (dwarf2out_assembly_start): Likewise.
11483 * except.c (init_eh): Use targetm.except_unwind_info.
11484 (finish_eh_generation, gate_convert_to_eh_region_ranges): Likewise.
11485 (output_one_function_exception_table): Likewise.
11486 * final.c: Unconditionally include dwarf2out.h.
11487 (final_start_function): Unconditionally call dwarf2out routines.
11488 (final_end_function, final_scan_insn): Likewise.
11489 * function.c (expand_function_end): Use targetm.except_unwind_info.
11490 * opts.c (decode_options): Use targetm.except_unwind_info.
11491 * system.h (USING_SJLJ_EXCEPTIONS, TARGET_UNWIND_INFO): Poison.
11492 * target.def (debug_unwind_info, except_unwind_info): New.
11493 * target.h (enum unwind_info_type): New.
11494 * targhooks.c (default_debug_unwind_info): New.
11495 (default_except_unwind_info): New.
11496 (dwarf2_except_unwind_info, sjlj_except_unwind_info): New.
11497 * targhooks.h: Declare them.
11498 * tree-tailcall.c: Include "target.h"
11499 (suitable_for_tail_call_opt_p): Use targetm.except_unwind_info.
11500 * Makefile.in (tree-tailcall.o): Update.
11501 * tree.c (build_common_builtin_nodes): Use targetm.except_unwind_info.
11502 (lhd_gcc_personality): Likewise.
11503
11504 * doc/tm.texi.in (TARGET_UNWIND_INFO): Remove.
11505 (TARGET_EXCEPT_UNWIND_INFO): New.
11506 (DWARF2_UNWIND_INFO): Update.
11507 (TARGET_DEBUG_UNWIND_INFO): New.
11508 * doc/tm.texi: Rebuild.
11509
11510 * c-family/c-cppbuiltin.c (c_cpp_builtins): Use
11511 targetm.except_unwind_info.
11512
11513 * config/arm/arm.c (TARGET_EXCEPT_UNWIND_INFO): New.
11514 (arm_except_unwind_info): New.
11515 (arm_compute_func_type): Use it.
11516 (arm_expand_prologue, thumb_pushpop): Likewise.
11517 (thumb1_expand_prologue, thumb1_output_function_prologue): Likewise.
11518 (arm_unwind_emit, arm_output_fn_unwind): Likewise.
11519 * config/arm/bpabi.h (ARM_UNWIND_INFO): Rename from TARGET_UNWIND_INFO.
11520 * config/arm/arm.h (ARM_UNWIND_INFO): Likewise.
11521 (DWARF2_UNWIND_INFO): Remove.
11522 (MUST_USE_SJLJ_EXCEPTIONS): Remove.
11523 (ARM_EABI_UNWIND_TABLES): Remove.
11524
11525 * config/ia64/ia64.c (ia64_debug_unwind_info): New.
11526 (TARGET_DEBUG_UNWIND_INFO, TARGET_EXCEPT_UNWIND_INFO): New.
11527 (ia64_except_unwind_info): New.
11528 (ia64_output_function_prologue): Use it.
11529 (ia64_add_bundle_selector_before): Likewise.
11530 (ia64_reorg, ia64_asm_unwind_emit): Likewise.
11531 * config/ia64/ia64.h (DWARF2_FRAME_INFO): Remove.
11532 (TARGET_UNWIND_INFO): Remove.
11533
11534 * config/pa/pa.c (pa_option_override): Use targetm.except_unwind_info.
11535
11536 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
11537
11538 * c-parser.c (c_parser_objc_class_definition): Adjust prototype.
11539 (c_parser_objc_protocol_definition): Likewise.
11540 (c_parser_external_declaration): Provide dummy attribute arguments.
11541 (c_parser_declaration_or_fndef): Parse prefix attributes for ObjC.
11542 (c_parser_objc_class_definition): Handle attributes.
11543 (c_parser_objc_protocol_definition): Likewise.
11544
11545 2010-09-28 Tobias Burnus <burnus@net-b.de>
11546
11547 PR fortran/40569
11548 PR fortran/40568
11549 * toplev.h (save_decoded_options, save_decoded_options_count):
11550 New global variables.
11551 * toplev.c (save_decoded_options, save_decoded_options_count):
11552 Export variables.
11553
11554 2010-09-28 Ian Lance Taylor <iant@google.com>
11555
11556 * config/i386/i386.c (ix86_supports_split_stack): Test
11557 HAVE_GAS_CFI_PERSONALITY_DIRECTIVE rather than dwarf2out_do_cfi_asm.
11558
11559 2010-09-28 Ian Lance Taylor <iant@google.com>
11560
11561 PR target/45815
11562 * opts.c (decode_options): Don't test whether the target supports
11563 split stack if flag_split_stack == 0.
11564
11565 2010-09-28 Jan Hubicka <jh@suse.cz>
11566
11567 * builtin-attrs.def (ATTR_LEAF): New attribute.
11568 (ATTR_NOVOPS_LEAF_LIST, ATTR_LEAF_LIST, ATTR_NOTHROW_LEAF_LIST,
11569 ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_PURE_NOTHROW_LEAF_LIST,
11570 ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST, ATTR_NORETURN_NOTHROW_LEAF_LIST,
11571 ATTR_MALLOC_NOTHROW_LEAF_LIST, ATTR_SENTINEL_NOTHROW_LEAF_LIST,
11572 ATTR_NOTHROW_NONNULL_LEAF, ATTR_CONST_NOTHROW_NONNULL_LEAF,
11573 ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF, ATTR_PURE_NOTHROW_NONNULL_LEAF,
11574 ATTR_MALLOC_NOTHROW_NONNULL_LEAF): New attribute lists.
11575 * sync-builtins.def: Annotate all builtins by leaf.
11576 * omp-builtins.def: Annotate all builtins by leaf.
11577 * builtins.def: Annotate relevant builtins with leaf attribute.
11578 (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
11579 ATTR_MATHFN_FPROUNDING_ERRNO, ATTR_MATHFN_FPROUNDING_STORE): Make
11580 leaf.
11581
11582 2010-09-28 Jan Hubicka <jh@suse.cz>
11583
11584 * tree-ssa-ccp.c (fold_ctor_reference): New function.
11585 (fold_const_aggregate_ref): Use it.
11586 * fold-const.c (canonicalize_constructor_val): Check that we don't fold
11587 into external static.
11588
11589 2010-09-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11590
11591 PR target/44452
11592 * config/i386/i386.opt (mvect8-ret-in-mem): Define.
11593 * config/i386/i386.c (ix86_target_string): Handle -mvect8-ret-in-mem.
11594 (ix86_solaris_return_in_memory): Remove.
11595 * config/i386/i386-protos.h (ix86_solaris_return_in_memory): Remove.
11596 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
11597 (TARGET_SUBTARGET_DEFAULT): Redefine.
11598 * config/i386/sol2-10.h (TARGET_SUBTARGET_DEFAULT): Update comment.
11599 * config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
11600 (TARGET_SUBTARGET_DEFAULT): Redefine.
11601 * doc/invoke.texi (Option Summary, i386 and x86-64 Options): Add
11602 -mvect8-ret-in-mem.
11603 (i386 and x86-64 Options): Document -mvect8-ret-in-mem.
11604
11605 2010-09-29 Alan Modra <amodra@gmail.com>
11606
11607 PR target/45807
11608 * config/rs6000/aix.h (SETUP_FRAME_ADDRESSES): Delete.
11609 * config/rs6000/linux64.h (SETUP_FRAME_ADDRESSES): Delete.
11610 * config/rs6000/rs6000-protos.h (rs6000_aix_emit_builtin_unwind_init):
11611 Delete.
11612 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): Delete.
11613 (rs6000_emit_prologue): Don't just create frame save info for r2,
11614 actually save r2.
11615
11616 2010-09-28 Richard Henderson <rth@redhat.com>
11617
11618 * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Output 8 bytes
11619 when 8 bytes are requested.
11620
11621 2010-09-28 Tristan Gingold <gingold@adacore.com>
11622
11623 * config/avr/avr.c (expand_prologue): Set
11624 current_function_static_stack_size.
11625
11626 2010-09-28 Tristan Gingold <gingold@adacore.com>
11627
11628 * config/alpha/alpha.md: Change the initial condition of the
11629 probing loop.
11630
11631 2010-09-28 Uros Bizjak <ubizjak@gmail.com>
11632
11633 * config/i386/sse.md (*avx_<umaxmin:code><mode>3):
11634 Split from *avx_<maxmin:code><mode>3.
11635 (*avx_<smaxmin:code><mode>3): Ditto.
11636 * config/i386/i386.md (maxmin): Remove code iterator.
11637
11638 2010-09-27 Ian Lance Taylor <iant@google.com>
11639
11640 * config/i386/i386.c (ix86_supports_split_stack): -fsplit-stack
11641 requires assembler support for CFI directives.
11642
11643 2010-09-27 Richard Henderson <rth@redhat.com>
11644
11645 * dwarf2out.c (dwarf2out_cfi_label): Use ASM_OUTPUT_DEBUG_LABEL.
11646
11647 2010-09-27 Hans-Peter Nilsson <hp@axis.com>
11648
11649 * emit-rtl.c (reorder_insns_nobb) [ENABLE_CHECKING]: Sanity-check
11650 that AFTER is not in the range FROM..TO, inclusive.
11651
11652 2010-09-27 Hans-Peter Nilsson <hp@axis.com>
11653 Bernd Schmidt <bernds@codesourcery.com>
11654
11655 PR rtl-optimization/45792
11656 * cfgcleanup.c (try_head_merge_bb): New rtx vector nextptr.
11657 If not all insns are to be merged, for each edge, stash the
11658 next candidate after the to-be-merged insns before doing the
11659 merge, and use them for the retry at the new insertion point.
11660 Handle CC0 targets when retrying.
11661
11662 2010-09-27 Ian Lance Taylor <iant@google.com>
11663
11664 * common.opt (fsplit-stack): New option.
11665 * opts.c (decode_options): Set flag_split_stack to final value.
11666 * target.def (supports_split_stack): New hook.
11667 * gcc.c (STACK_SPLIT_SPEC): Define.
11668 (LINK_COMMAND_SPEC): Use STACK_SPLIT_SPEC.
11669 * doc/invoke.texi (Option Summary): Mention -fsplit-stack.
11670 (Code Gen Options): Document -fsplit-stack.
11671 * doc/extend.texi (Function Attributes): Mention no_split_stack.
11672 (Function Attributes): Document no_split_stack.
11673 * doc/tm.texi.in (Stack Smashing Protection): Add @hook
11674 TARGET_SUPPORTS_SPLIT_STACK.
11675 * doc/tm.texi: Rebuild.
11676 * function.c (thread_prologue_and_epilogue_insns): If
11677 flag_split_stack, add split stack prologue.
11678 * explow.c (allocate_dynamic_stack_space): Support -fsplit-stack.
11679 * varasm.c (saw_no_split_stack): New static variable.
11680 (assemble_start_function): Set saw_no_split_stack if the function
11681 has the no_split_stack attribute.
11682 (file_end_indicate_split_stack): New function.
11683 * output.h (file_end_indicate_split_stack): Declare.
11684 * libgcc-std.ver (GCC_4.6.0): Add -fsplit-stack support variables
11685 and function.
11686 * doc/libgcc.texi (Miscellaneous routines): Document -fsplit-stack
11687 routines.
11688 * config/i386/i386.c (ix86_option_override_internal): Don't set
11689 expand_builtin_va_start to NULL if -fsplit-stack.
11690 (ix86_function_regparm): Reduce local regparm by 1 for 32-bit
11691 -fsplit-stack.
11692 (ix86_va_start): If -fsplit-stack, get overflow pointer from
11693 scratch register set by prologue.
11694 (ix86_code_end): If -fsplit-stack, call
11695 file_end_indicate_split_stack.
11696 (ix86_supports_split_stack): New static function.
11697 (SPLIT_STACK_AVAILABLE): Define.
11698 (split_stack_prologue_scratch_regno): New static function.
11699 (split_stack_fn): New static variable.
11700 (ix86_expand_split_stack_prologue): New function.
11701 (ix86_live_on_entry): New static function.
11702 (ix86_legitimate_address_p): Handle UNSPEC_STACK_CHECK.
11703 (output_pic_addr_const): Likewise.
11704 (i386_asm_output_addr_const_extra): Likewise.
11705 (ix86_expand_call): Change return type to rtx. Return the new
11706 call instruction.
11707 (TARGET_SUPPORTS_SPLIT_STACK): Define.
11708 (TARGET_EXTRA_LIVE_ON_ENTRY): Define.
11709 * config/i386/i386.md (UNSPEC_STACK_CHECK): Define.
11710 (split_stack_prologue, split_stack_return): New insns.
11711 (split_stack_space_check): New insn.
11712 * config/i386/i386.h (struct machine_function): Add
11713 split_stack_varargs_pointer field.
11714 * config/i386/linux.h (TARGET_CAN_SPLIT_STACK): Define.
11715 (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
11716 * config/i386/linux64.h (TARGET_CAN_SPLIT_STACK): Define.
11717 (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
11718 * config/i386/i386-protos.h (ix86_expand_split_stack_prologue):
11719 Declare.
11720 (ix86_expand_call): Update declaration.
11721
11722 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
11723
11724 * doc/objc.texi (Type encoding): Added the new 'long double' (D)
11725 code. Added byref, which was missing in the list of codes.
11726 Explain that enumeration values are encoded as the integer type
11727 that the compiler uses to store them. Explain and make examples
11728 of how 'const' interacts with pointers, and the complication of
11729 the encoding of 'const char *'.
11730 (Legacy type encoding): New subsection, explaining that GCC emits
11731 incorrect type encodings for the NeXT runtime for compatibility
11732 reasons.
11733 (@@encode): New subsection, explaining @encode and particularly
11734 that protocol qualifiers are not recognized inside an @encode()
11735 expression.
11736 (Method signatures): New subsection, explaining how method
11737 signatures are encoded.
11738
11739 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
11740
11741 Merge from 'apple/trunk' branch on FSF servers. Removed small
11742 change in build_conditional_expr that had been added when fixing
11743 PR objc/27377 and which did the same check in a less complete way.
11744
11745 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
11746
11747 Radar 4229905
11748 * c-typeck.c (build_conditional_expr): Call objc_have_common_type when
11749 looking for objective-c common pointer types.
11750
11751 2005-06-22 Ziemowit Laski <zlaski@apple.com>
11752
11753 Radar 4154928
11754 * c-typeck.c (build_conditional_expr): For two ObjC pointer types,
11755 use their ObjC common type.
11756
11757 2010-09-27 Richard Guenther <rguenther@suse.de>
11758
11759 * dbxout.c (dbxout_symbol): Use DECL_FILE_SCOPE_P.
11760
11761 2010-09-27 Jie Zhang <jie@codesourcery.com>
11762
11763 * print-tree.c (print_node): Print in-constant-pool.
11764
11765 2010-09-27 Uros Bizjak <ubizjak@gmail.com>
11766
11767 * config/i386/i386.h (CLASS_MAX_NREGS): Also handle XCmode.
11768 (UNITS_PER_WORD): Define only when IN_LIBGCC2 is undefined.
11769 (MOVE_MAX_PIECES): Redefine using UNITS_PER_WORD.
11770 (ASM_OUTPUT_AVX_PREFIX): Simplify pointer addition.
11771
11772 2010-09-26 Uros Bizjak <ubizjak@gmail.com>
11773
11774 * config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_add): Merge
11775 from pro_epilogue_adjust_stack_<mode>_{1,2}.
11776 (pro_epilogue_adjust_stack_<mode>_add): Rename from
11777 pro_epilogue_adjust_stack_<mode>_3.
11778 * config/i386/i386.c (pro_epilogue_adjust_stack): Update for
11779 renamed pro_epilogue_adjust_stack_{si,di}_add.
11780 (ix86_expand_prologue): Use indirect functions. Update for renamed
11781 pro_epilogue_adjust_stack_{si,di}_sub.
11782
11783 2010-09-26 Uros Bizjak <ubizjak@gmail.com>
11784
11785 * config/i386/i386.md (movmsk_df): New insn.
11786 (signbitdf): Split out of signbit<mode>2. Generate movmsk_df
11787 sequence for TARGET_SSE_MATH.
11788
11789 2010-09-26 Richard Sandiford <rdsandiford@googlemail.com>
11790
11791 * config/mips/mips.c (mips_builtin_decls): Declare.
11792 (mips_init_builtins): Store function declarations in
11793 mips_builtin_decls.
11794 (mips_builtin_decl): New function.
11795 (TARGET_BUILTIN_DECL): Define.
11796
11797 2010-09-25 Kai Tietz <kai.tietz@onevision.com>
11798 Richard Henderson <rth@redhat.com>
11799
11800 * config/i386/cygwin.asm: Include auto-host.h.
11801 (cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset,
11802 cfi_def_cfa_register, cfi_register, cfi_push, cfi_pop): New macros.
11803 (__chkstk, __alloca): Annotate for dwarf2 unwind info. Drop
11804 alignment code from the 64-bit path. Use gas local labels.
11805 * config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_2): Macroize
11806 from _di_2. Remove the useless constant integer argument.
11807 (pro_epilogue_adjust_stack_<mode>_3): New.
11808 (allocate_stack_worker_probe_<mode>): Macroize from
11809 allocate_stack_worker_{32,64}. Use __chkstk_ms. Update all users.
11810 * config/i386/i386.c (ix86_expand_prologue): Use __chkstk_ms;
11811 use gen_pro_epilogue_adjust_stack_*_3 and annotate it.
11812 (__chkstk_ms): New function.
11813 * config/i386/t-cygming (LIB1ASMFUNCS): Add _chkstk_ms.
11814 * config/i386/t-interix: Likewise.
11815 * configure.ac (HAVE_GAS_CFI_DIRECTIVE): Export for target.
11816 (HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): Likewise.
11817 (HAVE_GAS_CFI_SECTIONS_DIRECTIVE): Likewise.
11818 * configure, config.in: Rebuild.
11819
11820 2010-09-25 Eric Botcazou <ebotcazou@adacore.com>
11821
11822 * tree-inline.c (copy_bb): Use GSI_CONTINUE_LINKING when inserting new
11823 statements because of the return slot optimization.
11824
11825 2010-09-25 Anatoly Sokolov <aesok@post.ru>
11826
11827 * config/avr/avr.h (CLASS_LIKELY_SPILLED_P): Remove.
11828 * config/avr/avr-protos.h (class_likely_spilled_p): Remove.
11829 * config/avr/avr.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
11830 (class_likely_spilled_p): Rename to...
11831 (avr_class_likely_spilled_p): ...this. Make static. Change argument
11832 type to reg_class_t.
11833
11834 2010-09-24 Jan Hubicka <jh@suse.cz>
11835
11836 * lto-symtab.c (lto_symtab_entry_def): Add guessed field.
11837 (lto_symtab_resolve_symbols): Set it.
11838 (lto_symtab_merge_decls_1): Do not compute used_from_object_file;
11839 store resolution field in cgraph/varpool.
11840 * cgraph.c (cgraph_same_body_alias, cgraph_add_thunk): Return node.
11841 (cgraph_get_node_or_alias, cgraph_get_node_or_alias): Constify.
11842 (cgraph_dump_node): Drop used_from_object_file.
11843 (cgraph_clone_node, cgraph_create_virtual_clone): Likewise.
11844 (cgraph_function_body_availability): Use decl_replaceable_p.
11845 (cgraph_make_node_local): Set resolution to LDPR_PREVAILING_DEF_IRONLY.
11846 (cgraph_can_remove_if_no_direct_calls_and_refs): Use
11847 cgraph_used_from_object_file_p.
11848 (cgraph_will_be_removed_from_program_if_no_direct_calls): Use
11849 cgraph_used_from_object_file_p.
11850 (resolution_used_from_other_file_p): New functoin.
11851 (cgraph_used_from_object_file_p): New predicate.
11852 * cgraph.h: Include plugin-api.h
11853 (struct cgraph_local_info): Remove used_from_object_file.
11854 (struct cgraph_node): Add resolution field.
11855 (struct varpool_node): Likewise; remove used_from_object_file;
11856 reove const_value_known.
11857 (cgraph_get_node, cgraph_get_node_or_alias, cgraph_node,
11858 cgraph_same_body_alias, cgraph_add_thunk): Update prototypes.
11859 (resolution_used_from_other_file_p, cgraph_used_from_object_file_p,
11860 varpool_used_from_object_file_p): Declare.
11861 (varpool_get_node, varpool_extra_name_alias): Update prototype.
11862 * tree.h (DECL_REPLACEABLE_P): Remove.
11863 (decl_replaceable_p, decl_binds_to_current_def_p): Declare.
11864 * final.c (rest_of_clean_state): Use decl_binds_to_current_def_p.
11865 * lto-cgraph.c (lto_output_node, lto_output_varpool_node,
11866 input_overwrite_node, input_node, input_varpool_node): Stream
11867 resolution.
11868 * expr.c (expand_expr_real_1): Use const_value_known_p
11869 * ipa.c (ipa_discover_readonly_nonaddressable_var): Do not set
11870 const_value_known.
11871 (cgraph_externally_visible_p): Use cgraph_used_from_object_file_p.
11872 (function_and_variable_visibility): Set resolution for local vars
11873 and functions; use varpool_used_from_object_file_p.
11874 * varasm.c (resolution_to_local_definition_p, resolution_local_p): New
11875 static functions.
11876 (default_binds_local_p_1): Use resolutoin info.
11877 (decl_binds_to_current_def_p, decl_replaceable_p): New functions.
11878 * varpool.c (varpool_get_node): Constify.
11879 (const_value_known_p): Do not use vnode->const_value_known;
11880 use decl_replaceable_p.
11881 (varpool_finalize_decl): Do not set const_value_known.
11882 (cgraph_variable_initializer_availability): Use decl_replaceable_p
11883 (varpool_extra_name_alias): Return new node.
11884 (varpool_used_from_object_file_p): New function.
11885
11886 2010-09-24 Richard Henderson <rth@redhat.com>
11887
11888 * config/ia64/ia64.c (ia64_dwarf_handle_frame_unspec): New.
11889 (TARGET_DWARF_HANDLE_FRAME_UNSPEC): New.
11890 (do_spill): Use REG_CFA_OFFSET.
11891 (ia64_expand_prologue): Use REG_CFA_ADJUST_CFA and REG_CFA_REGISTER
11892 as appropriate.
11893 (ia64_expand_epilogue): Likewise.
11894 (process_set): Split into ...
11895 (process_cfa_adjust_cfa): this,
11896 (process_cfa_register): this,
11897 (process_cfa_offset): and this new function.
11898 (ia64_asm_unwind_emit): Use them. Expect REG_CFA_* notes
11899 instead of REG_FRAME_RELATED_EXPR.
11900
11901 2010-09-24 Olivier Hainque <hainque@adacore.com>
11902
11903 * config/i386/vx-common.h (DBX_REGISTER_NUMBER): Reinstate.
11904
11905 2010-09-24 Jan Hubicka <jh@suse.cz>
11906
11907 * doc/extend.texi: (attribute leaf): Document.
11908 * tree.c (local_define_builtin): Handle ECF_LEAF.
11909 (build_common_builtin_nodes): Set ECF_LEAF where needed.
11910 * tree.h (ECF_LEAF): New.
11911 * ipa-reference.c (propagate_bits): For leaf calls propagate ever
11912 overwrittable and unavailable functions.
11913 (ipa_init): Put all_module_statics into optimization_summary_obstack.
11914 (copy_global_bitmap): Do not copy all_module_statics.
11915 (read_write_all_from_decl): Use cgraph_node argument; handle ECF_LEAF.
11916 (propagate): Handle overwritable and unavailable leaf functions;
11917 initialize global info for overwritable and unavailable leaf functions;
11918 do not free all module statics.
11919 (ipa_reference_get_not_{read,written}_global): Leaf calls don't clobber
11920 local statics.
11921 * calls.c (flags_from_decl_or_type): Handle leaf.
11922 * tree-cfg.c (stmt_can_make_abnormal_goto): Leaf functions can't do
11923 abnormal gotos.
11924
11925 2010-09-24 Basile Starynkevitch <basile@starynkevitch.net>
11926
11927 * gengtype.c: Reindented.
11928 * gengtype.h: Reindented.
11929 * gengtype-parse.c: Reindented.
11930
11931 2010-09-24 Jan Hubicka <jh@suse.cz>
11932
11933 PR tree-optimization/45738
11934 PR tree-optimization/45741
11935 * expr.c (string_constant): Allow CONST_DECL too;
11936 check that DECL_INITIAL is set.
11937 * varpool.c (const_value_known_p): Only look into VAR_DECL
11938 and CONST_DECL.
11939
11940 2010-09-24 Joseph Myers <joseph@codesourcery.com>
11941
11942 * common.opt (undef): New.
11943
11944 2010-09-24 Jakub Jelinek <jakub@redhat.com>
11945
11946 PR middle-end/45234
11947 * rtl.h (enum global_rtl_index): Add
11948 GR_VIRTUAL_PREFERRED_STACK_BOUNDARY.
11949 (LAST_VIRTUAL_POINTER_REGISTER): Define.
11950 (virtual_preferred_stack_boundary_rtx,
11951 VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM): Define.
11952 (LAST_VIRTUAL_REGISTER): Increase by one.
11953 (REGNO_PTR_FRAME_P): Use LAST_VIRTUAL_POINTER_REGISTER
11954 instead of LAST_VIRTUAL_REGISTER.
11955 * function.c (instantiate_new_reg): Handle
11956 virtual_preferred_stack_boundary_rtx.
11957 * emit-rtl.c (init_virtual_regs): Handle
11958 VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM.
11959 (init_emit_regs): Initialize virtual_preferred_stack_boundary_rtx.
11960 * explow.c (round_push): If crtl->preferred_stack_boundary
11961 is smaller than MAX_SUPPORTED_STACK_ALIGNMENT, use
11962 virtual_preferred_stack_boundary_rtx alignment instead of
11963 crtl->preferred_stack_boundary alignment.
11964 (allocate_dynamic_stack_space): Use CONST_INT_P and REG_P
11965 macros. Never decrease crtl->preferred_stack_boundary,
11966 use crtl->preferred_stack_boundary or MAX_SUPPORTED_STACK_ALIGNMENT
11967 instead of PREFERRED_STACK_BOUNDARY. Don't modify
11968 stack_pointer_delta in dynamic allocation, even when size
11969 is constant.
11970 (probe_stack_range, anti_adjust_stack_and_probe): Use CONST_INT_P
11971 macro.
11972 * print-rtl.c (print_rtx): Handle
11973 VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM.
11974 * config/alpha/alpha.h (NONSTRICT_REG_OK_FP_BASE_P): Use
11975 LAST_VIRTUAL_POINTER_REGISTER instead of LAST_VIRTUAL_REGISTER.
11976 * config/frv/frv.c (frv_emit_movsi): Likewise.
11977 * config/arm/arm.c (thumb1_legitimate_address_p): Likewise.
11978 * config/rs6000/rs6000.c (virtual_stack_registers_memory_p):
11979 Likewise.
11980
11981 Revert:
11982 2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
11983
11984 PR middle-end/45234
11985 * calls.c (expand_call): Make sure that all variable sized
11986 adjustments are multiple of preferred stack boundary after
11987 stack alignment.
11988
11989 2010-09-24 Iain Sandoe <iains@gcc.gnu.org>
11990 Dominique Dhumieres <dominiq@lps.ens.fr>
11991
11992 PR bootstrap/45751
11993 * config/darwin-driver.c (darwin_default_min_version):
11994 Adjust size passed to memcpy in two places.
11995
11996 2010-09-24 Richard Guenther <rguenther@suse.de>
11997
11998 * c-decl.c (pop_scope): Always set file-scope DECL_CONTEXT.
11999 Make sure to not call set_type_context with error_mark_node.
12000 * langhooks.c (lhd_set_decl_assembler_name): Use DECL_FILE_SCOPE_P.
12001
12002 2010-09-24 Richard Guenther <rguenther@suse.de>
12003
12004 * Makefile.in (OBJS-onestep): Remove.
12005 (ALL_HOST_BACKEND_OBJS): Remove libbackend.o.
12006 (libbackend.a): Remove onestep support.
12007 (libbackend.o): Remove.
12008 * configure.ac (--enable-intermodule): Remove.
12009 * configure: Regenerate.
12010
12011 2010-09-24 Bernd Schmidt <bernds@codesourcery.com>
12012
12013 * cfgcleanup.c (flow_find_head_matching_sequence): Terminate when
12014 reaching the end of a block if it occurs at a DEBUG_INSN.
12015
12016 2010-09-09 Tristan Gingold <gingold@adacore.com>
12017
12018 PR target/44242
12019 * config/vms/vms-crt0-64.c: Removed.
12020 * config/vms/vms-crt0.c: Removed.
12021 * config/vms/vms-psxcrt0-64.c: Removed.
12022 * config/vms/vms-psxcrt0.c: Removed.
12023 * config/vms/vms-ucrt0.c: New file.
12024 * config/vms/t-vms64: Removed.
12025 * config/vms/t-vms (VMS_EXTRA_PARTS): Uncomment it. Remove DECC.
12026 Use $(GCC_FOR_TARGET) to build pcrt0.o and vcrt0.o
12027 * config.gcc (alpha-dec-vms): Use t-vms.
12028
12029 2010-09-24 Nicola Pero <nicola.pero@meta-innovation.com>
12030
12031 * doc/invoke.texi (-fno-nil-receivers): Tidied up line to remove
12032 underfull hbox in DVI output.
12033 (-fobjc-class-cxx-cdtors): Same change.
12034 (-fobjc-exceptions): Tidied up documentation. Explain what the
12035 option does, but moved the (lenghty) description of the exception
12036 syntax into objc.texi.
12037 (-fobjc-gc): Explain that the option is not useful with the GNU
12038 runtime.
12039 (-fzero-link): Explain that the GNU runtime always works in
12040 "zero-link" mode.
12041 * doc/objc.texi: All sections: simplified @node declarations
12042 removing specification of next, previous, up node.
12043 (Objective-C): Updated introduction.
12044 (Garbage Collection): Updated. The bohem-gc library is now
12045 included in gcc itself. Mention that this section only applies to
12046 the GNU Objective-C runtime.
12047 (compatibility_alias): Small tidy up.
12048 (Exceptions): New section mostly containing text previously in the
12049 description of the -fobjc-exception command-line option.
12050 (Synchronization): Same.
12051
12052 2010-09-24 Uros Bizjak <ubizjak@gmail.com>
12053
12054 * config/i386/i386.md (ix86_code_end): Move the initialization of
12055 xops array near the consumer. Use AX_REG and SP_REG instead of
12056 numerical constants.
12057
12058 2010-09-24 Nicola Pero <nicola.pero@meta-innovation.com>
12059
12060 * c-typeck.c (convert_arguments): Use warning 'too many arguments to
12061 method [methodname]' for an Objective-C method instead of the less
12062 satisfactory 'too many arguments to function' (with no method name).
12063
12064 2010-09-23 Eric Botcazou <ebotcazou@adacore.com>
12065
12066 * tree-flow.h (execute_update_addresses_taken): Remove parameter.
12067 * tree-ssa.c (maybe_optimize_var): Tweak comment and dump messages.
12068 (execute_update_addresses_taken): Remove parameter. Execute the
12069 optimization unconditionally.
12070 * passes.c (execute_function_todo): Call execute_update_addresses_taken
12071 unconditionally if TODO_rebuild_alias is set, else only when optimizing
12072 if TODO_update_address_taken is set.
12073
12074 2010-09-23 Anatoly Sokolov <aesok@post.ru>
12075
12076 * config/arm/arm.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
12077 * config/arm/arm-protos.h (arm_output_addr_const_extra): Remove.
12078 * config/arm/arm.c (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
12079 (arm_output_addr_const_extra): Make static.
12080
12081 2010-09-23 Uros Bizjak <ubizjak@gmail.com>
12082
12083 * config/i386/i386.md (UNSPECV_NOPS): Rename from UNSPEC_NOPS and
12084 define as unspec_volatile.
12085 ("nops"): Define as unspec_volatile. Use fputs to write to
12086 asm_out_file directly. Output NOPs on separate lines using while loop.
12087 * config/i386/i386.c (ix86_code_end): Use fputs to write to
12088 asm_out_file directly. Output NOPs on separate lines using while loop.
12089
12090 2010-09-23 Richard Guenther <rguenther@suse.de>
12091
12092 PR tree-optimization/45565
12093 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee):
12094 Make sure to adjust the fndecl before replacing the stmt.
12095
12096 2010-09-23 Richard Guenther <rguenther@suse.de>
12097
12098 PR middle-end/45750
12099 * gimplify.c (gimplify_expr): Properly pass on GS_ERROR when
12100 gimplifying MEM_REF.
12101
12102 2010-09-23 Alan Modra <amodra@gmail.com>
12103
12104 * config/rs6000/rs6000.c (toc_relative_ok): Delete.
12105 (rs6000_emit_move): Use SYMBOL_REF_LOCAL_P instead.
12106
12107 2010-09-23 Bernd Schmidt <bernds@codesourcery.com>
12108
12109 PR rtl-optimization/44374
12110 * basic-block.h (enum bb_flags): Add BB_MODIFIED.
12111 * df-core.c (df_set_bb_dirty): Set it.
12112 * ifcvt.c (find_memory): Remove function.
12113 (dead_or_predicable): Use can_move_insns_across.
12114 * df.h (can_move_insns_across): Declare function.
12115 * cfgcleanup.c (block_was_dirty): New static variable.
12116 (try_crossjump_bb, try_forward_edges): Test BB_MODIFIED flag rather
12117 than df_get_bb_dirty.
12118 (try_head_merge_bb): New static function.
12119 (try_optimize_cfg): Call it. Call df_analyze if block_was_dirty
12120 is set.
12121 * df-problems.c: Include "target.h"
12122 (df_simulate_find_uses): New static function.
12123 (MEMREF_NORMAL, MEMREF_VOLATILE): New macros.
12124 (find_memory, find_memory_store): New static functions.
12125 (can_move_insns_across): New function.
12126 * Makefile.in (df-problems.o): Update dependencies.
12127
12128 2010-09-22 Eric Botcazou <ebotcazou@adacore.com>
12129
12130 PR java/44095
12131 * config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch
12132 is specified and the suffix of the file isn't ".c".
12133 * config/sparc/linux64.h (ASM_SPEC): Likewise.
12134
12135 2010-09-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12136
12137 * doc/contrib.texi (Contributors): Allow URL to wrap in PDF output.
12138 * doc/cppopts.texi: Fix markup of index entry.
12139 * doc/extend.texi (Constructing Calls): Fix markup of
12140 __builtin_va_arg_pack and __builtin_va_arg_pack_len definition.
12141 (Conditionals, C++ Comments, Pragmas, Unnamed Fields, Thread-Local)
12142 (Vague Linkage, C++ Attributes): Fix markup of index entries and
12143 keywords.
12144 * doc/invoke.texi (Option Summary): Fix spacing. Rewrap to
12145 avoid long lines.
12146 (C Dialect Options, C++ Dialect Options, Warning Options)
12147 (Debugging Options, Spec Files, Darwin Options)
12148 (i386 and x86-64 Options, MIPS Options)
12149 (RS/6000 and PowerPC Options, Code Gen Options): Fix markup of
12150 index entries, avoid abbreviations, allow URLs to wrap, avoid
12151 long lines, avoid overlong pages from long @itemx lists.
12152 * doc/objc.texi (Garbage Collection): Allow URLs to wrap.
12153 * doc/standards.texi (Standards): Likewise.
12154 * doc/trouble.texi (Incompatibilities): Fix markup of index entry.
12155
12156 2010-09-22 Joseph Myers <joseph@codesourcery.com>
12157
12158 * opts-common.c (prune_options): Make static. Work with decoded
12159 options.
12160 (decode_cmdline_options_to_array): Call prune_options. Don't
12161 resize option array here.
12162 * opts.h (prune_options): Remove prototype.
12163 * gcc.c (process_command): Take decoded options; don't call
12164 decode_cmdline_options_to_array here. Use decoded options for argv[0].
12165 (main): Call decode_cmdline_options_to_array here instead of
12166 prune_options. Update call to process_command.
12167 * config/darwin-driver.c: Include opts.h.
12168 (darwin_default_min_version): Work with decoded options. Don't
12169 handle -b or -V here.
12170 * config/darwin.h (darwin_default_min_version): Update prototype.
12171 (GCC_DRIVER_HOST_INITIALIZATION): Update call to
12172 darwin_default_min_version.
12173 * config/i386/cygwin.h (mingw_scan): Update prototype.
12174 (GCC_DRIVER_HOST_INITIALIZATION): Update call to mingw_scan.
12175 * config/i386/cygwin1.c: Include opts.h.
12176 (mingw_scan): Work with decoded options.
12177 * config/i386/t-cygwin (cygwin1.o): Update dependencies.
12178 * config/t-darwin (darwin-driver.o): Update dependencies.
12179
12180 2010-09-22 Joseph Myers <joseph@codesourcery.com>
12181
12182 * common.opt (-assemble, -compile, -coverage, -debug, -dump,
12183 -dump=, -dumpbase, -dumpdir, -entry, -entry=, -extra-warnings,
12184 -for-assembler, -for-assembler=, -for-linker, -for-linker=,
12185 -force-link, -force-link=, -language, -language=,
12186 -library-directory, -library-directory=, -no-canonical-prefixes,
12187 -no-standard-libraries, -no-warnings, -optimize, -output,
12188 -output=, -pass-exit-codes, -pedantic, -pedantic-errors, -pie,
12189 -pipe, -prefix, -prefix=, -preprocess, -print-file-name,
12190 -print-file-name=, -print-libgcc-file-name,
12191 -print-multi-directory, -print-multi-lib,
12192 -print-multi-os-directory, -print-prog-name, -print-prog-name=,
12193 -print-search-dirs, -print-sysroot, -print-sysroot-headers-suffix,
12194 -profile, -save-temps, -shared, -specs, -specs=, -static,
12195 -symbolic, -time, -verbose, -param=, -sysroot, coverage, e, u,
12196 symbolic): New.
12197 (fhelp, fhelp=, ftarget-help, fversion): Make into aliases.
12198 * gcc.c (A Short Introduction to Adding a Command-Line Option):
12199 Remove comment.
12200 (cc1_options): Correct specs for passing down --help,
12201 --target-help and --help=*. Add spec for passing down --version.
12202 (struct option_map, option_map, target_option_translations,
12203 translate_options): Remove.
12204 (driver_handle_option): Handle OPT__version, OPT__help, OPT__help_
12205 and OPT__target_help instead of OPT_fversion, OPT_fhelp,
12206 OPT_fhelp_ and OPT_ftarget_help.
12207 (process_command): Don't call translate_options. Call
12208 decode_cmdline_options_to_array before checking for
12209 -no-canonical-prefixes using decoded options.
12210 * opts-common.c (tm.h): Update comment on #include.
12211 (find_opt): Allow abbreviations of long options.
12212 (struct option_map, option_map): New.
12213 (decode_cmdline_option): Use them instead of hardcoding -Wno, -fno
12214 and -mno handling.
12215 (target_option_translations): New.
12216 (decode_cmdline_options_to_array): Handle
12217 TARGET_OPTION_TRANSLATE_TABLE in driver.
12218 * opts.c (common_handle_option): Don't handle OPT_fhelp,
12219 OPT_ftarget_help, OPT_fhelp_ or OPT_fversion.
12220
12221 2010-09-22 Richard Guenther <rguenther@suse.de>
12222
12223 * tree-inline.c (optimize_inline_calls): Schedule cleanups
12224 only if we inlined something. Block compaction and conditional
12225 folding are done by cfg cleanup. Schedule update-address-taken.
12226 (tree_function_versioning): Remove redundant call to number_blocks.
12227 * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Conditional
12228 folding is done by cfg cleanup.
12229 * passes.c (init_optimization_passes): Remove update-address-taken
12230 pass after IPA inlining.
12231
12232 2010-09-22 Chung-Lin Tang <cltang@codesourcery.com>
12233
12234 * postreload.c (move2add_note_store): Add reg_symbol_ref[] checks
12235 to update conditions. Fix reg_mode[] check.
12236
12237 2010-09-22 Hariharan Sandanagobalane <hariharan@picochip.com>
12238
12239 * config/picochip/picochip.md (movhicc): Use expand to check whether
12240 movhicc is available and split it after reload.
12241
12242 2010-09-22 Richard Guenther <rguenther@suse.de>
12243
12244 * tree-ssanames.c (release_dead_ssa_names): Do not remove
12245 callee edges here.
12246 * passes.c (init_optimization_passes): Remove early CFG cleanup.
12247 * tree-optimize.c (execute_cleanup_cfg_pre_ipa): Remove.
12248 (pass_cleanup_cfg): Likewise.
12249 (execute_fixup_cfg): Cleanup.
12250 * tree-pass.h (pass_cleanup_cfg): Remove.
12251
12252 2010-09-22 Martin Jambor <mjambor@suse.cz>
12253
12254 * gimple-fold.c (fold_gimple_call): New parameter inplace, do not fold
12255 builtins if it is true.
12256 (fold_stmt_1): Call, fold_gimple_call always, pass inplace as a
12257 parameter.
12258
12259 2010-09-22 Martin Jambor <mjambor@suse.cz>
12260
12261 * tree-sra.c (struct access): New field grp_no_warning.
12262 (create_access_replacement): Set TREE_NO_WARNING according to
12263 grp_no_warning.
12264 (create_artificial_child_access): Use build_ref_for_model and set
12265 grp_no_warning if build_user_friendly_ref_for_offset fails.
12266 (propagate_subaccesses_across_link): Likewise.
12267
12268 2010-09-22 Eric Botcazou <ebotcazou@adacore.com>
12269
12270 PR target/35664
12271 * config/sparc/constraints.md ('e'): Return NO_REGS if !TARGET_FPU.
12272 ('f'): Likewise.
12273
12274 2010-09-22 Tristan Gingold <gingold@adacore.com>
12275
12276 * config/alpha/alpha.c (alpha_use_linkage): Initialize target field.
12277
12278 2010-09-22 Uros Bizjak <ubizjak@gmail.com>
12279
12280 * config/i386/i386.h (MAX_STRINGOP_ALGS): Fix typo in the name.
12281 * config/i386/i386.c (decide_alg): Update for rename.
12282
12283 2010-09-22 Jakub Jelinek <jakub@redhat.com>
12284
12285 PR rtl-optimization/45739
12286 * simplify-rtx.c (simplify_binary_operation_1): Optimize even
12287 vector mode | CONST0_RTX (mode) and ^ CONST0_RTX (mode).
12288
12289 2010-09-21 Anatoly Sokolov <aesok@post.ru>
12290
12291 * config/rs6000/rs6000.h (OUTPUT_ADDR_CONST_EXTRA): Remove macros.
12292 * config/rs6000/rs6000-protos.h (rs6000_output_addr_const_extra):
12293 Remove.
12294 * config/rs6000/rs6000.c (rs6000_output_addr_const_extra): Make static.
12295 (TTARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
12296
12297 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
12298
12299 PR objc/23710
12300 * c-parser.c (c_parser_objc_method_definition): Check the return
12301 value of objc_start_method_definition and if false is returned,
12302 parse the method definition but emit no code.
12303
12304 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
12305
12306 PR objc/25965
12307 * c-decl.c (detect_field_duplicates): If compiling Objective-C,
12308 call objc_get_interface_ivars ().
12309
12310 2010-09-21 Kai Tietz <kai.tietz@onevision.com>
12311
12312 PR target/45694
12313 * config/i386/i386.c (ix86_expand_prologue): Save r10 in case that
12314 static chain-register is used for 64-bit.
12315
12316 2010-09-21 Richard Guenther <rguenther@suse.de>
12317
12318 * dwarf2out.c (is_cu_die): New function.
12319 (add_pubtype): Use it.
12320 (gen_subprogram_die): Likewise.
12321 (gen_struct_or_union_type_die): Likewise.
12322 (dwarf2out_finish): Likewise.
12323 (comp_unit_die): Rename to ...
12324 (single_comp_unit_die): ... this.
12325 (comp_unit_die): New function lazily constructing and
12326 returning single_comp_unit_die.
12327 (is_cxx, is_fortran, is_ada, debug_dwarf, break_out_comdat_types,
12328 base_type_die, subrange_type_die, modified_type_die,
12329 lower_bound_default, add_bound_info, add_prototyped_attribute,
12330 dwarf2out_vms_debug_main_pointer, scope_die_for, retry_incomplete_types,
12331 dwarf2out_abstract_function, gen_type_die_with_usage, get_context_die,
12332 force_decl_die, gen_namespace_die, dwarf2out_decl,
12333 dwarf2out_start_source_file, dwarf2out_end_source_file,
12334 prune_unused_types, dwarf2out_finish): Use it.
12335 (gen_compile_unit_die): For GNU GIMPLE derive DW_AT_language from
12336 the global list of translation-unit decls.
12337 (dwarf2out_init): Do not create single_comp_unit_die here.
12338 (force_decl_die): Handle TRANSLATION_UNIT_DECL.
12339
12340 2010-09-21 Richard Guenther <rguenther@suse.de>
12341
12342 * dwarf2out.c (dwarf2out_decl): Do not always generate a DIE
12343 for bool for C++.
12344
12345 2010-09-21 Bernd Schmidt <bernds@codesourcery.com>
12346
12347 * config/arm/iterators.md (qhs_extenddi_op): New mode_attr.
12348 (qhs_extenddi_cstr): Likewise.
12349 * config/arm/arm.md (zero_extend<mode>di2, extend<mode>di2): Use
12350 them for the source operand.
12351
12352 2010-09-21 Uros Bizjak <ubizjak@gmail.com>
12353
12354 * config/i386/i386.c (ix86_split_ashl): Rename single_width variable
12355 to half_width. Use GET_MODE_BITSIZE to calculate mode size.
12356 (ix86_split_ashr): Ditto.
12357 (ix86_split_lshr): Ditto.
12358
12359 2010-09-21 Richard Guenther <rguenther@suse.de>
12360
12361 PR tree-optimization/45580
12362 * tree-ssa-propagate.c (substitute_and_fold): Always replace
12363 regular uses.
12364 * gimple-fold.c (gimple_fold_obj_type_ref): For a BINFO without
12365 virtuals fold the call into a regular indirect one.
12366
12367 2010-09-20 Eric Botcazou <ebotcazou@adacore.com>
12368
12369 PR rtl-optimization/42775
12370 * cfgrtl.c (rest_of_pass_free_cfg): Recompute notes if delay slot
12371 scheduling is enabled.
12372
12373 2010-09-20 Jakub Jelinek <jakub@redhat.com>
12374
12375 PR rtl-optimization/45728
12376 * expr.c (expand_expr_real_1): If op0 isn't REG or MEM, try
12377 gen_lowpart_common first and if that fails, force_reg first
12378 before calling gen_lowpart.
12379
12380 PR middle-end/45678
12381 * cfgexpand.c (expand_one_stack_var_at): Use
12382 crtl->max_used_stack_slot_alignment as max_align, instead
12383 of maximum of that and PREFERRED_STACK_BOUNDARY.
12384 Don't call update_stack_alignment.
12385
12386 2010-09-20 Eric Botcazou <ebotcazou@adacore.com>
12387
12388 * langhooks.h (struct lang_hooks_for_types): Remove hash_types field.
12389 * langhooks-def.h (LANG_HOOKS_HASH_TYPES): Delete.
12390 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remove LANG_HOOKS_HASH_TYPES.
12391 * system.h (LANG_HOOKS_HASH_TYPES): Poison.
12392 * tree.c (type_hash_canon): Do not test lang_hooks.types.hash_types.
12393 (build_nonstandard_integer_type): Likewise.
12394 (build_range_type_1): New function, built from...
12395 (build_range_type): ...this. Call build_range_type_1.
12396 (build_nonshared_range_type): New function.
12397 (build_array_type_1): New function, built from...
12398 (build_array_type: ...this. Call build_array_type_1.
12399 (build_nonshared_array_type): New function.
12400 * tree.h (build_nonshared_range_type): Declare.
12401 (build_nonshared_array_type): Likewise.
12402
12403 2010-09-20 Anatoly Sokolov <aesok@post.ru>
12404
12405 * config/arm/arm.h (CLASS_LIKELY_SPILLED_P): Remove.
12406 * config/arm/arm.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
12407 (arm_class_likely_spilled_p): New function.
12408
12409 2010-09-20 Uros Bizjak <ubizjak@gmail.com>
12410
12411 * config/i386/i386.c (ix86_expand_ashl_const): Rewrite using
12412 indirect functions.
12413 (ix86_split_ashl): Ditto.
12414 (ix86_split_ashr): Ditto.
12415 (ix86_split_lshr): Ditto.
12416 (ix86_adjust_counter): Ditto.
12417
12418 2010-09-20 Nicola Pero <nicola.pero@meta-innovation.com>
12419
12420 * c-family/c-common.h (constant_string_class): Documented with
12421 comment identical to the one already in c-common.c.
12422
12423 2010-09-20 Jakub Jelinek <jakub@redhat.com>
12424
12425 * dwarf2out.c (any_cfis_emitted): New static variable.
12426 (add_fde_cfi): Set it.
12427 (dwarf2out_frame_debug): Clear it before processing,
12428 if it is set afterwards, flush any queued reg saves.
12429
12430 PR debug/45124
12431 * dwarf2out.c (add_accessibility_attribute): Assume
12432 DW_ACCESS_private as the default for dwarf_version > 2
12433 and DW_TAG_class_type parent.
12434 (gen_inheritance_die): Assume DW_ACCESS_public as the default
12435 for dwarf_version > 2 and parent other than DW_TAG_class_type.
12436
12437 2010-09-20 Rafael Carre <rafael.carre@gmail.com>
12438
12439 PR target/45726
12440 * arm.md (arm_movt): Only enable on machines with MOVT.
12441
12442 2010-09-20 Jie Zhang <jie@codesourcery.com>
12443
12444 * config/arm/arm.c (arm_address_offset_is_imm): New.
12445 (arm_early_store_addr_dep): New.
12446 (arm_early_load_addr_dep): New.
12447 * config/arm/arm-protos.h (arm_early_store_addr_dep): Declare.
12448 (arm_early_load_addr_dep): Declare.
12449 (arm_address_offset_is_imm): Declare.
12450 * config/arm/cortex-m4.md: New file.
12451 * config/arm/cortex-m4-fpu.md: New file.
12452 * config/arm/arm.md: Include cortex-m4.md and cortex-m4-fpu.md.
12453 (attr generic_sched): Exclude cortexm4.
12454 (attr generic_vfp): Exclude cortexm4.
12455
12456 2010-09-20 Richard Guenther <rguenther@suse.de>
12457
12458 PR middle-end/45704
12459 * gimplify.c (gimplify_modify_expr_rhs): Preserve volatileness.
12460
12461 2010-09-20 Jan Hubicka <jh@suse.cz>
12462
12463 PR tree-optimize/45605
12464 * cgraph.h (const_value_known_p): Declare.
12465 (varpool_decide_const_value_known): Remove.
12466 * tree-ssa-ccp.c (get_base_constructor): Use it.
12467 * lto-cgraph.c (compute_ltrans_boundary): Likewise.
12468 * expr.c (string_constant): Likewise.
12469 * tree-ssa-loop-ivcanon.c (constant_after_peeling): Likewise.
12470 * ipa.c (ipa_discover_readonly_nonaddressable_var,
12471 function_and_variable_visibility): Likewise.
12472 * gimplify.c (gimplify_call_expr): Likewise.
12473 * gimple-fold.c (get_symbol_constant_value): Likewise.
12474 * varpool.c (varpool_decide_const_value_known): Replace by...
12475 (const_value_known_p): ... this one; handle other kinds of DECLs
12476 too and work for automatic vars.
12477 (varpool_finalize_decl): Use const_value_known_p.
12478
12479 2010-09-20 Rafael Carre <rafael.carre@gmail.com>
12480
12481 PR target/45726
12482 * arm.md (arm_movtas_ze): Only enable on machine with MOVT.
12483
12484 2010-09-20 Richard Guenther <rguenther@suse.de>
12485
12486 PR tree-optimization/45705
12487 * tree-ssa-dom.c (optimize_stmt): Perform redundant store elimination.
12488
12489 2010-09-20 Jakub Jelinek <jakub@redhat.com>
12490
12491 PR rtl-optimization/45695
12492 * combine.c (try_combine): When splitting a two set pattern,
12493 make sure the pattern which will be put into i2 doesn't use REGs
12494 or MEMs set by insns in between i2 and i3.
12495
12496 2010-09-19 Jan Hubicka <jh@suse.cz>
12497
12498 PR lto/44246
12499 * lto-cgraph.c (input_cgraph_1, input_varpool_1): Avoid
12500 processing same node twice.
12501
12502 2010-09-19 Anatoly Sokolov <aesok@post.ru>
12503
12504 * config/bfin/bfin.h (CLASS_LIKELY_SPILLED_P): Remove.
12505 * config/bfin/bfin.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
12506 (bfin_class_likely_spilled_p): New function
12507
12508 2010-09-19 Ira Rosen <irar@il.ibm.com>
12509
12510 PR tree-optimization/45714
12511 * tree-vect-stmts.c (vect_transform_stmt): Use a dummy statement
12512 created in vectorizable_call instead of the original statement in
12513 def stmt updates.
12514
12515 2010-09-19 Uros Bizjak <ubizjak@gmail.com>
12516
12517 * config/i386/i386-protos.h (split_double_mode): New prototype.
12518 (split_di, split_ti): Remove prototypes.
12519 * config/i386/i386.c (split_double_mode): New function.
12520 (split_di, split_ti): Remove.
12521 (ix86_expand_branch): Use split_double_mode.
12522 (ix86_split_to_parts): Ditto.
12523 (ix86_split_ashl): Ditto.
12524 (ix86_split_ashr): Ditto.
12525 (ix86_split_lshr): Ditto.
12526 (ix86_force_to_memory): Ditto.
12527 * config/i386/i386.md: Use split_double_mode in double-mode splitters.
12528
12529 2010-09-18 Jan Hubicka <jh@suse.cz>
12530
12531 PR tree-optimization/45453
12532 * cgraphunit.c (cgraph_finalize_function): Consider comdat & external
12533 virtual functions are reachable.
12534 * ipa-inline.c (cgraph_clone_inlined_nodes): Likewise.
12535 * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
12536 * ipa-prop.c (ipa_modify_formal_parameters): Clear DECL_VIRTUAL_P
12537 when modifying function.
12538
12539 2010-09-18 Jan Hubicka <jh@suse.cz>
12540
12541 PR tree-optimization/45605
12542 * cgraphunit.c (cgraph_analyze_functions): Allocate bitmap obstack.
12543 * gimple-fold.c (static_object_in_other_unit_p): New function.
12544 (canonicalize_constructor_val): Use it.
12545 (get_symbol_constant_value): Be reaqdy for canonicalize_constructor_val
12546 returning NULL.
12547 (gimple_fold_obj_type_ref_known_binfo): Use
12548 static_object_in_other_unit_p.
12549
12550 2010-09-18 Richard Guenther <rguenther@suse.de>
12551
12552 PR tree-optimization/45709
12553 * tree-inline.c (copy_phis_for_bb): Delay commit of edge
12554 insertions until after all PHI nodes of the block are processed.
12555
12556 2010-09-18 Tijl Coosemans <tijl@coosemans.org>
12557
12558 * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Add.
12559
12560 2010-09-18 Kai Tietz <kai.tietz@onevision.com>
12561
12562 * config.gcc (*-w64-mingw*): Correct typo about t-dfprules.
12563
12564 2010-09-18 Richard Guenther <rguenther@suse.de>
12565
12566 PR tree-optimization/45709
12567 * tree-inline.c (copy_phis_for_bb): Fixup new_edge when we splitted it.
12568
12569 2010-09-17 Sebastian Pop <sebastian.pop@amd.com>
12570
12571 * graphite-dependences.c (dot_deps): Add DEBUG_FUNCTION.
12572 (dot_deps_stmt): Same.
12573 * graphite-poly.c (dot_lst): Same.
12574 * graphite-scop-detection.c (dot_all_scops): Same.
12575 (dot_scop): Same.
12576
12577 2010-09-17 Sebastian Pop <sebastian.pop@amd.com>
12578
12579 Revert:
12580 2009-12-16 Ben Elliston <bje@au.ibm.com>
12581
12582 * tree-data-ref.c (dot_rdg_1): Added back.
12583 (dot_rdg): Same. Added "#if 0" around system call.
12584
12585 2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
12586 Richard Henderson <rth@redhat.com>
12587
12588 * config/i386/i386.c (initial_ix86_tune_features): Add
12589 X86_TUNE_PAD_SHORT_FUNCTION.
12590 (ix86_code_end): Pad with 8 NOPs for TARGET_PAD_SHORT_FUNCTION.
12591 (ix86_count_insn): New.
12592 (ix86_pad_short_function): Likewise.
12593 (ix86_reorg): Support TARGET_PAD_SHORT_FUNCTION.
12594
12595 * config/i386/i386.h (ix86_tune_indices): Add
12596 X86_TUNE_PAD_SHORT_FUNCTION.
12597 (TARGET_PAD_SHORT_FUNCTION): New.
12598
12599 * config/i386/i386.md (UNSPEC_NOPS): New.
12600 (nops): Likewise.
12601
12602 2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
12603
12604 PR middle-end/45234
12605 * calls.c (expand_call): Make sure that all variable sized
12606 adjustments are multiple of preferred stack boundary after
12607 stack alignment.
12608
12609 2010-09-17 DJ Delorie <dj@redhat.com>
12610
12611 * config/rx/rx.c (rx_print_operand): If __builtin_rx_setpsw() is
12612 passed an invalid value, print an error instead of ICEing.
12613 (valid_psw_flag): New.
12614 (rx_expand_builtin): Call it for setpsw/clrpsw.
12615 (rx_expand_builtin_mvtipl): Pass an integer to IN_RANGE, not an RTX.
12616
12617 * config/rx/rx.md (bitclr): Don't mark the output as early-clobber.
12618 (bitclr_in_memory): Likewise.
12619 (clrspw, setpsw, mvfc, mvtc, mvtipl): Make volatile.
12620
12621 2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
12622
12623 PR middle-end/45678
12624 * cfgexpand.c (update_stack_alignment): New.
12625 (get_decl_align_unit): Use it.
12626 (expand_one_stack_var_at): Call update_stack_alignment.
12627
12628 2010-09-17 Richard Guenther <rguenther@suse.de>
12629
12630 * lto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers):
12631 Properly copy the read string.
12632
12633 2010-09-17 Joseph Myers <joseph@codesourcery.com>
12634
12635 * doc/options.texi (Variable): Document.
12636 * optc-gen.awk, opth-gen.awk: Handle Variable records. Don't
12637 generate target_flags declarations explicitly. Don't define
12638 VarExists variables for the driver.
12639 * common.opt (target_flags): New Variable record.
12640 (flag_dump_unnumbered, flag_dump_unnumbered_links,
12641 flag_var_tracking, flag_var_tracking_assignments,
12642 flag_var_tracking_assignments_toggle): Don't mark variables with
12643 VarExists.
12644 * config/i386/i386.c (ix86_isa_flags): Don't define here.
12645 * config/i386/i386.opt (ix86_isa_flags): Define here.
12646 * config/mcore/mcore.c (mcore_stack_increment): Don't define here.
12647 * config/mcore/mcore.opt (mcore_stack_increment): Don't mark with
12648 VarExists.
12649 * flags.h (flag_dump_unnumbered, flag_var_tracking): Remove.
12650 * print-rtl.c (flag_dump_unnumbered, flag_dump_unnumbered_links):
12651 Only define for generator programs.
12652 * rtlanal.c (target_flags): Remove.
12653 * toplev.c (flag_var_tracking, flag_var_tracking_assignments,
12654 flag_var_tracking_assignments_toggle): Remove.
12655
12656 2010-09-17 Michael Matz <matz@suse.de>
12657
12658 PR tree-optimization/43432
12659 * tree-vect-data-refs.c (vect_analyze_data_ref_access):
12660 Accept backwards consecutive accesses.
12661 (vect_create_data_ref_ptr): If step is negative generate
12662 decreasing IVs.
12663 * tree-vect-stmts.c (vectorizable_store): Reject negative steps.
12664 (perm_mask_for_reverse, reverse_vec_elements): New functions.
12665 (vectorizable_load): Handle loads with negative steps when easily
12666 possible.
12667
12668 2010-09-03 Jan Hubicka <jh@suse.cz>
12669
12670 * lto-cgraph.c (compute_ltrans_boundary): Use const_value_known.
12671
12672 2010-09-03 Naveen H.S <naveen.S@kpitcummins.com>
12673
12674 * config/v850/v850.c (v850_function_value_regno_p): Make static.
12675 Adjust comments. Declare.
12676 (TARGET_FUNCTION_VALUE_REGNO_P): Define.
12677 * config/v850/v850.h (FUNCTION_VALUE_REGNO_P): Delete.
12678
12679 2010-09-17 Richard Guenther <rguenther@suse.de>
12680
12681 * common.opt (combine): Remove.
12682 * gcc.c (default_compilers): Remove specs testing combine.
12683 The C compilers no longer can combine.
12684 (option_map): Remove -combine.
12685 (display_help): Remove -combine.
12686 (driver_handle_option): Remove OPT_combine handling.
12687 (compile_input_file_p): Remove.
12688 (do_spec): Remove code concerning combine.
12689 (main): Likewise.
12690 * doc/invoke.texi: Remove traces of -combine.
12691 * lto-wrapper.c (run_gcc): Do not pass -combine to the compiler driver.
12692
12693 2010-09-17 Richard Guenther <rguenther@suse.de>
12694
12695 PR middle-end/45678
12696 * builtins.c (fold_builtin_memory_op): Always properly adjust
12697 alignment of memory accesses.
12698
12699 2010-09-16 Jan Hubicka <jh@suse.cz>
12700
12701 * lto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when
12702 processing clone.
12703
12704 2010-09-16 H.J. Lu <hongjiu.lu@intel.com>
12705
12706 * config/i386/i386-protos.h (ix86_split_idivmod): New prototype.
12707
12708 * config/i386/i386.c (predict_jump): Add prototype.
12709 (flag_opts): Add -m8bit-idiv.
12710 (ix86_split_idivmod): New.
12711
12712 * config/i386/i386.md (UNSPEC_DIV_ALREADY_SPLIT): New.
12713 Add 2 splitters for SI/DI mode divide.
12714 (divmod<mode>4_1): New pattern.
12715 (udivmod<mode>4_1): Likewise.
12716 (testdi_ccno_1): Likewise.
12717
12718 * config/i386/i386.opt (m8bit-idiv): New.
12719
12720 * doc/invoke.texi: Document -m8bit-idiv.
12721
12722 2010-09-16 Reza Yazdani <reza.yazdani@amd.com>
12723
12724 PR bootstrap/45680
12725 * config/i386/i386.c (min_insn_size): Moved out of the
12726 ASM_OUTPUT_MAX_SKIP_PAD ifdef.
12727
12728 2010-09-16 Jan Hubicka <jh@suse.cz>
12729
12730 * lto-cgraph.c (lto_output_node): Fix handling of clones.
12731 * ipa.c (cgraph_remove_unreachabloe_nodes): Fix handling of
12732 unreachable clones with reachable clones.
12733 * tree-inline.c (copy_bb): Fix sanity checking when producing
12734 unreachable clone.
12735
12736 2010-09-16 Anatoly Sokolov <aesok@post.ru>
12737
12738 * config/m32r/m32r.c (TARGET_MEMORY_MOVE_COSTS): Remove.
12739 (TARGET_MEMORY_MOVE_COST): Define.
12740 (m32r_function_arg): Annotate argument 'type' with ATTRIBUTE_UNUSED.
12741
12742 2010-09-16 Alexander Monakov <amonakov@ispras.ru>
12743
12744 * sel-sched.c (move_cond_jump): Use tidy_control_flow instead of
12745 maybe_tidy_empty_bb.
12746
12747 Revert:
12748 2010-09-06 Alexander Monakov <amonakov@ispras.ru>
12749 * sel-sched-ir.c (maybe_tidy_empty_bb): Export.
12750
12751 2010-09-16 Joseph Myers <joseph@codesourcery.com>
12752
12753 * target.def (target_option.optimization): New hook.
12754 * doc/tm.texi.in (OPTIMIZATION_OPTIONS): Change to
12755 TARGET_OPTION_OPTIMIZATION hook.
12756 * doc/tm.texi: Regenerate.
12757 * hooks.c (hook_void_int_int): New.
12758 * hooks.h (hook_void_int_int): Declare.
12759 * opts.c: Don't include tm_p.h.
12760 (decode_options): Use targetm.target_option.optimization instead
12761 of OPTIMIZATION_OPTIONS.
12762 * system.h (OPTIMIZATION_OPTIONS): Poison.
12763 * config/arm/arm-protos.h (arm_optimization_options): Remove.
12764 * config/arm/arm.c (TARGET_OPTION_OPTIMIZATION): Define.
12765 (arm_optimization_options): Rename to arm_option_optimization.
12766 Make static.
12767 * config/arm/arm.h (OPTIMIZATION_OPTIONS): Remove.
12768 * config/cris/cris.c (TARGET_OPTION_OPTIMIZATION): Define.
12769 (cris_option_optimization): New.
12770 * config/cris/cris.h (OPTIMIZATION_OPTIONS): Remove.
12771 * config/crx/crx.c (TARGET_OPTION_OPTIMIZATION): Define.
12772 (crx_option_optimization): New.
12773 * config/crx/crx.h (OPTIMIZATION_OPTIONS): Remove.
12774 * config/frv/frv-protos.h (frv_optimization_options): Remove.
12775 * config/frv/frv.c (TARGET_OPTION_OPTIMIZATION): Define.
12776 (frv_optimization_options): Rename to frv_option_optimization.
12777 Make static.
12778 * config/frv/frv.h (OPTIMIZATION_OPTIONS): Remove.
12779 * config/h8300/h8300.c (h8300_option_optimization): New.
12780 (TARGET_OPTION_OPTIMIZATION): Define.
12781 * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): Remove.
12782 * config/i386/i386-protos.h (optimization_options): Remove.
12783 * config/i386/i386.c (optimization_options): Rename to
12784 ix86_option_optimization. Make static.
12785 (TARGET_OPTION_OPTIMIZATION): Define.
12786 * config/i386/i386.h (OPTIMIZATION_OPTIONS): Remove.
12787 * config/ia64/ia64-protos.h (ia64_optimization_options): Remove.
12788 * config/ia64/ia64.c (TARGET_OPTION_OPTIMIZATION): Define.
12789 (ia64_optimization_options): Rename to ia64_option_optimization.
12790 Make static. Call SUBTARGET_OPTIMIZATION_OPTIONS.
12791 * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): Remove. Remove
12792 commented-out definition.
12793 * config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define
12794 instead of OPTIMIZATION_OPTIONS.
12795 * config/m32r/m32r.c (TARGET_OPTION_OPTIMIZATION): Define.
12796 (m32r_option_optimization): New.
12797 * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove.
12798 * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
12799 Remove.
12800 * config/mcore/mcore.c (TARGET_OPTION_OPTIMIZATION): Define.
12801 (mcore_option_optimization): New.
12802 * config/mcore/mcore.h (OPTIMIZATION_OPTIONS): Remove.
12803 * config/mep/mep-protos.h (mep_optimization_options): Remove.
12804 * config/mep/mep.c (TARGET_OPTION_OPTIMIZATION): Define.
12805 (mep_optimization_options): Rename to mep_option_optimization.
12806 Make static. Take unused level and size parameters.
12807 * config/mep/mep.h (OPTIMIZATION_OPTIONS): Remove.
12808 * config/mmix/mmix.c (TARGET_OPTION_OPTIMIZATION): Define.
12809 (mmix_option_optimization): New.
12810 * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove.
12811 * config/pdp11/pdp11.c (TARGET_OPTION_OPTIMIZATION): Define.
12812 (pdp11_option_optimization): New.
12813 * config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Remove.
12814 * config/rs6000/rs6000-protos.h (optimization_options): Remove.
12815 * config/rs6000/rs6000.c (TARGET_OPTION_OPTIMIZATION): Define.
12816 (optimization_options): Rename to rs6000_option_optimization.
12817 Make static.
12818 * config/rs6000/rs6000.h (OPTIMIZATION_OPTIONS): Remove.
12819 * config/rx/rx-protos.h (rx_set_optimization_options): Remove.
12820 * config/rx/rx.c (rx_set_optimization_options): Rename to
12821 rx_option_optimization. Make static. Take unused level and size
12822 parameters.
12823 (TARGET_OPTION_OPTIMIZATION): Define.
12824 * config/rx/rx.h (OPTIMIZATION_OPTIONS): Remove.
12825 * config/s390/s390-protos.h (optimization_options): Remove.
12826 * config/s390/s390.c (optimization_options): Rename to
12827 s390_option_optimization. Make static. Don't mark size parameter
12828 unused.
12829 (TARGET_OPTION_OPTIMIZATION): Define.
12830 * config/s390/s390.h (OPTIMIZATION_OPTIONS): Remove.
12831 * config/sh/sh-protos.h (sh_optimization_options): Remove.
12832 * config/sh/sh.c (TARGET_OPTION_OPTIMIZATION): Define.
12833 (sh_optimization_options): Rename to sh_option_optimization. Make
12834 static. Don't mark parameters unused.
12835 * config/sh/sh.h (OPTIMIZATION_OPTIONS): Remove.
12836 * config/spu/spu-protos.h (spu_optimization_options): Remove.
12837 * config/spu/spu.c (TARGET_OPTION_OPTIMIZATION): Define.
12838 (spu_optimization_options): Rename to spu_option_optimization.
12839 Make static.
12840 * config/spu/spu.h (OPTIMIZATION_OPTIONS): Remove.
12841 * config/v850/v850.c (TARGET_OPTION_OPTIMIZATION): Define.
12842 (v850_option_optimization): New.
12843 * config/v850/v850.h (OPTIMIZATION_OPTIONS): Remove.
12844 * config/xtensa/xtensa.c (TARGET_OPTION_OPTIMIZATION): Define.
12845 (xtensa_option_optimization): New.
12846 * config/xtensa/xtensa.h (OPTIMIZATION_OPTIONS): Remove.
12847
12848 2010-09-16 Joseph Myers <joseph@codesourcery.com>
12849
12850 * doc/tm.texi.in (OVERRIDE_OPTIONS): Remove documentation.
12851 (C_COMMON_OVERRIDE_OPTIONS): Don't refer to OVERRIDE_OPTIONS.
12852 * doc/tm.texi: Regenerate.
12853 * system.h (OVERRIDE_OPTIONS): Poison.
12854 * target.def (override): Default to hook_void_void.
12855 * targhooks.c (default_target_option_override): Remove.
12856 * genmodes.c, machmode.def: Update comments mentioning
12857 OVERRIDE_OPTIONS.
12858 * config/alpha/alpha-modes.def: Update comment mentioning
12859 alpha_override_options.
12860 * config/alpha/alpha-protos.h (override_options): Remove.
12861 * config/alpha/alpha.c (override_options): Rename to
12862 alpha_option_override. Call SUBTARGET_OVERRIDE_OPTIONS. Make static.
12863 (TARGET_OPTION_OVERRIDE): Define.
12864 * config/alpha/alpha.h (OVERRIDE_OPTIONS): Remove.
12865 * config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead
12866 of OVERRIDE_OPTIONS.
12867 * config/arc/arc-protos.h (arc_init): Remove.
12868 * config/arc/arc.c (TARGET_OPTION_OVERRIDE): Define.
12869 (arc_init): Rename to arc_option_override. Make static.
12870 * config/arc/arc.h (ARC_EXTENSION_CPU): Correct comment.
12871 (OVERRIDE_OPTIONS): Remove.
12872 * config/arm/arm-protos.h (arm_override_options): Remove.
12873 * config/arm/arm.c (TARGET_OPTION_OVERRIDE): Define.
12874 (arm_override_options): Rename to arm_option_override. Make
12875 static. Call SUBTARGET_OVERRIDE_OPTIONS.
12876 * config/arm/arm.h (OVERRIDE_OPTIONS): Remove.
12877 * config/arm/arm.md: Update comment referring to arm_override_options.
12878 * config/arm/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
12879 instead of OVERRIDE_OPTIONS.
12880 * config/avr/avr-protos.h (avr_override_options): Remove.
12881 * config/avr/avr.c (TARGET_OPTION_OVERRIDE): Define.
12882 (avr_override_options): Rename to avr_option_override. Make static.
12883 * config/avr/avr.h (OVERRIDE_OPTIONS): Remove.
12884 * config/bfin/bfin-protos.h (override_options): Remove (twice).
12885 * config/bfin/bfin.c (override_options): Rename to
12886 bfin_option_override. Make static.
12887 (TARGET_OPTION_OVERRIDE): Define.
12888 * config/bfin/bfin.h (OVERRIDE_OPTIONS): Remove.
12889 * config/cris/cris-protos.h (cris_override_options): Remove.
12890 * config/cris/cris.c (TARGET_OPTION_OVERRIDE): Define.
12891 (cris_override_options): Rename to cris_option_override. Make static.
12892 * config/cris/cris.h (OVERRIDE_OPTIONS): Remove.
12893 * config/frv/frv-protos.h (frv_override_options): Remove.
12894 * config/frv/frv.c (TARGET_OPTION_OVERRIDE): Define.
12895 (frv_override_options): Rename to frv_option_override. Make static.
12896 * config/frv/frv.h (OVERRIDE_OPTIONS): Remove.
12897 * config/h8300/h8300-protos.h (h8300_init_once): Remove.
12898 * config/h8300/h8300.c (h8300_init_once): Rename to
12899 h8300_option_override. Make static.
12900 (TARGET_OPTION_OVERRIDE): Define.
12901 * config/h8300/h8300.h (OVERRIDE_OPTIONS): Remove.
12902 * config/i386/i386-protos.h (override_options): Remove.
12903 * config/i386/i386.c (override_options): Rename to
12904 ix86_option_override_internal. Make static. Comments referring
12905 to this function and callers changed.
12906 (ix86_option_override): New.
12907 (TARGET_OPTION_OVERRIDE): Define.
12908 * config/i386/i386.h (OVERRIDE_OPTION): Remove.
12909 * config/i386/linux64.h (DEFAULT_PCC_STRUCT_RETURN): Update comment.
12910 * config/ia64/ia64.c (ia64_file_start): Update comment referring
12911 to ia64_override_options.
12912 * config/iq2000/iq2000-protos.h (override_options): Remove.
12913 * config/iq2000/iq2000.c (TARGET_OPTION_OVERRIDE): Define.
12914 (override_options): Rename to iq2000_option_override. Make static.
12915 * config/iq2000/iq2000.h (OVERRIDE_OPTIONS): Remove.
12916 * config/lm32/lm32-protos.h (lm32_override_options): Remove.
12917 * config/lm32/lm32.c (TARGET_OPTION_OVERRIDE): Define.
12918 (lm32_override_options): Rename to lm32_option_override. Make static.
12919 * config/lm32/lm32.h (OVERRIDE_OPTIONS): Remove.
12920 * config/m32r/m32r.c (TARGET_OPTION_OVERRIDE): Define.
12921 (m32r_option_override): New.
12922 (m32r_init): Update comment.
12923 * config/m32r/m32r.h (OVERRIDE_OPTIONS): Remove.
12924 * config/m68hc11/m68hc11-protos.h (m68hc11_override_options): Remove.
12925 * config/m68hc11/m68hc11.c (TARGET_OPTION_OVERRIDE): Define.
12926 (m68hc11_override_options): Rename to m68hc11_option_override.
12927 Make static. Return void.
12928 * config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove.
12929 * config/m68k/m68k-protos.h (override_options): Remove.
12930 * config/m68k/m68k.c (TARGET_OPTION_OVERRIDE): Define.
12931 (override_options): Rename to m68k_option_override. Make static.
12932 * config/m68k/m68k.h (OVERRIDE_OPTIONS): Remove.
12933 * config/mcore/mcore-protos.h (mcore_override_options): Remove.
12934 * config/mcore/mcore.c (TARGET_OPTION_OVERRIDE): Define.
12935 (mcore_override_options): Rename to mcore_option_override. Make
12936 static.
12937 * config/mcore/mcore.h (OVERRIDE_OPTIONS): Remove.
12938 * config/mep/mep-protos.h (mep_override_options): Remove.
12939 * config/mep/mep.c (TARGET_OPTION_OVERRIDE): Define.
12940 (mep_override_options): Rename to mep_option_override. Make static.
12941 * config/mep/mep.h (OVERRIDE_OPTIONS): Remove.
12942 * config/mmix/mmix-protos.h (mmix_override_options): Remove.
12943 * config/mmix/mmix.c (TARGET_OPTION_OVERRIDE): Define.
12944 (mmix_override_options): Rename to mmix_option_override. Make static.
12945 * config/mmix/mmix.h (OVERRIDE_OPTIONS): Remove.
12946 * config/mn10300/mn10300-protos.h (mn10300_override_options): Remove.
12947 * config/mn10300/mn10300.c (TARGET_OPTION_OVERRIDE): Define.
12948 (mn10300_override_options): Rename to mn10300_option_override.
12949 Make static.
12950 * config/mn10300/mn10300.h (OVERRIDE_OPTIONS): Remove.
12951 * config/moxie/moxie-protos.h (moxie_override_options): Remove.
12952 * config/moxie/moxie.c (moxie_override_options): Rename to
12953 moxie_option_override. Make static.
12954 (TARGET_OPTION_OVERRIDE): Define.
12955 * config/moxie/moxie.h (OVERRIDE_OPTIONS): Remove.
12956 * config/picochip/picochip-protos.h (picochip_override_options):
12957 Remove. Update comment referring to picochip_override_options.
12958 * config/picochip/picochip.c (TARGET_OPTION_OVERRIDE): Define.
12959 (picochip_override_options): Rename to picochip_option_override.
12960 Make static. Update comment and definition of
12961 TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE.
12962 * config/picochip/picochip.h (OVERRIDE_OPTIONS): Remove.
12963 * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
12964 * config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
12965 * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
12966 * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
12967 * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
12968 * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Define
12969 instead of OVERRIDE_OPTIONS.
12970 * config/rs6000/rs6000-modes.def: Update comment referring to
12971 rs6000_override_options.
12972 * config/rs6000/rs6000-protos.h (rs6000_override_options): Remove.
12973 * config/rs6000/rs6000.c (TARGET_OPTION_OVERRIDE): Define.
12974 (rs6000_override_options): Rename to
12975 rs6000_option_override_internal. Make static. Commented
12976 referring to rs6000_override_options and OVERRIDE_OPTIONS updated.
12977 (rs6000_option_override): New.
12978 * config/rs6000/rs6000.h (OPTION_TARGET_CPU_DEFAULT): Define
12979 instead of OVERRIDE_OPTIONS.
12980 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
12981 * config/s390/s390-protos.h (override_options): Remove.
12982 * config/s390/s390.c (override_options): Rename to
12983 s390_option_override. Make static.
12984 (TARGET_OPTION_OVERRIDE): Define.
12985 * config/s390/s390.h (OVERRIDE_OPTIONS): Remove.
12986 * config/score/score-protos.h (score_override_options): Remove.
12987 * config/score/score.c (TARGET_OPTION_OVERRIDE): Define.
12988 (score_override_options): Rename to score_option_override. Make
12989 static.
12990 * config/score/score.h (OVERRIDE_OPTIONS): Remove.
12991 Update comment referring to override_options.
12992 * config/score/score3.c (score3_override_options): Rename to
12993 score3_option_override.
12994 * config/score/score3.h (score3_override_options): Rename to
12995 score3_option_override.
12996 * config/score/score7.c (score7_override_options): Rename to
12997 score7_option_override.
12998 * config/score/score7.h (score7_override_options): Rename to
12999 score7_option_override.
13000 * config/sh/sh.c: Update comments referring to OVERRIDE_OPTIONS.
13001 * config/sparc/sparc.c (TARGET_OPTION_OVERRIDE): Define.
13002 (sparc_override_options): Rename to sparc_option_override. Make
13003 static. Call SUBTARGET_OVERRIDE_OPTIONS.
13004 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Remove.
13005 * config/sparc/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
13006 instead of OVERRIDE_OPTIONS.
13007 * config/spu/spu-protos.h (spu_override_options): Remove.
13008 * config/spu/spu.c (TARGET_OPTION_OVERRIDE): Define.
13009 (spu_override_options): Rename to spu_option_override. Make
13010 static.
13011 * config/spu/spu.h (OVERRIDE_OPTIONS): Remove.
13012 * config/vax/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of
13013 OVERRIDE_OPTIONS.
13014 * config/vax/vax-protos.h (override_options): Remove.
13015 * config/vax/vax.c (TARGET_OPTION_OVERRIDE): Define.
13016 (override_options): Rename to vax_option_override. Make static.
13017 Call SUBTARGET_OVERRIDE_OPTIONS.
13018 * config/vax/vax.h (OVERRIDE_OPTIONS): Remove.
13019 * config/vxworks.c: Update comment referring to OVERRIDE_OPTIONS.
13020 * config/vxworks.h: Update comment referring to OVERRIDE_OPTIONS.
13021 * config/xtensa/xtensa-protos.h (override_options): Remove.
13022 * config/xtensa/xtensa.c (TARGET_OPTION_OVERRIDE): Define.
13023 (override_options): Rename to xtensa_option_override. Make static.
13024 * config/xtensa/xtensa.h (OVERRIDE_OPTIONS): Remove.
13025
13026 2010-09-16 Richard Guenther <rguenther@suse.de>
13027
13028 PR tree-optimization/45623
13029 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Adjust.
13030 (get_constraint_for_component_ref): If computing a constraint
13031 for the rhs handle type punning through unions.
13032 (get_constraint_for_address_of): Adjust.
13033 (get_constraint_for_1): Likewise.
13034 (get_constraint_for): Likewise.
13035 (get_constraint_for_rhs): New function.
13036 (do_structure_copy): Adjust.
13037 (make_constraint_to): Likewise.
13038 (handle_const_call): Likewise.
13039 (find_func_aliases): Likewise.
13040 (process_ipa_clobber): Likewise.
13041 (create_variable_info_for): Likewise.
13042
13043 2010-09-16 Ira Rosen <irar@il.ibm.com>
13044
13045 * tree-vectorizer.c: Fix documentation.
13046 * tree-vectorizer.h (vinfo_for_stmt): Add documentation.
13047 (set_vinfo_for_stmt, get_earlier_stmt, get_later_stmt,
13048 is_pattern_stmt_p, is_loop_header_bb_p,
13049 stmt_vinfo_set_inside_of_loop_cost,
13050 stmt_vinfo_set_outside_of_loop_cost, vect_pow2, aligned_access_p,
13051 known_alignment_for_access_p): Likewise.
13052 * tree-vect-loop.c: Fix documentation.
13053 (vect_get_cost): Start function name from new line.
13054 * tree-vect-data-refs.c: Fix documentation.
13055 * tree-vect_stmts.c: Likewise.
13056 (vect_create_vectorized_promotion_stmts): Always free vec_tmp.
13057 (vectorizable_store): Free vec_oprnds if allocated.
13058 (vectorizable_condition): Initialize several variables to avoid
13059 warnings.
13060 * tree-vect-slp.c: Fix documentation.
13061
13062 2010-09-16 Richard Guenther <rguenther@suse.de>
13063
13064 * tree.c (tree_node_structure_for_code): TRANSLATION_UNIT_DECL
13065 is TS_TRANSLATION_UNIT_DECL.
13066 (initialize_tree_contains_struct): Adjust.
13067 (all_translation_units): New global vector.
13068 (build_translation_unit_decl): New function.
13069 * tree.h (TRANSLATION_UNIT_LANGUAGE): New macro.
13070 (struct tree_translation_unit_decl): New.
13071 (all_translation_units): Declare.
13072 (union tree_node): Add translation_unit_decl member.
13073 (build_translation_unit_decl): Declare.
13074 * treestruct.def (TS_TRANSLATION_UNIT_DECL): New.
13075 * lto-streamer-out.c (pack_ts_translation_unit_decl_value_fields):
13076 New function.
13077 (pack_value_fields): Call it.
13078 (lto_output_tree_ref): Handle references to TRANSLATION_UNIT_DECL.
13079 (lto_output_ts_translation_unit_decl_tree_pointers): New function.
13080 (lto_output_tree_pointers): Call it.
13081 * lto-streamer-in.c (lto_input_tree_ref): Handle references
13082 to TRANSLATION_UNIT_DECL.
13083 (unpack_ts_translation_unit_decl_value_fields): New function.
13084 (unpack_value_fields): Call it.
13085 (lto_input_ts_translation_unit_decl_tree_pointers): New function.
13086 (lto_input_tree_pointers): Call it.
13087 * lto-streamer.c (check_handled_ts_structures): Adjust.
13088 * lto-streamer.h (enum LTO_tags): Add LTO_translation_unit_decl_ref.
13089 * c-decl.c (all_translation_units): Remove.
13090 (pop_scope): Use build_translation_unit_decl.
13091 (collect_all_refs): Adjust.
13092 (for_each_global_decl): Likewise.
13093 (c_write_global_declarations): Likewise.
13094
13095 2010-09-16 Jakub Jelinek <jakub@redhat.com>
13096
13097 PR bootstrap/45686
13098 * fold-const.c (fold_checksum_tree): Change slot from const void **
13099 to void **, use CONST_CAST_TREE to store into *slot.
13100
13101 2010-09-16 Uros Bizjak <ubizjak@gmail.com>
13102
13103 * config/i386/i386.md: Remove unneeded empty conditions and
13104 preparation statements from expanders.
13105 * config/i386/mmx.md: Ditto.
13106 * config/i386/sse.md: Ditto.
13107
13108 2010-09-16 Uros Bizjak <ubizjak@gmail.com>
13109
13110 * config/i386/i386.h (PUSH_ROUNDING): Redefine using UNITS_PER_WORD.
13111
13112 2010-09-15 Eric Botcazou <ebotcazou@adacore.com>
13113
13114 PR rtl-optimization/45593
13115 * reorg.c (relax_delay_slots): Use emit_copy_of_insn_after to re-emit
13116 insns that were in delay slots as stand-alone insns.
13117
13118 2010-09-15 Ian Lance Taylor <iant@google.com>
13119
13120 * incpath.c (remove_duplicates): If name is not a directory, issue
13121 a warning rather than an error.
13122
13123 2010-09-15 Martin Jambor <mjambor@suse.cz>
13124
13125 PR middle-end/45644
13126 * tree-sra.c (create_access): Check for bit-fields directly.
13127
13128 2010-09-15 Jakub Jelinek <jakub@redhat.com>
13129
13130 PR tree-optimization/45633
13131 * tree-cfg.c (verify_gimple_assign_binary): Allow
13132 MINUS_EXPR with lhs and rhs1 pointer vector and
13133 rhs2 sizetype vector.
13134 * expr.c (expand_expr_real_2) <case PLUS_EXPR>: For pointer
13135 or vector pointer use TER to optimize pointer subtraction.
13136
13137 2010-09-15 Jie Zhang <jie@codesourcery.com>
13138
13139 * config/arm/vfp.md (cmpsf_trap_vfp): Change type from
13140 fcmpd to fcmps.
13141
13142 2010-09-15 Ian Lance Taylor <iant@google.com>
13143
13144 * config/i386/i386.md (truncxf<mode>2): Fix indentation.
13145
13146 2010-09-15 Ian Lance Taylor <iant@google.com>
13147
13148 * function.c (get_arg_pointer_save_area): Set
13149 arg_pointer_save_area_init to true.
13150
13151 2010-09-15 Martin Jambor <mjambor@suse.cz>
13152
13153 * tree-sra.c (generate_subtree_copies): Updated comment.
13154 (handle_unscalarized_data_in_subtree): Removed parameter lhs which is
13155 obtained from the statement iterator instead.
13156 (load_assign_lhs_subreplacements): Removed parameters lhs and
13157 right_offset, which is obtained from top_racc instead. Parameter lacc
13158 is now expected to be the root of the processed tree rather than root's
13159 first child. Updated all callers.
13160
13161 2010-09-15 Joseph Myers <joseph@codesourcery.com>
13162
13163 * config/pdp11/pdp11.c (register_move_cost): Rename to
13164 pdp11_register_move_cost.
13165 * config/pdp11/pdp11-protos.h (register_move_cost): Rename to
13166 pdp11_register_move_cost.
13167 * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Call
13168 pdp11_register_move_cost instead of register_move_cost.
13169
13170 2010-09-15 Tejas Belagod <tejas.belagod@arm.com>
13171
13172 * config/arm/neon.md (vec_pack_trunc_<mode>): Instruction
13173 pattern for vmovn. Expansion in case of non
13174 -mvectorize-with-neon-quad.
13175 (neon_vec_pack_trunc_<mode>): Instruction pattern for vmovn for
13176 non- -mvectorize-with-neon-quad case.
13177 (move_lo_quad_<mode>): New expansion to vmov into low part.
13178 (move_hi_quad_<mode>): New expansion to vmov into high part.
13179 (move_lo_quad_v4si): Refactor to move_lo_quad_<mode> expansion.
13180 (move_lo_quad_v4sf): Likewise.
13181 (move_lo_quad_v8hi): Likewise.
13182 (neon_move_lo_quad_<mode>): Instruction pattern for vmov into
13183 low part.
13184 (neon_move_hi_quad_<mode>): Instruction pattern for vmov into
13185 high part.
13186 * config/arm/iterators.md (ANY128): New mode iterator.
13187 (V_narrow_pack): New mode attribute.
13188 (V_HALF): Add attribute.
13189 (V_DOUBLE): Add attribute.
13190 (V_mode_nunits): Add attribute.
13191
13192 2010-09-15 Eric Botcazou <ebotcazou@adacore.com>
13193
13194 * config/alpha/alpha.c (alpha_expand_prologue): If stack checking
13195 is enabled, probe up to frame_size + STACK_CHECK_PROTECT bytes.
13196
13197 2010-09-15 Olivier Hainque <hainque@adacore.com>
13198 Jose Ruiz <ruiz@adacore.com>
13199
13200 * config/alpha/osf5.h (MD_UNWIND_SUPPORT): Define.
13201 * config/alpha/osf5-unwind.h: New file.
13202
13203 2010-09-14 H.J. Lu <hongjiu.lu@intel.com>
13204
13205 PR bootstrap/45672
13206 * config/mips/mips.c (mips_units_per_simd_word): Correct return type.
13207 * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Likewise.
13208 * config/sparc/sparc.c (sparc_units_per_simd_word): Likewise.
13209
13210 2010-09-15 Laurynas Biveinis <laurynas.biveinis@gmail.com>
13211
13212 * c-lang.h (struct lang_type): Add variable_size GTY option.
13213
13214 2010-09-14 H.J. Lu <hongjiu.lu@intel.com>
13215
13216 PR bootstrap/45672
13217 * config/rs6000/rs6000.c (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): New.
13218
13219 2010-09-14 H.J. Lu <hongjiu.lu@intel.com>
13220
13221 * config/i386/i386.c (ix86_lea_for_add_ok): Return false if
13222 result isn't used in memory address.
13223
13224 2010-09-14 H.J. Lu <hongjiu.lu@intel.com>
13225
13226 * defaults.h (UNITS_PER_SIMD_WORD): Removed.
13227 * config/arm/arm.h (UNITS_PER_SIMD_WORD): Likewise.
13228 * config/i386/i386.h (UNITS_PER_SIMD_WORD): Likewise.
13229 * config/mips/mips.h (UNITS_PER_SIMD_WORD): Likewise.
13230 * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Likewise.
13231 * config/sparc/sparc.h (UNITS_PER_SIMD_WORD): Likewise.
13232
13233 * target.def: Add units_per_simd_word to vectorize.
13234
13235 * targhooks.c (default_units_per_simd_word): New.
13236 * targhooks.h (default_units_per_simd_word): Likewise.
13237 * config/arm/arm.c (arm_units_per_simd_word): Likewise.
13238 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
13239 * config/mips/mips.c (mips_units_per_simd_word): Likewise.
13240 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
13241 * config/rs6000/rs6000.c (rs6000_units_per_simd_word): Likewise.
13242 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
13243 * config/sparc/sparc.c (sparc_units_per_simd_word): Likewise.
13244 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
13245
13246 * tree-vect-loop.c: Replace UNITS_PER_SIMD_WORD with
13247 TARGET_VECTORIZE_UNITS_PER_SIMD_WORD in comments.
13248
13249 * tree-vect-stmts.c: Don't include "tm_p.h".
13250 (get_vectype_for_scalar_type): Replace UNITS_PER_SIMD_WORD
13251 with targetm.vectorize.units_per_simd_word.
13252
13253 * system.h (UNITS_PER_SIMD_WORD): Poisoned.
13254
13255 * config/i386/i386-protos.h (ix86_units_per_simd_word): Removed.
13256
13257 * config/i386/i386.c (ix86_units_per_simd_word): Make it static.
13258 (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): New.
13259
13260 * doc/tm.texi.in: Remove UNITS_PER_SIMD_WORD. Add
13261 TARGET_VECTORIZE_UNITS_PER_SIMD_WORD.
13262
13263 * doc/tm.texi: Regenerated.
13264
13265 2010-09-14 H.J. Lu <hongjiu.lu@intel.com>
13266
13267 * tree-vect-stmts.c: Include "tm_p.h".
13268
13269 * config/i386/i386-protos.h (ix86_units_per_simd_word): Moved
13270 out of RTX_CODE.
13271
13272 2010-09-14 Martin Jambor <mjambor@suse.cz>
13273
13274 * tree-sra.c (build_ref_for_offset): Loc made a parameter. Set the
13275 location of generated statement. Changed all callers.
13276 (build_ref_for_model): New parameter loc which used to set location of
13277 all generated expressions. Changed all callers.
13278 (generate_subtree_copies): Likewise.
13279 (init_subtree_with_zero): Likewise.
13280 (sra_modify_expr): Set locations of all generated statements and
13281 expressions to the location the original statement.
13282 (handle_unscalarized_data_in_subtree): Likewise.
13283 (load_assign_lhs_subreplacements): Likewise.
13284 (sra_modify_constructor_assign): Likewise.
13285 (sra_modify_assign): Likewise.
13286
13287 2010-09-14 Eric Botcazou <ebotcazou@adacore.com>
13288
13289 PR target/45277
13290 PR target/45363
13291 PR target/45407
13292 * doc/install.texi (sparc*-*-*): New section.
13293 (sparc-sun-solaris2*): Mention MPC alongside GMP and MPFR.
13294
13295 2010-09-14 Jakub Jelinek <jakub@redhat.com>
13296
13297 PR middle-end/45567
13298 * builtins.c (expand_builtin_interclass_mathfn, expand_builtin_cexpi,
13299 expand_builtin_powi): Remove subtarget argument, pass NULL_RTX instead.
13300 (expand_builtin): Adjust caller.
13301 (expand_builtin_unop): Only use subtarget if it has the right mode.
13302
13303 2010-09-14 Tristan Gingold <gingold@adacore.com>
13304
13305 * configure.ac (plugins): Fix typos.
13306 * configure: Regenerate.
13307
13308 2010-09-14 Jakub Jelinek <jakub@redhat.com>
13309
13310 PR debug/45660
13311 * dwarf2out.c (gen_decl_die): Call gen_type_die for origin before
13312 gen_type_die for function/method return type.
13313
13314 2010-09-14 Ira Rosen <irar@il.ibm.com>
13315
13316 PR tree-optimization/45470
13317 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
13318 can throw an exception.
13319 * tree-vect-stmts.c (vectorizable_call): Likewise.
13320
13321 2010-09-14 DJ Delorie <dj@redhat.com>
13322
13323 PR target/44749
13324 * config/mep/mep-protos.h (mep_save_register_info,
13325 mep_reinit_regs, mep_init_regs): Declare.
13326
13327 * config/mep/mep.c: Move all target definitions to the end of the
13328 file to avoid the need for duplicate declarations.
13329 (mep_save_register_info, mep_reinit_regs, mep_init_regs): New.
13330 (mep_reorg_erepeat): Remove unused variables.
13331 (mep_expand_builtin): Likewise.
13332
13333 * config/mep/mep-pragma.c: Don't include rtl.h.
13334 (INVALID_REGNUM): New.
13335 (mep_pragma_coprocessor_which): Call mep-specific rtl-layer bridge
13336 functions.
13337 (mep_pragma_coprocessor_subclass): Rename "class" to "rclass".
13338 Avoid enum/integer math.
13339
13340 2010-09-13 Joseph Myers <joseph@codesourcery.com>
13341
13342 PR target/44749
13343 * config/mep/t-mep (GTM_H): Add insn-constants.h.
13344 * config/mep/mep.c (mep_conditional_register_usage): Take no
13345 parameters.
13346 * config/mep/mep-protos.h (mep_conditional_register_usage): Update
13347 prototype.
13348 * config/mep/mep-pragma.c (CONDITIONAL_REGISTER_USAGE): Update
13349 call to mep_conditional_register_usage.
13350
13351 2010-09-13 Eric Botcazou <ebotcazou@adacore.com>
13352
13353 PR debug/43937
13354 * varasm.c (output_constant_def_contents): Set TREE_ASM_WRITTEN on
13355 the DECL as well.
13356
13357 2010-09-13 Jakub Jelinek <jakub@redhat.com>
13358
13359 PR rtl-optimization/45617
13360 * combine.c (simplify_comparison): Optimize (X >> N) {>,>=,<,<=} C
13361 even if low N bits of X aren't known to be zero.
13362
13363 2010-09-13 H.J. Lu <hongjiu.lu@intel.com>
13364
13365 * config/i386/i386-protos.h (ix86_units_per_simd_word): New.
13366
13367 * config/i386/i386.c (initial_ix86_tune_features): Add
13368 X86_TUNE_VECTORIZE_DOUBLE.
13369 (ix86_units_per_simd_word): New.
13370
13371 * config/i386/i386.h (ix86_tune_indices): Add
13372 X86_TUNE_VECTORIZE_DOUBLE.
13373 (TARGET_VECTORIZE_DOUBLE): New.
13374 (UNITS_PER_SIMD_WORD): Defined with ix86_units_per_simd_word.
13375
13376 2010-09-13 Pat Haugen <pthaugen@us.ibm.com>
13377
13378 * tree-ssa-ter.c (temp_expr_table_d): Add call_cnt field.
13379 (new_temp_expr_table): Allocate call_cnt vector.
13380 (free_temp_expr_table): Free it.
13381 (process_replaceable): Add call_cnt parm and set in vector.
13382 (find_replaceable_in_bb): Skip replacement if def/use span a call.
13383 (debug_ter): Dump call_cnt value, remove stderr uses.
13384
13385 2010-09-13 Jan Hubicka <jh@suse.cz>
13386
13387 * tree.c (build_zero_cst): New.
13388 * tree.h (build_zero_cst): Declare.
13389 * tree-ssa-ccp.c (get_constant_value): Accept general operands.
13390 (get_base_constructor): Break out from ...
13391 (fold_const_aggregate_ref): Here; handle empty constructors.
13392
13393 2010-09-13 Marcus Shawcroft <marcus.shawcroft@arm.com>
13394
13395 * config/arm/arm.md: (define_attr "conds"): Update comment.
13396 * config/arm/sync.md (arm_sync_compare_and_swapsi): Change
13397 conds attribute to clob.
13398 (arm_sync_compare_and_swapsi): Likewise.
13399 (arm_sync_compare_and_swap<mode>): Likewise.
13400 (arm_sync_lock_test_and_setsi): Likewise.
13401 (arm_sync_lock_test_and_set<mode>): Likewise.
13402 (arm_sync_new_<sync_optab>si): Likewise.
13403 (arm_sync_new_nandsi): Likewise.
13404 (arm_sync_new_<sync_optab><mode>): Likewise.
13405 (arm_sync_new_nand<mode>): Likewise.
13406 (arm_sync_old_<sync_optab>si): Likewise.
13407 (arm_sync_old_nandsi): Likewise.
13408 (arm_sync_old_<sync_optab><mode>): Likewise.
13409 (arm_sync_old_nand<mode>): Likewise.
13410
13411 2010-09-13 Olivier Hainque <hainque@adacore.com>
13412
13413 * fwprop.c (forward_propagate_and_simplify): Only attach a
13414 REG_EQUAL note to an insn if the destination is a register.
13415 * gcse.c (try_replace_reg): Likewise.
13416
13417 2010-09-13 Richard Guenther <rguenther@suse.de>
13418
13419 PR tree-optimization/45611
13420 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fix typo.
13421 (copy_ref_info): Likewise.
13422
13423 2010-09-13 Alexandre Oliva <aoliva@redhat.com>
13424
13425 PR debug/45604
13426 PR debug/45419
13427 PR debug/45408
13428 * tree-pretty-print.c (dump_generic_node): Disregard top-level
13429 types of MEM_REF pointer types to the same type.
13430
13431 2010-09-13 Hans-Peter Nilsson <hp@axis.com>
13432
13433 PR rtl-optimization/41087
13434 * ifcvt.c (noce_get_condition): Don't allow conditions with
13435 side-effects.
13436
13437 2010-09-12 Anatoly Sokolov <aesok@post.ru>
13438
13439 * config/frv/frv.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
13440 * config/frv/frv-protos.h (frv_register_move_cost): Remove.
13441 * config/frv/frv.c (frv_register_move_cost): Make static. Change
13442 arguments type to reg_class_t. Add mode argument.
13443 (frv_memory_move_cost): New.
13444 (TARGET_REGISTER_MOVE_COSTS, TARGET_MEMORY_MOVE_COSTS): Define.
13445
13446 2010-09-12 Bernd Schmidt <bernds@codesourcery.com>
13447
13448 * config/arm/arm.md (arm_ashldi3_1bit, arm_ashrdi3_1bit,
13449 arm_lshrdi3_1bit): Put earlyclobber on the right alternative.
13450
13451 2010-09-10 Jan Hubicka <jh@suse.cz>
13452
13453 * tree-ssa-ccp.c (fold_const_aggregate_ref): Do not check STATIC flag.
13454
13455 2010-09-10 Richard Guenther <rguenther@suse.de>
13456
13457 * tree.c (make_vector_type): Do not set TYPE_DEBUG_REPRESENTATION_TYPE.
13458 * tree.h (TYPE_DEBUG_REPRESENTATION_TYPE): Remove.
13459 * lto-streamer-out.c (lto_output_ts_type_tree_pointers): Do
13460 not stream TYPE_DEBUG_REPRESENTATION_TYPE.
13461 * lto-streamer-in.c (lto_input_ts_type_tree_pointers): Likewise.
13462
13463 2010-09-10 Richard Guenther <rguenther@suse.de>
13464
13465 * dwarf2out.c (gen_array_type_die): Output DW_TAG_subrange_type
13466 for VECTOR_TYPEs using TYPE_VECTOR_SUBPARTS.
13467 * dbxout.c (dbxout_type): Manually deal with VECTOR_TYPE
13468 using TYPE_VECTOR_SUBPARTS, not TYPE_DEBUG_REPRESENTATION_TYPE.
13469
13470 2010-09-10 H.J. Lu <hongjiu.lu@intel.com>
13471
13472 PR middle-end/45634
13473 * tree-ssa-ccp.c (fold_const_aggregate_ref): Check that result
13474 of string folding is of integral type.
13475
13476 2010-09-10 Ryan Mansfield <rmansfield@qnx.com>
13477
13478 * doc/invoke.texi (-x): Fix typo.
13479
13480 2010-09-10 Richard Guenther <rguenther@suse.de>
13481
13482 PR debug/44115
13483 * tree.c (free_lang_data_in_decl): Do not clear DECL_DEBUG_EXPR.
13484 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
13485 Output DECL_DEBUG_EXPR.
13486 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
13487 Input DECL_DEBUG_EXPR.
13488
13489 2010-09-10 Richard Guenther <rguenther@suse.de>
13490
13491 * tree.c (type_hash_eq): For ARRAY_TYPEs also compare TYPE_SIZE.
13492 (build_index_type): Implement in terms of build_range_type.
13493 (build_range_type): Do not allow NULL_TREE type, improve
13494 hashing to cover more cases. Set TYPE_STRUCTURAL_EQUALITY_P
13495 if we didn't hash.
13496 * c-decl.c (grokdeclarator): When modifying TYPE_SIZE manually
13497 create a distinct copy of the type.
13498
13499 2010-09-10 Kai Tietz <kai.tietz@onevision.com>
13500
13501 * configure: Regenerated.
13502 * config.gcc: Add for x86_64 and i?86 mingw t-dfprule.
13503
13504 2010-09-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13505
13506 * config/arm/neon-schedgen.ml (allCores): Add support for Cortex-A9.
13507 * config/arm/cortex-a9-neon.md: New and partially generated.
13508 * config/arm/cortex-a9.md (cortex_a9_dp): Adjust for Neon.
13509
13510 2010-09-10 Richard Guenther <rguenther@suse.de>
13511
13512 * tree.h (build_index_2_type): Remove.
13513 * tree.c (build_index_2_type): Remove.
13514
13515 2010-09-10 Jakub Jelinek <jakub@redhat.com>
13516
13517 PR bootstrap/45630
13518 * dwarf2out.c (get_ref_die_offset_label): Use %ld instead of
13519 HOST_WIDE_INT_PRINT_DEC to print ref->die_offset.
13520 (implicit_ptr_descriptor): Return NULL if dwarf_strict.
13521
13522 2010-09-10 Martin Jambor <mjambor@suse.cz>
13523
13524 PR tree-optimization/44972
13525 * tree-sra.c: Include toplev.h.
13526 (build_ref_for_offset): Entirely reimplemented.
13527 (build_ref_for_model): New function.
13528 (build_user_friendly_ref_for_offset): New function.
13529 (analyze_access_subtree): Removed build_ref_for_offset check.
13530 (propagate_subaccesses_across_link): Likewise.
13531 (create_artificial_child_access): Use
13532 build_user_friendly_ref_for_offset.
13533 (propagate_subaccesses_across_link): Likewise.
13534 (ref_expr_for_all_replacements_p): Removed.
13535 (generate_subtree_copies): Updated comment. Use build_ref_for_model.
13536 (sra_modify_expr): Use build_ref_for_model.
13537 (load_assign_lhs_subreplacements): Likewise.
13538 (sra_modify_assign): Removed ref_expr_for_all_replacements_p checks,
13539 checks for return values of build_ref_for_offset.
13540 * ipa-cp.c (ipcp_lattice_from_jfunc): No need to check return value of
13541 build_ref_for_offset.
13542 * ipa-prop.h: Include gimple.h
13543 * ipa-prop.c (ipa_compute_jump_functions): Update to look for MEM_REFs.
13544 (ipa_analyze_indirect_call_uses): Update comment.
13545 * Makefile.in (tree-sra.o): Add $(GIMPLE_H) to dependencies.
13546 (IPA_PROP_H): Likewise.
13547
13548 2010-09-10 Martin Jambor <mjambor@suse.cz>
13549
13550 PR tree-optimization/44972
13551 * ipa-prop.c (ipa_modify_call_arguments): Build MEM_REF instead of
13552 calling build_ref_for_offset.
13553
13554 2010-09-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13555
13556 * config/arm/bpabi.h (BE8_LINK_SPEC): Handle Cortex-a15.
13557 * config/arm/arm-cores.def (cortex-a15): New core. Treat it as a v7-a.
13558 * config/arm/arm-tune.md: Regenerate.
13559 * doc/invoke.texi (ARM Options): Document it.
13560
13561 2010-09-09 Reza Yazdani <reza.yazdani@amd.com>
13562
13563 * config/i386/i386.c: Include sched-int.h.
13564 (TARGET_SCHED_DISPATCH): Defined.
13565 (TARGET_SCHED_DISPATCH_DO): Defined.
13566 (DISPATCH_WINDOW_SIZE): Defined.
13567 (MAX_DISPATCH_WINDOWS): Defined.
13568 (MAX_INSN): Defined.
13569 (MAX_IMM): Defined.
13570 (MAX_IMM_SIZE): Defined.
13571 (MAX_IMM_32): Defined.
13572 (MAX_IMM_64): Defined.
13573 (MAX_LOAD): Defined.
13574 (MAX_STORE): Defined.
13575 (BIG): Defined.
13576 (dispatch_group): New.
13577 (num_allowable_groups): New.
13578 (group_name): New.
13579 (sched_insn_info_s): New.
13580 (dispatch_windows_s): New.
13581 (imm_info_s): New.
13582 (dispatch_window_list): New.
13583 (dispatch_window_list1): New.
13584 (get_mem_group): New.
13585 (is_cmp): New.
13586 (dispatch_violation): New.
13587 (is_branch): New.
13588 (is_prefetch): New.
13589 (init_window): New.
13590 (allocate_window): New.
13591 (init_dispatch_sched): New.
13592 (is_end_basic_block): New.
13593 (process_end_window): New.
13594 (allocate_next_window): New.
13595 (find_constant_1): New.
13596 (find_constant): New.
13597 (get_num_immediates): New.
13598 (has_immediate): New.
13599 (get_insn_path): New.
13600 (get_insn_group): New.
13601 (count_num_restricted): New.
13602 (fits_dispatch_window): New.
13603 (add_insn_window): New.
13604 (add_to_dispatch_window): New.
13605 (debug_dispatch_window_file): New.
13606 (debug_dispatch_window): New.
13607 (debug_insn_dispatch_info_file): New.
13608 (debug_ready_dispatch): New.
13609 (do_dispatch): New.
13610 (has_dispatch): New.
13611 * config/i386/i386.h (debug_ready_dispatch): Declared.
13612 (debug_dispatch_window): Declared.
13613 * config/i386/i386.opt (mdispatch-scheduler): New flag.
13614 * doc/tm.texi.in (TARGET_SCHED_DISPATCH): New.
13615 (TARGET_SCHED_DISPATCH_DO): New.
13616 * doc/tm.texi: Regererated.
13617 * haifa-sched.c (choose_ready): Call targetm.sched.dispatch and
13618 ready_remove_first_dispatch
13619 (schedule_block): Call targetm.sched.dispatch and
13620 targetm.sched.dispatch_do.
13621 (sched_init): Call targetm.sched.dispatch and
13622 targetm.sched.dispatch_do.
13623 (ready_remove_first_dispatch): New.
13624 (number_in_ready): New.
13625 (get_ready_element): New.
13626 * hooks.c (hook_bool_rtx_int_false): New.
13627 (hook_void_rtx_int): New.
13628 * hooks.h (hook_bool_rtx_int_false): Declared.
13629 (hook_void_rtx_int): Declared.
13630 * sched-int.h (IS_DISPATCH_ON): Defined.
13631 (IS_CMP): Defined.
13632 (DISPATCH_VIOLATION): Defined.
13633 (FITS_DISPATCH_WINDOW): Defined.
13634 (DISPATCH_INIT): Defined.
13635 (ADD_TO_DISPATCH_WINDOW): Defined.
13636 (get_ready_element): Declared.
13637 (number_in_ready): Declared.
13638 * target.def (dispatch): Defined.
13639 (dispatch_do): Defined.
13640
13641 2010-09-09 Vladimir Makarov <vmakarov@redhat.com>
13642
13643 PR middle-end/45312
13644 * reload1.c (merge_assigned_reloads): Remove.
13645 (reload_as_needed): Don't call it.
13646
13647 2010-09-09 Anatoly Sokolov <aesok@post.ru>
13648
13649 * config/m32r/m32r.c (m32r_mode_dependent_address_p): New functions.
13650 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
13651 * config/m32r/m32r.h: (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
13652
13653 2010-09-09 Matthias Klose <doko@ubuntu.com>
13654
13655 PR bootstrap/43847
13656 * configure.ac (--enable-plugin): Enhance for cross builds.
13657 * configure: Regenerate.
13658
13659 2010-09-09 Jan Hubicka <jh@suse.cz>
13660
13661 PR tree-optimization/45598
13662 * tree-ssa-ccp.c (fold_const_aggregate_ref): Check that result of
13663 string folding is of integral type.
13664
13665 2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
13666
13667 * configure.ac (gnu_indirect_function): New test.
13668 * configure: Rebuilt.
13669 * config.in (HAVE_GAS_INDIRECT_FUNCTION): New.
13670 * defaults.h (IFUNC_ASM_TYPE): Provide default.
13671
13672 * doc/extend.texi (Function Attributes): Document ifunc.
13673 * varasm.c (do_assemble_alias): Deal with ifuncs too.
13674
13675 2010-09-09 Hariharan Sandanagobalane <hariharan@picochip.com>
13676
13677 * config/picochip/picochip.c (picochip_reorg): Check for note_p for
13678 epilogue instruction move.
13679
13680 2010-09-09 Jan Hubicka <jh@suse.cz>
13681
13682 * collect2.c (maybe_run_lto_and_relink): Rewrite code producing ld
13683 command line to allow more partitions than input files.
13684
13685 2010-09-09 Vladimir Makarov <vmakarov@redhat.com>
13686
13687 PR middle-end/44554
13688 * ira.c (ira): Switch off sharing spill slots if setjmp is called.
13689
13690 2010-09-09 Vladimir Makarov <vmakarov@redhat.com>
13691
13692 PR middle-end/40386
13693 * ira.c (pseudo_for_reload_consideration_p): Don't use
13694 flag_ira_share_spill_slots.
13695
13696 2010-09-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13697
13698 * config/s390/s390.c (legitimate_reload_constant_p): Accept floating-
13699 point zero operands that fit into a single GPR.
13700 (s390_preferred_reload_class): Ensure we only return general-purpose
13701 register classes.
13702 * config/s390/s390.md ("*mov<mode>_64dfp"): Use lghi to load
13703 floating-point zero operands into GPRs.
13704 ("*mov<mode>_64"): Likewise.
13705 ("mov<mode>"): Likewise using lhi.
13706
13707 2010-09-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13708
13709 * config/s390/s390.c (s390_symref_operand_p): Return false for
13710 literal pool references.
13711 (s390_check_qrst_address): Update caller.
13712
13713 2010-09-09 Uros Bizjak <ubizjak@gmail.com>
13714
13715 * config/i386/predicates.md (ext_register_operand): Check that
13716 SUBREG_REG is really a register before looking for REGNO.
13717 (reg_not_xmm0_operand): Handle SUBREGs correctly.
13718 (nonimm_not_xmm0_operand): Call reg_not_xmm0_operand.
13719
13720 2010-09-09 Jakub Jelinek <jakub@redhat.com>
13721
13722 * rtl.def (DEBUG_IMPLICIT_PTR): New rtl code.
13723 * rtl.h (DEBUG_IMPLICIT_PTR_DECL): Define.
13724 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle DEBUG_IMPLICIT_PTR.
13725 * print-rtl.c (print_rtx): Likewise.
13726 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
13727 * cfgexpand.c (expand_debug_expr): Generate DEBUG_IMPLICIT_PTR
13728 for ADDR_EXPR with non-addressable object.
13729 * dwarf2out.c (enum dw_val_class): Add dw_val_class_decl_ref.
13730 (struct dw_val_struct): Add v.val_decl_ref.
13731 (dwarf_stack_op_name, output_loc_operands, output_loc_operands_raw):
13732 Handle DW_OP_GNU_implicit_pointer.
13733 (size_of_loc_descr): Likewise. Fix up DW_OP_call_ref size.
13734 (get_ref_die_offset_label): New function.
13735 (implicit_ptr_descriptor): New function.
13736 (mem_loc_descriptor): Handle DEBUG_IMPLICIT_PTR.
13737 (loc_descriptor): Likewise.
13738 (gen_variable_die): Put even definitions into decl_die_table.
13739 (resolve_addr_in_expr): Resolve still unresolved
13740 DW_OP_GNU_implicit_pointer operands, if it can't be resolved
13741 return false.
13742 (dwarf2out_finish): Call output_location_lists after outputting
13743 .debug_info and .debug_abbrev instead of before.
13744
13745 2010-09-09 Roland McGrath <roland@redhat.com>
13746
13747 * dwarf2out.c (DWARF_REF_SIZE): Define.
13748 (size_of_loc_descr): Use it for DW_OP_call_ref.
13749
13750 2010-09-09 Alan Modra <amodra@gmail.com>
13751
13752 * doc/invoke.text: Reinstate mcmodel=medium.
13753 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
13754 CMODEL_MEDIUM as default.
13755 * config/rs6000/rs6000.h (enum rs6000_cmodel): Add CMODEL_MEDIUM.
13756 * config/rs6000/rs6000.c (rs6000_handle_option): Add mcmodel=medium.
13757 (toc_relative_ok, offsettable_ok_by_alignment): New functions.
13758 (rs6000_emit_move): Reinstate mcmodel=medium optimization.
13759
13760 2010-09-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13761
13762 PR target/45250
13763 * config/pa/pa.md (nonlocal_goto): Restore hard frame pointer using
13764 hard_frame_pointer_rtx instead of virtual_stack_vars_rtx.
13765 (builtin_longjmp): Likewise.
13766 (allocate_stack): Use hard_frame_pointer_rtx instead of
13767 frame_pointer_rtx.
13768 * config/pa/pa-protos.h (pa_initial_elimination_offset): Declare.
13769 * config/pa/pa.c (pa_internal_arg_pointer): Declare.
13770 (pa_can_eliminate): Likewise.
13771 (TARGET_INTERNAL_ARG_POINTER): Define.
13772 (TARGET_CAN_ELIMINATE): Define.
13773 (hppa_expand_prologue): Use hard frame pointer instead of soft frame
13774 pointer.
13775 (hppa_expand_epilogue, pa_eh_return_handler_rtx): Likewise.
13776 (pa_internal_arg_pointer, pa_can_eliminate,
13777 pa_initial_elimination_offset): New.
13778 * config/pa/pa.h (FRAME_POINTER_REGNUM): Set to new general register.
13779 (HARD_FRAME_POINTER_REGNUM): Set to register three.
13780 (INITIAL_FRAME_POINTER_OFFSET): Delete.
13781 (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET, DWARF_FRAME_REGISTERS):
13782 Define.
13783 (DWARF_ALT_FRAME_RETURN_COLUMN, REGNO_OK_FOR_INDEX_P,
13784 REGNO_OK_FOR_BASE_P): Update to include soft frame pointer.
13785 * config/pa/pa32-regs.h (FIRST_PSEUDO_REGISTER): Increase by one.
13786 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
13787 REG_CLASS_CONTENTS, REGNO_REG_CLASS, REGISTER_NAMES): Update to include
13788 new soft frame pointer.
13789 * config/pa/pa64-regs.h: Likewise.
13790
13791 2010-09-08 Uros Bizjak <ubizjak@gmail.com>
13792
13793 * config/i386/i386.h (EH_RETURN_DATA_REGNO) Use DX_REG instead of
13794 numerical constant.
13795 (EH_RETURN_STACKADJ_RTX): Use CX_REG insted of numerical constant.
13796
13797 2010-09-08 Alexandre Oliva <aoliva@redhat.com>
13798
13799 PR debug/45531
13800 * cfglayout.c (fixup_reorder_chain): Skip debug insns.
13801
13802 2010-09-08 Alexandre Oliva <aoliva@redhat.com>
13803
13804 PR debug/45419
13805 PR debug/45408
13806 * tree-pretty-print.c (dump_generic_node): Disregard top-level
13807 qualifiers in otherwise equal MEM_REF pointer types.
13808 * fold-const.c (operand_equal_p): Compare pointer type of MEM_REFs.
13809 * tree.c (iterative_hash_expr): Hash the pointer type of MEM_REFs.
13810
13811 2010-09-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13812
13813 PR target/44392
13814 * config/arm/arm.md (bswapsi2): Handle condition correctly
13815 for armv6 and optimize_size.
13816
13817 2010-09-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13818
13819 PR other/18555
13820 * doc/cppopts.texi (-isysroot): Document Darwin behaviour.
13821
13822 2010-09-08 Uros Bizjak <ubizjak@gmail.com>
13823
13824 * config/i386/i386-protos.h (ix86_can_use_return_insn_p,
13825 symbolic_reference_mentioned_p, ix86_expand_movmem, ix86_expand_setmem,
13826 ix86_expand_strlen, legitimate_pic_address_disp_p,
13827 ix86_binary_operator_ok, ix86_unary_operator_ok, ix86_match_ccmode,
13828 ix86_expand_int_movcc, ix86_expand_fp_movcc, ix86_expand_int_addcc,
13829 ix86_check_movabs, ix86_secondary_memory_needed): Change function
13830 prototype to bool.
13831 * config/i386/i386.c (return_in_memory_32, return_in_memory_64,
13832 return_in_memory_ms_64, ix86_check_movabs,
13833 symbolic_reference_mentioned_p, ix86_can_use_return_insn_p,
13834 legitimate_pic_address_disp_p, ix86_binary_operator_ok,
13835 ix86_unary_operator_ok, ix86_match_ccmode, ix86_expand_int_movcc,
13836 ix86_expand_fp_movcc, ix86_expand_int_addcc, ix86_expand_movmem,
13837 ix86_expand_setmem, ix86_expand_strlen, inline_secondary_memory_needed,
13838 ix86_secondary_memory_needed): Change to bool. Return
13839 "true" and "false" values.
13840 * config/i386/i386.md: Return "true" and "false" values.
13841
13842 2010-09-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13843
13844 * doc/sourcebuild.texi (Effective-Target Keywords): Document
13845 run_expensive_tests.
13846
13847 2010-09-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13848
13849 * toplev.c (output_stack_usage): Use lbasename instead of basename.
13850
13851 2010-09-08 Martin Jambor <mjambor@suse.cz>
13852
13853 PR other/45443
13854 * doc/invoke.texi: Add -fipa-cp-clone to list of switches turned on
13855 at -O3.
13856
13857 2010-09-08 Richard Guenther <rguenther@suse.de>
13858
13859 * gimple.c (gimple_types, type_hash_cache): Move to GC memory.
13860 (visit): Adjust.
13861 (iterative_hash_gimple_type): Likewise.
13862 (gimple_type_hash): Likewise.
13863 (gimple_register_type): Likewise.
13864 (print_gimple_types_stats): Likewise.
13865 (free_gimple_type_tables): Likewise.
13866
13867 2010-09-08 Michael Matz <matz@suse.de>
13868
13869 PR tree-optimization/43430
13870 * tree-vect-stmts.c (vectorizable_condition): Support multiple
13871 copies for conditional statements if it's not part of a reduction.
13872
13873 2010-09-08 Michael Matz <matz@suse.de>
13874
13875 PR tree-optimization/33244
13876 * tree-ssa-sink.c (statement_sink_location): Don't sink into
13877 empty loop latches.
13878
13879 2010-09-08 Richard Guenther <rguenther@suse.de>
13880
13881 PR tree-optimization/45578
13882 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr):
13883 Be more careful when transfering alignment information to
13884 the new induction variable.
13885 (copy_ref_info): Likewise.
13886
13887 2010-09-08 Richard Guenther <rguenther@suse.de>
13888
13889 * tree.h (TYPE_ORIG_SIZE_TYPE): Remove.
13890 * c-typeck.c (comptypes_internal): Remove TYPE_ORIG_SIZE_TYPE checks.
13891
13892 2010-09-08 Arnaud Charlet <charlet@adacore.com>
13893
13894 * c-tree.h, c-decl.c (build_enumerator): Add location parameter.
13895 * c-parser.c (c_parser_enum_specifier): Adjust call to build_enumerator.
13896
13897 2010-09-08 Kenneth Zadeck <zadeck@naturalbridge.com>
13898
13899 PR doc/45587
13900 * doc/md.texi: Fixed modes on several standard pattern names.
13901
13902 2010-09-08 Mingjie Xing <mingjie.xing@gmail.com>
13903
13904 * config/mips/loongson.md (loongson_psll<V_suffix>): Rename to...
13905 (ashl<mode>3): ...this.
13906 (loongson_psra<V_suffix>): Rename to...
13907 (ashr<mode>3): ...this.
13908 (loongson_psrl<V_suffix>): Rename to...
13909 (lshr<mode>3): ...this.
13910 * config/mips/mips.c (CODE_FOR_loongson_psllh): Define.
13911 (CODE_FOR_loongson_psllw): Define.
13912 (CODE_FOR_loongson_psrlh): Define.
13913 (CODE_FOR_loongson_psrlw): Define.
13914 (CODE_FOR_loongson_psrah): Define.
13915 (CODE_FOR_loongson_psraw): Define.
13916
13917 2010-09-07 Richard Henderson <rth@redhat.com>
13918
13919 * tree-vect-data-refs.c: Include tm_p.h.
13920 * Makefile.in (tree-vect-data-refs.o): Update deps.
13921 * config/i386/i386-protos.h (ix86_cfun_abi, ix86_function_type_abi):
13922 Move delarations outside #ifdef RTX_CODE.
13923
13924 2010-09-07 Richard Henderson <rth@redhat.com>
13925
13926 * final.c (rest_of_handle_final): Unconditionally do
13927 output_function_exception_table before assemble_end_function.
13928
13929 2010-09-07 Jan Hubicka <jh@suse.cz>
13930
13931 * tree-inline.c (tree_inlinable_function_p): Do not test
13932 DECL_REPLACEABLE_P.
13933 * ipa-inline.c (cgraph_default_inline_p, update_caller_keys,
13934 update_callee_keys, cgraph_decide_inlining): Test function availability.
13935 * cif-code.def (OVERWRITABLE): New code.
13936
13937 2010-09-07 H.J. Lu <hjl.tools@gmail.com>
13938 Jack Howarth <howarth@bromo.med.uc.edu>
13939
13940 PR target/36502
13941 PR target/42313
13942 PR target/44651
13943 * config/i386/darwin.h (STACK_BOUNDARY): Redefine as 128 for
13944 profiling or 64-bit MS_ABI and as BITS_PER_WORD otherwise.
13945 (PREFERRED_STACK_BOUNDARY): Replace STACK_BOUNDARY with 128 in
13946 MAX macro.
13947
13948 2010-09-07 H.J. Lu <hongjiu.lu@intel.com>
13949
13950 * unwind-dw2-fde-glibc.c: Include <elf.h> for DT_CONFIG.
13951 Include <link.h> only if USE_PT_GNU_EH_FRAME is defined.
13952
13953 2010-09-07 H.J. Lu <hongjiu.lu@intel.com>
13954
13955 * config.gcc: Don't append t-android for Android targets.
13956
13957 * config/t-android: Removed.
13958
13959 2010-09-07 Richard Henderson <rth@redhat.com>
13960
13961 * target.def (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): New hook.
13962 * doc/tm.texi.in: Add doc marker.
13963 * doc/tm.texi: Rebuild.
13964 * except.c (switch_to_exception_section): Always build.
13965 (output_one_function_exception_table): Move section switch,
13966 personality output, and label output ...
13967 (output_function_exception_table): ... here. Use the new
13968 personality hook.
13969
13970 * config/ia64/ia64.c (ia64_asm_emit_except_personality,
13971 ia64_asm_init_sections, TARGET_ASM_EMIT_EXCEPT_PERSONALITY,
13972 TARGET_ASM_INIT_SECTIONS): New.
13973 (ia64_asm_unwind_emit): Rename from process_for_unwind_directive,
13974 make static.
13975 (TARGET_ASM_UNWIND_EMIT): Update to match.
13976 * config/ia64/ia64-protos.h (process_for_unwind_directive): Remove.
13977
13978 * config/arm/arm.c (arm_asm_emit_except_personality): New.
13979 (arm_asm_init_sections): New.
13980 (TARGET_ASM_EMIT_EXCEPT_PERSONALITY, TARGET_ASM_INIT_SECTIONS): New.
13981
13982 2010-09-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13983
13984 * config/arm/arm.md: Remove unused variable.
13985
13986 2010-09-07 Anatoly Sokolov <aesok@post.ru>
13987
13988 * config/m32r/m32r.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
13989 * config/m32r/m32r.c (TARGET_MEMORY_MOVE_COSTS): Define.
13990 (m32r_memory_move_cost): New function.
13991
13992 2010-09-07 H.J. Lu <hongjiu.lu@intel.com>
13993
13994 * config.gcc: Append t-android for Android targets.
13995
13996 * config/t-android: New.
13997
13998 2010-09-07 Richard Henderson <rth@redhat.com>
13999
14000 * target.def (unwind_emit_before_insn): New hook.
14001 * doc/tm.texi.in: Add @hook marker for it.
14002 * doc/tm.texi: Rebuild.
14003 * final.c (final_scan_insn): Respect unwind_emit_before_insn.
14004
14005 2010-09-07 Martin Jambor <mjambor@suse.cz>
14006
14007 PR fortran/43665
14008 * ipa-cp.c (ipcp_versionable_function_p): Return false if there
14009 are any type attributes.
14010
14011 2010-09-07 Jan Hubicka <jh@suse.cz>
14012
14013 * tree-ssa-ccp.c (fold_const_aggregate_ref): Fix handling of
14014 array_ref_low_bound in string access folding.
14015
14016 2010-09-07 Uros Bizjak <ubizjak@gmail.com>
14017
14018 PR target/45206
14019 * config/i386/i386.c (ix86_expand_epilogue): Mark SP as valid after
14020 eh_return fixup sequence.
14021
14022 2010-09-07 Jan Hubicka <jh@suse.cz>
14023
14024 * gimple-fold.c (maybe_fold_reference): Verify that operand is
14025 gimple_min_invariant.
14026
14027 2010-09-07 Richard Guenther <rguenther@suse.de>
14028
14029 PR middle-end/45569
14030 * tree-eh.c (operation_could_trap_helper_p): Neither COMPLEX_EXPR
14031 nor CONSTRUCTOR can trap.
14032 * tree-complex.c (update_complex_assignment): Update EH info.
14033
14034 2010-09-07 Richard Guenther <rguenther@suse.de>
14035
14036 PR middle-end/45569
14037 * tree-cfg.c (build_gimple_cfg): Remove redundant stmt verification.
14038 * passes.c (execute_function_todo): Do not verify anything if
14039 we saw errors.
14040
14041 2010-09-07 Richard Guenther <rguenther@suse.de>
14042
14043 * tree-pretty-print.c (dump_generic_node): Dump void types as void.
14044
14045 2010-09-07 Bernd Schmidt <bernds@codesourcery.com>
14046
14047 PR target/43137
14048 * config/arm/iterators.md (qhs_zextenddi_cond, qhs_sextenddi_cond):
14049 New define_mode_attrs.
14050 * config/arm/arm.md (zero_extendsidi2, arm_zero_extendsidi2,
14051 arm_exxtendsidi2, arm_extendsidi2): Delete patterns.
14052 (zero_extend<mode>di2, extend<mode>di2 and related splits): New.
14053 (thumb1_zero_extendhisi2): Remove code to handle LABEL_REFs.
14054 Remove pool_range attribute.
14055 (arm_zero_extendhisi2, arm_zero_extendhisi2_v6, arm_zero_extendqisi2,
14056 arm_zero_extendqisi2_v6, thumb1_zero_extendqisi2_v6): Remove
14057 pool_range and neg_pool_range attributes.
14058 * config/arm/thumb2.md (thumb2_zero_extendsidi2,
14059 thumb2_zero_extendhidi2, thumb2_zero_extendqidi2, thumb2_extendsidi2,
14060 thumb2_extendhidi2, thumb2_extendqidi2): Delete.
14061
14062 2010-09-06 H.J. Lu <hongjiu.lu@intel.com>
14063
14064 * config/i386/linux-unwind.h (x86_fallback_frame_state): Properly
14065 check glibc.
14066
14067 2010-09-06 Uros Bizjak <ubizjak@gmail.com>
14068
14069 PR target/22152
14070 * config/i386/mmx.md (*mov<mode>_internal_rex64,
14071 *mov<mode>_internal_avx, *mov<mode>_internal,
14072 *movv2sf_internal_rex64_avx, *movv2sf_internal_rex64,
14073 *movv2sf_internal_avx, *movv2sf_internal): Split out !y-!y alternative.
14074
14075 2010-09-06 Mark Mitchell <mark@codesourcery.com>
14076
14077 * c-typeck.c (do_warn_double_promotion): Remove.
14078 * doc/invoke.texi (-Wdouble-promotion): Note available for C++ and
14079 Objective-C++ too.
14080
14081 2010-09-06 Anatoly Sokolov <aesok@post.ru>
14082
14083 * config/frv/frv.h (CLASS_LIKELY_SPILLED_P): Remove.
14084 * config/frv/frv-protos.h (frv_class_likely_spilled_p): Remove.
14085 * config/frv/frv.c (frv_class_likely_spilled_p): Make static. Change
14086 argument type to reg_class_t. Change result type to bool.
14087 (TARGET_CLASS_LIKELY_SPILLED_P): Define.
14088
14089 2010-09-06 Nicola Pero <nicola.pero@meta-innovation.com>
14090
14091 PR libobjc/19850
14092 * gthr-posix.h (__gthread_objc_thread_detach): Use
14093 _objc_thread_attribs when detaching a thread.
14094 * gthr-posix95.h (__gthread_objc_thread_detach): Same change.
14095
14096 2010-09-06 H.J. Lu <hongjiu.lu@intel.com>
14097
14098 PR target/45524
14099 * configure.ac (enable_decimal_float): Set to $default_decimal_float.
14100 * configure: Regenerated.
14101
14102 2010-09-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
14103
14104 * combine.c (try_combine): Set subst_low_luid to i0.
14105
14106 2010-09-06 Richard Guenther <rguenther@suse.de>
14107
14108 * tree.def (MISALIGNED_INDIRECT_REF): Remove.
14109 * tree.h (INDIRECT_REF_P): Only check for INDIRECT_REF.
14110 (build_aligned_type): Declare.
14111 * tree.c (check_qualified_type): Also compare TYPE_ALIGN.
14112 (check_aligned_type): New function.
14113 (build_aligned_type): Likewise.
14114 * expr.c (expand_assignment): Handle misaligned stores via
14115 TARGET_MEM_REF and MEM_REF using movmisalign_optab.
14116 (expand_expr_real_1): Likewise.
14117 (safe_from_p): Remove MISALIGNED_INDIRECT_REF handling.
14118 * tree-vect-stmts.c (vectorizable_store): Do not build
14119 MISALIGNED_INDIRECT_REF but initialize alignment information.
14120 (vectorizable_load): Likewise.
14121 * builtins.c (get_object_alignment): Remove MISALIGNED_INDIRECT_REF
14122 handling.
14123 * cfgexpand.c (expand_debug_expr): Likewise.
14124 * dwarf2out.c (loc_list_from_tree): Likewise.
14125 * fold-const.c (maybe_lvalue_p): Likewise.
14126 (operand_equal_p): Likewise.
14127 (build_fold_addr_expr_with_type_loc): Likewise.
14128 * gimplify.c (gimplify_addr_expr): Likewise.
14129 (gimplify_expr): Likewise.
14130 * tree-cfg.c (verify_types_in_gimple_min_lval): Likewise.
14131 (verify_gimple_assign_single): Likewise.
14132 * tree-dump.c (dequeue_and_dump): Likewise.
14133 (tree_could_trap_p): Likewise.
14134 * tree-predcom.c (ref_at_iteration): Likewise.
14135 * tree-pretty-print.c (dump_generic_node): Likewise.
14136 (op_code_prio): Likewise.
14137 (op_symbol_code): Likewise.
14138 * tree-ssa-ccp.c (get_value_from_alignment): Likewise.
14139 * tree-ssa-loop-im.c (for_each_index): Likewise.
14140 (gen_lsm_tmp_name): Likewise.
14141 * tree-ssa-loop-ivopts.c (idx_find_step): Likewise.
14142 (find_interesting_uses_address): Likewise.
14143 * tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
14144 * tree-ssa-operands.c (get_expr_operands): Likewise.
14145 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
14146 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
14147 (ao_ref_init_from_vn_reference): Likewise.
14148 * tree.c (staticp): Likewise.
14149 (build1_stat): Likewise.
14150 (reference_alias_ptr_type): Likewise.
14151 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
14152 * config/rs6000/rs6000.c (rs6000_check_sdmode): Remove
14153 MISALIGNED_INDIRECT_REF handling.
14154
14155 2010-09-06 Richard Guenther <rguenther@suse.de>
14156
14157 PR tree-optimization/45534
14158 * tree-ssa-address.c (create_mem_ref_raw): Add verify parameter.
14159 (create_mem_ref): Do verify the created TARGET_MEM_REF is valid
14160 on the target.
14161 (maybe_fold_tmr): Do not verify the created TARGET_MEM_REF is
14162 valid on the target.
14163
14164 2010-09-06 Andreas Schwab <schwab@redhat.com>
14165
14166 * configure.ac: Quote argument of AC_MSG_WARN.
14167 * configure: Regenerate.
14168
14169 2010-09-06 Alexander Monakov <amonakov@ispras.ru>
14170
14171 * sel-sched.c (move_cond_jump): Correct arguments to
14172 maybe_tidy_empty_bb.
14173 * sel-sched-ir.c (maybe_tidy_empty_bb): Export.
14174
14175 2010-09-06 Andrey Belevantsev <abel@ispras.ru>
14176
14177 PR rtl-optimization/44919
14178 * sel-sched.c (move_cond_jump): Remove assert, check that
14179 the several blocks case can only happen with mutually exclusive
14180 insns instead. Rewrite the movement code to support moving through
14181 several basic blocks.
14182
14183 2010-09-06 Uros Bizjak <ubizjak@gmail.com>
14184
14185 * config/i386/i386.md (iptrsize): New mode attribute.
14186 (tp_seg): Ditto.
14187 (*load_tp_<mode>): Macroize insn from *load_tp_{si,di} using P
14188 mode iterator.
14189 (*add_tp_<mode>): Ditto from *add_tp_{si,di}.
14190 (stack_protect_set_<mode>): Ditto from stack_protect_set_{si,di}.
14191 (stack_protect_test_<mode>): Ditto from stack_protect_test_{si,di}.
14192 (stack_tls_protect_set_<mode>): Ditto from
14193 stack_tls_protect_set_{si,di}. Use %@ to output segment register
14194 of thread base pointer load.
14195 (stack_tls_protect_test_<mode>): Ditto from
14196 stack_tls_protect_test_{si,di}. Use %@ to output segment register
14197 of thread base pointer load.
14198 (stack_protect_set): Rewrite using indirect functions.
14199 (stack_protect_test): Ditto.
14200 * config/i386/i386.c (ix86_print_operand_punct_valid): Add '@'.
14201 (ix86_print_operand): Handle '@'.
14202
14203 2010-09-05 Giuseppe Scrivano <gscrivano@gnu.org>
14204
14205 * tree-tailcall.c (process_assignment): Handle NEGATE_EXPR and
14206 MINUS_EXPR.
14207
14208 2010-09-05 Mark Mitchell <mark@codesourcery.com>
14209
14210 * doc/invoke.texi: Document -Wdouble-promotion.
14211 * c-typeck.c (convert_arguments): Check for implicit conversions
14212 from float to double.
14213 (do_warn_double_promotion): New function.
14214 (build_conditional_expr): Use it.
14215 (build_binary_op): Likewise.
14216
14217 2010-09-05 Richard Guenther <rguenther@suse.de>
14218
14219 PR tree-optimization/45535
14220 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
14221 handle TMR_INDEX2. Make sure TMR_INDEX is not NULL before
14222 dereferencing it.
14223 (indirect_refs_may_alias_p): Likewise.
14224
14225 2010-09-05 Naveen H.S <naveen.S@kpitcummins.com>
14226
14227 * config/sh/sh.c (sh_option_override): Make static.
14228 Adjust comments. Declare.
14229 (sh_function_value_regno_p): Likewise.
14230 (sh_register_move_cost): Modify the arguments, make static.
14231 Adjust comments. Declare.
14232 (TARGET_OPTION_OVERRIDE, TARGET_REGISTER_MOVE_COST
14233 TARGET_FUNCTION_VALUE_REGNO_P): Define.
14234 * config/sh/sh.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P
14235 REGISTER_MOVE_COST): Delete.
14236 * config/sh/sh-protos.h (sh_override_options): Delete.
14237 (sh_register_move_cost): Delete.
14238 (sh_function_value_regno_p): Delete.
14239
14240 2010-09-04 Anatoly Sokolov <aesok@post.ru>
14241
14242 * config/m32r/m32r.c (m32r_function_value, m32r_libcall_value,
14243 m32r_function_value_regno_p): New functions.
14244 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
14245 TARGET_FUNCTION_VALUE_REGNO_P): Declare.
14246 * config/m32r/m32r.h: (FUNCTION_VALUE, LIBCALL_VALUE,
14247 FUNCTION_VALUE_REGNO_P): Remove.
14248
14249 2010-09-04 Jan Hubicka <jh@suse.cz>
14250
14251 * gimple-fold.c (maybe_fold_reference): Use fold_const_aggregate_ref.
14252 * tree-ssa-ccp.c (fold_const_aggregate_ref): Use
14253 fold_read_from_constant_string.
14254
14255 * gimple.h (canonicalize_constructor_val): Declare.
14256 * gimple-fold.c (canonicalize_constructor_val): New function.
14257 (get_symbol_constant_value):Use it.
14258 * tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
14259
14260 2010-09-04 Jan Hubicka <jh@suse.cz>
14261
14262 * tree-switch-conversion.c (build_one_array): Set constructor to be
14263 static.
14264 * varpool.c (varpool_finalize_decl): Compute const_value_known.
14265
14266 2010-09-04 Richard Guenther <rguenther@suse.de>
14267
14268 PR bootstrap/45519
14269 * tree-flow.h (force_gimple_operand_1): Declare.
14270 (force_gimple_operand_gsi_1): Likewise.
14271 * gimplify.c (force_gimple_operand_1): New worker taking a
14272 gimple predicate for ...
14273 (force_gimple_operand): ... which now wraps it.
14274 (force_gimple_operand_gsi_1, force_gimple_operand_gsi): Likewise.
14275 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Revert
14276 last change.
14277 * tree-ssa-address.c (gimplify_mem_ref_parts): Use
14278 force_gimple_operand_gsi_1 with is_gimple_mem_ref_addr.
14279 (create_mem_ref): Likewise.
14280
14281 2010-09-04 Uros Bizjak <ubizjak@gmail.com>
14282
14283 * config/i386/predicates.md (sse_reg_operand): New predicate.
14284 * config/i386/i386.md (TFmode push splitter): Use sse_reg_operand
14285 predicate for operand 1.
14286 (XFmode push splitter): Use fp_register_operand predicate
14287 for operand 1.
14288 (*dummy_extendsfdf2, *dummy_extendsfxf2): Remove disabled patterns.
14289 (SF-DF float_extend push splitter): Add reload_completed insn
14290 predicate.
14291 ({SF,DF}-XF float_extend_push splitter): Macroize splitter using
14292 MODEF mode macro. Add reload_completed insn predicate.
14293
14294 2010-09-04 Paolo Bonzini <bonzini@gnu.org>
14295
14296 * df.h (enum df_ref_class): Remove DF_REF_EXTRACT.
14297 (struct df_extract_ref): Remove.
14298 (union df_ref_d): Remove extract_ref member.
14299 (df_ref_create): Remove last three arguments.
14300 (DF_REF_LOC): Remove DF_REF_EXTRACT case.
14301 * df-scan.c (df_ref_record): Remove last three arguments, do not
14302 pass them to df_ref_create_structure.
14303 (df_uses_record): Remove first and last three arguments. Replace
14304 first argument with DF_REF_REGULAR, adjust calls to remove the
14305 width, offset and mode. Always call recursively on the second
14306 and third argument of ZERO_EXTRACT and SIGN_EXTRACT.
14307 (df_ref_create_structure): Remove first argument.
14308 (struct df_scan_problem_data): Remove ref_extract_pool.
14309 (df_scan_free_internal): Do not free it.
14310 (df_scan_alloc): Do not allocate it.
14311 (df_ref_create): Remove last three arguments, do not pass them to
14312 df_ref_create_structure.
14313 (df_free_ref): Remove DF_REF_EXTRACT case.
14314 (df_notes_rescan): Adjust call to df_uses_record.
14315 (df_ref_equal_p, df_ref_compare, df_ref_create_structure):
14316 Remove DF_REF_EXTRACT case.
14317 (df_def_record_1): Do not special case class for a ZERO_EXTRACT lhs.
14318 Adjust calls to df_ref_record, using DF_REF_REGULAR for all REG
14319 and SUBREG definitions.
14320 (df_get_conditional_uses): Remove references to width/offset/mode,
14321 adjust call to df_ref_create_structure.
14322 (df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect,
14323 df_entry_block_defs_collect, df_exit_block_uses_collect): Adjust
14324 calls to df_uses_record and df_ref_record.
14325 * fwprop.c (update_df): Remove references to width/offset/mode,
14326 adjust call to df_ref_create.
14327
14328 2010-09-03 Jan Hubicka <jh@suse.cz>
14329
14330 * ipa.c (build_cdtor): Take VECtor as argument; fix array walk.
14331 (build_cdtor_fns): Update use of build_cdtor.
14332
14333 2010-09-03 Joseph Myers <joseph@codesourcery.com>
14334
14335 * doc/options.texi (SeparateAlias): Document.
14336 * opt-functions.awk (switch_flags): Handle SeparateAlias.
14337 * opth-gen.awk: Generate enumeration names for options marked
14338 SeparateAlias, but not for those marked Ignore.
14339 * opts-common.c (generate_canonical_option): Don't output separate
14340 argument for options marked CL_SEPARATE_ALIAS.
14341 (decode_cmdline_option): Handle CL_SEPARATE_ALIAS.
14342 * opts.h (CL_SEPARATE_ALIAS): New.
14343 (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
14344 CL_COMMON): Adjust definitions.
14345 * config/i386/darwin.opt, config/mips/sde.opt: New.
14346 * common.opt (fdump-final-insns): New.
14347 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
14348 i386/darwin.opt.
14349 (mips*-sde-elf*): Add mips/sde.opt.
14350 * config/mips/sde.h (DRIVER_SELF_SPECS): Don't handle
14351 -mno-data-in-code and -mcode-xonly here.
14352 * defaults.h (DEFAULT_SWITCH_TAKES_ARG): Add 'd'.
14353 * gcc.c (option_map): Add "j" to --dump entry.
14354 (translate_options): Don't translate -d to -foutput-class-dir= here.
14355
14356 2010-09-03 Sebastian Pop <sebastian.pop@amd.com>
14357
14358 * tree-data-ref.c (dr_may_alias_p): Replace !DR_IS_READ with
14359 DR_IS_WRITE.
14360 (compute_all_dependences): Same.
14361 (create_rdg_edge_for_ddr): Same.
14362 * tree-data-ref.h (DR_IS_WRITE): New.
14363 (ddr_is_anti_dependent): Replace !DR_IS_READ with DR_IS_WRITE.
14364 * tree-if-conv.c (write_memrefs_written_at_least_once): Same.
14365 (write_memrefs_written_at_least_once): Same.
14366 * tree-predcom.c (suitable_component_p): Same.
14367 (determine_roots_comp): Same.
14368 (execute_load_motion): Same.
14369 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Same.
14370 (vect_enhance_data_refs_alignment): Same.
14371 (vect_analyze_group_access): Same.
14372
14373 2010-09-03 Joern Rennecke <joern.rennecke@embecosm.com>
14374
14375 PR testsuite/42843
14376 * Makefile.in (PLUGINCC): Define in terms of @CC@ / @CXX@
14377 (PLUGINCFLAGS): Define in terms of @CFLAGS@ / @CXXFLAGS@
14378
14379 2010-09-03 Marcin Baczynski <marbacz@gmail.com>
14380
14381 * dwarf2out.c (file scope): Remove #if0'd code.
14382 (gen_subprogram_die): Same.
14383
14384 2010-09-03 Jakub Jelinek <jakub@redhat.com>
14385
14386 PR middle-end/45484
14387 * dwarf2out.c (flush_queued_reg_saves): Rename to...
14388 (dwarf2out_flush_queued_reg_saves): ... this. No longer static.
14389 (dwarf2out_frame_debug_expr, dwarf2out_frame_debug): Adjust callers.
14390 * dwarf2out.h (dwarf2out_flush_queued_reg_saves): New prototype.
14391 * config/i386/i386.c (output_set_got): Call it.
14392
14393 2010-09-03 Michael Matz <matz@suse.de>
14394
14395 PR middle-end/45415
14396 * tree-sra.c (sra_modify_assign): If we modify the statement,
14397 say so.
14398
14399 * tree-ssa.c (verify_ssa): Check number of operands and links
14400 per statement to agree.
14401
14402 2010-09-03 Uros Bizjak <ubizjak@gmail.com>
14403 Iain Sandoe <iains@gcc.gnu.org>
14404
14405 PR target/45476
14406 * config/i386/t-darwin (LIB2FUNCS_EXCLUDE): New.
14407 * config/i386/darwin.h (LIBGCC2_HAS_TF_MODE,
14408 LIBGCC2_TF_CEXT, TF_SIZE): New defines.
14409
14410 2010-09-03 Richard Guenther <rguenther@suse.de>
14411
14412 * lto-streamer-out.c (output_function): Output function
14413 start and end loci.
14414 * lto-streamer-in.c (input_function): Input function start
14415 and end loci.
14416
14417 2010-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
14418
14419 * configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
14420 * Makefile.in: Add aclocal.m4 dependency to dfp.m4.
14421 * configure: Regenerate.
14422 * aclocal.m4: Regenerate.
14423
14424 2010-09-03 Jan Hubicka <jh@suse.cz>
14425
14426 PR lto/44812
14427 * lto-cgraph.c (intput_node, input_varpool_node): Set DECL_EXTERNAL
14428 on functions/variables in other partition.
14429
14430 2010-09-03 Jan Hubicka <jh@suse.cz>
14431
14432 * cgraph.h (struct varpool_node): Add const_value_known.
14433 (varpool_decide_const_value_known): Declare.
14434 * tree-ssa-ccp.c (fold_const_aggregate_ref): Update initializer folding.
14435 * lto-cgraph.c (lto_output_varpool_node): Store const_value_known.
14436 (input_varpool_node): Restore const_value_known.
14437 * tree-ssa-loop-ivcanon (constant_after_peeling): Check varpool for
14438 initializer folding.
14439 * ipa.c (ipa_discover_readonly_nonaddressable_var,
14440 function_and_variable_visibility): Compute const_value_known.
14441 * gimple-fold.c (get_symbol_constant_value): Use varpool for
14442 initializer folding.
14443 * varpool.c (varpool_decide_const_value_known): New function.
14444
14445 2010-09-03 Uros Bizjak <ubizjak@gmail.com>
14446
14447 * config/i386/i386.md: Remove empty preparation statements
14448 from splitters.
14449
14450 2010-09-03 Jan Hubicka <jh@suse.cz>
14451
14452 * passes.c (rest_of_decl_compilation): Do not add local vars into
14453 varpool.
14454 * varpool.c (varpool_get_node, varpool_node): Sanity check that only
14455 static or extern vars are in varpool.
14456 (varpool_finalize_decl): Sanity check that only static vars are
14457 finalized.
14458
14459 2010-09-03 Jakub Jelinek <jakub@redhat.com>
14460
14461 PR debug/45500
14462 * dwarf2out.c (rtl_for_decl_init): Give up for all generic vectors,
14463 not just generic vectors with BLKmode.
14464
14465 2010-09-03 Richard Guenther <rguenther@suse.de>
14466
14467 * tree.def (TARGET_MEM_REF): Merge TMR_SYMBOL and TMR_BASE.
14468 Move TMR_OFFSET to second operand. Add TMR_INDEX2.
14469 * tree.h (TMR_SYMBOL): Remove.
14470 (TMR_BASE, TMR_OFFSET): Adjust.
14471 (TMR_INDEX2): New.
14472 * alias.c (ao_ref_from_mem): Use TMR_BASE.
14473 * builtins.c (get_object_alignment): Merge TMR_BASE and
14474 TMR_SYMBOL handling.
14475 * cfgexpand.c (expand_debug_expr): Use TMR_BASE.
14476 * gimple.c (get_base_address): Merge MEM_REF and TARGET_MEM_REF
14477 handling. Also allow TARGET_MEM_REF as base address.
14478 (walk_stmt_load_store_addr_ops): TMR_BASE is always non-NULL.
14479 * gimplify.c (gimplify_expr): Gimplify TMR_BASE like MEM_REF
14480 base. Gimplify TMR_INDEX2.
14481 * tree-cfg.c (verify_types_in_gimple_reference): Adjust.
14482 * tree-dfa.c (get_ref_base_and_extent): Likewise.
14483 (get_addr_base_and_unit_offset): Likewise.
14484 * tree-eh.c (tree_could_trap_p): Likewise.
14485 * tree-pretty-print.c (dump_generic_node): Likewise.
14486 * tree-ssa-address.c (tree_mem_ref_addr): Simplify. Handle TMR_INDEX2.
14487 (create_mem_ref_raw): Merge symbol and base. Move 2ndary
14488 base to index2.
14489 (get_address_description): Reconstruct addres description
14490 from merged TMR_BASE and TMR_INDEX2.
14491 (maybe_fold_tmr): Fold propagated addresses.
14492 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Merge
14493 MEM_REF and TARGET_MEM_REF paths.
14494 (indirect_refs_may_alias_p): Likewise.
14495 * tree-ssa-live.c (mark_all_vars_used_1): Handle TMR_INDEX2
14496 instead of TMR_SYMBOL.
14497 * tree-ssa-operands.c (get_tmr_operands): Simplify.
14498 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Adjust
14499 according to changes ...
14500 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): ... here.
14501 Split TARGET_MEM_REF into two fields plus the base.
14502 * tree.c (mem_ref_offset): Simplify.
14503 * tree-ssa-loop-im.c (for_each_index): Handle TMR_INDEX2.
14504 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
14505 Strip NOPs when folding MEM_REF addresses.
14506 * tree-ssa-sink.c (is_hidden_global_store): Handle TARGET_MEM_REF.
14507 * gimple-fold.c (maybe_fold_reference): Fold TARGET_MEM_REF here ...
14508 (fold_gimple_assign): ... not here.
14509
14510 2010-09-03 Mingjie Xing <mingjie.xing@gmail.com>
14511
14512 * config/mips/mips.h (SHIFT_COUNT_TRUNCATED): Change the definition.
14513 * config/mips/mips.c (mips_shift_truncation_mask): New function.
14514 (TARGET_SHIFT_TRUNCATION_MASK): Define.
14515
14516 2010-09-02 Richard Henderson <rth@redhat.com>
14517
14518 * configure.ac (gcc_cv_as_cfi_advance_working): Use objdump
14519 instead of readelf in the test.
14520 (gcc_cv_as_cfi_sections_directive): Check for correct relocation
14521 in the .debug_frame section for coff targets.
14522 * configure: Rebuild.
14523
14524 2010-09-02 Anatoly Sokolov <aesok@post.ru>
14525
14526 * config/m32c/m32c.h (CLASS_LIKELY_SPILLED_P): Remove.
14527 * config/m32c/m32c-protos.h (m32c_class_likely_spilled_p): Remove.
14528 * config/m32c/m32c.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
14529 (m32c_class_likely_spilled_p): Make static. Change argument type to
14530 reg_class_t. Change result type to bool.
14531
14532 2010-09-02 Michael Meissner <meissner@linux.vnet.ibm.com>
14533
14534 * config/rs6000/rs6000.opt (-mfriz): New switch to control whether
14535 to convert (double)(long) into a single FRIZ instruction or not
14536 when -ffast-math is used.
14537
14538 * config/rs6000/vsx.md (VSX_DF): New iterator for DF/V2DF modes.
14539 (vsx_float_fix_<mode>2): Optimize (double)(long) into X{S,V}RDPIZ
14540 or FRIZ instruction if -ffast-math.
14541 * config/rs6000/rs6000.md (friz): Ditto.
14542
14543 * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mfriz.
14544
14545 2010-09-02 Joseph Myers <joseph@codesourcery.com>
14546
14547 * opth-gen.awk (quote, comma): Remove unused variables.
14548
14549 2010-09-02 Ryan Mansfield <rmansfield@qnx.com>
14550
14551 * arm.c (arm_override_options): Correct fall-back code to use
14552 SUBTARGET_CPU_DEFAULT.
14553
14554 2010-09-02 Julian Brown <julian@codesourcery.com>
14555
14556 * config/arm/neon.md (UNSPEC_VCLE, UNSPEC_VCLT): New constants for
14557 unspecs.
14558 (vcond<mode>, vcondu<mode>): New expanders.
14559 (neon_vceq<mode>, neon_vcge<mode>, neon_vcgt<mode>): Support
14560 comparisons with zero.
14561 (neon_vcle<mode>, neon_vclt<mode>): New patterns.
14562 * config/arm/constraints.md (Dz): New constraint.
14563
14564 2010-09-02 Anatoly Sokolov <aesok@post.ru>
14565
14566 * target.def (class_likely_spilled_p): New hook.
14567 * doc/tm.texi.in (TARGET_CLASS_LIKELY_SPILLED_P): Document.
14568 * doc/tm.texi: Regenerate.
14569 * targhooks.c (default_class_likely_spilled_p): New function.
14570 * targhooks.h (default_class_likely_spilled_p): Declare.
14571 * regs.h (CLASS_LIKELY_SPILLED_P): Remove.
14572 * combine.c (cant_combine_insn_p, likely_spilled_retval_p): Use
14573 TARGET_CLASS_LIKELY_SPILLED_P target hook. Use HARD_REGISTER_P macro.
14574 Use fixed_reg_set instead of fixed_regs.
14575 * cse.c (hash_rtx_cb): Use TARGET_CLASS_LIKELY_SPILLED_P target hook.
14576 * calls.c (avoid_likely_spilled_reg): Ditto.
14577 * ira-conflicts.c (ira_build_conflicts): Ditto.
14578 * ira.c (update_equiv_regs): Ditto.
14579 * mode-switching.c (create_pre_exit): Ditto.
14580 * regmove.c (find_matches): Ditto.
14581 (regclass_compatible_p): Use TARGET_CLASS_LIKELY_SPILLED_P target hook.
14582 * reload.c (SMALL_REGISTER_CLASS_P): Remove macro.
14583 (small_register_class_p): New inline function.
14584 (push_secondary_reload, find_reusable_reload, find_reloads): Use
14585 small_register_class_p instead of SMALL_REGISTER_CLASS_P.
14586
14587 * config/i386/i386.h (CLASS_LIKELY_SPILLED_P): Remove.
14588 * config/i386/i386.c (ix86_class_likely_spilled_p): New.
14589 (TARGET_CLASS_LIKELY_SPILLED_P): Define.
14590
14591 2010-09-02 Richard Guenther <rguenther@suse.de>
14592
14593 PR tree-optimization/44937
14594 PR tree-optimization/45412
14595 * ipa-split.c (split_function): Properly remove PHI nodes.
14596
14597 2010-09-02 Joseph Myers <joseph@codesourcery.com>
14598
14599 * opts.h (struct cl_option): Add warn_message field.
14600 (struct cl_decoded_option): Add warn_message field.
14601 * doc/options.texi (Ignore, Warn): Document.
14602 * opt-functions.awk (needs_state_p): Don't consider aliases or
14603 ignored options to need state saved.
14604 * optc-gen.awk: Handle Warn and Ignore.
14605 * opth-gen.awk: Output OPT_SPECIAL_ignore.
14606 * opts-common.c (decode_cmdline_option): Set warn_message field.
14607 Handle ignored options.
14608 (decode_cmdline_options_to_array, generate_option,
14609 generate_option_input_file): Set warn_message field.
14610 (read_cmdline_option): Generate warnings from warn_message field.
14611 Handle ignored options.
14612 * common.opt (Wunreachable-code, fargument-alias,
14613 fargument-noalias, fargument-noalias-global,
14614 fargument-noalias-anything, fcse-skip-blocks, fforce-addr,
14615 floop-optimize, frerun-loop-opt, fsched2-use-traces, fsee,
14616 fstrength-reduce, ftree-store-ccp, ftree-store-copy-prop,
14617 ftree-salias): Mark Ignore.
14618 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -mcpu,
14619 -mintel-syntax and -mno-intel-syntax here.
14620 * config/i386/i386.opt (mcpu=, mintel-syntax): Define as aliases
14621 using Warn.
14622 * opts.c (common_handle_option): Don't handle options marked as
14623 ignored.
14624 (enable_warning_as_error): Handle ignored options.
14625
14626 2010-09-02 Joseph Myers <joseph@codesourcery.com>
14627
14628 PR driver/44076
14629 * opts.h (struct cl_option): Add alias_arg, neg_alias_arg and
14630 alias_target fields.
14631 * opt-functions.awk (opt_sanitized_name): Don't handle
14632 finline-limit=, Wlarger-than= and ftemplate-depth= specially.
14633 * optc-gen.awk: Generate alias fields.
14634 * opth-gen.awk: Explicitly give values for OPT_* enum constants.
14635 Don't generate such constants for aliases.
14636 * opts-common.c (generate_canonical_option): New.
14637 (decode_cmdline_option): Handle aliases. Use
14638 generate_canonical_option for known options instead of copying the
14639 input option text.
14640 * doc/options.texi (Alias): Document.
14641 * common.opt (W, Wlarger-than-, aux-info=, finline-limit-,
14642 fstack-check, specs): Mark as aliases.
14643 * gcc.c (driver_handle_option): Canonicalize -L options to joined
14644 arguments.
14645 (driver_handle_option): Don't handle OPT_specs.
14646 * opts.c (common_handle_option): Don't handle options marked as
14647 aliases.
14648 (enable_warning_as_error): Handle aliases.
14649 * stor-layout.c (layout_decl): Use OPT_Wlarger_than_ instead of
14650 OPT_Wlarger_than_eq.
14651 * tree-optimize.c (tree_rest_of_compilation): Use
14652 OPT_Wlarger_than_ instead of OPT_Wlarger_than_eq.
14653
14654 2010-09-02 Uros Bizjak <ubizjak@gmail.com>
14655
14656 * config/i386/i386.md (nonmemory_operand): New mode attribute.
14657 (push memory peephole2): Macroize peepholes using SWI mode iterator.
14658 (move immediate to memory peephole2): Macroize peepholes using
14659 SWI124 mode iterator.
14660 (non-pairable NOT peephole2): Macroize peepholes using SWI124
14661 mode iterator.
14662 (simple lea add peephole2): Macroize peepholes using SWI48
14663 mode iterator.
14664 (simple lea mult peephole2): Ditto.
14665 (imul by 3,5,9 to lea peephole2): Ditto.
14666 (mov $-1, reg peephole2): Macroize peepholes using SWI248
14667 mode iterator.
14668 (imul $32bit_imm,mem,reg peephole2): Ditto.
14669 (imul $8/16bit_imm,regmem,reg peephole2): Ditto.
14670
14671 2010-09-02 Ian Bolton <ian.bolton@arm.com>
14672
14673 * tree-ssa-loop-prefetch.c: Fix comment at head of file.
14674
14675 2010-09-02 Olivier Hainque <hainque@adacore.com>
14676
14677 PR middle-end/44763
14678 * ira-color.c (SORTGT): New macro, helper for qsort callbacks.
14679 (allocno_priority_compare_func): Use it instead of a straight
14680 difference computation over priorities.
14681
14682 2010-09-02 Andi Kleen <ak@linux.intel.com>
14683
14684 * opts.c (common_handle_option): Fix OPT_fwhopr/fwhopr_ handling.
14685
14686 2010-09-02 Ira Rosen <irar@il.ibm.com>
14687
14688 * tree-vectorizer.h (get_later_stmt): New function.
14689 (vect_analyze_data_ref_dependences): Add argument.
14690 * tree-vect-loop.c (vect_analyze_loop): Update call to
14691 vect_analyze_data_ref_dependences.
14692 * tree-vect-data-refs.c (vect_drs_dependent_in_basic_block):
14693 New function.
14694 (vect_analyze_data_ref_dependence): Add argument for basic block
14695 dependencies. Check dependencies in basic block vectorization.
14696 (vect_analyze_data_ref_dependences): Add argument and update call to
14697 vect_analyze_data_ref_dependences.
14698 * tree-vect-slp.c (vect_find_last_store_in_slp_instance): New.
14699 (vect_bb_vectorizable_with_dependencies): New.
14700 (vect_slp_analyze_bb): Check dependencies in basic block.
14701 (vect_schedule_slp_instance): Insert stores before the last store in
14702 SLP instance.
14703
14704 2010-09-02 Uros Bizjak <ubizjak@gmail.com>
14705
14706 PR target/45476
14707 * config/i386/freebsd.h (LIBGCC2_HAS_TF_MODE,
14708 LIBGCC2_TF_CEXT, TF_SIZE): New defines.
14709
14710 2010-09-01 Jakub Jelinek <jakub@redhat.com>
14711
14712 PR middle-end/45458
14713 * bb-reorder.c (add_labels_and_missing_jumps): Treat
14714 bbs ending with throwing insns like blocks ending with a call.
14715 (fix_up_fall_thru_edges): Likewise.
14716
14717 2010-09-01 Nathan Froyd <froydnj@codesourcery.com>
14718
14719 * config/m32c/m32c-protos.h (m32c_function_arg): Delete.
14720 (m32c_function_arg_advance): Delete.
14721 * config/m32c/m32c.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
14722 * config/m32c/m32c.c (m32c_function_arg): Make static. Adjust
14723 comments. Take a const_tree and a bool. Declare.
14724 (m32c_function_arg_advance): Likewise.
14725 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
14726
14727 2010-09-01 Uros Bizjak <ubizjak@gmail.com>
14728
14729 PR target/45476
14730 * config/i386/cygming.h (LIBGCC2_HAS_TF_MODE,
14731 LIBGCC2_TF_CEXT, TF_SIZE): Move from ...
14732 * config/i386/mingw32.h: ... here.
14733
14734 2010-09-01 Andi Kleen <ak@linux.intel.com>
14735
14736 PR lto/45475
14737 * lto-streamer-in.c (lto_input_ts_target_option): Add.
14738 (lto_input_tree_pointers): Call lto_input_ts_target_option.
14739 * lto-streamer-out (lto_output_ts_target_option): Add.
14740 (lto_output_tree_pointers): Call lto_output_ts_target_option.
14741
14742 2010-09-01 Kai Tietz <kai.tietz@onevision.com>
14743
14744 PR/target 45452
14745 * config/i386/cygwin.h: Change order of specified import libraries.
14746 * config/i386/mingw32.h: Likewise.
14747 * config/i386/t-cygwin: Likewise.
14748 * config/i386/t-mingw32: Likewise.
14749 * config/i386/t-mingw-w32: Likewise.
14750 * config/i386/t-mingw-w64: Likewise.
14751
14752 2010-09-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14753
14754 * config/arm/neon-schedgen.ml (core): New type.
14755 (allCores): List of supported cores.
14756 (availability_table): Add supported cores.
14757 (collate_bypasses): Accept core as a parameter.
14758 (worst_case_latencies_and_bypasses): Accept core as a parameter.
14759 (emit_insn_reservations): Accept core as a parameter. Use tuneStr
14760 and coreStr to get tune attribute and prefix for functional units.
14761 (emit_bypasses): Accept core name and use it.
14762 (calculate_per_core_availability_table): New.
14763 (filter_core): New.
14764 (calculate_core_availability_table): New.
14765 (main): Use calculate_core_availablity_table.
14766 * config/arm/cortex-a8-neon.md: Update copyright year.
14767 Regenerated from ml file and merged in.
14768 (neon_mrrc, neon_mrc): Rename to cortex_a8_neon_mrrc and
14769 cortex_a8_neon_mrc.
14770
14771 2010-09-01 Ian Bolton <ian.bolton@arm.com>
14772
14773 * Makefile.in (tree-switch-conversion.o): Update dependencies.
14774
14775 2010-09-01 Richard Guenther <rguenther@suse.de>
14776
14777 * alias.c (ao_ref_from_mem): Adjust.
14778 * builtins.c (get_object_alignment): Likewise.
14779 * cfgexpand.c (expand_debug_expr): Likewise.
14780 * gimple.c (get_base_address): Likewise.
14781 * tree-dfa.c (get_ref_base_and_extent): Likewise.
14782 (get_addr_base_and_unit_offset): Likewise. Fix for
14783 both TMR_SYMBOL and TMR_BASE being set.
14784 * tree-eh.c (tree_could_trap_p): Likewise.
14785 * gimplify.c (gimplify_expr): Do not attempt to gimplify
14786 TMR_SYMBOL. Always gimplify TMR_BASE.
14787 * tree-cfg.c (verify_types_in_gimple_reference): Verify
14788 TMR_BASE if there is a TMR_SYMBOL.
14789 * tree-pretty-print.c (dump_generic_node): Adjust.
14790 * tree-ssa-address.c (addr_for_mem_ref): Likewise.
14791 (tree_mem_ref_addr): Likewise.
14792 (create_mem_ref_raw): Likewise.
14793 (move_fixed_address_to_symbol): Likewise.
14794 (create_mem_ref): Likewise.
14795 (dump_mem_address): Likewise.
14796 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Adjust.
14797 Fix for both TMR_SYMBOL and TMR_BASE being set.
14798 (indirect_refs_may_alias_p): Likewise.
14799 * tree-ssa-operands.c (get_tmr_operands): Adjust.
14800 * tree.def (TARGET_MEM_REF): Adjust documentation.
14801
14802 2010-09-01 Uros Bizjak <ubizjak@gmail.com>
14803
14804 * config/i386/i386.h (enum ix86_tune_indices) <X86_TUNE_SINGLE_POP>:
14805 Rename from X86_TUNE_ADD_ESP_4.
14806 <IX86_TUNE_DOUBLE_POP>: Rename from X86_TUNE_ADD_ESP_8.
14807 <IX86_TUNE_SINGLE_PUSH>: Rename from X86_TUNE_SUB_ESP_4.
14808 <IX86_TUNE_DOUBLE_PUSH>: Rename from X86_TUNE_SUB_ESP_8.
14809 (TARGET_SINGLE_POP): Rename from TARGET_ADD_ESP_4.
14810 (TARGET_DOUBLE_POP): Rename from TARGET_ADD_ESP_8.
14811 (TARGET_SINGLE_PUSH): Rename from TARGET_SUB_ESP_4.
14812 (TARGET_DOUBLE_POP): Rename from TARGET_SUB_ESP_8.
14813 * config/i386/i386.c (initial_ix86_tune_features)
14814 <X86_TUNE_SINGLE_POP>: Invert members.
14815 <X86_TUNE_DOUBLE_POP>: Ditto.
14816 <X86_TUNE_SINGLE_PUSH>: Ditto.
14817 <X86_TUNE_DOUBLE_PUSH>: Ditto.
14818 * config/i386/i386.md (*pop<mode>1): Rename from pop<mode>1.
14819 No longer exported.
14820 (push peephole2 patterns): Macroize peepholes using P mode iterator.
14821 Adjust for renamed TARGET_{SINGLE,DOUBLE}_PUSH defines.
14822 (pop peephole2 patterns): Macroize peepholes using P mode iterator.
14823 Adjust for renamed TARGET_{SINGLE,DOUBLE}_POP defines.
14824
14825 2010-09-01 Eric Botcazou <ebotcazou@adacore.com>
14826
14827 * gimplify.c (gimplify_init_constructor): Do not create a temporary for
14828 a volatile LHS if the constructor has only one element.
14829
14830 2010-09-01 Mikael Pettersson <mikpe@it.uu.se>
14831
14832 PR bootstrap/45321
14833 * tree.c (stdarg_p): Make fntype parameter const.
14834 * tree.h (stdarg_p): Likewise.
14835 (function_args_iterator): Remove unused fntype field.
14836 (function_args_iter_init): Do not initialize fntype
14837 field. Make fntype parameter const.
14838
14839 2010-09-01 Richard Guenther <rguenther@suse.de>
14840
14841 * tree-vrp.c (adjust_range_with_scev): Use number of iteration
14842 estimate.
14843 (vrp_visit_phi_node): Delay using SCEV till we balloon the range.
14844 (execute_vrp): Compute number of iteration estimates.
14845 * cfgloop.h (estimate_numbers_of_iterations_loop): Adjust prototype.
14846 * tree-flow.h (estimate_numbers_of_iterations): Likewise.
14847 * tree-data-ref.c (estimated_loop_iterations): Adjust.
14848 * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
14849 Infer loop bounds from undefined behavior based on a new parameter.
14850 (estimate_numbers_of_iterations): Likewise.
14851 (scev_probably_wraps_p): Adjust.
14852 * tree-ssa-loop.c (tree_ssa_loop_bounds): Likewise.
14853
14854 2010-09-01 Nick Clifton <nickc@redhat.com>
14855
14856 * config/stormy16/stormy16.c: Use REG_P, MEM_P and CONST_INT_P
14857 where appropriate.
14858 (xstormy16_legitimate_address_p): Use true and false instead of 1
14859 and 0.
14860 (xstormy16_expand_prologue): Delete unused local variable 'insn'.
14861 (xstormy16_function_arg): Use FIRST_ARGUMENT_REGNUM in place of
14862 magic constant 2.
14863 (xstormy16_expand_call): Fix comment at start of function.
14864
14865 2010-09-01 Nick Clifton <nickc@redhat.com>
14866
14867 * config/rx/rx.c (rx_expand_prologue): Do not adjust frame size
14868 when pushing accumulator register.
14869 (rx_get_stack_layout): Always save call clobbered registers inside
14870 interrupt handlers.
14871 * config/rx/rx-modes.def: Fix descriptive comment at start of file.
14872
14873 2010-09-01 Uros Bizjak <ubizjak@gmail.com>
14874
14875 * config.gcc (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add
14876 i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file.
14877
14878 * libgcc-std.ver (GCC_4.6.0): Define version.
14879
14880 2010-08-31 Eric Botcazou <ebotcazou@adacore.com>
14881
14882 * tree-nested.c (convert_all_function_calls): Iterate until after the
14883 sum of static chains in the nest doesn't change.
14884
14885 2010-08-31 Anatoly Sokolov <aesok@post.ru>
14886
14887 * config/m32c/m32c.c (classes_intersect): Remove.
14888 (m32c_preferred_reload_class, m32c_secondary_reload_class): Use
14889 reg_classes_intersect_p instead of classes_intersect.
14890 (class_can_hold_mode): Change arguments type from enum reg_class to
14891 reg_class_t. Use reg_class_contents instead of class_contents.
14892 (m32c_register_move_cost): Make static. Change arguments type from
14893 enum reg_class to reg_class_t. Use reg_classes_intersect_p instead of
14894 classes_intersect. Use reg_class_contents instead of class_contents.
14895 (m32c_memory_move_cost): Make static. Change arguments type from
14896 enum reg_class to reg_class_t.
14897 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
14898 * config/m32c/m32c.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
14899 * config/m32c/m32c-protos.h (m32c_register_move_cost,
14900 m32c_memory_move_cost): Remove.
14901
14902 2010-08-31 Nathan Froyd <froydnj@codesourcery.com>
14903
14904 * config/arm/arm-protos.h (arm_function_arg_advance): Delete.
14905 (arm_function_arg): Delete.
14906 (arm_needs_doubleword_align): Take a const_tree.
14907 * config/arm/arm.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
14908 * config/arm/arm.c (aapcs_select_call_coproc): Take a const_tree.
14909 (aapcs_layout_arg, arm_needs_doubleword_align): Likewise.
14910 (arm_function_arg): Make static. Take a const_tree and a bool.
14911 (arm_function_arg_advance): Likewise.
14912 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
14913
14914 2010-08-31 Andi Kleen <ak@linux.intel.com>
14915
14916 * common.opt (fwhopr=): Update for -fwhopr=jobserver
14917 * doc/invoke.texi (fwhopr): Document -fwhopr=jobserver.
14918 * lto-wrapper.c (run_gcc): Add jobserver mode.
14919 * opts.c (common_handle_option): Fix OPT_fwhopr for non numeric
14920 argument.
14921
14922 2010-08-31 Uros Bizjak <ubizjak@gmail.com>
14923
14924 * config/i386/i386.md (popdi1): Rewrite using POST_INC memory operand.
14925 (popsi1): Ditto.
14926 (*popdi1_epilogue): Ditto.
14927 (*popsi1_epilogue): Ditto.
14928 (popsi, popdi peephole2 patterns): Update peepholes for changed
14929 pop{si,di}1 and *pop{si,di}1_epilogue patterns.
14930
14931 (pop<mode>1): Macroize insn from pop{si,di}1 using P code iterator.
14932 (*pop<mode>1_epilogue): Ditto from *pop{si,di}1_epilogue.
14933
14934 * config/i386/i386.c (*ix86_gen_pop1): Remove indirect function.
14935 (override_options): Do not initialize removed ix86_gen_pop1.
14936 (gen_pop): New static function.
14937 (ix86_expand_prologue): Use gen_pop instead of ix86_gen_pop1.
14938 (release_scratch_register_on_entry): Ditto.
14939 (ix86_restore_reg_using_pop): Ditto.
14940 (ix86_expand_epilogue): Ditto.
14941
14942 2010-08-31 Jakub Jelinek <jakub@redhat.com>
14943
14944 PR middle-end/45461
14945 * builtins.c (dummy_object): Return a MEM_REF instead of INDIRECT_REF.
14946
14947 2010-08-31 Nathan Froyd <froydnj@codesourcery.com>
14948
14949 * config/fr30/fr30.c (fr30_move_double): Delete `dregno' and extra
14950 semicolons.
14951
14952 2010-08-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
14953
14954 * doc/extend.texi: Fix documentation of the return value of
14955 __builtin_choose_expr.
14956
14957 2010-08-31 Nathan Froyd <froydnj@codesourcery.com>
14958
14959 * config/v850/v850-protos.h (function_arg): Delete.
14960 * config/v850/v850.h (FUNCTION_ARG): Delete.
14961 (FUNCTION_ARG_ADVANCE): Move code to...
14962 * config/v850/v850.c (v850_function_arg_advance): ...here.
14963 (v850_function_arg): Make static. Take a const_tree and a bool.
14964 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
14965
14966 2010-08-31 Nathan Froyd <froydnj@codesourcery.com>
14967
14968 * config/m32r/m32r.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move
14969 these...
14970 (ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P):
14971 ...and these...
14972 * config/m32r/m32r.c (m32r_function_arg, m32r_function_arg_advance):
14973 ..to here..
14974 (ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P):
14975 ...and here.
14976 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
14977
14978 2010-08-31 Nathan Froyd <froydnj@codesourcery.com>
14979
14980 * config/rx/rx-protos.h (rx_function_arg, rx_function_arg_size):
14981 Delete.
14982 * config/rx/rx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
14983 * config/rx/rx.c (rx_function_arg_size): Make static.
14984 (rx_function_arg): Likewise.
14985 (rx_function_arg_advance): New function.
14986 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
14987
14988 2010-08-31 John Tytgat <John.Tytgat@aaug.net>
14989
14990 * config/arm/arm.c (arm_override_options): Remove superfluous test.
14991 Fix indentation.
14992
14993 2010-08-31 Eric Botcazou <ebotcazou@adacore.com>
14994
14995 * dwarf2out.c (gen_decl_die) <CONST_DECL>: Do not skip in Ada.
14996 (dwarf2out_decl) <CONST_DECL>: Likewise.
14997
14998 2010-08-30 Eric Botcazou <ebotcazou@adacore.com>
14999
15000 Stack usage support
15001 * common.opt (-fstack-usage): New option.
15002 * doc/invoke.texi (Debugging options): Document it.
15003 * builtins.c (expand_builtin_apply): Pass TRUE as 4th argument to
15004 allocate_dynamic_stack_space.
15005 (expand_builtin_alloca): Add 4th bool parameter CANNOT_ACCUMULATE
15006 and propagate it to allocate_dynamic_stack_space.
15007 (expand_builtin) <BUILT_IN_ALLOCA>: Adjust for above change.
15008 * calls.c (initialize_argument_information): Pass TRUE as 4th
15009 argument to allocate_dynamic_stack_space.
15010 (expand_call): Set current_function_has_unbounded_dynamic_stack_size
15011 to 1 when pushing a variable-sized argument onto the stack. Pass
15012 TRUE as 4th argument to allocate_dynamic_stack_space.
15013 Update current_function_pushed_stack_size.
15014 (emit_library_call_value_1): Likewise.
15015 * explow.c (allocate_dynamic_stack_space): Add 4th bool parameter
15016 CANNOT_ACCUMULATE. If flag_stack_usage, look into the size and
15017 attempt to find an upper bound. Remove redundant code for the
15018 SETJMP_VIA_SAVE_AREA case.
15019 * expr.h (allocate_dynamic_stack_space): Add 4th bool parameter.
15020 * function.h (struct stack_usage): New structure.
15021 (current_function_static_stack_size): New macro.
15022 (current_function_dynamic_stack_size): Likewise.
15023 (current_function_pushed_stack_size): Likewise.
15024 (current_function_dynamic_alloc_count): Likewise.
15025 (current_function_has_unbounded_dynamic_stack_size): Likewise.
15026 (current_function_allocates_dynamic_stack_space): Likewise.
15027 (struct function): Add new field 'su'.
15028 * function.c (instantiate_virtual_regs): If SETJMP_VIA_SAVE_AREA,
15029 add the value of the dynamic offset to the dynamic stack usage.
15030 (gimplify_parameters): Set ALLOCA_FOR_VAR_P on call to BUILT_IN_ALLOCA
15031 for variable-sized objects.
15032 (prepare_function_start): Allocate cfun->su if flag_stack_usage.
15033 (rest_of_handle_thread_prologue_and_epilogue): Call output_stack_usage.
15034 * gimplify.c (gimplify_decl_expr): Set ALLOCA_FOR_VAR_P on call to
15035 BUILT_IN_ALLOCA for variable-sized objects.
15036 * output.h (output_stack_usage): Declare.
15037 * toplev.c (stack_usage_file): New file pointer.
15038 (output_stack_usage): New function.
15039 (open_auxiliary_file): Likewise.
15040 (lang_dependent_init): Open file if flag_stack_usage is set.
15041 (finalize): Close file if stack_usage_file is not null.
15042 * tree.h (ALLOCA_FOR_VAR_P): New macro.
15043 * config/alpha/alpha.c (compute_frame_size): New function.
15044 (alpha_expand_prologue): Use it.
15045 (alpha_start_function): Likewise.
15046 (alpha_expand_epilogue): Likewise. Set stack usage info.
15047 * config/i386/i386.c (ix86_expand_prologue): Likewise.
15048 * config/ia64/ia64.c (ia64_expand_prologue): Likewise.
15049 * config/mips/mips.c (mips_expand_prologue): Likewise.
15050 * config/pa/pa.c (hppa_expand_prologue): Likewise.
15051 * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
15052 * config/sparc/sparc.c (sparc_expand_prologue): Likewise.
15053
15054 2010-08-30 Zdenek Dvorak <ook@ucw.cz>
15055
15056 PR tree-optimization/45427
15057 * tree-ssa-loop-niter.c (number_of_iterations_ne_max): Rewritten.
15058 Handle the case that the exit is never taken correctly.
15059 (number_of_iterations_ne): Pass exit_must_be_taken to
15060 number_of_iterations_ne_max.
15061
15062 2010-08-30 Catherine Moore <clm@codesourcery.com>
15063
15064 * config/mips/mips.h (BASE_DRIVER_SELF_SPECS):
15065 Infer -mdspr2 for the the 74K.
15066
15067 2010-08-30 Jakub Jelinek <jakub@redhat.com>
15068
15069 PR debug/45419
15070 * tree-ssa-live.c (dump_enumerated_decls): Clear the whole wi variable.
15071
15072 PR middle-end/45423
15073 * gimplify.c (goa_stabilize_expr): Handle TRUTH_NOT_EXPR
15074 and TRUTH_{AND,OR,XOR}_EXPR.
15075 * c-parser.c (c_parser_omp_atomic): Handle boolean
15076 {PRE,POST}_{INC,DEC}REMENT.
15077
15078 2010-08-30 Nathan Froyd <froydnj@codesourcery.com>
15079
15080 * config/xtensa/xtensa-protos.h (function_arg_advance): Delete.
15081 (function_arg): Delete.
15082 * config/xtensa/xtensa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
15083 (FUNCTION_INCOMING_ARG): Delete.
15084 * config/xtensa/xtensa.c (function_arg_advance): Rename to...
15085 (xtensa_function_arg_advance): ...this. Make static. Take a const_tree
15086 and a bool.
15087 (function_arg): Rename to...
15088 (xtensa_function_arg_1): ...this. Make static. Take a const_tree and
15089 a bool.
15090 (xtensa_function_arg, xtensa_function_incoming_arg): Nex functions.
15091 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
15092 (TARGET_FUNCTION_INCOMING_ARG): Define.
15093
15094 2010-08-30 Richard Guenther <rguenther@suse.de>
15095
15096 PR tree-optimization/21602
15097 * builtins.c (fold_builtin_memory_op): Fold memmove to memcpy
15098 using points-to information.
15099
15100 2010-08-30 H.J. Lu <hongjiu.lu@intel.com>
15101
15102 * config/linux.h (TARGET_HAS_SINCOS): Replace | with ||.
15103
15104 2010-08-30 Richard Guenther <rguenther@suse.de>
15105
15106 PR tree-optimization/45449
15107 * tree-ssa-live.c (remove_unused_locals): Also remove address-taken
15108 variables.
15109
15110 2010-08-30 Joseph Myers <joseph@codesourcery.com>
15111
15112 * opts.h (CL_ERR_NEGATIVE): Define.
15113 * opts.c (unknown_option_callback): Don't postpone warnings for
15114 options marked with CL_ERR_NEGATIVE.
15115 * opts-common.c (decode_cmdline_option): Set CL_ERR_NEGATIVE error
15116 for negative versions of CL_REJECT_NEGATIVE options.
15117
15118 2010-08-30 Uros Bizjak <ubizjak@gmail.com>
15119
15120 * config/i386/i386.md (zero_extendsidi2_1): Rename from
15121 zero_extendsidi2_32.
15122 (zero_extend<mode>di2): Macroize insn from zero_extend{qi,hi}di2
15123 using SWI12 mode iterator.
15124 (zero_extendhisi2_and): Merge insn pattern and corresponding spliter
15125 to define_insn_and_split pattern.
15126 (zero_extendqi<mode>2): Macroize expander from zero_extendqi{hi,si}2
15127 using SWI24 mode iterator.
15128 (*zero_extendqi<mode>2_and): Macroize insn from
15129 *zero_extendqi{hi,si}2_and using SWI24 mode iterator.
15130 (*zero_extendqi<mode>2_movzbl_and): Macroize insn from
15131 *zero_extendqihi2_movzbw_and and *zero_extendqisi2_movzbl_and using
15132 SWI24 mode iterator.
15133 (*zero_extendqi<mode>2_movzbl): Ditto from
15134 *zero_extendqi{hi,si}2_movzbl.
15135 (extendsidi2_1): Rename from extendsidi2_32.
15136 (extend<mode>di2): Macroize insn from extend{qi,hi}di2 using
15137 SWI12 mode iterator.
15138
15139 2010-08-29 Eric Botcazou <ebotcazou@adacore.com>
15140
15141 * config/ia64/ia64.h (HARD_REGNO_NREGS): Return 1 for CCImode in
15142 general purpose registers.
15143 (HARD_REGNO_MODE_OK): Accept CCImode in general purpose registers.
15144 * config/ia64/ia64.md (*movcci): Change to named pattern. Deal
15145 with general purpose registers and memory operands. Add associated
15146 CCImode post-reload splitter.
15147 * config/ia64/div.md: Change BImode to CCImode throughout.
15148
15149 2010-08-28 Eric Botcazou <ebotcazou@adacore.com>
15150
15151 * config/ia64/ia64.md (cstorebi4): Fix thinko.
15152
15153 2010-08-28 Hariharan Sandanagobalane <hariharan@picochip.com>
15154
15155 * config/picochip/picochip.c (reorder_var_tracking_notes): This
15156 function was dropping debug insns which caused PR45299.
15157
15158 2010-08-28 Uros Bizjak <ubizjak@gmail.com>
15159
15160 * config/i386/sse.md (extsuffix): New code attribute.
15161 (sse4_1_<code>v8qiv8hi2): Macroize insn from sse4_1_extendv8qiv8hi2
15162 and sse4_1_zero_extendv8qiv8hi2 using any_extend code iterator.
15163 (sse4_1_<code>v4qiv4si2): Ditto from sse4_1_extendv4qiv4si2
15164 and sse4_1_zero_extendv4qiv4si2.
15165 (sse4_1_<code>v2qiv2di2): Ditto from sse4_1_extendv2qiv2di2
15166 and sse4_1_zero_extendv2qiv2di2.
15167 (sse4_1_<code>v4hiv4si2): Ditto from sse4_1_extendv4hiv4si2
15168 and sse4_1_zero_extendv4hiv4si2.
15169 (sse4_1_<code>v2hiv2di2): Ditto from sse4_1_extendv2hiv2di2
15170 and sse4_1_zero_extendv2hiv2di2.
15171 (sse4_1_extendv2siv2di2): Ditto from sse4_1_extendv2siv2di2
15172 and sse4_1_zero_extendv2siv2di2
15173
15174 (<s>mulv8hi3_highpart): Macroize expander from {u,s}mulv8hi3_highpart
15175 using any_extend code iterator.
15176 (*avx_<s>mulv8hi3_highpart): Macroize insn from
15177 *avx_{u,s}mulv8hi3_highpart using any_extend code iterator.
15178 (*<s>mulv8hi3_highpart): Ditto from *{u,s}mulv8hi3_highpart.
15179
15180 * config/i386/i386.c (ix86_expand_sse4_unpack): Update for renamed
15181 gen_sse4_1_sign_extend* functions.
15182 (struct builtin_description bdesc_args): Ditto.
15183
15184 2010-08-27 Xinliang David Li <davidxl@google.com>
15185
15186 PR/45422
15187 * tree-ssa-loop-ivopts.c (iv_ca_get_num_inv_exprs): Remove.
15188 (iv_ca_set_no_cp): Update used inv expr count.
15189 (iv_ca_set_cp): Ditto.
15190 (iv_ca_new): Initialize new member.
15191 (iv_ca_free): Free memory.
15192
15193 2010-08-27 Nathan Froyd <froydnj@codesourcery.com>
15194
15195 * config/sh/sh-protos.h (sh_function_arg): Delete.
15196 (sh_function_arg_advance): Delete.
15197 * config/sh/sh.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
15198 (PASS_IN_REG_P): Eliminate cast.
15199 * config/sh/sh.c (sh_function_arg_advance): Make static. Take a
15200 const_tree and a bool.
15201 (sh_function_arg): Likewise.
15202 (sh_output_mi_thunk): Call sh_function_arg_advance) and
15203 sh_function_arg.
15204 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
15205
15206 2010-08-27 Naveen H.S <naveen.S@kpitcummins.com>
15207 Kaz Kojima <kkojima@gcc.gnu.org>
15208
15209 * config/sh/sh.c (push_regs): Emit movml for interrupt handler
15210 when possible.
15211 (sh_expand_epilogue): Likewise.
15212 * config/sh/sh.md (movml_push_banked): New insn.
15213 (movml_pop_banked): Likewise.
15214
15215 2010-08-28 Bernd Schmidt <bernds@codesourcery.com>
15216
15217 * genautomata.c (gen_regexp_repeat, gen_regexp_allof,
15218 gen_regexp_oneof, gen_regexp_sequence): Use the string found
15219 in vector element 0 rather than the original string when there's
15220 only one element.
15221 (gen_regexp): Remove extra semicolon.
15222
15223 * config/arm/vfp.md (arm_movsi_vfp, thumb2_movsi_vfp, movsf_vfp,
15224 thumb2_movsf_vfp): Set attribute "insn".
15225 * config/arm/arm.md (arm_ashrdi3_1bit, arm_lshrdi3_1bit, not_shiftsi,
15226 not_shiftsi_compare0, not_shiftsi_compare0_scratch, arm_one_cmplsi2,
15227 thumb1_one_cmplsi2, notsi_compare0, notsi_compare0_scratch,
15228 arm_zero_extendsidi2, arm_extendsidi2, thumb1_movdi_insn,
15229 arm_movsi_insn, movhi_insn_arch4, movhi_bytes, arm_movqi_insn,
15230 thumb1_movqi_insn arm32_movhf, thumb1_movhf, arm_movsf_soft_insn,
15231 thumb1_movsf_insn, thumb_movdf_insn, mov_scc, mov_negscc, mov_notscc,
15232 movsicc_insn, movsfcc_soft_insn, and_scc, cond_move, if_move_not,
15233 if_not_move, if_shift_move, if_move_shift, if_shift_shift,
15234 if_not_arith, if_arith_not, cond_move_not): Likewise.
15235
15236 2010-08-23 Michael Meissner <meissner@linux.vnet.ibm.com>
15237
15238 * config/rs6000/rs6000-protos.h (rs6000_address_for_fpconvert):
15239 New declaration.
15240 (rs6000_allocate_stack_temp): Ditto.
15241 (rs6000_expand_convert_si_to_sfdf): Ditto.
15242
15243 * config/rs6000/rs6000.c (rs6000_override_options): Adjust long
15244 line. Update the options set if power6 or power7 server/embedded
15245 type options are used. If we give a warning for no vsx under
15246 -mcpu=power7 -mno-altivec, mark -mvsx as an explicit option.
15247 (rs6000_allocate_stack_temp): New function to allocate a stack
15248 tempoary and adjust the address so it meets either REG+OFFSET or
15249 REG+REG addressing requirements.
15250 (rs6000_address_for_fpconvert): Adjust REG+OFFSET addresses so
15251 that they can be used with the LFIWAX/LFIWZX instrucitons.
15252 (rs6000_expand_convert_si_to_sfdf): New helper funciton for
15253 converting signed/unsigned SImode to either SFmode/DFmode.
15254
15255 * config/rs6000/rs6000.h (TARGET_FCFID): New macros to determine
15256 whether certain instructions can be generated.
15257 (TARGET_FCTIDZ): Ditto.
15258 (TARGET_STFIWX): Ditto.
15259 (TARGET_LFIWAX): Ditto.
15260 (TARGET_LFIWZX): Ditto.
15261 (TARGET_FCFIDS): Ditto.
15262 (TARGET_FCFIDU): Ditto.
15263 (TARGET_FCFIDUS): Ditto.
15264 (TARGET_FCTIDUZ): Ditto.
15265 (TARGET_FCTIWUZ): Ditto.
15266
15267 * config/rs6000/rs6000.md (UNSPEC_FCTIW): New unspec constants.
15268 (UNSPEC_FCTID): Ditto.
15269 (UNSPEC_LFIWAX): Ditto.
15270 (UNSPEC_LFIWZX): Ditto.
15271 (UNSPEC_FCTIWUZ): Ditto.
15272 (rreg): Use correct constraints.
15273 (SI_CONVERT_FP): New mode attribute for floating point conversion
15274 tests.
15275 (E500_CONVERT): Ditto.
15276 (lfiwax): New insns for converting from integer to floating point
15277 utilizing newer instructions. Attempt to optimize conversions
15278 that come from memory so that we don't load the value into a GPR,
15279 spill it to the stack and reload it into a FPR.
15280 (floatsi<mode>2_lfiwax): Ditto.
15281 (floatsi<mode>2_lfiwax_mem): Ditto.
15282 (floatsi<mode>2_lfiwax_mem2): Ditto.
15283 (lfiwzx): Ditto.
15284 (floatunssi<mode>2_lfiwzx): Ditto.
15285 (floatunssi<mode>2_lfiwzx_mem): Ditto.
15286 (floatunssi<mode>2_lfiwzx_mem2): Ditto.
15287 (floatdidf2_mem): Ditto.
15288 (floatunsdidf2_fcfidu): Ditto.
15289 (floatunsdidf2_mem): Ditto.
15290 (floatunsdisf2): Ditto.
15291 (floatunsdisf2_fcfidus): Ditto.
15292 (floatunsdisf2_mem): Ditto.
15293 (floatsidf2): Add support for LFIWAX/LFIWZX/FCFIDS/FCFIDU/FCFIDUS.
15294 Use FCFID on 32-bit hosts that support it.
15295 (floatsidf2_internal): Ditto.
15296 (floatunssisf2): Ditto.
15297 (floatunssidf2): Ditto.
15298 (floatunssidf2_internal): Ditto.
15299 (floatsisf2): Ditto.
15300 (floatdidf2): Ditto.
15301 (floatdidf2_fpr): Ditto.
15302 (floatunsdidf2): Ditto.
15303 (floatdisf2): Ditto.
15304 (floatdisf2_fcfids): Ditto.
15305 (floatdisf2_internal1): Ditto.
15306 (fixuns_truncsfsi2): Delete, merge into common pattern for both
15307 SF/DF. Add power7 support.
15308 (fix_truncsfsi2): Ditto.
15309 (fixuns_truncdfsi2): Ditto.
15310 (fixuns_truncdfdi2): Ditto.
15311 (fix_truncdfsi2): Ditto.
15312 (fix_truncdfsi2_internal): Ditto.
15313 (fix_truncdfsi2_internal_gfxopt): Ditto.
15314 (fix_truncdfsi2_mfpgpr): Ditto.
15315 (fctiwz): Ditto.
15316 (btruncdf2): Ditto.
15317 (btruncdf2_fpr): Ditto.
15318 (btructsf2): Ditto.
15319 (ceildf2): Ditto.
15320 (ceildf2_fpr): Ditto.
15321 (ceilsf2): Ditto.
15322 (floordf2): Ditto.
15323 (floordf2_fpr): Ditto.
15324 (floorsf2): Ditto.
15325 (rounddf2): Ditto.
15326 (rounddf2_fpr): Ditto.
15327 (roundsf2): Ditto.
15328 (fix_trunc<mode>si2): Combine SF/DF conversion into one insn.
15329 (fix_trunc<mode>di2): Ditto.
15330 (fixuns_trunc<mode>si2): Ditto.
15331 (fixuns_trunc<mode>di2): Ditto.
15332 (fctiwz_<mode>): Ditto.
15333 (btrunc<mode>2): Ditto.
15334 (btrunc<mode>2_fpr): Ditto.
15335 (ceil<mode>2): Ditto.
15336 (ceil<mode>2_fpr): Ditto.
15337 (floor<mode>2): Ditto.
15338 (float<mode>2_fpr): Ditto.
15339 (round<mode>2): Ditto.
15340 (round<mode>2_fpr): Ditto.
15341 (fix_trunc<mode>si2_stfiwx): New insn for machines with STFIWX.
15342 (fixuns_trunc<mode>si2_stfiwx): Ditto.
15343 (fix_truncdfsi2_internal): Ditto.
15344 (fix_trunc<mode>si2_mem): Combiner pattern to eliminate storing
15345 converted value on stack, loaded into GPR, and then stored into
15346 the final destination.
15347 (fix_trunc<mode>di2_fctidz): New pattern for targets supporting
15348 FCTIDZ.
15349 (lrint<mode>di2): New insn, provide the lrint builtin functions.
15350 (ftruncdf2): Delete, unused.
15351 (fix_trunctfsi2_internal): Use gen_fctiwz_df, not gen_fctiwz.
15352
15353 * config/rs6000/vsx.md (toplevel): Update copyright year.
15354 (VSr2): Use "ws" contraint for DFmode, not "!r#r".
15355 (VSr3): Ditto.
15356
15357 2010-08-27 Basile Starynkevitch <basile@starynkevitch.net>
15358 Jeremie Salvucci <jeremie.salvucci@free.fr>
15359
15360 * gengtype.c (output_type_enum): Test the right union member.
15361
15362 2010-08-27 Uros Bizjak <ubizjak@gmail.com>
15363
15364 PR target/41484
15365 * config/i386/sse.md (sse4_1_extendv8qiv8hi2): Also accept memory
15366 operands for operand 1.
15367 (sse4_1_extendv4qiv4si2): Ditto.
15368 (sse4_1_extendv2qiv2di2): Ditto.
15369 (sse4_1_extendv4hiv4si2): Ditto.
15370 (sse4_1_extendv2hiv2di2): Ditto.
15371 (sse4_1_extendv2siv2di2): Ditto.
15372 (sse4_1_zero_extendv8qiv8hi2): Ditto.
15373 (sse4_1_zero_extendv4qiv4si2): Ditto.
15374 (sse4_1_zero_extendv2qiv2di2): Ditto.
15375 (sse4_1_zero_extendv4hiv4si2): Ditto.
15376 (sse4_1_zero_extendv2hiv2di2): Ditto.
15377 (sse4_1_zero_extendv2siv2di2): Ditto.
15378 (*sse4_1_extendv8qiv8hi2): Remove insn pattern.
15379 (*sse4_1_extendv4qiv4si2): Ditto.
15380 (*sse4_1_extendv2qiv2di2): Ditto.
15381 (*sse4_1_extendv4hiv4si2): Ditto.
15382 (*sse4_1_extendv2hiv2di2): Ditto.
15383 (*sse4_1_extendv2siv2di2): Ditto.
15384 (*sse4_1_zero_extendv8qiv8hi2): Ditto.
15385 (*sse4_1_zero_extendv4qiv4si2): Ditto.
15386 (*sse4_1_zero_extendv2qiv2di2): Ditto.
15387 (*sse4_1_zero_extendv4hiv4si2): Ditto.
15388 (*sse4_1_zero_extendv2hiv2di2): Ditto.
15389 (*sse4_1_zero_extendv2siv2di2): Ditto.
15390
15391 2010-08-27 Nathan Froyd <froydnj@codesourcery.com>
15392
15393 * config/mips/mips-protos.h (mips_function_arg_advance): Delete
15394 (mips_function_arg): Delete.
15395 (mips_function_arg_boundary): Take a const_tree.
15396 * config/mips/mips.c (mips_function_arg_boundary): Likewise.
15397 (mips_arg_info): Likewise.
15398 (mips_setup_incoming_varargs): Call mips_function_arg_advance
15399 instead of FUNCTION_ARG_ADVANCE.
15400 (mips_function_arg_advance): Adjust prototype. Make static.
15401 (mips_function_arg): Likewise.
15402 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
15403 * config/mips/mips.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.
15404
15405 2010-08-27 Nathan Froyd <froydnj@codesourcery.com>
15406
15407 * config/rs6000/rs6000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
15408 * config/rs6000/rs6000-protos.h (function_arg_advance): Delete.
15409 (function_arg): Delete.
15410 (function_arg_boundary): Take a const_tree.
15411 * config/rs6000/rs6000.c (function_arg_boundary): Likewise.
15412 (rs6000_spe_function_arg): Likewise.
15413 (rs6000_parm_start): Likewise.
15414 (rs6000_arg_size): Likewise.
15415 (rs6000_darwin64_record_arg_advance_recurse): Likewise.
15416 (rs6000_darwin64_record_arg): Likewise. Take a bool instead of an int.
15417 (rs6000_mixed_function_arg): Likewise.
15418 (function_arg): Rename to...
15419 (rs6000_function_arg): ...this.
15420 (function_arg_advance): Rename to...
15421 (rs6000_function_arg_advance_1): ...this
15422 (rs6000_function_arg_advance): New function. Call it.
15423 (setup_incoming_varargs): Call rs6000_function_arg_advance_1.
15424 (rs6000_return_in_memory): Adjust call to rs6000_darwin64_record_arg.
15425 (rs6000_function_value): Likewise.
15426 (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
15427
15428 2010-08-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
15429
15430 * config/arm/arm.md (enabled): Test the value of arch_enabled
15431 rather than just using it.
15432
15433 2010-08-27 Olivier Hainque <hainque@adacore.com>
15434 Eric Botcazou <ebotcazou@adacore.com>
15435
15436 * dse.c (group_info.base_mem, get_group_info): Use BLKmode to
15437 cover all the possible offsets from this base.
15438 (scan_reads_nospill): Pass base_mem's mode to canon_true_dependence.
15439
15440 2010-08-26 Jakub Jelinek <jakub@redhat.com>
15441
15442 PR tree-optimization/44485
15443 * calls.c (flags_from_decl_or_type): For const or pure
15444 noreturn functions return ECF_LOOPING_CONST_OR_PURE|ECF_NORETURN
15445 together with ECF_CONST resp. ECF_PURE.
15446 * builtins.c (expand_builtin): Use flags_from_decl_or_type
15447 instead of querying flags directly.
15448 * tree-ssa-loop-niter.c (finite_loop_p): Likewise.
15449 * tree-ssa-dce.c (find_obviously_necessary_stmts): Likewise.
15450
15451 2010-08-26 Richard Guenther <rguenther@suse.de>
15452
15453 PR tree-optimization/45255
15454 * tree.c (decl_address_invariant_p): DECL_DLLIMPORT_P statics
15455 and externals are also invariant.
15456
15457 2010-08-25 Jakub Jelinek <jakub@redhat.com>
15458
15459 PR rtl-optimization/44858
15460 * combine.c (try_combine): If recog_for_combine added CLOBBERs to
15461 newi2pat, make sure they don't affect newpat.
15462
15463 PR rtl-optimization/45400
15464 * combine.c (simplify_shift_const_1) <case SUBREG>: Only use
15465 SUBREG_REG if both modes are of MODE_INT class.
15466
15467 2010-08-25 Julian Brown <julian@codesourcery.com>
15468
15469 * config/arm/arm.c (arm_issue_rate): Return 2 for Cortex-A5.
15470 * config/arm/arm.md (generic_sched): No for Cortex-A5.
15471 (generic_vfp): Likewise.
15472 (cortex-a5.md): Include.
15473 * config/arm/cortex-a5.md: New.
15474
15475 2010-08-25 Richard Guenther <rguenther@suse.de>
15476
15477 * alias.c (get_alias_set): Assign a single alias-set to all pointers.
15478 * gimple.c (gimple_get_alias_set): Remove special handling
15479 for pointers.
15480
15481 2010-08-25 Bernd Schmidt <bernds@codesourcery.com>
15482
15483 PR middle-end/45355
15484 * combine.c (try_combine): Use reg_overlap_mentioned_p rather than
15485 dead_or_set_p when computing i0_feeds_i2_n.
15486
15487 * combine.c (find_split_point): Undo canonicalization of multiply-add
15488 to (minus x (mult)) when it seems likely that this will increase the
15489 chances of a split.
15490
15491 2010-08-25 Richard Guenther <rguenther@suse.de>
15492
15493 PR lto/44562
15494 * lto-streamer.c (lto_record_common_node): Do not mess with
15495 TYPE_CANONICAL when not in lto.
15496 * gimple.c (gimple_register_type): Likewise.
15497
15498 2010-08-25 Richard Guenther <rguenther@suse.de>
15499
15500 PR tree-optimization/45316
15501 * tree-ssa-pre.c (eliminate): Properly clean EH info.
15502
15503 2010-08-25 Richard Guenther <rguenther@suse.de>
15504
15505 PR tree-optimization/45393
15506 * tree-ssa-math-opts.c (execute_cse_sincos_1): Properly transfer
15507 and clean EH info. Avoid SSA update.
15508 (execute_cse_sincos): Cleanup the CFG if it has changed.
15509
15510 2010-08-25 Richard Guenther <rguenther@suse.de>
15511
15512 PR middle-end/45379
15513 * emit-rtl.c (set_mem_attributes_minus_bitpos): Handle
15514 TARGET_MEM_REF in alignment computation.
15515
15516 2010-08-25 Jakub Jelinek <jakub@redhat.com>
15517
15518 PR tree-optimization/45059
15519 * tree-ssa-reassoc.c (eliminate_redundant_comparison): Strip useless
15520 type conversions from newop{1,2}. Assert t is a comparison and
15521 newop{1,2} after the stripping are gimple vals.
15522
15523 2010-08-25 Tejas Belagod <tejas.belagod@arm.com>
15524
15525 * config/arm/iterators.md (VU, SE, V_widen_l): New.
15526 (V_unpack, US): New.
15527 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Expansion for vmovl.
15528 (vec_unpack<US>_lo_<mode>): Likewise.
15529 (neon_vec_unpack<US>_hi_<mode>): Instruction pattern for vmovl.
15530 (neon_vec_unpack<US>_lo_<mode>): Likewise.
15531 (vec_widen_<US>mult_lo_<mode>): Expansion for vmull.
15532 (vec_widen_<US>mult_hi_<mode>): Likewise.
15533 (neon_vec_<US>mult_lo_<mode>"): Instruction pattern for vmull.
15534 (neon_vec_<US>mult_hi_<mode>"): Likewise.
15535 (neon_unpack<US>_<mode>): Widening move intermediate step for
15536 vectorizing without -mvectorize-with-neon-quad.
15537 (neon_vec_<US>mult_<mode>): Widening multiply intermediate step
15538 for vectorizing without -mvectorize-with-neon-quad.
15539 * config/arm/predicates.md (vect_par_constant_high): Check for
15540 high-half lanes of a vector.
15541 (vect_par_constant_low): Check for low-half lanes of a vector.
15542
15543 2010-08-24 Sebastian Pop <sebastian.pop@amd.com>
15544
15545 * tree-if-conv.c (struct ifc_dr): New.
15546 (IFC_DR): New.
15547 (DR_WRITTEN_AT_LEAST_ONCE): New.
15548 (DR_RW_UNCONDITIONALLY): New.
15549 (memref_read_or_written_unconditionally): Use the cached values
15550 when possible.
15551 (write_memref_written_at_least_once): Same.
15552 (if_convertible_loop_p): Initialize and free DR->aux fields.
15553
15554 2010-08-24 Sebastian Pop <sebastian.pop@amd.com>
15555
15556 * gimple.c (gimple_could_trap_p_1): Not static anymore.
15557 Pass an extra bool parameter include_mem.
15558 (gimple_could_trap_p): Adjust call to gimple_could_trap_p_1.
15559 (gimple_assign_rhs_could_trap_p): Same.
15560 * gimple.h (gimple_could_trap_p_1): Declared.
15561 * tree-data-ref.h (same_data_refs_base_objects): New.
15562 (same_data_refs): New.
15563 * tree-if-conv.c (memrefs_read_or_written_unconditionally): New.
15564 (write_memrefs_written_at_least_once): New.
15565 (ifcvt_memrefs_wont_trap): New.
15566 (operations_could_trap): New.
15567 (ifcvt_could_trap_p): New.
15568 (if_convertible_gimple_assign_stmt_p): Call ifcvt_could_trap_p.
15569 Gets a vector of data refs.
15570 (if_convertible_stmt_p): Same.
15571 (if_convertible_loop_p_1): New.
15572 (if_convertible_loop_p): Call if_convertible_loop_p_1.
15573
15574 2010-08-24 Sebastian Pop <sebastian.pop@amd.com>
15575
15576 * common.opt (ftree-loop-if-convert-stores): New flag.
15577 * doc/invoke.texi (ftree-loop-if-convert-stores): Documented.
15578 * tree-if-conv.c (ifc_temp_var): Pass an extra parameter GSI. Insert
15579 the created statement before GSI.
15580 (if_convertible_phi_p): Allow virtual phi nodes when
15581 flag_loop_if_convert_stores is set.
15582 (if_convertible_gimple_assign_stmt_p): Allow memory reads and writes
15583 Do not handle types that do not match is_gimple_reg_type.
15584 Remove loop and bb parameters. Call gimple_could_trap_p instead of
15585 when flag_loop_if_convert_stores is set, as LHS can contain
15586 memory refs.
15587 (if_convertible_stmt_p): Remove loop and bb parameters. Update calls
15588 to if_convertible_gimple_assign_stmt_p.
15589 (if_convertible_loop_p): Update call to if_convertible_stmt_p.
15590 (replace_phi_with_cond_gimple_assign_stmt): Renamed
15591 predicate_scalar_phi. Do not handle virtual phi nodes.
15592 (ifconvert_phi_nodes): Renamed predicate_all_scalar_phis.
15593 Call predicate_scalar_phi.
15594 (insert_gimplified_predicates): Insert the gimplified predicate of a BB
15595 just after the labels for flag_loop_if_convert_stores, otherwise
15596 insert the predicate in the end of the BB.
15597 (predicate_mem_writes): New.
15598 (combine_blocks): Call predicate_all_scalar_phis. When
15599 flag_loop_if_convert_stores is set, call predicate_mem_writes.
15600 (tree_if_conversion): Call mark_sym_for_renaming when
15601 flag_loop_if_convert_stores is set.
15602 (main_tree_if_conversion): Return TODO_update_ssa_only_virtuals when
15603 flag_loop_if_convert_stores is set.
15604
15605 2010-08-24 Anatoly Sokolov <aesok@post.ru>
15606
15607 * config/pa/pa.c (hppa_register_move_cost, pa_libcall_value,
15608 pa_function_value_regno_p, pa_print_operand_punct_valid_p): New.
15609 (pa_function_value): Make static.
15610 (override_options): Rename to...
15611 (pa_option_override): ...this. Make static.
15612 (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_REGISTER_MOVE_COST,
15613 TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P,
15614 TARGET_OPTION_OVERRIDE): Define.
15615 * config/pa/pa.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P,
15616 LIBCALL_VALUE, REGISTER_MOVE_COST, PRINT_OPERAND_PUNCT_VALID_P):
15617 Remove.
15618 * config/pa/pa-protos.h (override_options): Remove.
15619
15620 2010-08-24 Richard Guenther <rguenther@suse.de>
15621
15622 PR middle-end/45379
15623 * tree-ssa-address.c (create_mem_ref_raw): Drop to MEM_REF
15624 if addr->index is NULL or zero.
15625 * tree-ssa-alias.c (indirect_refs_may_alias_p): Handle
15626 TARGET_MEM_REF more properly.
15627 (indirect_ref_may_alias_decl_p): Likewise.
15628 * emit-rtl.c (set_mem_attributes_minus_bitpos): Keep TARGET_MEM_REFs.
15629 * alias.c (ao_ref_from_mem): Handle TARGET_MEM_REF more properly.
15630
15631 2010-08-23 Anatoly Sokolov <aesok@post.ru>
15632
15633 * config/m32c/m32c.c (m32c_function_value_regno_p): Make static.
15634 (m32c_override_options): Rename to...
15635 (m32c_option_override): ...this. Make static.
15636 (TARGET_FUNCTION_VALUE_REGNO_P, TARGET_OPTION_OVERRIDE): Define.
15637 * config/m32c/m32c.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P):
15638 Remove.
15639 * config/m32c/m32c-protos.h (m32c_override_options,
15640 m32c_function_value_regno_p): Remove.
15641
15642 2010-08-23 Changpeng Fang <changpeng.fang@amd.com>
15643
15644 * tree-ssa-loop-prefetch.c (gather_memory_references_ref) :
15645 Fix a typo in a previous commit.
15646
15647 2010-08-23 Kai Tietz <kai.tietz@onevision.com>
15648
15649 * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost):
15650 Pre-initialize innerloop_iters to one.
15651
15652 2010-08-23 Changpeng Fang <changpeng.fang@amd.com>
15653
15654 * tree-flow.h (may_be_nonaddressable_p): New definition. Make the
15655 existing static function global.
15656
15657 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): This function
15658 is changed to global.
15659
15660 * tree-ssa-loop-prefetch.c (gather_memory_references_ref): Call
15661 may_be_nonaddressable_p on base, and don't collect this reference
15662 if the address of the base could not be taken.
15663
15664 2010-08-23 Michael Meissner <meissner@linux.vnet.ibm.com>
15665
15666 * config/rs6000/rs6000.opt (-mveclibabi=mass): New option to
15667 enable the compiler to autovectorize mathmetical functions for
15668 power7 using the Mathematical Acceleration Subsystem library.
15669
15670 * config/rs6000/rs6000.c (rs6000_veclib_handler): New variable to
15671 handle which vector math library we have.
15672 (rs6000_override_options): Add -mveclibabi=mass support.
15673 (rs6000_builtin_vectorized_libmass): New function to handle auto
15674 vectorizing math functions that are in the MASS library.
15675 (rs6000_builtin_vectorized_function): Call it.
15676
15677 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
15678 -mveclibabi=mass.
15679
15680 2010-08-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15681
15682 PR boehm-gc/34544
15683 * gthr-posix.h (__gthread_active_init): Delete.
15684 (__gthread_active_p): Do activity check here.
15685 Don't include errno.h on hppa-hpux. Update comment.
15686 * gthr-posix95.h (__gthread_active_init): Delete.
15687 (__gthread_active_p): Do activity check here.
15688 Don't include errno.h on hppa-hpux. Update comment.
15689 * config.gcc (hppa[12]*-*-hpux11*): Define extra_parts.
15690 * config/pa/pa64-hpux.h (LIB_SPEC): When -static is specified, only
15691 add -lpthread when -mt or -pthread is specified.
15692 * config/pa/pa-hpux11.h (LIB_SPEC): likewise.
15693 (LINK_GCC_C_SEQUENCE_SPEC): Define.
15694 * config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS): Define.
15695 (stublib.c, pthread_default_stacksize_np-stub.o,
15696 pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o,
15697 $(T)libgcc_stub.a): Add methods.
15698 * config/pa/t-pa64 (LIBGCCSTUB_OBJS): Add pthread stubs.
15699 (stublib.c, pthread_default_stacksize_np-stub.o,
15700 pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o): Add methods.
15701 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
15702 pthread_mutex_unlock): New stubs.
15703
15704 2010-08-22 Joseph Myers <joseph@codesourcery.com>
15705
15706 * Makefile.in (gccspec.o, cppspec.o): Update dependencies.
15707 * common.opt (L, nodefaultlibs, nostdlib, pg, static): New
15708 options.
15709 * config/avr/avr.h (LIBSTDCXX): Remove initial "-l".
15710 * config/freebsd.h (MATH_LIBRARY_PROFILE): Remove initial "-l".
15711 * config/i386/djgpp.h (LIBSTDCXX): Remove initial "-l".
15712 * config/rs6000/aix.h (LIBSTDCXX_STATIC): Remove initial "-l".
15713 * config/s390/tpf.h (MATH_LIBRARY, LIBSTDCXX): Remove initial
15714 "-l".
15715 * cppspec.c: Include opts.h.
15716 (lang_specific_driver): Use cl_decoded_option structures.
15717 * doc/tm.texi.in (MATH_LIBRARY): Update documentation.
15718 * doc/tm.texi: Regenerate.
15719 * gcc.c (translate_options): Translate -d to -foutput-class-dir=.
15720 (driver_handle_option): Allow driver options needing no special
15721 processing.
15722 (process_command): Decode options before call to
15723 lang_specific_driver. Pass decoded options to
15724 lang_specific_driver.
15725 * gcc.h (lang_specific_driver): Update prototype.
15726 * gccspec.c: Include opts.h.
15727 (lang_specific_driver): Use cl_decoded_option structures.
15728 * opts-common.c (option_ok_for_language, generate_option,
15729 generate_option_input_file): New.
15730 (decode_cmdline_option): Use option_ok_for_language.
15731 (decode_cmdline_options_to_array): Use generate_option_input_file.
15732 (handle_generated_option): Use generate_option.
15733 * opts.h (generate_option, generate_option_input_file): Declare.
15734
15735 2010-08-22 Anatoly Sokolov <aesok@post.ru>
15736
15737 * config/mips/mips.c (mips_override_options): Rename to...
15738 (mips_option_override): ...this. Make static.
15739 (TARGET_OPTION_OVERRIDE): Define.
15740 (mips_in_small_data_p): Update comment.
15741 * config/mips/mips.h (OVERRIDE_OPTIONS): Remove.
15742 (FIXED_REGISTERS): Update comment.
15743 * config/mips/mips-protos.h (mips_override_options): Remove.
15744
15745 2010-08-21 Olivier Hainque <hainque@adacore.com>
15746
15747 * config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Define __PPC__.
15748
15749 2010-08-21 Olivier Hainque <hainque@adacore.com>
15750
15751 * config/rs6000/vxworks.h (PREFERRED_STACK_BOUNDARY,
15752 ABI_STACK_BOUNDARY): Ensure STACK_BOUNDARY is honored despite EABI.
15753
15754 2010-08-20 Jan Hubicka <jh@suse.cz>
15755
15756 * tree-pass.h (pass_ipa_cdtor_merge): New function.
15757 * cgraphunit.c (static_ctors, static_dtors): Move to ipa.c; make
15758 heap allocated.
15759 (record_cdtor_fn): Move to ipa.c; do not test for
15760 have_ctors_dtors.
15761 (build_cdtor): Move to ipa.c; add code avoiding construction
15762 when target have ctors/dtors and there is only one ctor/dtor at given
15763 priority.
15764 (compare_ctor, compare_dtor): Move to ipa.c; use DECL_UID to stabilize
15765 sort; reverse order of constructors.
15766 (cgraph_build_cdtor_fns): Move to ipa.c; rename to build_cdtor_fns.
15767 (cgraph_finalize_function): Do not call record_cdtor_fn.
15768 (cgraph_finalize_compilation_unit): Do not call cgraph_build_cdtor_fns.
15769 (cgraph_build_static_cdtor): Move to ipa.c.
15770 * ipa.c: Include target.h and tree-iterator.h.
15771 (cgraph_build_static_cdtor, static_ctors, static_dtors,
15772 record_cdtor_fn, build_cdtor, compare_ctor, compare_dtor,
15773 build_cdtor_fns, ipa_cdtor_merge, gate_ipa_cdtor_merge,
15774 pass_ipa_cdtor_merge): New.
15775 * passes.c (init_optimization_passes): Enqueue pass_ipa_cdtor_merge.
15776 * ipa-prop.c (update_indirect_edges_after_inlining): Avoid out of
15777 bounds access.
15778
15779 2010-08-20 Jan Hubicka <jh@suse.cz>
15780
15781 PR c++/45307
15782 PR c++/17736
15783 * cgraph.h (cgraph_only_called_directly_p,
15784 cgraph_can_remove_if_no_direct_calls_and_refs_p): Handle
15785 static cdtors.
15786 * cgraphunit.c (cgraph_decide_is_function_needed): Static cdtors
15787 are not needed.
15788 (cgraph_finalize_function): Static cdtors are reachable.
15789 (cgraph_mark_functions_to_output): Use cgraph_only_called_directly_p.
15790
15791 2010-08-20 Jan Hubicka <jh@suse.cz>
15792
15793 * lto-cgraph.c (lto_output_edge): Use gimple_has_body_p instead of
15794 flag_wpa.
15795 * lto-streamer-out.c (lto_output): Likewise.
15796 * passes.c (ipa_write_optimization_summaries): Initialize statement
15797 uids.
15798
15799 2010-08-20 Olivier Hainque <hainque@adacore.com>
15800
15801 * tree.h (alias_diag_flags): New enum.
15802 (alias_pair): Add an 'emitted_diags' field.
15803 * varasm.c (finish_aliases_1): Honor and update p->emitted_diags.
15804 (assemble_alias): Initialize emitted_diags of new pairs.
15805
15806 2010-08-20 Eric Botcazou <ebotcazou@adacore.com>
15807
15808 * config/rs6000/aix.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
15809 * config/rs6000/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
15810 * config/rs6000/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
15811 (STACK_CHECK_PROTECT): Define.
15812 * config/rs6000/rs6000.c (rs6000_emit_probe_stack_range): New function.
15813 (output_probe_stack_range): Likewise.
15814 (rs6000_emit_prologue): Invoke rs6000_emit_probe_stack_range if static
15815 builtin stack checking is enabled.
15816 * config/rs6000/rs6000-protos.h (output_probe_stack_range): Declare.
15817 * config/rs6000/rs6000.md (UNSPECV_PROBE_STACK_RANGE): New constant.
15818 (probe_stack_range): New insn.
15819
15820 2010-08-20 H.J. Lu <hongjiu.lu@intel.com>
15821
15822 PR target/45336
15823 * config/i386/emmintrin.h (_mm_extract_epi16): Cast to unsigned
15824 short first.
15825
15826 * config/i386/smmintrin.h (_mm_extract_epi8): Cast to unsigned
15827 char first.
15828
15829 2010-08-20 Jakub Jelinek <jakub@redhat.com>
15830
15831 PR target/45336
15832 * config/i386/sse.md (*sse4_1_pextrb): Add SWI48 mode iterator
15833 to cover zero extension into 64-bit register.
15834 (*sse2_pextrw): Likewise.
15835 (*sse4_1_pextrd_zext): New insn.
15836
15837 2010-08-20 Iain Sandoe <iains@gcc.gnu.org>
15838
15839 revert r163410, partially revert r163267.
15840 * config/rs6000/darwin.h (LIB_SPEC): Remove.
15841 * config/darwin.h (REAL_LIBGCC_SPEC): Link lgcc for all
15842 Darwin versions.
15843
15844 2010-08-20 Jakub Jelinek <jakub@redhat.com>
15845
15846 PR middle-end/44974
15847 * builtins.c (expand_builtin): Don't optimize away
15848 calls to DECL_LOOPING_CONST_OR_PURE_P builtins.
15849
15850 2010-08-20 Uros Bizjak <ubizjak@gmail.com>
15851
15852 * config/i386/i386.md (ashift %rsp splitter): Remove splitter.
15853 (pro_epilogue_adjust_stack_di_2): Use "l" constraint for
15854 alternative 1 of operand 2.
15855
15856 2010-08-20 Jakub Jelinek <jakub@redhat.com>
15857 Paolo Bonzini <bonzini@gnu.org>
15858
15859 * simplify-rtx.c (simplify_unary_operation_1): Optimize
15860 (sign_extend (zero_extend (...)) and
15861 ({sign,zero}_extend (lshiftrt (ashift X (const_int I)) (const_int I))).
15862
15863 2010-08-20 Jakub Jelinek <jakub@redhat.com>
15864
15865 PR rtl-optimization/45353
15866 * sel-sched-ir.c (sel_bb_head): Return NULL even if next_nonnote_insn
15867 after bb_note is a BARRIER.
15868
15869 2010-08-20 Iain Sandoe <iains@gcc.gnu.org>
15870
15871 * config/rs6000/darwin.h (LIB_SPEC): New. Provide saveFP/restFP by
15872 linking libgcc.a.
15873
15874 2010-08-20 Jakub Jelinek <jakub@redhat.com>
15875 Michael Matz <matz@suse.de>
15876
15877 * tree-ssa-address.c (tree_mem_ref_addr): Convert offset to sizetype.
15878
15879 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
15880
15881 * ggc-common.c (ggc_mark_root_tab): New function, split out from...
15882 (ggc_mark_roots): ...here.
15883
15884 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
15885
15886 * vec.h (FOR_EACH_VEC_ELT): Define.
15887 * c-decl.c: Use it.
15888 * cfgloop.c: Likewise.
15889 * cfgloopmanip.c: Likewise.
15890 * cgraph.c: Likewise.
15891 * cgraphunit.c: Likewise.
15892 * combine.c: Likewise.
15893 * config/bfin/bfin.c: Likewise.
15894 * config/mips/mips.c: Likewise.
15895 * config/rs6000/rs6000.c: Likewise.
15896 * dbxout.c: Likewise.
15897 * df-scan.c: Likewise.
15898 * dominance.c: Likewise.
15899 * dse.c: Likewise.
15900 * dwarf2out.c: Likewise.
15901 * except.c: Likewise.
15902 * expr.c: Likewise.
15903 * function.c: Likewise.
15904 * gcse.c: Likewise.
15905 * genattr.c: Likewise.
15906 * ggc-common.c: Likewise.
15907 * gimplify.c: Likewise.
15908 * graphite-blocking.c: Likewise.
15909 * graphite-clast-to-gimple.c: Likewise.
15910 * graphite-dependences.c: Likewise.
15911 * graphite-interchange.c: Likewise.
15912 * graphite-poly.c: Likewise.
15913 * graphite-scop-detection.c: Likewise.
15914 * graphite-sese-to-poly.c: Likewise.
15915 * graphite.c: Likewise.
15916 * haifa-sched.c: Likewise.
15917 * ifcvt.c: Likewise.
15918 * implicit-zee.c: Likewise.
15919 * ipa-prop.c: Likewise.
15920 * ipa-struct-reorg.c: Likewise.
15921 * ipa.c: Likewise.
15922 * ira-build.c: Likewise.
15923 * ira-color.c: Likewise.
15924 * ira-emit.c: Likewise.
15925 * lambda-code.c: Likewise.
15926 * loop-invariant.c: Likewise.
15927 * loop-unroll.c: Likewise.
15928 * lower-subreg.c: Likewise.
15929 * lto-cgraph.c: Likewise.
15930 * lto-opts.c: Likewise.
15931 * lto-streamer-in.c: Likewise.
15932 * lto-streamer-out.c: Likewise.
15933 * lto-streamer.c: Likewise.
15934 * lto-symtab.c: Likewise.
15935 * matrix-reorg.c: Likewise.
15936 * opts.c: Likewise.
15937 * predict.c: Likewise.
15938 * print-tree.c: Likewise.
15939 * sdbout.c: Likewise.
15940 * sel-sched-dump.c: Likewise.
15941 * sel-sched-ir.c: Likewise.
15942 * sel-sched.c: Likewise.
15943 * sese.c: Likewise.
15944 * stor-layout.c: Likewise.
15945 * tree-cfg.c: Likewise.
15946 * tree-cfgcleanup.c: Likewise.
15947 * tree-chrec.c: Likewise.
15948 * tree-data-ref.c: Likewise.
15949 * tree-emutls.c: Likewise.
15950 * tree-inline.c: Likewise.
15951 * tree-into-ssa.c: Likewise.
15952 * tree-loop-distribution.c: Likewise.
15953 * tree-loop-linear.c: Likewise.
15954 * tree-mudflap.c: Likewise.
15955 * tree-outof-ssa.c: Likewise.
15956 * tree-parloops.c: Likewise.
15957 * tree-predcom.c: Likewise.
15958 * tree-pretty-print.c: Likewise.
15959 * tree-scalar-evolution.c: Likewise.
15960 * tree-ssa-live.c: Likewise.
15961 * tree-ssa-loop-im.c: Likewise.
15962 * tree-ssa-loop-ivcanon.c: Likewise.
15963 * tree-ssa-loop-ivopts.c: Likewise.
15964 * tree-ssa-loop-manip.c: Likewise.
15965 * tree-ssa-loop-niter.c: Likewise.
15966 * tree-ssa-loop-prefetch.c: Likewise.
15967 * tree-ssa-phiprop.c: Likewise.
15968 * tree-ssa-pre.c: Likewise.
15969 * tree-ssa-reassoc.c: Likewise.
15970 * tree-ssa-sccvn.c: Likewise.
15971 * tree-ssa-structalias.c: Likewise.
15972 * tree-ssa.c: Likewise.
15973 * tree-vect-data-refs.c: Likewise.
15974 * tree-vect-loop-manip.c: Likewise.
15975 * tree-vect-loop.c: Likewise.
15976 * tree-vect-patterns.c: Likewise.
15977 * tree-vect-slp.c: Likewise.
15978 * tree-vect-stmts.c: Likewise.
15979 * tree-vrp.c: Likewise.
15980 * tree.c: Likewise.
15981 * value-prof.c: Likewise.
15982 * var-tracking.c: Likewise.
15983 * varasm.c: Likewise.
15984 * vmsdbgout.c: Likewise.
15985
15986 2010-08-19 Nathan Sidwell <nathan@codesourcery.com>
15987 Richard Guenther <richard.guenther@gmail.com>
15988
15989 * gimplify.c (gimplify_modify_expr): When assigning to volatiles,
15990 copy the src value and return a copy.
15991 * doc/extend.texi (Volatiles): Move from C++ to C and expand.
15992 (C++ Volatiles): Adjust to describe C++ semantics only.
15993
15994 2010-08-20 Joseph Myers <joseph@codesourcery.com>
15995
15996 * doc/tm.texi.in (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Document to
15997 be zero or nonzero.
15998 * doc/tm.texi: Regenerate.
15999 * defaults.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define.
16000 * df-scan.c (df_get_exit_block_use_set), reginfo.c
16001 (init_reg_sets_1), rtlanal.c (rtx_unstable_p, rtx_varies_p):
16002 Handle new PIC_OFFSET_TABLE_REG_CALL_CLOBBERED semantics.
16003 * config/ia64/ia64.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define
16004 to 1.
16005
16006 2010-08-20 Olivier Hainque <hainque@adacore.com>
16007
16008 * config/sparc/sparc.c (sparc_asm_function_epilogue): Don't output
16009 an extra nop past a sibling call at the very end.
16010
16011 2010-08-19 Bernd Schmidt <bernds@codesourcery.com>
16012
16013 PR bootstrap/45350
16014 * combine.c (try_combine): Initialize i1_is_used and i2_is_used. Fix
16015 a comment.
16016
16017 2010-08-19 Nathan Froyd <froydnj@codesourcery.com>
16018
16019 * target.def (function_arg, function_incoming_arg): Remove const
16020 qualifier on CUMULATIVE_ARGS parameter.
16021 * targhooks.h (default_function_arg, default_function_incoming_arg):
16022 Likewise.
16023 * targhooks.c (default_function_arg, default_function_incoming_arg):
16024 Likewise.
16025 * config/i386/i386.c (ix86_function_arg): Likewise.
16026
16027 2010-08-19 Jakub Jelinek <jakub@redhat.com>
16028
16029 PR target/45336
16030 * simplify-rtx.c (simplify_unary_operation_1): Optimize nested
16031 SIGN_EXTENDs or ZERO_EXTENDs.
16032
16033 2010-08-19 Bernd Schmidt <bernds@codesourcery.com>
16034
16035 PR target/42172
16036 * combine.c (combine_validate_cost): New arg I0. All callers changed.
16037 Take its cost into account if nonnull.
16038 (insn_a_feeds_b): New static function.
16039 (combine_instructions): Look for four-insn combinations.
16040 (can_combine_p): New args PRED2, SUCC2. All callers changed. Take
16041 them into account when computing all_adjacent and looking for other
16042 uses.
16043 (combinable_i3pat): New args I0DEST, I0_NOT_IN_SRC. All callers
16044 changed. Treat them like I1DEST and I1_NOT_IN_SRC.
16045 (try_combine): New arg I0. Handle four-insn combinations.
16046 (distribute_notes): New arg ELIM_I0. All callers changed. Treat it
16047 like ELIM_I1.
16048
16049 2010-08-19 Jason Merrill <jason@redhat.com>
16050
16051 PR c++/45307
16052 * gimplify.c (gimplify_init_constructor): Just return GS_UNHANDLED
16053 if ctor is empty.
16054 (gimplify_modify_expr_rhs): Adjust.
16055
16056 2010-08-19 Nathan Froyd <froydnj@codesourcery.com>
16057
16058 * cfgloop.c (get_loop_body_in_bfs_order): Avoid redundant call to
16059 bitmap_bit_p.
16060 * config/bfin/bifn.c (bfin_discover_loop): Likewise.
16061 * dominance.c (iterate_fix_dominators): Likewise.
16062 * dse.c (set_usage_bits): Likewise.
16063 (set_position_unneeded, record_store): Likewise.
16064 * gimple-fold.c (get_maxval_strlen): Likewise.
16065 * haifa-sched.c (fix_inter_tick, fix_recovery_deps): Likewise.
16066 * ipa-inline.c (update_caller_keys): Likewise.
16067 * ipa-split.c (verify_non_ssa_vars): Likewise.
16068 * ipa-type-escape.c (mark_type, close_type_seen): Likewise.
16069 (close_type_exposed_parameter, close_type_full_escape): Likewise.
16070 (close_addressof_down): Likewise.
16071 * ira-color.c (assign_hard_reg, push_allocno_to_stack): Likewise.
16072 (setup_allocno_left_conflicts_size): Likewise.
16073 (ira_reassign_conflict_allocnos): Likewise.
16074 (ira_reassign_pseudos): Likewise.
16075 * ira-emit.c (change_loop): Likewise.
16076 * loop-invariant.c (mark_regno_live, mark_regno_death): Likewise.
16077 * lto-streamer-out.c (write_symbol): Likewise.
16078 * predict.c (expr_expected_value_1): Likewise.
16079 * regstat.c (regstat_bb_compute_ri): Likewise.
16080 * sel-sched.c (create_block_for_bookkeeping): Likewise.
16081 (track_scheduled_insns_and_blocks, sel_sched_region_1): Likewise.
16082 * stmt.c (expand_case): Likewise.
16083 * tree-eh.c (emit_eh_dispatch): Likewise.
16084 * tree-into-ssa.c (prune_unused_phi_nodes): Likewise.
16085 * tree-loop-distribution.c (make_nodes_having_upstream_mem_writes):
16086 Likewise.
16087 (rdg_flag_vertex, rdg_flag_loop_exits): Likewise.
16088 (rdg_build_components): Likewise.
16089 * tree-object-size.c (collect_object_sizes_for): Likewise.
16090 * tree-sra.c (convert_callers): Likewise.
16091 * tree-ssa-coalesce.c (live_track_add_partition): Likewise.
16092 * tree-ssa-live.c (mark_all_vars_used_1): Likewise.
16093 * tree-ssa-pre.c (bitmap_set_replace_value): Likewise.
16094
16095 2010-08-19 Uros Bizjak <ubizjak@gmail.com>
16096
16097 * config/i386/i386.md (*lea_1): Use P mode iterator.
16098 (lea add splitter): Also handle DImode operands.
16099 (DImode lea add splitter): Use x86_64_immediate_operand for operand 2
16100 predicate. Do not use ix86_lea_for_add_ok.
16101 (zext DImode lea add splitter): Use ix86_lea_for_add_ok.
16102 (lea ashift splitter): Also handle DImode operands.
16103 (DImode lea ashift splitter): Remove splitter.
16104
16105 2010-08-19 Uros Bizjak <ubizjak@gmail.com>
16106
16107 * config/i386/i386.md (*add<SWI:mode>3_cconly_overflow): Do not use
16108 ix86_binary_operator_ok.
16109
16110 2010-08-19 Andrey Belevantsev <abel@ispras.ru>
16111
16112 PR rtl-optimization/44691
16113 * sel-sched.c (count_occurrences_1): Also punt when SUBREG_REG
16114 is not a register.
16115
16116 2010-08-19 Ian Bolton <ian.bolton@arm.com>
16117
16118 PR target/45070
16119 * config/arm/arm.c (arm_output_epilogue): Ensure that return
16120 value of size 1-3 is handled correctly.
16121
16122 2010-08-19 Ian Bolton <ian.bolton@arm.com>
16123
16124 * tree-switch-conversion.c (gen_inbound_check): Ensure that the
16125 type for the conditional has wide enough range.
16126
16127 2010-08-18 Uros Bizjak <ubizjak@gmail.com>
16128
16129 PR target/45327
16130 * config/i386/i386.md (<any_or:code><SWI:mode>_3): Do not use
16131 ix86_binary_operator_ok.
16132
16133 2010-08-18 Uros Bizjak <ubizjak@gmail.com>
16134
16135 * config/i386/i386.md (*add<mode>_1) <TYPE_LEA>: Split insn to lea.
16136 <default>: Swap operands 1 and 2 for alternative 2 to use existing
16137 code to output insn mnemonic. Fix comment.
16138 (*addsi_1_zext): Add r-r-0 alternative 1.
16139 <TYPE_LEA>: Split insn to lea.
16140 <default>: Handle alternative 1.
16141 (*addhi_1_lea): Add r-r-0 alternative 2. Use cond RTX instead of
16142 multi-level if_then_else RTX to set "type" attribute.
16143 <default>: Handle alternative 2.
16144 (*addqi_1_lea): Add q-q-0 alternative 2 and r-r-0 alternative 4.
16145 Use cond RTX instead of multi-level if_then_else RTX to set
16146 "type" attribute.
16147 <default>: Handle alternatives 2 and 4.
16148 (lea splitters): Update calls to ix86_lea_for_add_ok.
16149
16150 * config/i386/i386.c (ix86_lea_for_add_ok): Remove unused "code"
16151 argument.
16152 * config/i386/i386-protos.h (ix86_lea_for_add_ok): Update prototype.
16153
16154 2010-08-18 Richard Guenther <rguenther@suse.de>
16155
16156 * tree-ssa-uninit.c (find_uninit_use): Disregard debug stmts,
16157 use operand helpers.
16158
16159 2010-08-18 Paolo Bonzini <bonzini@gnu.org>
16160
16161 PR middle-end/45292
16162 * optabs.c (expand_bool_compare_and_swap): Expand pending
16163 pops before trying the optab.
16164
16165 2010-08-18 Yao Qi <yao@codesourcery.com>
16166
16167 PR target/45094
16168 * config/arm/arm.c (output_move_double): Fix typo generating
16169 instructions ('ldr'->'str').
16170
16171 2010-08-18 Maxim Kuvyrkov <maxim@codesourcery.com>
16172
16173 PR rtl-optimization/42575
16174 * optabs.c (expand_doubleword_mult): Generate new pseudos to shorten
16175 live ranges.
16176
16177 2010-08-18 Marcus Shawcroft <marcus.shawcroft@arm.com>
16178
16179 * config/arm/arm-protos.h (arm_expand_sync): New.
16180 (arm_output_memory_barrier, arm_output_sync_insn): New.
16181 (arm_sync_loop_insns): New.
16182 * config/arm/arm.c (FL_ARCH7): New.
16183 (FL_FOR_ARCH7): Include FL_ARCH7.
16184 (arm_arch7): New.
16185 (arm_print_operand): Support %C markup.
16186 (arm_legitimize_sync_memory): New.
16187 (arm_emit, arm_insn_count, arm_count, arm_output_asm_insn): New.
16188 (arm_process_output_memory_barrier, arm_output_memory_barrier): New.
16189 (arm_ldrex_suffix, arm_output_ldrex, arm_output_strex): New.
16190 (arm_output_op2, arm_output_op3, arm_output_sync_loop): New.
16191 (arm_get_sync_operand, FETCH_SYNC_OPERAND): New.
16192 (arm_process_output_sync_insn, arm_output_sync_insn): New.
16193 (arm_sync_loop_insns,arm_call_generator, arm_expand_sync): New.
16194 * config/arm/arm.h (struct arm_sync_generator): New.
16195 (TARGET_HAVE_DMB, TARGET_HAVE_DMB_MCR): New.
16196 (TARGET_HAVE_MEMORY_BARRIER): New.
16197 (TARGET_HAVE_LDREX, TARGET_HAVE_LDREXBHD): New.
16198 * config/arm/arm.md: Include sync.md.
16199 (UNSPEC_MEMORY_BARRIER): New.
16200 (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK): New.
16201 (VUNSPEC_SYNC_OP):New.
16202 (VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): New.
16203 (sync_result, sync_memory, sync_required_value): New attributes.
16204 (sync_new_value, sync_t1, sync_t2): Likewise.
16205 (sync_release_barrier, sync_op): Likewise.
16206 (length): Add logic to length attribute defintion to call
16207 arm_sync_loop_insns when appropriate.
16208 * config/arm/sync.md: New file.
16209
16210 2010-08-17 Jakub Jelinek <jakub@redhat.com>
16211
16212 * tree.h (host_integerp): Add ATTRIBUTE_PURE when not
16213 ENABLE_TREE_CHECKING.
16214 (tree_low_cst): Add inline version for !ENABLE_TREE_CHECKING
16215 and GCC >= 4.3.
16216
16217 2010-08-17 H.J. Lu <hongjiu.lu@intel.com>
16218
16219 * config/i386/i386.c (ix86_lea_for_add_ok): For !TARGET_OPT_AGU
16220 or optimizing for size, always avoid lea if possible.
16221
16222 * config/i386/i386.md (*add<mode>_1): Always avoid lea if possible.
16223
16224 2010-08-17 Iain Sandoe <iains@gcc.gnu.org>
16225
16226 * unwind-dw2-fde-darwin.c (_darwin10_Unwind_FindEnclosingFunction):
16227 Dunmmy function with NULL return unless the target is
16228 OSX >= 10.6 (Darwin10).
16229
16230 2010-08-17 Jack Howarth <howarth@bromo.med.uc.edu>
16231
16232 * gcc.c (spec_function): Add remove-outfile.
16233 (remove_outfile_spec_function): New function.
16234 * config/darwin.h (LINK_SPEC): Add removal of -ldl, -lm and -lpthread.
16235 * invoke.texi (replace-outfile): Document.
16236
16237 2010-08-17 Uros Bizjak <ubizjak@gmail.com>
16238
16239 PR target/45296
16240 * reginfo.c (globalize_reg): Reject stack registers.
16241
16242 2010-08-17 Richard Guenther <rguenther@suse.de>
16243
16244 * tree-ssa-dom.c (struct edge_info): Use a VEC for the
16245 list of conditional equivalences.
16246 (free_all_edge_infos): Adjust.
16247 (record_equivalences_from_incoming_edge): Likewise.
16248 (record_cond): Likewise.
16249 (build_and_record_new_cond): Likewise.
16250 (record_conditions): Likewise.
16251 (dom_opt_leave_block): Likewise.
16252
16253 2010-08-17 Kai Tietz <kai.tietz@onevision.com>
16254
16255 * doc/invoke.texi (ms-extension): Add documentation.
16256
16257 2010-08-17 Richard Guenther <rguenther@suse.de>
16258
16259 * fold-const.c (fold_comparison): Strip nops inside POINTER_PLUS_EXPR.
16260
16261 2010-08-17 Shujing Zhao <pearly.zhao@oracle.com>
16262
16263 PR c/40563
16264 * c-decl.c (diagnose_uninitialized_cst_member): New function.
16265 (finish_decl): Use it to issue a -Wc++-compat warning about
16266 uninitialized const field in struct or union.
16267
16268 (finish_struct): Use strip_array_types.
16269
16270 2010-08-17 Jakub Jelinek <jakub@redhat.com>
16271
16272 * function.c (block_fragments_nreverse, blocks_nreverse_all): New
16273 functions.
16274 (reorder_blocks): Use blocks_nreverse_all instead of blocks_nreverse.
16275 (reorder_blocks_1): Assert BLOCK_FRAGMENT_ORIGIN is NULL. Don't
16276 call block_nreverse here.
16277 (blocks_nreverse): Rename decl temporary to block.
16278
16279 2010-08-16 Bernd Schmidt <bernds@codesourcery.com>
16280
16281 * config/arm/thumb2.md (thumb2_notsi_shiftsi,
16282 thumbsi_notsi_shiftsi_compare0, thumb2_not_shiftsi_compare0_scratch,
16283 thumb2_cmpsi_shiftsi, thumb2_cmpsi_shiftsi_swp, thumb2_arith_shiftsi,
16284 thumb2_arith_shiftsi splitter, thumb2_arith_shiftsi_compare0,
16285 thumb2_arith_shiftsi_compare0_scratch, thumb2_sub_shiftsi,
16286 thumb2_sub_shiftsi_compare0, thumb2_sub_shiftsi_compare0_scratch,
16287 thumb2_iorsi3): Delete.
16288 (orsi_notsi_si): No longer a named pattern.
16289 (orsi_not_shiftsi_si): Renamed from thumb_orsi_not_shiftsi_si.
16290 * config/arm/predicates.md (shift_amount_operand): New.
16291 (mult_operator): New.
16292 * config/arm/arm.md (attr arch, attr arch_enabled, attr insn_enabled,
16293 attr enabled): New.
16294 (iorsi3_insn): Renamed from arm_iorsi3. Handle a new alternative if
16295 arch matches t2.
16296 (not_shiftsi): Renamed from arm_notsi_shiftsi. Handle Thumb2 variant.
16297 (not_shiftsi_compare0): Likewise, renamed from
16298 arm_notsi_shiftsi_compare0.
16299 (not_shiftsi_compare0_scratch): Likweise, renamed from
16300 arm_notsi_shiftsi_compare0_scratch.
16301 (cmpsi_shiftsi): Likewise, renamed from arm_cmpsi_shiftsi.
16302 (cmpsi_shiftsi_swp): Likewise, renamed from arm_cmpsi_shiftsi_swp.
16303 (arith_shiftsi): Handle Thumb2 variant. Set insn_enabled attribute
16304 so that the register alternative is disabled when the shift_operator
16305 is MULT. Use "M" as the constraint for constants.
16306 (arith_shiftsi splitter): Enable for TARGET_32BIT.
16307 (arith_shiftsi_compare0): Handle Thumb2 variant. Use "M" as the
16308 constraint for constants.
16309 (arith_shiftsi_compare0_scratch): Likewise.
16310 (sub_shiftsi, sub_shiftsi_compare0, sub_shiftsi_compare0_scratch):
16311 Handle Thumb2 alternative.
16312
16313 2010-08-16 Joseph Myers <joseph@codesourcery.com>
16314
16315 * doc/options.texi (NoDriverArg): Document.
16316 * gcc.c (cpp_unique_options): Generate -MD and -MMD instead of
16317 -MDX and -MMDX.
16318 * opt-functions.awk (switch_flags): Handle NoDriverArg.
16319 * opts-common.c (decode_cmdline_option): Ignore CL_SEPARATE
16320 marking for CL_NO_DRIVER_ARG options when in the driver.
16321 * opts.h (CL_NO_DRIVER_ARG): Define.
16322 (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
16323 CL_COMMON): Update values.
16324
16325 2010-08-16 Joseph Myers <joseph@codesourcery.com>
16326
16327 * common.opt: Add driver options.
16328 (auxbase, auxbase-strip, quiet, version): Mark RejectDriver.
16329 * doc/options.texi (Driver, RejectDriver): Document.
16330 * gcc.c (pass_exit_codes, print_search_dirs, print_file_name,
16331 print_prog_name, print_multi_directory, print_sysroot,
16332 print_multi_os_directory, print_multi_lib,
16333 print_sysroot_headers_suffix, report_times, combine_flag,
16334 use_pipes, wrapper_string): Remove.
16335 (save_switch, driver_unknown_option_callback,
16336 driver_wrong_lang_callback, driver_post_handling_callback,
16337 driver_handle_option): New.
16338 (spec_lang, last_language_n_infiles): Make file-scope static
16339 instead of local to process_command.
16340 (process_command): Use decode_cmdline_options_to_array and
16341 read_cmdline_option for option processing. Compute have_c in
16342 prescan of decoded options.
16343 * opt-functions.awk (switch_flags): Handle Driver and
16344 RejectDriver.
16345 (var_type, var_type_struct): Handle Separate options as generating
16346 const char * variables.
16347 * opts-common.c (decode_cmdline_option): Expect CL_COMMON and
16348 CL_TARGET to be passed by caller if required.
16349 (decode_cmdline_options_to_array): Update comment.
16350 * opts.c (complain_wrong_lang): Handle options only valid for the
16351 driver.
16352 (decode_options): Update call to decode_cmdline_options_to_array.
16353 (print_filtered_help): Ignore driver-only options.
16354 (print_specific_help): Ignore CL_DRIVER.
16355 (common_handle_option): Don't call print_specific_help for CL_DRIVER.
16356 * opts.h (CL_DRIVER, CL_REJECT_DRIVER): Define.
16357 (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_TARGET, CL_COMMON):
16358 Update values.
16359
16360 2010-08-16 Richard Guenther <rguenther@suse.de>
16361
16362 * tree-cfg.c (verify_types_in_gimple_reference): Verify
16363 TARGET_MEM_REF a bit.
16364 * tree-ssa-address.c (addr_for_mem_ref): Adjust.
16365 (create_mem_ref_raw): Always create TMR_OFFSET, store the
16366 alias pointer type via it.
16367 (copy_mem_ref_info): Adjust.
16368 (maybe_fold_tmr): Likewise.
16369 * tree.c (mem_ref_offset): Also handle TARGET_MEM_REF.
16370 (reference_alias_ptr_type): Likewise.
16371 * tree.def (TARGET_MEM_REF): Remove TMR_ORIGINAL operand,
16372 adjust documentation of TMR_OFFSET operand.
16373 * alias.c (get_alias_set): Do not look at TMR_ORIGINAL but
16374 use the alias pointer type.
16375 * expr.c (expand_expr_real_1): Do not use TMR_ORIGINAL to
16376 initialize mem attrs but the TMR itself.
16377 * tree-eh.c (tree_could_trap_p): Handle TARGET_MEM_REF
16378 similar to MEM_REF.
16379 * tree-pretty-print.c (dump_generic_node): Do not dump TMR_ORIGINAL.
16380 * tree-ssa-loop-ivopts.c (idx_remove_ssa_names): Remove.
16381 (unshare_and_remove_ssa_names): Likewise.
16382 (copy_ref_info): Adjust.
16383 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Simplify
16384 TARGET_MEM_REF case.
16385 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Do not look
16386 at TMR_ORIGINAL.
16387 * tree.h (TMR_ORIGINAL): Remove.
16388 * gimple.c (get_base_address): For TARGET_MEM_REF with a
16389 symbol return that.
16390 * tree-dfa.c (get_ref_base_and_extent): Handle TARGET_MEM_REF
16391 with a symbol.
16392 (get_addr_base_and_unit_offset): Likewise.
16393 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Handle
16394 TARGET_MEM_REFs.
16395 (indirect_ref_may_alias_decl_p): Likewise.
16396 (refs_may_alias_p_1): Do not bail out for TARGET_MEM_REFs.
16397
16398 2010-08-15 Uros Bizjak <ubizjak@gmail.com>
16399
16400 * doc/invoke.texi (-fomit-frame-pointer): Document that starting
16401 with GCC version 4.6, the default setting (when not optimizing
16402 for size) for 32-bit Linux x86 and 32-bit Darwin x86 targets has
16403 been changed to -fomit-frame-pointer.
16404
16405 2010-08-15 Iain Sandoe <iains@gcc.gnu.org>
16406
16407 * config/darwin.h (REAL_LIBGCC_SPEC): Remove libgcc_s.10.5 stub for
16408 Darwin10. Do not link libgcc.a for Darwin >= 9.
16409
16410 2010-08-15 Gerald Pfeifer <gerald@pfeifer.com>
16411
16412 * doc/invoke.texi (Warning Options): Fix terminology and markup
16413 in the description of how unknown warning options are handled.
16414
16415 2010-08-15 Ira Rosen <irar@il.ibm.com>
16416
16417 * tree-vect-data-refs.c (vect_setup_realignment): Support realignment
16418 in basic blocks.
16419 (vect_supportable_dr_alignment): Check alignment for basic blocks.
16420 * tree-vect-slp.c (vect_build_slp_tree): Allow different codes for
16421 data references.
16422 (vect_bb_vectorization_profitable_p): New function.
16423 (vect_slp_analyze_bb): Call vect_bb_vectorization_profitable_p() to
16424 check if it's worthwhile to vectorize the basic block.
16425
16426 2010-08-14 Anatoly Sokolov <aesok@post.ru>
16427
16428 * reload.h (register_move_cost, memory_move_secondary_cost,
16429 secondary_reload_class): Adjust prototype.
16430 * rtl.h (reg_class_subset_p): Adjust prototype.
16431 * reload.c (secondary_reload_class): Change arguments type from
16432 enum reg_class to reg_class_t. Change result type to reg_class_t.
16433 * reginfo.c (register_move_cost, reg_class_subset_p): Change
16434 arguments type from enum reg_class to reg_class_t.
16435 (memory_move_secondary_cost): Change arguments type from
16436 enum reg_class to reg_class_t. Change type of saved_flags to
16437 reg_class_t.
16438
16439 * config/mips/mips.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
16440 Remove macros.
16441 (mips_cost): Remove.
16442 (struct mips_rtx_cost_data): Moved to mips.c.
16443 * config/mips/mips-protos.h (mips_register_move_cost): Remove.
16444 * config/mips/mips.c (struct mips_rtx_cost_data): Moved from mips.h.
16445 (mips_cost): Make static.
16446 (mips_canonicalize_move_class): Change argument type to reg_class_t.
16447 Change result type to reg_class_t.
16448 (mips_move_to_gpr_cost, mips_move_from_gpr_cost): Change arguments
16449 type from enum reg_class to reg_class_t.
16450 (mips_register_move_cost): Make static. Change arguments
16451 type from enum reg_class to reg_class_t.
16452 (mips_memory_move_cost): New function.
16453 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
16454
16455 2010-08-14 Richard Sandiford <rdsandiford@googlemail.com>
16456
16457 PR rtl-optimization/43358
16458 * ira-lives.c (process_single_reg_class_operands): Adjust the costs
16459 of a single hard register, using simplify_subreg_regno to decide
16460 what that register should be.
16461
16462 2010-08-14 Mingjie Xing <mingjie.xing@gmail.com>
16463
16464 * config/mips/mips.c (CODE_FOR_loongson_pmullh): Define.
16465 * config/mips/loongson.md (UNSPEC_LOONGSON_PMULL): Delete.
16466 (loongson_pmull<V_suffix>): Rename to...
16467 (mul<mode>3): ...this and use MULT instead of an UNSPEC.
16468
16469 2010-08-13 Jack Howarth <howarth@bromo.med.uc.edu>
16470
16471 * configure.ac: Enable -fomit-frame-pointer on darwin
16472 which support dwarf2.
16473 * config/i386/i386.c (override_options): Same.
16474
16475 2010-08-13 Jie Zhang <jie@codesourcery.com>
16476
16477 * config/arm/arm.md (cstoredf4): Only valid when !TARGET_VFP_SINGLE.
16478
16479 2010-08-12 Joseph Myers <joseph@codesourcery.com>
16480
16481 * gcc.c (cpp_unique_options): Generate -MDX and -MMDX from -MD and
16482 -MMD.
16483
16484 2010-08-12 Changpeng Fang <changpeng.fang@amd.com>
16485
16486 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Give
16487 up dot_prod pattern searching if a stmt is outside the loop.
16488
16489 2010-08-12 H.J. Lu <hongjiu.lu@intel.com>
16490 Uros Bizjak <ubizjak@gmail.com>
16491
16492 * config.gcc: Handle --enable-frame-pointer.
16493
16494 * configure.ac: Add --enable-frame-pointer.
16495 * configure: Regenerated.
16496
16497 * config/i386/i386.c (USE_IX86_FRAME_POINTER): Default to 0.
16498 (override_options): If not configured with --enable-frame-pointer,
16499 enable -fomit-frame-pointer (but not for TARGET_MACHO or when
16500 optimizing for size), -fasynchronous-unwind-tables and
16501 -maccumulate-outgoing-args by default.
16502
16503 2010-08-12 Jakub Jelinek <jakub@redhat.com>
16504
16505 * builtins.c (fold_builtin_memory_op): Avoid -Wsign-compare warning.
16506
16507 PR middle-end/45262
16508 * fold-const.c (make_range) <case NEGATE_EXPR>: Punt if
16509 -a overflows. Normalize the range.
16510
16511 2010-08-12 Richard Guenther <rguenther@suse.de>
16512
16513 PR tree-optimization/45232
16514 * tree-ssa-reassoc.c (can_reassociate_p): Disable re-association
16515 for types with undefined overflow.
16516 (reassociate_bb): Allow re-associating of bit and min/max
16517 operations for types with undefined overflow.
16518 * tree-ssa-forwprop.c (associate_plusminus): New function.
16519 (tree_ssa_forward_propagate_single_use_vars): Call it.
16520
16521 2010-08-12 Richard Guenther <rguenther@suse.de>
16522
16523 * tree-flow.h (struct ptr_info_def): Add align and misalign fields.
16524 * tree-ssa-alias.c (get_ptr_info): Move ...
16525 * tree-ssanames.c (get_ptr_info): ... here. Initialize
16526 align and misalign fields conservatively.
16527 * tree-ssa-ccp.c (ccp_finalize): From partially constant pointers
16528 derive alignment information.
16529 (evaluate_stmt): Derive alignment information from memory
16530 allocation functions.
16531 * tree.h (get_pointer_alignment): Make unsigned.
16532 * builtins.c (get_object_alignment): Use alignment information we
16533 have computed for pointers.
16534 (get_pointer_alignment): Likewise. Make conservative, return
16535 and unsigned value.
16536 (expand_builtin_strlen): Adjust.
16537 (expand_builtin_memcmp): Likewise.
16538 (expand_builtin_strcmp): Likewise.
16539 (expand_builtin_strncmp): Likewise.
16540 (get_builtin_sync_mem): Use at least mode alignment.
16541 (fold_builtin_memset): Adjust.
16542 (fold_builtin_memory_op): Likewise.
16543 * gimple-pretty-print.c (dump_gimple_phi): Alongside alias
16544 information also dump pointer alignment knowledge.
16545 (dump_gimple_stmt): Likewise.
16546
16547 2010-08-12 Uros Bizjak <ubizjak@gmail.com>
16548
16549 * config/i386/i386.c (LONG_TYPE_SIZE): Remove.
16550 (EMPTY_FIELD_BOUNDARY): Remove.
16551 * config/i386/i386-interix.h (PCC_BITFIELD_TYPE_MATTERS): Remove.
16552
16553 2010-08-12 Jakub Jelinek <jakub@redhat.com>
16554
16555 PR debug/45259
16556 * caller-save.c (save_call_clobbered_regs): Only swap notes with
16557 DEBUG_INSNs if n_regs_saved.
16558
16559 2010-08-12 Wei Guozhi <carrot@google.com>
16560
16561 PR target/44999
16562 * config/arm/arm.md (andsi3): Change to zero extension if possible.
16563 * config/arm/thumb2.md (thumb2_zero_extendqisi2_v6): Change the name.
16564
16565 2010-08-11 Vladimir Makarov <vmakarov@redhat.com>
16566
16567 * ira-int.h (ira_remove_allocno_copy_from_list): Remove.
16568
16569 * ira-build.c (ira_remove_allocno_copy_from_list): Remove.
16570
16571 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16572
16573 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add back
16574 the case removed in the previous patch, when the only phi argument
16575 is defined in the same loop as the phi node itself. Handle it
16576 separately from the invariant case by both propagating it outside
16577 the region and replacing the phi node with an assign.
16578
16579 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16580
16581 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): The only
16582 constant phi nodes with one argument are is_gimple_min_invariant
16583 and SSA_NAME_IS_DEFAULT_DEF.
16584
16585 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
16586
16587 * graphite-cloog-util.c (oppose_constraint):
16588 Extend loop counter's value range (CLOOG_ORG).
16589 (cloog_matrix_to_ppl_constraint): Same.
16590 (new_Constraint_System_from_Cloog_matrix): Same.
16591 * graphite-cloog-compat.h (matrix_num_type): New.
16592
16593 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
16594
16595 * graphite.c (graphite_initialize): Do not initialize
16596 CLooG and initialize the Parma Polyhedra Library
16597 manually when using CLOOG_ORG.
16598 (graphite_finalize): Do not finalize CLooG and finalize
16599 the Parma Polyhedra Library manually when using CLOOG_ORG.
16600 * graphite-cloog-compat.h (cloog_initialize): Hide function
16601 when using CLOOG_ORG.
16602 (cloog_finalize): Same.
16603
16604 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
16605
16606 * graphite-clast-to-gimple.c (free_scattering): Change
16607 CloogDomainList/CloogDomain to CloogScatteringList/CloogScattering
16608 (CLOOG_ORG).
16609 (build_cloog_prog): Same.
16610 * graphite-cloog-compat.h (cloog_domain): Removed.
16611 (cloog_scattering): New.
16612 (cloog_set_domain): Removed.
16613 (cloog_set_scattering): New.
16614 (cloog_next_domain): Removed.
16615 (cloog_next_scattering): New.
16616 (cloog_set_next_domain): Removed.
16617 (cloog_set_next_scattering): New.
16618 (CloogScatteringList): New.
16619 (CloogScattering): New.
16620 (cloog_scattering_free): New.
16621 (new_Cloog_Scattering_from_ppl_Polyhedron): New.
16622 * graphite-cloog-util.c (new_Cloog_Scattering_from_ppl_Polyhedron):
16623 New.
16624
16625 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
16626
16627 * graphite-clast-to-gimple.c (build_cloog_prog): Extend with
16628 CloogState.
16629 (set_cloog_options): Same.
16630 (print_clast_stmt): Same.
16631 (scop_to_clast): Same.
16632 (print_generated_program): Same.
16633 (gloog): Same.
16634 * graphite-clast-to-gimple.h: Include graphite-cloog-util.h.
16635 (scop_to_clast): Extend with CloogState.
16636 * graphite-cloog-util.c: Include graphite-cloog-compat.h
16637 (new_Cloog_Domain_from_ppl_Polyhedron):
16638 Extend with CloogState. Use cloog_domain_from_cloog_matrix (CLOOG_ORG).
16639 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Extend with CloogState.
16640 (new_Cloog_Domain_from_ppl_Polyhedron): Same.
16641 * graphite-cloog-util.h (build_cloog_prog): Same.
16642 * graphite-cloog-copat.h (build_cloog_prog): New.
16643 (CloogState): New.
16644 (cloog_state_malloc): New.
16645 (cloog_state_free): New.
16646 (cloog_loop_malloc): New.
16647 (cloog_options_malloc): New.
16648 (cloog_statement_alloc): New.
16649 (cloog_domain_from_cloog_matrix): New.
16650 (new_Cloog_Domain_from_ppl_Pointset_Powerset): New.
16651 (new_Cloog_Domain_from_ppl_Polyhedron): New.
16652
16653 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
16654
16655 * graphite-clast-to-gimple.c (clast_name_to_gcc): Parameter
16656 type of NAME now depends on used CLooG version.
16657 (clast_to_gcc_expression): Replace expr_* with clast_expr_*.
16658 (gcc_type_for_clast_expr): Same.
16659 (print_clast_stmt): Replace pprint with clast_pprint.
16660 * graphite-cloog-compat.h: Provide compatibility macros for
16661 CLooG Legacy.
16662 (clast_name_p): New.
16663 (clast_expr_term): New.
16664 (clast_expr_red): New.
16665 (clast_expr_bin): New.
16666 (clast_pprint): New.
16667
16668 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
16669
16670 * graphite-clast-to-gimple.c (set_cloog_options): Make CLooG options
16671 compatible to newer CLooG releases (CLOOG_ORG).
16672 (build_cloog_prog): Pass CloogOptions to more functions (CLOOG_ORG).
16673 (scop_to_clast): Pass CloogOptions to build_cloog_prog (CLOOG_ORG).
16674 * graphite-cloog-compat.h: Add compatibility macros for CLooG Legacy.
16675 (build_cloog_prog) : New.
16676 (cloog_program_extract_scalars): New.
16677 (cloog_program_scatter): New.
16678
16679 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
16680
16681 * graphite-clast-to-gimple.c: Include graphite-cloog-compat.h
16682 conditionally (CLOOG_ORG).
16683 * graphite-cloog-compat.h: New. Include graphite-cloog-compat.h.
16684 (cloog_statement_usr): New.
16685 (cloog_domain): Same.
16686 (cloog_set_domain): Same.
16687 (cloog_next_domain): Same.
16688 (cloog_set_next_domain): Same.
16689 (cloog_program_nb_scattdims): Same.
16690 (cloog_program_set_nb_scattdims): Same.
16691 (cloog_program_names): Same.
16692 (cloog_program_set_names): Same.
16693 (cloog_program_set_context): Same.
16694 (cloog_program_set_loop): Same.
16695 (cloog_program_blocklist): Same.
16696 (cloog_program_set_blocklist): Same.
16697 (cloog_program_scaldims): Same.
16698 (cloog_program_set_scaldims): Same.
16699 (cloog_names_nb_parameters): Same.
16700 (cloog_names_set_nb_parameters): Same.
16701 (cloog_names_parameters): Same.
16702 (cloog_names_set_parameters): Same.
16703 (cloog_names_set_nb_iterators): Same.
16704 (cloog_names_set_iterators): Same.
16705 (cloog_names_set_nb_scattering): Same.
16706 (cloog_names_set_scattering): Same.
16707 (cloog_statement_set_usr): Same.
16708 (cloog_loop_set_next): Same.
16709 (cloog_loop_set_domain): Same.
16710 (cloog_loop_set_block): Same.
16711 (cloog_block_list_next): Same.
16712 (cloog_block_list_set_next):
16713 (cloog_block_list_set_block): Same.
16714
16715 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16716
16717 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Returns
16718 a bool.
16719 (rewrite_commutative_reductions_out_of_ssa_close_phi): Same.
16720 (rewrite_commutative_reductions_out_of_ssa_loop): Same.
16721 (rewrite_cross_bb_scalar_deps_out_of_ssa): Call scev_reset_htab
16722 when something has been changed.
16723 (rewrite_commutative_reductions_out_of_ssa): Same.
16724
16725 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16726
16727 * graphite-sese-to-poly.c (propagate_expr_outside_region): Also
16728 handle the case when def is in the sese region.
16729 (rewrite_close_phi_out_of_ssa): Call propagate_expr_outside_region
16730 for invariant expressions.
16731 (rewrite_cross_bb_phi_deps): Removed.
16732 (rewrite_cross_bb_scalar_deps): Also handle GIMPLE_PHI nodes.
16733 (rewrite_cross_bb_scalar_deps_out_of_ssa): Do not call
16734 rewrite_cross_bb_phi_deps.
16735
16736 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16737
16738 * graphite-sese-to-poly.c
16739 (rewrite_commutative_reductions_out_of_ssa_loop): Call
16740 scev_analyzable_p only on is_gimple_reg
16741
16742 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16743
16744 * graphite-sese-to-poly.c (propagate_expr_outside_region): New.
16745 (rewrite_close_phi_out_of_ssa): Propagate constant values or
16746 parametric expressions outside the scop region.
16747 (rewrite_cross_bb_scalar_deps): Same.
16748 * sese.c (rename_uses): Use NULL_TREE instead of NULL for trees.
16749
16750 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16751
16752 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Use
16753 SSA_NAME_DEF_STMT only on SSA_NAMEs.
16754
16755 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16756
16757 * tree-scalar-evolution.c (instantiate_scev_name): Do not
16758 instantiate default definitions.
16759
16760 2010-08-11 Vladimir Kargov <kargov@gmail.com>
16761 Sebastian Pop <sebastian.pop@amd.com>
16762
16763 * cfgloop.c (is_loop_exit): Renamed loop_exits_to_bb_p.
16764 (loop_exits_from_bb_p): New.
16765 * cfgloop.h (is_loop_exit): Renamed loop_exits_to_bb_p.
16766 (loop_exits_from_bb_p): Declared.
16767 * graphite-scop-detection.c (scopdet_basic_block_info): Call
16768 loop_exits_to_bb_p.
16769
16770 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16771
16772 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add an
16773 extra parameter for the region. Call scev_analyzable_p.
16774 (rewrite_reductions_out_of_ssa): Update call to
16775 rewrite_close_phi_out_of_ssa.
16776 (rewrite_cross_bb_phi_deps): Same.
16777 (rewrite_commutative_reductions_out_of_ssa_loop): Add an extra
16778 parameter for the region. Call scev_analyzable_p.
16779 (rewrite_commutative_reductions_out_of_ssa): Update call to
16780 rewrite_commutative_reductions_out_of_ssa_loop.
16781
16782 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16783
16784 * sese.c (rename_uses): Call unshare_expr before force_gimple_operand.
16785
16786 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16787
16788 * graphite-sese-to-poly.c (reduction_phi_p): Do not rewrite out of
16789 SSA scalar phi nodes that can be scev_analyzable_p.
16790
16791 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16792
16793 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Correctly
16794 handle SSA_NAME_IS_DEFAULT_DEF.
16795
16796 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16797
16798 * sese.c (rename_uses): Handl unconditionally gimple_debug statements.
16799
16800 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16801
16802 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Special
16803 case non close-phi nodes with one argument.
16804
16805 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16806
16807 * sese.h (scev_analyzable_p): Scevs could be expressions without
16808 chrecs and still be scev_analyzable_p.
16809
16810 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16811
16812 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
16813
16814 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16815
16816 * cfgloop.c (alloc_loop): Remove initialization of loop->single_iv.
16817 * cfgloop.h (struct loop): Remove single_iv field.
16818 * graphite-sese-to-poly.c (graphite_loop_normal_form): Removed.
16819 (scop_canonicalize_loops): Removed.
16820 (scop_ivs_can_be_represented): Do not use loop->single_iv. Iterate
16821 over all the loop phi nodes in loop->header.
16822 (build_poly_scop): Remove use of scop_canonicalize_loops.
16823
16824 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16825
16826 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Also
16827 handle GIMPLE_CALL.
16828
16829 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16830
16831 * tree-chrec.c (chrec_apply): Should only apply to the specified
16832 variable. Also handle multivariate chains of recurrences that
16833 satisfy evolution_function_is_affine_p. Also handle CASE_CONVERT.
16834
16835 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16836
16837 * graphite-clast-to-gimple.c (debug_clast_name_index): Removed.
16838 (debug_clast_name_indexes_1): Removed.
16839 (debug_clast_name_indexes): Removed.
16840 (pbb_to_depth_to_oldiv): Removed.
16841 (build_iv_mapping): Replace the use of rename_map with iv_map.
16842 (translate_clast_user): Remove uses of rename_map. Allocate and
16843 free iv_map.
16844 (translate_clast_for_loop): Remove uses of rename_map.
16845 (translate_clast_for): Same.
16846 (translate_clast_guard): Same.
16847 (translate_clast): Same.
16848 (gloog): Same.
16849 * graphite-clast-to-gimple.h (debug_clast_name_indexes): Removed.
16850 * graphite-sese-to-poly.c (scev_analyzable_p): Moved...
16851 * sese.c (set_rename): Now static.
16852 (rename_variables_in_stmt): Removed.
16853 (rename_uses): New.
16854 (is_parameter): Removed.
16855 (is_iv): Removed.
16856 (expand_scalar_variables_call): Removed.
16857 (expand_scalar_variables_ssa_name): Removed.
16858 (expand_scalar_variables_expr): Removed.
16859 (expand_scalar_variables_stmt): Removed.
16860 (expand_scalar_variables): Removed.
16861 (rename_variables): Removed.
16862 (remove_condition): Removed.
16863 (get_true_edge_from_guard_bb): Removed.
16864 (get_false_edge_from_guard_bb): Removed.
16865 (struct igp): Removed.
16866 (default_before_guard): Removed.
16867 (convert_for_phi_arg): Removed.
16868 (add_guard_exit_phis): Removed.
16869 (insert_guard_phis): Removed.
16870 (graphite_copy_stmts_from_block): Now also uses iv_map and a
16871 region. Do not copy conditions. Do not copy induction variables.
16872 Call rename_uses.
16873 (copy_bb_and_scalar_dependences): Allocate a local rename_map for
16874 the translated statement. Use the iv_map for the induction
16875 variable renaming.
16876 * sese.h (copy_bb_and_scalar_dependences): Update declaration.
16877 (set_rename): Removed declaration.
16878 (scev_analyzable_p): ...here.
16879 * tree-chrec.c (chrec_apply_map): New.
16880 * tree-chrec.h (chrec_apply_map): Declared.
16881
16882 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16883
16884 * graphite-clast-to-gimple.c (translate_clast_for_loop): Do not call
16885 insert_loop_close_phis.
16886 * sese.c (name_defined_in_loop_p): Removed.
16887 (expr_defined_in_loop_p): Removed.
16888 (alive_after_loop): Removed.
16889 (close_phi_not_yet_inserted_p): Removed.
16890 (struct alep): Removed.
16891 (add_loop_exit_phis): Removed.
16892 (insert_loop_close_phis): Removed.
16893
16894 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
16895
16896 * graphite-cloog-util.c
16897 (cloog_matrix_to_ppl_constraint): Fix flipped condition.
16898 * graphite-poly.c
16899 (psct_scattering_dim_for_loop_depth): Same.
16900
16901 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
16902
16903 * graphite-cloog-util.h: Added cloog.h.
16904 * graphite-blocking.c: Removed cloog.h.
16905 * graphite-dependences.c: Same.
16906 * graphite-interchange.c: Same.
16907 * graphite-poly.c: Same.
16908 * graphite-ppl.c: Same.
16909 * graphite-scop-detection.c: Same.
16910 * graphite-sese-to-poly.c:
16911 Removed cloog.h.
16912 Removed graphite-clast-to-gimple.h.
16913 (check_poly_representation): Removed (unused).
16914 * graphite-sese-to-poly.h
16915 (check_poly_representation): Removed (unused).
16916
16917 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
16918
16919 * Makefile.in (OBJS-common): Added graphite-cloog-util.o.
16920 (graphite-clast-to-gimple.o): Added graphite-cloog-util.h.
16921 (graphite-cloog-util.o): New.
16922 (graphite-ppl.o): Added graphite-cloog-util.h.
16923 * graphite-clast-to-gimple.c:
16924 Added graphite-cloog-util.h to include statements.
16925 * graphite-cloog-util.c: New.
16926 (new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.c.
16927 (new_Cloog_Domain_from_ppl_Polyhedron): Same.
16928 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
16929 (new_C_Polyhedron_from_Cloog_Matrix): Same.
16930 (insert_constraint_into_matrix): Same.
16931 (ppl_Constrain_System_number_of_constraints): Same.
16932 (new_Cloog_Matrix_from_ppl_Constraint_System): Same.
16933 (oppose_constraint): Same.
16934 (cloog_matrix_to_ppl_constraint): Same.
16935 (new_Constraint_System_from_Cloog_Matrix): Same.
16936 * graphite-cloog-util.h: New.
16937 (new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.h.
16938 (new_Cloog_Domain_from_ppl_Polyhedron): Same.
16939 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
16940 (new_C_Polyhedron_from_Cloog_Matrix): Same.
16941 (insert_constraint_into_matrix): Same.
16942 * graphite-ppl.c:
16943 Added graphite-cloog-util.h to include statements.
16944 (new_Cloog_Matrix_from_ppl_Polyhedron): Moved to graphite-cloog-util.c.
16945 (new_Cloog_Domain_from_ppl_Polyhedron): Same.
16946 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
16947 (new_C_Polyhedron_from_Cloog_Matrix): Same.
16948 (insert_constraint_into_matrix): Same.
16949 (ppl_Constrain_System_number_of_constraints): Same.
16950 (new_Cloog_Matrix_from_ppl_Constraint_System): Same.
16951 (oppose_constraint): Same.
16952 (cloog_matrix_to_ppl_constraint): Same.
16953 (new_Constraint_System_from_Cloog_Matrix): Same.
16954 * graphite-ppl.h:
16955 (new_Cloog_Matrix_from_ppl_Polyhedron): Moved to
16956 graphite-cloog-util.h.
16957 (new_Cloog_Domain_from_ppl_Polyhedron): Same.
16958 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
16959 (new_C_Polyhedron_from_Cloog_Matrix): Same.
16960 (insert_constraint_into_matrix): Same.
16961
16962 2010-08-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
16963
16964 * graphite-clast-to-gimple.c
16965 (precision_for_value): Resolve value_* calls to matching mpz_* calls.
16966 (precision_for_interval): Same.
16967 (gcc_type_for_interval): Same.
16968 (compute_type_for_level): Same.
16969 * graphite-interchange.c
16970 (lst_interchange_profitable_p): Same.
16971 * graphite-poly.c
16972 (psct_scattering_dim_for_loop_depth): Same.
16973 * graphite-ppl.c
16974 (ppl_max_for_le_pointset): Same.
16975 (ppl_min_for_le_pointset): Same.
16976
16977 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16978
16979 * graphite-sese-to-poly.c (rewrite_degenerate_phi): New.
16980 (rewrite_reductions_out_of_ssa): Call it for degenerate_phi_result.
16981
16982 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16983
16984 * graphite-sese-to-poly.c (rewrite_cross_bb_phi_deps): Call
16985 rewrite_close_phi_out_of_ssa.
16986
16987 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16988
16989 * graphite-sese-to-poly.c (rewrite_cross_bb_phi_deps): Remove dead code.
16990
16991 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
16992
16993 * graphite-clast-to-gimple.c (build_iv_mapping): Rename map with
16994 rename_map.
16995 * sese.c (debug_rename_map): Same.
16996 (get_rename): Same.
16997 (set_rename): Same.
16998 (rename_variables_in_stmt): Same.
16999 (expand_scalar_variables_call): Same.
17000 (expand_scalar_variables_ssa_name): Same.
17001 (expand_scalar_variables_expr): Same.
17002 (expand_scalar_variables_stmt): Same.
17003 (expand_scalar_variables): Same.
17004 (rename_variables): Same.
17005 (graphite_copy_stmts_from_block): Same.
17006 (copy_bb_and_scalar_dependences): Same.
17007
17008 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
17009
17010 * graphite-clast-to-gimple.c (copy_renames): Removed.
17011 (translate_clast_for): Do not call copy_renames.
17012 (translate_clast_guard): Same.
17013
17014 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
17015
17016 * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Moved up.
17017 (rewrite_cross_bb_phi_deps): Split out of rewrite_cross_bb_scalar_deps.
17018 (rewrite_cross_bb_scalar_deps_out_of_ssa): Run rewrite_cross_bb_phi_deps
17019 before rewrite_cross_bb_scalar_deps.
17020
17021 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
17022
17023 * graphite-sese-to-poly.c (rewrite_commutative_reductions_out_of_ssa):
17024 Early return in when flag_associative_math is not set.
17025
17026 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
17027
17028 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Always insert out
17029 of SSA copies on edges except for loop->latch.
17030
17031 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
17032
17033 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps_out_of_ssa):
17034 Split out of rewrite_reductions_out_of_ssa.
17035 * graphite-sese-to-poly.h (rewrite_cross_bb_scalar_deps_out_of_ssa):
17036 Declared.
17037 * graphite.c (graphite_transform_loops): Call it.
17038
17039 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
17040
17041 * graphite.c (graphite_transform_loops): Add two more dbg_cnt calls.
17042
17043 2010-08-11 Alexander Monakov <amonakov@ispras.ru>
17044
17045 * dbgcnt.def (graphite_scop): New counter.
17046 * graphite.c: Include dbgcnt.h.
17047 (graphite_transform_loops): Use new counter to limit transformations.
17048 * Makefile.in (graphite.o): Depend on DBGCNT_H.
17049
17050 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
17051
17052 * passes.c (init_optimization_passes): Add pass_graphite.
17053 Schedule a pass_copy_prop before pass_graphite_transforms.
17054 * timevar.def (TV_GRAPHITE): Declared.
17055 * tree-pass.h (pass_graphite): Declared.
17056 * tree-ssa-loop.c (pass_graphite): New.
17057
17058 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
17059
17060 * graphite-clast-to-gimple.c (gloog): Do not pass scops in parameter.
17061 Remove calls to rename_nb_iterations and rename_sese_parameters.
17062 * graphite-clast-to-gimple.h (gloog): Update declaration.
17063 * graphite.c (graphite_transform_loops): Update call to gloog.
17064 * sese.c (rename_variables_in_expr): Removed.
17065 (rename_nb_iterations): Removed.
17066 (rename_sese_parameters): Removed.
17067 * sese.h (rename_nb_iterations): Removed.
17068 (rename_sese_parameters): Removed.
17069
17070 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
17071
17072 * graphite-clast-to-gimple.c (gloog): Remove call to
17073 sese_adjust_liveout_phis.
17074 * graphite-sese-to-poly.c (scev_analyzable_p): When scev returns an
17075 SSA_NAME, allow it to be handled by rewrite_cross_bb_scalar_deps.
17076 (rewrite_cross_bb_scalar_deps): Handle GIMPLE_PHI nodes: call
17077 rewrite_phi_out_of_ssa.
17078 * sese.c (get_vdef_before_sese): Removed.
17079 (sese_adjust_vphi): Removed.
17080 (sese_adjust_liveout_phis): Removed.
17081 * sese.h (sese_adjust_liveout_phis): Removed.
17082
17083 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
17084
17085 * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Pass an extra
17086 argument for the place after which to insert the out of SSA copy.
17087 (rewrite_close_phi_out_of_ssa): Update calls to insert_out_of_ssa_copy.
17088 (rewrite_phi_out_of_ssa): Same.
17089 (rewrite_cross_bb_scalar_deps): Same.
17090 (insert_copyout): Removed.
17091 (insert_copyin): Removed.
17092 (translate_scalar_reduction_to_array): Call insert_out_of_ssa_copy and
17093 insert_out_of_ssa_copy_on_edge instead of insert_copyout and
17094 insert_copyin.
17095
17096 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
17097
17098 * graphite-sese-to-poly.c (build_scop_bbs): Not static anymore.
17099 (rewrite_reductions_out_of_ssa): Same.
17100 (rewrite_commutative_reductions_out_of_ssa): Same.
17101 (build_poly_scop): Do not call these functions.
17102 * graphite-sese-to-poly.h (build_poly_scop): Declared.
17103 (rewrite_reductions_out_of_ssa): Declared.
17104 (rewrite_commutative_reductions_out_of_ssa): Declared.
17105 * graphite.c (graphite_transform_loops): Call on every scop
17106 rewrite_commutative_reductions_out_of_ssa before calling
17107 rewrite_reductions_out_of_ssa and build_scop_bbs.
17108
17109 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
17110
17111 * graphite-dependences.c (dot_deps): Make system call to dotty run
17112 in background.
17113 (dot_deps_stmt): Same.
17114 * graphite-poly.c (dot_lst): Same.
17115
17116 2010-08-11 Sebastian Pop <sebastian.pop@amd.com>
17117
17118 * graphite-sese-to-poly.c (loop_entry_phi_arg): Renamed
17119 phi_arg_in_outermost_loop.
17120 (remove_simple_copy_phi): Call phi_arg_in_outermost_loop.
17121 (remove_invariant_phi): Same.
17122
17123 2010-08-11 Anatoly Sokolov <aesok@post.ru>
17124
17125 * target.def (output_addr_const_extra): New hook.
17126 * doc/tm.texi.in (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Document.
17127 * doc/tm.texi: Regenerate.
17128 * targhooks.c (default_asm_output_addr_const_extra): New function.
17129 * targhooks.h (default_asm_output_addr_const_extra): Declare.
17130 * final.c (output_addr_const): Use TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA
17131 target hook.
17132
17133 * config/i386/i386.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
17134 * config/i386/i386-protos.h (output_addr_const_extra): Remove.
17135 * config/i386/i386.h (output_addr_const_extra): Rename to...
17136 (i386_asm_output_addr_const_extra): ...this. Make static.
17137 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
17138
17139 2010-08-11 Richard Henderson <rth@redhat.com>
17140
17141 * config/i386/i386.h (HARD_REGNO_CALL_PART_CLOBBERED): New.
17142
17143 2010-08-11 Nick Clifton <nickc@redhat.com>
17144
17145 * config/stormy16/stormy16-lib2.c (__cmpsi2): New function.
17146 * config/stormy16/stormy16-lib2-cmpsi2.c: New file.
17147 * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
17148 stormy16-lib2-cmpsi.c.
17149
17150 * config/stormy16/t-stormy16 (TARGET_LIBGCC2_CFLAGS): Change to
17151 -O2.
17152
17153 2010-08-11 Joseph Myers <joseph@codesourcery.com>
17154
17155 * opts.h (struct cl_option_handler_func): Make handler take
17156 cl_decoded_option structure as parameter, not individual elements.
17157 (struct cl_option_handlers): Make callbacks take cl_decoded_option
17158 structure as parameter, not individual elements.
17159 (handle_option): Take cl_decoded_option structure as parameter,
17160 not individual elements.
17161 (handle_generated_option): Declare.
17162 * opts-common.c (handle_option): Take cl_decoded_option structure
17163 as parameter, not individual elements. Update calls to callback
17164 and handler functions.
17165 (handle_generated_option): New.
17166 (read_cmdline_option): Update calls to callback functions and
17167 handle_option.
17168 * opts.c (common_handle_option, complain_wrong_lang,
17169 unknown_option_callback, post_handling_callback,
17170 lang_handle_option, target_handle_option): Take cl_decoded_option
17171 structure as parameter, not individual elements.
17172 (lang_handle_option, target_handle_option, common_handle_option):
17173 Assert option has at most one argument.
17174 (enable_warning_as_error): Call handle_generated_option instead of
17175 handle_option. Do not pass -Werror argument as argument of
17176 generated option.
17177
17178 2010-08-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17179
17180 * config/pa/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with
17181 'unsigned short' and 'unsigned char' instead of 'short' and 'char'.
17182 (SUBWORD_BOOL_CAS): Likewise.
17183 (SUBWORD_SYNC_OP): Likewise.
17184 (SUBWORD_TEST_AND_SET): Likewise.
17185 (FETCH_AND_OP_WORD): Parenthesise INF_OP
17186 (SUBWORD_SYNC_OP): Likewise.
17187 (OP_AND_FETCH_WORD): Likewise.
17188
17189 2010-08-10 Xinliang David Li <davidxl@google.com>
17190
17191 * tree-ssa-loop-ivopts.c (get_address_cost): Properly
17192 compute max/min offset in address.
17193
17194 2010-08-10 Vladimir Makarov <vmakarov@redhat.com>
17195
17196 * ira-live.c: Include sbitmap.h.
17197 (remove_some_program_points_and_update_live_ranges): Use sbitmaps.
17198 Compress live ranges even more.
17199
17200 2010-08-10 Nathan Froyd <froydnj@codesourcery.com>
17201
17202 * coverage.c (ctr_labels): Delete.
17203
17204 2010-08-10 Bernd Schmidt <bernds@codesourcery.com>
17205
17206 PR bootstrap/45177
17207 * config/arm/arm.c (multiple_operation_profitable_p): Move xscale
17208 test here from arm_gen_load_multiple_1.
17209 (arm_gen_load_multiple_1, arm_gen_store_multiple_1): Use
17210 multiple_operation_profitable_p.
17211
17212 2010-08-10 Nathan Froyd <froydnj@codesourcery.com>
17213
17214 * tree-ssa-pre.c (init_pre): Call alloc_aux_for_blocks.
17215 (fini_pre): Call free_aux_for_blocks. Delete unused bb variable.
17216
17217 2010-08-10 Richard Henderson <rth@redhat.com>
17218
17219 * config/i386/i386.c (ix86_compute_frame_layout): Re-align stack
17220 after saving registers. Assert that SSE registers are only saved
17221 with a sufficiently aligned frame.
17222 (ix86_emit_save_reg_using_mov): Assert realigned only with DRAP;
17223 remove stack_realign_fp handling.
17224 (ix86_expand_prologue): Save int registers before stack_realign_fp,
17225 and do not mark the stack alignment as frame related.
17226 (ix86_expand_epilogue): SP is now invalid with stack_realign_fp.
17227
17228 * dwarf2out.c (dwarf2out_frame_debug_expr): Flush queued register
17229 saves when re-aligning the stack.
17230
17231 2010-08-10 Nathan Froyd <froydnj@codesourcery.com>
17232
17233 * basic-block.h (alloc_aux_for_block, alloc_aux_for_edge): Delete.
17234 * cfg.c (alloc_aux_for_block, alloc_aux_for_edge): Make static.
17235 (alloc_aux_for_blocks, clear_aux_for_blocks): Use FOR_ALL_BB.
17236
17237 2010-08-10 Nathan Froyd <froydnj@codesourcery.com>
17238
17239 * dwarf2out.c (struct die_struct): Move die_tag to the end.
17240
17241 2010-08-09 Sofiane Naci <sofiane.naci@arm.com>
17242
17243 * config/arm/iterators.md: New file.
17244 * config/arm/arm.md: Include iterators.md.
17245 (QHSI): Move to new file.
17246 (LTUGEU, cnb, optab, ior_xor): Likewise.
17247 * config/arm/iwmmxt.md (VMMX): Move to new file.
17248 (VSHFT, MMX_char): Likewise.
17249 * config/arm/neon.md (VD): Move to new file.
17250 (VDX, VDI, VQ, VQX, VQI, VQXMOV, VSTRUCT, VTAB, V_TAB_n, VW): Likewise.
17251 (VN, VDQ, VDQW, VDQIW, VCVTF, VCVTI, VMD, VMQ, VMDQ, VMDI): Likewise.
17252 (VMDQI, VX, VE, V64, V32, V_CVTTO, V_elem, V_ext): Likewise.
17253 (V_two_elem, V_three_elem, V_four_elem, V_req, V_widen): Likewise.
17254 (V_narrow, V_HALF, V_half,V_DOUBLE, V_double): Likewise.
17255 (V_double_width, V_cmp_result, V_if_elem, V_s_elem): Likewise.
17256 (V_u_elem, V_uf_sclr, V_sz_elem, VD_dup): Likewise.
17257 (V_PAIR, vqh_ops, vqhs_ops, VQH_mnem, VQH_sign, V_suf64): Likewise.
17258 (scalar_mul_constraint,Is_float_mode, Scalar_mul_8_16): Likewise.
17259 (Is_d_reg, V_mode_nunits): Likewise.
17260 * config/arm/vec-common.md (VALL): Move to new file.
17261 (VALLW, VINT, VINTW): Likewise.
17262
17263 2010-08-10 Bernd Schmidt <bernds@codesourcery.com>
17264
17265 PR middle-end/45182
17266 * combine.c (make_compound_operation): Don't try to convert
17267 shifts into multiplications for modes that aren't SCALAR_INT_MODE_P.
17268
17269 2010-08-10 Richard Guenther <rguenther@suse.de>
17270
17271 * tree.h (get_object_alignment): Adjust prototype.
17272 * builtins.c (get_object_alignment): Return unsigned int,
17273 drop the align parameter. Handle MEM_REF, MISALIGNED_INDIRECT_REF
17274 and TARGET_MEM_REF properly.
17275 (get_pointer_alignment): Adjust.
17276 * emit-rtl.c (get_mem_align_offset): Adjust comment.
17277 (set_mem_attributes_minus_bitpos): Adjust.
17278 * tree-ssa-ccp.c (get_value_from_alignment): Adjust.
17279
17280 2010-08-10 Richard Guenther <rguenther@suse.de>
17281
17282 * tree-ssa-copy.c (set_copy_of_val): Use operand_equal_p.
17283 (copy_prop_visit_assignment): Simplify.
17284 (copy_prop_visit_stmt): Also visit assignments from
17285 constants.
17286 (copy_prop_visit_phi_node): Use operand_equal_p.
17287
17288 2010-08-09 Nathan Froyd <froydnj@codesourcery.com>
17289
17290 * ipa-split.c (find_split_points): Free stack.
17291
17292 2010-08-09 Nathan Froyd <froydnj@codesourcery.com>
17293
17294 * tree.h (tree_node_kind) [perm_list_kind,temp_list_kind]: Delete.
17295 * tree.c (tree_node_kind): Delete corresponding entries.
17296
17297 2010-08-09 H.J. Lu <hongjiu.lu@intel.com>
17298
17299 * alias.c (may_alias_p): Remove unused ret.
17300
17301 2010-08-09 Bingfeng Mei <bmei@broadcom.com>
17302
17303 * ddg.c (walk_mems_2): Moved from alias.c, use may_alias_p instead of
17304 alias_sets_conflict_p.
17305 (walk_mems_1): Moved from alias.c.
17306 (insns_may_alias_p): New function, originally insn_alias_sets_conflict_p
17307 in alias.c.
17308 (add_inter_loop_mem_dep): Use insns_may_alias_p now.
17309 * cse.c (cse_insn): New argument in calling nonoverlapping_memrefs_p.
17310 * alias.c (walk_mems_2): Moved to ddg.c.
17311 (walk_mems_1): Ditto.
17312 (insn_alias_sets_conflict_p): Renamed to insns_may_alias_p and moved
17313 to ddg.c.
17314 (nonoverlapping_memrefs_p): Add flag to guard offset-based memory
17315 disambiguation.
17316 *(may_alias_p): New function to check whether two memory expression
17317 may alias or not. Currently used in buidling inter-iteration memory
17318 dependence.
17319 *alias.h (nonoverlapping_memrefs_p): New flag as third argument.
17320 (insn_alias_sets_conflict_p): Removed
17321 *rtl.h (may_alias_p): New function prototype.
17322
17323 2010-08-09 Nathan Froyd <froydnj@codesourcery.com>
17324
17325 * tree.c (nreverse): Assert that we don't have a BLOCK.
17326
17327 2010-08-09 Nathan Froyd <froydnj@codesourcery.com>
17328
17329 * builtins.c (fold_builtin_next_arg): Use stdarg_p.
17330 * config/arm/arm.c (arm_get_pcs_model): Likewise.
17331 * config/avr/avr.c (init_cumulative_args): Likewise.
17332 * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
17333 * config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.
17334 * config/m68k/m68k.c (m68k_return_pops_args): Likewise.
17335 * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
17336 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
17337 * config/pa/som.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
17338 * config/rs6000/rs6000.c (init_cumulative_args): Likewise.
17339 * dwarf2out.c (gen_subprogram_die): Likewise.
17340 * function.c (allocate_struct_function): Likewise.
17341 * c-aux-info.c (gen_formal_list_for_func_dec): Likewise.
17342 (deserves_ellipsis): Delete.
17343
17344 2010-08-09 Richard Guenther <rguenther@suse.de>
17345
17346 * tree-ssa-copy.c (cached_last_copy_of): Remove.
17347 (valueize_val): New function.
17348 (get_last_copy_of): Remove.
17349 (set_copy_of_val): Simplify.
17350 (dump_copy_of): Likewise.
17351 (copy_prop_visit_cond_stmt): Use valueize_val.
17352 (copy_prop_visit_phi_node): Properly handle unvisited names.
17353 Drop code managing copy-of chains.
17354 (init_copy_prop): Adjust.
17355 (fini_copy_prop): Likewise.
17356 (execute_copy_prop): Remove obsolete comment.
17357
17358 2010-08-09 Richard Guenther <rguenther@suse.de>
17359
17360 PR middle-end/44632
17361 * function.c (gimplify_parameters): Do not clear addressable
17362 bit of the original parameter.
17363
17364 2010-08-09 Richard Guenther <rguenther@suse.de>
17365
17366 PR middle-end/45212
17367 * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust
17368 alignment from MEM_REF offset only if we took it from the
17369 base object.
17370
17371 2010-08-09 Eric Fisher <joefoxreal@gmail.com>
17372
17373 * doc/sourcebuild.texi (vect_int_mult): Remove duplicate entry.
17374
17375 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
17376
17377 * c-tree.h (build_arg_info): Declare.
17378 * c-decl.c (build_arg_info): Define.
17379 (get_parm_info): Call it. Delete initialization code.
17380 * c-parser.c (c_parser_parms_declarator): Likewise.
17381 (c_parser_parms_list_declaractor): Likewise.
17382
17383 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
17384
17385 * c-tree.h (c_arg_tag): Define. Define a VEC containing it.
17386 (struct c_arg_info): Change type of tags field.
17387 * c-decl.c (grokdeclarator): Update for changed type of tags field.
17388 (get_parm_info): Likewise.
17389 (store_parm_decls_newstyle): Likewise.
17390
17391 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
17392
17393 * config/rs6000/rs6000.c (branch_island): Define. Define a VEC of it.
17394 (branch_island_list): Delete.
17395 (branch_islands): Declare.
17396 (add_compiler_branch_island): Adjust for branch_islands instead of
17397 branch_island_list.
17398 (macho_branch_islands): Likewise.
17399 (no_previous_def): Likewise.
17400 (get_prev_label): Likewise.
17401
17402 2010-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17403
17404 PR boehm-gc/34544
17405 * gthr-posix.h (__gthread_start): Delete.
17406 (__gthread_active_init): Use pthread_default_stacksize_np instead of
17407 pthread_create to determine if hpux pthreads are active.
17408 * gthr-posix95.h (__gthread_start): Delete.
17409 (__gthread_active_init): Likewise use pthread_default_stacksize_np.
17410
17411 2010-08-08 Kai Tietz <kai.tietz@onevision.com>
17412
17413 * config/i386/mingw32.h ((EXTRA_OS_CPP_BUILTINS): Define
17414 _WIN64 not expanded.
17415
17416 2010-08-07 Uros Bizjak <ubizjak@gmail.com>
17417 H.J. Lu <hongjiu.lu@intel.com>
17418
17419 PR target/45213
17420 * config/i386/i386.c (ix86_print_operand): Handle 'q' operand modifier
17421 to output 32bit SFmode immediate as 8 byte sign extended value.
17422
17423 2010-08-07 Marcus Shawcroft <marcus.shawcroft@arm.com>
17424
17425 * config/arm/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with
17426 'unsigned short' and 'unsigned char' instead of 'short' and 'char'.
17427 (SUBWORD_BOOL_CAS): Likewise.
17428 (SUBWORD_SYNC_OP): Likewise.
17429 (SUBWORD_TEST_AND_SET): Likewise.
17430 (FETCH_AND_OP_WORD): Parenthesise INF_OP
17431 (SUBWORD_SYNC_OP): Likewise.
17432 (OP_AND_FETCH_WORD): Likewise.
17433
17434 2010-08-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
17435
17436 * config/arm/cortex-a9.md: Rewrite VFP Pipeline description.
17437 * config/arm/arm.c (arm_xscale_tune): Initialize sched_adjust_cost.
17438 (arm_fastmul_tune,arm_slowmul_tune, arm_9e_tune): Likewise.
17439 (arm_adjust_cost): Split into xscale_sched_adjust_cost and a
17440 generic part.
17441 (cortex_a9_sched_adjust_cost): New function.
17442 (xscale_sched_adjust_cost): New function.
17443 * config/arm/arm-protos.h (struct tune_params): New field
17444 sched_adjust_cost.
17445 * config/arm/arm-cores.def: Adjust costs for cortex-a9.
17446
17447 2010-08-06 Eric Botcazou <ebotcazou@adacore.com>
17448
17449 PR target/44942
17450 * config/sparc/sparc.c (function_arg_advance): Always take into account
17451 the padding, if any.
17452
17453 2010-08-06 Richard Guenther <rguenther@suse.de>
17454
17455 * tree-ssa-ccp.c (struct prop_value_d): Add mask member.
17456 (dump_lattice_value): Dump it.
17457 (get_default_value): Adjust.
17458 (get_constant_value): Likewise.
17459 (set_value_varying): Likewise.
17460 (set_lattice_value): Make sure to not go up the lattice
17461 with bitwise constant values.
17462 (get_value_for_expr): Handle ADDR_EXPRs.
17463 (value_to_double_int): New function.
17464 (get_value_from_alignment): Likewise.
17465 (do_dbg_cnt): Adjust.
17466 (ccp_lattice_meet): Handle partially constant values.
17467 (bit_value_unop_1): New function.
17468 (bit_value_binop_1): Likewise.
17469 (bit_value_unop): Likewise.
17470 (bit_value_binop): Likewise.
17471 (evaluate_stmt): Track partially constant values if
17472 flag_tree_bit_ccp is set.
17473 (ccp_fold_stmt): Dump if we folded a predicate.
17474 (ccp_visit_stmt): Adjust.
17475 * common.opt (ftree-bit-ccp): New flag.
17476 * doc/invoke.texi (ftree-bit-ccp): Document.
17477 * opts.c (decode_options): Enable bit-CCP at -O1.
17478
17479 2010-08-06 Alan Modra <amodra@gmail.com>
17480
17481 * doc/invoke.texi (RS/6000 and PowerPC Options): Rewrite -mrelocatable
17482 and -mrelocatable-lib description.
17483
17484 2010-08-05 Bernd Schmidt <bernds@codesourcery.com>
17485
17486 From Martin Thuresson <martint@google.com>
17487 * postreload.c (reload_cse_simplify_operands): Use
17488 SET_REGNO_RAW instead of SET_REGNO.
17489 * caller-save.c (reg_save_code): Use SET_REGNO_RAW instead of
17490 SET_REGNO.
17491 * ira.c (setup_prohibited_mode_move_regs): Use SET_REGNO_RAW
17492 instead of SET_REGNO.
17493 * rtl.h (SET_REGNO_RAW): New macro.
17494
17495 2010-08-05 Eric Botcazou <ebotcazou@adacore.com>
17496
17497 * rtlanal.c (nonzero_bits1): Use unsigned HOST_WIDE_INT in all mask
17498 computations. Fix formatting issues.
17499 (num_sign_bit_copies1): Likewise.
17500 (canonicalize_condition): Likewise.
17501
17502 2010-08-05 Richard Henderson <rth@redhat.com>
17503
17504 * toplev.h (ctz_hwi, clz_hwi, ffs_hwi): New.
17505 (floor_log2): Use clz_hwi.
17506 (exact_log2): Use ctz_hwi.
17507 * toplev.c (ctz_hwi, clz_hwi, ffs_hwi): New.
17508 * builtins.c (fold_builtin_bitop): Use them.
17509 * simplify-rtx.c (simplify_const_unary_operation): Likewise.
17510 * combine.c (get_pos_from_mask): Use ctz_hwi.
17511 * double-int.c (double_int_ctz): Likewise.
17512 * explow.c (force_reg): Likewise.
17513 * tree.h (SET_DECL_OFFSET_ALIGN): Use ffs_hwi.
17514
17515 2010-08-05 Richard Henderson <rth@redhat.com>
17516
17517 PR target/45189
17518 * config/i386/i386.c (ix86_emit_save_reg_using_mov): Make sure
17519 the alignment constant is properly sign-extended.
17520
17521 2010-08-05 Richard Guenther <rguenther@suse.de>
17522
17523 * expr.c (store_expr): Use emit_block_move only if both
17524 source and target are MEMs. Use store_bit_field if only
17525 the target is a MEM.
17526
17527 2010-08-05 Richard Henderson <rth@redhat.com>
17528
17529 PR debug/45188
17530 * dwarf2out.c (DWARF2_UNWIND_INFO): Provide default definition.
17531 (INCOMING_RETURN_ADDR_RTX): Likewise.
17532 (dwarf2out_do_frame): Remove conditional compilation.
17533 (dwarf2out_frame_init): Likewise.
17534
17535 2010-08-05 Nicolas Setton <setton@adacore.com>
17536
17537 * gcov.c (flag_display_progress): New static variable.
17538 (main): Display progress info on standard output if requested.
17539 (options): Add -d/--display-progress.
17540 (print_usage): Print them.
17541 (process_args): Handle them.
17542 * doc/gcov.texi: Document them.
17543
17544 2010-08-05 Martin Jambor <mjambor@suse.cz>
17545
17546 * ipa-cp.c (ipcp_discover_new_direct_edges): New function.
17547 (ipcp_insert_stage): Redirect only edges not flagged with
17548 indirect_inlining_edge. Call ipcp_discover_new_direct_edges for all
17549 discovered constants.
17550
17551 2010-08-05 Martin Jambor <mjambor@suse.cz>
17552
17553 * ipa-prop.h (enum ipa_lattice_type): Changed comments.
17554 (struct ipa_param_descriptor): New fields types and
17555 cannot_devirtualize.
17556 (ipa_param_cannot_devirtualize_p): New function.
17557 (ipa_param_types_vec_empty): Likewise.
17558 (ipa_make_edge_direct_to_target): Declare.
17559 * ipa-cp.c: Fixed first stage driver name in initial comment,
17560 described devirtualization there too.
17561 (ipcp_analyze_node): Call ipa_analyze_params_uses.
17562 (ipcp_print_all_lattices): Print devirtualization info.
17563 (ipa_set_param_cannot_devirtualize): New function.
17564 (ipcp_initialize_node_lattices): Set cannot_devirtualize when setting
17565 lattice to BOTTOM.
17566 (ipcp_init_stage): Merged into...
17567 (ipcp_generate_summary): ...its caller.
17568 (ipcp_change_tops_to_bottom): Also process type lists.
17569 (ipcp_add_param_type): New function.
17570 (ipcp_copy_types): Likewise.
17571 (ipcp_propagate_types): Likewise.
17572 (ipcp_propagate_stage): Also propagate types.
17573 (ipcp_need_redirect_p): Variable jump_func moved to its scope block.
17574 Also return true if propagated types require it.
17575 (ipcp_update_callgraph): Dump redirection info.
17576 (ipcp_process_devirtualization_opportunities): New function.
17577 (ipcp_const_param_count): Include known type information.
17578 (ipcp_insert_stage): Call ipcp_process_devirtualization_opportunities
17579 on new node. Fixed formatting.
17580 * ipa-prop.c (make_edge_direct_to_target): Renamed to
17581 ipa_make_edge_direct_to_target and changed all callers. Made
17582 externally visible.
17583 (ipa_node_duplication_hook): Duplicate types vector.
17584 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Also try to
17585 redirect outgoing calls for which we can't get a decl from the
17586 statement. Check that we can get a decl from the call statement.
17587 * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
17588 ipa_analyze_params_uses only when ipa-cp is disabled.
17589 * tree-inline.c (get_indirect_callee_fndecl): Removed.
17590 (expand_call_inline): Do not call get_indirect_callee_fndecl.
17591 * params.def (PARAM_DEVIRT_TYPE_LIST_SIZE): New parameter.
17592 * Makefile.in (ipa-cp.o): Add gimple.h to dependencies.
17593
17594 2010-08-05 Uros Bizjak <ubizjak@gmail.com>
17595
17596 * expmed.c (expand_mult_const) <case alg_shift>: Expand shift into
17597 temporary. Emit move from temporary to accum, so REG_EQUAL note will
17598 be attached to this insn in correct mode.
17599
17600 2010-08-05 Uros Bizjak <ubizjak@gmail.com>
17601
17602 * config/i386/i386.c (ix86_decompose_address): Check for SI_REG
17603 using REGNO of base_reg directly.
17604
17605 2010-08-05 Jie Zhang <jie@codesourcery.com>
17606
17607 PR tree-optimization/45144
17608 * tree-sra.c (type_consists_of_records_p): Return false
17609 if the record contains bit-field.
17610
17611 2010-08-04 Richard Henderson <rth@redhat.com>
17612
17613 * config/i386/i386.c (struct ix86_frame): Remove padding and
17614 to_allocate members.
17615 (ix86_compute_frame_layout): Don't store them.
17616 (ix86_can_use_return_insn_p): Use a more direct and more obviously
17617 correct condition for the position of the stack pointer.
17618 (ix86_expand_prologue): Compute remaining stack allocation based
17619 on the ultimate stack pointer offset.
17620 (ix86_expand_epilogue): Use more obvious expressions testing for
17621 the stack pointer already pointing to the saved registers.
17622
17623 * config/i386/i386.c (ix86_expand_epilogue): Eliminate code
17624 duplication deconstructing the frame pointer. Simplify
17625 deallocation of the local stack frame.
17626
17627 * reg-notes.def (CFA_EXPRESSION): New.
17628 * dwarf2out.c (dwarf2out_frame_debug): Handle it.
17629 (dwarf2out_frame_debug_cfa_expression): New.
17630 (dwarf2out_frame_debug_def_cfa): Handle simple MEMs.
17631
17632 * config/i386/i386.h (struct machine_frame_state): Add realigned flag.
17633 * config/i386/i386.c (ix86_expand_prologue): Set it.
17634 (ix86_expand_epilogue): Clear it.
17635 (ix86_emit_save_reg_using_mov): For registers saved in a realigned
17636 context, add REG_CFA_EXPRESSION notes.
17637
17638 * config/i386/i386.h (struct machine_frame_state): Rename from
17639 machine_cfa_state. Add members tracking SP and FP regardless
17640 of the current CFA register.
17641 (ix86_cfa_state): Remove.
17642 * config/i386/i386.c (struct ix86_frame): Add reg_save_offset
17643 and sse_reg_save_offset members.
17644 (ix86_compute_frame_layout): Set them.
17645 (gen_push): Increment sp_offset too.
17646 (choose_baseaddr_len, choose_baseaddr): New.
17647 (ix86_emit_save_reg_using_mov): New.
17648 (ix86_emit_save_regs_using_mov): Use it.
17649 (ix86_emit_save_sse_regs_using_mov): Likewise.
17650 (ix86_add_cfa_restore_note): Take cfa_offset not red_offset argument;
17651 compare vs the saved red_zone_offset.
17652 (pro_epilogue_adjust_stack): Adjust sp_offset.
17653 (ix86_adjust_stack_and_probe): Likewise.
17654 (ix86_expand_prologue): Set up, use, and validate the new
17655 frame_state_info members. Use gen_frame_mem.
17656 (ix86_emit_restore_regs_using_pop): Remove red_offset parameter.
17657 (ix86_emit_restore_reg_using_pop): Likewise. Use and update the
17658 new frame_state_info members.
17659 (ix86_emit_leave): Likewise.
17660 (ix86_emit_restore_regs_using_mov): Likewise. Don't check for
17661 out-of-range stack pointer offsets here.
17662 (ix86_emit_restore_sse_regs_using_mov): Likewise.
17663 (ix86_expand_epilogue): Use and validate the new frame_state_info
17664 members. Break up and simplify the logic selecting the
17665 restore_regs_via_mov code path. Ensure that there will be no
17666 out-of-range stack pointer offsets.
17667
17668 * config/i386/cygming.h (TARGET_64BIT_MS_ABI): Remove.
17669
17670 * config/i386/i386.c (ix86_function_ms_hook_prologue): Fix
17671 argument name to reflect the expected tree; fix indentation.
17672 (ix86_asm_output_function_label): Output the entire 32-bit
17673 ms_hook here as bytes ...
17674 (ix86_expand_prologue): ... not here as insns. Attach the
17675 unwind info for the ms_hook to a blockage insn.
17676 (ix86_handle_fndecl_attribute): Don't check HAVE_AS_IX86_SWAP.
17677 (ix86_ms_bitfield_layout_p): Fix indentation.
17678 * config/i386/i386.md (UNSPECV_VSWAPMOV, vswapmov): Remove.
17679
17680 * config/i386/i386.c (ix86_using_red_zone): New.
17681 (ix86_compute_frame_layout, ix86_add_cfa_restore_note,
17682 ix86_expand_prologue, ix86_force_to_memory): Use it.
17683
17684 * config/i386/i386.c (ix86_expand_prologue): Simplify logic
17685 saving the int registers.
17686
17687 * dwarf2out.c: Remove most of the DWARF2_DEBUGGING_INFO
17688 and DWARF2_UNWIND_INFO conditional compilation.
17689
17690 2010-08-04 Richard Henderson <rth@redhat.com>
17691
17692 PR debug/45171
17693 * dwarf2out.c (gen_typedef_die): Don't re-generate the die of
17694 an is_naming_typedef_decl.
17695
17696 2010-08-04 Bernd Schmidt <bernds@codesourcery.com>
17697
17698 PR rtl-optimization/45162
17699 * df-problems.c (df_word_lr_bb_local_compute): Ignore DEBUG_INSNs.
17700 * dce.c (word_dce_process_block): Likewise.
17701
17702 2010-08-04 Steve Ellcey <sje@cup.hp.com>
17703
17704 PR target/44583
17705 * config/ia64/constraints.md (Z): New.
17706 * config/ia64/predicates.md (fr_reg_or_signed_fp01_operand): New.
17707 (xfreg_or_signed_fp01_operand): New.
17708 * config/ia64/ia64.md (addsf3): Replace fr_reg_or_fp01_operand
17709 with fr_reg_or_signed_fp01_operand and constraint G with Z.
17710 (subsf3): Ditto.
17711 (*maddsf4): Ditto.
17712 (*msubsf4): Ditto.
17713 (adddf3): Ditto.
17714 (adddf3_trunc): Ditto.
17715 (subdf3): Ditto.
17716 (*subdf3_trunc): Ditto.
17717 (*madddf4): Ditto.
17718 (*madddf4_trunc): Ditto.
17719 (*msubdf4): Ditto.
17720 (*msubdf4_trunc): Ditto.
17721 (addxf3): Replace xfreg_or_fp01_operand with
17722 xfreg_or_signed_fp01_operand and constraint G with Z.
17723 (*addxf3_truncsf): Ditto.
17724 (*addxf3_truncdf): Ditto.
17725 (subxf3): Ditto.
17726 (*subxf3_truncsf): Ditto.
17727 (*subxf3_truncdf): Ditto.
17728 (*maddxf4): Ditto.
17729 (*maddxf4_truncsf): Ditto.
17730 (*maddxf4_truncdf): Ditto.
17731 (*msubxf4): Ditto.
17732 (*msubxf4_truncsf): Ditto.
17733 (*msubxf4_truncdf): Ditto.
17734
17735 2010-08-04 Richard Guenther <rguenther@suse.de>
17736
17737 * alias.c (rtx_refs_may_alias_p): Do not resort to TBAA
17738 if either alias-set is zero.
17739
17740 2010-08-04 Richard Guenther <rguenther@suse.de>
17741
17742 * tree-ssa-propagate.h (struct prop_value_d, prop_value_t): Move ...
17743 * tree-ssa-ccp.c: ... here.
17744 * tree-ssa-copy.c: ... and here.
17745 * tree-ssa-propagate.h (enum value_range_type, struct value_range_d,
17746 value_range_t): Move ...
17747 * tree-vrp.c: ... here.
17748 * tree-ssa-propagate.h (ssa_prop_get_value_fn): New typedef.
17749 (substitute_and_fold): Adjust prototype.
17750 * tree-ssa-propagate.c (replace_uses_in): Adjust.
17751 (replace_phi_args_in): Likewise.
17752 (substitute_and_fold): Take callback to query lattice instead
17753 of pointer to lattice. Replace SSA name defs with lattice
17754 values first.
17755 * tree-ssa-ccp.c (ccp_finalize): Adjust.
17756 * tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust.
17757 (get_value): New function.
17758 (fini_copy_prop): Adjust.
17759 * tree-vrp.c (vrp_finalize): Adjust.
17760
17761 2010-08-04 Richard Guenther <rguenther@suse.de>
17762
17763 PR middle-end/45176
17764 * expr.c (expand_expr_real_1): Also preserve TARGET_MEM_REF
17765 points-to set for original MEM_REF.
17766
17767 2010-08-04 Richard Guenther <rguenther@suse.de>
17768
17769 * tree-ssa-ccp.c (get_constant_value): New function.
17770 (get_rhs_assign_op_for_ccp): Remove.
17771 (valueize_op): New function.
17772 (ccp_fold): Use get_constant_value and valueize_op.
17773 (fold_const_aggregate_ref): Likewise.
17774 (ccp_fold_stmt): Likewise.
17775 (visit_assignment): Simplify.
17776
17777 2010-08-04 Richard Guenther <rguenther@suse.de>
17778
17779 * Makefile.in (double-int.o): Add $(TOPLEV_H) dependency.
17780 * double-int.h (double_int_ctz): Declare.
17781 * double-int.c (double_int_ctz): New function.
17782
17783 2010-08-04 Hariharan Sandanagobalane <hariharan@picochip.com>
17784
17785 * config/picochip/picochip.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE):
17786 Define.
17787 picochip_expand_movmemhi : Expand movmem pattern.
17788 * config/picochip/picochip-protos.h (picochip_expand_movmemhi) :
17789 Declare.
17790 * config/picochip/picochip.md (movmemhi) : New pattern.
17791
17792 2010-08-03 Uros Bizjak <ubizjak@gmail.com>
17793
17794 * config/i386/unix.h (GLOBAL_ASM_OPS): Add tabs around .globl.
17795
17796 2010-08-03 Bernd Schmidt <bernds@codesourcery.com>
17797
17798 * simplify-rtx.c (simplify_binary_operation_1): Try to simplify away
17799 NEG as operand of a MULT by merging it with the other operand.
17800 * combine.c (make_compound_operation): Use trunc_int_for_mode when
17801 generating a MULT with constant. Canonicalize PLUS and MINUS involving
17802 MULT.
17803 * config/arm/constraints.md (M): Examine only 32 bits of a
17804 HOST_WIDE_INT.
17805 * config/arm/predicates.md (power_of_two_operand): Likewise.
17806
17807 2010-08-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
17808
17809 * config/spu/spu.c (spu_emit_branch_hint): Do not access NOTE_KIND of
17810 non-NOTE insns.
17811
17812 2010-08-03 Jan Hubicka <jh@suse.cz>
17813
17814 * ipa-split.c (struct split_point): Add split_part_set_retval.
17815 (find_retval): Forward declare.
17816 (test_nonssa_use, mark_nonssa_use): Special case return by reference.
17817 (consider_split): Compute current->split_part_set_retval.
17818 (visit_bb): Do not look into return value.
17819 (split_function): Handle !split_part_set_retval
17820
17821 2010-08-03 Martin Jambor <mjambor@suse.cz>
17822
17823 * tree-sra.c (completely_scalarize_record): New parameter REF, create
17824 its own access->expr intead of using build_ref_for_offset.
17825
17826 2010-08-03 Joseph Myers <joseph@codesourcery.com>
17827
17828 * config/alpha/alpha.h (SWITCH_TAKES_ARG): Define.
17829 * config/alpha/osf5.h (LIB_SPEC): Don't handle -a.
17830 * config/bfin/bfin.h (ASM_SPEC, LINK_SPEC): Don't pass -G* options.
17831 * config/darwin.h (WORD_SWITCH_TAKES_ARG): Handle -iframework.
17832 * config/ia64/ia64.h (SWITCH_TAKES_ARG): Define.
17833 * config/iq2000/iq2000.h (SWITCH_TAKES_ARG): Remove.
17834 * config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Define using
17835 DEFAULT_SWITCH_TAKES_ARG.
17836 * config/rx/rx.opt (-patch=): Remove option.
17837 * config/rx/rx.c (rx_handle_option): Don't handle OPT_patch_.
17838 * defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Handle -imultilib.
17839 * doc/invoke.texi (RX Options): Remove -patch=.
17840 * gcc.c (cc1_options): Pass -aux-info* instead of -a* options.
17841 (option_map): Remove --profile-blocks, --quiet and --silent.
17842
17843 2010-08-03 Uros Bizjak <ubizjak@gmail.com>
17844
17845 * config/i386/i386.h (ix86_compare_op0, ix86_compare_op1): Remove.
17846 * config/i386/i386.c (ix86_compare_op0, ix86_compare_op1): Remove.
17847 (ix86_expand_branch): Add op0 and op1 arguments. Do not access
17848 ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead.
17849 Update calls to ix86_expand_compare and ix86_expand_branch.
17850 (ix86_expand_setcc): Add op0 and op1 arguments. Update calls to
17851 ix86_expand_compare.
17852 (ix86_expand_compare): Add op0 and op1 arguments. Do not access
17853 ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead.
17854 Make static.
17855 (ix86_expand_carry_flag_compare): Do not set ix86_compare_op0
17856 and ix86_compare_op1. Update calls to ix86_expand_compare.
17857 (ix86_expand_int_movcc): Ditto.
17858 (ix86_expand_fp_movcc): Ditto. Update calls to ix86_expand_setcc.
17859 * config/i386/i386-protos.h (ix86_expand_branch): Update prototype.
17860 (ix86_expand_setcc): Ditto.
17861 (ix86_expand_compare): Remove prototype.
17862 * config/i386/i386.md (cbranch<SDWIM:mode>4): Do not set
17863 ix86_compare_op0 and ix86_compare_op1. Update calls
17864 to ix86_expand_branch to directly pass operands[1] and operands[2].
17865 (cbranchxf4): Ditto.
17866 (cbranch<MODEF:mode>4): Ditto.
17867 (cbranchcc4): Ditto.
17868 (cstore<SWIM:mode>4): Do not set ix86_compare_op0 and ix86_compare_op1.
17869 Update calls to ix86_expand_setcc to directly pass operands[2] and
17870 operands[3].
17871 (cstorexf4): Ditto.
17872 (cstore<MODEF:mode>4): Ditto.
17873 (cstorecc4): Ditto.
17874
17875 2010-08-02 Bernd Schmidt <bernds@codesourcery.com>
17876
17877 PR target/45063
17878 * caller-save.c (save_call_clobbered_regs): Remove regs from
17879 hard_regs_saved when they are set.
17880
17881 2010-08-02 Uros Bizjak <ubizjak@gmail.com>
17882
17883 PR target/41089
17884 * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
17885 as volatile.
17886
17887 2010-08-02 Sebastian Pop <sebastian.pop@amd.com>
17888
17889 * common.opt (ftree-loop-distribute-patterns): New.
17890 * invoke.texi (-ftree-loop-distribute-patterns): Documented.
17891 * opts.c (decode_options): Enable flag_tree_loop_distribute_patterns
17892 at -O3.
17893 * tree-data-ref.c (stores_zero_from_loop): New.
17894 * tree-data-ref.h (stores_zero_from_loop): Declared.
17895 * tree-loop-distribution.c (tree_loop_distribution): Call
17896 stores_zero_from_loop.
17897 (tree_loop_distribution): Check flag_tree_loop_distribute_patterns.
17898
17899 2010-08-02 Bernd Schmidt <bernds@codesourcery.com>
17900
17901 * postreload.c (reload_cse_simplify_operands): Take attribute enabled
17902 into account.
17903
17904 * final.c (final_scan_insn): Call CC_STATUS_INIT unconditionally.
17905 * config/arm/arm.c (thumb1_code): New variable.
17906 (arm_override_options): Set it.
17907 (thumb1_final_prescan_insn): Keep track of condition code status.
17908 (arm_adjust_cost): For Thumb, try to keep cc-setting insns next to
17909 jumps that depend on them.
17910 * config/arm/arm.h (thumb1_code): Declare variable.
17911 (struct machine_function): Guard with #ifndef GENERATOR_FILE. Add
17912 members thumb1_cc_insn, thumb1_cc_op0, thumb1_cc_op1 and
17913 thumb1_cc_mode.
17914 (CC_STATUS_INIT): New macro.
17915 * config/arm/constraints.md (Pd): New constraint.
17916 * config/arm/predicates.md (noov_comparison_operator): New predicate.
17917 * config/arm/arm.md (is_thumb1): New define_attr.
17918 (conds): Set default to "clob" when generating Thumb1 code.
17919 (thumb1_bicsi3): Renamed from bicsi3. All uses changed. Condition
17920 code are set. Use two-operand assembly syntax.
17921 (thumb1_subsi3_insn): Condition codes are set. Now a properly named
17922 pattern.
17923 (thumb1_andsi3_insn, thumb1_iorsi3_insn, thumb1_xorsi3_insn): Condition
17924 codes are set. Use two-operand assembly syntax.
17925 (zero_extendhisi splitter): Remove constraints.
17926 (thumb1_movsi_insn, thumb1_movhi_insn, thumb1_movqi_insn, thumb1_movhf,
17927 thumb1_movsf_insn): Set conds attribute as appropriate.
17928 (cbranchsi4_insn): Use condition code status from struct
17929 machine_function to determine whether the comparison can be eliminated.
17930 Discourage the alternative using high registers.
17931 (movsi_cbranchsi4, andsi3_cbranch, orrsi3_cbranch_scratch,
17932 orrsi3_cbranch, xorsi3_cbranch_scratch, xorsi3_cbranch,
17933 bicsi3_cbranch_scratch, bicsi3_cbranch, subsi3_cbranch_scratch,
17934 subsi3_cbranch): Delete.
17935 (movsi_cbranchsi4 peepholes): Rewrite to generate a sequence of
17936 one subtract and one cbranch insn.
17937
17938 * config/arm/thumb2.md (thumb2_movdi, thumb2_movsf_soft_insn,
17939 thumb2_movdf_soft_insn): Delete patterns.
17940 * config/arm/arm.md (arm_pool_range, thumb2_pool_range,
17941 arm_neg_pool_range, thumb2_neg_pool_range): New attributes.
17942 (pool_range, neg_pool_range): Use them to define defaults.
17943 (movdi, arm_movsf_soft_insn, arm_movdf_soft_insn): Define them
17944 and allow for TARGET_32BIT.
17945
17946 PR target/40457
17947 * config/arm/arm.h (arm_regs_in_sequence): Declare.
17948 * config/arm/arm-protos.h (emit_ldm_seq, emit_stm_seq,
17949 load_multiple_sequence, store_multiple_sequence): Delete
17950 declarations.
17951 (arm_gen_load_multiple, arm_gen_store_multiple): Adjust
17952 declarations.
17953 * config/arm/ldmstm.md: New file.
17954 * config/arm/arm.c (arm_regs_in_sequence): New array.
17955 (load_multiple_sequence): Now static. New args SAVED_ORDER,
17956 CHECK_REGS. All callers changed.
17957 If SAVED_ORDER is nonnull, copy the computed order into it.
17958 If CHECK_REGS is false, don't sort REGS. Handle Thumb mode.
17959 (store_multiple_sequence): Now static. New args NOPS_TOTAL,
17960 SAVED_ORDER, REG_RTXS and CHECK_REGS. All callers changed.
17961 If SAVED_ORDER is nonnull, copy the computed order into it.
17962 If CHECK_REGS is false, don't sort REGS. Set up REG_RTXS just
17963 like REGS. Handle Thumb mode.
17964 (arm_gen_load_multiple_1): New function, broken out of
17965 arm_gen_load_multiple.
17966 (arm_gen_store_multiple_1): New function, broken out of
17967 arm_gen_store_multiple.
17968 (arm_gen_multiple_op): New function, with code from
17969 arm_gen_load_multiple and arm_gen_store_multiple moved here.
17970 (arm_gen_load_multiple, arm_gen_store_multiple): Now just
17971 wrappers around arm_gen_multiple_op. Remove argument UP, all callers
17972 changed.
17973 (gen_ldm_seq, gen_stm_seq, gen_const_stm_seq): New functions.
17974 * config/arm/predicates.md (commutative_binary_operator): New.
17975 (load_multiple_operation, store_multiple_operation): Handle more
17976 variants of these patterns with different starting offsets. Handle
17977 Thumb-1.
17978 * config/arm/arm.md: Include "ldmstm.md".
17979 (ldmsi_postinc4, ldmsi_postinc4_thumb1, ldmsi_postinc3, ldmsi_postinc2,
17980 ldmsi4, ldmsi3, ldmsi2, stmsi_postinc4, stmsi_postinc4_thumb1,
17981 stmsi_postinc3, stmsi_postinc2, stmsi4, stmsi3, stmsi2 and related
17982 peepholes): Delete.
17983 * config/arm/ldmstm.md: New file.
17984 * config/arm/arm-ldmstm.ml: New file.
17985
17986 * config/arm/arm.c (arm_rtx_costs_1): Remove second clause from the
17987 if statement which adds extra costs to frame-related expressions.
17988
17989 2010-08-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
17990
17991 * config/arm/arm.c (COSTS_N_INSNS): Remove definition.
17992
17993 2010-08-01 Uros Bizjak <ubizjak@gmail.com>
17994
17995 PR target/45142
17996 * config/i386/sse.md (vec_set<mode>_0): Do not set mode attribute for
17997 alternative 2.
17998 (vec_set<mode>_0 splitter): Use SSEMODE4S mode iterator to also
17999 split V4SI operands.
18000
18001 2010-08-01 Anatoly Sokolov <aesok@post.ru>
18002
18003 * config/mmix/mmix.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
18004 * config/mmix/mmix-protos.h (mmix_asm_output_source_filename): Remove.
18005 * config/mmix/mmix.c (mmix_asm_output_source_filename): Make static.
18006 (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Define.
18007
18008 2010-07-31 Kai Tietz <kai.tietz@onevision.com>
18009
18010 * cppdefault.c (cpp_include_defaults): Move GCC_INCLUDE_DIR before
18011 LOCAL_INCLUDE_DIR.
18012
18013 2010-07-31 Richard Sandiford <rdsandiford@googlemail.com>
18014
18015 * tree-ssa-math-opts.c (convert_plusminus_to_widen): Fix type
18016 used in the call to optab_for_tree_code. Fix the second
18017 is_widening_mult_p call. Check that both unwidened operands
18018 have the same sign.
18019
18020 2010-07-31 John Tytgat <John.Tytgat@aaug.net>
18021
18022 * config/arm/arm.c (arm_function_arg): Remove superfluous test.
18023
18024 2010-07-31 Anatoly Sokolov <aesok@post.ru>
18025
18026 * config/spu/spu.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
18027
18028 2010-07-30 DJ Delorie <dj@redhat.com>
18029
18030 * config/rx/predicates.md (rx_constshift_operand): New.
18031 * config/rx/rx.md (zs_cond): New.
18032 (cbranchsi4): Remove mode.
18033 (*cbranchsi4_<code>): Likewise.
18034 (*tstbranchsi4_<code>): New.
18035 (*tstbranchsi4r_<code>): New.
18036 (*tstbranchsi4m_eq): New.
18037 (*tstbranchsi4m_ne): New.
18038 (cbranchsf4): Remove mode.
18039 (*cbranchsf4_<code>): Likewise.
18040
18041 2010-07-30 Bernd Schmidt <bernds@codesourcery.com>
18042
18043 * rtlanal.c (simplify_subreg_regno): Don't treat
18044 HARD_FRAME_POINTER_REGNUM specially.
18045
18046 2010-07-30 Joseph Myers <joseph@codesourcery.com>
18047
18048 * common.opt (-G): Don't define option here.
18049 * config/g.opt: New.
18050 * config.gcc: Use g.opt for alpha, frv, ia64, lm32, m32r, mips,
18051 rs6000/powerpc and score targets.
18052 * opts.c (common_handle_option): Don't handle -G here.
18053 * config/alpha/alpha.c (alpha_handle_option): Handle -G.
18054 * config/frv/frv.c (frv_handle_option): Handle -G.
18055 * config/ia64/ia64.c (ia64_handle_option): Handle -G.
18056 * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION): New.
18057 * config/m32r/m32r.c (m32r_handle_option): Handle -G.
18058 * config/mips/mips.c (mips_handle_option): Handle -G.
18059 * config/rs6000/rs6000.c (rs6000_handle_option) Handle -G.
18060 * config/score/score.c (score_handle_option): Handle -G.
18061
18062 2010-07-30 Anatoly Sokolov <aesok@post.ru>
18063
18064 * config/mmix/mmix.c: Include basic-block.h.
18065
18066 2010-07-30 Jakub Jelinek <jakub@redhat.com>
18067
18068 PR debug/45055
18069 PR rtl-optimization/45137
18070 * rtl.h (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): New
18071 prototypes.
18072 * emit-rtl.c (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn):
18073 New functions.
18074 * combine.c (next_nonnote_nondebug_insn): Removed.
18075 * ifcvt.c (noce_process_if_block): Use prev_nonnote_nondebug_insn.
18076 * haifa-sched.c (queue_to_ready): Use next_nonnote_nondebug_insn.
18077 * sched-deps.c (sched_analyze_insn): Likewise.
18078 (fixup_sched_groups, deps_start_bb): Use prev_nonnote_nondebug_insn.
18079 * rtlanal.c (canonicalize_condition): Likewise.
18080 * postreload.c (reload_combine_recognize_pattern): Likewise.
18081 (reload_cse_move2add): Use next_nonnote_nondebug_insn.
18082
18083 2010-07-29 Uros Bizjak <ubizjak@gmail.com>
18084
18085 * config/i386/i386.md (int_cond): Remove code iterator.
18086 (fp_cond): Ditto.
18087 (cbranch<mode>4): Use ordered_comparison_operator predicate
18088 for operator0.
18089 (cstore<mode>4): Ditto for operator1.
18090 (mov<SWIM:mode>cc and corresponding splitter): Ditto.
18091 (add<mode>cc): ditto.
18092
18093 2010-07-30 Richard Guenther <rguenther@suse.de>
18094
18095 PR middle-end/45141
18096 * expr.c (expand_expr_real_1): Check for not handled base address.
18097
18098 2010-07-30 Richard Guenther <rguenther@suse.de>
18099
18100 * ipa-prop.c (ipa_modify_formal_parameters): Use
18101 build_distinct_type_copy.
18102
18103 2010-07-30 Anthony Green <green@moxielogic.com>
18104
18105 * config/moxie/rtems.h: New file.
18106 * config.gcc: Add moxie-rtems support.
18107
18108 2010-07-29 Bernd Schmidt <bernds@codesourcery.com>
18109
18110 * dce.c (run_word_dce): Take flag_dce into account. Clear and restore
18111 df flags as in run_fast_df_dce.
18112
18113 2010-07-29 Jakub Jelinek <jakub@redhat.com>
18114
18115 Revert:
18116 2010-07-27 Bernd Schmidt <bernds@codesourcery.com>
18117
18118 * rtl.def (NOTE): Swap operands 4 and 5.
18119 * rtl.h (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK,
18120 NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_KIND):
18121 Adjust accordingly.
18122 * gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of NOTEs.
18123
18124 2010-07-29 Jakub Jelinek <jakub@redhat.com>
18125
18126 PR debug/45110
18127 * dwarf2out.c (dwarf_attr_name): Handle DW_AT_object_pointer.
18128 (gen_formal_types_die): Add DW_AT_object_pointer in methods.
18129 (gen_subprogram_die): Likewise. Remove it when removing declaration's
18130 formal parameters.
18131 (gen_decl_die): Change return type to dw_die_ref, return what
18132 gen_formal_parameter_die returned.
18133
18134 2010-07-29 Martin Jambor <mjambor@suse.cz>
18135
18136 * dbgcnt.def (eipa_sra): New counter.
18137 * tree-sra.c (ipa_early_sra_gate): Also check eipa_sra debug counter.
18138
18139 2010-07-29 Xinliang David Li <davidxl@google.com>
18140
18141 PR bootstrap/45119
18142 * tree-ssa-loop-ivopts.c (get_address_cost): Revert change
18143 in revision 162652.
18144
18145 2010-07-29 Richard Guenther <rguenther@suse.de>
18146
18147 * timevar.def (TV_TREE_STORE_COPY_PROP): Remove.
18148 (TV_TREE_STORE_CCP): Likewise.
18149 (TV_TREE_REDPHI): Likewise.
18150
18151 2010-07-29 Richard Guenther <rguenther@suse.de>
18152
18153 * double-int.h (double_int_and_not): New function.
18154 * combine.c (try_combine): Use it.
18155 * tree-vrp.c (simplify_bit_ops_using_ranges): Likewise.
18156
18157 2010-07-29 Bernd Schmidt <bernds@codesourcery.com>
18158
18159 PR rtl-optimization/42575
18160 * dce.c (word_dce_process_block): Renamed from byte_dce_process_block.
18161 Argument AU removed. All callers changed. Ignore artificial refs.
18162 Use return value of df_word_lr_simulate_defs to decide whether an insn
18163 is necessary.
18164 (fast_dce): Rename arg to WORD_LEVEL.
18165 (run_word_dce): Renamed from rest_of_handle_fast_byte_dce. No longer
18166 static.
18167 (pass_fast_rtl_byte_dce): Delete.
18168 * dce.h (run_word_dce): Declare.
18169 * df-core.c (df_print_word_regset): Renamed from df_print_byteregset.
18170 All callers changed. Simplify code to only deal with two-word regs.
18171 * df.h (DF_WORD_LR): Renamed from DF_BYTE_LR.
18172 (DF_WORD_LR_BB_INFO): Renamed from DF_BYTE_LR_BB_INFO.
18173 (DF_WORD_LR_IN): Renamed from DF_BYTE_LR_IN.
18174 (DF_WORD_LR_OUT): Renamed from DF_BYTE_LR_OUT.
18175 (struct df_word_lr_bb_info): Renamed from df_byte_lr_bb_info.
18176 (df_word_lr_mark_ref): Declare.
18177 (df_word_lr_add_problem, df_word_lr_mark_ref, df_word_lr_simulate_defs,
18178 df_word_lr_simulate_uses): Declare or rename from byte variants.
18179 (df_byte_lr_simulate_artificial_refs_at_top,
18180 df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start,
18181 df_byte_lr_get_regno_len, df_compute_accessed_bytes): Delete
18182 declarations.
18183 (df_word_lr_get_bb_info): Rename from df_byte_lr_get_bb_info.
18184 (enum df_mm): Delete.
18185 * df-byte-scan.c: Delete file.
18186 * df-problems.c (df_word_lr_problem_data): Renamed from
18187 df_byte_lr_problem_data, all members deleted except for
18188 WORD_LR_BITMAPS, which is renamed from BYTE_LR_BITMAPS. Uses changed.
18189 (df_word_lr_expand_bitmap, df_byte_lr_simulate_artificial_refs_at_top,
18190 df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start,
18191 df_byte_lr_get_regno_len, df_byte_lr_check_regs,
18192 df_byte_lr_confluence_0): Delete functions.
18193 (df_word_lr_free_bb_info): Renamed from df_byte_lr_free_bb_info; all
18194 callers changed.
18195 (df_word_lr_alloc): Renamed from df_byte_lr_alloc; all callers changed.
18196 Don't initialize members that were deleted, don't try to discover data
18197 about registers. Ignore hard regs.
18198 (df_word_lr_reset): Renamed from df_byte_lr_reset; all callers changed.
18199 (df_word_lr_mark_ref): New function.
18200 (df_word_lr_bb_local_compute): Renamed from
18201 df_byte_bb_lr_local_compute; all callers changed. Use
18202 df_word_lr_mark_ref. Assert that artificial refs don't include
18203 pseudos. Ignore hard registers.
18204 (df_word_lr_local_compute): Renamed from df_byte_lr_local_compute.
18205 Assert that exit block uses don't contain pseudos.
18206 (df_word_lr_init): Renamed from df_byte_lr_init; all callers changed.
18207 (df_word_lr_confluence_n): Renamed from df_byte_lr_confluence_n; all
18208 callers changed. Ignore hard regs.
18209 (df_word_lr_transfer_function): Renamed from
18210 df_byte_lr_transfer_function; all callers changed.
18211 (df_word_lr_free): Renamed from df_byte_lr_free; all callers changed.
18212 (df_word_lr_top_dump): Renamed from df_byte_lr_top_dump; all callers
18213 changed.
18214 (df_word_lr_bottom_dump): Renamed from df_byte_lr_bottom_dump; all
18215 callers changed.
18216 (problem_WORD_LR): Renamed from problem_BYTE_LR; uses changed;
18217 confluence operator 0 set to NULL.
18218 (df_word_lr_add_problem): Renamed from df_byte_lr_add_problem; all
18219 callers changed.
18220 (df_word_lr_simulate_defs): Renamed from df_byte_lr_simulate_defs.
18221 Return bool, true if bitmap changed or insn otherwise necessary.
18222 All callers changed. Simplify using df_word_lr_mark_ref.
18223 (df_word_lr_simulate_uses): Renamed from df_byte_lr_simulate_uses;
18224 all callers changed. Simplify using df_word_lr_mark_ref.
18225 * lower-subreg.c: Include "dce.h"
18226 (decompose_multiword_subregs): Call run_word_dce if df available.
18227 * Makefile.in (lower-subreg.o): Adjust dependencies.
18228 (df-byte-scan.o): Delete.
18229 * timevar.def (TV_DF_WORD_LR): Renamed from TV_DF_BYTE_LR.
18230
18231 2010-07-29 Richard Guenther <rguenther@suse.de>
18232
18233 * tree.c (build_vector): Assert that the vector constant
18234 has enough elements.
18235 (build_vector_from_ctor): Pad with trailing zeros.
18236
18237 2010-07-29 Richard Guenther <rguenther@suse.de>
18238
18239 PR tree-optimization/45120
18240 * tree-ssa-structalias.c (get_constraint_for_component_ref):
18241 Handle offset in DEREFs properly.
18242 (get_constraint_for_1): Handle MEM_REF offset properly.
18243
18244 2010-07-29 Richard Guenther <rguenther@suse.de>
18245
18246 PR middle-end/45034
18247 * convert.c (convert_to_integer): Always use an unsigned
18248 type for narrowed negate and bitwise not.
18249
18250 2010-07-29 Ira Rosen <irar@il.ibm.com>
18251
18252 * tree-vect-loop.c (vect_create_epilog_for_reduction): Switch
18253 to outer loop when creating reduction epilogue for double reduction,
18254 and switch back to the inner loop when updating the phi nodes.
18255 Update uses of outer loop exit phi nodes in double reduction (instead
18256 of uses of reduction).
18257
18258 2010-07-28 Michael Meissner <meissner@linux.vnet.ibm.com>
18259
18260 * config/rs6000/rs6000.c (rs6000_rtx_costs): Update costs for
18261 popcount on power7 and parity on power6 systems.
18262 (rs6000_emit_popcount): Rename gen_popcntwsi2 to gen_popcntddi2.
18263 (rs6000_emit_parity): Add support for power6 prtyd/prtyw
18264 instructions.
18265
18266 * config/rs6000/rs6000.md (UNSPEC_COPYSIGN): New unspec.
18267 (UNSPEC_PARITY): Ditto.
18268 (SFDF): New iterator for SF/DF.
18269 (rreg2): New mode attribute for floating register constraint.
18270 (TARGET_FLOAT): New mode attribute for whether single/double float
18271 is supported.
18272 (popcntd<mode>2): Combine popcntwsi2 and popcntddi2 into one
18273 pattern.
18274 (parity<mode>2_cmpb): New insn for parity on power6 and newer
18275 machines.
18276 (copysign<mode>3): Combine copysignsf3, copysigndf3 into one
18277 pattern. Add support for fcpsgn instruction added in power6.
18278 (copysignsf3): Delete.
18279 (copysigndf3): Delete.
18280 (copysign<mode>3_fcpsgn): New insn to generate fcpsgn. Use UNSPEC
18281 instead of if_then_else in RTL to avoid problems with -0.
18282
18283 * config/rs6000/vsx.md (vsx_copysign<mode>3): Use UNSPEC instead
18284 of if_then_else to mirror scalar code.
18285 (vsx_copysignsf3): Delete, use copysign<mode>3_fcpsgn in
18286 rs6000.md.
18287
18288 * config/rs6000/vector.md (vector_copysign<mode>3): Use UNSPEC
18289 instead of if_then_else.
18290
18291 2010-07-28 Xinliang David Li <davidxl@google.com>
18292
18293 * tree-ssa-loop-ivopts.c (avg_loop_niter): New function.
18294 (dump_cand): Dump var_before/after.
18295 (htab_inv_expr_eq): New function.
18296 (htab_inv_expr_hash): New function.
18297 (tree_ssa_iv_optimize_init): Support pseudo invariants.
18298 (add_candidate_1): consider base type precision.
18299 (set_use_iv_cost): New parameter.
18300 (adjust_setup_cost): Use profile information.
18301 (get_address_cost): Do not hard code width in computing address
18302 offset limits.
18303 (compare_aff_trees): New function.
18304 (get_loop_invariant_expr_id): New function.
18305 (get_computation_cost_at): New parameter and use profile information.
18306 (get_computation_cost): New parameter.
18307 (determine_use_iv_cost_generic): Pass new parameter.
18308 (determine_use_iv_cost_address): Ditto.
18309 (determine_use_iv_cost_condition): Ditto.
18310 (autoinc_possible_for_pair): Ditto.
18311 (determine_use_iv_costs): More dumps.
18312 (iv_ca_get_num_inv_exprs): New function.
18313 (iv_ca_recount_cost): Consider loop invariants in register pressure
18314 cost.
18315 (iv_ca_add_use): New parameter.
18316 (iv_ca_dump): Better dumping.
18317 (iv_ca_extend): New parameter.
18318 (try_add_cand_for): Attempt to get better partial solution.
18319 (try_improve_iv_set): Pass new parameter to iv_ca_extend.
18320 (create_new-ivs): More dumps.
18321 (rewrite_use_compare): Ditto.
18322 (free_loop_data): More cleanup.
18323 (treee_ssa_iv_optimize_finalize): Ditto.
18324
18325 2010-07-28 Kai Tietz <kai.tietz@onevision.com>
18326
18327 * config/i386/i386.h (MCOUNT_NAME_BEFORE_PROLOGUE): New.
18328 * config/i386/i386.c (ix86_profile_before_prologue): New.
18329 (override_options): Add special handling for -mfentry.
18330 (ix86_function_regparm): Likewise.
18331 (ix86_function_sseregparm): Likewise.
18332 (ix86_frame_pointer_required): Likewise.
18333 (ix86_expand_prologue): Check for ms_hook_prologue.
18334 (x86_function_profiler): Adjust mcount output.
18335 (TARGET_PROFILE_BEFORE_PROLOGUE): Define hook.
18336 * config/i386/i386.opt (mfentry): New.
18337 * doc/invoke.texi (mfentry): Add documentation.
18338 * doc/tm.texi: Regenerated..
18339 * doc/tm.texi.in (TARGET_PROFILE_BEFORE_PROLOGUE): New.
18340 * final.c (final_start_function): Replace macro
18341 PROFILE_BEFORE_PROLOGUE by target hook.
18342 * function.c (thread_prologue_and_epilogue_insns): Likewise.
18343 * target.def (profile_before_prologue): New hook.
18344 * targhooks.c (default_profile_before_prologue): New.
18345 * targhooks.h (default_profile_before_prologue): New.
18346
18347 2010-07-28 Jakub Jelinek <jakub@redhat.com>
18348
18349 PR debug/45105
18350 * gcse.c (hoist_code): Use FOR_BB_INSNS macro.
18351
18352 PR debug/45103
18353 * dwarf2out.c (dwarf2out_var_location): Always consider
18354 NOTE_DURING_CALL_P notes, even when not followed by real instructions.
18355
18356 2010-07-28 Maxim Kuvyrkov <maxim@codesourcery.com>
18357
18358 PR rtl-optimization/45107
18359 * gcse.c (hash_scan_set): Use max_distance for gcse-las.
18360
18361 2010-07-28 Richard Guenther <rguenther@suse.de>
18362
18363 * tree-ssa-ccp.c: Remove comment regarding STORE-CCP.
18364 (set_lattice_value): Do not query an old default value.
18365 (get_value_for_expr): New function. Properly canonicalize
18366 float values.
18367 (ccp_visit_phi_node): Use it.
18368
18369 2010-07-28 Chung-Lin Tang <cltang@codesourcery.com>
18370
18371 * config/arm/arm.c (arm_pcs_default): Remove static.
18372 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_PCS or
18373 __ARM_PCS_VFP to indicate soft/hard-float calling convention.
18374 (arm_pcs_default): Declare.
18375
18376 2010-07-28 Iain Sandoe <iains@gcc.gnu.org>
18377
18378 * config/rs6000/rs6000.c (rs6000_override_options):
18379 Use TARGET_MACHO inline, move darwin_one_byte_bool from here...
18380 ... to darwin_rs6000_override_options.
18381 (rs6000_return_in_memory): Update preceding comment for darwin
18382 64 bit ABI. Use TARGET_MACHO inline.
18383 (rs6000_darwin64_struct_check_p): New.
18384 (function_arg_advance): Use rs6000_darwin64_struct_check_p.
18385 (function_arg): Likewise.
18386 (rs6000_arg_partial_bytes): Likewise.
18387 (rs6000_function_value): Likewise.
18388
18389 2010-07-28 Andi Kleen <ak@linux.intel.com>
18390
18391 * lto-opts.c (lto_file_read_options): Add loop over all inputs.
18392
18393 2010-07-28 Richard Guenther <rguenther@suse.de>
18394
18395 PR middle-end/44903
18396 * builtins.c (fold_builtin_memory_op): On STRICT_ALIGNMENT
18397 targets try harder to not generate unaligned accesses.
18398
18399 2010-07-28 Maxim Kuvyrkov <maxim@codesourcery.com>
18400
18401 PR rtl-optimization/45101
18402 * gcse.c (hash_scan_set): Fix argument ordering of insert_expr_in_table
18403 for gcse-las.
18404
18405 2010-07-28 Eric Botcazou <ebotcazou@adacore.com>
18406
18407 PR tree-optimization/44885
18408 * tree-sra.c (find_param_candidates): Skip pointer types to arrays
18409 with non-aliased component.
18410
18411 2010-07-28 Joseph Myers <joseph@codesourcery.com>
18412
18413 * config/darwin-driver.c (SWITCH_TAKES_ARG,
18414 WORD_SWITCH_TAKES_ARG): Remove.
18415 * cppspec.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
18416 * defaults.h (DEFAULT_SWITCH_TAKES_ARG,
18417 DEFAULT_WORD_SWITCH_TAKES_ARG): Move from gcc.h.
18418 (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move default
18419 definitions from gcc.c.
18420 * gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move to
18421 defaults.h.
18422 * gcc.h (DEFAULT_SWITCH_TAKES_ARG, DEFAULT_WORD_SWITCH_TAKES_ARG):
18423 Move to defaults.h.
18424 * opts-common.c: Include tm.h.
18425 (decode_cmdline_option): Use SWITCH_TAKES_ARG and
18426 WORD_SWITCH_TAKES_ARG to count arguments to unknown options.
18427 Handle more than one argument. Set canonical_option_num_elements.
18428 (decode_cmdline_options_to_array): Set
18429 canonical_option_num_elements and trailing elements of
18430 canonical_option.
18431 * opts.h (struct cl_decoded_option): Allow four elements in
18432 canonical_option. Add field canonical_option_num_elements.
18433 * Makefile.in (opts-common.o): Update dependencies.
18434
18435 2010-07-28 Eric Botcazou <ebotcazou@adacore.com>
18436
18437 PR middle-end/44790
18438 PR middle-end/44993
18439 * expr.c (expand_expr_real_1) <MEM_REF>: Revert latest change. Make
18440 sure the base has address_mode before adding the offset.
18441
18442 2010-07-27 Xinliang David Li <davidxl@google.com>
18443
18444 * tree-flow.h (create_mem_ref): Add one new parameter.
18445 * tree-ssa-address.c (create_mem_ref): New parameter.
18446 (addr_to_parts): Ditto.
18447 (move_variant_to_index): New function.
18448 * tree-ssa-loop-ivopts.c (rewrite_use_address): Pass new argument.
18449
18450 2010-07-27 Bernd Schmidt <bernds@codesourcery.com>
18451
18452 * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, NOTE): Swap operands
18453 4 and 5.
18454 * rtl.h (PATTERN, INSN_LOCATOR, NOTE_DATA, NOTE_DELETED_LABEL_NAME,
18455 NOTE_BLOCK, NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION,
18456 NOTE_KIND, LABEL_NUSES, LABEL_REFS): Adjust accordingly.
18457 * gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of
18458 CODE_LABELs and NOTEs.
18459 * caller-save.c (init_caller_save): Fix up gen_rtx_INSN call.
18460 * combine.c (try_combine): Likewise.
18461 * ira.c (setup_prohibited_mode_move_regs): Likewise.
18462 * print-rtl.c (print_rtx): Start REG_NOTES on a new line.
18463
18464 2010-07-27 Joseph Myers <joseph@codesourcery.com>
18465
18466 * coretypes.h (struct cl_option_handlers): Declare.
18467 * hooks.c (hook_int_size_t_constcharptr_int_0): Remove.
18468 * hooks.h (hook_int_size_t_constcharptr_int_0): Remove.
18469 * langhooks-def.h (lhd_handle_option): Declare.
18470 (LANG_HOOKS_HANDLE_OPTION): Use lhd_handle_option.
18471 * langhooks.c (lhd_handle_option): New.
18472 * langhooks.h (struct lang_hooks): Update prototype and return
18473 value type of handle_option hook.
18474 * optc-gen.awk: Generate target_flags_explicit definition for the
18475 driver.
18476 * opts-common.c: Include diagnostic.h.
18477 (handle_option): Move from opts.c. Update prototype and return
18478 value type. Use handlers structure.
18479 (read_cmdline_option): Move from opts.c. Update prototype. Use
18480 handlers structure.
18481 (set_option): Move from opts.c.
18482 * opts.c (common_handle_option): Update prototype and return value
18483 type. Update calls to handle_option and enable_warning_as_error.
18484 (unknown_option_callback, post_handling_callback,
18485 lang_handle_option, target_handle_option): New.
18486 (handle_option, read_cmdline_option): Move to opts-common.c.
18487 (read_cmdline_options): Update prototype. Update call to
18488 read_cmdline_option.
18489 (decode_options): Initialize and use handlers structure.
18490 (set_option): Move to opts-common.c.
18491 (enable_warning_as_error): Update prototype. Update call to
18492 handle_option.
18493 * opts.h (struct cl_option_handler_func, struct
18494 cl_option_handlers): New.
18495 (handle_option, enable_warning_as_error): Update prototypes.
18496 (read_cmdline_option): Declare.
18497 * Makefile.in (opts-common.o): Update dependencies.
18498
18499 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
18500
18501 * config/arm/arm.c (params.h): Include.
18502 (arm_override_options): Tune gcse-unrestricted-cost.
18503 * config/arm/t-arm (arm.o): Define dependencies.
18504
18505 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
18506
18507 PR target/42495
18508 PR middle-end/42574
18509 * basic-block.h (get_dominated_to_depth): Declare.
18510 * dominance.c (get_dominated_to_depth): New function, use
18511 get_all_dominated_blocks as a base.
18512 (get_all_dominated_blocks): Use get_dominated_to_depth.
18513
18514 * gcse.c (occr_t, VEC (occr_t, heap)): Define.
18515 (hoist_exprs): Remove.
18516 (alloc_code_hoist_mem, free_code_hoist_mem): Update.
18517 (compute_code_hoist_vbeinout): Add debug print outs.
18518 (hoist_code): Partially rewrite, simplify. Use get_dominated_to_depth.
18519
18520 * params.def (PARAM_MAX_HOIST_DEPTH): New parameter to avoid
18521 quadratic behavior.
18522 * params.h (MAX_HOIST_DEPTH): New macro.
18523 * doc/invoke.texi (max-hoist-depth): Document.
18524
18525 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
18526
18527 PR rtl-optimization/40956
18528 * config/arm/arm.c (thumb1_size_rtx_costs): Fix cost of simple
18529 constants.
18530
18531 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
18532
18533 PR target/42495
18534 PR middle-end/42574
18535 * config/arm/arm.c (legitimize_pic_address): Use
18536 gen_calculate_pic_address pattern to emit calculation of PIC address.
18537 (will_be_in_index_register): New function.
18538 (arm_legitimate_address_outer_p, thumb2_legitimate_address_p,)
18539 (thumb1_legitimate_address_p): Use it provided !strict_p.
18540 * config/arm/arm.md (calculate_pic_address): New expand and split.
18541
18542 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
18543
18544 PR target/42495
18545 PR middle-end/42574
18546 * config/arm/arm.c (thumb1_size_rtx_costs): Add cost for "J" constants.
18547 * config/arm/arm.md (define_split "J", define_split "K"): Make
18548 IRA/reload friendly.
18549
18550 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
18551
18552 * gcse.c (insert_insn_end_basic_block): Update signature, remove
18553 unused checks.
18554 (pre_edge_insert, hoist_code): Update.
18555
18556 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
18557
18558 PR target/42495
18559 PR middle-end/42574
18560 * gcse.c (hoist_expr_reaches_here_p): Remove excessive check.
18561
18562 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
18563
18564 * gcse.c (hoist_code): Generate new pseudo for every new set insn.
18565
18566 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
18567
18568 PR rtl-optimization/40956
18569 PR target/42495
18570 PR middle-end/42574
18571 * gcse.c (compute_code_hoist_vbeinout): Consider more expressions
18572 for hoisting.
18573 (hoist_code): Count occurences in current block too.
18574
18575 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
18576
18577 * gcse.c (struct expr:max_distance): New field.
18578 (doing_code_hoisting_p): New static variable.
18579 (want_to_gcse_p): Change signature. Allow constrained hoisting of
18580 simple expressions, don't change behavior for PRE. Set max_distance.
18581 (insert_expr_in_table): Set new max_distance field.
18582 (hash_scan_set): Update.
18583 (hoist_expr_reaches_here_p): Stop search after max_distance
18584 instructions.
18585 (find_occr_in_bb): New static function. Use it in ...
18586 (hoist_code): Calculate sizes of basic block before any changes are
18587 done. Pass max_distance to hoist_expr_reaches_here_p.
18588 (one_code_hoisting_pass): Set doing_code_hoisting_p.
18589
18590 * params.def (PARAM_GCSE_COST_DISTANCE_RATIO,)
18591 (PARAM_GCSE_UNRESTRICTED_COST): New parameters.
18592 * params.h (GCSE_COST_DISTANCE_RATIO, GCSE_UNRESTRICTED_COST): New
18593 macros.
18594 * doc/invoke.texi (gcse-cost-distance-ratio, gcse-unrestricted-cost):
18595 Document.
18596
18597 2010-07-27 Jeff Law <law@redhat.com>
18598 Maxim Kuvyrkov <maxim@codesourcery.com>
18599
18600 * gcse.c (compute_transpout, transpout): Remove, move logic
18601 to prune_expressions.
18602 (compute_pre_data): Move pruning of trapping expressions ...
18603 (prune_expressions): ... here. New static function.
18604 (compute_code_hoist_data): Use it.
18605 (alloc_code_hoist_mem, free_code_hoist_mem, hoist_code): Update.
18606
18607 2010-07-27 Xinliang David Li <davidxl@google.com>
18608
18609 * tree-ssa-loop-ivopts.c (adjust_iv_update_pos): New function.
18610 (rewrite_use_address): Adjust iv update position when needed.
18611
18612 2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
18613
18614 * dbgcnt.def (hoist_insn): New debug counter.
18615 * gcse.c (hoist_code): Use it.
18616
18617 2010-07-27 Xinliang David Li <davidxl@google.com>
18618
18619 * tree-ssa-loop-ivopts.c (niter_for_exit): New parameter.
18620 (niter_for_single_dom_exit): Passes additional parameter.
18621 (iv_period): Fix comments.
18622 (may_eliminate_iv): Handles multiple exit loops properly.
18623 (free_tree_niter_desc): New function.
18624 (free_loop_data): Frees up loop iteration descriptors.
18625
18626 2010-07-27 Jakub Jelinek <jakub@redhat.com>
18627
18628 PR target/44542
18629 * cfgexpand.c (expand_one_stack_var_at): Limit align to maximum
18630 of max_used_stack_slot_alignment and PREFERRED_STACK_BOUNDARY
18631 instead of MAX_SUPPORTED_STACK_ALIGNMENT.
18632 (expand_one_var): Don't consider DECL_ALIGN for variables for
18633 which expand_one_stack_var_at has been already called.
18634
18635 PR testsuite/44701
18636 * doc/md.texi: Clarify m and es constraints on PowerPC and m and S
18637 constraints on IA-64.
18638
18639 2010-07-27 Jie Zhang <jie@codesourcery.com>
18640
18641 PR target/44290
18642 Revert:
18643 2010-07-23 Jie Zhang <jie@codesourcery.com>
18644
18645 * tree-sra.c (ipa_sra_preliminary_function_checks): Return
18646 false if ! tree_versionable_function_p.
18647
18648 2010-07-27 Jakub Jelinek <jakub@redhat.com>
18649
18650 * dwarf2out.c (add_data_member_location_attribute): Use
18651 add_AT_unsigned instead of add_AT_int if offset is non-negative.
18652
18653 2010-07-27 Bernd Schmidt <bernds@codesourcery.com>
18654
18655 * postreload.c (try_replace_in_use): New static function.
18656 (reload_combine_recognize_const_pattern): Use it here. Allow
18657 substituting into a final add insn, and substituting into a memory
18658 reference in an insn that sets the reg.
18659
18660 2010-07-27 Joseph Myers <joseph@codesourcery.com>
18661
18662 * common.opt (o): Add MissingArgError.
18663 * doc/options.texi (MissingArgError): Document.
18664 * hooks.c (hook_bool_constcharptr_size_t_false): Remove.
18665 * hooks.h (hook_bool_constcharptr_size_t_false): Remove.
18666 * langhooks-def.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
18667 (LANG_HOOKS_INITIALIZER): Remove missing_argument hook initializer.
18668 * langhooks.h (struct lang_hooks): Remove missing_argument.
18669 * optc-gen.awk: Handle MissingArgError and output new structure
18670 field initializers.
18671 * opts.c (read_cmdline_option): Use missing_argument_error field
18672 instead of missing_argument langhook.
18673 * opts.h (struct cl_option): Add missing_argument_error field.
18674 * system.h (LANG_HOOKS_MISSING_ARGUMENT): Poison.
18675
18676 2010-07-27 Iain Sandoe <iains@gcc.gnu.org>
18677
18678 PR target/29090
18679 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Special-case the
18680 Darwin64 ABI, for zero-sized objects.
18681
18682 2010-07-27 Iain Sandoe <iains@gcc.gnu.org>
18683
18684 PR target/35491
18685 PR target/29090
18686
18687 Merge from Apple local 4.2.1.
18688 2005-05-11 Stan Shebs <shebs@apple.com>
18689 Fix 64-bit varargs for Darwin (Radar 4028089).
18690 * config/rs6000/rs6000.h (rs6000_args): New field floats_in_gpr.
18691 * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush):
18692 Add argument, add case for 8-byte register half-filled with a float.
18693 (rs6000_darwin64_record_arg_advance_recurse): Detect and handle
18694 single-precision floats specially.
18695
18696 2010-07-27 Ira Rosen <irar@il.ibm.com>
18697
18698 PR tree-optimization/44152
18699 * tree-vect-slp.c (vect_build_slp_tree): Collect nodes with
18700 complex numbers for further check.
18701 (vect_supported_load_permutation_p): Check nodes with
18702 complex numbers.
18703
18704 2010-07-27 Joseph Myers <joseph@codesourcery.com>
18705
18706 * langhooks-def.h (lhd_init_options, LANG_HOOKS_OPTION_LANG_MASK,
18707 LANG_HOOKS_COMPLAIN_WRONG_LANG_P): New.
18708 (LANG_HOOKS_INIT_OPTIONS): Update default definition.
18709 (LANG_HOOKS_INITIALIZER): Add new hooks.
18710 * langhooks.c (lhd_init_options, lhd_complain_wrong_lang_p): New.
18711 * langhooks.h (struct lang_hooks): Add new hooks option_lang_mask
18712 and complain_wrong_lang_p. Update init_options prototype.
18713 * c-objc-common.c (c_initialize_diagnostics): First call
18714 c_common_initialize_diagnostics.
18715 * c-objc-common.h (LANG_HOOKS_OPTION_LANG_MASK,
18716 LANG_HOOKS_COMPLAIN_WRONG_LANG_P): Define.
18717 * coretypes.h (struct cl_option, struct cl_decoded_option): Declare.
18718 * hooks.c (hook_uint_uint_constcharptrptr_0): Remove.
18719 (hook_uint_void_0): New.
18720 * hooks.h (hook_uint_uint_constcharptrptr_0): Remove.
18721 (hook_uint_void_0): New.
18722 * opts-common.c (decode_cmdline_option,
18723 decode_cmdline_options_to_array): Also fill in canonical_option field.
18724 * opts.c (complain_wrong_lang): Use langhook to determine whether
18725 to complain instead of special-casing LTO.
18726 (decode_options): Separate lang_mask determination with
18727 option_lang_mask hook from call of init_options hook.
18728 * opts.h (struct cl_decoded_option): Add canonical_option.
18729
18730 2010-07-27 Jakub Jelinek <jakub@redhat.com>
18731
18732 PR tree-optimization/45083
18733 * tree-inline.c (add_local_variables): Also remap DECL_DEBUG_EXPR.
18734
18735 2010-07-27 Bernd Schmidt <bernds@codesourcery.com>
18736
18737 * postreload.c (reload_combine_recognize_const_pattern): Move test
18738 for limiting the insn movement to the right scope.
18739
18740 PR rtl-optimization/45051
18741 * reload1.c (delete_output_reload): Use refers_to_regno_p rather
18742 than reg_mentioned_p.
18743
18744 2010-07-26 Richard Henderson <rth@redhat.com>
18745
18746 PR target/44132
18747 * tree-emutls.c: New file.
18748 * Makefile.in (OBJS-common): Add it.
18749 * tree-pass.h (pass_ipa_lower_emutls): Declare.
18750 * passes.c (init_optimization_passes): Add it.
18751
18752 * dwarf2out.c (loc_list_from_tree): If emutls.debug_form_tls_address,
18753 pull the control variable from DECL_VALUE_EXPR, not emutls_decl.
18754 * expr.c (emutls_var_address): Delete.
18755 (expand_expr_addr_expr_1, expand_expr_real_1): Don't use it.
18756 * output.h (SECCAT_EMUTLS_VAR, SECCAT_EMUTLS_TMPL): Delete.
18757 (emutls_finish): Delete.
18758 * toplev.c (compile_file): Don't call it.
18759 * tree.h (emutls_decl): Delete.
18760 * varasm.c (emutls_htab, DECL_EMUTLS_VAR_P): Delete.
18761 (emutls_finish, emutls_finalize_control_var): Delete.
18762 (emutls_object_type): Move to tree-emutls.c.
18763 (EMUTLS_SEPARATOR, prefix_name, get_emutls_object_name,
18764 default_emutls_var_fields, get_emutls_object_type,
18765 get_emutls_init_templ_addr, emutls_decl, emutls_common_1
18766 default_emutls_var_init): Likewise.
18767 (get_variable_section): Don't special case emutls.
18768 (assemble_variable, do_assemble_alias, categorize_decl_for_section,
18769 default_elf_select_section, default_unique_section,
18770 default_encode_section_info): Likewise.
18771 * varpool.c (decide_is_variable_needed): Likewise.
18772 * gimple-iterator.c (update_call_edge_frequencies): New
18773 (gsi_insert_on_edge_immediate): Use it.
18774 (gsi_insert_seq_on_edge_immediate): Likewise.
18775 (gsi_commit_one_edge_insert): Likewise.
18776
18777 * config/i386/i386.c (x86_64_elf_select_section): Don't handle
18778 SECCAT_EMUTLS_VAR, SECCAT_EMUTLS_TMPL.
18779 (x86_64_elf_unique_section): Likewise.
18780
18781 2010-07-26 Jan Hubicka <jh@suse.cz>
18782
18783 * lto-streamer.h (struct lto_file_decl_data): Mark resolutions with
18784 GTY((skip)).
18785
18786 2010-07-26 Anatoly Sokolov <aesok@post.ru>
18787
18788 * target.def (output_source_filename): New hook.
18789 * doc/tm.texi.in (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Document.
18790 * doc/tm.texi: Regenerate.
18791 * toplev.c (output_file_directive) Remove function.
18792 * toplev.h (output_file_directive) Remove.
18793 * output.h (default_asm_output_source_filename,
18794 output_file_directive): Declare.
18795 * varasm.h (default_asm_output_source_filename,
18796 output_file_directive): New functions.
18797
18798 * config/mips/mips.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
18799 * config/mips/mips-protos.h (mips_output_filename): Remove.
18800 * config/mips/mips.c (mips_output_filename): Make Static.
18801 (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Define.
18802
18803 2010-07-26 Richard Guenther <rguenther@suse.de>
18804
18805 PR tree-optimization/43784
18806 * tree-nrv.c (dest_safe_for_nrv_p): It's not safe to NRV
18807 if the destination is used by the call.
18808
18809 2010-07-26 Richard Guenther <rguenther@suse.de>
18810
18811 PR middle-end/45073
18812 * gimple-fold.c (gimplify_and_update_call_from_tree): Conditionalize
18813 SSA updating on being in SSA form.
18814
18815 2010-07-26 Richard Guenther <rguenther@suse.de>
18816
18817 PR middle-end/45056
18818 * gimple-fold.c (fold_stmt_1): Also fold references in debug stmts.
18819
18820 2010-07-26 Richard Guenther <rguenther@suse.de>
18821
18822 PR tree-optimization/45071
18823 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Always
18824 adjust op->opcode.
18825
18826 2010-07-26 Naveen.H.S <naveen.S@kpitcummins.com>
18827
18828 * config/v850/lib1funcs.asm (save_r2_r31, return_r2_r31,
18829 save_r20_r31, return_r20_r31, save_r21_r31, return_r21_r31,
18830 save_r22_r31, return_r22_r31, save_r23_r31, return_r23_r31,
18831 save_r24_r31, return_r24_r31, save_r25_r31, return_r25_r31,
18832 save_r26_r31, return_r26_r31, save_r27_r31, return_r27_r31,
18833 save_r28_r31, return_r28_r31, save_r29_r31, return_r29_r31,
18834 save_r31, return_r31, save_interrupt, return_interrupt,
18835 save_all_interrupt, return_all_interrupt, L_save_r2_r31,
18836 L_return_interrupt, callt_return_interrupt, L_restore_all_interrupt,
18837 L_save_##START##_r31c, L_callt_save_r31c): Updated as per the
18838 new ABI requirements.
18839 (save_r6_r9, L_callt_save_r6_r9): Remove.
18840 * config/v850/predicates.md (even_reg_operand, disp23_operand,
18841 const_float_1_operand const_float_0_operand): New Predicates.
18842 (pattern_is_ok_for_prepare, pattern_is_ok_for_prologue,
18843 pattern_is_ok_for_epilogue): Update as per the ABI requirements.
18844 * config/v850/t-v850: Update multilibs for new target variants.
18845 (save_varargs, callt_save_varargs, callt_save_r6_r9): Remove.
18846 * config/v850/t-v850e: Likewise.
18847 * config/v850/v850.c (v850_issue_rate): New.
18848 (v850_strict_argument_naming): New.
18849 (function_arg): Modify to generate a different ABI.
18850 (print_operand): Update case 'z' to support float modes.
18851 (output_move_single): Modify to generate appropriate and better
18852 assembly.
18853 (v850_float_z_comparison_operator, v850_select_cc_mode,
18854 v850_float_nz_comparison_operator, v850_gen_float_compare,
18855 v850_gen_compare): New functions to support comparison of float values.
18856 (ep_memory_offset): Add support for V850E2 targets.
18857 (INTERRUPT_FIXED_NUM, INTERRUPT_ALL_SAVE_NUM): Update.
18858 (INTERRUPT_REGPARM_NUM): Remove.
18859 (compute_register_save_size): Add extra case to save/restore long call.
18860 (use_prolog_function): New function to support prologue.
18861 (expand_prologue): Add support for V850E2 targets and modified
18862 as per the current ABI requirements.
18863 (expand_epilogue): Likewise.
18864 (construct_restore_jr): Modify based on TARGET_LONG_CALLS.
18865 (construct_save_jarl): Likewise.
18866 (construct_dispose_instruction): Update as per the current ABI
18867 requirements.
18868 (construct_prepare_instruction): Likewise.
18869 * config/v850/v850.h (TARGET_CPU_DEFAULT): Add target predefines.
18870 (TARGET_CPU_v850e2, TARGET_CPU_v850e2v3): Define
18871 (CPP_SPEC): Updated to support v850e2 targets.
18872 (STRICT_ALIGNMENT): Modified.
18873 (FIRST_PSEUDO_REGISTER): Updated to add even registers.
18874 (FIXED_REGISTERS): Likewise.
18875 (CALL_USED_REGISTERS): Likewise.
18876 (CONDITIONAL_REGISTER_USAGE): Updated.
18877 (HARD_REGNO_MODE_OK): Updated.
18878 (reg_class): Updated to add even registers.
18879 (REG_CLASS_NAMES): Likewise.
18880 (REG_CLASS_CONTENTS): Likewise.
18881 (REGNO_REG_CLASS): Updated for CC registers.
18882 (REG_CLASS_FROM_LETTER): Added support for even registers.
18883 (REGNO_OK_FOR_BASE_P): Updated for CC registers.
18884 (STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM, LINK_POINTER_REGNUM,
18885 ARG_POINTER_REGNUM): Updated.
18886 (FUNCTION_ARG_ADVANCE): Define.
18887 (REG_PARM_STACK_SPACE): Update as per the current ABI requirements.
18888 (OUTGOING_REG_PARM_STACK_SPACE): Remove.
18889 (EXTRA_CONSTRAINT): Add new constraint 'W' for 23-bit displacement.
18890 (GO_IF_LEGITIMATE_ADDRESS): Updated.
18891 (SELECT_CC_MODE): Define.
18892 (REGISTER_NAMES): Updated to add psw and fcc registers.
18893 (ADDITIONAL_REGISTER_NAMES): Updated.
18894 (ASM_OUTPUT_ADDR_DIFF_ELT): Updated to support new targets.
18895 (JUMP_TABLES_IN_TEXT_SECTION): Updated.
18896 * config/v850/v850.md (define_constants): Define new constants.
18897 (type): Update store,bit1,macc,div,fpu and single attributes.
18898 (cpu): New attribute.
18899 (cc): Add set_z attribute.
18900 (unsign23byte_load, sign23byte_load, unsign23hword_load,
18901 sign23hword_load, 23word_load, 23byte_store, 23hword_store,
18902 23word_store): New instructions for 23-bit displacement load and store.
18903 (movqi_internal, movhi_internal): Update the attributes.
18904 (movsi, movsi_internal_v850e): Updated to support v850e2 targets.
18905 (movsi_internal_v850e, movsi_internal, movsf_internal): Update
18906 the attributes.
18907 (v850_tst1): Modified using CC_REGNUM.
18908 (tstsi): Remove.
18909 (cmpsi): Modified as define_expand from define_insn.
18910 (cmpsi_insn, cmpsf, cmpdf): New instructions.
18911 (addsi3, subsi3, negsi2, divmodsi4, udivmodsi4, divmodhi4,
18912 udivmodhi4, v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3,
18913 v850_set1_1, v850_set1_3, iorsi3, v850_not1_1, v850_not1_3, xorsi3,
18914 one_cmplsi2): Clobber the CC_REGNUM register.
18915 (v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3, v850_set1_1,
18916 v850_set1_2, v850_set1_3, iorsi3, v850_not1_1, v850_not1_2,
18917 v850_not1_3, xorsi3, one_cmplsi2): Update the attributes accordingly.
18918 (setf_insn, set_z_insn, set_nz_insn): New instructions for
18919 v850e2v3 target.
18920 (movsicc_normal_cc, movsicc_reversed_cc): New instructions.
18921 (movsicc, movsicc_normal, movsicc_reversed): Add support for V850E2
18922 targets.
18923 (sasf_1, sasf_2): Remove.
18924 (sasf): New instruction.
18925 (rotlhi3, rotlhi3_8, rotlsi3, rotlsi3_16): Update to support V850E2
18926 targets. CC_REGNUM register is clobbered and attributes are
18927 updated.
18928 (branch_z_normal, branch_z_invert, branch_nz_normal,
18929 branch_nz_invert): New branch related instructions.
18930 (jump): Updated the attributes.
18931 (switch): Update to support new targets. CC_REGNUM register is
18932 clobbered and attributes are updated.
18933 (call_internal_short, call_internal_long, call_value_internal_short,
18934 call_value_internal_long): Updated the attributes.
18935 (zero_extendhisi2, zero_extendqisi2): CC_REGNUM register is
18936 clobbered and attributes are updated.
18937 (extendhisi_insn, extendhisi2, extendqisi_insn, extendqisi2):
18938 Update to support new targets. CC_REGNUM register is clobbered.
18939 (ashlsi3_v850e2, lshrsi3_v850e2, ashrsi3_v850e2): New shift
18940 instructions.
18941 (lshrsi3, ashrsi3): CC_REGNUM register is clobbered and attributes
18942 are updated.
18943 (ffssi2, addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, divsf3,
18944 divdf3, minsf3, mindf3, maxsf3, maxdf3, abssf2, absdf2, negsf2,
18945 negdf2, sqrtsf2, sqrtdf2, truncsfsi2, truncdfsi2, floatsisf2,
18946 floatsidf2, extendsfdf2, extenddfsf2, recipsf2, recipdf2,
18947 rsqrtsf2, rsqrtdf2, maddsf4, msubsf4, nmaddsf4, nmsubsf4,
18948 cmpsf_le_insn, cmpsf_lt_insn, cmpsf_ge_insn, cmpsf_gt_insn,
18949 cmpsf_eq_insn, cmpsf_ne_insn, cmpdf_le_insn, cmpdf_lt_insn,
18950 cmpdf_ge_insn, cmpdf_gt_insn, cmpdf_eq_insn, cmpdf_ne_insn, trfsr,
18951 movsfcc, movdfcc, movsfcc_z_insn, movsfcc_nz_insn, movdfcc_z_insn,
18952 movdfcc_nz_insn, movedfcc_z_zero, movedfcc_nz_zero): New floating
18953 point instructions defined for V850e2v3 target.
18954 (callt_save_interrupt, callt_return_interrupt, return_interrupt):
18955 Add support for V850E2 targets and CC_REGNUM register is clobbered.
18956 (callt_save_all_interrupt, callt_restore_all_interrupt): Add
18957 support for new targets.
18958 * config/v850/v850-modes.def: New file.
18959 * config/v850/v850.opt(mstrict-align): Remove.
18960 (mno-strict-align, mjump-tables-in-data-section, mv850e2,
18961 mv850e2v3): New command line options for V850.
18962 * config.gcc: Update the newly added files.
18963 * doc/invoke.texi: Update the newly added command line options for
18964 V850 target.
18965
18966 2010-07-26 Richard Guenther <rguenther@suse.de>
18967
18968 PR tree-optimization/45052
18969 * ipa-pure-const.c (check_stmt): Check volatileness.
18970
18971 2010-07-25 Eric Botcazou <ebotcazou@adacore.com>
18972
18973 PR target/44707
18974 * config/sparc/sparc-protos.h (sparc_legitimize_reload_address): New.
18975 * config/sparc/sparc.c: Include reload.h.
18976 (legitimize_tls_address): Rename into...
18977 (sparc_legitimize_tls_address): ...this.
18978 (legitimize_pic_address): Rename into...
18979 (sparc_legitimize_pic_address): ...this.
18980 (sparc_expand_move): Adjust to above renaming.
18981 (sparc_tls_referenced_p): Likewise.
18982 (sparc_legitimize_tls_address): Likewise.
18983 (sparc_legitimize_pic_address): Likewise.
18984 (sparc_legitimize_address): Likewise.
18985 (sparc_output_mi_thunk): Likewise.
18986 (sparc_legitimize_reload_address): New global function. Recognize
18987 (lo_sum (high ...) ...) patterns generated by earlier passes.
18988 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Use above function.
18989
18990 2010-07-25 Eric Botcazou <ebotcazou@adacore.com>
18991
18992 PR target/44484
18993 * config/sparc/predicates.md (memory_reg_operand): Delete.
18994 * config/sparc/sync.md (sync_compare_and_swap): Minor tweaks.
18995 (*sync_compare_and_swap): Encode the address form in the pattern.
18996 (*sync_compare_and_swapdi_v8plus): Likewise.
18997
18998 2010-07-24 Gerald Pfeifer <gerald@pfeifer.com>
18999
19000 * doc/install.texi (Specific, *-*-freebsd*): Adjust to recent changes.
19001 Streamline paragraph on compatibility with the system compiler.
19002
19003 2010-07-24 Steven Bosscher <steven@gcc.gnu.org>
19004
19005 PR middle-end/45035
19006 * alias.c (true_dependence_1): Fix thinko in merge of old
19007 true_dependence and canon_true_dependence.
19008
19009 2010-07-23 Jan Hubicka <jh@suse.cz>
19010
19011 * lto-streamer-out.c (write_symbol): Fix visibilities of external
19012 references.
19013
19014 2010-07-23 Le-Chun Wu <lcwu@google.com>
19015
19016 * omega.c (omega_eliminate_redundant): Remove a self-assign statement.
19017 * tree-ssa-ccp.c (ccp_lattice_meet): Remove a self-assign statement
19018 and an unnecessary assignment.
19019 * dbxout.c (DEBUGGER_ARG_OFFSET): Change OFFSET to OFFSET+0 to avoid
19020 self-assign warning.
19021 * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Remove
19022 unnecessary self-init.
19023
19024 2010-07-23 Richard Guenther <rguenther@suse.de>
19025
19026 PR lto/43071
19027 * gcc.c (LINK_COMMAND_SPEC): Filter out -fcompare-debug
19028 for -flto and -fwhopr.
19029
19030 2010-07-23 Kai Tietz <kai.tietz@onevision.com>
19031
19032 PR target/41943
19033 * Makefile.in (USER_H_INC_NEXT_PRE, USER_H_INC_NEXT_POST): New.
19034 (stmp-int-hdrs): Prefix/postfix headers by include_next.
19035 * config.gcc (user_headers_inc_next_pre): New.
19036 (user_headers_inc_next_post): Likewise.
19037 (*-w64-mingw*): Use for float.h post-fixing, and for
19038 stddef.h/stdarg.h pre-fixing by include_next.
19039 * configure.ac (user_headers_inc_next_post): New.
19040 (user_headers_inc_next_pre): New.
19041 * configure: Regenerated.
19042
19043 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19044
19045 * configure.ac: Don't disable TLS on Solaris 8/9 by default
19046 Set tga_func for Solaris 2/x86 resp. SPARC.
19047 Remove duplicate parts of sparc*-sun-solaris2.* TLS check.
19048 (LIB_THREAD_LDFLAGS_SPEC): Define.
19049 (LIB_TLS_SPEC): Define. Check for required Sun ld version.
19050 * configure: Regenerate.
19051 * config.in: Regenerate.
19052 * config/sol2.h (LIB_SPEC): Use LIB_THREAD_LDFLAGS_SPEC with
19053 -pthread, -threads, LIB_TLS_SPEC with -pthread.
19054 * doc/install.texi (Specific, *-*-solaris2*): Document use of
19055 alternate thread libraries on Solaris 8.
19056 Document TLS patch requirements.
19057 * doc/sourcebuild.texi (Add Options): Sort alphabetically.
19058 Document tls.
19059
19060 PR target/18788
19061 * config/sol2.h (LIB_SPEC): Link with thread libraries even with
19062 -shared.
19063
19064 2010-07-23 Jakub Jelinek <jakub@redhat.com>
19065
19066 * tree.h (struct tree_base): Add nameless_flag bitfield.
19067 (TYPE_NAMELESS, DECL_NAMELESS): Define.
19068 * omp-low.c (create_omp_child_function, scan_omp_parallel,
19069 scan_omp_task, lower_omp_taskreg): Set DECL_NAMELESS and/or
19070 DECL_ARTIFICIAL where needed.
19071 * dwarf2out.c (dwarf2_name): Return NULL if DECL_NAMELESS.
19072 (type_tag): Return NULL if TYPE_NAMELESS or if TYPE_DECL
19073 has DECL_NAMELESS set.
19074
19075 2010-07-23 Martin Jambor <mjambor@suse.cz>
19076
19077 PR tree-optimization/44915
19078 * ipa-cp.c (cgraph_gate_cp): Also check that optimize is true.
19079 * ipa-inline.c (cgraph_mark_inline_edge): Likewise.
19080 (analyze_function): Likewise.
19081
19082 2010-07-23 Martin Jambor <mjambor@suse.cz>
19083
19084 PR tree-optimization/44914
19085 * tree-sra.c (sra_modify_function_body): Return true if CFG was
19086 changed, add purging dead eh edges.
19087 (ipa_sra_modify_function_body): Return true if CFG was changed,
19088 simplify purging dead eh edges.
19089 (modify_function): Return true if CFG was changed.
19090 (perform_intra_sra): Add TODO_cleanup_cfg to the return value if CFG
19091 was changed.
19092 (ipa_early_sra): Likewise.
19093
19094 2010-07-23 Jie Zhang <jie@codesourcery.com>
19095
19096 PR target/44290
19097 * attribs.c (decl_attributes): Insert "noinline" and "noclone"
19098 if "naked".
19099 * tree-sra.c (ipa_sra_preliminary_function_checks): Return
19100 false if ! tree_versionable_function_p.
19101
19102 2010-07-23 Nathan Froyd <froydnj@codesourcery.com>
19103
19104 * builtins.def (BUILT_IN_ARGS_INFO): Remove.
19105 * ipa-pure-const.c (special_builtlin_state): Remove
19106 BUILT_IN_ARGS_INFO case.
19107 * tree-stdarg.c (execute_optimize_stdarg): Likewise.
19108 * builtins.c (expand_builtin): Likewise.
19109 (expand_builtin_args_info): Remove.
19110 * doc/tm.texi (__builtin_args_info): Remove.
19111 (__builtin_next_arg): Adjust to not refer to __builtin_args_info.
19112 * doc/tm.text.in: Likewise.
19113
19114 2010-07-23 Richard Guenther <rguenther@suse.de>
19115
19116 * lto-symtab.c (lto_symtab_merge): Use gtc_mode enum values.
19117 (lto_symtab_merge_decls_2): Likewise.
19118 * tree-ssa.c (useless_type_conversion_p): Likewise.
19119 * lto-streamer-in.c (input_gimple_stmt): Likewise.
19120 * gimple.c (gtc_visited2, gtc_ob2): Remove.
19121 (struct type_pair_d): Make same_p an array indexed by mode.
19122 Update comment.
19123 (lookup_type_pair): Update initialization.
19124 (struct sccs): Adjust same_p type.
19125 (gimple_types_compatible_p_1, gtc_visit, gimple_types_compatible_p):
19126 Adjust.
19127 (print_gimple_types_stats): Likewise.
19128 * gimple.h (enum gtc_mode): New.
19129 (gimple_types_compatible_p): Adjust prototype.
19130
19131 2010-07-23 Daniel Jacobowitz <dan@codesourcery.com>
19132
19133 * dwarf2out.c (dwarf2out_frame_debug): Check for queued saves
19134 again after processing insn.
19135
19136 2010-07-23 Jie Zhang <jie@codesourcery.com>
19137
19138 * tree-sra.c (ipa_sra_preliminary_function_checks): Dump
19139 proper words when !tree_versionable_function_p.
19140
19141 2010-07-23 Richard Guenther <rguenther@suse.de>
19142
19143 PR tree-optimization/45037
19144 * tree-ssa-loop-ivopts.c (copy_ref_info): Handle NULL base.
19145
19146 2010-07-23 Jie Zhang <jie@codesourcery.com>
19147
19148 * doc/extend.texi: Remove IP2K from the description of naked attribute.
19149 Add MCORE instead.
19150
19151 2010-07-10 Andi Kleen <ak@linux.intel.com>
19152
19153 PR lto/44992
19154 * lto-opts.c (lto_write_options): Add NULL file_data argument to
19155 lto_get_section_name.
19156 * lto-section-out.c (lto_destroy_simple_output_block): Likewise.
19157 * lto-streamer-out.c (produce_asm): Likewise.
19158 (copy_function): Likewise.
19159 (produce_symtab): Likewise.
19160 (produce_asm_for_decls): Likewise.
19161 * lto-streamer.c (lto_get_section_name): Add file_data argument.
19162 Rewrite to add random postfix to LTO sections.
19163 * lto-streamer.h (lto_file_decl_data): Add next, id, resolutions.
19164 (lto_get_section_name): Add file_data argument to prototype.
19165
19166 2010-07-10 Andi Kleen <ak@linux.intel.com>
19167
19168 * lto-section-in.c (lto_section_name): Synchronize names
19169 with lto_get_section_name.
19170
19171 2010-07-10 Andi Kleen <ak@linux.intel.com>
19172
19173 * lto-opts.c (lto_read_file_options): Check for missing section.
19174
19175 2010-07-22 Bernd Schmidt <bernds@codesourcery.com>
19176
19177 * ira.c (check_allocation): Correctly handle the case where an allocno
19178 with two objects was allocated to a single reg.
19179
19180 2010-07-22 Richard Sandiford <rdsandiford@googlemail.com>
19181
19182 * tree-ssa-math-opts.c (is_widening_mult_rhs_p): New function.
19183 (is_widening_mult_p): Likewise.
19184 (convert_to_widen): Use them.
19185 (convert_plusminus_to_widen): Likewise. Handle fixed-point types as
19186 well as integer ones.
19187
19188 2010-07-22 Steven Bosscher <steven@gcc.gnu.org>
19189
19190 * alias.c (true_dependence_1): New function, merged version of
19191 true_dependence and canon_true_dependence.
19192 (true_dependence): Simplify.
19193 (canon_true_dependence): Simplify.
19194
19195 2010-07-22 Richard Henderson <rth@redhat.com>
19196
19197 PR target/45027
19198 * config/i386/i386.c (setup_incoming_varargs_64): Force the use
19199 of V4SFmode for the SSE saves; increase stack alignment if needed.
19200 (ix86_gimplify_va_arg): Don't increase stack alignment here.
19201
19202 2010-07-22 Jakub Jelinek <jakub@redhat.com>
19203
19204 PR bootstrap/45028
19205 * recgprop.c (copyprop_hardreg_forward_1): If changed is true,
19206 call cprop_find_used_regs again via note_uses.
19207
19208 2010-07-22 Eric Botcazou <ebotcazou@adacore.com>
19209
19210 * alias.c (get_alias_set): Fix formatting issues.
19211
19212 2010-07-22 Steve Ellcey <sje@cup.hp.com>
19213
19214 PR middle-end/44878
19215 * stmt.c (expand_value_return): Call promote_function_mode with
19216 a for_return argument of 2 when returning by reference.
19217
19218 2010-07-22 Dodji Seketeli <dodji@redhat.com>
19219
19220 PR debug/45024
19221 * dwarf2out.c (scope_die_for): Don't fall back to the compilation
19222 unit DIE if we can find the scope DIE.
19223
19224 2010-07-22 Bernd Schmidt <bernds@codesourcery.com>
19225
19226 * ira-build.c (ira_create_object): New arg SUBWORD; all callers
19227 changed. Initialize OBJECT_SUBWORD.
19228 (ira_create_allocno): Clear ALLOCNO_NUM_OBJECTS.
19229 (ira_create_allocno_objects): Renamed from ira_create_allocno_object;
19230 all callers changed.
19231 (merge_hard_reg_conflicts): Iterate over allocno subobjects.
19232 (finish_allocno): Likewise.
19233 (move_allocno_live_ranges, copy_allocno_live_ranges): Likewise.
19234 (remove_low_level_allocnos): Likewise.
19235 (update_bad_spill_attribute): Likewise.
19236 (setup_min_max_allocno_live_range_point): Likewise.
19237 (sort_conflict_id_map): Likewise.
19238 (ira_flattening): Likewise. Use ior_hard_reg_conflicts.
19239 (ior_hard_reg_conflicts): New function.
19240 (ior_allocate_object_conflicts): Renamed first argument to OBJ.
19241 (compress_conflict_vecs): Iterate over objects, not allocnos.
19242 (ira_add_live_range_to_object): New function.
19243 (object_range_compare_func): Renamed from allocno_range_compare_func.
19244 All callers changed.
19245 (setup_min_max_conflict_allocno_ids): For allocnos with multiple
19246 subobjects, widen the min/max range of the lowest-order object to
19247 potentially include all other such low-order objects.
19248 * ira.c (ira_bad_reload_regno_1): Iterate over allocno subobjects.
19249 (check_allocation): Likewise. Use more fine-grained tests for register
19250 conflicts.
19251 * ira-color.c (allocnos_have_intersected_live_ranges_p): Iterate over
19252 allocno subobjects.
19253 (assign_hard_reg): Keep multiple sets of conflicts. Make finer-grained
19254 choices about which bits to set in each set. Don't use
19255 ira_hard_reg_not_in_set_p, perform a more elaborate test for conflicts
19256 using the multiple sets we computed.
19257 (push_allocno_to_stack): Iterate over allocno subobjects.
19258 (all_conflicting_hard_regs_coalesced): New static function.
19259 (setup_allocno_available_regs_num): Use it.
19260 (setup_allocno_left_conflicts_size): Likewise. Iterate over allocno
19261 subobjects.
19262 (coalesced_allocno_conflict): Test subobject 0 in each allocno.
19263 (setup_allocno_priorities): Divide ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
19264 by ALLOCNO_NUM_OBJECTS.
19265 (calculate_spill_cost): Likewise.
19266 (color_pass): Express if statement in a more normal way.
19267 (ira_reassign_conflict_allocnos): Iterate over allocno subobjects.
19268 (slot_coalesced_allocno_live_ranges_intersect_p): Likewise.
19269 (setup_slot_coalesced_allocno_live_ranges): Likewise.
19270 (allocno_reload_assign): Likewise.
19271 (ira_reassign_pseudos): Likewise.
19272 (fast_allocation): Likewise.
19273 * ira-conflicts.c (build_conflict_bit_table): Likewise.
19274 (print_allocno_conflicts): Likewise.
19275 (ira_build_conflicts): Likewise.
19276 (allocnos_conflict_for_copy_p): Renamed from allocnos_conflict_p. All
19277 callers changed. Test subword 0 of each allocno for conflicts.
19278 (build_object_conflicts): Renamed from build_allocno_conflicts. All
19279 callers changed. Iterate over allocno subobjects.
19280 * ira-emit.c (modify_move_list): Iterate over allocno subobjects.
19281 * ira-int.h (struct ira_allocno): New member: num_objects.
19282 Rename object to objects and change it into an array.
19283 (ALLOCNO_OBJECT): Add new argument N.
19284 (ALLOCNO_NUM_OBJECTS, OBJECT_SUBWORD): New macros.
19285 (ira_create_allocno_objects): Renamed from ira_create_allocno_object.
19286 (ior_hard_reg_conflicts): Declare.
19287 (ira_add_live_range_to_object): Declare.
19288 (ira_allocno_object_iterator): New.
19289 (ira_allocno_object_iter_init, ira_allocno_object_iter_cond): New.
19290 (FOR_EACH_ALLOCNO_OBJECT): New macro.
19291 * ira-lives.c (objects_live): Renamed from allocnos_live; all
19292 uses changed.
19293 (allocnos_processed): New sparseset.
19294 (make_object_born): Renamed from make_allocno_born; take an
19295 ira_object_t argument. All callers changed.
19296 (make_object_dead): Renamed from make_allocno_dead; take an
19297 ira_object_t argument. All callers changed.
19298 (update_allocno_pressure_excess_length): Take an ira_obejct_t argument.
19299 All callers changed.
19300 (mark_pseudo_regno_live): Iterate over allocno subobjects.
19301 (mark_pseudo_regno_dead): Likewise.
19302 (mark_pseudo_regno_subword_live, mark_pseudo_regno_subword_dead): New
19303 functions.
19304 (mark_ref_live): Detect subword accesses and call
19305 mark_pseudo_regno_subword_live as appropriate.
19306 (mark_ref_dead): Likewise for mark_pseudo_regno_subword_dead.
19307 (process_bb_nodes_live): Deal with object-related updates first; set
19308 and test bits in allocnos_processed to avoid computing allocno
19309 statistics more than once.
19310 (create_start_finish_chains): Iterate over objects, not allocnos.
19311 (print_object_live_ranges): New function.
19312 (print_allocno_live_ranges): Use it.
19313 (ira_create_allocno_live_ranges): Allocate and free allocnos_processed
19314 and objects_live.
19315
19316 2010-07-22 Richard Guenther <rguenther@suse.de>
19317
19318 PR lto/42451
19319 * gimple.c (gtc_next_dfs_num): New global.
19320 (struct sccs): Make value a union, add integer same_p member.
19321 (gtc_visit): New function.
19322 (gimple_types_compatible_p_1): New function, split out from ...
19323 (gimple_types_compatible_p): ... here. Start a DFS walk here.
19324 (iterative_hash_gimple_type): Adjust for sccs change.
19325
19326 2010-07-22 Martin Jambor <mjambor@suse.cz>
19327
19328 PR tree-optimization/44891
19329 * tree-sra.c: Include gimple-pretty-print.h.
19330 (replace_uses_with_default_def_ssa_name): Renamed to
19331 get_repl_default_def_ssa_name, return the new SSA name instead of
19332 replacing the old one.
19333 (sra_modify_assign): Dump a message when removing a load, if the LHS
19334 is an SSA_NAME, do not do any propagation, just set the RHS to a
19335 default definition SSA NAME, type convert if necessary.
19336 * Makefile.in (tree-sra.o): Add gimple-pretty-print.h to dependencies.
19337
19338 2010-07-22 Richard Guenther <rguenther@suse.de>
19339
19340 PR tree-optimization/45017
19341 * tree-ssa-sccvn.c (vn_reference_eq): Make sure we honor
19342 TYPE_PRECISION of integral types in addition to size.
19343
19344 2010-07-22 Maxim Kuvyrkov <maxim@codesourcery.com>
19345
19346 * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Default to GLIBC
19347 when no C library is specified.
19348
19349 2010-07-22 Martin Jambor <mjambor@suse.cz>
19350
19351 * ipa-prop.h (struct ipa_node_params): Updated comment.
19352 (struct ipa_edge_args): Likewise.
19353 * Makefile.in (ipa-prop.o): Remove bogus $(GIMPLE_FOLD_H) dependency.
19354
19355 2010-07-22 Martin Jambor <mjambor@suse.cz>
19356
19357 * cgraphunit.c (verify_edge_count_and_frequency): New function.
19358 (verify_cgraph_node): Verify frequencies of indirect edges.
19359 * tree-inline.c (tree_function_versioning): Update frequencies of
19360 indirect edges.
19361
19362 2010-07-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
19363
19364 PR target/43698
19365 * config/arm/arm.md: Split arm_rev into *arm_rev and *thumb1_rev.
19366 Set *arm_rev to be predicable.
19367
19368 2010-07-22 Iain Sandoe <iains@gcc.gnu.org>
19369
19370 * config/darwin.h (LINK_COMMAND_SPEC): Split into...
19371 (LINK_COMMAND_SPEC_A): New.
19372 (DSYMUTIL): New.
19373 (DSYMUTIL_SPEC): New.
19374 * config/darwin9.h (LINK_COMMAND_SPEC): Remove.
19375 (DSYMUTIL_SPEC): Update for darwin >= 9 requirements.
19376
19377 2010-07-22 Iain Sandoe <iains@gcc.gnu.org>
19378
19379 * calls.c (load_register_parameters): Move check for zero
19380 sized items so that only the call to
19381 mem_overlaps_already_clobbered_arg_p () is protected.
19382
19383 2010-07-22 Jan Hubicka <jh@suse.cz>
19384
19385 * ipa-pure-const.c (varying_state): Break out from ...
19386 (get_function_state): ... here; always return varying_state
19387 when state would be NULL otherwise.
19388 (remove_node_data): Do not free varying state.
19389
19390 2010-07-22 Bernd Schmidt <bernds@codesourcery.com>
19391
19392 PR bootstrap/44970
19393 PR middle-end/45009
19394 * postreload.c: Include "target.h".
19395 (reload_combine_closest_single_use): Don't take DEBUG_INSNs
19396 into account.
19397 (fixup_debug_insns): Don't copy the rtx.
19398 (reload_combine_recognize_const_pattern): DEBUG_INSNs can't have uses.
19399 Don't copy when replacing. Call fixup_debug_insns in the case where
19400 we merged one add with another.
19401 (reload_combine_recognize_pattern): Fail if there aren't any uses.
19402 Try harder to determine whether we're picking a valid index register.
19403 Don't set store_ruid for an insn we're going to scan in the
19404 next iteration.
19405 (reload_combine): Remove unused code.
19406 (reload_combine_note_use): When updating use information for
19407 an old insn, ignore a use that occurs after store_ruid.
19408 * Makefile.in (postreload.o): Update dependencies.
19409
19410 * function.c (record_hard_reg_sets): Restrict the previous change
19411 to cases where the incoming nominal mode is the same as the
19412 incoming promoted mode and everything happens in MODE_INT.
19413
19414 2010-07-21 Jakub Jelinek <jakub@redhat.com>
19415
19416 PR debug/45015
19417 * var-tracking.c (adjust_mems): Ignore ASM_OPERANDS with non-zero
19418 ASM_OPERANDS_OUTPUT_IDX.
19419 (adjust_insn): For inline asm with multiple sets ensure first
19420 ASM_OPERANDS vectors are used by all following ASM_OPERANDS in
19421 the insn.
19422
19423 2010-07-21 Richard Henderson <rth@redhat.com>
19424
19425 * config/i386/i386.c (setup_incoming_varargs_64): Emit a simple
19426 comparison for avoiding xmm register saves. Emit the xmm register
19427 saves explicitly.
19428 * config/i386/i386.md (UNSPEC_SSE_PROLOGUE_SAVE): Remove.
19429 (UNSPEC_SSE_PROLOGUE_SAVE_LOW): Remove.
19430 (sse_prologue_save, sse_prologue_save_insn1, sse_prologue_save_insn):
19431 Remove patterns and the associated splitters.
19432
19433 2010-07-21 Changpeng Fang <changpeng.fang@amd.com>
19434
19435 * tree-ssa-loop-prefetch.c (analyze_ref): Strip off the real
19436 and imagine parts of a complex, so that they can have the same
19437 base and fall into the same group.
19438
19439 2010-07-21 Richard Guenther <rguenther@suse.de>
19440
19441 PR lto/45018
19442 * tree.c (find_decls_types_r): Do not follow TREE_CHAIN
19443 of TYPE_DECLs. Do not follow TYPE_NEXT_VARIANT,
19444 TYPE_NEXT_PTR_TO, nor TYPE_NEXT_REF_TO or TYPE_CANONICAL.
19445
19446 2010-07-21 Martin Jambor <mjambor@suse.cz>
19447
19448 PR tree-optimization/44900
19449 * tree-sra.c (load_assign_lhs_subreplacements): Updated comments.
19450 (sra_modify_assign): Move gsi to the next statmenent unconditionally.
19451
19452 2010-07-21 Bernd Schmidt <bernds@codesourcery.com>
19453
19454 PR middle-end/44738
19455 * tree-ssa.c (warn_uninit): Avoid emitting an unnecessary message.
19456
19457 2010-07-21 Richard Guenther <rguenther@suse.de>
19458
19459 PR middle-end/45013
19460 * tree-ssa.c (useless_type_conversion_p): Dispatch to
19461 gimple_types_compatible_p only when in lto.
19462 * gimple.c (gimple_types_compatible_p): Use canonical types
19463 to speed up comparison.
19464
19465 2010-07-21 Richard Guenther <rguenther@suse.de>
19466
19467 * tree-flow.h (referenced_var): Move define ...
19468 * tree-flow-inline.h (referenced_var): ... here as an inline
19469 function. Assert here ...
19470 * tree-dfa.c (referenced_var_lookup): ... instead of here.
19471 * tree-ssa.c (maybe_optimize_var): Check if the variable
19472 is in referenced vars.
19473 (execute_update_addresses_taken): Remove old broken check.
19474 * gimple-pretty-print.c (pp_points_to_solution): Use
19475 referenced_var_lookup.
19476 * tree-into-ssa.c (dump_decl_set): Likewise.
19477
19478 2010-07-21 Jakub Jelinek <jakub@redhat.com>
19479
19480 PR debug/45003
19481 * var-tracking.c (reverse_op): Also handle {SIGN,ZERO}_EXTEND of a MEM.
19482 * dwarf2out.c (loc_descriptor): Don't handle SIGN_EXTEND nor
19483 ZERO_EXTEND here.
19484
19485 2010-07-20 Richard Henderson <rth@redhat.com>
19486
19487 * vxworks.c (vxworks_emutls_var_fields): Pass locus to build_decls.
19488
19489 2010-07-20 Bernd Schmidt <bernds@codesourcery.com>
19490
19491 * config/arm/arm.md (thumb1_addsi3): Add alternative and split for
19492 computing the sum of the stack pointer and a large constant.
19493 * config/arm/constraints.md (M): Remove superfluous parentheses.
19494 (Pc): New constraint.
19495
19496 2010-07-20 Jakub Jelinek <jakub@redhat.com>
19497
19498 PR debug/45006
19499 * cfgexpand.c (expand_debug_expr): Only look at TYPE_UNSIGNED of
19500 operand's type if exp is tcc_unary class tree.
19501
19502 2010-07-20 Nathan Froyd <froydnj@codesourcery.com>
19503
19504 * config/rs6000/rs6000.md (abs<mode>2_isel, nabs<mode>2_isel):
19505 Reverse sense of if_then_else condition.
19506
19507 2010-07-20 Nathan Froyd <froydnj@codesourcery.com>
19508
19509 * config/rs6000/rs6000.opt (mblock-move-inline-limit): New option.
19510 * config/rs6000/rs6000.c (rs6000_override_options): Set
19511 rs6000_block_move_inline_limit appropriately.
19512 (expand_block_move): Use rs6000_block_move_inline_limit.
19513 * doc/invoke.texi (mblock-move-inline-limit): Document.
19514
19515 2010-07-20 Bernd Schmidt <bernds@codesourcery.com>
19516
19517 * postreload.c (fixup_debug_insns): Remove arg REGNO. New args
19518 FROM and TO. All callers changed. Don't look for tracked uses,
19519 just scan the RTL for DEBUG_INSNs and substitute.
19520 (reload_combine_recognize_pattern): Call fixup_debug_insns.
19521 (reload_combine): Ignore DEBUG_INSNs.
19522
19523 2010-07-20 Jakub Jelinek <jakub@redhat.com>
19524
19525 * var-tracking.c (vt_expand_loc, vt_expand_loc_dummy): Bump maximum
19526 depth to 8 from 5.
19527
19528 PR debug/45003
19529 * cfgexpand.c (expand_debug_expr) <case NOP_EXPR>: Use ZERO_EXTEND
19530 or SIGN_EXTEND depending on TYPE_UNSIGNED of the operand's type
19531 instead of the result's type.
19532
19533 2010-07-20 Richard Guenther <rguenther@suse.de>
19534
19535 PR tree-optimization/44977
19536 * tree-ssa-dom.c (propagate_rhs_into_lhs): Do not create invalid
19537 SSA form.
19538
19539 2010-07-20 Richard Guenther <rguenther@suse.de>
19540
19541 * lto-symtab.c (lto_symtab_merge): Use gimple_types_compatible_p.
19542 (lto_symtab_merge_decls_2): Likewise.
19543 * gimple.h (gimple_types_compatible_p): Declare.
19544 * gimple.c (gimple_queue_type_fixup): Remove.
19545 (gimple_fixup_complete_and_incomplete_subtype_p): Likewise.
19546 (gimple_compatible_complete_and_incomplete_type_p): New function.
19547 (gimple_types_compatible_p): Adjust.
19548 (gimple_register_type): Remove type fixup code.
19549 (print_gimple_types_stats): Adjust.
19550 (free_gimple_type_tables): Likewise.
19551 * lto-streamer-in.c (input_gimple_stmt): Use gimple_types_compatible_p.
19552 * tree-ssa.c (useless_type_conversion_p): Likewise.
19553
19554 2010-07-20 Richard Guenther <rguenther@suse.de>
19555
19556 PR middle-end/44971
19557 PR middle-end/44988
19558 * tree-ssa.c (maybe_optimize_var): New function split out from ...
19559 (execute_update_addresses_taken): ... here.
19560 (non_rewritable_mem_ref_base): Likewise.
19561 (execute_update_addresses_taken): Do not iterate over all referenced
19562 vars but just all local decls and parms.
19563 Properly check call and asm arguments and rewrite call arguments.
19564
19565 2010-07-20 Maxim Kuvyrkov <maxim@codesourcery.com>
19566
19567 * config.gcc (LIBC_GLIBC, LIBC_UCLIBC, LIBC_BIONIC): Move constants
19568 to top level.
19569 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Move Android-specific
19570 definitions ...
19571 * config/linux-android.h (ANDROID_TARGET_OS_CPP_BUILTINS): ... here.
19572 New macro.
19573 * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Use it.
19574
19575 2010-07-19 Richard Sandiford <rdsandiford@googlemail.com>
19576
19577 * gengtype.c (start_root_entry): New function, split out from
19578 write_root. Check whether V is null and raise an error if so.
19579 (write_field_root): Check for V being null. Don't raise an error here;
19580 set V to null instead.
19581 (write_root): Update comment above function. Use start_root_entry.
19582
19583 2010-07-19 Xinliang David Li <davidxl@google.com>
19584
19585 PR testsuite/44932
19586 * tree-ssa-uninit.c (collect_phi_def_edges): Fix bug collecting
19587 def edges.
19588 (find_uninit_use): Add dump.
19589 (is_use_properly_guarded): Ditto.
19590 (warn_uninitialized_phi): Ditto.
19591 (execute_late_warn_uninitialized): Ditto.
19592
19593 2010-07-19 Richard Guenther <rguenther@suse.de>
19594
19595 PR middle-end/44941
19596 * expr.c (emit_block_move_hints): Move zero size check first.
19597 Move asserts to more useful places.
19598 * calls.c (load_register_parameters): Check for zero size.
19599
19600 2010-07-19 Richard Henderson <rth@redhat.com>
19601
19602 * tree-optimize.c (execute_all_early_local_passes): New. Change
19603 cgraph_state here ...
19604 (execute_early_local_optimizations): ... not here. Remove.
19605 (pass_early_local_passes, pass_all_early_optimizations): Update.
19606
19607 2010-07-19 Bernd Schmidt <bernds@codesourcery.com>
19608
19609 * postreload.c (reload_combine_closest_single_use): Ignore the
19610 number of uses for DEBUG_INSNs.
19611 (fixup_debug_insns): New static function.
19612 (reload_combine_recognize_const_pattern): Use it. Don't let the
19613 main loop be affected by DEBUG_INSNs.
19614 Really disallow moving adds past a jump insn.
19615 (reload_combine_recognize_pattern): Don't update use_ruid here.
19616 (reload_combine_note_use): Do it here.
19617 (reload_combine): Use control_flow_insn_p rather than JUMP_P.
19618
19619 2010-07-19 Bingfeng Mei <bmei@broadcom.com>
19620
19621 * ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes
19622 of a loop.
19623 * loop-doloop.c (doloop_condition_get): Skip possible debug_insn.
19624
19625 2010-07-19 Iain Sandoe <iains@gcc.gnu.org>
19626
19627 * config/i386/darwin.h: Define darwin_emit_branch_islands.
19628 (TARGET_MACHO_BRANCH_ISLANDS): New.
19629 (FUNCTION_PROFILER): Use TARGET_MACHO_BRANCH_ISLANDS.
19630 * config/i386/i386.h (TARGET_MACHO_BRANCH_ISLANDS): Define a
19631 default value.
19632 * config/i386/i386.c (output_pic_addr_const): Do not emit
19633 branch islands unless TARGET_MACHO_BRANCH_ISLANDS is set.
19634 (x86_output_mi_thunk): Adjust symbol creation.
19635 * config/rs6000/darwin.h: Define darwin_emit_branch_islands.
19636 Remove out of date comment.
19637 * config/rs6000/rs6000.c (print_operand): Adjust symbol.
19638 (DARWIN_LINKER_GENERATES_ISLANDS): Remove.
19639 (DARWIN_GENERATE_ISLANDS): Ditto.
19640 (output_call): Do not emit branch islands unless
19641 darwin_emit_branch_islands is set.
19642 * config/darwin.c: Declare darwin_emit_branch_islands.
19643 (machopic_indirect_data_reference): Do not emit unless
19644 darwin_emit_branch_islands is set.
19645 (darwin_override_options): Set darwin_emit_branch_islands
19646 where it is needed.
19647 * config/darwin9.h (DARWIN_LINKER_GENERATES_ISLANDS): Remove.
19648
19649 2010-07-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
19650
19651 * doc/sourcebuild.texi (Effective-Target Keywords): Document
19652 sse_runtime, sse2_runtime.
19653
19654 2010-07-18 Richard Sandiford <rdsandiford@googlemail.com>
19655
19656 * config/mips/mips.c (mips16_build_call_stub): Zero-extend the
19657 low half of a single-register SCmode return value before ORing
19658 it with the high half.
19659 * config/mips/mips16.S (MERGE_GPRf): Likewise.
19660
19661 2010-07-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19662
19663 PR target/44805
19664 * config/pa/pa.h (CONSTANT_ALIGNMENT): Align strings to BITS_PER_WORD
19665 on all targets.
19666
19667 2010-07-17 Bernd Schmidt <bernds@codesourcery.com>
19668
19669 PR target/42235
19670 * postreload.c (reload_cse_move2add): Return bool, true if anything.
19671 changed. All callers changed.
19672 (move2add_use_add2_insn): Likewise.
19673 (move2add_use_add3_insn): Likewise.
19674 (reload_cse_regs): If reload_cse_move2add changed anything, rerun
19675 reload_combine.
19676 (RELOAD_COMBINE_MAX_USES): Bump to 16.
19677 (last_jump_ruid): New static variable.
19678 (struct reg_use): New members CONTAINING_MEM and RUID.
19679 (reg_state): New members ALL_OFFSETS_MATCH and REAL_STORE_RUID.
19680 (reload_combine_split_one_ruid, reload_combine_split_ruids,
19681 reload_combine_purge_insn_uses, reload_combine_closest_single_use
19682 reload_combine_purge_reg_uses_after_ruid,
19683 reload_combine_recognize_const_pattern): New static functions.
19684 (reload_combine_recognize_pattern): Verify that ALL_OFFSETS_MATCH
19685 is true for our reg and that we have available index regs.
19686 (reload_combine_note_use): New args RUID and CONTAINING_MEM. All
19687 callers changed. Use them to initialize fields in struct reg_use.
19688 (reload_combine): Initialize last_jump_ruid. Be careful when to
19689 take PREV_INSN of the scanned insn. Update REAL_STORE_RUID fields.
19690 Call reload_combine_recognize_const_pattern.
19691 (reload_combine_note_store): Update REAL_STORE_RUID field.
19692
19693 2010-07-16 Jason Merrill <jason@redhat.com>
19694
19695 * Makefile.in (opts-common.o): Depend on options.h.
19696
19697 2010-07-16 Nathan Froyd <froydnj@codesourcery.com>
19698
19699 * tree.c (build_common_builtin_nodes): Use build_function_type_list
19700 instead of build_function_type.
19701 * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
19702 * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
19703
19704 2010-07-16 Nathan Froyd <froydnj@codesourcery.com>
19705
19706 * config/rs6000/rs6000.c (rs6000_emit_sISEL): Let rs6000_emit_int_cmove
19707 do all the work.
19708 (rs6000_emit_int_cmove): Use function pointers for insn generation.
19709 Don't force values into registers unnecessarily.
19710 (output_isel): Assert that we're not given conditions we can't handle.
19711 Delete corresponding code.
19712 * config/rs6000/rs6000.md (isel_signed_<mode>): Use
19713 scc_comparison_operator constraint. Permit 0 for the consequent
19714 operand. Permit any GPR for the alternative operand.
19715 (isel_unsigned_<mode>): Likewise.
19716
19717 2010-07-16 Jakub Jelinek <jakub@redhat.com>
19718
19719 PR target/44942
19720 * config/i386/i386-protos.h (ix86_function_arg_boundary): Change second
19721 argument to const_tree.
19722 * config/i386/i386.c (function_arg_advance): If padding needs to be
19723 inserted before argument, increment cum->words by number of padding
19724 words as well.
19725 (contains_aligned_value_p): Change argument to const_tree.
19726 (ix86_function_arg_boundary): Change second argument to const_tree.
19727
19728 2010-07-16 Bernd Schmidt <bernds@codesourcery.com>
19729
19730 PR target/42235
19731 * function.c (record_hard_reg_sets): New static function.
19732 (assign_parm_setup_reg): If an optab for extending exists and the
19733 generated code clobbbers no hard regs, emit the insn directly and
19734 create a REG_EQUIV note.
19735
19736 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
19737
19738 * c-decl.c (detect_field_duplicates): Use DECL_CHAIN insted of
19739 TREE_CHAIN.
19740 * c-typeck.c (push_init_level): Likewise.
19741 (process_init_element): Likewise.
19742
19743 2010-07-15 Anatoly Sokolov <aesok@post.ru>
19744
19745 * tree.h (enum tree_index): Add TI_INTEGER_THREE.
19746 (integer_three_node): Add.
19747 * tree.c (build_common_tree_nodes_2): Use integer_type_node insead of
19748 NULL_TREE in build_int_cst calls. Initialize the integer_three_node.
19749 * builtins.c (expand_builtin_prefetch): Use common tree nodes instead
19750 of call build_int_cst.
19751 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Ditto.
19752 * tree-ssa-loop-ivopts.c (idx_find_step): Ditto.
19753 (find_interesting_uses_address): Ditto.
19754 * tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Ditto.
19755 * tree-eh.c (lower_eh_constructs_2): Ditto.
19756 * tree-vect-loop.c (get_initial_def_for_induction): Ditto.
19757 * c-typeck.c (really_start_incremental_init, push_init_level): Ditto.
19758 * expmed.c (expand_divmod): Ditto.
19759 * tree-mudflap.c (mx_register_decls): Ditto.
19760 * varasm.c (array_size_for_constructor): Ditto.
19761 * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Ditto.
19762 * c-parser.c (c_parser_postfix_expression): Ditto.
19763
19764 2010-07-15 Bernd Schmidt <bernds@codesourcery.com>
19765
19766 * postreload.c (last_label_ruid, first_index_reg, last_index_reg):
19767 New static variables.
19768 (reload_combine_recognize_pattern): New static function, broken out
19769 of reload_combine.
19770 (reload_combine): Use it. Only initialize first_index_reg and
19771 last_index_reg once.
19772
19773 2010-07-15 Richard Henderson <rth@redhat.com>
19774
19775 * cgraphunit.c (cgraph_build_static_cdtor): Clear current_function_decl
19776 when done.
19777
19778 2010-07-15 Jan Hubicka <jh@suse.cz>
19779
19780 * lto-symtab.c (lto_symtab_resolve_symbols): Remove hack handling
19781 comdats for broken gold.
19782 (lto_sy mtab_merge_decls_1): Set used_from_object_file correctly.
19783
19784 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
19785
19786 * tree.h (TREE_RTL_OPERAND_CHECK): Delete.
19787
19788 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
19789
19790 * tree.h (DECL_CHAIN): Define.
19791 * alias.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
19792 * c-decl.c: Likewise.
19793 * c-parser.c: Likewise.
19794 * c-typeck.c: Likewise.
19795 * cfgexpand.c: Likewise.
19796 * cgraph.c: Likewise.
19797 * cgraphunit.c: Likewise.
19798 * combine.c: Likewise.
19799 * config/alpha/alpha.c: Likewise.
19800 * config/arm/arm.c: Likewise.
19801 * config/frv/frv.c: Likewise.
19802 * config/i386/i386.c: Likewise.
19803 * config/i386/winnt-cxx.c: Likewise.
19804 * config/ia64/ia64.c: Likewise.
19805 * config/iq2000/iq2000.c: Likewise.
19806 * config/mep/mep.c: Likewise.
19807 * config/mips/mips.c: Likewise.
19808 * config/pa/som.h: Likewise.
19809 * config/rs6000/rs6000.c: Likewise.
19810 * config/s390/s390.c: Likewise.
19811 * config/sh/sh.c: Likewise.
19812 * config/sh/symbian-cxx.c: Likewise.
19813 * config/sparc/sparc.c: Likewise.
19814 * config/spu/spu.c: Likewise.
19815 * config/stormy16/stormy16.c: Likewise.
19816 * config/vxworks.c: Likewise.
19817 * config/xtensa/xtensa.c: Likewise.
19818 * coverage.c: Likewise.
19819 * dbxout.c: Likewise.
19820 * dwarf2out.c: Likewise.
19821 * emit-rtl.c: Likewise.
19822 * expr.c: Likewise.
19823 * function.c: Likewise.
19824 * gimple-low.c: Likewise.
19825 * gimple-pretty-print.c: Likewise.
19826 * gimplify.c: Likewise.
19827 * integrate.c: Likewise.
19828 * ipa-inline.c: Likewise.
19829 * ipa-prop.c: Likewise.
19830 * ipa-split.c: Likewise.
19831 * ipa-struct-reorg.c: Likewise.
19832 * ipa-type-escape.c: Likewise.
19833 * langhooks.c: Likewise.
19834 * lto-cgraph.c: Likewise.
19835 * omp-low.c: Likewise.
19836 * stor-layout.c: Likewise.
19837 * tree-cfg.c: Likewise.
19838 * tree-complex.c: Likewise.
19839 * tree-dfa.c: Likewise.
19840 * tree-dump.c: Likewise.
19841 * tree-inline.c: Likewise.
19842 * tree-mudflap.c: Likewise.
19843 * tree-nested.c: Likewise.
19844 * tree-object-size.c: Likewise.
19845 * tree-pretty-print.c: Likewise.
19846 * tree-sra.c: Likewise.
19847 * tree-ssa-live.c: Likewise.
19848 * tree-ssa-loop-niter.c: Likewise.
19849 * tree-ssa-math-opts.c: Likewise.
19850 * tree-ssa-reassoc.c: Likewise.
19851 * tree-ssa-sccvn.c: Likewise.
19852 * tree-ssa-structalias.c: Likewise.
19853 * tree-tailcall.c: Likewise.
19854 * tree-vrp.c: Likewise.
19855 * tree.c: Likewise.
19856 * var-tracking.c: Likewise.
19857 * varasm.c: Likewise.
19858
19859 2010-07-15 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
19860
19861 PR target/44877
19862 * config/spu/spu.c (spu_expand_builtin_1): Allow references
19863 (as well as pointers) as argument to mask_for_load builtins.
19864
19865 2010-07-15 Richard Guenther <rguenther@suse.de>
19866
19867 PR tree-optimization/44946
19868 * tree-ssa-structalias.c (get_constraint_for_component_ref): Deal
19869 with accessing only padding properly.
19870
19871 2010-07-15 Jan Hubicka <jh@suse.cz>
19872
19873 * ipa.c (function_and_variable_visibility): Variables marked as used
19874 should not be localized.
19875
19876 2010-07-15 Jan Hubicka <jh@suse.cz>
19877
19878 * cgraph.c: Include lto-streamer.h
19879 (change_decl_assembler_name): Work when assembler name hash is at place.
19880 (cgraph_make_decl_local): When localizing COMDAT symbol at WPA stage,
19881 be sure to rename it to avoid name clash.
19882 * ipa.c (cgraph_externally_visible_p, function_and_variable_visibility):
19883 Localize hidden symbols only when locally defined.
19884
19885 2010-07-15 Uros Bizjak <ubizjak@gmail.com>
19886
19887 * config/i386/i386.h (SHIFT_COUNT_TRUNCATED): Expand comment.
19888
19889 2010-07-15 Magnus Granberg <zorry@gentoo.org>
19890 Kevin F. Quinn <kevquinn@gentoo.org>
19891
19892 * builtins.c (expand_builtin_init_trampoline): Warn for -Wtrampolines.
19893 * common.opt: Add -Wtrampolines.
19894 * doc/invoke.texi: Add -Wtrampolines.
19895
19896 2010-07-15 Jie Zhang <jie@codesourcery.com>
19897
19898 * config/arm/cortex-a8.md (cortex_a8_load_store_2): Reserve
19899 cortex_a8_issue_ls.
19900
19901 2010-07-15 Dave Korn <dave.korn.cygwin@gmail.com>
19902
19903 * config/i386/cygwin.h (LIBGCJ_SONAME): Update.
19904 * config/i386/mingw32.h (LIBGCJ_SONAME): Likewise.
19905
19906 2010-07-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
19907
19908 * config/spu/spu.c (reg_names): Remove prototype.
19909 (call_used_regs): Likewise.
19910
19911 2010-07-14 Dave Korn <dave.korn.cygwin@gmail.com>
19912
19913 * config/i386/cygming-crtend.c (__FRAME_END__): Replace attribute
19914 "unused" with attribute "used".
19915 (__JCR_END__): Likewise.
19916 * config/i386/cygming-crtbegin.c (__EH_FRAME_BEGIN__): Add missing
19917 "used" attribute.
19918 (__JCR_LIST__): Replace attribute "unused" with attribute "used".
19919
19920 2010-07-14 Richard Guenther <rguenther@suse.de>
19921
19922 * lto-streamer-in.c (maybe_fixup_handled_component): Remove.
19923 (maybe_fixup_decls): Likewise.
19924 (input_gimple_stmt): Do not fixup anything.
19925 * lto-streamer-out.c (output_gimple_stmt): Make sure all
19926 non-automatic variable uses are wrapped inside a MEM_REF.
19927
19928 2010-07-14 Richard Henderson <rth@redhat.com>
19929
19930 * passes.c (rest_of_decl_compilation): Do not call assemble_variable
19931 for functions.
19932 * varasm.c (assemble_variable): Remove early exit for functions;
19933 assert that we're given a variable.
19934
19935 2010-07-14 Jie Zhang <jie@codesourcery.com>
19936
19937 * config/arm/cortex-a8.md (cortex_a8_alu): Don't use
19938 cortex_a8_default when neon_type is not none.
19939
19940 2010-07-14 Bernd Schmidt <bernds@codesourcery.com>
19941
19942 * lower-subreg.c (subreg_context): New static bitmap.
19943 (decompose_multiword_subregs): Allocate and free it.
19944 (find_decomposable_subregs): Set a bit in it for a register that
19945 occurs in a subreg that changes mode but not size.
19946 (can_decompose_p): Test it instead of non_decomposable_context.
19947
19948 2010-07-14 Richard Guenther <rguenther@suse.de>
19949
19950 PR tree-optimization/44824
19951 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Use
19952 is_gimple_mem_ref_addr.
19953 (tree_ssa_forward_propagate_single_use_vars): Do not propagate
19954 non-decl_address_invariant_p addresses.
19955
19956 2010-07-14 Bernd Schmidt <bernds@codesourcery.com>
19957
19958 * reload.c (find_reloads): Revert code to penalize small register
19959 classes that was brought in with the IRA merge.
19960
19961 2010-07-14 Richard Guenther <rguenther@suse.de>
19962
19963 * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle MEM_REF
19964 as base of ARRAY_REFs.
19965
19966 2010-07-14 Richard Guenther <rguenther@suse.de>
19967
19968 PR middle-end/44930
19969 * tree-pretty-print.c (do_niy): Do not print a newline.
19970
19971 2010-07-14 Bernd Schmidt <bernds@codesourcery.com>
19972
19973 * ira-int.h (struct ira_object): New.
19974 (ira_object_t): New typedef. Add DEF_VEC_P and DEF_VEC_ALLOC_P for it.
19975 (struct ira_allocno): Remove members min, max,
19976 conflict_allocno_array, conflict_id, conflict_allocno_array_size,
19977 conflict_allocnos_num and conflict_vec_p. Add new member object.
19978 (OBJECT_CONFLICT_ARRAY, OBJECT_CONFLICT_VEC_P,
19979 OBJECT_NUM_CONFLICTS, OBJECT_CONFLICT_ARRAY_SIZE,
19980 OBJECT_CONFLICT_HARD_REGS, OBJECT_TOTAL_CONFLICT_HARD_REGS,
19981 OBJECT_MIN, OBJECT_MAX, OBJECT_CONFLICT_ID): Renamed from
19982 ALLOCNO_CONFLICT_ALLOCNO_ARRAY, ALLOCNO_CONFLICT_VEC_P,
19983 ALLOCNO_CONFLICT_ALLOCNOS_NUM, ALLOCNO_CONFLICT_ALLOCNO_ARRAY_SIZE,
19984 ALLOCNO_CONFLICT_HARD_REGS, ALLOCNO_TOTAL_CONFLICT_HARD_REGS)
19985 ALLOCNO_MIN, ALLOCNO_MAX, and ALLOCNO_CONFLICT_ID; now operate on
19986 an ira_object_t rather than ira_allocno_t. All uses changed.
19987 (ira_object_id_map): Renamed from ira_conflict_id_allocno_map; now
19988 contains a vector of ira_object_t; all uses changed.
19989 (ira_objects_num): Declare variable.
19990 (ira_create_allocno_object): Declare function.
19991 (ira_conflict_vector_profitable_p): Adjust prototype.
19992 (ira_allocate_conflict_vec): Renamed from
19993 ira_allocate_allocno_conflict_vec; first arg now ira_object_t.
19994 (ira_allocate_object_conflicts): Renamed from
19995 ira_allocate_allocno_conflicts; first arg now ira_object_t.
19996 (struct ira_object_iterator): New.
19997 (ira_object_iter_init, ira_object_iter_cond, FOR_EACH_OBJECT): New.
19998 (ira_allocno_conflict_iterator): Renamed member allocno_conflict_vec_p
19999 to conflict_vec_p. All uses changed.
20000 (ira_allocno_conflict_iter_init, ira_allocno_conflict_iter_cond):
20001 Changed to take into account that conflicts are now tracked for
20002 objects.
20003 * ira-conflicts.c (OBJECTS_CONFLICT_P): Renamed from CONFLICT_ALLOCNO_P.
20004 Args changed to accept ira_object_t. All uses changed.
20005 (allocnos_conflict_p): New static function.
20006 (collected_conflict_objects): Renamed from collected_allocno_objects;
20007 now a vector of ira_object_t. All uses changed.
20008 (build_conflict_bit_table): Changed to take into account that
20009 conflicts are now tracked for objects.
20010 (process_regs_for_copy, propagate_copies, build_allocno_conflicts)
20011 (print_allocno_conflicts, ira_build_conflicts): Likewise.
20012 * ira-color.c (assign_hard_reg, setup_allocno_available_regs_num)
20013 setup_allocno_left_conflicts_size, allocno_reload_assign,
20014 fast_allocation): Likewise.
20015 * ira-lives.c (make_hard_regno_born, make_allocno_born)
20016 process_single_reg_class_operands, process_bb_node_lives): Likewise.
20017 * ira-emit.c (modify_move_list, add_range_and_copies_from_move_list):
20018 Likewise.
20019 * ira-build.c (ira_objects_num): New variable.
20020 (ira_object_id_map): Renamed from ira_conflict_id_allocno_map; now
20021 contains a vector of ira_object_t; all uses changed.
20022 (ira_object_id_map_vec): Corresponding change.
20023 (object_pool): New static variable.
20024 (initiate_allocnos): Initialize it.
20025 (finish_allocnos): Free it.
20026 (ira_create_object, ira_create_allocno_object, create_allocno_objects):
20027 New functions.
20028 (ira_create_allocno): Don't set members that were removed.
20029 (ira_set_allocno_cover_class): Don't change conflict hard regs.
20030 (merge_hard_reg_conflicts): Changed to take into account that
20031 conflicts are now tracked for objects.
20032 (ira_conflict_vector_profitable_p, ira_allocate_conflict_vec,
20033 allocate_conflict_bit_vec, ira_allocate_object_conflicts,
20034 compress_conflict_vecs, remove_low_level_allocnos, ira_flattening,
20035 setup_min_max_allocno_live_range_point, allocno_range_compare_func,
20036 setup_min_max_conflict_allocno_ids, ): Likewise.
20037 (add_to_conflicts): Renamed from add_to_allocno_conflicts, args changed
20038 to ira_object_t; all callers changed.
20039 (ira_add_conflict): Renamed from ira_add_allocno_conflict, args changed
20040 to ira_object_t, all callers changed.
20041 (clear_conflicts): Renamed from clear_allocno_conflicts, arg changed
20042 to ira_object_t, all callers changed.
20043 (conflict_check, curr_conflict_check_tick): Renamed from
20044 allocno_conflict_check and curr_allocno_conflict_check_tick; all uses
20045 changed.
20046 (compress_conflict_vec): Renamed from compress_allocno_conflict_vec,
20047 arg changed to ira_object_t, all callers changed.
20048 (create_cap_allocno): Call ira_create_allocno_object.
20049 (finish_allocno): Free the corresponding object.
20050 (sort_conflict_id_map): Renamed from sort_conflict_id_allocno_map; all
20051 callers changed. Adjusted for dealing with objects.
20052 (ira_build): Call create_allocno_objects after ira_costs. Adjusted for
20053 dealing with objects.
20054 * ira.c (ira_bad_reload_regno_1): Adjusted for dealing with objects.
20055
20056 * ira-int.h (struct live_range): Rename allocno member to object
20057 and change type to ira_object_t.
20058 (struct ira_object): New member live_ranges.
20059 (struct ira_allocno): Remove member live_ranges.
20060 (ALLOCNO_LIVE_RANGES): Remove.
20061 (OBJECT_LIVE_RANGES): New macro.
20062 (ira_create_live_range, ira_copy_live_range_list,
20063 ira_merge_live_range_list, ira_live_ranges_intersect_p,
20064 ira_finish_live_range, ira_finish_live_range_list): Adjust declarations.
20065 * ira-build.c (ira_create_object): Initialize live ranges here.
20066 (ira_create_allocno): Not here.
20067 (ira_create_live_range): Rename from ira_create_allocno_live_range, arg
20068 changed to ira_object_t, all callers changed.
20069 (copy_live_range): Rename from copy_allocno_live_range, all callers
20070 changed.
20071 (ira_copy_live_range_list): Rename from
20072 ira_copy_allocno_live_range_list, all callers changed.
20073 (ira_merge_live_ranges): Rename from ira_merge_allocno_live_range_list,
20074 all callers changed.
20075 (ira_live_ranges_intersect_p): Rename from
20076 ira_allocno_live_ranges_intersect_p, all callers changed.
20077 (ira_finish_live_range): Rename from ira_finish_allocno_live_range, all
20078 callers changed.
20079 (ira_finish_live_range_list): Rename from
20080 ira_finish_allocno_live_range_list, all callers changed.
20081 (change_object_in_range_list): Rename from change_allocno_in_range_list,
20082 last arg changed to ira_object_t, all callers changed.
20083 (finish_allocno): Changed to expect live ranges in the allocno's object.
20084 (move_allocno_live_ranges, copy_allocno_live_ranges,
20085 update_bad_spill_attribute, setup_min_max_allocno_live_range_point,
20086 ira_flattening, ira_build): Likewise.
20087 * ira-color.c (allocnos_have_intersected_live_ranges_p,
20088 slot_coalesced_allocno_live_ranges_intersect,
20089 setup_slot_coalesced_allocno_live_ranges, fast_allocation): Likewise.
20090 * ira-conflicts.c (build_conflict_bit_table): Likewise.
20091 * ira-emit.c (add_range_and_copies_from_move_list): Likewise.
20092 * ira-lives.c (make_allocno_born, update_allocno_pressure_excess_length,
20093 make_allocno_dead, create_start_finish_chains,
20094 remove_some_program_points_and_update_live_ranges,
20095 ira_debug_live_range_list): Likewise.
20096
20097 * ira-int.h (ira_object_conflict_iterator): Rename from
20098 ira_allocno_conflict_iterator.
20099 (ira_object_conflict_iter_init): Rename from
20100 ira_allocno_conflict_iter_init, second arg changed to
20101 * ira.c (check_allocation): Use FOR_EACH_OBJECT_CONFLICT rather than
20102 FOR_EACH_ALLOCNO_CONFLICT.
20103 * ira-color.c (assign_hard_reg, push_allocno_to_stack)
20104 setup_allocno_left_conflicts_size, coalesced_allocno_conflict_p,
20105 ira_reassign_conflict_allocnos, ira_reassign_pseudos): Likewise.
20106 * ira-conflicts.c (print_allocno_conflicts): Likewise.
20107
20108 2010-07-13 Joern Rennecke <joern.rennecke@embecosm.com>
20109
20110 PR other/44874
20111 * tree-dump.c (dump_options): Add enumerate_locals entry.
20112 Add TDF_NOID exclusion to all entry.
20113 * tree-dump.h (dump_enumerated_decls): Declare.
20114 * tree-pretty-print.c (dump_generic_node): For TDF_NOID,
20115 Don't display type uid.
20116 (print_declaration): Don't crash on TREE_TYPE (t) == 0.
20117 * tree-pass.h (TDF_ENUMERATE_LOCALS): Define.
20118 * tree-ssa-live.c: Include gimple.h.
20119 (numbered_tree_d): New struct.
20120 (numbered_tree): New typedef.
20121 (DEF_VEC_O (numbered_tree): New.
20122 (DEF_VEC_ALLOC_O (numbered_tree, heap)): Likewise.
20123 (compare_decls_by_uid, dump_enumerated_decls_push): New functions.
20124 (dump_enumerated_decls): Likewise.
20125 * tree-optimize.c (execute_cleanup_cfg_post_optimizing): If comparing
20126 debug info and flag_dump_final_insns, call dump_enumerated_decls.
20127 * tree-cfg.c (dump_function_to_file): Call dump_enumerated_decls.
20128 * Makefile.in (tree-ssa-live.o): Depend on $(GIMPLE_H).
20129
20130 2010-07-13 Richard Sandiford <rdsandiford@googlemail.com>
20131
20132 * expmed.h (MAX_BITS_PER_WORD): Move to...
20133 * defaults.h (MAX_BITS_PER_WORD): ...here.
20134
20135 2010-07-13 DJ Delorie <dj@redhat.com>
20136
20137 * config/h8300/h8300.c (h8300_init_once): Default to
20138 -fstrict_volatile_bitfields.
20139
20140 * config/sh/sh.c (sh_override_options): Default to
20141 -fstrict_volatile_bitfields.
20142
20143 * config/rx/rx.c (rx_option_override): New.
20144
20145 * config/m32c/m32c.c (m32c_override_options): Default to
20146 -fstrict_volatile_bitfields.
20147
20148 2010-07-13 Nathan Froyd <froydnj@codesourcery.com>
20149
20150 * tree.h (build_function_call_expr): Delete.
20151 (build_call_expr_loc_array): New function.
20152 (build_call_expr_loc_vec): New function.
20153 * tree-flow.h (struct omp_region): Change type of ws_args field
20154 to a VEC.
20155 * builtins.c (build_function_call_expr): Delete.
20156 (build_call_expr_loc_array): New function.
20157 (build_call_expr_loc): Call it. Use XALLOCAVEC.
20158 (build_call_expr): Likewise.
20159 (build_call_expr_loc_vec): New function.
20160 * cgraphunit.c (build_cdtor): Call build_call_expr instead of
20161 build_function_call_expr.
20162 * expr.c (emutls_var_address): Likewise.
20163 * varasm.c (emutls_common_1): Likewise.
20164 * omp-low.c (expand_omp_atomic_mutex): Likewise.
20165 (expand_omp_taskreg): Adjust for new type of region->ws_args.
20166 (get_ws_args_for): Return a VEC instead of a tree.
20167 (expand_parallel_call): Call build_call_expr_loc_vec instead of
20168 build_function_call_expr.
20169 * stor-layout.c (self_referential_size): Likewise.
20170
20171 2010-07-13 Jakub Jelinek <jakub@redhat.com>
20172
20173 PR testsuite/44701
20174 * recog.c (constrain_operands): Allow side-effects in memory
20175 operands if either < or > constraint is used, rather than if
20176 both < and > is used.
20177
20178 2010-07-13 Richard Guenther <rguenther@suse.de>
20179
20180 PR middle-end/44911
20181 * tree-pretty-print.c (dump_generic_node): Use TDF_SLIM for
20182 MEM_REF pointer type dumping. Avoid recursing for TYPE_DECLs
20183 without name.
20184
20185 2010-07-13 Kaz Kojima <kkojima@gcc.gnu.org>
20186
20187 PR target/44761
20188 * mode-switching.c (optimize_mode_switching): Add ATTRIBUTE_UNUSED
20189 to variable emited.
20190 * config/sh/sh.c (sh_expand_epilogue): Remove unused variable.
20191 * config/sh/sh.md (symGOT_load): Likewise.
20192 (symDTPOFF2reg): Likewise.
20193 (symTPOFF2reg): Likewise.
20194
20195 2010-07-13 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
20196
20197 * expmed.c (MAX_BITS_PER_WORD): Moved to expmed.h.
20198 * expmed.h (MAX_BITS_PER_WORD): Moved from expmed.c.
20199
20200 2010-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20201
20202 * config/i386/sol2-unwind.h (x86_64_fallback_frame_state): Correct
20203 explanation.
20204 Find ucontext_t * on Solaris 11.
20205 (x86_fallback_frame_state): Handle Solaris 9 multi-threaded pattern.
20206 Handle new Solaris 11 __sighndlr patterns.
20207
20208 2010-07-13 Jakub Jelinek <jakub@redhat.com>
20209
20210 PR debug/44901
20211 * vec.h (VEC_block_remove): Fix comment.
20212 * tree-ssa-live.c (remove_unused_locals): Don't use
20213 VEC_unordered_remove on local_decls, instead replace a single
20214 vector element in each iteration if at least one element had
20215 to be removed and VEC_truncate at the end.
20216 * omp-low.c (expand_omp_taskreg): Likewise.
20217
20218 2010-07-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
20219
20220 * c-decl.c (finish_function): Fix typo in comment.
20221
20222 2010-07-12 H.J. Lu <hongjiu.lu@intel.com>
20223
20224 PR bootstrap/44921
20225 * postreload.c (move2add_use_add3_insn): Silence gcc warning
20226 on min_regno.
20227
20228 2010-07-12 Jakub Jelinek <jakub@redhat.com>
20229
20230 * tree-vrp.c (simplify_bit_ops_using_ranges): New function.
20231 (simplify_stmt_using_ranges): Use it.
20232
20233 2010-07-12 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
20234
20235 * config/spu/spu.h (struct spu_builtin_description): Remove FNDECL
20236 member. Do not mark as GTY(()).
20237 * config/spu/spu.c (spu_builtins): Remove FNDECL initializer elements.
20238 (spu_builtin_decls): New static variable.
20239 (spu_builtin_decl): Use it instead of spu_builtins[].fndecl.
20240 (spu_init_builtins): Likewise.
20241 (spu_builtin_mul_widen_even): Likewise.
20242 (spu_builtin_mul_widen_odd): Likewise.
20243 (spu_builtin_mask_for_load): Likewise.
20244 (spu_builtin_vec_perm): Likewise.
20245 * config/spu/spu-c.c: Include "target.h".
20246 (spu_resolve_overloaded_builtin): Call targetm.builtin_decl instead
20247 of using spu_builtins[].fndecl.
20248
20249 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20250
20251 * config/mips/mips.c (mips_override_options): Make -mflip-mips16
20252 imply -minterlink-mips16.
20253
20254 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20255
20256 * config/mips/mips.h (mips16_globals): Declare.
20257 (SWITCHABLE_TARGET): Define.
20258 * config/mips/mips.c: Include target-globals.h.
20259 (mips16_globals): New variable.
20260 (mips_set_mips16_mode): Use save_target_globals and
20261 restore_target_globals instead of target_reinit.
20262
20263 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20264
20265 * reginfo.c (init_reg_sets): Don't zero globals here. Update comment
20266 to say that the function can be called more than once.
20267 * target-globals.c (save_target_globals): Call init_reg_sets.
20268
20269 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20270
20271 * Makefile.in (bb-reorder.o, target-globals.o): Depend on bb-reorder.h
20272 * bb-reorder.h: New file.
20273 * bb-reorder.c (default_target_bb_reorder): New variable.
20274 (this_target_bb_reorder): New conditional variable.
20275 (uncond_jump_length): Redefine as a macro.
20276 * target-globals.h (this_target_bb_reorder): Declare.
20277 (target_globals): Add a bb_reorder field.
20278 (restore_target_globals): Copy the bb_reorder field to
20279 this_target_bb-reorder.
20280 * target-globals.c: Include bb-reorder.h.
20281 (default_target_globals): Initialize the bb_reorder field.
20282 (save_target_globals): Likewise.
20283
20284 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20285
20286 * Makefile.in (gcse.o, target-globals.o): Depend on gcse.h..
20287 * gcse.h: New file.
20288 * gcse.c: Include gcse.h.
20289 (default_target_gcse): New variable.
20290 (this_target_gcse): New conditional variable.
20291 (can_copy): Redefine as a macro.
20292 (can_copy_init_p): New macro.
20293 (can_copy_p): Remove can_copy_init_p.
20294 * target-globals.h (this_target_gcse): Declare.
20295 (target_globals): Add a gcse field.
20296 (restore_target_globals): Copy the gcse field to this_target_gcse.
20297 * target-globals.c: Include gcse.h.
20298 (default_target_globals): Initialize the gcse field.
20299 (save_target_globals): Likewise.
20300
20301 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20302
20303 * ira-int.h (target_ira_int): Add x_ira_prohibited_mode_move_regs
20304 and x_ira_prohibited_mode_move_regs_initialized_p.
20305 (ira_prohibited_mode_move_regs): Redefine as a macro.
20306 * ira.c (ira_prohibited_mode_move_regs): Delete.
20307 (ira_prohibited_mode_move_regs_initialized_p): Redefine as a macro.
20308
20309 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20310
20311 * reload.h (target_reload): Add x_cached_reg_save_code and
20312 x_cached_reg_restore_code.
20313 * caller-save.c (cached_reg_save_code, cached_reg_restore_code):
20314 Redefine as macros.
20315
20316 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20317
20318 * Makefile.in (target-globals.o): Depend on builtins.h.
20319 * builtins.h: New file.
20320 * builtins.c: Include builtins.h.
20321 (default_target_builtins): New variable.
20322 (this_target_builtins): New conditional variable.
20323 (apply_args_mode, apply_result_mode): Redefine as macros.
20324 * target-globals.h (this_target_builtins): Declare.
20325 (target_globals): Add a builtins field.
20326 (restore_target_globals): Copy the builtins field to
20327 this_target_builtins.
20328 * target-globals.c: Include builtins.h.
20329 (default_target_globals): Initialize the builtins field.
20330 (save_target_globals): Likewise.
20331
20332 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20333
20334 * expmed.h (alg_code, mult_cost, MULT_COST_LESS, CHEAPER_MULT_COST)
20335 (algorithm, alg_hash_entry, NUM_ALG_HASH_ENTRIES, alg_hash): Moved
20336 from expmed.c.
20337 (target_expmed): Add x_alg_hash and x_alg_hash_used_p.
20338 (alg_hash, alg_hash_used_p): New macros.
20339 * expmed.c (init_expmed): Clear alg_hash if reinitializing.
20340 (alg_code, mult_cost, MULT_COST_LESS, CHEAPER_MULT_COST, algorithm)
20341 (alg_hash_entry, NUM_ALG_HASH_ENTRIES, alg_hash): Moved to expmed.h.
20342
20343 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20344
20345 * ira-int.h (target_ira_int): Add x_max_struct_costs_size, x_init_cost,
20346 x_temp_costs, x_op_costs, x_this_op_costs and x_cost_classes.
20347 * ira-costs.c (max_struct_costs_size, init_cost, temp_costs, op_costs)
20348 (this_op_costs, costs_classes): Redefine as macros.
20349 (record_reg_classes): Don't take op_costs as a parameter.
20350 (record_operand_costs): Likewise. Update calls to record_reg_classes.
20351 (scan_one_insn): Update call to record_operand_costs.
20352
20353 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20354
20355 * Makefile.in (target-globals.o): Depend on $(IRA_INT_H).
20356 * ira-int.h (ira_max_nregs, ira_important_class_nums): Delete.
20357 (target_ira_int): New structure.
20358 (default_target_ira_int): Declare.
20359 (this_target_ira_int): Declare as a variable or define as a macro.
20360 (ira_reg_mode_hard_regset, ira_register_move_cost)
20361 (ira_may_move_in_cost, ira_may_move_out_cost, ira_class_subset_p)
20362 (ira_non_ordered_class_hard_regs, ira_class_hard_reg_index)
20363 (prohibited_class_mode_regs, ira_important_classes_num)
20364 (ira_important_classes, ira_reg_class_intersect)
20365 (ira_reg_classes_intersect_p, ira_reg_class_super_classes)
20366 (ira_reg_class_union): Redefine as macros.
20367 * ira.h (target_ira): New structure.
20368 (default_target_ira): Declare.
20369 (this_target_ira): Declare as a variable or define as a macro.
20370 (ira_available_class_regs, ira_hard_regno_cover_class)
20371 (ira_reg_class_cover_size, ira_reg_class_cover, ira_class_translate)
20372 (ira_reg_class_nregs, ira_memory_move_cost, ira_class_hard_regs)
20373 (ira_class_hard_regs_num): Redefine as macros.
20374 * ira.c (default_target_ira, default_target_ira_int): New variables.
20375 (this_target_ira, this_target_ira_int): New conditional variables.
20376 (ira_reg_mode_hard_regset, ira_memory_move_cost)
20377 (ira_register_move_cost, ira_may_move_in_cost, ira_may_move_out_cost)
20378 (ira_class_subset_p): Delete.
20379 (no_unit_alloc_regs): Redefine as a macro.
20380 (ira_class_hard_regs, ira_non_ordered_class_hard_regs)
20381 (ira_class_hard_regs_num, ira_class_hard_reg_index)
20382 (ira_available_class_regs): Delete.
20383 (alloc_reg_class_subclasses): Redefine as a macro.
20384 (ira_reg_class_cover_size, ira_reg_class_cover)
20385 (ira_important_classes_num, ira_important_classes)
20386 (ira_important_class_nums, ira_class_translate): Delete.
20387 (cover_class_order): Document the variable's lifetime.
20388 (reorder_important_classes): Don't set ira_important_class_nums.
20389 (ira_reg_class_intersect, ira_reg_classes_intersect_p)
20390 (ira_reg_class_super_classes, ira_reg_class_union)
20391 (ira_hard_regno_cover_class, ira_reg_class_nregs, ira_max_nregs):
20392 Delete.
20393 (setup_reg_class_nregs): Don't set ira_max_regs.
20394 (prohibited_class_mode_regs): Delete.
20395 * target-globals.h (this_target_ira, this_target_ira_int): Declare.
20396 (target_globals): Add ira and ira_int fields.
20397 (restore_target_globals): Copy the ira field to this_target_ira
20398 and the ira_int field to this_target_ira_int.
20399 * target-globals.c: Include ira-int.h.
20400 (default_target_globals): Initialize the ira and ira_int fields.
20401 (save_target_globals): Likewise.
20402
20403 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20404
20405 * Makefile.in (target-globals.o): Depend on $(CFGLOOP_H).
20406 * cfgloop.h (target_cfgloop): New structure.
20407 (default_target_cfgloop): Declare.
20408 (this_target_cfgloop): Declare as a variable or define as a macro.
20409 (target_avail_regs, target_clobbered_regs, target_res_regs)
20410 (target_reg_cost, target_spill_cost): Redefine as macros.
20411 * cfgloopanal.c (default_target_cfgloop): New variable.
20412 (this_target_cfgloop): New conditional variable.
20413 (target_avail_regs, target_clobbered_regs, target_res_regs)
20414 (target_reg_cost, target_spill_cost): Delete.
20415 * target-globals.h (this_target_cfgloop): Declare.
20416 (target_globals): Add a cfgloop field.
20417 (restore_target_globals): Copy the cfgloop field to
20418 this_target_cfgloop.
20419 * target-globals.c: Include cfgloop.h.
20420 (default_target_globals): Initialize the cfgloop field.
20421 (save_target_globals): Likewise.
20422
20423 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20424
20425 * regs.h (target_regs): Add x_direct_load, x_direct_store and
20426 x_float_extend_from_mem.
20427 (direct_load, direct_store, float_extend_from_mem): New macros.
20428 * expr.c (direct_load, direct_store, float_extend_from_mem): Delete.
20429
20430 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20431
20432 * Makefile.in (LIBFUNCS_H): Add $(HASHTAB_H).
20433 (target-globals.o): Depend on $(LIBFUNCS_H).
20434 * libfuncs.h: Include hashtab.h.
20435 (libfunc_entry): Moved from optabs.c.
20436 (target_libfuncs): New structure.
20437 (default_target_libfuncs): Declare.
20438 (this_target_libfuncs): Declare as a variable or define as a macro.
20439 (libfunc_table): Redefine as a macro.
20440 * optabs.c (default_target_libfuncs): New variable.
20441 (this_target_libfuncs): New conditional variable.
20442 (libfunc_table): Delete.
20443 (libfunc_entry): Moved to optabs.h.
20444 (libfunc_hash): Redefine as a macro.
20445 (hash_libfunc, eq_libfunc): Fix comments.
20446 (init_optabs): Use libfunc_hash to detect cases where the function
20447 has already been called. Clear the hash table instead of
20448 recreating it.
20449 * target-globals.h (this_target_libfuncs): Declare.
20450 (target_globals): Add a libfuncs field.
20451 (restore_target_globals): Copy the libfuncs field to
20452 this_target_libfuncs.
20453 * target-globals.c: Include libfuncs.h.
20454 (default_target_globals): Initialize the libfuncs field.
20455 (save_target_globals): Likewise.
20456
20457 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20458
20459 * Makefile.in (LIBFUNCS_H): New variable. Use instead of libfuncs.h
20460 in all dependency lists.
20461
20462 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20463
20464 * Makefile.in (target-globals.o): Depend on $(EXPR_H) and $(OPTABS_H).
20465 * optabs.h (target_optabs): New structure.
20466 (default_target_optabs): Declare.
20467 (this_target_optabs): Declare as a variable or define as a macro.
20468 (optab_table, convert_optab_table, direct_optab_table): Redefine
20469 as macros.
20470 * optabs.c (default_target_optabs): New variable.
20471 (this_target_optabs): New conditional variable.
20472 (optab_table, convert_optab_table, direct_optab_table): Delete.
20473 * target-globals.h (this_target_optabs): Declare.
20474 (target_globals): Add a optabs field.
20475 (restore_target_globals): Copy the optabs field to
20476 this_target_optabs.
20477 * target-globals.c: Include expr.h and optabs.h.
20478 (default_target_globals): Initialize the optabs field.
20479 (save_target_globals): Likewise.
20480
20481 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20482
20483 * flags.h (target_flagstate): Add x_flag_excess_precision.
20484 (flag_excess_precision): Redefine as a macro.
20485 * toplev.c (flag_excess_precision): Delete.
20486
20487 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20488
20489 * defaults.h (MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Define if not defined.
20490 * libgcc2.c (MIN_UNITS_PER_WORD): Delete.
20491 * hard-reg-set.h (target_hard_regs): Add x_no_caller_save_reg_set.
20492 (no_caller_save_reg_set): Redefine as a macro.
20493 * reload.h (target_reload): Add x_caller_save_initialized_p and
20494 x_regno_save_mode.
20495 (caller_save_initialized_p): Redefine as a macro.
20496 * caller-save.c (caller_save_initialized_p, no_caller_save_reg_set)
20497 (MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Delete.
20498 (regno_save_mode): Redefine as a macro.
20499
20500 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20501
20502 * Makefile.in (expmed.o, target-globals.o): Depend on expmed.h.
20503 * expmed.h: New file.
20504 * expmed.c (default_target_costs): New variable.
20505 (this_target_costs): New conditional variable.
20506 (sdiv_pow2_cheap, smod_pow2_cheap, zero_cost, add_cost, neg_cost)
20507 (shift_cost, shiftadd_cost, shiftsub0_cost, shiftsub1_cost, mul_cost)
20508 (sdiv_cost, udiv_cost, mul_widen_cost, mul_highpart_cost): Delete.
20509 * target-globals.h (this_target_expmed): Declare.
20510 (target_globals): Add a expmed field.
20511 (restore_target_globals): Copy the expmed field to
20512 this_target_expmed.
20513 * target-globals.c: Include expmed.h.
20514 (default_target_globals): Initialize the expmed field.
20515 (save_target_globals): Likewise.
20516
20517 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20518
20519 * Makefile.in (target-globals.o): Depend on reload.h.
20520 * reload.h (target_reload): New structure.
20521 (default_target_reload): Declare.
20522 (this_target_reload): Declare as a variable or define as a macro.
20523 (indirect_symref_ok, double_reg_address_ok): Redefine as macros.
20524 * reload1.c (default_target_reload): New variable
20525 (this_target_reload): New conditional variable.
20526 (indirect_symref_ok, double_reg_address_ok): Delete.
20527 (spill_indirect_levels): Redefine as a macro.
20528 * target-globals.h (this_target_reload): Declare.
20529 (target_globals): Add a reload field.
20530 (restore_target_globals): Copy the reload field to
20531 this_target_reload.
20532 * target-globals.c: Include hard-reg-set.h.
20533 (default_target_globals): Initialize the reload field.
20534 (save_target_globals): Likewise.
20535
20536 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20537
20538 * rtl.h (target_rtl): Add x_static_reg_base_value.
20539 * alias.c (static_reg_base_value): Redefine as a macro.
20540
20541 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20542
20543 * Makefile.in (reginfo.o): Don't depend on $(GGC_H) or gt-reginfo.h.
20544 (GTFILES): Remove reginfo.c.
20545 * rtl.h (target_rtl): Add x_top_of_stack.
20546 (top_of_stack): New macro.
20547 * reginfo.c: Don't include ggc.h or gt-reginfo.h.
20548 (top_of_stack): Delete.
20549
20550 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20551
20552 * regs.h (target_regs): Add x_hard_regs_of_mode,
20553 x_contains_reg_of_mode, x_move_cost, x_may_move_in_cost,
20554 x_may_move_out_cost and x_last_mode_for_init_move_cost.
20555 (have_regs_of_mode, contains_reg_of_mode, move_cost)
20556 (may_move_in_cost, may_move_out_cost): Redefine as macros.
20557 * reginfo.c (have_regs_of_mode, contains_reg_of_mode, move_cost)
20558 (may_move_in_cost, may_move_out_cost): Delete.
20559 (last_mode_for_init_move_cost): Redefine as a macro.
20560
20561 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20562
20563 * hard-reg-set.h (target_hard_regs): New structure.
20564 (default_target_hard_regs): Declare.
20565 (this_target_hard_regs): Declare as a variable or define as a macro.
20566 (fixed_regs, fixed_reg_set, call_used_regs, call_really_used_regs)
20567 (call_used_reg_set, call_fixed_reg_set, regs_invalidated_by_call)
20568 (reg_alloc_order, inv_reg_alloc_order, reg_class_contents)
20569 (reg_class_size, reg_class_subclasses, reg_class_subunion)
20570 (reg_class_superunion, reg_names): Redefine as macros.
20571 * reginfo.c (fixed_regs, fixed_reg_set, call_used_regs)
20572 (call_used_reg_set, call_really_used_regs, call_fixed_reg_set)
20573 (regs_invalidated_by_call, reg_alloc_order, inv_reg_alloc_order)
20574 (reg_class_contents, reg_class_size, reg_class_subclasses)
20575 (reg_class_subunion, reg_class_superunion, reg_names): Delete.
20576 (default_target_hard_regs): New variable
20577 (this_target_hard_regs, initial_call_really_used_regs)
20578 (initial_reg_alloc_order): New conditional variables.
20579 (initial_reg_names): New variable.
20580 (init_reg_sets): Assert that initial_call_really_used_regs,
20581 initial_reg_alloc_order and initial_reg_names
20582 are all the same size as their variable counterparts. Use them to
20583 initialize those counterparts.
20584 * target-globals.h (this_target_hard_regs): Declare.
20585 (target_globals): Add a hard_regs field.
20586 (restore_target_globals): Copy the hard_regs field to
20587 this_target_hard_regs.
20588 * target-globals.c: Include hard-reg-set.h.
20589 (default_target_globals): Initialize the hard_regs field.
20590 (save_target_globals): Likewise.
20591
20592 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20593
20594 * Makefile.in (target-globals.o): Depend on $(RTL_H).
20595 * rtl.h (target_rtl): New structure.
20596 (default_target_rtl): Declare.
20597 (this_target_rtl): Declare as a variable or define as a macro.
20598 (global_rtl, pic_offset_table_rtx, return_address_pointer_rtx):
20599 Redefine as macros.
20600 * emit-rtl.c (default_target_rtl): New variable.
20601 (this_target_rtl): New conditional variable.
20602 (global_rtl, static_regno_reg_rtx, pic_offset_table_rtx)
20603 (return_address_pointer_rtx): Delete.
20604 (initial_regno_reg_rtx): New macro.
20605 (init_emit): Use initial_regno_reg_rtx instead of static_regno_reg_rtx.
20606 (init_emit_regs): Likewise.
20607 * target-globals.h (this_target_rtl): Declare.
20608 (target_globals): Add a rtl field.
20609 (restore_target_globals): Copy the rtl field to this_target_rtl.
20610 * target-globals.c: Include rtl.h.
20611 (default_target_globals): Initialize the rtl field.
20612 (save_target_globals): Likewise.
20613
20614 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20615
20616 * Makefile.in (target-globals.o): Depend on $(REGS_H).
20617 * regs.h (target_reg_modes): New structure.
20618 (default_target_reg_modes): Declare.
20619 (this_target_reg_modes): Declare as a variable or define as a macro.
20620 (hard_regno_nregs, reg_raw_mode): Redefine as macros.
20621 * reginfo.c (default_target_reg_modes): New variable.
20622 (this_target_reg_modes): New conditional variable.
20623 (hard_regno_nregs, reg_raw_mode): Delete.
20624 * target-globals.h (this_target_regs): Declare.
20625 (target_globals): Add a regs field.
20626 (restore_target_globals): Copy the regs field to this_target_regs.
20627 * target-globals.c: Include regs.h.
20628 (default_target_globals): Initialize the regs field.
20629 (save_target_globals): Likewise.
20630
20631 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com>
20632
20633 * doc/tm.texi.in (SWITCHABLE_TARGET): Document.
20634 * doc/tm.texi: Regenerate.
20635 * Makefile.in (OBJS-common): Add target-globals.o.
20636 (gtype-desc.o): Depend on $(IPA_PROP_H), $(LTO_STREAMER_H)
20637 and target-globals.h.
20638 (target-globals.o): New rule.
20639 (GTFILES): Include $(srcdir)/target-globals.h.
20640 * defaults.h (SWITCHABLE_TARGET): Define.
20641 * gengtype.c (open_base_files): Add target-globals.h to the
20642 list of includes.
20643 * target-globals.h: New file.
20644 * target-globals.c: Likewise.
20645
20646 * Makefile.in (target-globals.o): Depend on $(FLAGS_H).
20647 * flags.h (target_flag_state): New structure.
20648 (default_target_flag_state): Declare.
20649 (this_target_flag_state): Declare as a variable or define as a macro.
20650 (align_loops_log): Redefine as a macro.
20651 (align_loops_max_skip, align_jumps_log): Likewise.
20652 (align_jumps_max_skip, align_labels_log): Likewise.
20653 (align_labels_max_skip, align_functions_log): Likewise.
20654 * toplev.c (default_target_flag_state): New variable.
20655 (this_target_flag_state): New conditional variable.
20656 (align_loops_log): Delete.
20657 (align_loops_max_skip, align_jumps_log): Likewise.
20658 (align_jumps_max_skip, align_labels_log): Likewise.
20659 (align_labels_max_skip, align_functions_log): Likewise.
20660 * target-globals.h (this_target_flag_state): Declare.
20661 (target_globals): Add a flag_state field.
20662 (restore_target_globals): Copy the flag_state field to
20663 this_target_flag_state.
20664 * target-globals.c: Include flags.h.
20665 (default_target_globals): Initialize the flag_state field.
20666 (save_target_globals): Likewise.
20667
20668 2010-07-12 Jie Zhang <jie@codesourcery.com>
20669
20670 * postreload.c (reg_symbol_ref[]): New.
20671 (move2add_use_add2_insn): New.
20672 (move2add_use_add3_insn): New.
20673 (reload_cse_move2add): Handle SYMBOL + OFFSET case.
20674 (move2add_note_store): Likewise.
20675
20676 2010-07-12 Joern Rennecke <joern.rennecke@embecosm.com>
20677
20678 PR rtl-optimization/44752
20679 * genautomata.c (main): Don't emit an empty file even if there
20680 is no automaton.
20681
20682 2010-07-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20683
20684 * config/i386/i386.c (ix86_sol10_return_in_memory): Rename to
20685 ix86_solaris_return_in_memory.
20686 * config/i386-protos.h: Reflect this.
20687 * config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
20688 * config/i386/sol2-10.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
20689 Move ...
20690 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): ... here.
20691
20692 2010-07-12 Jie Zhang <jie@codesourcery.com>
20693
20694 * config/arm/arm.c (arm_get_frame_offsets): Don't use r3 to
20695 align the stack when it's going to be saved.
20696
20697 2010-07-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20698
20699 PR pch/14940
20700 * config/host-solaris.c (mmap_fixed): New function.
20701 (sol_gt_pch_get_address): Use it.
20702 (sol_gt_pch_use_address): Likewise.
20703
20704 2010-07-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20705
20706 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
20707 pentiumpro on Solaris 8 and 9/x86.
20708 * doc/install.texi (Specific, i?86-*-solaris2.[89]): Recommend GNU as.
20709 Document SSE/SSE2 support.
20710 * doc/sourcebuild.texi (Effective-Target Keywords): Document sse.
20711
20712 2010-07-12 Andi Kleen <ak@linux.intel.com>
20713
20714 * lto-symtab.c (lto_symtab_merge_decls_1): Use fatal_error
20715 instead of gcc_assert to print better error message for multiple
20716 prevailing defs.
20717
20718 2010-07-12 Uros Bizjak <ubizjak@gmail.com>
20719
20720 * config/i386/i386.c (ix86_asm_output_function_label): Change format
20721 string placeholder from 0x%x to %#x.
20722 (ix86_code_end): Use putc to output '\n'.
20723 (ix86_print_operand) <case ';'>: Use putc to output ';'.
20724
20725 2010-07-11 Kai Tietz <kai.tietz@onevision.com>
20726
20727 * config/i386/winnt.c (i386_pe_file_end): Quote symbol name
20728 in directive -export.
20729
20730 2010-07-10 Anatoly Sokolov <aesok@post.ru>
20731
20732 * reginfo.h (reg_classes_intersect_p): Change arguments type to
20733 reg_class_t.
20734 * rtl.h (reg_classes_intersect_p): Adjust prototype.
20735
20736 * config/rs6000/rs6000.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
20737 Remove macros.
20738 * config/rs6000/rs6000-protos.h (rs6000_register_move_cost,
20739 rs6000_memory_move_cost): Remove
20740 * config/rs6000/rs6000.c (TARGET_REGISTER_MOVE_COST,
20741 TARGET_MEMORY_MOVE_COST): Define.
20742 (rs6000_register_move_cost): Make static. Change arguments type from
20743 enum reg_class to reg_class_t. Adjust rs6000_memory_move_cost calls.
20744 (rs6000_memory_move_cost): Make static. Change arguments type from
20745 'enum reg_class' to reg_class_t.
20746
20747 2010-07-10 Sandra Loosemore <sandra@codesourcery.com>
20748
20749 PR middle-end/42505
20750 * tree-inline.c (estimate_num_insns): Refactor builtin complexity
20751 lookup code into....
20752 * builtins.c (is_simple_builtin, is_inexpensive_builtin): ...these
20753 new functions.
20754 * tree.h (is_simple_builtin, is_inexpensive_builtin): Declare.
20755 * cfgloopanal.c (target_clobbered_regs): Define.
20756 (init_set_costs): Initialize target_clobbered_regs.
20757 (estimate_reg_pressure_cost): Add call_p argument. When true,
20758 adjust the number of available registers to exclude the
20759 call-clobbered registers.
20760 * cfgloop.h (target_clobbered_regs): Declare.
20761 (estimate_reg_pressure_cost): Adjust declaration.
20762 * tree-ssa-loop-ivopts.c (struct ivopts_data): Add body_includes_call.
20763 (ivopts_global_cost_for_size): Pass it to estimate_reg_pressure_cost.
20764 (determine_set_costs): Dump target_clobbered_regs.
20765 (loop_body_includes_call): New function.
20766 (tree_ssa_iv_optimize_loop): Use it to initialize new field.
20767 * loop-invariant.c (gain_for_invariant): Adjust arguments to pass
20768 call_p flag through.
20769 (best_gain_for_invariant): Likewise.
20770 (find_invariants_to_move): Likewise.
20771 (move_single_loop_invariants): Likewise, using already-computed
20772 has_call field.
20773
20774 2010-07-10 Richard Guenther <rguenther@suse.de>
20775 Joern Rennecke <joern.rennecke@embecosm.com>
20776
20777 PR debug/44832
20778 * tree-ssa-live.c (mark_all_vars_used_1): Set TREE_USED for LABEL_DECL.
20779 (remove_unused_scope_block_p): Don't drop TREE_USED LABEL_DECLs
20780 unless they have DECL_IGNORED_P set.
20781
20782 2010-07-10 Richard Guenther <rguenther@suse.de>
20783
20784 PR lto/44889
20785 * gimple.c (gimple_fixup_complete_and_incomplete_subtype_p): New
20786 helper function.
20787 (gimple_types_compatible_p): Similar to pointed-to
20788 types allow and merge a mix of complete and incomplete aggregate.
20789 Use gimple_fixup_complete_and_incomplete_subtype_p for that.
20790 (iterative_hash_gimple_type): Adjust for that.
20791
20792 2010-07-10 Richard Sandiford <r.sandiford@uk.ibm.com>
20793
20794 * tree.h (DECL_REPLACEABLE_P): Strengthen check for weak symbols.
20795
20796 2010-07-10 Iain Sandoe <iains@gcc.gnu.org>
20797
20798 PR objc/44140
20799 * config/darwin.c (output_objc_section_asm_op): Save and restore
20800 section when outputting ObjC section list.
20801
20802 2010-07-09 Jan Hubicka <jh@suse.cz>
20803
20804 * lto-streamer-out.c (produce_symtab): Do not write alias
20805 cgraph/varpool nodes.
20806
20807 2010-07-09 Jan Hubicka <jh@suse.cz>
20808
20809 * tree-inline.c (declare_return_variable): Fix ICE while
20810 inlining DECL_BY_VALUE function not in SSA form
20811
20812 2010-07-09 Changpeng Fang <changpeng.fang@amd.com>
20813
20814 PR tree-optimization/44576
20815 * tree-ssa-loop-prefetch.c (trip_count_to_ahead_ratio_too_small_p):
20816 New. Pull out from is_loop_prefetching_profitable to implement
20817 the trip count to ahead ratio heuristic.
20818 (mem_ref_count_reasonable_p): New. Pull out from
20819 is_loop_prefetching_profitable to implement the instruction to
20820 memory reference ratio heuristic. Also consider not reasonable if
20821 the memory reference count is above a threshold (to avoid
20822 explosive compilation time.
20823 (insn_to_prefetch_ratio_too_small_p): New. Pull out from
20824 is_loop_prefetching_profitable to implement the instruction to
20825 prefetch ratio heuristic.
20826 (is_loop_prefetching_profitable): Removed.
20827 (loop_prefetch_arrays): Distribute the cost analysis across the
20828 function to allow early exit of the prefetch analysis.
20829 is_loop_prefetching_profitable is splitted into three functions,
20830 with each one called as early as possible.
20831 (PREFETCH_MAX_MEM_REFS_PER_LOOP): New. Threshold above which the
20832 number of memory references in a loop is considered too many.
20833
20834 2010-07-09 Bernd Schmidt <bernds@codesourcery.com>
20835
20836 * reload.c (find_reloads): Don't clear badop if we have a winreg
20837 alternative, but not win, and the class only has fixed regs.
20838 * hard-reg-set.h (class_only_fixed_regs): Declare.
20839 * reginfo.c (class_only_fixed_regs): New array.
20840 (init_reg_sets_1): Initialize it.
20841 * config/arm/arm.md (arm_addsi3, thumb1_addsi3, arm_subsi3_insn): Don't
20842 discourage alternatives using the stack pointer.
20843
20844 * config/arm/arm.md (addsi3_cbranch): Switch alternatives 0 and 1.
20845
20846 * config/arm/arm.md (Thumb-1 ldrsb peephole): New.
20847
20848 * config/arm/arm.md (cbranchqi4): Fix array size.
20849 (addsi3_cbranch): Also andle alternative 2 like alternative 3 when
20850 calculating length.
20851
20852 2010-07-09 Richard Guenther <rguenther@suse.de>
20853
20854 * gimple.c (struct type_fixup_s): New struct and VEC type.
20855 (gimple_register_type_fixups): New static global.
20856 (gimple_queue_type_fixup): New function.
20857 (gimple_types_compatible_p): Queue type fixups instead of
20858 applying them here.
20859 (gimple_register_type): Apply queued fixups for the
20860 canonical type. Empty the type fixup queue.
20861
20862 2010-07-09 Uros Bizjak <ubizjak@gmail.com>
20863
20864 * configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Fix test.
20865 * configure: Regenerate.
20866 * config.in: Ditto.
20867
20868 2010-07-09 Jakub Jelinek <jakub@redhat.com>
20869 Denys Vlasenko <dvlasenk@redhat.com>
20870 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
20871
20872 PR tree-optimization/28632
20873 * tree-vrp.c (zero_nonzero_bits_from_vr): New function.
20874 (extract_range_from_binary_expr): Further optimize
20875 BIT_AND_EXPR and BIT_IOR_EXPR.
20876
20877 2010-07-09 Sebastian Pop <sebastian.pop@amd.com>
20878
20879 * tree-if-conv.c (fold_or_predicates): New.
20880 (add_to_predicate_list): Call it.
20881
20882 2010-07-09 Richard Guenther <rguenther@suse.de>
20883
20884 PR middle-end/44890
20885 * tree-ssa-address.c (create_mem_ref_raw): Only build a MEM_REF
20886 if base is a pointer.
20887 * tree-cfg.c (verify_expr): Update MEM_REF checking.
20888
20889 2010-07-08 Michael Meissner <meissner@linux.vnet.ibm.com>
20890
20891 PR target/44877
20892 * config/rs6000/rs6000.c (rs6000_expand_builtin): Use
20893 POINTER_TYPE_P instead of checking only for POINTER_TYPE for the
20894 builtin mask for load/store builtins.
20895
20896 2010-07-09 Uros Bizjak <ubizjak@gmail.com>
20897
20898 * configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Also check
20899 for "lock addl".
20900 * configure: Regenerate.
20901 * config/i386/i386.c (ix86_print_operand) <case ';'>:
20902 Remove TARGET_MACHO.
20903
20904 2010-07-09 Peter Bergner <bergner@vnet.ibm.com>
20905
20906 * config/rs6000/rs6000.c (rs6000_override_options): Fix setting of
20907 default ISA flags.
20908 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mvsx.
20909
20910 2010-07-09 Tom de Vries <tjvries@xs4all.nl>
20911
20912 * tree.c (type_hash_if_marked_p): Removed non-ggc_marked_p clause.
20913
20914 2010-07-09 Hariharan Sandanagobalane <hariharan@picochip.com>
20915
20916 * config/picochip/picochip.md (commsTestPort): Emit more
20917 efficient sequence for tstport instruction.
20918
20919 2010-07-09 Uros Bizjak <ubizjak@gmail.com>
20920
20921 * config/i386/i386.c (ix86_veclib_handler): Make static.
20922
20923 2010-07-09 Richard Guenther <rguenther@suse.de>
20924
20925 PR tree-optimization/44852
20926 * tree-ssa-alias.c: Include toplev.h for exact_log2.
20927 (indirect_ref_may_alias_decl_p): Properly handle negative offsets
20928 in MEM_REF.
20929 (indirect_refs_may_alias_p): Likewise.
20930 * Makefile.in (tree-ssa-alias.o): Add $(TOPLEV_H).
20931
20932 2010-07-09 Richard Guenther <rguenther@suse.de>
20933
20934 PR tree-optimization/44882
20935 * tree-vect-stmts.c (vectorizable_store): Do not assert alias
20936 sets do conflict.
20937 (vectorizable_load): Likewise.
20938
20939 2010-07-09 Bernd Schmidt <bernds@codesourcery.com>
20940
20941 PR target/40657
20942 * config/arm/arm.c (thumb1_extra_regs_pushed): New arg FOR_PROLOGUE.
20943 All callers changed.
20944 Handle the case when we're called for the epilogue.
20945 (thumb_unexpanded_epilogue): Use it.
20946 (thumb1_expand_epilogue): Likewise.
20947
20948 2010-07-09 Jakub Jelinek <jakub@redhat.com>
20949
20950 * tree-vrp.c (extract_range_from_binary_expr) <BIT_AND_EXPR>: If
20951 both ranges are range_int_cst_p with non-negative minimum,
20952 try harder to derive smaller range.
20953
20954 2010-07-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
20955
20956 * genrecog.c: Include diagnostic-core.h before toplev.h.
20957 * genoutput.c: Likewise.
20958 * genextract.c: Likewise.
20959 * genautomata.c: Likewise.
20960 * genemit.c: Likewise.
20961 * genpeep.c: Likewise.
20962 * genattrtab.c: Likewise.
20963 * genconditions.c: Likewise.
20964 * genpreds.c: Likewise.
20965
20966 2010-07-08 Andi Kleen <ak@linux.intel.com>
20967
20968 * lto-section-in.c (lto_section_name): Add missing comma.
20969
20970 2010-07-08 Anatoly Sokolov <aesok@post.ru>
20971
20972 * config/ia64/ia64.h (OVERRIDE_OPTIONS): Remove macros.
20973 * config/ia64/ia64-protos.h (ia64_override_options): Remove.
20974 * config/ia64/ia64.c (TARGET_OPTION_OVERRIDE): Define.
20975 (ia64_override_options): Rename to...
20976 (ia64_option_override): ... this one. Make static.
20977
20978 2010-07-08 Eric Botcazou <ebotcazou@adacore.com>
20979
20980 PR middle-end/44843
20981 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not rely on the
20982 pointed-to type of the offset in a MEM_REF to compute the alignment.
20983
20984 2010-07-08 Kai Tietz <kai.tietz@onevision.com>
20985
20986 * final.c (final_scan_insn): Replace
20987 TARGET_UNWIND_INFO macro check by unwind_emit
20988 hook NULL check.
20989 * targhooks.c (default_unwind_emit): Removed.
20990 * targhooks.h (default_unwind_emit): Likewise.
20991 * target.def (unwind_emit): Set default value to NULL.
20992
20993 * config/i386/i386-protos.h (ix86_asm_output_function_label):
20994 New prototype.
20995 * config/i386/i386.c (ix86_function_ms_hook_prologue): Check
20996 for NULL fntype argument and allow 64-bit targets.
20997 (ix86_asm_output_function_label): New function.
20998 (ix86_expand_prologue): Handle 64-bit ms hook prologue.
20999 (ix86_handle_fndecl_attribute): Likewise.
21000 * doc/extend.texi (ms_hook_prologue): Adjust documentation.
21001 * doc/doc/tm.texi: Regenerated.
21002 * doc/doc/doc/tm.texi.in (ASM_OUTPUT_FUNCTION_LABEL): New.
21003 (ASM_DECLARE_FUNCTION_NAME): Adjust documentation.
21004 * defaults.h (ASM_OUTPUT_FUNCTION_LABEL): New macro.
21005 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use
21006 ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.
21007 * config/elfos.h: Likewise.
21008 * config/i386/cygming.h: Likewise.
21009 * config/netbsd-aout.h: Likewise.
21010 * config/openbsd.h: Likewise.
21011 * config/i386/i386.h (ASM_OUTPUT_FUNCTION_LABEL): Override
21012 by ix86_asm_output_function_label function call.
21013 * varasm.c (assemble_start_function): Use
21014 ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.
21015
21016 2010-07-08 Jan Hubicka <jh@suse.cz>
21017
21018 * cgraph.c (cgraph_will_be_removed_from_program_if_no_direct_calls):
21019 New function.
21020 * cgraph.h (cgraph_will_be_removed_from_program_if_no_direct_calls):
21021 Declare.
21022 * ipa-cp.c (ipcp_estimate_growth): Use it.
21023 * ipa-inline.c (cgraph_estimate_growth, cgraph_decide_inlining):
21024 Likewise.
21025
21026 2010-07-08 Jan Hubicka <jh@suse.cz>
21027
21028 * tree-inline.c (declare_return_variable): Allocate annotation for new
21029 temporary.
21030
21031 2010-07-08 Sebastian Pop <sebastian.pop@amd.com>
21032
21033 PR tree-optimization/44710
21034 * tree-if-conv.c (parse_predicate): New.
21035 (add_to_predicate_list): Call it, call maybe_fold_or_comparisons.
21036 Make sure that the predicates are either SSA_NAMEs or gimple_condexpr.
21037
21038 2010-07-08 Sebastian Pop <sebastian.pop@amd.com>
21039
21040 * common.opt (ftree-loop-if-convert): New flag.
21041 * doc/invoke.texi (ftree-loop-if-convert): Documented.
21042 * tree-if-conv.c (gate_tree_if_conversion): Enable if-conversion
21043 when flag_tree_loop_if_convert is set.
21044
21045 2010-07-08 Uros Bizjak <ubizjak@gmail.com>
21046
21047 * config/i386/i386.c: Use short syntax for function calls
21048 through function pointers.
21049 * config/i386/i386.md: Ditto.
21050
21051 2010-07-08 Eric Botcazou <ebotcazou@adacore.com>
21052
21053 * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix formatting issues.
21054
21055 2010-07-08 Richard Guenther <rguenther@suse.de>
21056
21057 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Fix
21058 stmt check for POINTER_PLUS_EXPRs, fix the pointer assignment.
21059
21060 2010-07-08 Jakub Jelinek <jakub@redhat.com>
21061
21062 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_const[48]u
21063 instead of DW_OP_addr for DW_OP_GNU_push_tls_address operand.
21064 (loc_list_from_tree): Likewise.
21065 (output_loc_operands): Handle outputting DW_OP_const[48]u
21066 with loc->dtprel set.
21067 (resolve_addr_in_expr): Handle loc->dtprel like DW_OP_addr.
21068
21069 2010-07-08 Jan Hubicka <jh@suse.cz>
21070
21071 * ipa.c: Include pointer-set.h
21072 (cgraph_externally_visible_p): New attribute ALIASED;
21073 when in LTO, hidden symbols are local unless they are aliased.
21074 (function_and_variable_visibility): Compute aliased nodes;
21075 handle LTO and hidden symbol on functions and vars.
21076 * cgraph.c (cgraph_make_decl_local): Clear NAMED_SECTION
21077 for COMDAT symbols; handle COMDAT_GROUPS also at vars.
21078
21079 2010-07-08 Eric Botcazou <ebotcazou@adacore.com>
21080
21081 * config/i386/cygming.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
21082 * config/i386/freebsd.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
21083 * config/i386/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
21084 * config/i386/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
21085 * config/i386/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
21086 * config/i386/i386.c (ix86_gen_adjust_stack_and_probe): New variable.
21087 (ix86_gen_probe_stack_range): Likewise.
21088 (override_options): Set them.
21089 (ix86_target_stack_probe): New function.
21090 (ix86_compute_frame_layout): Force use of push instructions to
21091 save registers if stack checking with probes is enabled.
21092 (get_scratch_register_on_entry): New function.
21093 (release_scratch_register_on_entry): Likewise.
21094 (ix86_adjust_stack_and_probe): Likewise.
21095 (output_adjust_stack_and_probe): Likewise.
21096 (ix86_emit_probe_stack_range): Likewise.
21097 (output_probe_stack_range): Likewise.
21098 (ix86_expand_prologue): Emit stack checking code if static built-in
21099 stack checking is enabled.
21100 Test ix86_target_stack_probe instead of TARGET_STACK_PROBE.
21101 * config/i386/i386-protos.h (ix86_target_stack_probe): Declare.
21102 (output_adjust_stack_and_probe): Likewise.
21103 (output_probe_stack_range): Likewise.
21104 * config/i386/i386.md (UNSPECV_PROBE_STACK_RANGE): New constant.
21105 (allocate_stack_worker_32): Test ix86_target_stack_probe instead of
21106 TARGET_STACK_PROBE.
21107 (allocate_stack_worker_64): Likewise.
21108 (allocate_stack): Likewise.
21109 (adjust_stack_and_probe): New insn.
21110 (probe_stack_range): Likewise.
21111
21112 2010-07-08 Richard Guenther <rguenther@suse.de>
21113
21114 PR tree-optimization/44831
21115 * tree-ssa-phiprop.c (phiprop_insert_phi): Properly build
21116 a MEM_REF preserving TBAA info of the original dereference.
21117 Dereference the original pointer if the address is not invariant.
21118 (propagate_with_phi): Fixup type checks wrt MEM_REFs. Require
21119 at least one invariant address that we are going to dereference.
21120
21121 2010-07-08 Richard Guenther <rguenther@suse.de>
21122
21123 PR tree-optimization/44861
21124 * tree-vect-stmts.c (vectorizable_store): Preserve TBAA
21125 information when building MEM_REFs.
21126 (vectorizable_load): Likewise.
21127 * tree-vect-data-refs.c (vect_setup_realignment): Likewise.
21128
21129 2010-07-08 Eric Botcazou <ebotcazou@adacore.com>
21130
21131 * config/sol2-c.c: Do not include diagnostic-core.h.
21132
21133 2010-07-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
21134
21135 PR bootstrap/44768
21136 * cfgexpand.c (estimated_stack_frame_size): Make self-contained
21137 with respect to current_function_decl. Pass decl of the function.
21138 * tree-inline.h (estimated_stack_frame_size): Adjust prototype.
21139 * ipa-inline.c (compute_inline_parameters): Pass decl to
21140 estimated_stack_frame_size.
21141
21142 2010-07-08 Richard Guenther <rguenther@suse.de>
21143
21144 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
21145 New function.
21146 (valueize_refs): Call it.
21147
21148 2010-07-08 Richard Guenther <rguenther@suse.de>
21149
21150 PR rtl-optimization/44838
21151 * tree-ssa-alias.c (indirect_refs_may_alias_p): When not in
21152 SSA form do not use pointer equivalence.
21153
21154 2010-07-08 Eric Botcazou <ebotcazou@adacore.com>
21155
21156 * dwarf2out.c (AT_linkage_name): Delete.
21157 (add_linkage_attr): New function.
21158 (add_linkage_name): Call it to emit the linkage attribute.
21159 (dwarf2out_finish): Likewise.
21160 (move_linkage_attr): Explicitly accept both attribute variants.
21161
21162 2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
21163
21164 * toplev.h: Do not include diagnostic-core.h.
21165 Include diagnostic-core.h in every file that includes toplev.h.
21166 * c-tree.h: Do not include toplev.h.
21167 * pretty-print.h: Update comment.
21168 * Makefile.in: Update dependencies.
21169 * alias.c: Include diagnostic-core.h in every file that includes
21170 toplev.h.
21171 * attribs.c: Likewise.
21172 * auto-inc-dec.c: Likewise.
21173 * bb-reorder.c: Likewise.
21174 * bt-load.c: Likewise.
21175 * caller-save.c: Likewise.
21176 * calls.c: Likewise.
21177 * cfg.c: Likewise.
21178 * cfganal.c: Likewise.
21179 * cfgbuild.c: Likewise.
21180 * cfgcleanup.c: Likewise.
21181 * cfghooks.c: Likewise.
21182 * cfgloop.c: Likewise.
21183 * combine.c: Likewise.
21184 * config/alpha/alpha.c: Likewise.
21185 * config/arc/arc.c: Likewise.
21186 * config/arm/arm.c: Likewise.
21187 * config/arm/pe.c: Likewise.
21188 * config/avr/avr.c: Likewise.
21189 * config/bfin/bfin.c: Likewise.
21190 * config/cris/cris.c: Likewise.
21191 * config/crx/crx.c: Likewise.
21192 * config/darwin-c.c: Likewise.
21193 * config/darwin.c: Likewise.
21194 * config/fr30/fr30.c: Likewise.
21195 * config/frv/frv.c: Likewise.
21196 * config/h8300/h8300.c: Likewise.
21197 * config/host-darwin.c: Likewise.
21198 * config/i386/i386.c: Likewise.
21199 * config/i386/netware.c: Likewise.
21200 * config/i386/nwld.c: Likewise.
21201 * config/i386/winnt-cxx.c: Likewise.
21202 * config/i386/winnt-stubs.c: Likewise.
21203 * config/i386/winnt.c: Likewise.
21204 * config/ia64/ia64-c.c: Likewise.
21205 * config/ia64/ia64.c: Likewise.
21206 * config/iq2000/iq2000.c: Likewise.
21207 * config/lm32/lm32.c: Likewise.
21208 * config/m32c/m32c-pragma.c: Likewise.
21209 * config/m32c/m32c.c: Likewise.
21210 * config/m32r/m32r.c: Likewise.
21211 * config/m68hc11/m68hc11.c: Likewise.
21212 * config/m68k/m68k.c: Likewise.
21213 * config/mcore/mcore.c: Likewise.
21214 * config/mep/mep-pragma.c: Likewise.
21215 * config/mep/mep.c: Likewise.
21216 * config/mmix/mmix.c: Likewise.
21217 * config/mn10300/mn10300.c: Likewise.
21218 * config/moxie/moxie.c: Likewise.
21219 * config/pa/pa.c: Likewise.
21220 * config/pdp11/pdp11.c: Likewise.
21221 * config/picochip/picochip.c: Likewise.
21222 * config/rs6000/rs6000-c.c: Likewise.
21223 * config/rs6000/rs6000.c: Likewise.
21224 * config/rx/rx.c: Likewise.
21225 * config/s390/s390.c: Likewise.
21226 * config/score/score.c: Likewise.
21227 * config/score/score3.c: Likewise.
21228 * config/score/score7.c: Likewise.
21229 * config/sh/sh.c: Likewise.
21230 * config/sh/symbian-base.c: Likewise.
21231 * config/sh/symbian-c.c: Likewise.
21232 * config/sh/symbian-cxx.c: Likewise.
21233 * config/sol2-c.c: Likewise.
21234 * config/sol2.c: Likewise.
21235 * config/sparc/sparc.c: Likewise.
21236 * config/spu/spu.c: Likewise.
21237 * config/stormy16/stormy16.c: Likewise.
21238 * config/v850/v850-c.c: Likewise.
21239 * config/v850/v850.c: Likewise.
21240 * config/vax/vax.c: Likewise.
21241 * config/vxworks.c: Likewise.
21242 * config/xtensa/xtensa.c: Likewise.
21243 * convert.c: Likewise.
21244 * cse.c: Likewise.
21245 * cselib.c: Likewise.
21246 * dbgcnt.c: Likewise.
21247 * dbxout.c: Likewise.
21248 * ddg.c: Likewise.
21249 * dominance.c: Likewise.
21250 * emit-rtl.c: Likewise.
21251 * explow.c: Likewise.
21252 * expmed.c: Likewise.
21253 * fixed-value.c: Likewise.
21254 * fold-const.c: Likewise.
21255 * fwprop.c: Likewise.
21256 * gcse.c: Likewise.
21257 * ggc-common.c: Likewise.
21258 * ggc-page.c: Likewise.
21259 * ggc-zone.c: Likewise.
21260 * gimple-low.c: Likewise.
21261 * gimplify.c: Likewise.
21262 * graph.c: Likewise.
21263 * haifa-sched.c: Likewise.
21264 * ifcvt.c: Likewise.
21265 * implicit-zee.c: Likewise.
21266 * integrate.c: Likewise.
21267 * ira-build.c: Likewise.
21268 * ira-color.c: Likewise.
21269 * ira-conflicts.c: Likewise.
21270 * ira-costs.c: Likewise.
21271 * ira-lives.c: Likewise.
21272 * ira.c: Likewise.
21273 * lists.c: Likewise.
21274 * loop-doloop.c: Likewise.
21275 * loop-iv.c: Likewise.
21276 * lto-opts.c: Likewise.
21277 * lto-symtab.c: Likewise.
21278 * main.c: Likewise.
21279 * modulo-sched.c: Likewise.
21280 * optabs.c: Likewise.
21281 * params.c: Likewise.
21282 * plugin.c: Likewise.
21283 * postreload-gcse.c: Likewise.
21284 * postreload.c: Likewise.
21285 * predict.c: Likewise.
21286 * profile.c: Likewise.
21287 * real.c: Likewise.
21288 * regcprop.c: Likewise.
21289 * reginfo.c: Likewise.
21290 * regmove.c: Likewise.
21291 * reorg.c: Likewise.
21292 * resource.c: Likewise.
21293 * rtl.c: Likewise.
21294 * rtlanal.c: Likewise.
21295 * sched-deps.c: Likewise.
21296 * sched-ebb.c: Likewise.
21297 * sched-rgn.c: Likewise.
21298 * sdbout.c: Likewise.
21299 * sel-sched-dump.c: Likewise.
21300 * sel-sched-ir.c: Likewise.
21301 * simplify-rtx.c: Likewise.
21302 * stmt.c: Likewise.
21303 * stor-layout.c: Likewise.
21304 * store-motion.c: Likewise.
21305 * targhooks.c: Likewise.
21306 * tree-cfg.c: Likewise.
21307 * tree-cfgcleanup.c: Likewise.
21308 * tree-dump.c: Likewise.
21309 * tree-eh.c: Likewise.
21310 * tree-inline.c: Likewise.
21311 * tree-nomudflap.c: Likewise.
21312 * tree-object-size.c: Likewise.
21313 * tree-optimize.c: Likewise.
21314 * tree-outof-ssa.c: Likewise.
21315 * tree-phinodes.c: Likewise.
21316 * tree-profile.c: Likewise.
21317 * tree-ssa-ccp.c: Likewise.
21318 * tree-ssa-coalesce.c: Likewise.
21319 * tree-ssa-live.c: Likewise.
21320 * tree-ssa-loop-niter.c: Likewise.
21321 * tree-ssa-loop-prefetch.c: Likewise.
21322 * tree-ssa-loop.c: Likewise.
21323 * tree-ssa-structalias.c: Likewise.
21324 * tree-ssa-uninit.c: Likewise.
21325 * tree-ssa.c: Likewise.
21326 * tree-vect-data-refs.c: Likewise.
21327 * tree-vect-loop-manip.c: Likewise.
21328 * tree-vect-loop.c: Likewise.
21329 * tree-vect-patterns.c: Likewise.
21330 * tree-vect-stmts.c: Likewise.
21331 * tree-vrp.c: Likewise.
21332 * varasm.c: Likewise.
21333 * vec.c: Likewise.
21334 * web.c: Likewise.
21335 * xcoffout.c: Likewise.
21336
21337 2010-07-07 Richard Sandiford <rdsandiford@googlemail.com>
21338
21339 * gengtype.c (write_field_root): New function.
21340 (write_root): Use it.
21341
21342 2010-07-07 Wei Guozhi <carrot@google.com>
21343
21344 * config/arm/thumb2.md (peephole2 to convert zero_extract/compare
21345 of lowest bits to lshift/compare): Add a missing line.
21346
21347 2010-07-07 Wei Guozhi <carrot@google.com>
21348
21349 * config/arm/thumb2.md (peephole2 to convert zero_extract/compare
21350 of lowest bits to lshift/compare): New.
21351
21352 2010-07-07 Tom Tromey <tromey@redhat.com>
21353
21354 * doc/tm.texi: Update.
21355 * doc/tm.texi.in (SDB and DWARF) <TARGET_WANT_DEBUG_PUB_SECTIONS>:
21356 Add @hook.
21357 * target.def (want_debug_pub_sections): New hook.
21358 * config/darwin.h (TARGET_WANT_DEBUG_PUB_SECTIONS): Define.
21359 * dwarf2out.c (add_pubname_string): Check
21360 targetm.want_debug_pub_sections.
21361 (add_pubname): Likewise.
21362 (add_pubtype): Likewise.
21363
21364 2010-07-07 Jie Zhang <jie@codesourcery.com>
21365
21366 * genautomata.c (output_automata_list_min_issue_delay_code):
21367 Correctly decompress min_issue_delay.
21368
21369 2010-07-07 Bernd Schmidt <bernds@codesourcery.com>
21370
21371 PR rtl-optimization/44404
21372 * auto-inc-dec.c (find_inc): Avoid calling count_occurrences if
21373 possible, use reg_overlap_mentioned_p instead.
21374
21375 2010-07-07 Duncan Sands <baldrick@free.fr>
21376
21377 PR middle-end/41355
21378 * tree.c (build_function_type_skip_args): Copy the original type using
21379 build_distinct_type_copy rather than copy_node.
21380
21381 2010-07-07 H.J. Lu <hongjiu.lu@intel.com>
21382
21383 PR target/44850
21384 * config/i386/i386.c (ix86_function_ms_hook_prologue): Revert
21385 revision 161876.
21386 (ix86_expand_prologue): Likewise.
21387 (ix86_handle_fndecl_attribute): Likewise.
21388 (ix86_asm_declare_function_name): Likewise.
21389 * config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
21390 * config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
21391 (SUBTARGET_ASM_DECLARE_FUNCTION_NAME): Likewise.
21392 * config/i386/i386-protos.h (ix86_asm_declare_function_name): Likewise.
21393 * doc/extend.texi: Likewise.
21394
21395 2010-07-07 H.J. Lu <hongjiu.lu@intel.com>
21396
21397 PR target/44844
21398 * config/i386/i386.md (rdrand<mode>): Changed to expand to
21399 retry if the carry flag isn't valid.
21400 (rdrand<mode>_1): New.
21401
21402 2010-07-07 Richard Guenther <rguenther@suse.de>
21403
21404 PR middle-end/44790
21405 * expr.c (expand_expr_real_1): Go the POINTER_PLUS_EXPR path
21406 for expanding the constant offset for MEM_REFs.
21407
21408 2010-07-07 Richard Guenther <rguenther@suse.de>
21409
21410 * tree-ssa-propagate.h (valid_gimple_call_p): Remove.
21411 * tree-ssa-propagate.c (valid_gimple_call_p): Make static. Fix.
21412 * gimple.h (is_gimple_operand): Remove.
21413 * gimple.c (is_gimple_operand): Likewise.
21414 (walk_gimple_op): Fix wi->val_only setting for calls.
21415 * tree-cfg.c (verify_gimple_call): Fix argument validation.
21416 * tree-profile.c (tree_gen_ic_func_profiler): Do not create
21417 invalid gimple calls.
21418
21419 2010-07-06 Jan Hubicka <jh@suse.cz>
21420
21421 * lto-cgraph.c (output_cgraph): Add missing declaration.
21422
21423 2010-07-06 Jan Hubicka <jh@suse.cz>
21424
21425 * lto-cgraph.c (output_cgraph): Output toplevel asms only into first
21426 partition.
21427
21428 2010-07-06 Alexandre Oliva <aoliva@redhat.com>
21429
21430 * doc/gimple.texi (GIMPLE_DEBUG): Document.
21431 * doc/rtl.texi (Debug Information): New node.
21432 (NOTE_INSN_VAR_LOCATION): Document.
21433 (debug_insn): Likewise.
21434 * doc/generic.texi (DEBUG_EXPR_DECL): Document.
21435
21436 2010-07-07 Jan Hubicka <jh@suse.cz>
21437
21438 With parts by Richard Guenther.
21439
21440 PR middle-end/44813
21441 * tree-ssa-uninit.c (ssa_undefined_value_p): Result decl is defined
21442 for functions passed by reference.
21443 * tree.c (needs_to_live_in_memory): RESULT_DECL don't need to live
21444 in memory when passed by reference.
21445 * tree-ssa-ccp.c (get_default_value): Only VAR_DECL is undefined at
21446 beggining.
21447 * ipa-split.c (split_function): Cleanup way return value is passed;
21448 handle SSA DECL_BY_REFERENCE retvals.
21449 * tree-ssa.c (verify_def): Verify that RESULT_DECL is read only when
21450 DECL_BY_REFERENCE is set.
21451 * tree-ssa-structalias.c (get_constraint_for_ssa_var, get_fi_for_callee,
21452 find_what_p_points_to): Handle RESULT_DECL.
21453 * tree-inline.c (declare_return_variable): Get new entry_block argument;
21454 when passing by reference ensure that RESULT_DECL is gimple_val.
21455 (remap_gimple_op_r): Remap RESULT_DECL ssa name.
21456 (remap_gimple_stmt): Handle SSA DECL_BY_REFERENCE returns.
21457
21458 2010-07-07 Bernd Schmidt <bernds@codesourcery.com>
21459
21460 PR rtl-optimization/44787
21461 * config/arm/arm.md (arith_shiftsi): Allow stack pointer in operand 2.
21462 * config/arm/thumb2.md (thumb2_arith_shiftsi): Likewise.
21463
21464 2010-07-06 Jan Hubicka <jh@suse.cz>
21465
21466 * lto-symtab.c (lto_cgraph_replace_node): Handle aliases.
21467 (lto_symtab_resolve_can_prevail_p): Also alias of cgraph node
21468 with body can prevail.
21469 (lto_symtab_resolve_symbols): Use cgraph_get_node_or_alias.
21470 (lto_symtab_merge_cgraph_nodes_1): Do not remove nodes from aliases.
21471 * cgraph.c (cgraph_get_node_or_alias): New function.
21472 * cgraph.h (cgraph_get_node_or_alias): Declare.
21473
21474 2010-07-06 Kai Tietz <kai.tietz@onevision.com>
21475
21476 * config/i386/i386.c (ix86_function_ms_hook_prologue): Enable x64
21477 support.
21478 (ix86_expand_prologue): Likewise.
21479 (ix86_handle_fndecl_attribute): Likewise.
21480 (ix86_asm_declare_function_name): New function for
21481 ASM_DECLARE_FUNCTION_NAME.
21482 * config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): New macro.
21483 * config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Removed.
21484 (SUBTARGET_ASM_DECLARE_FUNCTION_NAME): New macro.
21485 * config/i386/i386-protos.h (ix86_asm_declare_function_name): New.
21486 * doc/extend.texi: Adjust documentation about ms_hook_prologue
21487 attribute.
21488
21489 2010-07-06 Uros Bizjak <ubizjak@gmail.com>
21490
21491 * config/i386/i386.md (immediate_operand): New mode attribute.
21492
21493 (pro_epilogue_adjust_stack_<mode>_1): Macroize insn from
21494 pro_epilogue_adjust_stack and pro_epilogue_adjust_stack_rex64
21495 using P mode iterator.
21496 (pro_epilogue_adjust_stack_di_2): Rename from
21497 pro_epilogue_adjust_stack_rex64_2.
21498
21499 * config/i386/i386.c (pro_epilogue_adjust_stack): Update for rename.
21500
21501 2010-07-06 Uros Bizjak <ubizjak@gmail.com>
21502
21503 * config/i386/i386.md (insv): Call gen_movdi_insv1 or gen_movsi_insv1
21504 through gen_mov_insv_1 function pointer.
21505 (fmod<mode>3): Call gen_truncxf<mode>2_i387_noop_unspec or
21506 gen_truncxf<mode>2 through gen_truncxf function pointer.
21507 (remainder<mode>3): Ditto.
21508 (cmpstrnsi): Rename cmp_insn function pointer to gen_cmp.
21509 (allocate_stack): Call gen_allocate_stack_worker_64 or
21510 gen_allocate_stack_worker_32 through gen_allocate_stack_worker
21511 function pointer.
21512 (probe_stack): Call gen_iordi3 or gen_iorsi3 through gen_ior3
21513 function pointer.
21514
21515 2010-07-06 Uros Bizjak <ubizjak@gmail.com>
21516
21517 * config/i386/i386.md (*add<mode>3_cconly_overflow): Use <g>
21518 operand constraint instead of <r><i>m.
21519
21520 2010-07-06 Richard Guenther <rguenther@suse.de>
21521
21522 PR middle-end/44828
21523 * convert.c (convert_to_integer): Watch out for overflowing
21524 MULT_EXPR as well.
21525
21526 2010-07-05 Jan Hubicka <jh@suse.cz>
21527
21528 * lto-streamer.c (write_symbol_vec): Rename to ...
21529 (write_symbol) ... this one; write only symbol given and when
21530 present in cache. Sanity check that what is defined is present
21531 in cgraph/varpool with body/finalized decl.
21532 (write_symbols_of_kind): Remove.
21533 (produce_symtab): Take outputblock and sets; use cgraph/varpool/alias
21534 pairs to produce symtab.
21535 (produce_asm_for_decls): Update call of produce_symtab; don't do so
21536 when doing WPA streaming.
21537
21538 2010-07-05 Jan Hubicka <jh@suse.cz>
21539
21540 * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Check that
21541 function is still available to fold into.
21542
21543 2010-07-05 Nathan Froyd <froydnj@codesourcery.com>
21544
21545 * vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro.
21546 * function.h (struct_function): Change type of local_decls field
21547 to a VEC.
21548 (add_local_decl): New function.
21549 (FOR_EACH_LOCAL_DECL): New macro.
21550 * cfgexpand.c (init_vars_expansion): Adjust for new type of
21551 cfun->local_decls.
21552 (estimated_stack_frame_size): Likewise.
21553 (expand_used_vars): Likewise.
21554 * cgraphbuild.c (build_cgraph_edges): Likewise.
21555 * function.c (instantiate_decls_1): Likewise.
21556 * ipa-struct-reorg.c (build_data_structure): Likewise.
21557 * ipa-type-escape.c (analyze_function): Likewise.
21558 * lto-streamer-in.c (input_function): Likewise.
21559 * lto-streamer-out.c (output_function): Likewise.
21560 * tree-ssa-live.c (remove_unused_locals): Likewise.
21561 * tree.c (free_lang_data_in_decl): Likewise.
21562 (find_decls_types_in_node): Likewise.
21563 * omp-low.c (remove_exit_barrier): Likewise.
21564 (expand_omp_taskreg): Likewise.
21565 (list2chain): Rename to...
21566 (vec2chain): ...this. Adjust.
21567 * cgraphunit.c (assemble_thunk): Call add_local_decl.
21568 * tree-cfg.c (replace_by_duplicate_decl): Likewise.
21569 * gimple-low.c (record_vars_into): Likewise.
21570 * tree-inline.c (remap_decls): Likewise.
21571 (declare_return_variable): Likewise.
21572 (declare_inline_vars): Likewise.
21573 (copy_forbidden): Adjust for new type of cfun->local_decls.
21574 (add_local_variables): New function.
21575 (expand_call_inline): Call it.
21576 (tree_function_versioning): Likewise.
21577
21578 2010-07-05 H.J. Lu <hongjiu.lu@intel.com>
21579
21580 AVX Programming Reference (June, 2010)
21581 * config/i386/cpuid.h (bit_F16C): New.
21582 (bit_RDRND): Likewise.
21583 (bit_FSGSBASE): Likewise.
21584
21585 * config/i386/i386-builtin-types.def: Add
21586 "DEF_FUNCTION_TYPE (UINT16)", function types for
21587 float16 <-> float conversions and
21588 "DEF_FUNCTION_TYPE (VOID, UINT64)".
21589
21590 * config/i386/i386-c.c (ix86_target_macros_internal): Support
21591 OPTION_MASK_ISA_FSGSBASE, OPTION_MASK_ISA_RDRND and
21592 OPTION_MASK_ISA_F16C.
21593
21594 * config/i386/i386.c (OPTION_MASK_ISA_FSGSBASE_SET): New.
21595 (OPTION_MASK_ISA_RDRND_SET): Likewise.
21596 (OPTION_MASK_ISA_F16C_SET): Likewise.
21597 (OPTION_MASK_ISA_FSGSBASE_UNSET): Likewise.
21598 (OPTION_MASK_ISA_RDRND_UNSET): Likewise.
21599 (OPTION_MASK_ISA_F16C_UNSET): Likewise.
21600 (OPTION_MASK_ISA_AVX_UNSET): Add OPTION_MASK_ISA_F16C_UNSET.
21601 (ix86_handle_option): Handle OPT_mfsgsbase, OPT_mrdrnd and OPT_mf16c.
21602 (ix86_target_string): Support -mfsgsbase, -mrdrnd and -mf16c.
21603 (pta_flags): Add PTA_FSGSBASE, PTA_RDRND and PTA_F16C.
21604 (override_options): Handle them.
21605 (ix86_valid_target_attribute_inner_p): Handle fsgsbase, rdrnd and f16c.
21606 (ix86_builtins): Add IX86_BUILTIN_RDFSBASE32,
21607 IX86_BUILTIN_RDFSBASE64, IX86_BUILTIN_RDGSBASE32,
21608 IX86_BUILTIN_RDGSBASE64, IX86_BUILTIN_WRFSBASE32,
21609 IX86_BUILTIN_WRFSBASE64, IX86_BUILTIN_WRGSBASE32,
21610 IX86_BUILTIN_WRGSBASE64, IX86_BUILTIN_RDRAND16,
21611 IX86_BUILTIN_RDRAND32, IX86_BUILTIN_RDRAND64,
21612 IX86_BUILTIN_CVTPH2PS, IX86_BUILTIN_CVTPH2PS256,
21613 IX86_BUILTIN_CVTPS2PH and IX86_BUILTIN_CVTPS2PH256.
21614 (bdesc_args): Likewise.
21615 (ix86_expand_args_builtin): Handle V8SF_FTYPE_V8HI,
21616 V4SF_FTYPE_V8HI, V8HI_FTYPE_V8SF_INT and V8HI_FTYPE_V4SF_INT.
21617 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_UINT64,
21618 VOID_FTYPE_UNSIGNED, UNSIGNED_FTYPE_VOID and UINT16_FTYPE_VOID.
21619 Handle non-memory store.
21620
21621 * config/i386/i386.h (TARGET_FSGSBASE): New.
21622 (TARGET_RDRND): Likewise.
21623 (TARGET_F12C): Likewise.
21624
21625 * config/i386/i386.md (UNSPEC_VCVTPH2PS): New.
21626 (UNSPEC_VCVTPS2PH): Likewise.
21627 (UNSPECV_RDFSBASE): Likewise.
21628 (UNSPECV_RDGSBASE): Likewise.
21629 (UNSPECV_WRFSBASE): Likewise.
21630 (UNSPECV_WRGSBASE): Likewise.
21631 (UNSPECV_RDRAND): Likewise.
21632 (rdfsbase<mode>): Likewise.
21633 (rdgsbase<mode>): Likewise.
21634 (wrfsbase<mode>): Likewise.
21635 (wrgsbase<mode>): Likewise.
21636 (rdrand<mode>): Likewise.
21637
21638 * config/i386/i386.opt: Add -mfsgsbase, -mrdrnd and -mf16c.
21639
21640 * config/i386/immintrin.h (_rdrand_u16): New.
21641 (_rdrand_u32): Likewise.
21642 (_readfsbase_u32): Likewise.
21643 (_readfsbase_u64): Likewise.
21644 (_readgsbase_u32): Likewise.
21645 (_readgsbase_u64): Likewise.
21646 (_writefsbase_u32): Likewise.
21647 (_writefsbase_u64): Likewise.
21648 (_writegsbase_u32): Likewise.
21649 (_writegsbase_u64): Likewise.
21650 (_rdrand_u64): Likewise.
21651 (_cvtsh_ss): Likewise.
21652 (_mm_cvtph_ps): Likewise.
21653 (_mm256_cvtph_ps): Likewise.
21654 (_cvtss_sh): Likewise.
21655 (_mm_cvtps_ph): Likewise.
21656 (_mm256_cvtps_ph): Likewise.
21657
21658 * config/i386/sse.md (vcvtph2ps): New.
21659 (*vcvtph2ps_load): Likewise.
21660 (vcvtph2ps256): Likewise.
21661 (vcvtps2ph): Likewise.
21662 (*vcvtps2ph): Likewise.
21663 (*vcvtps2ph_store): Likewise.
21664 (vcvtps2ph256): Likewise.
21665
21666 * doc/extend.texi: Document FSGSBASE and RDRND built-in functions.
21667
21668 * doc/invoke.texi: Document -mfsgsbase, -mrdrnd and -mf16c.
21669
21670 2010-07-05 Joern Rennecke <joern.rennecke@embecosm.com>
21671
21672 PR bootstrap/44512
21673 * genenums.c (main): Output include of insn-constants.h
21674 * Makefile.in (insn-enums.o): Depend on insn-constants.h.
21675
21676 2010-07-05 Uros Bizjak <ubizjak@gmail.com>
21677
21678 * config/i386/i386.c (ix86_gen_allocate_stack_worker): New.
21679 (override_options): Initialize it.
21680 (ix86_expand_prologue): Use it.
21681
21682 2010-07-05 Jakub Jelinek <jakub@redhat.com>
21683
21684 * tree-nrv.c (tree_nrv): Set DECL_VALUE_EXPR on found to result.
21685
21686 2010-07-05 Anatoly Sokolov <aesok@post.ru>
21687
21688 * double-int.h (fit_double_type): Remove declaration.
21689 * double-int.c (fit_double_type): Remove function.
21690 * tree.h (int_fits_type_p): Adjust prototype.
21691 * tree.c (int_fits_type_p): Return bool. Use double_int_fits_to_tree_p
21692 instead of fit_double_type.
21693 (build_int_cst_type): Use double_int_to_tree and shwi_to_double_int
21694 instead of fit_double_type and build_int_cst_wide.
21695 * builtins.c (): Use double_int_fits_to_tree_p and double_int_to_tree
21696 instead of fit_double_type and build_int_cst_wide.
21697 (fold_builtin_object_size): Use double_int_fits_to_tree_p instead
21698 of fit_double_type.
21699
21700 2010-07-05 Jan Hubicka <jh@suse.cz>
21701
21702 * cgraph.h (cgraph_node, cgraph_varpool_node): Update docmentation of
21703 in_other_partition.
21704 * lto-cgraph.c (referenced_from_other_partition_p,
21705 reachable_from_other_partition_p): Use in_other_partition flags.
21706 (output_node, output_varpool_node): COMDAT nodes always have private
21707 copies and thus are never used from other partition.
21708
21709 2010-07-05 Anatoly Sokolov <aesok@post.ru>
21710
21711 * config/ia64/ia64.h (MEMORY_MOVE_COST): Remove macro.
21712 * config/ia64/t-ia64 (ia64.o): Depend on reload.h.
21713 * config/ia64/ia64.c Include reload.h.
21714 (ia64_memory_move_cost): New function.
21715 (TARGET_MEMORY_MOVE_COST): Define.
21716 (ia64_register_move_cost): Replace MEMORY_MOVE_COST with
21717 memory_move_cost.
21718
21719 2010-07-05 Sandra Loosemore <sandra@codesourcery.com>
21720
21721 PR middle-end/42505
21722 * tree-ssa-loop-ivopts.c (determine_set_costs): Delete obsolete
21723 comments about cost model.
21724 (try_add_cand_for): Add second strategy for choosing initial set
21725 based on original IVs, controlled by ORIGINALP argument.
21726 (get_initial_solution): Add ORIGINALP argument.
21727 (find_optimal_iv_set_1): New function, split from find_optimal_iv_set.
21728 (find_optimal_iv_set): Try two different strategies for choosing
21729 the IV set, and return the one with lower cost.
21730
21731 2010-07-05 Richard Guenther <rguenther@suse.de>
21732
21733 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Copy alias info.
21734
21735 2010-07-05 Richard Guenther <rguenther@suse.de>
21736
21737 * tree.c (reference_alias_ptr_type): New function.
21738 * tree.h (reference_alias_ptr_type): Declare.
21739 * tree-ssa-loop-ivopts.c (copy_ref_info): Restructure to
21740 allow non-TARGET_MEM_REF new refs.
21741 (rewrite_use_address): Pass old alias pointer type to create_mem_ref.
21742 * tree-ssa-address.c (create_mem_ref_raw): Get alias pointer type.
21743 Build a MEM_REF instead of a TARGET_MEM_REF if possible.
21744 (create_mem_ref): Get alias pointer type. Adjust calls to
21745 create_mem_ref_raw.
21746 (maybe_fold_tmr): Likewise.
21747 * tree-flow.h (create_mem_ref): Adjust prototype.
21748
21749 2010-07-05 Jakub Jelinek <jakub@redhat.com>
21750
21751 PR c++/44808
21752 * gimplify.c (gimplify_modify_expr): Only SET_DECL_DEBUG_EXPR if
21753 *from_p is VAR_DECL.
21754
21755 2010-07-05 Nathan Froyd <froydnj@codesourcery.com>
21756
21757 * tree.h (build_call_list): Remove.
21758 * tree.c (build_call_list): Remove.
21759
21760 2010-07-05 Richard Guenther <rguenther@suse.de>
21761
21762 * double-int.h (double_int_sub): Declare.
21763 * double-int.c (double_int_sub): New function.
21764 * dwarf2out.c (field_byte_offset): Use it.
21765 * fixed-value.c (do_fixed_add): Likewise.
21766 (do_fixed_multiply): Likewise.
21767 (do_fixed_divide): Likewise.
21768 * tree-predcom.c (add_ref_to_chain): Likewise.
21769 (determine_roots_comp): Likewise.
21770 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
21771
21772 2010-07-05 Nathan Froyd <froydnj@codesourcery.com>
21773
21774 * vec.h (VEC_splice, VEC_safe_splice): New macros. Add function
21775 implementations.
21776
21777 2010-07-05 Bernd Schmidt <bernds@codesourcery.com>
21778
21779 * config/arm/arm.c (get_arm_condition_code): Remove CC_NOTBmode case.
21780 * arm-modes.def (CC_NOTB): Don't define.
21781 * config/arm/arm.md (arm_adddi3): Generate canonical RTL.
21782 (adddi_sesidi_di, adddi_zesidi_di): Likewise.
21783 (LTUGEU): New code_iterator.
21784 (cnb, optab): New corresponding code_attrs.
21785 (addsi3_carryin_<optab>): Renamed from addsi3_carryin. Change pattern
21786 to canonical form. Operands 1 and 2 are commutative. Parametrize
21787 using LTUGEU.
21788 (addsi3_carryin_shift_<optab>): Likewise.
21789 (addsi3_carryin_alt2_<optab>): Renamed from addsi3_carryin_alt2.
21790 Operands 1 and 2 are commutative. Parametrize using LTUGEU.
21791 (addsi3_carryin_alt1, addsi3_carryin_alt3): Remove.
21792 (subsi3_compare): Renamed from subsi3_compare0_c.
21793 Change CC_NOTB to CC.
21794 (arm_subsi3_insn): Allow constants for operand 0.
21795 (compare_scc peephole for eq case): New.
21796 (compare_scc splitters): Change CC_NOTB to CC.
21797
21798 2010-07-05 Richard Guenther <rguenther@suse.de>
21799
21800 * tree-ssa-loop-im.c (for_each_index): Do not handle
21801 ALIGN_INDIRECT_REF.
21802 (gen_lsm_tmp_name): Likewise.
21803 * tree-dump.c (dequeue_and_dump): Likewise.
21804 * tree-pretty-print.c (dump_generic_node): Likewise.
21805 (op_code_prio): Likewise.
21806 (op_symbol_code): Likewise.
21807 * tree.c (staticp): Likewise.
21808 (build1_stat): Likewise.
21809 * tree.h (INDIRECT_REF_P): Likewise.
21810 * fold-const.c (maybe_lvalue_p): Likewise.
21811 (operand_equal_p): Likewise.
21812 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
21813 (ao_ref_init_from_vn_reference): Likewise.
21814 * tree-ssa-loop-ivopts.c (idx_find_step): Likewise.
21815 (find_interesting_uses_address): Likewise.
21816 * dwarf2out.c (loc_list_from_tree): Likewise.
21817 * gimplify.c (gimplify_expr): Likewise.
21818 * tree-eh.c (tree_could_trap_p): Likewise.
21819 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
21820 * cfgexpand.c (expand_debug_expr): Likewise.
21821 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
21822 * tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
21823 * tree-cfg.c (verify_types_in_gimple_min_lval): Likewise.
21824 * config/rs6000/rs6000 (rs6000_check_sdmode): Likewise.
21825 * tree-ssa-operands.c (get_expr_operands): Likewise.
21826 * expr.c (safe_from_p): Likewise.
21827 (expand_expr_real_1): Likewise. TER BIT_AND_EXPRs into MEM_REFs.
21828 * tree-vect-data-refs.c (vect_setup_realignment): Build
21829 BIT_AND_EXPR and MEM_REF instead of ALIGN_INDIRECT_REF.
21830 * tree-vect-stmts.c (vectorizable_load): Likewise.
21831 * tree.def (ALIGN_INDIRECT_REF): Remove.
21832
21833 2010-07-05 Richard Guenther <rguenther@suse.de>
21834
21835 PR tree-optimization/44784
21836 * tree-ssa-pre.c (bitmap_find_leader): Fix dominance check
21837 for inserted stmts.
21838 (find_or_generate_expression): Fix SCCVN insertion check.
21839
21840 2010-07-05 Nathan Sidwell <nathan@codesourcery.com>
21841
21842 * config/rs6000/e500crtsavg64gprctr.asm: Correct done label name.
21843 * config/rs6000/e500crtsav64gprctr.asm: Likewise.
21844 * config/rs6000/e500crtres64gprctr.asm: Likewise. Add FUNC_END
21845 directives.
21846
21847 2010-07-05 Ira Rosen <irar@il.ibm.com>
21848
21849 * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Skip
21850 statements that are not vectorized.
21851 * tree-vect-stmts.c (vect_get_load_cost): Update the value stored
21852 in INSIDE_COST.
21853
21854 2010-07-05 Mikael Pettersson <mikpe@it.uu.se>
21855
21856 PR bootstrap/44820
21857 * config/arm/arm.c (arm_attr_length_move_neon): Delete regno.
21858
21859 2010-07-05 Richard Guenther <rguenther@suse.de>
21860
21861 * tree-cfg.c (verify_gimple_return): Handle DECL_BY_REFERENCE
21862 RESULT_DECLs properly.
21863
21864 2010-07-04 H.J. Lu <hongjiu.lu@intel.com>
21865
21866 PR rtl-optimization/44695
21867 * config/i386/i386.md (extract_code): Removed.
21868 (<u>divmodqi4): Likewise.
21869 (divmodqi4): New.
21870 (udivmodqi4): Likewise.
21871 (divmodhiqi3): Change div/mod to HImode and extend operand 2 to HImode.
21872 (udivmodhiqi3): Likewise.
21873
21874 2010-07-04 Jan Hubicka <jh@suse.cz>
21875
21876 * lto-cgraph.c (input_edge): Do not care about resolution decisions.
21877
21878 2010-07-04 Jan Hubicka <jh@suse.cz>
21879
21880 * cgraphunit.c (init_cgraph): Only initialize dump file if it
21881 is not already initialized.
21882
21883 2010-07-04 Richard Sandiford <rdsandiford@googlemail.com>
21884
21885 * optabs.h (reload_in_optab, reload_out_optab, code_to_optab)
21886 (vcond_gen_code, vcondu_gen_code, movmem_optab, setmem_optab)
21887 (cmpstr_optab, cmpstrn_optab, cmpmem_optab, sync_add_optab)
21888 (sync_sub_optab, sync_ior_optab, sync_and_optab, sync_xor_optab)
21889 (sync_nand_optab, sync_old_add_optab, sync_old_sub_optab)
21890 (sync_old_ior_optab, sync_old_and_optab, sync_old_xor_optab)
21891 (sync_old_nand_optab, sync_new_add_optab, sync_new_sub_optab)
21892 (sync_new_ior_optab, sync_new_and_optab, sync_new_xor_optab)
21893 (sync_new_nand_optab): Redefine as macros.
21894 (sync_compare_and_swap, sync_lock_test_and_set, sync_lock_release):
21895 Delete.
21896 (direct_optab_index): New enum.
21897 (direct_optab_d): New structure.
21898 (direct_optab): New typedef.
21899 (direct_optab_table): Declare.
21900 (direct_optab_handler, set_direct_optab_handler): New functions.
21901 (sync_compare_and_swap_optab, sync_lock_test_and_set_optab)
21902 (sync_lock_release_optab): New macros.
21903 * optabs.c (direct_optab_table): New variable.
21904 (movcc_gen_code, vcond_gen_code, vcondu_gen_code): Delete.
21905 (prepare_cmp_insn): Use direct_optab_handler for cmpmem_optab,
21906 cmpstr_optab and cmpstrn_optab.
21907 (emit_conditional_move): Likewise for movcc_optab.
21908 (can_conditionally_move_p): Likewise for movcc_gen_code.
21909 (init_insn_codes): Clear direct_optab_table.
21910 (init_optabs): Don't initialize the new "direct optabs" here.
21911 (get_vcond_icode): Use direct_optab_handler for vcondu_gen_code and
21912 vcond_gen_code.
21913 (expand_val_compare_and_swap): Likewise sync_compare_and_swap_optab.
21914 (expand_bool_compare_and_swap): Likewise sync_compare_and_swap_optab.
21915 (expand_compare_and_swap_loop): Likewise sync_compare_and_swap_optab.
21916 (expand_sync_operation): Likewise other sync_*_optabs.
21917 (expand_sync_fetch_operation): Likewise. Rename sync_compare_and_swap
21918 to sync_compare_and_swap_optab.
21919 (expand_sync_lock_test_and_set): Use direct_optab_handler for
21920 sync_lock_test_and_set and sync_compare_and_swap, adding "_optab"
21921 to the names of both.
21922 * builtins.c (expand_builtin_strcmp): Use direct_optab_handler for
21923 cmpstr_optab and cmpstrn_optab.
21924 (expand_builtin_lock_release): Likewise sync_lock_release.
21925 * expr.c (movmem_optab, setmem_optab, cmpstr_optab, cmpstrn_optab)
21926 (cmpmem_optab, sync_add_optab, sync_sub_optab, sync_ior_optab)
21927 (sync_and_optab, sync_xor_optab, sync_nand_optab, sync_old_add_optab)
21928 (sync_old_sub_optab, sync_old_ior_optab, sync_old_and_optab)
21929 (sync_old_xor_optab, sync_old_nand_optab, sync_new_add_optab)
21930 (sync_new_sub_optab, sync_new_ior_optab, sync_new_and_optab)
21931 (sync_new_xor_optab, sync_new_nand_optab, sync_compare_and_swap)
21932 (sync_lock_test_and_set, sync_lock_release): Delete.
21933 (emit_block_move_via_movmem): Use direct_optab_handler for movmem_optab.
21934 (emit_block_move_via_setmem): Use direct_optab_handler for setmem_optab.
21935 * genopinit.c (optabs): Use set_direct_optab_handler for the new
21936 macro optabs.
21937 * omp-low.c (expand_omp_atomic_fetch_op): Update the type of
21938 the "optab" local variable. Use direct_optab_handler for optab and
21939 sync_compare_and_swap_optab.
21940 * reload1.c (reload_in_optab, reload_out_optab): Delete.
21941 * targhooks.c (default_secondary_reload): Use direct_optab_handler for
21942 reload_in_optab and reload_out_optab.
21943 * config/alpha/alpha.c (alpha_secondary_reload): Likewise.
21944 * config/frv/frv.c (frv_alloc_temp_reg): Likewise.
21945 * config/pa/pa.c (pa_secondary_reload): Likewise.
21946 * java/builtins.c (compareAndSwapInt_builtin): Use direct_optab_handler
21947 for sync_compare_and_swap, renaming it to sync_compare_and_swap_optab.
21948 (compareAndSwapLong_builtin, compareAndSwapObject_builtin): Likewise.
21949 (VMSupportsCS8_builtin): Likewise.
21950
21951 2010-07-04 Richard Sandiford <rdsandiford@googlemail.com>
21952
21953 * optabs.h (optab_handlers): Change type of insn_code to int.
21954 (optab_handler, set_optab_handler, convert_optab_handler)
21955 (set_convert_optab_handler): Treat the insn_code field as "insn_code -
21956 CODE_FOR_nothing".
21957 * optabs.c (optab_table, convert_optab_table): Always zero-initialize.
21958 (init_insn_codes): Zero both the above arrays.
21959 (init_optabs): Never call init_insn_codes first time around.
21960
21961 2010-07-04 Richard Sandiford <rdsandiford@googlemail.com>
21962
21963 * optabs.h (optab_handler, convert_optab_handler): Turn into
21964 inline functions that return an insn code.
21965 (set_optab_handler, set_convert_optab_handler): New functions.
21966 * builtins.c: Replace optab_handler(X)->insn_code with
21967 optab_handler or set_optab_handler thoughout. Likewise
21968 convert_optab_handler(X)->insn_code with convert_optab_handler
21969 and set_convert_optab_handler.
21970 * expmed.c, expr.c, genopinit.c, ifcvt.c, optabs.c, reload.c,
21971 reload1.c, stmt.c, targhooks.c, tree-ssa-loop-prefetch.c,
21972 tree-ssa-math-opts.c, tree-vect-data-refs.c, tree-vect-generic.c,
21973 tree-vect-loop.c, tree-vect-patterns.c, tree-vect-slp.c,
21974 tree-vect-stmts.c, config/m32c/m32c.c, config/rs6000/rs6000.c,
21975 config/spu/spu.c: Likewise.
21976
21977 2010-07-04 Kaz Kojima <kkojima@gcc.gnu.org>
21978
21979 PR target/44531
21980 * config.gcc (sh*-*-*): Use regular expressions instead of
21981 the 'i' modifier for sed substitutions.
21982
21983 2010-07-04 Jeremie Salvucci <jeremie.salvucci@free.fr>
21984
21985 * gimple.c (gimple_body): Comments added.
21986
21987 2010-07-04 Richard Guenther <rguenther@suse.de>
21988
21989 PR middle-end/44809
21990 * gimplify.c (gimplify_expr): Properly build a MEM_REF instead
21991 of an INDIRECT_REF.
21992
21993 2010-07-04 Richard Guenther <rguenther@suse.de>
21994
21995 PR tree-optimization/44479
21996 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Avoid
21997 extra SSA name copy statements which preserves points-to
21998 information.
21999 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
22000 Copy points-to information for all pointers. Properly handle
22001 MEM_REFs.
22002 (vect_create_data_ref_ptr): Likewise. Avoid extra SSA name
22003 copy statements.
22004 * Makefile.in (tree-ssa-loop-ivopts.o): Add tree-ssa-propagate.h
22005 dependency.
22006
22007 2010-07-04 Richard Guenther <rguenther@suse.de>
22008
22009 PR middle-end/44785
22010 * tree-inline.c (initialize_inlined_parameters): Do not
22011 re-use pointer-map slot over remap_type call.
22012
22013 2010-07-04 Richard Guenther <rguenther@suse.de>
22014
22015 * tree-ssa-sccvn.c (vn_reference_lookup_3): Fix last commit.
22016
22017 2010-07-04 Richard Guenther <rguenther@suse.de>
22018
22019 PR tree-optimization/44656
22020 * tree-ssa-sccvn.c (vn_reference_lookup_3): Try disambiguation
22021 again after value-replacing in the defintions lhs.
22022
22023 2010-07-04 Ira Rosen <irar@il.ibm.com>
22024 Revital Eres <eres@il.ibm.com>
22025
22026 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST):
22027 Document new arguments.
22028 * doc/tm.texi: Regenerate.
22029 * targhooks.c (default_builtin_vectorization_cost): Add new arguments.
22030 Handle unaligned store.
22031 * targhooks.h (default_builtin_vectorization_cost): Add new arguments.
22032 * target.def (builtin_vectorization_cost): Add new arguments.
22033 * target.h (enum vect_cost_for_stmt): Add unaligned_store.
22034 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Take number
22035 of iterations of prolog loop directly from LOOP_PEELING_FOR_ALIGNMENT.
22036 (vect_vfa_segment_size): Fix indentation.
22037 * tree-vectorizer.h (struct _vect_peel_info): New.
22038 (struct _vect_peel_extended_info): New.
22039 (struct _loop_vec_info): Add new field for peeling hash table and a
22040 macro for its access.
22041 (VECT_MAX_COST): Define.
22042 (vect_get_load_cost): Declare.
22043 (vect_get_store_cost, vect_get_known_peeling_cost,
22044 vect_get_single_scalar_iteraion_cost): Likewise.
22045 (vect_supportable_dr_alignment): Add new argument.
22046 * tree-vect-loop.c (new_loop_vec_info): Initialize peeling hash table
22047 field.
22048 (destroy_loop_vec_info): Free peeling hash table.
22049 (vect_analyze_loop_form): Update call to builtin_vectorization_cost.
22050 (vect_analyze_loop): Move vect_enhance_data_refs_alignment before
22051 vect_analyze_slp. Fix indentation.
22052 (vect_get_single_scalar_iteraion_cost): New function.
22053 (vect_get_known_peeling_cost): Likewise.
22054 (vect_estimate_min_profitable_iters): Rename byte_misalign to npeel.
22055 Call vect_get_single_scalar_iteraion_cost instead of cost_for_stmt per
22056 statement. Move outside cost calculation inside unknown peeling case.
22057 Call vect_get_known_peeling_cost for known amount of peeling.
22058 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Add data
22059 reference to the print message of forced alignment.
22060 (vect_verify_datarefs_alignment): Update call to
22061 vect_supportable_dr_alignment.
22062 (vect_get_data_access_cost): New function.
22063 (vect_peeling_hash, vect_peeling_hash_eq, vect_peeling_hash_insert,
22064 vect_peeling_hash_get_most_frequent, vect_peeling_hash_get_lowest_cost,
22065 vect_peeling_hash_choose_best_peeling): Likewise.
22066 (vect_enhance_data_refs_alignment): Fix documentation. Use hash table
22067 to store all the accesses in the loop and find best possible access to
22068 align using peeling for known alignment case. For unknown alignment
22069 check if stores are preferred or if peeling is worthy.
22070 (vect_find_same_alignment_drs): Analyze pairs of loads too.
22071 (vect_supportable_dr_alignment): Add new argument and check aligned
22072 accesses according to it.
22073 * tree-vect-stmts.c (vect_get_stmt_cost): New function.
22074 (cost_for_stmt): Call vect_get_stmt_cost.
22075 (vect_model_simple_cost): Likewise.
22076 (vect_model_store_cost): Call vect_get_stmt_cost. Call
22077 vect_get_store_cost to calculate the cost of the statement.
22078 (vect_get_store_cost): New function.
22079 (vect_model_load_cost): Call vect_get_stmt_cost. Call
22080 vect_get_load_cost to calculate the cost of the statement.
22081 (vect_get_load_cost): New function.
22082 (vectorizable_store): Update call to vect_supportable_dr_alignment.
22083 (vectorizable_load): Likewise.
22084 * config/spu/spu.c (spu_builtin_vectorization_cost): Add new arguments.
22085 * config/i386/i386.c (ix86_builtin_vectorization_cost): Add new
22086 arguments. Handle unaligned store.
22087 * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): New.
22088 (rs6000_builtin_support_vector_misalignment): Return true for word and
22089 double word alignments for VSX.
22090 * tree-vect-slp.c (vect_build_slp_tree): Update calls to
22091 vect_supportable_dr_alignment and builtin_vectorization_cost.
22092
22093 2010-07-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
22094
22095 PR target/44597
22096 * config/pa/predicates.md (prefetch_cc_operand): Remove.
22097 (prefetch_nocc_operand): Likewise.
22098 * config/pa/pa.md (prefetch): Revise expander to use prefetch_20.
22099 (prefetch_20): New insn.
22100 (prefetch_cc): Remove.
22101 (prefetch_nocc): Likewise.
22102
22103 2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
22104
22105 * expr.c (vector_mode_valid_p): Move to c-common.c.
22106 * expr.h (vector_mode_valid_p): Do not declare here.
22107 * system.h: Poison GCC_EXPR_H in front-ends.
22108 * Makefile.in: Update dependencies.
22109
22110 2010-07-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
22111
22112 PR target/44705
22113 * config/pa/pa.h (GO_IF_LEGITIMATE_ADDRESS): Reject LABEL_REF.
22114
22115 2010-07-03 Jan Hubicka <jh@suse.cz>
22116
22117 * timevar.def (TV_OUT_OF_SSA, TV_VAR_EXPAND, TV_POST_EXPAND,
22118 TV_VAR_TRACKING_DATAFLOW, TV_VAR_TRACKING_EMIT): New timevars.
22119 * cfgexpand.c (gimple_expand_cfg): Use new timevars.
22120 * var-tracking.c (vt_find_locations, variable_tracking_main_1):
22121 Likewise.
22122
22123 * lto-stramer-out.c (pass_ipa_lto_gimple_out, pass_ipa_lto_finish_out):
22124 Update timevars.V
22125 * timevar.def (TV_IPA_LTO_GIMPLE_IO, TV_IPA_LTO_DECL_IO): Remove.
22126 (TV_IPA_LTO_GIMPLE_IN, TV_IPA_LTO_GIMPLE_OUT, TV_IPA_LTO_DECL_IN,
22127 TV_IPA_LTO_DECL_OUT): New.
22128 * lto.c (read_cgraph_and_symbols, materialize_cgraph): Update timevars.
22129
22130 2010-07-03 Jan Hubicka <jh@suse.cz>
22131
22132 * ipa-inline.c (update_edge_key): Break out from ...
22133 update_callers_keys): ... here;
22134 (update_callee_keys): Update only the edges from caller to callee.
22135 (update_all_calle_keys): Do what update_calle_keys did.
22136 (decide_inlining_of_small_functions): Avoid recomputing of all
22137 callees when badness increase.
22138
22139 2010-07-03 Jie Zhang <jie@codesourcery.com>
22140
22141 * config/arm/arm.c (arm_attr_length_move_neon): New.
22142 * config/arm/arm-protos.h (arm_attr_length_move_neon): Declare.
22143 * config/arm/neon.md (define_mode_attr V_slen): Remove.
22144 (neon_mov<mode> for VSTRUCT): Use arm_attr_length_move_neon
22145 to compute length attribute.
22146
22147 2010-07-03 Jie Zhang <jie@codesourcery.com>
22148
22149 * config/arm/vfp.md (*push_multi_vfp): Use vfp_register_operand
22150 as predicate for operand 1 and remove its constraint.
22151 * config/arm/predicates.md (vfp_register_operand): New.
22152 * config/arm/arm.md (*push_multi): Remove the constraint of operand 1.
22153 (*push_fp_multi): Likewise.
22154
22155 2010-07-03 Eric Botcazou <ebotcazou@adacore.com>
22156
22157 * gimplify.c (mostly_copy_tree_r): Deal with BIND_EXPR.
22158
22159 2010-07-03 Jan Hubicka <jh@suse.cz>
22160
22161 * config/i386/i386.c (override_options): Revert accidental commit.
22162
22163 2010-07-02 Le-Chun Wu <lcwu@google.com>
22164
22165 PR c++/44128
22166 * doc/invoke.texi: Update documentation of -Wshadow.
22167
22168 2010-07-02 Daniel Jacobowitz <dan@codesourcery.com>
22169 Julian Brown <julian@codesourcery.com>
22170 Sandra Loosemore <sandra@codesourcery.com>
22171
22172 * config/arm/arm.c (arm_canonicalize_comparison): Canonicalize DImode
22173 comparisons. Adjust to take both operands.
22174 (arm_select_cc_mode): Handle DImode comparisons.
22175 (arm_gen_compare_reg): Generate a scratch register for DImode
22176 comparisons which require one. Use xor for Thumb equality checks.
22177 (arm_const_double_by_immediates): New.
22178 (arm_print_operand): Allow 'Q' and 'R' for constants.
22179 (get_arm_condition_code): Handle new CC_CZmode and CC_NCVmode.
22180 * config/arm/arm.h (CANONICALIZE_COMPARISON): Always use
22181 arm_canonicalize_comparison.
22182 * config/arm/arm-modes.def: Add CC_CZmode and CC_NCVmode.
22183 * config/arm/arm-protos.h (arm_canonicalize_comparison): Update
22184 prototype.
22185 (arm_const_double_by_immediates): Declare.
22186 * config/arm/constraints.md (Di): New constraint.
22187 * config/arm/predicates.md (arm_immediate_di_operand)
22188 (arm_di_operand, cmpdi_operand): New.
22189 * config/arm/arm.md (cbranchdi4): Handle non-Cirrus also.
22190 (*arm_cmpdi_insn, *arm_cmpdi_unsigned)
22191 (*arm_cmpdi_zero, *thumb_cmpdi_zero): New insns.
22192 (cstoredi4): Handle non-Cirrus also.
22193
22194 2010-07-02 Julian Brown <julian@codesourcery.com>
22195 Sandra Loosemore <sandra@codesourcery.com>
22196
22197 PR target/43703
22198 * config/arm/vec-common.md (add<mode>3, sub<mode>3, smin<mode>3)
22199 (smax<mode>3): Disable for NEON float modes when
22200 flag_unsafe_math_optimizations is false.
22201 * config/arm/neon.md (*add<mode>3_neon, *sub<mode>3_neon)
22202 (*mul<mode>3_neon)
22203 (mul<mode>3add<mode>_neon, mul<mode>3neg<mode>add<mode>_neon)
22204 (reduc_splus_<mode>, reduc_smin_<mode>, reduc_smax_<mode>): Disable
22205 for NEON float modes when flag_unsafe_math_optimizations is false.
22206 (quad_halves_<code>v4sf): Only enable if
22207 flag_unsafe_math_optimizations is true.
22208 * doc/invoke.texi (ARM Options): Add note about floating point
22209 vectorization requiring -funsafe-math-optimizations.
22210
22211 2010-07-02 Sandra Loosemore <sandra@codesourcery.com>
22212 Julian Brown <julian@codesourcery.com>
22213
22214 * config/arm/neon.md (UNSPEC_VABA): Delete.
22215 (UNSPEC_VABAL): Delete.
22216 (UNSPEC_VABS): Delete.
22217 (UNSPEC_VMUL_N): Delete.
22218 (adddi3_neon): New.
22219 (subdi3_neon): New.
22220 (mul<mode>3add<mode>_neon): Make the pattern named.
22221 (mul<mode>3neg<mode>add<mode>_neon): Likewise.
22222 (neon_vadd<mode>): Replace with define_expand, and move the remaining
22223 unspec parts...
22224 (neon_vadd<mode>_unspec): ...to this.
22225 (neon_vmla<mode>, neon_vmla<mode>_unspec): Likewise.
22226 (neon_vlms<mode>, neon_vmls<mode>_unspec): Likewise.
22227 (neon_vsub<mode>, neon_vsub<mode>_unspec): Likewise.
22228 (neon_vaba<mode>): Rewrite in terms of vabd.
22229 (neon_vabal<mode>): Rewrite in terms of vabdl.
22230 (neon_vabs<mode>): Rewrite without unspec.
22231 * config/arm/arm.md (*arm_adddi3): Disable for TARGET_NEON.
22232 (*arm_subdi3): Likewise.
22233 * config/arm/neon.ml (Vadd, Vsub): Split out 64-bit variants and add
22234 No_op attribute to disable assembly output checks.
22235 * config/arm/arm_neon.h: Regenerated.
22236 * doc/arm-neon-intrinsics.texi: Regenerated.
22237
22238 2010-07-02 Jan Hubicka <jh@suse.cz>
22239
22240 * ipa-split.c (split_function): For aggregate values, set the return
22241 slot optimization bit. When passing DECL_BY_REFERENCE, produce
22242 *<retval> = fncall.part ().
22243 (execute_split_functions): Do not care about DECL_BY_REFERENCE.
22244
22245 2010-07-02 Sandra Loosemore <sandra@codesourcery.com>
22246
22247 * config/arm/neon.md (UNSPEC_VAND): Delete.
22248 (UNSPEC_VBIC): Delete.
22249 (UNSPEC_VCLZ): Delete.
22250 (UNSPEC_VCNT): Delete.
22251 (UNSPEC_VEOR): Delete.
22252 (UNSPEC_VORN): Delete.
22253 (UNSPEC_VORR): Delete.
22254 (iordi3_neon): Rewrite RTL without unspec. Add alternatives to handle
22255 core registers too.
22256 (anddi3_neon): Likewise.
22257 (orndi3_neon): Likewise.
22258 (bicdi3_neon): Likewise.
22259 (xordi3_neon): Likewise.
22260 (neon_vclz<mode>): Rewrite as define_expand and clz<mode>2 to get
22261 rid of unspec and handle unused operand.
22262 (neon_vcnt<mode>): Similarly, with popcount<mode>2.
22263 * config/arm/predicates.md (imm_for_neon_logic_operand):
22264 Require TARGET_NEON.
22265 (imm_for_neon_inv_logic_operand): Likewise.
22266 * config/arm/arm.md (define_split for logical_binary_operator):
22267 Disable for NEON registers.
22268 (anddi3): Add new define_expand, and rename the insn. Disable
22269 this insn for NEON, where anddi3_neon now applies.
22270 (*anddi_notdi_di): Disable for TARGET_NEON, where bicdi3_neon applies.
22271 (iordi3): As for anddi3.
22272 (xordi3): Likewise.
22273 * config/arm/neon.ml (Vand): Split DImode variants and mark them
22274 as No_op to disable testing for exact instruction match.
22275 (Vorr): Likewise.
22276 (Veor): Likewise.
22277 (Vbic): Likewise.
22278 (Vorn): Likewise.
22279 * config/arm/arm_neon.h: Regenerated.
22280 * doc/arm-neon-intrinsics.texi: Regenerated.
22281
22282 2010-07-02 Eric Botcazou <ebotcazou@adacore.com>
22283
22284 * expr.h (emit_stack_probe): Declare.
22285 * explow.c (emit_stack_probe): Make global.
22286 (anti_adjust_stack_and_probe): Fix comments.
22287 * config/sparc/linux.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
22288 * config/sparc/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
22289 * config/sparc/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
22290 * config/sparc/sparc.c: Include except.h.
22291 (sparc_emit_probe_stack_range): New function.
22292 (output_probe_stack_range): Likewise.
22293 (sparc_expand_prologue): Invoke sparc_emit_probe_stack_range if static
22294 built-in stack checking is enabled.
22295 * config/sparc/sparc-protos.h (output_probe_stack_range): Declare.
22296 * config/sparc/sparc.md (UNSPECV_PROBE_STACK_RANGE): New constant.
22297 (probe_stack_range): New insn.
22298
22299 2010-07-02 Richard Guenther <rguenther@suse.de>
22300
22301 PR target/43958
22302 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Use pointer arithmetic
22303 for argument alignment.
22304
22305 2010-07-02 Jan Hubicka <jh@suse.cz>
22306
22307 * ipa-split.c (verify_non_ssa_vars): Break out from ...; perform DFS
22308 walk backwards from entry_bb to check only those basic block of header
22309 that might lead to execution of split part.
22310 (consider_split) ... here.
22311 (find_return_bb): Allow assignment in return BB.
22312 (find_retval): New.
22313 (split_function): Fix name of cloned function; take care of updating
22314 return value in return_bb containing move.
22315
22316 2010-07-02 Andreas Schwab <schwab@linux-m68k.org>
22317
22318 PR target/44771
22319 * config/m68k/m68k.c (m68k_expand_prologue): Remove set but not
22320 used variable insn.
22321
22322 2010-07-02 Eric Botcazou <ebotcazou@adacore.com>
22323
22324 * implicit-zee.c (combine_reaching_defs): Fix long lines.
22325 (is_set_with_extension_DI): Delete.
22326 (struct zero_extend_info): New structure.
22327 (add_removable_zero_extend): New function.
22328 (find_removable_zero_extends): Use note_stores to find SETs.
22329 (find_and_remove_ze): Fix long line, remove superfluous parentheses.
22330
22331 2010-07-02 Changpeng Fang <changpeng.fang@amd.com>
22332
22333 * tree-ssa-loop-prefetch.c (compute_miss_rate): Rename to
22334 is_miss_rate_acceptable. Pull total_positions computation
22335 out of the loops. Early return if miss_positions exceeds
22336 the acceptable threshold.
22337 * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Call
22338 is_miss_rate_acceptable after renaming of compute_miss_rate.
22339
22340 2010-07-02 Changpeng Fang <changpeng.fang@amd.com>
22341
22342 PR middle-end/44576
22343 * tree-ssa-loop-prefetch.c (compute_miss_rate): Return 1000 (out
22344 of 1000) for miss rate if the address diference is greater than or
22345 equal to the cache line size (the two reference will never hit the
22346 same cache line).
22347
22348 2010-07-02 Bernd Schmidt <bernds@codesourcery.com>
22349
22350 PR target/42835
22351 * config/arm/arm-modes.def (CC_NOTB): New mode.
22352 * config/arm/arm.c (get_arm_condition_code): Handle it.
22353 * config/arm/thumb2.md (thumb2_compare_scc): Delete pattern.
22354 * config/arm/arm.md (subsi3_compare0_c): New pattern.
22355 (compare_scc): Now a define_and_split. Add a number of extra
22356 splitters before it.
22357
22358 PR target/42172
22359 * config/arm/arm.c (thumb1_rtx_costs): Improve support for SIGN_EXTEND
22360 and ZERO_EXTEND.
22361 (arm_rtx_costs_1): Likewise.
22362 (arm_size_rtx_costs): Use arm_rtx_costs_1 for these codes.
22363 * config/arm/arm.md (is_arch6): New attribute.
22364 (zero_extendhisi2, zero_extendqisi2, extendhisi2,
22365 extendqisi2): Tighten the code somewhat, avoiding invalid
22366 RTL to occur in the expander patterns.
22367 (thumb1_zero_extendhisi2): Merge with thumb1_zero_extendhisi2_v6.
22368 (thumb1_zero_extendhisi2_v6): Delete.
22369 (thumb1_extendhisi2): Merge with thumb1_extendhisi2_v6.
22370 (thumb1_extendhisi2_v6): Delete.
22371 (thumb1_extendqisi2): Merge with thumb1_extendhisi2_v6.
22372 (thumb1_extendqisi2_v6): Delete.
22373 (zero_extendhisi2 for register input splitter): New.
22374 (zero_extendqisi2 for register input splitter): New.
22375 (thumb1_extendhisi2 for register input splitter): New.
22376 (extendhisi2 for register input splitter): New.
22377 (extendqisi2 for register input splitter): New.
22378 (TARGET_THUMB1 extendqisi2 for memory input splitter): New.
22379 (arm_zero_extendhisi2): Allow nonimmediate_operand for operand 1,
22380 and add support for a register alternative requiring a split.
22381 (thumb1_zero_extendqisi2): Likewise.
22382 (arm_zero_extendqisi2): Likewise.
22383 (arm_extendhisi2): Likewise.
22384 (arm_extendqisi2): Likewise.
22385
22386 2010-07-02 Sandra Loosemore <sandra@codesourcery.com>
22387
22388 * config/arm/arm.c (neon_vdup_constant): Expand into canonical RTL
22389 instead of an unspec.
22390 (neon_expand_vector_init): Likewise.
22391 * config/arm/neon.md (UNSPEC_VCOMBINE): Delete.
22392 (UNSPEC_VDUP_LANE): Delete.
22393 (UNSPEC VDUP_N): Delete.
22394 (UNSPEC_VGET_HIGH): Delete.
22395 (UNSPEC_VGET_LANE): Delete.
22396 (UNSPEC_VGET_LOW): Delete.
22397 (UNSPEC_VMVN): Delete.
22398 (UNSPEC_VSET_LANE): Delete.
22399 (V_double_vector_mode): New.
22400 (vec_set<mode>_internal): Make code emitted match that for the
22401 corresponding intrinsics.
22402 (vec_setv2di_internal): Likewise.
22403 (neon_vget_lanedi): Rewrite to expand into emit_move_insn.
22404 (neon_vget_lanev2di): Rewrite to expand into vec_extractv2di.
22405 (neon_vset_lane<mode>): Combine double and quad patterns and
22406 expand into vec_set<mode>_internal instead of UNSPEC_VSET_LANE.
22407 (neon_vset_lanedi): Rewrite to expand into emit_move_insn.
22408 (neon_vdup_n<mode>): Rewrite RTL without unspec.
22409 (neon_vdup_ndi): Rewrite as define_expand and use emit_move_insn.
22410 (neon_vdup_nv2di): Rewrite RTL without unspec and merge with
22411 with neon_vdup_lanev2di, adjusting the pattern from the latter
22412 to be predicable for consistency.
22413 (neon_vdup_lane<mode>_internal): New.
22414 (neon_vdup_lane<mode>): Turn into a define_expand and rewrite
22415 to avoid using an unspec.
22416 (neon_vdup_lanedi): Rewrite RTL pattern to avoid unspec.
22417 (neon_vdup_lanev2di): Turn into a define_expand.
22418 (neon_vcombine): Rewrite pattern to eliminate UNPSEC_VCOMBINE.
22419 (neon_vget_high<mode>): Replace with....
22420 (neon_vget_highv16qi): New pattern using canonical RTL.
22421 (neon_vget_highv8hi): Likewise.
22422 (neon_vget_highv4si): Likewise.
22423 (neon_vget_highv4sf): Likewise.
22424 (neon_vget_highv2di): Likewise.
22425 (neon_vget_low<mode>): Replace with....
22426 (neon_vget_lowv16qi): New pattern using canonical RTL.
22427 (neon_vget_lowv8hi): Likewise.
22428 (neon_vget_lowv4si): Likewise.
22429 (neon_vget_lowv4sf): Likewise.
22430 (neon_vget_lowv2di): Likewise.
22431
22432 * config/arm/neon.ml (Vget_lane): Add No_op attribute to suppress
22433 test for this emitting vmov.
22434 (Vset_lane): Likewise.
22435 (Vdup_n): Likewise.
22436 (Vmov_n): Likewise.
22437
22438 * doc/arm-neon-intrinsics.texi: Regenerated.
22439
22440 2010-07-02 Sandra Loosemore <sandra@codesourcery.com>
22441
22442 * config/arm/neon.md (vec_extractv2di): Correct error in register
22443 numbering to reconcile with neon_vget_lanev2di.
22444
22445 2010-07-02 Richard Guenther <rguenther@suse.de>
22446
22447 * tree-ssa-structalias.c (pt_solution_set_var): New function.
22448 * tree-ssa-alias.h (pt_solution_set_var): Declare.
22449 * tree-ssa-loop-ivopts.c (copy_ref_info): Also copy or create
22450 points-to information.
22451
22452 2010-07-02 Christian Borntraeger <borntraeger@de.ibm.com>
22453
22454 * config/s390/s390.c (override_options): Adopt prefetching
22455 at -O3 to handle flag_prefetch_loop_arrays as a tristate.
22456
22457 2010-07-02 Jan Hubicka <jh@suse.cz>
22458
22459 * df-problems.c (df_kill_notes): Do not collect dead notes.
22460 (df_set_note): Just call add_reg_note.
22461 (df_set_unused_notes_for_mw, df_set_dead_notes_for_mw,
22462 df_create_unused_note): Do not deal with lists of old notes.
22463 (df_note_bb_compute): Likewise.
22464
22465 2010-07-02 Richard Guenther <rguenther@suse.de>
22466
22467 * tree-ssa-structalias.c (find_func_aliases): Handle
22468 pointer alignment via BIT_AND_EXPR.
22469 * tree-vrp.c (extract_range_from_binary_expr): Likewise.
22470
22471 2010-07-02 Richard Guenther <rguenther@suse.de>
22472
22473 * tree-data-ref.c (initialize_data_dependence_relation): Handle
22474 mismatching number of dimensions properly.
22475
22476 2010-07-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
22477
22478 PR target/44707
22479 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Recognize
22480 (lo_sum (high ...) ...) patterns generated by earlier passes.
22481
22482 2010-07-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
22483
22484 * doc/install.texi (Prerequisites): Document Perl requirement on
22485 Solaris 2.
22486 (Specific, *-*-solaris2*): Document GNU c++filt requirement.
22487
22488 2010-07-02 Richard Guenther <rguenther@suse.de>
22489
22490 PR middle-end/44777
22491 * tree-cfg.c (gimple_block_ends_with_call_p): Handle empty BBs.
22492
22493 2010-07-02 Jan Hubicka <jh@suse.cz>
22494
22495 PR middle-end/44706
22496 * predict.c (predict_paths_for_bb): Handle case when control dependence
22497 BB has only abnormal edges.
22498
22499 2010-07-02 Richard Guenther <rguenther@suse.de>
22500
22501 PR tree-optimization/44748
22502 * tree-ssa-ccp.c (fold_const_aggregate_ref): Properly handle
22503 the embedded conversion in MEM_REFs.
22504
22505 2010-07-01 López-Ibáñez <manu@gcc.gnu.org>
22506
22507 * reload.c: Include toplev.h.
22508 * recog.c: Likewise.
22509 * Makefile.in: Adjust dependencies.
22510
22511 2010-07-01 Jakub Jelinek <jakub@redhat.com>
22512
22513 PR debug/44694
22514 * dwarf2out.c (reg_loc_descriptor): For eliminated arg_pointer_rtx
22515 or frame_pointer_rtx use DW_OP_fbreg offset DW_OP_stack_value.
22516
22517 2010-07-01 Richard Guenther <rguenther@suse.de>
22518
22519 * emit-rtl.c (set_mem_attributes_minus_bitpos): Use unsigned
22520 types for offsets.
22521
22522 2010-07-01 Joern Rennecke <joern.rennecke@embecosm.com>
22523
22524 PR target/44732
22525 * config/ia64/ia64.c (ia64_register_move_cost): Remove stray '{'.
22526 Fix argument types.
22527
22528 2010-07-01 Bernd Schmidt <bernds@codesourcery.com>
22529
22530 PR target/44727
22531 * config/i386/i386.md (peephole2 for arithmetic ops with memory):
22532 Make sure operand 0 dies.
22533
22534 2010-07-01 Richard Guenther <rguenther@suse.de>
22535
22536 PR middle-end/42834
22537 PR middle-end/44468
22538 * doc/gimple.texi (is_gimple_mem_ref_addr): Document.
22539 * doc/generic.texi (References to storage): Document MEM_REF.
22540 * tree-pretty-print.c (dump_generic_node): Handle MEM_REF.
22541 (print_call_name): Likewise.
22542 * tree.c (recompute_tree_invariant_for_addr_expr): Handle MEM_REF.
22543 (build_simple_mem_ref_loc): New function.
22544 (mem_ref_offset): Likewise.
22545 * tree.h (build_simple_mem_ref_loc): Declare.
22546 (build_simple_mem_ref): Define.
22547 (mem_ref_offset): Declare.
22548 * fold-const.c: Include tree-flow.h.
22549 (operand_equal_p): Handle MEM_REF.
22550 (build_fold_addr_expr_with_type_loc): Likewise.
22551 (fold_comparison): Likewise.
22552 (fold_unary_loc): Fold
22553 VIEW_CONVERT_EXPR <T1, MEM_REF <T2, ...>> to MEM_REF <T1, ...>.
22554 (fold_binary_loc): Fold MEM[&MEM[p, CST1], CST2] to MEM[p, CST1 + CST2],
22555 fold MEM[&a.b, CST2] to MEM[&a, offsetof (a, b) + CST2].
22556 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle MEM_REF.
22557 (ptr_deref_may_alias_ref_p_1): Likewise.
22558 (ao_ref_base_alias_set): Properly differentiate base object for
22559 offset and TBAA.
22560 (ao_ref_init_from_ptr_and_size): Use MEM_REF.
22561 (indirect_ref_may_alias_decl_p): Handle MEM_REFs properly.
22562 (indirect_refs_may_alias_p): Likewise.
22563 (refs_may_alias_p_1): Likewise. Remove pointer SSA name def
22564 chasing code.
22565 (ref_maybe_used_by_call_p_1): Handle MEM_REF.
22566 (call_may_clobber_ref_p_1): Likewise.
22567 * dwarf2out.c (loc_list_from_tree): Handle MEM_REF.
22568 * expr.c (expand_assignment): Handle MEM_REF.
22569 (store_expr): Handle MEM_REFs from STRING_CSTs.
22570 (store_field): If expanding a MEM_REF of a non-addressable
22571 decl use bitfield operations.
22572 (get_inner_reference): Handle MEM_REF.
22573 (expand_expr_addr_expr_1): Likewise.
22574 (expand_expr_real_1): Likewise.
22575 * tree-eh.c (tree_could_trap_p): Handle MEM_REF.
22576 * alias.c (ao_ref_from_mem): Handle MEM_REF.
22577 (get_alias_set): Likewise. Properly handle VIEW_CONVERT_EXPRs.
22578 * tree-data-ref.c (dr_analyze_innermost): Handle MEM_REF.
22579 (dr_analyze_indices): Likewise.
22580 (dr_analyze_alias): Likewise.
22581 (object_address_invariant_in_loop_p): Likewise.
22582 * gimplify.c (mark_addressable): Handle MEM_REF.
22583 (gimplify_cond_expr): Build MEM_REFs.
22584 (gimplify_modify_expr_to_memcpy): Likewise.
22585 (gimplify_init_ctor_preeval_1): Handle MEM_REF.
22586 (gimple_fold_indirect_ref): Adjust.
22587 (gimplify_expr): Handle MEM_REF. Gimplify INDIRECT_REF to MEM_REF.
22588 * tree.def (MEM_REF): New tree code.
22589 * tree-dfa.c: Include toplev.h.
22590 (get_ref_base_and_extent): Handle MEM_REF.
22591 (get_addr_base_and_unit_offset): New function.
22592 * emit-rtl.c (set_mem_attributes_minus_bitpos): Handle MEM_REF.
22593 * gimple-fold.c (may_propagate_address_into_dereference): Handle
22594 MEM_REF.
22595 (maybe_fold_offset_to_array_ref): Allow possibly out-of bounds
22596 accesses if the array has just one dimension. Remove always true
22597 parameter. Do not require type compatibility here.
22598 (maybe_fold_offset_to_component_ref): Remove.
22599 (maybe_fold_stmt_indirect): Remove.
22600 (maybe_fold_reference): Remove INDIRECT_REF handling.
22601 Fold back to non-MEM_REF.
22602 (maybe_fold_offset_to_address): Simplify. Deal with type
22603 mismatches here.
22604 (maybe_fold_reference): Likewise.
22605 (maybe_fold_stmt_addition): Likewise. Also handle
22606 &ARRAY + I in addition to &ARRAY[0] + I.
22607 (fold_gimple_assign): Handle ADDR_EXPR of MEM_REFs.
22608 (gimple_get_relevant_ref_binfo): Handle MEM_REF.
22609 * cfgexpand.c (expand_debug_expr): Handle MEM_REF.
22610 * tree-ssa.c (useless_type_conversion_p): Make most pointer
22611 conversions useless.
22612 (warn_uninitialized_var): Handle MEM_REF.
22613 (maybe_rewrite_mem_ref_base): New function.
22614 (execute_update_addresses_taken): Implement re-writing of MEM_REFs
22615 to SSA form.
22616 * tree-inline.c (remap_gimple_op_r): Handle MEM_REF, remove
22617 INDIRECT_REF handling.
22618 (copy_tree_body_r): Handle MEM_REF.
22619 * gimple.c (is_gimple_addressable): Adjust.
22620 (is_gimple_address): Likewise.
22621 (is_gimple_invariant_address): ADDR_EXPRs of MEM_REFs with
22622 invariant base are invariant.
22623 (is_gimple_min_lval): Adjust.
22624 (is_gimple_mem_ref_addr): New function.
22625 (get_base_address): Handle MEM_REF.
22626 (count_ptr_derefs): Likewise.
22627 (get_base_loadstore): Likewise.
22628 * gimple.h (is_gimple_mem_ref_addr): Declare.
22629 (gimple_call_fndecl): Handle invariant MEM_REF addresses.
22630 * tree-cfg.c (verify_address): New function, split out from ...
22631 (verify_expr): ... here. Use for verifying ADDR_EXPRs and
22632 the address operand of MEM_REFs. Verify MEM_REFs. Reject
22633 INDIRECT_REFs.
22634 (verify_types_in_gimple_min_lval): Handle MEM_REF. Disallow
22635 INDIRECT_REF. Allow conversions.
22636 (verify_types_in_gimple_reference): Verify VIEW_CONVERT_EXPR of
22637 a register does not change its size.
22638 (verify_types_in_gimple_reference): Verify MEM_REF.
22639 (verify_gimple_assign_single): Disallow INDIRECT_REF.
22640 Handle MEM_REF.
22641 * tree-ssa-operands.c (opf_non_addressable, opf_not_non_addressable):
22642 New.
22643 (mark_address_taken): Handle MEM_REF.
22644 (get_indirect_ref_operands): Pass through opf_not_non_addressable.
22645 (get_asm_expr_operands): Pass opf_not_non_addressable.
22646 (get_expr_operands): Handle opf_[not_]non_addressable.
22647 Handle MEM_REF. Remove INDIRECT_REF handling.
22648 * tree-vrp.c (check_array_ref): Handle MEM_REF.
22649 (search_for_addr_array): Likewise.
22650 (check_array_bounds): Likewise.
22651 (vrp_stmt_computes_nonzero): Adjust for MEM_REF.
22652 * tree-ssa-loop-im.c (for_each_index): Handle MEM_REF.
22653 (ref_always_accessed_p): Likewise.
22654 (gen_lsm_tmp_name): Likewise. Handle ADDR_EXPR.
22655 * tree-complex.c (extract_component): Do not handle INDIRECT_REF.
22656 Handle MEM_REF.
22657 * cgraphbuild.c (mark_load): Properly check for NULL result
22658 from get_base_address.
22659 (mark_store): Likewise.
22660 * tree-ssa-loop-niter.c (array_at_struct_end_p): Handle MEM_REF.
22661 * tree-loop-distribution.c (generate_builtin): Exchange INDIRECT_REF
22662 handling for MEM_REF.
22663 * tree-scalar-evolution.c (follow_ssa_edge_expr): Handle
22664 &MEM[ptr + CST] similar to POINTER_PLUS_EXPR.
22665 * builtins.c (stabilize_va_list_loc): Use the function ABI
22666 valist type if we couldn't canonicalize the argument type.
22667 Always dereference with the canonical va-list type.
22668 (maybe_emit_free_warning): Handle MEM_REF.
22669 (fold_builtin_memory_op): Simplify and handle MEM_REFs in folding
22670 memmove to memcpy.
22671 * builtins.c (fold_builtin_memory_op): Use ref-all types
22672 for all memcpy foldings.
22673 * omp-low.c (build_receiver_ref): Adjust for MEM_REF.
22674 (build_outer_var_ref): Likewise.
22675 (scan_omp_1_op): Likewise.
22676 (lower_rec_input_clauses): Likewise.
22677 (lower_lastprivate_clauses): Likewise.
22678 (lower_reduction_clauses): Likewise.
22679 (lower_copyprivate_clauses): Likewise.
22680 (expand_omp_atomic_pipeline): Likewise.
22681 (expand_omp_atomic_mutex): Likewise.
22682 (create_task_copyfn): Likewise.
22683 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle MEM_REF.
22684 Remove old union trick. Initialize constant offsets.
22685 (ao_ref_init_from_vn_reference): Likewise. Do not handle
22686 INDIRECT_REF. Init base_alias_set properly.
22687 (vn_reference_lookup_3): Replace INDIRECT_REF handling with MEM_REF.
22688 (vn_reference_fold_indirect): Adjust for MEM_REFs.
22689 (valueize_refs): Fold MEM_REFs. Re-evaluate constant offset
22690 for ARRAY_REFs.
22691 (may_insert): Remove.
22692 (visit_reference_op_load): Do not test may_insert.
22693 (run_scc_vn): Remove parameter, do not fiddle with may_insert.
22694 * tree-ssa-sccvn.h (struct vn_reference_op_struct): Add
22695 a field to store the constant offset this op applies.
22696 (run_scc_vn): Adjust prototype.
22697 * cgraphunit.c (thunk_adjust): Adjust for MEM_REF.
22698 * tree-ssa-ccp.c (ccp_fold): Replace INDIRECT_REF folding with
22699 MEM_REF. Propagate &foo + CST as &MEM[&foo, CST]. Do not
22700 bother about volatile qualifiers on pointers.
22701 (fold_const_aggregate_ref): Handle MEM_REF, do not handle INDIRECT_REF.
22702 * tree-ssa-loop-ivopts.c
22703 * tree-ssa-loop-ivopts.c (determine_base_object): Adjust for MEM_REF.
22704 (strip_offset_1): Likewise.
22705 (find_interesting_uses_address): Replace INDIRECT_REF handling with
22706 MEM_REF handling.
22707 (get_computation_cost_at): Likewise.
22708 * ipa-pure-const.c (check_op): Handle MEM_REF.
22709 * tree-stdarg.c (check_all_va_list_escapes): Adjust for MEM_REF.
22710 * tree-ssa-sink.c (is_hidden_global_store): Handle MEM_REF
22711 and constants.
22712 * ipa-inline.c (likely_eliminated_by_inlining_p): Handle MEM_REF.
22713 * tree-parloops.c (take_address_of): Adjust for MEM_REF.
22714 (eliminate_local_variables_1): Likewise.
22715 (create_call_for_reduction_1): Likewise.
22716 (create_loads_for_reductions): Likewise.
22717 (create_loads_and_stores_for_name): Likewise.
22718 * matrix-reorg.c (may_flatten_matrices_1): Sanitize.
22719 (ssa_accessed_in_tree): Handle MEM_REF.
22720 (ssa_accessed_in_assign_rhs): Likewise.
22721 (update_type_size): Likewise.
22722 (analyze_accesses_for_call_stmt): Likewise.
22723 (analyze_accesses_for_assign_stmt): Likewise.
22724 (transform_access_sites): Likewise.
22725 (transform_allocation_sites): Likewise.
22726 * tree-affine.c (tree_to_aff_combination): Handle MEM_REF.
22727 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
22728 not handle INDIRECT_REF.
22729 * tree-ssa-phiopt.c (add_or_mark_expr): Handle MEM_REF.
22730 (cond_store_replacement): Likewise.
22731 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle
22732 MEM_REF, no not handle INDIRECT_REFs.
22733 (insert_into_preds_of_block): Properly initialize avail.
22734 (phi_translate_1): Fold MEM_REFs. Re-evaluate constant offset
22735 for ARRAY_REFs. Properly handle reference lookups that
22736 require a bit re-interpretation.
22737 (can_PRE_operation): Do not handle INDIRECT_REF. Handle MEM_REF.
22738 * tree-sra.c (build_access_from_expr_1): Handle MEM_REF.
22739 (build_ref_for_offset_1): Remove.
22740 (build_ref_for_offset): Build MEM_REFs.
22741 (gate_intra_sra): Disable for now.
22742 (sra_ipa_modify_expr): Handle MEM_REF.
22743 (ipa_early_sra_gate): Disable for now.
22744 * tree-sra.c (create_access): Swap INDIRECT_REF handling for
22745 MEM_REF handling.
22746 (disqualify_base_of_expr): Likewise.
22747 (ptr_parm_has_direct_uses): Swap INDIRECT_REF handling for
22748 MEM_REF handling.
22749 (sra_ipa_modify_expr): Remove INDIRECT_REF handling.
22750 Use mem_ref_offset. Remove bogus folding.
22751 (build_access_from_expr_1): Properly handle MEM_REF for non IPA-SRA.
22752 (make_fancy_name_1): Add support for MEM_REF.
22753 * tree-predcom.c (ref_at_iteration): Handle MEM_REFs.
22754 * tree-mudflap.c (mf_xform_derefs_1): Adjust for MEM_REF.
22755 * ipa-prop.c (compute_complex_assign_jump_func): Handle MEM_REF.
22756 (compute_complex_ancestor_jump_func): Likewise.
22757 (ipa_analyze_virtual_call_uses): Likewise.
22758 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Replace
22759 INDIRECT_REF folding with more generalized MEM_REF folding.
22760 (tree_ssa_forward_propagate_single_use_vars): Adjust accordingly.
22761 (forward_propagate_addr_into_variable_array_index): Also handle
22762 &ARRAY + I in addition to &ARRAY[0] + I.
22763 * tree-ssa-dce.c (ref_may_be_aliased): Handle MEM_REF.
22764 * tree-ssa-ter.c (find_replaceable_in_bb): Avoid TER if that
22765 creates assignments with overlap.
22766 * tree-nested.c (get_static_chain): Adjust for MEM_REF.
22767 (get_frame_field): Likewise.
22768 (get_nonlocal_debug_decl): Likewise.
22769 (convert_nonlocal_reference_op): Likewise.
22770 (struct nesting_info): Add mem_refs pointer-set.
22771 (create_nesting_tree): Allocate it.
22772 (convert_local_reference_op): Insert to be folded mem-refs.
22773 (fold_mem_refs): New function.
22774 (finalize_nesting_tree_1): Perform defered folding of mem-refs
22775 (free_nesting_tree): Free the pointer-set.
22776 * tree-vect-stmts.c (vectorizable_store): Adjust for MEM_REF.
22777 (vectorizable_load): Likewise.
22778 * tree-ssa-phiprop.c (phiprop_insert_phi): Adjust for MEM_REF.
22779 (propagate_with_phi): Likewise.
22780 * tree-object-size.c (addr_object_size): Handle MEM_REFs
22781 instead of INDIRECT_REFs.
22782 (compute_object_offset): Handle MEM_REF.
22783 (plus_stmt_object_size): Handle MEM_REF.
22784 (collect_object_sizes_for): Dispatch to plus_stmt_object_size
22785 for &MEM_REF.
22786 * tree-flow.h (get_addr_base_and_unit_offset): Declare.
22787 (symbol_marked_for_renaming): Likewise.
22788 * Makefile.in (tree-dfa.o): Add $(TOPLEV_H).
22789 (fold-const.o): Add $(TREE_FLOW_H).
22790 * tree-ssa-structalias.c (get_constraint_for_1): Handle MEM_REF.
22791 (find_func_clobbers): Likewise.
22792 * ipa-struct-reorg.c (decompose_indirect_ref_acc): Handle MEM_REF.
22793 (decompose_access): Likewise.
22794 (replace_field_acc): Likewise.
22795 (replace_field_access_stmt): Likewise.
22796 (insert_new_var_in_stmt): Likewise.
22797 (get_stmt_accesses): Likewise.
22798 (reorg_structs_drive): Disable.
22799 * config/i386/i386.c (ix86_va_start): Adjust for MEM_REF.
22800 (ix86_canonical_va_list_type): Likewise.
22801
22802 2010-06-30 Joern Rennecke <joern.rennecke@embecosm.com>
22803
22804 PR other/44566
22805 * coretypes.h [!USED_FOR_TARGET] (reg_class_t): Define.
22806 * target.def (struct gcc_target): Replace enum reg_class with
22807 reg_class_t in hook argument / return types.
22808 * doc/tm.texi.in (TARGET_SECONDARY_RELOAD): Likewise.
22809 (TARGET_IRA_COVER_CLASSES, TARGET_MEMORY_MOVE_COST): Likewise.
22810 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
22811 * targhooks.h (default_branch_target_register_class): Likewise.
22812 (default_ira_cover_classes, default_secondary_reload): Likewise.
22813 (default_memory_move_cost, default_register_move_cost): Likewise.
22814 * targhooks.c (default_branch_target_register_class): Likewise.
22815 (default_ira_cover_classes, default_secondary_reload): Likewise.
22816 (default_memory_move_cost, default_register_move_cost): Likewise.
22817 * reload.c (push_secondary_reload, secondary_reload_class): Likewise.
22818 * bt-load.c (branch_target_load_optimize): Likewise.
22819 * ira.c (setup_cover_and_important_classes): Likewise.
22820 * ira-costs.c (copy_cost): Likewise.
22821 * reload1.c (emit_input_reload_insns): Likewise.
22822 * config/alpha/alpha.c (alpha_secondary_reload): Likewise.
22823 * config/frv/frv.c (frv_secondary_reload): Likewise.
22824 * config/s390/s390.c (s390_secondary_reload): Likewise.
22825 * config/i386/i386.c (i386_ira_cover_classes): Likewise.
22826 (ix86_secondary_reload, ix86_memory_move_cost): Likewise.
22827 (ix86_register_move_cost): Likewise.
22828 * config/sh/sh-protos.h (sh_secondary_reload): Likewise.
22829 * config/sh/sh.c (sh_target_reg_class, sh_secondary_reload): Likewise.
22830 * config/xtensa/xtensa.c (xtensa_secondary_reload): Likewise.
22831 * config/xtensa/xtensa-protos.h (xtensa_secondary_reload): Likewise.
22832 * config/rs6000/rs6000.c (rs6000_secondary_reload): Likewise.
22833 (rs6000_ira_cover_classes): Likewise.
22834 * config/picochip/picochip.c (picochip_secondary_reload): Likewise.
22835 * config/picochip/picochip-protos.h (picochip_secondary_reload):
22836 Likewise.
22837 * config/pa/pa.c (pa_secondary_reload): Likewise.
22838 * config/mips/mips.c (mips_ira_cover_classes): Likewise.
22839 * config/bfin/bfin.c (bfin_secondary_reload): Likewise.
22840 * config/ia64/ia64.c (ia64_register_move_cost): Likewise.
22841 * doc/tm.texi: Regenerate.
22842
22843 2010-06-30 Sebastian Pop <sebastian.pop@amd.com>
22844
22845 PR bootstrrap/44726
22846 * graphite-sese-to-poly.c (build_poly_dr): Avoid uninitialized
22847 use.
22848 (build_alias_set_optimal_p): Likewise.
22849 (build_base_obj_set_for_drs): Likewise.
22850
22851 2010-06-30 Joern Rennecke <joern.rennecke@embecosm.com>
22852
22853 * target.def: Remove comment about licensing problems of function
22854 declarations.
22855
22856 * target.def (declare_constant_name): Change exp to expr. Use DEFHOOK.
22857 * doc/tm.texi.in (TARGET_ASM_DECLARE_CONSTANT_NAME): Use @hook.
22858 * doc/tm.texi: Regenerate.
22859
22860 * target.def (builtin_reciprocal): Change tm_fn to md_fn. Use DEFHOOK.
22861 * doc/tm.texi.in (TARGET_BUILTIN_RECIPROCAL): Use @hook.
22862
22863 * target.def (enum_va_list_p): Use DEFHOOK.
22864 * doc/tm.texi.in (TARGET_ENUM_VA_LIST_P): Use @hook.
22865 Rename ptype to ptree.
22866 * doc/tm.texi: Regenerate.
22867
22868 * target.def (fold_builtin): Rename nargs to n_args. Use DEFHOOK.
22869 * doc/tm.texi.in (TARGET_FOLD_BUILTIN): Use @hook.
22870 * doc/tm.texi: Regenerate.
22871
22872 * target.def (memory_move_cost): Use DEFHOOK.
22873 * doc/tm.texi.in (TARGET_MEMORY_MOVE_COST): Use @hook.
22874 Rename regclass AKA class to rclass.
22875 * doc/tm.texi: Regenerate.
22876
22877 * target.def (pragma_parse): Use DEFHOOK.
22878 * doc/tm.texi.in (TARGET_OPTION_PRAGMA_PARSE): Use @hook.
22879 s/TARGET_VALID_OPTION_ATTRIBUTE_P/TARGET_OPTION_VALID_ATRIBUTE_P/ .
22880 * doc/tm.texi: Regenerate.
22881
22882 * target.def (pass_by_reference): Use DEFHOOK.
22883 * doc/tm.texi.in (TARGET_PASS_BY_REFERENCE): Use @hook.
22884 * doc/tm.texi: Regenerate.
22885
22886 * target.def (resolve_overloaded_builtin): Rename params to arglist.
22887 Use DEFHOOK.
22888 * doc/tm.texi.in (TARGET_RESOLVE_OVERLOADED_BUILTIN): Use @hook.
22889 * doc/tm.texi: Regenerate.
22890
22891 * target.def (return_pops_args): Use DEFHOOK.
22892 * doc/tm.texi.in (TARGET_RETURN_POPS_ARGS): Use @hook.
22893 Rename stack-size to size.
22894 * doc/tm.texi: Regenerate.
22895
22896 * target.def (dfa_new_cycle): Use DEFHOOK. Rename dump_file to dump,
22897 last-sched_cycle to last_clock, cur_cycle to clock.
22898 * doc/tm.texi.in: Use @hook.
22899 * doc/tm.texi: Regenerate.
22900
22901 * target.def (print_operand, print_operand_address): Update comment.
22902 (print_operand_punct_valid_p): Likewise.
22903
22904 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
22905
22906 * toplev.h (_fatal_insn_not_found, _fatal_insn): Move declarations
22907 to rtl.h.
22908 (error_for_asm, warning_for_asm): Move declarations to rtl-error.h.
22909 * rtl.h (_fatal_insn_not_found, _fatal_insn): Move declarations here.
22910 * rtl-error.h: New.
22911 * regrename.c: Do not include toplev.h. Include rtl-error.h.
22912 * rtl-error.c: Likewise.
22913 * reload.c: Likewise.
22914 * recog.c: Likewise.
22915 * sel-sched.c: Likewise.
22916 * function.c: Likewise.
22917 * reg-stack.c: Likewise.
22918 * cfgrtl.c: Likewise.
22919 * reload1.c: Likewise.
22920 * final.c: Include rtl-error.
22921 * Makefile.in: Adjust dependencies.
22922
22923 2010-06-30 Jan Hubicka <jh@suse.cz>
22924
22925 PR middle-end/PR44706
22926 * ipa-split (split_function): Refine conditions when to use DECL_RESULT
22927 to return the value.
22928
22929 2010-06-30 Michael Matz <matz@suse.de>
22930
22931 PR bootstrap/44699
22932 * tree-vrp.c (vrp_finalize): Deal with changing num_ssa_names.
22933 * gimple-fold.c (gimplify_and_update_call_from_tree): If LHS is
22934 a gimple reg, attach the original VDEF to the last store in the
22935 sequence.
22936
22937 2010-06-30 Iain Sandoe <iains@gcc.gnu.org>
22938
22939 PR other/44034
22940 * config/darwin.c (darwin_override_options): Use renamed
22941 targetm.asm_out.emit_unwind_label.
22942
22943 2010-06-30 Bernd Schmidt <bernds@codesourcery.com>
22944
22945 PR tree-optimization/39799
22946 * tree-inline.c (remap_ssa_name): Initialize variable only if
22947 SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
22948
22949 2010-06-30 Nathan Froyd <froydnj@codesourcery.com>
22950
22951 * c-parser.c (c_parser_omp_for_loop): Use a VEC for for_block.
22952
22953 2010-06-30 Richard Guenther <rguenther@suse.de>
22954
22955 PR target/44722
22956 * config/i386/i386.md (peephole2 for fix:SSEMODEI24): Guard
22957 against oscillation with reverse peephole2.
22958
22959 2010-06-30 H.J. Lu <hongjiu.lu@intel.com>
22960
22961 PR target/44721
22962 * config/i386/i386.md (peephole2 for arithmetic ops with memory):
22963 Fix last commit.
22964
22965 2010-06-30 Nick Clifton <nickc@redhat.com>
22966
22967 * config/rx/rx-modes.def: New file.
22968 * config/rx/rx.h (FIRST_PSEUDO_REGISTER): Increase to 17.
22969 (CC_REGNUM): Define.
22970 (FIXED_REGISTERS, CALL_USED_REGISTERS, REGISTER_NAMES): Add cc
22971 register.
22972 (CC_NO_CARRY, NOTICE_UPDATE_CC): Delete.
22973 (SELECT_CC_MODE): Define.
22974 * config/rx/rx.md (CC_REG): Define. Update all patterns to use
22975 (reg:CC CC_REG) instead of (cc0).
22976 (attr "cc"): Delete.
22977 (cbranchsi4): Do not split compare and branch here. Instead move
22978 it to...
22979 (cbranchsi4_<code>): ... here. New patterns.
22980 (cmpsi): Call rx-compare_redundant to find out if it is necessary
22981 to emit the compare instruction.
22982 * config/rx/rx.c (rx_gen-cond_branch_template): Remove tests of
22983 cc_status flags.
22984 (rx_get_stack_layout): Iterate up to before CC_REGNUM not
22985 FIRST_PSEUDO_REGNUM.
22986 (rx_expand_prologue, rx_expand_epilogue): Likewise.
22987 (rx_notice_update_cc): Delete.
22988 (rx_cc_modes_compatible): New function.
22989 (flags_needed_for_conditional): New function.
22990 (flags_from_mode): New function.
22991 (rx_compare_redundant): New function - scans backwards through
22992 insn list to find out if condition flags are already set correctly.
22993 (TARGET_CC_MODES_COMPATIBLE): Define.
22994 * config/rx/rx-protos.h (rx_compare_redundant): Prototype.
22995
22996 * config/rx/rx.h (BRANCH_COST): Define.
22997 (REGISTER_MOVE_COST): Define.
22998 * config/rx/predicates (rx_source_operand): Allow all constant types.
22999 * config/rx/rx.md (addsi3): Add alternative for swapped operands.
23000 (tstsi4): New pattern.
23001 * config/rx/rx.c (rx_memory_move_cost): Define.
23002 (TARGET_MEMORY_MOVE_COST): Define.
23003
23004 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
23005
23006 * tree.h (block_may_fallthru): Declare here.
23007 * tree-flow.h (block_may_fallthru): Do not declare here.
23008 * c-typeck.c: Do not include tree-flow.h. Include gimple.h and
23009 bitmap.h
23010 * Makefile.in (c-typeck.o): Update dependencies.
23011
23012 2010-06-30 Jakub Jelinek <jakub@redhat.com>
23013
23014 PR debug/44694
23015 * cselib.h (cselib_preserve_cfa_base_value): Add regno argument.
23016 * cselib.c (cfa_base_preserved_regno): New static variable.
23017 (cselib_reset_table): Don't reset cfa_base_preserved_regno instead
23018 of REGNO (cfa_base_preserved_val->locs->loc).
23019 (cselib_preserve_cfa_base_value): Add regno argument, set
23020 cfa_base_preserved_regno to it.
23021 (cselib_invalidate_regno): Allow removal of registers other than
23022 cfa_base_preserved_regno from cfa_base_preserved_val.
23023 (cselib_finish): Set cfa_base_preserved_regno to INVALID_REGNUM.
23024 * var-tracking.c (adjust_mems): Replace sp or hfp even outside
23025 of MEM addresses, if not on LHS.
23026 (reverse_op): Don't add reverse ops for cfa_base_rtx.
23027 (vt_init_cfa_base): Adjust cselib_preserve_cfa_base_value caller.
23028
23029 2010-06-30 Bernd Schmidt <bernds@codesourcery.com>
23030
23031 * recog.c (peep2_do_rebuild_jump_labels, peep2_do_cleanup_cfg): New
23032 static variables.
23033 (peep2_buf_position): New static function.
23034 (peep2_regno_dead_p, peep2_reg_dead_p, peep2_find_free_register,
23035 peephole2_optimize): Use it.
23036 (peep2_attempt, peep2_update_life): New static functions, broken out
23037 of peephole2_optimize.
23038 (peep2_fill_buffer): New static function.
23039 (peephole2_optimize): Change the main loop to try to fill the buffer
23040 with the maximum number of insns before matching them against
23041 peepholes. Use a forward scan. Remove special case for targets with
23042 conditional execution.
23043 * genrecog.c (change_state): Delete dead code.
23044 * config/i386/i386.md (peephole2 for arithmetic ops with memory):
23045 Rewrite so as not to expect the second insn to have had a peephole
23046 applied yet.
23047
23048 2010-06-29 Nathan Froyd <froydnj@codesourcery.com>
23049
23050 * genhooks.c (emit_findices): Cast field precision to int.
23051 (emit_documentation): Likewise.
23052
23053 2010-06-29 Jakub Jelinek <jakub@redhat.com>
23054
23055 PR tree-optimization/43801
23056 * cgraph.c (cgraph_create_virtual_clone): Clear DECL_SECTION_NAME
23057 if old_decl was DECL_ONE_ONLY.
23058
23059 PR debug/44668
23060 * dwarf2out.c (add_accessibility_attribute): New function.
23061 (gen_subprogram_die, gen_variable_die, gen_field_die): Use it
23062 instead of adding DW_AT_accessibility manually.
23063 (gen_enumeration_type_die, gen_struct_or_union_type_die,
23064 gen_typedef_die): Use it.
23065
23066 2010-06-29 Douglas B Rupp <rupp@gnat.com>
23067
23068 * vmsdbgout.c (full_name): Just output the file name if not native.
23069
23070 2010-06-29 Douglas B Rupp <rupp@gnat.com>
23071
23072 * vmsdbgout.c (func_table): Replace with VEC func{nam,num}_tables.
23073 (funcnam_table): New static table.
23074 (funcnum_table): New static table.
23075 (write_rtnbeg): Write value saved in funcnum_table.
23076 (write_rtnend): Write value saved in funcnum_table.
23077 (vmsdbgout_begin_function): Save current function info in
23078 (vmsdbgout_init): Initialize func{nam,num}_tables. Minor reformatting.
23079 (vmsdbgout_finish): Iterate over funcnum_table.
23080
23081 2010-06-29 Douglas B Rupp <rupp@gnat.com>
23082
23083 * vmsdbgout.c (vmsdbgout_begin_epilogue): Declare
23084 (vmsdbgout_type_decl): Declare
23085 (vmsdbg_debug_hooks): Add entry for type_decl and begin_epilogue.
23086 (FUNC_EPILOGUE_LABEL): New macro
23087 (vmsdbgout_begin_epilogue): New function.
23088 (vmsdbgout_type_decl): New function.
23089
23090 2010-06-29 Douglas B Rupp <rupp@gnat.com>
23091
23092 * vmsdbg.h: Update copyright.
23093
23094 2010-06-29 Douglas B Rupp <rupp@gnat.com>
23095
23096 * vmsdbg.h (DST_K_TBG): New DST constant.
23097 * vmsdbgout.c (addr_const_to_string): Removed, not referenced.
23098 (write_modbeg): Cast module_language to avoid warning.
23099 (write_rtnbeg): Use DST_K_TBG vice magic mystery number.
23100
23101 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
23102
23103 PR other/44034
23104 * target.def, doc/tm.texi.in, genhooks.c: New files.
23105 * target.h: Instead of defining individual hook members,
23106 define DEFHOOKPOD / DEFHOOK / DEFHOOK_UNDOC / HOOKSTRUCT and
23107 include target.def.
23108 * target-def.h: Instead of defining individual hook initializers,
23109 include target-hooks-def.h.
23110 * df-scan.c, haifa-sched.c, sel-sched.c: Rename targetm members:
23111 targetm.live_on_entry -> targetm.extra_live_on_entry
23112 targetm.sched.md_finish ->targetm.sched.finish
23113 targetm.sched.md_init -> targetm.sched.init
23114 targetm.sched.md_init_global -> targetm.sched.init_global
23115 targetm.asm_out.unwind_label -> targetm.asm_out.emit_unwind_label
23116 targetm.asm_out.except_table_label ->
23117 targetm.asm_out.emit_except_table_label
23118 targetm.asm_out.visibility -> targetm.asm_out.assemble_visibility
23119 targetm.target_help -> targetm.help
23120 targetm.vectorize.builtin_support_vector_misalignment ->
23121 targetm.vectorize.support_vector_misalignment
23122 targetm.file_start_app_off -> targetm.asm_file_start_app_off
23123 targetm.file_start_file_directive ->
23124 targetm.asm_file_start_file_directive
23125 * dwarf2out.c, opts.c, tree-vect-data-refs.c, except.c: Likewise.
23126 * varasm.c, config/alpha/alpha.c, config/cris/cris.c: Likewise.
23127 * config/spu/spu.c, config/ia64/ia64.c: Rename target macros:
23128 TARGET_VECTOR_ALIGNMENT_REACHABLE ->
23129 TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE
23130 TARGET_SUPPORT_VECTOR_MISALIGNMENT ->
23131 TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT
23132 TARGET_UNWIND_EMIT -> TARGET_ASM_UNWIND_EMIT
23133 * config/rs6000/rs6000.c, config/arm/arm.c: Likewise.
23134 * Makefile.in (TARGET_H): Depend on target.def.
23135 (TARGET_DEF_H): Depend on target-hooks-def.h.
23136 (target-hooks-def.h, tm.texi, s-target-hooks-def-h): New rules.
23137 (s-tm-texi, build/genhooks.o, build/genhooks): Likewise.
23138 * doc/tm.texi: Regenerate.
23139
23140 * Makefile.in (s-tm-texi): Remove stray tab / rule.
23141
23142 * config/m68k/m68k.c (targetm.sched.init_global): Update comment.
23143 (targetm.sched.init): Likewise.
23144
23145 2010-06-29 Nathan Froyd <froydnj@codesourcery.com>
23146
23147 PR bootstrap/44713
23148 * config/i386/i386.c (type_natural_mode): Const-ify CUM parameter.
23149 (function_arg_advance_32): Const-ify TYPE parameter.
23150 (function_arg_advance_64): Likewise. Change type of NAMED to bool.
23151 (ix86_function_arg_advance): Change type of NAMED to bool.
23152 (function_arg_32): Const-ify CUM and TYPE parameters.
23153 (function_arg_64): Likewise. Change type of NAMED to bool.
23154 (function_arg_ms_64): Const-ify CUM parameter. Change type of NAMED
23155 to bool.
23156 (ix86_function_arg): Change type of NAMED to bool.
23157 (ix86_setup_incoming_varargs): Call ix86_function_arg_advance. Pass
23158 last argument as a bool.
23159
23160 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
23161
23162 * doc/tm.texi (TARGET_OPTION_OVERRIDE): Document.
23163 (OVERRIDE_OPTIONS): Add note of obsolescence.
23164 Replace references with references to TARGET_OPTION_OVERRIDE.
23165 (Except for C_COMMON_OVERRIDE_OPTIONS, which remains similar to
23166 the macro).
23167 * targhooks.c (default_target_option_override): New function.
23168 * targhooks.h (default_target_option_override): Declare.
23169 * target.h (struct gcc_target): Add override member to
23170 target_option member.
23171 * toplev.c (process_options): Replace OVERRIDE_OPTIONS use with
23172 targetm.target_option.override call.
23173 * target-def.h (TARGET_OPTION_OVERRIDE): Define.
23174 (TARGET_OPTION_HOOKS): Add TARGET_OPTION_OVERRIDE.
23175
23176 2010-06-29 Jan Hubicka <jh@suse.cz>
23177
23178 * tree-inline.c: Replace incomming by incomin and clonning by cloning.
23179
23180 2010-06-29 Jan Hubicka <jh@suse.cz>
23181
23182 * predict.c (propagate_freq): Clear EXIT_BLOCK_PTR frequency if it is
23183 unreachable.
23184 (rebuild_frequencies): New function.
23185 * predict.h (rebuild_frequencies): Declare.
23186 * tree-inline.c (copy_cfg_body): Compute properly count & frequency of
23187 entry block and edge reaching new_entry.
23188 (tree_function_versioning): When doing partial cloning, rebuild
23189 frequencies when done.
23190 * passes.c (execute_function_todo): Use rebild_frequencies.
23191
23192 2010-06-29 Richard Guenther <rguenther@suse.de>
23193
23194 * tree-dfa.c (dump_variable): Remove noalias_state dumping.
23195 * tree-flow.h (enum noalias_state): Remove.
23196 (struct var_ann_d): Remove noalias_state member.
23197
23198 2010-06-29 Bernd Schmidt <bernds@codesourcery.com>
23199
23200 PR target/43902
23201 * config/arm/arm.md (maddsidi4, umaddsidi4): New expanders.
23202 (maddhisi4): Renamed from mulhisi3addsi. Operands renumbered.
23203 (maddhidi4): Likewise.
23204
23205 Revert parts of the change for PR25130.
23206 * cse.c (exp_equiv_p): For MEMs, if for_gcse, only compare
23207 MEM_ALIAS_SET.
23208
23209 2010-06-29 Nathan Froyd <froydnj@codesourcery.com>
23210
23211 * calls.c, dse.c, expr.c, function.c: Call targetm.calls.function_arg,
23212 targetm.calls.function_incoming_arg, and
23213 targetm.calls.function_arg_advance instead of FUNCTION_ARG,
23214 FUNCTION_INCOMING_ARG, and FUNCTION_ARG_ADVANCE, respectively.
23215 * target.h (struct gcc_target): Add function_arg_advance,
23216 function_arg, and function_incoming_arg fields.
23217 * target-def.h (TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG):
23218 (TARGET_FUNCTION_INCOMING_ARG): Define.
23219 (TARGET_CALLS): Add TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG,
23220 and TARGET_FUNCTION_INCOMING_ARG.
23221 * targhooks.h (default_function_arg_advance): Declare.
23222 (default_function_arg, default_function_incoming_arg): Declare.
23223 * targhooks.c (default_function_arg_advance): New function.
23224 (default_function_arg, default_function_incoming_arg): New function.
23225 * config/i386/i386.c (function_arg_advance): Rename to...
23226 (ix86_function_arg_advance): ...this. Make static.
23227 (function_arg): Rename to...
23228 (ix86_function_arg): ...this. Make static.
23229 (TARGET_FUNCTION_ARG_ADVANCE): Define.
23230 (TARGET_FUNCTION_ARG): Define.
23231 * config/i386/i386.h (FUNCTION_ARG_ADVANCE): Delete.
23232 (FUNCTION_ARG): Delete.
23233 * config/i386/i386-protos.h (function_arg_advance): Delete prototype.
23234 (function_arg): Delete prototype.
23235
23236 2010-06-29 Nathan Froyd <froydnj@codesourcery.com>
23237
23238 * reginfo.c (init_reg_sets_1): Adjust comments.
23239 * combine-stack-adj.c (rest_of_handle_stack_adjustments): Likewise.
23240 * calls.c (prepare_call_address): Likewise.
23241 (emit_call_1): Use targetm.calls.return_pops_args.
23242 (expand_call): Likewise.
23243 * function.c (assign_parms): Likewise.
23244 * system.h (RETURN_POPS_ARGS): Add to #pragma poison list.
23245 * target.h (struct gcc_target) [struct calls]: Add
23246 return_pops_args field.
23247 * targhooks.h (default_return_pops_args): Declare.
23248 * targhooks.c (default_return_pops_args): Define.
23249 * target-def.h (TARGET_RETURN_POPS_ARGS): Define.
23250 (TARGET_CALLS): Add TARGET_RETURN_POPS_ARGS.
23251 * doc/tm.texi (RETURN_POPS_ARGS): Rename to...
23252 (TARGET_RETURN_POPS_ARGS): ...this. Use deftypefn. Adjust
23253 documentation.
23254 * config/alpha/alpha.h (RETURN_POPS_ARGS): Delete.
23255 * config/arc/arc.h (RETURN_POPS_ARGS): Likewise.
23256 * config/arm/arm.h (RETURN_POPS_ARGS): Likewise.
23257 * config/avr/avr.h (RETURN_POPS_ARGS): Likewise.
23258 * config/bfin/bfin.h (RETURN_POPS_ARGS): Likewise.
23259 * config/cris/cris.h (RETURN_POPS_ARGS): Likewise.
23260 * config/crx/crx.h (RETURN_POPS_ARGS): Likewise.
23261 * config/fr30/fr30.h (RETURN_POPS_ARGS): Likewise.
23262 * config/frv/frv.h (RETURN_POPS_ARGS): Likewise.
23263 * config/h8300/h8300.h (RETURN_POPS_ARGS): Likewise.
23264 * config/ia64/ia64.h (RETURN_POPS_ARGS): Likewise.
23265 * config/iq2000/iq2000.h (RETURN_POPS_ARGS): Likewise.
23266 * config/lm32/lm32.h (RETURN_POPS_ARGS): Likewise.
23267 * config/m32c/m32c.h (RETURN_POPS_ARGS): Likewise.
23268 * config/m32r/m32r.h (RETURN_POPS_ARGS): Likewise.
23269 * config/m68hc11/m68hc11.h (RETURN_POPS_ARGS): Likewise.
23270 * config/mcore/mcore.h (RETURN_POPS_ARGS): Likewise.
23271 * config/mep/mep.h (RETURN_POPS_ARGS): Likewise.
23272 * config/mips/mips.h (RETURN_POPS_ARGS): Likewise.
23273 * config/mmix/mmix.h (RETURN_POPS_ARGS): Likewise.
23274 * config/mn10300/mn10300.h (RETURN_POPS_ARGS): Likewise.
23275 * config/moxie/moxie.h (RETURN_POPS_ARGS): Likewise.
23276 * config/pa/pa.h (RETURN_POPS_ARGS): Likewise.
23277 * config/pdp11/pdp11.h (RETURN_POPS_ARGS): Likewise.
23278 * config/picochip/picochip.h (RETURN_POPS_ARGS): Likewise.
23279 * config/rs6000/rs6000.h (RETURN_POPS_ARGS): Likewise.
23280 * config/rx/rx.h (RETURN_POPS_ARGS): Likewise.
23281 * config/s390/s390.h (RETURN_POPS_ARGS): Likewise.
23282 * config/score/score.h (RETURN_POPS_ARGS): Likewise.
23283 * config/sh/sh.h (RETURN_POPS_ARGS): Likewise.
23284 * config/sparc/sparc.h (RETURN_POPS_ARGS): Likewise.
23285 * config/spu/spu.h (RETURN_POPS_ARGS): Likewise.
23286 * config/stormy16/stormy16.h (RETURN_POPS_ARGS): Likewise.
23287 * config/v850/v850.h (RETURN_POPS_ARGS): Likewise.
23288 * config/xtensa/xtensa.h (RETURN_POPS_ARGS): Likewise.
23289 * config/i386/i386-protos.h (ix86_return_pops_args): Delete.
23290 * config/i386/i386.h (RETURN_POPS_ARGS): Delete.
23291 * config/i386/i386.c (ix86_return_pops_args): Make static.
23292 Constify arguments.
23293 (TARGET_RETURN_POPS_ARGS): Define.
23294 * config/m68k/m68k.h (RETURN_POPS_ARGS): Move to...
23295 * config/m68k/m68k.c (m68k_return_pops_args): ...here. New function.
23296 (TARGET_RETURN_POPS_ARGS): Define.
23297 * config/vax/vax.h (RETURN_POPS_ARGS): Move to...
23298 * config/vax/vax.c (vax_return_pops_args): ...here. New function.
23299 (TARGET_RETURN_POPS_ARGS): Define.
23300
23301 2010-06-29 Richard Guenther <rguenther@suse.de>
23302
23303 PR middle-end/44667
23304 * tree-inline.c (initialize_inlined_parameters): Make sure
23305 to remap the inlined parameter variable substitutions types.
23306
23307 2010-06-29 Eric Botcazou <ebotcazou@adacore.com>
23308
23309 PR rtl-optimization/44659
23310 * combine.c (make_compound_operation) <SUBREG>: Do not return the
23311 result of force_to_mode if it partially re-expanded the compound.
23312
23313 2010-06-28 Jan Hubicka <jh@suse.cz>
23314
23315 PR middle-end/44671
23316 * ipa-split.c (test_nonssa_use, mark_nonssa_use): Check also uses of
23317 RESULT_DECL.
23318
23319 2010-06-28 Anatoly Sokolov <aesok@post.ru>
23320
23321 * double-int.h (force_fit_type_double): Remove declaration.
23322 * double-int.c (force_fit_type_double): Move to tree.c.
23323 * tree.h (force_fit_type_double): Declare.
23324 * tree.h (force_fit_type_double): Moved from double-int.c. Use
23325 double_int type for 'cst' argument. Use double_int_fits_to_tree_p and
23326 double_int_to_tree instead of fit_double_type and build_int_cst_wide.
23327 * convert.c (convert_to_pointer): Adjust call to
23328 force_fit_type_double.
23329 * tree-vrp.c (extract_range_from_assert,
23330 extract_range_from_unary_expr): Adjust call to force_fit_type_double.
23331 * fold-const.c: Update comment.
23332 (int_const_binop, fold_convert_const_int_from_int,
23333 fold_convert_const_int_from_real, fold_convert_const_int_from_fixed,
23334 extract_muldiv_1, fold_div_compare, fold_sign_changed_comparison,
23335 fold_unary_loc, fold_negate_const, fold_abs_const, fold_not_const,
23336 round_up_loc): Adjust call to force_fit_type_double.
23337
23338 2010-06-28 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
23339
23340 * config/rs6000/rs6000.h (PROCESSOR_TITAN): Declare.
23341
23342 2010-06-28 Martin Jambor <mjambor@suse.cz>
23343
23344 * tree-sra.c (convert_callers): New parameter, change fndecls of
23345 recursive calls.
23346 (modify_function): Pass the old decl to convert_callers.
23347
23348 2010-06-28 Martin Jambor <mjambor@suse.cz>
23349
23350 * ipa-cp.c (ipcp_init_cloned_node): Replace calls to
23351 ipa_check_create_node_params and ipa_initialize_node_params with
23352 checking asserts they are not necessary.
23353
23354 2010-06-28 Jan Hubicka <jh@suse.cz>
23355
23356 PR tree-optimization/44687
23357 * ipa-split.c (split_function): Use DECL_RESULT to store return value.
23358
23359 2010-06-28 Martin Jambor <mjambor@suse.cz>
23360
23361 PR c++/44535
23362 * gimple-fold.c (get_first_base_binfo_with_virtuals): New function.
23363 (gimple_get_relevant_ref_binfo): Use get_first_base_binfo_with_virtuals
23364 instead of BINFO_BASE_BINFO.
23365
23366 2010-06-28 Michael Matz <matz@suse.de>
23367
23368 PR middle-end/44592
23369 * gimple-fold.c (gimplify_and_update_call_from_tree): Maintain
23370 proper VDEF chain for intermediate stores in the sequence.
23371
23372 2010-06-28 Jan Hubicka <jh@suse.cz>
23373
23374 PR tree-optimization/44357
23375 * ipa-inline.c (add_new_edges_to_heap): Do not add edges to
23376 uninlinable functions.
23377
23378 2010-06-28 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
23379
23380 * config.gcc (powerpc*-*-*): Handle titan.
23381 * config/rs6000/rs6000.c (titan_cost): New costs.
23382 (rs6000_override_options): Add "titan" to processor_target_table.
23383 Add Titan to branch alignment logic.
23384 Correctly set rs6000_cost for titan.
23385 * config/rs6000/rs6000.md (cpu): Add titan. Include "titan.md".
23386 * config/rs6000/titan.md: New file.
23387 * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mcpu=titan.
23388
23389 2010-06-28 Nathan Froyd <froydnj@codesourcery.com>
23390
23391 * tree-browser.c (TB_history_stack): Convert to a VEC.
23392 (TB_SET_HEAD): Adjust for new type of TB_history_stack.
23393 (TB_history_prev): Likewise.
23394
23395 2010-06-28 Nathan Froyd <froydnj@codesourcery.com>
23396
23397 * vec.h (vec_heap_free): Add parentheses around free.
23398
23399 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
23400
23401 * system.h: Poison GCC_EXCEPT_H for front-end files.
23402
23403 * langhooks.h (struct lang_hooks): Add eh_protect_cleanup_actions
23404 langhook.
23405 * langhooks-def.h (LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS) New.
23406 Define to NULL by default.
23407 * except.h: Define GCC_EXCEPT_H.
23408 (doing_eh): Remove prototype.
23409 (init_eh, init_eh_for_function): Move prototypes to toplev.h.
23410 (lang_protect_cleanup_actions): Remove.
23411 * except.c (lang_protect_cleanup_actions): Remove.
23412 (doing_eh): Remove.
23413 (gen_eh_region): Don't check doing_eh here.
23414 * toplev.h (init_eh, init_eh_for_function_): Moved from except.h.
23415 * tree-eh.c (honor_protect_cleanup_actions): Use new langhook
23416 instead of lang_protect_cleanup_actions.
23417 * omp-low.c (maybe_catch_exception): Likewise.
23418 * Makefile.in: Update dependencies.
23419
23420 2010-06-28 Bingfeng Mei <bmei@broadcom.com>
23421
23422 * cgraph.h (struct varpool_node): new used_from_object_file flag.
23423 (struct cgraph_local_info): new used_from_object_file flag.
23424 * cgraph.c (dump_cgraph_node): dump used_from_object_file flag.
23425 (cgraph_clone_node): initialize used_from_object_file.
23426 (cgraph_create_virtual_clone): initialize used_from_object_file.
23427 * lto-symbtab.c (lto_symtab_merge_decls_1): Set
23428 used_from_object_file flags for symbols of LDPR_PREVAILING_DEF
23429 when compiling with -fwhole-program.
23430 (lto_symtab_resolve_symbols) Use LDPR_PREVAILING_DEF_IRONLY for
23431 internal resolver.
23432 * ipa.c (function_and_variable_visibility): Set externally_visible
23433 flag of varpool_node if used_from_object_file flag is set.
23434 (cgraph_externally_visible_p): check used_from_object_file flag.
23435 * doc/invoke.texi (-fwhole-program option): Change description of
23436 externally_visible attribute accordingly.
23437 * doc/extend.texi (externally_visible): Ditto.
23438
23439 2010-06-27 Jan Hubicka <jh@suse.cz>
23440
23441 * params.def (max-inline-insns-auto): Default to 40.
23442 * doc/invoke.texi (max-inline-insns-auto): Document the change.
23443
23444 2010-06-27 Jan Hubicka <jh@suse.cz>
23445
23446 PR middle-end/44671
23447 PR middle-end/44686
23448 * tree.c (build_function_decl_skip_args): Clear DECL_BUILT_IN on
23449 signature change.
23450 * ipa-split.c (split_function): Always clear DECL_BUILT_IN.
23451 * ipa-prop.c (ipa_modify_formal_parameters): Likewise.
23452
23453 2010-06-27 Anatoly Sokolov <aesok@post.ru>
23454
23455 * target.h (struct gcc_target): Add register_move_cost field.
23456 * target-def.h (TARGET_REGISTER_MOVE_COST): New.
23457 (TARGET_INITIALIZER): Use TARGET_REGISTER_MOVE_COST.
23458 * targhooks.c (default_register_move_cost): New function.
23459 * targhooks.h (default_register_move_cost): Declare function.
23460 * defaults.h (REGISTER_MOVE_COST): Delete.
23461 * ira-int.h (ira_register_move_cost): Update comment.
23462 * ira.c (ira_register_move_cost): Update comment.
23463 * reload.h (register_move_cost): Declare.
23464 * reginfo.c (register_move_cost): New function.
23465 (move_cost): Update comment.
23466 (init_move_cost, memory_move_secondary_cost): Replace
23467 REGISTER_MOVE_COST with register_move_cost.
23468 * postreload.c (reload_cse_simplify_set): (Ditto.).
23469 * reload.c (find_valid_class, find_reloads): (Ditto.).
23470 * reload1.c (choose_reload_regs): (Ditto.).
23471 * doc/tm.texi (TARGET_REGISTER_MOVE_COST): New.
23472 (REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Update documentation.
23473 * doc/md.texi (can_create_pseudo_p): Update documentation.
23474
23475 * config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
23476 * config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
23477 * config/i386/i386.h (ix86_memory_move_cost): Make static.
23478 (TARGET_MEMORY_MOVE_COST): Define.
23479
23480 * config/ia64/ia64.h (MEMORY_MOVE_COST): Remove macro.
23481 * config/ia64/ia64-protos.h (int ia64_memory_move_cost): Remove.
23482 * config/ia64/ia64.h (ia64_memory_move_cost): Make static.
23483 (TARGET_MEMORY_MOVE_COST): Define.
23484
23485 2010-06-27 Richard Guenther <rguenther@suse.de>
23486
23487 PR tree-optimization/44683
23488 * tree-ssa-dom.c (record_edge_info): Record equivalences for the
23489 false edge from the inverted condition.
23490
23491 2010-06-27 Richard Guenther <rguenther@suse.de>
23492
23493 PR middle-end/44684
23494 * tree-ssa-alias.c (refs_may_alias_p_1): Allow SSA name refs.
23495 (stmt_may_clobber_ref_p_1): Do not bother to call the oracle
23496 for register LHS. Or non-store assignments.
23497
23498 2010-06-26 Eric Botcazou <ebotcazou@adacore.com>
23499
23500 * config/sparc/sparc.c (sparc_emit_set_const32): Make static.
23501 (sparc_emit_set_const64): Likewise. Remove disabled code.
23502 * config/sparc/sparc-protos.h (sparc_emit_set_const32): Delete.
23503 (sparc_emit_set_const64): Likewise.
23504
23505 2010-06-26 Catherine Moore <clm@codesourcery.com>
23506
23507 * config/mips/mips.md (alu_type): New attribute.
23508 (type): Infer type from alu_type.
23509 (*add<mode>3, *add<mode>3_mips16, *addsi3_extended,
23510 *baddu_si_eb, *baddu_si_el, *baddu_di, sub<mode>3,
23511 *subsi3_extended, negsi2, negdi2, *low<mode>,
23512 *low<mode>_mips16, *ior<mode>3, *ior<mode>3_mips16,
23513 xor<mode>3, *nor<mode>3,
23514 *zero_extend<GPR:mode>_trunc<SHORT:mode>,
23515 *zero_extendhi_truncqi): Set alu_type instead of type.
23516
23517 2010-06-26 Douglas B Rupp <rupp@gnat.com>
23518
23519 * config/alpha/alpha.c (alpha_need_linkage): Adjust
23520 splay_tree_new_ggc call.
23521 (alpha_use_linkage): Likewise.
23522
23523 2010-06-26 Joseph Myers <joseph@codesourcery.com>
23524
23525 * collect2.c (main): Remove SWITCHES_NEED_SPACES conditional.
23526 * doc/tm.texi (SWITCHES_NEED_SPACES): Don't document.
23527 * gcc.c (SWITCHES_NEED_SPACES, switches_need_spaces): Remove.
23528 (static_specs): Remove switches_need_spaces.
23529 (process_command, do_self_spec): Hardcode handling "-o" instead of
23530 checking switches_need_spaces.
23531 * system.h (SWITCHES_NEED_SPACES): Poison.
23532
23533 2010-06-26 Richard Guenther <rguenther@suse.de>
23534
23535 PR tree-optimization/44393
23536 * tree-loop-distribution.c (generate_loops_for_partition): Fix
23537 stmt removal and VOP renaming.
23538 (generate_memset_zero): Remove redundant stmt updating.
23539 * tree-flow.h (mark_virtual_ops_in_bb): Remove.
23540 * tree-cfg.c (mark_virtual_ops_in_bb): Likewise.
23541
23542 2010-06-26 Jan Hubicka <jh@suse.cz>
23543
23544 * ipa-split.c (consider_split): PHI in entry block is OK as long as all
23545 edges comming from header are equivalent.
23546 (visit_bb): Handle PHIs correctly.
23547 * tree-inline.c (copy_phis_for_bb): Be able to copy
23548 PHI from entry edge.
23549 (copy_cfg_body): Produce edge from entry BB before copying PHIs.
23550
23551 2010-06-26 Richard Guenther <rguenther@suse.de>
23552
23553 PR middle-end/44674
23554 * tree-ssa-alias.c (refs_may_alias_p_1): Allow all kind of
23555 decls. Handle LABEL_DECLs like FUNCTION_DECLs.
23556
23557 2010-06-26 Joseph Myers <joseph@codesourcery.com>
23558
23559 * gcc.c (n_switches_alloc, n_infiles_alloc, alloc_infile,
23560 add_infile, alloc_switch): New.
23561 (process_command): Remove variable lang_n_infiles. Process
23562 options in a single pass. Use new functions for allocating
23563 infiles and switches arrays. Properly skip operands of
23564 -Xpreprocessor and -Xassembler.
23565
23566 2010-06-26 Jan Hubicka <jh@suse.cz>
23567
23568 PR middle-end/44671
23569 * cgraphunit.c (cgraph_function_versioning): Remove wrong
23570 cgraph_make_decl_local call; fix typo copying RTL data.
23571
23572 2010-06-25 DJ Delorie <dj@redhat.com>
23573
23574 * config/m32c/m32c-protos.h (m32c_note_pragma_address): Declare.
23575 (m32c_output_aligned_common): Likewise.
23576 * config/m32c/m32c.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
23577 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
23578 * config/m32c/m32c-pragma.c (m32c_pragma_address): New.
23579 (m32c_register_pragmas): Register it.
23580 * config/m32c/m32c.c (m32c_get_pragma_address): New.
23581 (m32c_insert_attributes): Set #pragma address decls volatile.
23582 (pragma_entry_eq): New.
23583 (pragma_entry_hash): New.
23584 (m32c_note_pragma_address): New.
23585 (m32c_get_pragma_address): New.
23586 (m32c_output_aligned_common): New.
23587 * doc/extend.texi: Document the new pragma.
23588
23589 * config/m32c/m32c.c (m32c_illegal_subreg_p): Reject illegal MEMs
23590 also.
23591 * config/m32c/predicates.md (m32c_any_operand): Check the code
23592 instead of memory_operand so as to allow matching volatile MEMs.
23593 (m32c_nonimmediate_operand): Likewise.
23594 (mra_operand): Allow volatiles.
23595
23596 2010-06-25 Alexandre Oliva <aoliva@redhat.com>
23597
23598 PR debug/44610
23599 * simplify-rtx.c (delegitimize_mem_from_attrs): Don't use a base
23600 address if the offset is unknown.
23601
23602 2010-06-25 Douglas B Rupp <rupp@gnat.com>
23603
23604 * dwarf2out.c (dwarf2out_vms_debug_main_pointer): New function.
23605 * dwarf2out.h (dwarf2out_vms_debug_main_pointer): Declare new function.
23606 * config/ia64/ia64-protos.h (ia64_start_function): Declare.
23607 * config/ia64/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Move contents
23608 to ia64_start_function. Invoke it.
23609 * config/ia64/ia64.c (ia64_start_function): Call new function
23610 dwarf2out_vms_debug_main_pointer.
23611
23612 2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
23613
23614 * tree-if-conv.c (insert_gimplified_predicates): Do not insert
23615 statements computing the true predicate.
23616
23617 2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
23618
23619 * tree-if-conv.c (init_bb_predicate): Initialize the predicate
23620 to boolean_true_node.
23621 (reset_bb_predicate): New.
23622 (predicate_bbs): Call reset_bb_predicate.
23623
23624 2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
23625
23626 * tree-if-conv.c (combine_blocks): Remove FIXME comment.
23627 (tree_if_conversion): Returns true when something has been changed.
23628 (main_tree_if_conversion): Return TODO_cleanup_cfg when if-conversion
23629 changed something.
23630
23631 2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
23632
23633 * Makefile.in (tree-if-conv.o): Depends on DBGCNT_H.
23634 * dbgcnt.def (if_conversion_tree): New DEBUG_COUNTER.
23635 * tree-if-conv.c: Include dbgcnt.h.
23636 (tree_if_conversion): Use if_conversion_tree to count the number of
23637 if-convertible loops.
23638
23639 2010-06-25 Changpeng Fang <changpeng.fang@amd.com>
23640
23641 * common.opt (fprefetch-loop-arrays): Re-define
23642 -fprefetch-loop-arrays as a tri-state option with the initial
23643 value of -1.
23644 * tree-ssa-loop.c (gate_tree_ssa_loop_prefetch): Invoke prefetch
23645 pass only when flag_prefetch_loop_arrays > 0.
23646 * toplev.c (process_options): Note that, with tri-states,
23647 flag_prefetch_loop_arrays>0 means prefetching is enabled.
23648 * config/i386/i386.c (override_options): Enable prefetching at -O3
23649 for a set of CPUs that sw prefetching is helpful.
23650 (software_prefetching_beneficial_p): New. Return TRUE if software
23651 prefetching is beneficial for the given CPU.
23652
23653 2010-06-25 H.J. Lu <hongjiu.lu@intel.com>
23654
23655 PR rtl-optimization/44326
23656 * implicit-zee.c (find_removable_zero_extends): Replace
23657 INSN_P with NONDEBUG_INSN_P.
23658
23659 2010-06-25 Martin Jambor <mjambor@suse.cz>
23660
23661 * ipa-prop.h (struct ipa_param_descriptor): Removed the modified flag.
23662 (struct ipa_node_params): Removed the modification_analysis_done flag.
23663 (ipa_is_param_modified): Removed.
23664 (ipa_analyze_node): Declare.
23665 (ipa_compute_jump_functions): Remove declaration.
23666 (ipa_count_arguments): Likewise.
23667 (ipa_detect_param_modifications): Likewise.
23668 (ipa_analyze_params_uses): Likewise.
23669 * ipa-prop.c (struct param_analysis_info): New type.
23670 (visit_store_addr_for_mod_analysis): Removed.
23671 (visit_load_for_mod_analysis): Renamed to visit_ref_for_mod_analysis,
23672 moved down in the file.
23673 (ipa_detect_param_modifications): Merged into ipa_analyze_params_uses.
23674 (ipa_count_arguments): Made static.
23675 (mark_modified): New function.
23676 (is_parm_modified_before_call): New function.
23677 (compute_pass_through_member_ptrs): New parameter parms_info, call
23678 is_parm_modified_before_call instead of ipa_is_param_modified.
23679 (ipa_compute_jump_functions_for_edge): New parameter parms_info, pass
23680 it to compute_pass_through_member_ptrs.
23681 (ipa_compute_jump_functions): New parameter parms_info, pass it to
23682 ipa_compute_jump_functions_for_edge. Call ipa_initialize_node_params
23683 on the callee if it is analyzed. Made static.
23684 (ipa_analyze_indirect_call_uses): New parameter parms_info, call
23685 is_parm_modified_before_call instead of ipa_is_param_modified.
23686 (ipa_analyze_call_uses): New parameter parms_info, pass it to
23687 ipa_analyze_indirect_call_uses.
23688 (ipa_analyze_stmt_uses): New parameter parms_info, pass it to
23689 ipa_analyze_call_uses.
23690 (ipa_analyze_params_uses): New parameter parms_info, pass it to
23691 ipa_analyze_stmt_uses. Also perform the used analysis. Made static.
23692 (ipa_analyze_node): New function.
23693 (ipa_print_node_params): Do not dump the modified flag.
23694 (ipa_write_node_info): Assert uses_analysis_done rather than streaming
23695 it. Do not stream the modified parameter flag.
23696 (ipa_read_node_info): Set uses_analysis_done to 1 instead of streaming
23697 it. Do not stream the modified parameter flag.
23698 * ipa-cp.c (ipcp_analyze_node): Removed.
23699 (ipcp_init_stage): Iterate only once over the nodes, analyze each one
23700 with only a call to ipa_analyze_node.
23701 * ipa-inline.c (inline_indirect_intraprocedural_analysis): Analyze the
23702 node with only a call to ipa_analyze_node.
23703
23704 2010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
23705
23706 * doc/invoke.texi (-Wsuggest-attribute): Add item for noreturn.
23707
23708 2010-06-25 Jan Hubicka <jh@suse.cz>
23709
23710 * tree-pass.h (pass_split_functions): Declare.
23711 * opts.c (decode_options): Enable function splitting at -O2
23712 * timevar.def (TV_IPA_FNSPLIT): New macro.
23713 * ipa-split.c: New file.
23714 * common.opt (-fpartial-inlining): New flag.
23715 * Makefile.in (ipa-split.o): New object file.
23716 * passes.c (init_optimization_passes): Add ipa-split.
23717 * params.def (partial-inlining-entry-probability): New parameters.
23718 * doc/invoke.texi (-fpartial-inlining): New.
23719
23720 2010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
23721
23722 PR 44665
23723 * tree-inline.c (gimple_expand_calls_inline): Fix typo in comment.
23724 * gimplify.c (is_gimple_reg_rhs_or_call): Likewise.
23725 (gimplify_expr): Likewise.
23726
23727 2010-06-25 Martin Jambor <mjambor@suse.cz>
23728
23729 * ipa-prop.c (determine_cst_member_ptr): Ignore non-clobbering
23730 statements instead of bailing out on them.
23731 (ipa_analyze_indirect_call_uses): Do not require that loads from the
23732 parameter are in the same BB as the condition. Update comments.
23733
23734 2010-06-25 Jakub Jelinek <jakub@redhat.com>
23735
23736 PR middle-end/43866
23737 * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): If stmt is always
23738 true or always false, return NULL_TREE.
23739 (tree_unswitch_single_loop): Optimize conditions even when reaching
23740 max-unswitch-level parameter. If num > 0, optimize first all conditions
23741 using entry checks, then do still reachable block discovery and consider
23742 only conditions in still reachable basic blocks in the loop.
23743
23744 PR tree-optimization/44539
23745 * tree-cfgcleanup.c (fixup_noreturn_call): Call update_stmt even when
23746 the call doesn't have LHS, but has VDEF.
23747
23748 2010-06-25 Joseph Myers <joseph@codesourcery.com>
23749
23750 * config/pa/pa.h (MODIFY_TARGET_NAME): Remove.
23751 * doc/tm.texi (MODIFY_TARGET_NAME): Don't document.
23752 * gcc.c (enum add_del, struct modify_target, modify_target): Remove.
23753 (process_command): Remove code conditional on MODIFY_TARGET_NAME.
23754 * system.h (MODIFY_TARGET_NAME): Poison.
23755
23756 2010-06-25 Alan Modra <amodra@gmail.com>
23757
23758 * doc/invoke.texi: Delete mcmodel=medium from powerpc options.
23759 * config/rs6000/rs6000.h (enum rs6000_cmodel): Delete CMODEL_MEDIUM.
23760 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
23761 CMODEL_LARGE as default.
23762 * config/rs6000/rs6000.c (rs6000_handle_option): Remove mcmodel=medium.
23763 (offsettable_ok_by_alignment): Delete.
23764 (rs6000_emit_move): Remove mcmodel=medium optimization.
23765
23766 2010-06-25 Bernd Schmidt <bernds@codesourcery.com>
23767
23768 With large parts from Jim Wilson:
23769 PR target/43902
23770 * tree-pretty-print.c (dump_generic_node, op_code_prio): Add
23771 WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
23772 * optabs.c (optab_for_tree_code): Likewise.
23773 (expand_widen_pattern_expr): Likewise.
23774 * tree-ssa-math-opts.c (convert_mult_to_widen): New function, broken
23775 out of execute_optimize_widening_mul.
23776 (convert_plusminus_to_widen): New function.
23777 (execute_optimize_widening_mul): Use the two new functions.
23778 * expr.c (expand_expr_real_2): Add support for GIMPLE_TERNARY_RHS.
23779 Remove code to generate widening multiply-accumulate. Add support
23780 for WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
23781 * gimple-pretty-print.c (dump_ternary_rhs): New function.
23782 (dump_gimple_assign): Call it when appropriate.
23783 * tree.def (WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR): New codes.
23784 * cfgexpand.c (gimple_assign_rhs_to_tree): Likewise.
23785 (expand_gimple_stmt_1): Likewise.
23786 (expand_debug_expr): Support WIDEN_MULT_PLUS_EXPR and
23787 WIDEN_MULT_MINUS_EXPR.
23788 * tree-ssa-operands.c (get_expr_operands): Likewise.
23789 * tree-inline.c (estimate_operator_cost): Likewise.
23790 * gimple.c (extract_ops_from_tree_1): Renamed from
23791 extract_ops_from_tree. Add new arg for a third operand; fill it.
23792 (gimple_build_assign_stat): Support operations with three operands.
23793 (gimple_build_assign_with_ops_stat): Likewise.
23794 (gimple_assign_set_rhs_from_tree): Likewise.
23795 (gimple_assign_set_rhs_with_ops_1): Renamed from
23796 gimple_assign_set_rhs_with_ops. Add new arg for a third operand.
23797 (get_gimple_rhs_num_ops): Support GIMPLE_TERNARY_RHS.
23798 (get_gimple_rhs_num_ops): Handle WIDEN_MULT_PLUS_EXPR and
23799 WIDEN_MULT_MINUS_EXPR.
23800 * gimple.h (enum gimple_rhs_class): Add GIMPLE_TERNARY_RHS.
23801 (extract_ops_from_tree_1): Adjust declaration.
23802 (gimple_assign_set_rhs_with_ops_1): Likewise.
23803 (gimple_build_assign_with_ops): Pass NULL for last operand.
23804 (gimple_build_assign_with_ops3): New macro.
23805 (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3,
23806 gimple_assign_set_rhs_with_ops, extract_ops_from_tree): New inline
23807 functions.
23808 * tree-cfg.c (verify_gimple_assign_ternary): New static function.
23809 (verify_gimple_assign): Call it.
23810 * doc/gimple.texi (Manipulating operands): Document GIMPLE_TERNARY_RHS.
23811 (Tuple specific accessors, subsection GIMPLE_ASSIGN): Document new
23812 functions for dealing with three-operand statements.
23813 * tree.c (commutative_ternary_tree_code): New function.
23814 * tree.h (commutative_ternary_tree_code): Declare it.
23815 * tree-vrp.c (gimple_assign_nonnegative_warnv_p): Return false for
23816 ternary statements.
23817 (gimple_assign_nonzero_warnv_p): Likewise.
23818 * tree-ssa-sccvn.c (stmt_has_constants): Handle GIMPLE_TERNARY_RHS.
23819 * tree-ssa-ccp.c (get_rhs_assign_op_for_ccp): New static function.
23820 (ccp_fold): Use it. Handle GIMPLE_TERNARY_RHS.
23821 * tree-ssa-dom.c (enum expr_kind): Add EXPR_TERNARY.
23822 (struct hashtable_expr): New member ternary in the union.
23823 (initialize_hash_element): Handle GIMPLE_TERNARY_RHS.
23824 (hashable_expr_equal_p): Fix indentation. Handle EXPR_TERNARY.
23825 (iterative_hash_hashable_expr): Likewise.
23826 (print_expr_hash_elt): Handle EXPR_TERNARY.
23827 * gimple-fold.c (fold_gimple_assign): Handle GIMPLE_TERNARY_RHS.
23828 * tree-ssa-threadedge.c (fold_assignment_stmt): Remove useless break
23829 statements. Handle GIMPLE_TERNARY_RHS.
23830
23831 2010-06-25 Jan Hubicka <jh@suse.cz>
23832
23833 * doc/invoke.texi (-Wsuggest-attribute): Add noreturn.
23834
23835 2010-06-25 Shujing Zhao <pearly.zhao@oracle.com>
23836
23837 PR c/44517
23838 * c-parser.c (c_parser_parms_list_declarator): Return NULL if one of
23839 parameters are not good.
23840 (c_parser_parameter_declaration): Error unknown type name if the type
23841 name can't start declaration specifiers.
23842
23843 2010-06-25 Joseph Myers <joseph@codesourcery.com>
23844
23845 * gcc.c (translate_options): Don't mention +e in comment.
23846 (process_command): Don't handle +e specially.
23847
23848 2010-06-25 Bernd Schmidt <bernds@codesourcery.com>
23849
23850 * ira.c (allocno_pool, copy_pool, allocno_live_range_pool): Delete.
23851
23852 * ira-build.c (merge_hard_reg_conflicts): New function.
23853 (create_cap_allocno, copy_info_to_removed_store_destinations,
23854 propagate_some_info_from_allocno, propagate_allocno_info): Use it.
23855 (move_allocno_live_ranges, copy_allocno_live_ranges): New functions.
23856 (remove_unnecessary_allocnos, remove_low_level_allocnos)
23857 copy_nifo_to_removed_store_destination): Use them.
23858 * ira-lives.c (make_hard_regno_born): New function, split out of
23859 make_regno_born.
23860 (make_allocno_born): Likewise.
23861 (make_hard_regno_dead): New function, split out of make_regno_dead.
23862 (make_allocno_dead): Likewise.
23863 (inc_register_pressure): New function, split out of set_allocno_live.
23864 (dec_register_pressure): New function, split out of clear_allocno_live.
23865 (mark_pseudo_regno_live): New function, split out of mark_reg_live.
23866 (mark_hard_reg_live): Likewise. Use inc_register_pressure.
23867 (mark_pseudo_regno_dead): New function, split out of mark_reg_dead.
23868 (mark_hard_reg_dead): Likewise. Use dec_register_pressure.
23869 (make_pseudo_conflict): Use mark_pseudo_regno_dead and
23870 mark_pseudo_regno_live.
23871 (process_bb_node_lives): Use mark_pseudo_regno_live,
23872 make_hard_regno_born and make_allocno_dead.
23873 (make_regno_born, make_regno_dead, mark_reg_live, mark_reg_dead,
23874 set_allocno_live, clear_allocno_live): Delete functions.
23875
23876 * ira-int.h (ira_parent_allocno, ira_parent_or_cap_allocno): Declare.
23877 * ira-build.c (ira_parent_allocno, ira_parent_or_cap_allocno): New
23878 functions.
23879 (ira_flattening): Use ira_parent_allocno.
23880 * ira-conflicts.c (process_regs_for_copy, propagate_copies)
23881 build_allocno_conflicts): Use ira_parent_or_cap_allocno.
23882
23883 * ira-color.c (assign_hard_reg): Improve formatting of multi-line for
23884 statement.
23885
23886 * ira-int.h (SET_MINMAX_SET_BIT, CLEAR_MINMAX_SET_BIT,
23887 TEST_MINMAX_SET_BIT, minmax_set_iterator, minmax_set_iter_init,
23888 minmax_set_iter_cond, minmax_set_iter_next,
23889 FOR_EACH_BIT_IN_MINMAX_SET): Renamed from SET_ALLOCNO_SET_BIT,
23890 CLEAR_ALLOCNO_SET_BIT, TEST_ALLOCNO_SET_BIT, ira_allocno_set_iterator,
23891 ira_allocno_set_iter_init, ira_allocno_set_iter_cond,
23892 ira_allocno_set_iter_Next and FOR_EACH_ALLOCNO_IN_ALLOCNO_SET. All
23893 uses changed.
23894
23895 * ira-int.h (struct live_range, live_range_t): Renamed from struct
23896 ira_allocno_live_range and allocno_live_range_t; all uses changed.
23897 * ira-build.c (live_range_pool): Renamed from allocno_live_range_pool.
23898 All uses changed.
23899
23900 2010-06-24 Richard Earnshaw <rearnsha@arm.com>
23901
23902 * thumb2.md (thumb2_tlobits_cbranch): Delete.
23903 (peephole2 to convert zero_extract/compare of single bit to
23904 lshift/compare): New.
23905
23906 2010-06-24 Anatoly Sokolov <aesok@post.ru>
23907
23908 * fold-const.c (const_binop): Remove 'notrunc' argement. Adjust
23909 recursive call and call to 'int_const_binop'.
23910 (build_range_check, fold_cond_expr_with_comparison, unextend,
23911 fold_truthop, extract_muldiv_1, fold_comparison, fold_binary_loc,
23912 multiple_of_p): Adjust call to const_binop.
23913
23914 2010-06-24 Uros Bizjak <ubizjak@gmail.com>
23915
23916 * config/i386/i386.md (XFmode push splitter): Use GET_MODE_SIZE to
23917 determine size of XFmode operand.
23918 (XFmode extended DFmode push splitter): Ditto.
23919 (XFmode extended SFmode push splitter): Ditto.
23920
23921 2010-06-24 H.J. Lu <hongjiu.lu@intel.com>
23922
23923 PR target/44588
23924 * config/i386/i386.md (extract_code): New.
23925 (<u>divmodqi4): Likewise.
23926 (divmodhiqi3): Likewise.
23927 (udivmodhiqi3): Likewise.
23928 (<u>divqi3): Remvoved.
23929
23930 2010-06-24 Jakub Jelinek <jakub@redhat.com>
23931
23932 PR middle-end/44492
23933 * recog.h (struct recog_data): Add is_asm field.
23934 * recog.c (asm_operand_ok, constrain_operands): If neither < nor > is
23935 present in constraints of inline-asm operand and memory operand
23936 contains {PRE,POST}_{INC,DEC,MODIFY}, return 0.
23937 (extract_insn): Initialize recog_data.is_asm.
23938 * doc/md.texi (Constraints): Document operand side-effect rules.
23939
23940 2010-06-24 Andi Kleen <ak@linux.intel.com>
23941
23942 * c-parser.c (c_parser_conditional_expression): Call
23943 warn_for_omitted_condop.
23944 * doc/invoke.texi: Document omitted condop warning.
23945
23946 2010-06-24 Nick Clifton<nickc@redhat.com>
23947
23948 * loop-unswitch.c (compare_and_jump_seq): Assert that the last
23949 insn in the sequence is a jump insn before setting its label.
23950
23951 2010-06-24 Alan Modra <amodra@gmail.com>
23952
23953 * collect2.c (main): Match exactly --version and --help.
23954
23955 2010-06-24 DJ Delorie <dj@redhat.com>
23956
23957 * config/m32c/m32c-pragma.c: Don't include rtl.h.
23958
23959 2010-06-23 Uros Bizjak <ubizjak@gmail.com>
23960
23961 * config/i386/i386.md (mov<mode>): Macroize expander from mov{sf,df,xf}
23962 using X87MODEF mode iterator.
23963 (pushsf splitter): Macroize splitter using P mode iterator.
23964 (*swap<mode>): Macroize insn from *swap{sf,df} using MODEF
23965 mode iterator.
23966
23967 (*movxf_internal): Rename from *movxf_integer.
23968 (*movxf_internal_nointeger): Rename from *movxf_nointeger.
23969 (*movdf_internal_rex64): Rename from *movdf_integer_rex64.
23970 (*movdf_internal): Rename from *movdf_integer.
23971 (*movdf_internal_nointeger): Rename from *movdf_nointeger.
23972 (*movsf_internal): Rename from *movdf_1.
23973
23974 2010-06-23 Basile Starynkevitch <basile@starynkevitch.net>
23975
23976 * coretypes.h (gimple_seq_node_d, gimple_seq_node)
23977 (const_gimple_seq_node): Removed typedefs.
23978
23979 * gimple.h (gimple_seq_node_d, gimple_seq_node)
23980 (const_gimple_seq_node): Added typedefs moved from coretypes.h.
23981
23982 2010-06-23 H.J. Lu <hongjiu.lu@intel.com>
23983
23984 * config/i386/i386.c (bdesc_args): Replace CODE_FOR_avx_si_si256,
23985 CODE_FOR_avx_ps_ps256 and CODE_FOR_avx_pd_pd256 with
23986 CODE_FOR_vec_extract_lo_v8si, CODE_FOR_vec_extract_lo_v8sf
23987 and CODE_FOR_vec_extract_lo_v4df.
23988
23989 * config/i386/sse.md (vec_extract_lo_<AVX256MODE4P:mode>):
23990 Changed to define_insn_and_split.
23991 (vec_extract_lo_<AVX256MODE8P:mode>): Likewise.
23992 (vec_extract_lo_v16hi): Likewise.
23993 (vec_extract_lo_v32qi): Likewise.
23994 (avx_<avxmodesuffixp><avxmodesuffix>_<avxmodesuffixp>): Likewise.
23995 (avx_<avxmodesuffixp>_<avxmodesuffixp><avxmodesuffix>): Removed.
23996
23997 2010-06-23 Joern Rennecke <joern.rennecke@embecosm.com>
23998
23999 PR target/44640
24000 * config/spu/spu-protos.h (spu_expand_epilogue) Use bool.
24001 * config/spu/spu.c (spu_scalar_mode_supported_p): Declare with bool.
24002 (spu_vector_mode_supported_p, spu_handle_fndecl_attribute): Likewise.
24003 (spu_handle_vector_attribute, spu_pass_by_reference): Likewise.
24004 (spu_rtx_costs, spu_function_ok_for_sibcall): Likewise.
24005
24006 PR target/44640
24007 * config/spu/spu.c (ea_load_store_inline): Use add_reg_note.
24008
24009 PR other/44644
24010 * df-core.c (struct df): Rename to df_d.
24011 * df.h (struct df): Likewise.
24012 * dse.h (struct df): Remove forward declaration.
24013 * recog.h (struct insn_data): Rename to:
24014 (struct_insn_data_d). Adjusted all users.
24015
24016 2010-06-23 Arnaud Charlet <charlet@adacore.com
24017
24018 PR ada/22220
24019 * doc/install.texi: Update requirements to build GNAT.
24020
24021 2010-06-22 Andreas Schwab <schwab@linux-m68k.org>
24022
24023 * config/m68k/m68k.c (m68k_output_addr_const_extra): Add cast to
24024 enum type.
24025 (m68k_sched_attr_opx_type): Remove unreachable return.
24026 (m68k_sched_attr_opy_type): Likewise.
24027 (m68k_sched_attr_size): Likewise.
24028 (sched_get_opxy_mem_type): Likewise.
24029 (m68k_sched_attr_op_mem): Likewise.
24030
24031 2010-06-22 Eric Botcazou <ebotcazou@adacore.com>
24032
24033 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Chain the
24034 new statement and adjust VDEF only if necessary. Remove superfluous
24035 call to maybe_clean_or_replace_eh_stmt.
24036 * gimple.c (gimple_call_copy_skip_args): Use gimple_call_copy_flags to
24037 copy the flags.
24038 * gimple-iterator.c (gsi_replace): Clear BB of old statement here...
24039 * tree-inline.c (copy_bb): ...and not there.
24040
24041 2010-06-22 Cary Coutant <ccoutant@google.com>
24042
24043 * dwarf2out.c (is_nested_in_subprogram): New function.
24044 (should_move_die_to_comdat): Use it.
24045 (copy_ancestor_tree): Don't mark DIEs here.
24046 (copy_decls_walk): Start walk from root of newly-added tree;
24047 mark DIEs here instead.
24048
24049 2010-06-22 H.J. Lu <hongjiu.lu@intel.com>
24050
24051 * config/i386/i386.md (unit): Also check sseishft1.
24052
24053 2010-06-22 Jan Hubicka <jh@suse.cz>
24054
24055 * gimple.h (gimple_expr_code): Do checking on when gimple checking is
24056 enabled.
24057
24058 2010-06-22 Jan Hubicka <jh@suse.cz>
24059
24060 * df-problems.c (df_rd_confluence_n, df_lr_confluence_n,
24061 df_live_confluence_n, df_byte_lr_confluence_n, df_md_confluence_n):
24062 Return true if something changed.
24063 * df.h (df_confluence_function_n): Return bool.
24064 * df-core.c (df_worklist_propagate_forward,
24065 df_worklist_propagate_backward): Track changes and ages.
24066 (df_worklist_dataflow_doublequeue): Use bitmap iterator for main walk;
24067 track ages.
24068 * dse.c (dse_confluence_n): Return always true.
24069
24070 2010-06-22 Jan Hubicka <jh@suse.cz>
24071
24072 * bitmap.c (bitmap_clear_bit): Micro optimize.
24073
24074 2010-06-22 Uros Bizjak <ubizjak@gmail.com>
24075
24076 * config/i386/i386.md (SWI1248x): New mode iterator.
24077 (SWI48x): Ditto.
24078 (SWI12): Ditto.
24079 (SWI24): Ditto.
24080
24081 (mov<mode>): Macroize expander from mov{qi,hi,si,di} using
24082 SWI1248x mode iterator.
24083 (*push<mode>2_rex64): Macroize insn from *push{qi,hi,si}_rex64
24084 using SWI124 mode iterator.
24085 (*push<mode>2): Macroize insn from *push{qi,hi} using SWI12
24086 mode iterator.
24087 (*push<mode>2_prologue): Macroize insn from *pushsi2_prologue and
24088 *pushdi2_prologue_rex64 using P mode iterator.
24089 (*mov<mode>_xor): Macroize insn from *movsi_xor and *movdi_xor_rex64
24090 using SWI48 mode iterator.
24091 (*mov<mode>_or): Ditto from *movsi_or and *movdi_or_rex64.
24092 (*movabs<mode>_1): Macroize insn from *movabs{qi,hi,si,di}_1_rex64
24093 using SWI1248x mode iterator.
24094 (*movabs<mode>_2): Ditto from *movabs{qi,hi,si,di}_1_rex64.
24095 (*swap<mode>): Macroize insn from *swapsi and *swapdi_rex64 using
24096 SWI48 mode iterator.
24097 (*swap<mode>_1): Macroize insn from *swap{qi,hi}_1 using SWI12 mode
24098 iterator.
24099 (*swap<mode>_2): Ditto from *swap{qi,hi}_2.
24100 (movstrict<mode>): Macroize expander from movstrict{qi,hi} using
24101 SWI12 mode iterator.
24102 (*movstrict<mode>_1): Macroize insn from *movstrict{qi,hi}_1 using
24103 SWI12 mode iterator.
24104 (*movstrict<mode>_xor): Ditto from *movstrict{qi,hi}_xor.
24105 (*mov<mode>_extv_1): Macroize insn from *mov{hi,si}_extv_1 using
24106 SWI24 mode iterator.
24107 (*mov<mode>_extzv_1): Macroize insn from *mov{si,di}_extzv_1 using
24108 SWI48 mode iterator.
24109 (mov<mode>_insn_1): New expander.
24110 (*mov<mode>_insv_1_rex64): Macroize insn from *mov{si,di}_insv_1_rex64
24111 using SWI48x mode iterator.
24112
24113 (*movoi_internal_avx): Rename from *movoi_internal.
24114 (*movti_internal_rex64): Rename from *movti_rex64.
24115 (*movti_internal_sse): Rename from *movti_sse.
24116 (*movdi_internal_rex64): Rename from *movdi_1_rex64.
24117 (*movdi_internal): Rename from *movdi_2.
24118 (*movsi_internal): Rename from *movsi_1.
24119 (*movhi_internal): Rename from *movhi_1.
24120 (*movqi_internal): Rename from *movqi_1.
24121
24122 (insv): Update the call to gen_movsi_insv_1 for rename.
24123 * config/i386/i386.c (promote_duplicated_reg): Ditto.
24124
24125 2010-06-22 Jan Hubicka <jh@suse.cz>
24126
24127 * passes.c (execute_function_todo): Move call of statistics_fini_pass
24128 to ...
24129 (execute_todo) ... this one.
24130
24131 2010-06-22 Alan Modra <amodra@gmail.com>
24132
24133 PR target/44364
24134 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
24135 * caller-save.c (insert_restore, insert_save): Use non-validate
24136 form of adjust_address.
24137
24138 2010-06-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
24139
24140 PR target/39690
24141 * config/pa/pa.c (override_options): Disable
24142 -freorder-blocks-and-partition.
24143
24144 2010-06-21 H.J. Lu <hongjiu.lu@intel.com>
24145
24146 PR target/44615
24147 * config/i386/atom.md (atom_sseishft_2): Also check sseishft1.
24148
24149 * config/i386/i386.md (type): Add sseishft1
24150
24151 * config/i386/ppro_insn (ppro_insn): Also check sseishft1.
24152 (ppro_insn_load): Likewise.
24153 (ppro_insn_store): Likewise.
24154 (ppro_insn_both): Likewise.
24155
24156 * config/i386/sse.md (sse2_lshrv1ti3): Add atom_unit.
24157 (*vec_extractv2di_1_rex64_avx): Replace sseishft with sseishft1
24158 for type.
24159 (*vec_extractv2di_1_avx): Likewise.
24160 (*vec_extractv2di_1_rex64): Replace sseishft with sseishft1 for
24161 type. Remove atom_unit.
24162 (*vec_extractv2di_1_sse2): Likewise.
24163
24164 2010-06-21 DJ Delorie <dj@redhat.com>
24165
24166 * diagnostic.h (diagnostic_classification_change_t): New.
24167 (diagnostic_context): Add history and push/pop list.
24168 (diagnostic_push_diagnostics): Declare.
24169 (diagnostic_pop_diagnostics): Declare.
24170 * diagnostic.c (diagnostic_classify_diagnostic): Store changes
24171 from pragmas in a history chain instead of the global table.
24172 (diagnostic_push_diagnostics): New.
24173 (diagnostic_pop_diagnostics): New.
24174 (diagnostic_report_diagnostic): Scan history chain to find state
24175 of diagnostics as of the diagnostic location.
24176 * opts.c (set_option): Pass UNKNOWN_LOCATION to
24177 diagnostic_classify_diagnostic.
24178 (enable_warning_as_error): Likewise.
24179 * diagnostic-core.h (DK_POP): Add after "real" diagnostics, for
24180 use in the history chain.
24181 * doc/extend.texi: Document pragma GCC diagnostic changes.
24182
24183 2010-06-21 Jakub Jelinek <jakub@redhat.com>
24184
24185 * dwarf2out.c (add_linkage_name): New function. Don't add
24186 anything to DW_TAG_member DIEs.
24187 (add_name_and_src_coords_attributes): Use it.
24188 (gen_variable_die): Call it for C++ static data members if
24189 specification is DW_TAG_member.
24190
24191 * dwarf2out.c (base_type_die): Use DW_ATE_UTF for
24192 C++ char16_t and char32_t.
24193
24194 * Makefile.in (build/genattrtab.o): Depend on vecprim.h.
24195 * genattrtab.c: Include vecprim.h.
24196 (cached_attrs, cached_attr_count, attrs_seen_once,
24197 attrs_seen_more_than_once, attrs_to_cache, attrs_cached_inside,
24198 attrs_cached_after): New variables.
24199 (find_attrs_to_cache): New function.
24200 (FLG_BITWISE, FLG_AFTER, FLG_INSIDE, FLG_OUTSIDE_AND): Define.
24201 (write_test_expr): Add attrs_cached argument, return it too,
24202 attempt to cache non-const attributes used more than once in
24203 a single case handling.
24204 (write_attr_get): Use find_attrs_to_cache, for caching candidates
24205 emit cached_* variables. Adjust write_attr_set callers.
24206 (write_attr_set): Add attrs_cached attribute, use find_attrs_to_cache
24207 to find attributes that should be cached in this block. Adjust
24208 write_test_expr callers.
24209 (write_attr_case): Clear attrs_to_cache. Adjust write_attr_set
24210 callers.
24211 (make_automaton_attrs): Adjust write_test_expr caller.
24212
24213 * Makefile.in (cfgexpand.o): Depend on $(INSN_ATTR_H).
24214 * genattrtab.c (check_tune_attr, find_tune_attr): New functions.
24215 (make_automaton_attrs): If find_tune_attr returns non-NULL,
24216 write separate internal_dfa_insn_code_* and insn_default_latency_*
24217 functions for each attribute's value and emit init_sched_attrs
24218 function and function pointers.
24219 * genattr.c (const_attrs, reservations): New variables.
24220 (gen_attr): Add const attributes to const_attrs vector.
24221 (check_tune_attr, find_tune_attr): New functions.
24222 (main): Add reservations to reservations vector. If find_tune_attr
24223 returns true, add prototype for init_sched_attrs and make
24224 internal_dfa_insn_code and insn_default_latency function pointers,
24225 otherwise define init_sched_attrs as dummy macro.
24226 * cfgexpand.c: Include insn-attr.h.
24227 (gimple_expand_cfg): Call init_sched_attrs.
24228
24229 * stmt.c (resolve_asm_operand_names): Fix handling of %%.
24230
24231 PR target/44575
24232 * config/i386/i386.c (ix86_gimplify_va_arg): When copying
24233 va_arg from a set of register save slots into a temporary,
24234 if the container is bigger than type size, do the copying
24235 using smaller mode or using memcpy.
24236
24237 PR bootstrap/44426
24238 * sel-sched-dump.h (sel_prepare_string_for_dot_label): Remove
24239 prototype.
24240 (sel_print_to_dot): Remove macro.
24241 (sel_print): Likewise. New prototype.
24242 * sel-sched-dump.c (sel_prepare_string_for_dot_label): Make static.
24243 (sel_print): New function.
24244
24245 2010-06-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
24246
24247 * config/sol2.h (TARGET_OS_CPP_BUILTINS): Define
24248 __STDC_VERSION__=199901L, _XOPEN_SOURCE=600 for C++.
24249
24250 2010-06-21 Nick Clifton <nickc@redhat.com>
24251
24252 * config/rx/rx.h (PTRDIFF_TYPE): Define.
24253 (SMALL_REGISTER_CLASS): Define (to zero).
24254 (PRINT_OPERAND): Delete.
24255 (PRINT_OPERAND_ADDRESS): Delete.
24256 * config/rx/rx-protos.h (rx_print_operand): Delete prototype.
24257 (rx_print_operand_address): Delete prototype.
24258 * config/rx/rx.c (rx_print_operand): Make static.
24259 Allow %H and %L to handle CONST_DOUBLEs.
24260 (rx_print_operand_address): Make static.
24261 (rx_gen_move_template): Rename local variable 'template' to
24262 out_template.
24263 (rx_function_arg): Do not pass unknown sized objects in registers.
24264 (TARGET_PRINT_OPERAND): Define.
24265 (TARGET_PRINT_OPERAND_ADDRESS): Define.
24266
24267 2010-06-21 Jan Kratochvil <jan.kratochvil@redhat.com>
24268
24269 * Makefile.in (POD2MAN): Provide --date from $(DATESTAMP).
24270
24271 2010-06-21 Kai Tietz <kai.tietz@onevision.com>
24272
24273 * config/i386/i386.c (ix86_compute_frame_layout): Avoid
24274 stack-alignment for simple leaf-functions.
24275
24276 2010-06-20 Alexandre Oliva <aoliva@redhat.com>
24277
24278 * doc/install.texi: Document bootstrap-lto.
24279
24280 2010-06-20 Alexandre Oliva <aoliva@redhat.com>
24281
24282 PR debug/44248
24283 * lto-streamer-in.c (input_bb): Leave debug stmts alone.
24284 (input_function): Drop them here, if VTA is disabled.
24285
24286 2010-06-20 Uros Bizjak <ubizjak@gmail.com>
24287
24288 PR target/44546
24289 * config/i386/predicates.md (ix86_swapped_fp_comparsion_operator):
24290 New predicate.
24291 * config/i386/i386.md (*fp_jcc_8<mode>_387 and splitters): Use
24292 ix86_swapped_fp_comparsion_operator instead of
24293 ix86_fp_comparison_operator.
24294
24295 (*fp_jcc_1_387): Rename from *fp_jcc_3_387.
24296 (*fp_jcc_1r_387): Rename from *fp_jcc_4_387.
24297 (*fp_jcc_2_387): Rename from *fp_jcc_5_387.
24298 (*fp_jcc_2r_387): Rename from *fp_jcc_6_387.
24299 (*fp_jcc_3_387): Rename from *fp_jcc_7_387.
24300 (*fp_jcc_4_<mode>_387): Rename from *fp_jcc_8<mode>_387.
24301
24302 2010-06-20 Joseph Myers <joseph@codesourcery.com>
24303
24304 PR other/32998
24305 * opth-gen.awk: Generate definitions of OPT_SPECIAL_unknown,
24306 OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
24307 * opts-common.c (find_opt): Return OPT_SPECIAL_unknown on failure.
24308 (decode_cmdline_option): Update for this return value. Set
24309 orig_option_with_args_text field. Set arg field for unknown
24310 options. Make static.
24311 (decode_cmdline_options_to_array): New.
24312 (prune_options): Update handling of find_opt return value.
24313 * opts.c (read_cmdline_option): Take decoded option. Return void.
24314 (read_cmdline_options): Take decoded options.
24315 (decode_options): Add parameters for decoded options. Use
24316 decode_cmdline_options_to_array. Use decoded options for -O
24317 scan. Use integral_argument for -O parameters. Update call to
24318 read_cmdline_options.
24319 (enable_warning_as_error): Update handling of find_opt return value.
24320 * opts.h: Update comment on unknown options.
24321 (struct cl_decoded_option): Update comments on opt_index and arg.
24322 Add orig_option_with_args_text.
24323 (decode_cmdline_option): Remove.
24324 (decode_cmdline_options_to_array): Declare.
24325 (decode_options): Update prototype.
24326 * toplev.c (save_argv): Remove.
24327 (save_decoded_options, save_decoded_options_count): New.
24328 (read_integral_parameter): Remove.
24329 (print_switch_values): Use decoded options.
24330 (toplev_main): Don't set save_argv. Update call to decode_options.
24331 * toplev.h (read_integral_parameter): Remove.
24332 * varasm.c (elf_record_gcc_switches): Don't handle holding back names.
24333
24334 2010-06-19 Richard Earnshaw <rearnsha@arm.com>
24335
24336 PR target/44072
24337 * arm.md (cmpsi2_addneg): Prefer emitting adds to subs with a negative
24338 immediate.
24339 * constraints.md (Pw, Px): New constraints.
24340 * thumb2.md (cmpsi2_addneg peephole2): New peepholes.
24341
24342 2010-06-19 H.J. Lu <hongjiu.lu@intel.com>
24343
24344 * config/i386/sse.md (fma4modesuffixf4): Removed.
24345 (ssemodesuffixf2s): Likewise.
24346 (ssemodesuffixf4): Likewise.
24347 (ssemodesuffixf2c): Likewise.
24348 (ssescalarmodesuffix2s): Likewise.
24349 (avxmodesuffixf2c): Likewise.
24350 (ssemodesuffix): New.
24351 (ssescalarmodesuffix): Likewise.
24352 Update patterns with ssemodesuffix and ssescalarmodesuffix.
24353
24354 2010-06-19 Philip Herron <herron.philip@googlemail.com>
24355
24356 * c-decl.c (c_write_global_declarations): Don't check flag_syntax_only.
24357
24358 2010-06-18 H.J. Lu <hongjiu.lu@intel.com>
24359
24360 * stor-layout.c (debug_rli): Remove unused local variables.
24361
24362 2010-06-18 Eric Botcazou <ebotcazou@adacore.com>
24363
24364 PR rtl-optimization/40900
24365 * expr.c (expand_expr_real_1) <SSA_NAME>: Fix long line. Save the
24366 original expression for later reuse.
24367 <expand_decl_rtl>: Use promote_function_mode to compute the signedness
24368 of the promoted RTL for a SSA_NAME on the LHS of a call statement.
24369
24370 2010-06-18 Anatoly Sokolov <aesok@post.ru>
24371
24372 * double-int.h (double_int_to_shwi, double_int_to_uhwi,
24373 double_int_fits_in_uhwi_p): Implement as static inline.
24374 (double_int_xor): New inline function.
24375 (double_int_lrotate, double_int_rrotate, double_int_max,
24376 double_int_umax, double_int_smax, double_int_min, double_int_umin,
24377 double_int_smin): Declare.
24378 (lrotate_double, rrotate_double): Remove declaration.
24379 * double-int.c (double_int_fits_in_uhwi_p, double_int_to_shwi,
24380 double_int_to_uhwi, lrotate_double, rrotate_double): Remove function.
24381 (double_int_lrotate, double_int_rrotate, double_int_max,
24382 double_int_umax, double_int_smax, double_int_min, double_int_umin,
24383 double_int_smin): New function.
24384 * fold-const.c (int_const_binop): Clean up, use double_int_*
24385 functions.
24386 * simplify-rtx.c (simplify_const_binary_operation): Clean up, use
24387 double_int_* and immed_double_int_const functions.
24388
24389 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
24390
24391 * function.h (types_used_by_cur_var_decl): Change type to a VEC.
24392 * function.c (types_used_by_cur_var_decl): Likewise.
24393 (used_types_insert): Adjust for new type of types_used_by_cur_var_decl.
24394
24395 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
24396
24397 * tree.h (record_layout_info): Change type of pending_statics field
24398 to a VEC.
24399 * stor-layout.c (start_record_layout): Store NULL into
24400 pending_statics.
24401 (debug_rli): Call debug_vec_tree instead of debug_tree.
24402 (place_field): Likewise.
24403 (finish_record_layout): Likewise.
24404
24405 2010-06-18 Alan Modra <amodra@gmail.com>
24406
24407 * config/rs6000/linux64.h (SET_CMODEL): Don't expand to empty.
24408
24409 2010-06-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
24410
24411 PR target/43740
24412 * config/pa/pa.c (emit_move_sequence): Don't infer REG_POINTER flag
24413 for SET source operand from SET destination operand.
24414
24415 2010-06-17 Bernd Schmidt <bernds@codesourcery.com>
24416
24417 PR rtl-optimization/39871
24418 * reload1.c (init_eliminable_invariants): For flag_pic, disable
24419 equivalences only for constants that aren't LEGITIMATE_PIC_OPERAND_P.
24420 (function_invariant_p): Rule out a plus of frame or arg pointer with
24421 a SYMBOL_REF.
24422 * ira.c (find_reg_equiv_invariant_const): Likewise.
24423
24424 2010-06-17 Gunther Nikl <gnikl@users.sourceforge.net>
24425
24426 * config/rs6000/rs6000.c (print_operand) <'K'>: Also use
24427 print_operand_address and puts to output the operand for CONST.
24428
24429 2010-06-17 Jakub Jelinek <jakub@redhat.com>
24430
24431 PR debug/44572
24432 * dwarf2out.c (dwarf2out_debug_hooks): Add entry for begin_epilogue
24433 hook.
24434
24435 2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
24436
24437 * v850-protos.h (print_operand): Delete.
24438 (print_operand_address): Delete.
24439 * v850.h (PRINT_OPERAND): Delete.
24440 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
24441 (PRINT_OPERAND_ADDRESS): Delete.
24442 * v850.c (print_operand_address): Rename to...
24443 (v850_print_operand_address): ...this. Make static. Call
24444 v850_print_operand.
24445 (print_operand): Rename to...
24446 (v850_print_operand): ...this. Make static. Call
24447 v850_print_operand_address.
24448 (v850_print_operand_punct_valid_p): New function.
24449 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
24450 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
24451
24452 2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
24453
24454 * config/sh/sh-protos.h (print_operand): Delete.
24455 (print_operand_address): Delete.
24456 * config/sh/sh.h (PRINT_OPERAND): Delete.
24457 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
24458 (PRINT_OPERAND_ADDRESS): Delete.
24459 * config/sh/sh.c (sh_print_operand_address): Make static.
24460 (sh_print_operand): Make static. Call sh_print_operand_address
24461 and sh_print_operand.
24462 (sh_print_operand_punct_valid_p): New function.
24463 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
24464 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
24465
24466 2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
24467
24468 * config/mcore/mcore-protos.h (mcore_print_operand): Delete.
24469 (mcore_print_operand_address): Delete.
24470 * config/mcore/mcore.h (PRINT_OPERAND): Delete.
24471 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
24472 (PRINT_OPERAND_ADDRESS): Delete.
24473 * config/mcore/mcore.c (mcore_print_operand_address): Make static.
24474 (mcore_print_operand): Make static.
24475 (mcore_print_operand_punct_valid_p): New function.
24476 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define
24477 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
24478
24479 2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
24480
24481 * config/m68hc11/m68hc11-protos.h (print_operand): Delete.
24482 (print_operand_address): Delete.
24483 * config/m68hc11/m68hc11.h (PRINT_OPERAND): Delete.
24484 (PRINT_OPERAND_ADDRESS): Delete.
24485 * config/m68hc11/m68hc11.c (m68hc11_print_operand_address): Make
24486 static.
24487 (m68hc11_print_operand): Make static.
24488 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
24489
24490 2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
24491
24492 * config/m32r/m32r-protos.h (m32r_print_operand): Delete.
24493 (m32r_print_operand_address): Delete.
24494 * config/m32r/m32r.h (m32r_punct_chars): Delete.
24495 (PRINT_OPERAND): Delete.
24496 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
24497 (PRINT_OPERAND_ADDRESS): Delete.
24498 * config/m32r/m32r.c (m32r_punct_chars): Make static.
24499 (m32r_print_operand_address): Make static.
24500 (m32r_print_operand): Make static.
24501 (m32r_print_operand_punct_valid_p): New function.
24502 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
24503 (TARGET_PRINT_OPERAND_ADDRESS): Define.
24504
24505 2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
24506
24507 * config/iq2000/iq2000-protos.h (print_operand): Delete.
24508 (print_operand_address): Delete.
24509 * config/iq2000/iq2000.h (PRINT_OPERAND): Delete.
24510 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
24511 (PRINT_OPERAND_ADDRESS): Delete.
24512 (iq2000_print_operand_punct): Delete.
24513 * config/iq2000/iq2000.c (iq2000_print_operand_punct): Make static.
24514 (iq2000_print_operand_address): Make static.
24515 (iq2000_print_operand): Make static.
24516 (iq2000_print_operand_punct_valid_p): New function.
24517 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
24518 (TARGET_PRINT_OPERAND_ADDRESS): Define.
24519
24520 2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
24521
24522 * config/frv/frv-protos.h (frv_print_operand): Delete.
24523 (frv_print_operand_address): Delete.
24524 * config/frv/frv.h (PRINT_OPERAND): Delete.
24525 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
24526 (PRINT_OPERAND_ADDRESS): Delete.
24527 * config/frv/frv.c (frv_print_operand_address): Make static.
24528 (frv_print_operand): Make static.
24529 (frv_print_operand_punct_valid_p): New function.
24530 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
24531 (TARGET_PRINT_OPERAND_ADDRESS): Define.
24532
24533 2010-06-17 Nathan Froyd <froydnj@codesourcery.com>
24534
24535 * tree.h (vec_member): Declare.
24536 * tree.c (vec_member): Define.
24537
24538 2010-06-17 Richard Guenther <rguenther@suse.de>
24539
24540 * tree-flow-inline.h (array_ref_contains_indirect_ref): Remove.
24541 * tree-flow.h (array_ref_contains_indirect_ref): Likewise.
24542
24543 2010-06-17 Richard Guenther <rguenther@suse.de>
24544
24545 * tree-inline.c (declare_return_variable): Remove bogus code.
24546
24547 2010-06-17 Richard Guenther <rguenther@suse.de>
24548
24549 * gimplify.c (gimplify_bind_expr): Always promote complex
24550 and vector variables to registers if possible.
24551
24552 2010-06-17 Richard Guenther <rguenther@suse.de>
24553
24554 * expr.c (get_inner_reference): Use double_int for bit_offset
24555 calculation.
24556
24557 2010-06-16 DJ Delorie <dj@redhat.com>
24558
24559 * common.opt (-fstrict-volatile-bitfields): new.
24560 * doc/invoke.texi: Document it.
24561 * fold-const.c (optimize_bit_field_compare): For volatile
24562 bitfields, use the field's type to determine the mode, not the
24563 field's size.
24564 * expr.c (expand_assignment): Likewise.
24565 (get_inner_reference): Likewise.
24566 (expand_expr_real_1): Likewise.
24567 * expmed.c (store_fixed_bit_field): Likewise.
24568 (extract_bit_field_1): Likewise.
24569 (extract_fixed_bit_field): Likewise.
24570
24571 2010-06-16 Richard Guenther <rguenther@suse.de>
24572
24573 * tree-inline.c (remap_gimple_op_r): Recurse using remap_gimple_op_r.
24574
24575 2010-06-16 Douglas B Rupp <rupp@gnat.com>
24576
24577 * config/ia64/vms.h (ASM_OUTPUT_DWARF_DELTA_UNITS): Remove.
24578 (ASM_OUTPUT_DWARF_VMS_DELTA: Define new macro.
24579 * dbxout.c (gcc_debug_hooks): New entry begin_epilogue.
24580 * debug.c: Likewise.
24581 * sdbout.c: Likewise.
24582 * vmsdbgout.c: Likewise.
24583 * debug.h: Likewise. (dwarf2out_vms_{begin,end}_prologue): Declare.
24584 * doc/tm.texi (ASM_OUTPUT_DWARF_VMS_DELTA): Document.
24585 * dwarf2asm.c (dw2_asm_output_vms_delta): New function.
24586 (ASM_OUTPUT_DWARF_VMS_DELTA): Call it.
24587 * dwarf2asm.h (dw2_asm_output_vms_delta): Declare.
24588 * dwarf2out.c (dw_fde_struct): New fields
24589 dw_fde_vms_{end,begin}_prologue.
24590 (PROLOGUE_END_LABEL, EPILOGUE_BEGIN_LABEL): New macros.
24591 (dwarf2out_begin_prologue): Set dw_fde_struct defaults for above.
24592 (dwarf2out_vms_end_prologue): New function.
24593 (dwarf2out_vms_begin_epilogue): New function.
24594 (dw_val_struct): New value dw_val_class_vms_delta.
24595 (gcc_debug_hooks): New entry begin_epilogue. Set end_prologue,
24596 begin_epilogue for VMS.
24597 (AT_vms_delta1, AT_vms_delta2, add_AT_vms_delta): Declare
24598 new static functions.
24599 (dwarf_attr_name): New cases DW_AT_HP_{prologue,epilogue}.
24600 (AT_vms_delta1, AT_vms_delta2, add_AT_vms_delta): New
24601 static functions.
24602 (print_die): New case dw_val_class_vms_delta.
24603 (attr_checksum): Likewise.
24604 (same_dw_val_p: Likewise.
24605 (size_of_die): Likewise.
24606 (value_format): Likewise.
24607 (output_die): Likewise.
24608 (gen_subprogram_die): Call add_AT_vms_delta on VMS.
24609 (dwarf2out_begin_epilogue): Rename to dwarf2out_cfi_begin_epilogue
24610 * dwarf2out.h (dwarf2out_begin_epilogue): Rename to
24611 dwarf2out_cfi_begin_epilogue
24612 * final.c (final_scan_insn): Likewise. Call begin_epilogue.
24613
24614 2010-06-16 Nathan Froyd <froydnj@codesourcery.com>
24615
24616 * config/cris/cris-protos.h (cris_print_operand): Delete.
24617 (cris_print_operand_address): Delete.
24618 * config/cris/cris.h (PRINT_OPERAND): Delete.
24619 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
24620 (PRINT_OPERAND_ADDRESS): Delete.
24621 * config/cris/cris.c (cris_print_operand_address): Make static.
24622 (cris_print_operand): Make static.
24623 (cris_print_operand_punct_valid_p): New function.
24624 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
24625 (TARGET_PRINT_OPERAND_ADDRESS): Define.
24626
24627 2010-06-16 Nathan Froyd <froydnj@codesourcery.com>
24628
24629 * config/arm/arm-protos.h (arm_print_operand): Delete.
24630 (arm_print_operand_address): Delete.
24631 * config/arm/arm.h (PRINT_OPERAND): Delete.
24632 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
24633 (PRINT_OPERAND_ADDRESS, ARM_PRINT_OPERAND_ADDRESS):
24634 (THUMB_PRINT_OPERAND_ADDRESS): Delete and move code to...
24635 * config/arm/arm.c (arm_print_operand_address): ...here. New function.
24636 (arm_print_operand): Make static.
24637 (arm_print_operand_punct_valid_p): New function.
24638 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
24639 (TARGET_PRINT_OPERAND_ADDRESS): Define.
24640
24641 2010-06-16 Nick Clifton <nickc@redhat.com>
24642
24643 * config/rx/constraints.md (NEGint4): New constraint.
24644 * config/rx/rx.md (attr cc): Add set_zsc.
24645 (cbranchsf4): Only test for -fnon-call-exceptions if cfun has been
24646 initialised.
24647 (cmpsf): Likewise.
24648 (call_internal): Clobber the cc0 register.
24649 (call_value_internal): Likewise.
24650 (cstoresi4): Likewise.
24651 (movsieq): Likewise.
24652 (movsine): Likewise.
24653 (addsi3): Add alternative to handle small negative constants.
24654 (sunsi3): Likewise.
24655 (addsi3): Do not set the O bit in the cc0 register.
24656 (adddi3): Likewise.
24657 (subsi3): Likewise.
24658 (subdi3): Likewise.
24659 (andsi3): Reorder alternatives to prefer shorter forms.
24660 (mulsi3): Likewise.
24661 (iorsi3): Likewise.
24662 (negsi2): Note that the cc0 flags are set.
24663 (rotlsi3): Note that only the Z and S bits are set in cc0.
24664 (lshrsi3): Likewise.
24665 (ashlsi3): Likewise.
24666 (subsf3): Use %Q for the MEM operand.
24667 (fix_truncsfsi2): Likewise.
24668 (floatsisf2): Likewise.
24669 (bitset): Remove early clobber from destination.
24670 (bitset_in_memory): Likewise.
24671 (lrintsf2): Clobber the cc0 register.
24672 * config/rx/rx.c (rx_notice_update_cc): Handle CC_SET_ZSC.
24673 (rx_print_operand): Handle %N.
24674
24675 2010-06-16 Jan Hubicka <jh@suse.cz>
24676
24677 * df-core.c (df_compact_blocks): Free problem_temps vector.
24678
24679 2010-06-16 Martin Jambor <mjambor@suse.cz>
24680
24681 PR tree-optimization/43905
24682 * tree-sra.c: Include tree-inline.h.
24683 (create_abstract_origin): Removed.
24684 (modify_function): Version the call graph node instead of creating
24685 abstract origins and dealing with same_body aliases.
24686 * tree-sra.c (ipa_sra_preliminary_function_checks): Check whether the
24687 function is versionable.
24688 * Makefile.in (tree-sra.o): Add TREE_INLINE_H to dependencies.
24689
24690 2010-06-16 Maxim Kuvyrkov <maxim@codesourcery.com>
24691
24692 * config/mips/linux64.h (BIONIC_DYNAMIC_LINKERN32): Define.
24693 (CHOOSE_DYNAMIC_LINKER): Update.
24694
24695 2010-06-15 Uros Bizjak <ubizjak@gmail.com>
24696
24697 * config/i386/i386.c (*prefetch_sse_<mode>): Macroize insn from
24698 *prefetch_sse and *prefetch_sse_rex using P mode iterator.
24699 (*prefetch_3dnow_<mode>): Ditto from *prefetch_3dnow and
24700 *prefetch_3dnow_rex.
24701
24702 2010-06-15 Anatoly Sokolov <aesok@post.ru>
24703
24704 * target.h (struct asm_out):Add declare_constant_name field.
24705 * target-def.h (TARGET_ASM_DECLARE_CONSTANT_NAME): Define.
24706 (TARGET_INITIALIZER): Use TARGET_ASM_DECLARE_CONSTANT_NAME.
24707 * output.h (default_asm_declare_constant_name): Declare.
24708 (assemble_label): Update prototype.
24709 * varasm.c (assemble_constant_contents): Use
24710 targetm.asm_out.declare_constant_name target hook.
24711 (assemble_label): Add 'file' argument.
24712 (default_asm_declare_constant_name): New function.
24713 * system.h (ASM_DECLARE_CONSTANT_NAME): Poison.
24714 * doc/tm.texi (ASM_DECLARE_CONSTANT_NAME): Remove.
24715 (TARGET_ASM_DECLARE_CONSTANT_NAME): Document it.
24716
24717 * config/darwin-protos.h (darwin_asm_declare_constant_name): Declare.
24718 * config/darwin.c (darwin_asm_declare_constant_name): New function.
24719 (machopic_output_indirection): Update assemble_label argument list.
24720 * config/darwin.h (ASM_DECLARE_CONSTANT_NAME): Remove.
24721 (TARGET_ASM_DECLARE_CONSTANT_NAME): Define.
24722
24723 2010-06-15 Sebastian Pop <sebastian.pop@amd.com>
24724
24725 PR middle-end/44391
24726 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
24727 size_one_node for pointer types. Do not call gmp_cst_to_tree.
24728
24729 2010-06-15 Richard Guenther <rguenther@suse.de>
24730
24731 * tree-ssa-pre.c (eliminate): Handle PHI elimination to constants.
24732
24733 2010-06-15 Paul Brook <paul@codesourcery.com>
24734
24735 * config/arm/arm.c (use_vfp_abi): Add sorry() for Thumb-1
24736 hard-float ABI.
24737
24738 2010-06-15 Alexandre Oliva <aoliva@redhat.com>
24739
24740 * tree-vect-patterns.c (vect_pattern_recog_1): Bail out if we
24741 don't get a vector type for output.
24742
24743 2010-06-15 Jakub Jelinek <jakub@redhat.com>
24744
24745 PR fortran/44536
24746 * langhooks.h (struct lang_hooks_for_decls): Add omp_report_decl.
24747 * langhooks-def.h (LANG_HOOKS_OMP_REPORT_DECL): Define.
24748 (LANG_HOOKS_DECLS): Add it.
24749 * gimplify.c (omp_notice_variable): Call
24750 lang_hooks.decls.omp_report_decl.
24751
24752 2010-06-15 Martin Jambor <mjambor@suse.cz>
24753
24754 PR lto/44464
24755 * tree-sra.c (replace_removed_params_ssa_names): Call release_ssa_name
24756 on the newly dead SSA name.
24757
24758 2010-06-15 Alan Modra <amodra@gmail.com>
24759
24760 * doc/invoke.texi: Add mcmodel to powerpc options.
24761 * configure.ac: Add HAVE_LD_LARGE_TOC test.
24762 * configure: Regenerate.
24763 * config.in: Regenerate.
24764 * config/rs6000/linux64.opt (mcmodel): New.
24765 * config/rs6000/linux64.h (TARGET_USES_LINUX64_OPT): Define.
24766 (TARGET_CMODEL, SET_CMODEL): Define.
24767 (SUBSUBTARGET_OVERRIDE_OPTIONS): Check user -mcmodel choice,
24768 select CMODEL_MEDIUM default.
24769 * config/rs6000/rs6000.h (enum rs6000_cmodel): New.
24770 (TARGET_CMODEL): Define default.
24771 * config/rs6000/rs6000.c (cmodel): New variable.
24772 (rs6000_explicit_options): Add cmodel field.
24773 (rs6000_handle_option): Handle -mcmodel.
24774 (create_TOC_reference): Add largetoc_reg param. Generate high,
24775 lo_sum rtl for CMODEL_MEDIUM and CMODEL_LARGE. Update all callers.
24776 (rs6000_delegitimize_address): Recognise new toc reference rtl
24777 and minimal-toc rtl.
24778 (rs6000_legitimize_reload_address): Handle new toc references.
24779 (print_operand_address): Handle legitimate_constant_pool_address_p
24780 match before lo_sum.
24781 (rs6000_eliminate_indexed_memrefs): Tidy.
24782 (rs6000_emit_move): Tweak threshold for inlining constants.
24783 Keep rs6000_emit_allocate_stack large stack frame offsets
24784 loaded into r0 inline.
24785 (rs6000_generate_compare <cmptf_internal2>): One more clobber.
24786 (tocrel_base, tocrel_offset): New variables.
24787 (toc_relative_expr_p): Set them here.
24788 (print_operand_address): Skip over any offset on constant pool address.
24789 (rs6000_output_addr_const_extra): Print tocrel_offset before @toc.
24790 (rs6000_mode_dependent_address <LO_SUM>): False for new toc refs.
24791 (offsettable_ok_by_alignment): New function.
24792 (rs6000_emit_move): Address suitably aligned local symbol_refs
24793 relative to the toc pointer for -mcmodel=medium.
24794 (legitimate_constant_pool_address_p): Make param const_rtx. Add
24795 strict param. Allow lo_sum version of addressing. Verify reg
24796 used for -mminimal-toc and -mcmodel != small. Update all callers.
24797 * config/rs6000/constraints.md: Update for above change.
24798 * config/rs6000/predicates.md: Likewise.
24799 * config/rs6000/rs6000.md (tls_gd_aix): Generate -mcmodel=medium/large
24800 code.
24801 (tls_gd): Split for -mcmodel=medium/large.
24802 (tls_gd_high, tls_gd_low): New.
24803 (tls_ld_aix, tls_ld, tls_ld_high, tls_ld_low): Similarly.
24804 (tls_got_dtprel, tls_got_dtprel_high, tls_got_dtprel_low): Similarly.
24805 (tls_got_tprel, tls_got_tprel_high, tls_got_tprel_low): Similarly.
24806 (largetoc_high, largetoc_low): New.
24807 (cmptf_internal2): Add clobber.
24808 * config/rs6000/rs6000-protos.h: Update.
24809
24810 2010-06-14 Changpeng Fang <changpeng.fang@amd.com>
24811
24812 * tree-ssa-loop-prefetch.c (nothing_to_prefetch_p): New. Return
24813 true if no prefetch is going to be generated for a given group.
24814 (estimate_prefetch_count): Use prefetch_mod and unroll_factor to
24815 estimate the prefetch_count.
24816 (loop_prefetch_arrays): Call nothing_to_prefetch_p; estimate the
24817 prefetch count by considering the unroll_factor and prefetch_mod
24818 for is_loop_prefetching_profitable.
24819
24820 2010-06-14 Andreas Schwab <schwab@linux-m68k.org>
24821
24822 * config/m68k/m68k.c (m68k_delegitimize_address): Don't do
24823 anything if the argument is not a MEM.
24824
24825 2010-06-14 Alexandre Oliva <aoliva@redhat.com>
24826
24827 PR debug/43650
24828 PR debug/44181
24829 PR debug/44247
24830 * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Skip
24831 debug stmts.
24832 (canonicalize_loop_ivs): Likewise.
24833
24834 2010-06-14 Alexandre Oliva <aoliva@redhat.com>
24835
24836 PR debug/43656
24837 * haifa-sched.c (setup_insn_reg_pressure_info,
24838 update_register_pressure): Reject debug insns.
24839 (ready_sort): Don't setup reg pressure for debug insns.
24840 (schedule_insn): Don't update reg pressure for debug insns.
24841
24842 2010-06-14 Richard Guenther <rguenther@suse.de>
24843
24844 * lto-streamer.c (cached_bp): Remove.
24845 (bitpack_delete): Likewise.
24846 (bitpack_create): Likewise.
24847 (bp_get_next_word): Likewise.
24848 (bp_pack_value, bp_unpack_value): Move ...
24849 * lto-streamer.h (bp_pack_value, bp_unpack_value): ... here.
24850 Re-implement.
24851 (struct bitpack_d): Likewise.
24852 (bitpack_create, lto_output_bitpack, lto_input_bitpack):
24853 New inline functions.
24854 * lto-streamer-out.c (lto_output_bitpack): Remove.
24855 (pack_ts_base_value_fields): Adjust. Avoid conditional bitpacking.
24856 (pack_value_fields): Adjust.
24857 (lto_write_tree): Likewise.
24858 (output_gimple_stmt): Likewise.
24859 (output_function): Likewise.
24860 * lto-streamer-in.c (input_gimple_stmt): Adjust.
24861 (input_function): Likewise.
24862 (unpack_ts_base_value_fields): Adjust. Avoid conditional bitpacking.
24863 (lto_input_bitpack): Remove.
24864 (lto_materialize_tree): Adjust.
24865 * Makefile.in (ipa-prop.o): Add $(LTO_STREAMER_H) dependency.
24866 * lto-cgraph.c (lto_output_edge): Adjust.
24867 (lto_output_node): Likewise.
24868 (lto_output_varpool_node): Likewise.
24869 (lto_output_ref): Likewise.
24870 (input_node): Likewise.
24871 (input_varpool_node): Likewise.
24872 (input_ref): Likewise.
24873 (input_edge): Likewise.
24874 (output_node_opt_summary): Likewise.
24875 (input_node_opt_summary): Likewise.
24876 * ipa-pure-const.c (pure_const_write_summary): Likewise.
24877 (pure_const_read_summary): Likewise.
24878 * ipa-prop.c (ipa_write_indirect_edge_info): Likewise.
24879 (ipa_read_indirect_edge_info): Likewise.
24880 (ipa_write_node_info): Likewise.
24881 (ipa_read_node_info): Likewise.
24882
24883 2010-06-14 H.J. Lu <hongjiu.lu@intel.com>
24884
24885 PR target/44534
24886 * config/i386/sse.md (vec_extract_lo_<mode>): Replace 0x1 with 0x0.
24887 (vec_extract_lo_v16hi): Likewise.
24888 (vec_extract_lo_v32qi): Likewise.
24889
24890 2010-06-14 Jakub Jelinek <jakub@redhat.com>
24891
24892 PR bootstrap/44426
24893 * tree.h (build_call_expr): Don't define as vararg macro, instead
24894 add a prototype.
24895 * builtins.c (build_call_nofold): Remove.
24896 (expand_builtin_int_roundingfn, expand_builtin_pow,
24897 expand_builtin_mempcpy_args, expand_builtin_stpcpy,
24898 expand_builtin_memset_args, expand_builtin_strcmp,
24899 expand_builtin_strncmp, expand_builtin_memory_chk): Use
24900 build_call_nofold_loc instead of build_call_nofold.
24901 (build_call_expr): New function.
24902
24903 PR tree-optimization/44508
24904 * tree-ssa-propagate.h (substitute_and_fold): Add DO_DCE argument.
24905 * tree-ssa-propagate.c (substitute_and_fold): If !DO_DCE,
24906 don't eliminate trivially dead stmts.
24907 * tree-vrp.c (vrp_finalize): Pass false as last argument
24908 to substitute_and_fold.
24909 * tree-ssa-copy.c (fini_copy_prop): Pass true as last argument
24910 to substitute_and_fold.
24911 * tree-ssa-ccp.c (ccp_finalize): Likewise.
24912
24913 PR bootstrap/44509
24914 * c-config-lang.in (gtfiles): Add c-family/c-cppbuiltin.c.
24915
24916 2010-06-14 Ira Rosen <irar@il.ibm.com>
24917
24918 PR tree-optimization/44507
24919 * tree-vect-loop.c (get_initial_def_for_reduction): Use -1
24920 to build initial vector for BIT_AND_EXPR.
24921 * tree-vect-slp.c (vect_get_constant_vectors): Likewise.
24922
24923 2010-06-14 Jakub Jelinek <jakub@redhat.com>
24924
24925 * config/s390/s390.md (*mov<mode>_64 DD_DF, mov<mode>): Properly
24926 adjust z10prop set_attr.
24927
24928 2010-06-13 Jan Hubicka <jh@suse.cz>
24929
24930 * bitmap.c (bitmap_and, bitmap_and_into, bitmap_and_compl,
24931 bitmap_and_compl_into, bitmap_compl_and_into, bitmap_ior,
24932 bitmap_ior_into, bitmap_xor, bitmap_xor_into,
24933 bitmap_ior_and_compl, bitmap_ior_and_compl): Turn internal
24934 datastructure checks into checking asserts.
24935 * rtlanal.c (find_reg_note): Use gcc_checking_assert.
24936 * tree-ssa-sccvn.c (VN_INFO): Likewise.
24937 * df-scan.c (df_reorganize_refs_by_reg_by_reg, df_install_ref,
24938 df_ref_create_structure): Likewise.
24939 * alloc-pool.c (create_alloc_pool, empty_alloc_pool, pool_alloc,
24940 pool_free): Use gcc_checking_assert.
24941 * alias.c (get_alias_set): Likewise.
24942 * var-tracking.c (variable_htab_free, shared_hash_copy,
24943 canonicalize_values_mark, variable_merge_over_cur): Likewise.
24944 * lto-streamer.c (bp_unpack_value): Likewise.
24945
24946 2010-06-13 Richard Guenther <rguenther@suse.de>
24947
24948 * lto-streamer-in.c (lto_input_ts_type_tree_pointers):
24949 Do not stream but initialize TYPE_CANONICAL to NULL.
24950 (lto_output_ts_type_tree_pointers): Do not stream TYPE_CANONICAL.
24951 * gimple.c (gimple_types_compatible_p): Disregard
24952 TYPE_STRUCTURAL_EQUALITY_P.
24953 (gimple_register_type): Use TYPE_CANONICAL as cache.
24954 * lto-streamer.c (lto_record_common_node): Zero TYPE_CANONICAL
24955 before registering common types.
24956 * config/i386/i386.c (ix86_function_arg_boundary): Do not
24957 use TYPE_CANONICAL, instead use TYPE_MAIN_VARIANT.
24958 * tree.h (TYPE_CANONICAL): Clarify documentation.
24959
24960 2010-06-13 Anatoly Sokolov <aesok@post.ru>
24961
24962 * config/ia64/ia64.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
24963 LIBCALL_VALUE): Remove macros.
24964 * config/ia64/ia64-protos.h (ia64_function_value): Remove.
24965 * config/ia64/ia64.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
24966 TARGET_FUNCTION_VALUE_REGNO_P): Define.
24967 (ia64_libcall_value, ia64_function_value_regno_p): New functions.
24968 (ia64_function_value): Make static. Handle receiving the function
24969 type in 'fn_decl_or_type' argunent. Add 'outgoing' argument.
24970
24971 2010-06-12 Jan Hubicka <jh@suse.cz>
24972
24973 * cse.c (cse_extended_basic_block): Move optimize_bb_for_speed_p
24974 at correct place.
24975
24976 2010-06-12 Bernd Schmidt <bernds@codesourcery.com>
24977
24978 * config/arm/arm.c (thumb2_reorg): Fix errors in previous change.
24979
24980 2010-06-12 Jan Hubicka <jh@suse.cz>
24981
24982 * df-core.c (df_clear_bb_info): New function.
24983 (df_set_blocks): bb_info is always allocated.
24984 (df_get_bb_info): Use block_info_elt_size.
24985 (df_set_bb_info): Likewise.
24986 (df_compact_blocks): Update for new block_info.
24987 (grow_bb_info): New function.
24988 * df-problems.c (df_grow_bb_info): Move to df-core.c
24989 (df_rd_set_bb_info): Remove.
24990 (df_rd_free_bb_info): Do not free block pool.
24991 (df_rd_alloc): Do not create pool, use check for
24992 obstack presence instead of NULL pointer for new blocks.
24993 (df_rd_free): DO not free alloc pool; clear block_info.
24994 (problem_RD): Add size of block info structure.
24995 (df_lr_set_bb_info): Remove.
24996 (df_lr_free_bb_info): Do not free block pool.
24997 (df_lr_alloc): Do not create pool, use check for
24998 obstack presence instead of NULL pointer for new blocks.
24999 (df_lr_free): DO not free alloc pool; clear block_info.
25000 (problem_LR): Add size of block info structure.
25001 (df_live_set_bb_info): Remove.
25002 (df_live_free_bb_info): Do not free block pool.
25003 (df_live_alloc): Do not create pool, use check for
25004 obstack presence instead of NULL pointer for new blocks.
25005 (df_live_free): DO not free alloc pool; clear block_info.
25006 (problem_LIVE): Add size of block info structure.
25007 (problem_CHAIN): Add size of block info structure.
25008 (df_byte_lr_set_bb_info): Remove.
25009 (df_byte_lr_free_bb_info): Do not free block pool.
25010 (df_byte_lr_alloc): Do not create pool, use check for
25011 obstack presence instead of NULL pointer for new blocks.
25012 (df_byte_lr_free): DO not free alloc pool; clear block_info.
25013 (problem_BYTE_LR): Add size of block info structure.
25014 (problem_NOTE): Add size of block info structure.
25015 (df_byte_MD_set_bb_info): Remove.
25016 (df_byte_MD_free_bb_info): Do not free block pool.
25017 (df_byte_MD_alloc): Do not create pool, use check for
25018 obstack presence instead of NULL pointer for new blocks.
25019 (df_byte_MD_free): DO not free alloc pool; clear block_info.
25020 (problem_BD): Add size of block info structure.
25021 * df-scan.c (df_scan_free_internal): Free block pool.
25022 (df_scan_set_bb_info): Remove.
25023 (df_scan_free_bb_info): Check for artificial_defs instead
25024 of bb_info being non-NULL.
25025 (df_scan_alloc): DO not create df_scan_block pool.
25026 (problem_SCAN): Set size of block info.
25027 (df_bb_refs_record): Do not allocate bb_info.
25028 * df.h (df_problem): Add block_info_elt_size.
25029 (struct dataflow): Change block_info to void *.
25030 (df_scan_get_bb_info, df_rd_get_bb_info, df_lr_get_bb_info,
25031 df_md_get_bb_info, df_live_get_bb_info, df_byte_lr_get_bb_info): Return
25032 in-line structures.
25033
25034 2010-06-12 Jan Hubicka <jh@suse.cz>
25035
25036 PR tree-optimize/44485
25037 * tree-cfgcleanup.c (fixup_noreturn_call): Remove basic blocks
25038 containing use of return value of noreturn function.
25039
25040 2010-06-12 Anatoly Sokolov <aesok@post.ru>
25041
25042 * targhooks.c (default_function_value): Don't use
25043 FUNCTION_OUTGOING_VALUE.
25044 * system.h (FUNCTION_OUTGOING_VALUE): Poison.
25045 * doc/tm.texi (FUNCTION_OUTGOING_VALUE): Removed.
25046
25047 2010-06-12 Kazu Hirata <kazu@codesourcery.com>
25048
25049 * config.gcc (mips64*-*-linux*, mipsisa64*-*-linux*, mips*-*-linux*):
25050 Add crtfastmath.o to extra_parts.
25051 * config/mips/crtfastmath.c: New.
25052 * config/mips/linux.h (ENDFILE_SPEC): New.
25053
25054 2010-06-12 Sebastian Pop <sebastian.pop@amd.com>
25055
25056 * graphite-clast-to-gimple.c (gcc_type_for_interval): Do not pass
25057 old_type in parameter.
25058 (gcc_type_for_value): Update call to gcc_type_for_interval.
25059 (compute_type_for_level_1): Renamed compute_type_for_level.
25060 Update call to gcc_type_for_interval.
25061
25062 2010-06-11 Joseph Myers <joseph@codesourcery.com>
25063
25064 * common.opt (Wstrict-aliasing=, Wstrict-overflow=, fabi-version=,
25065 flto-compression-level=, ftree-parallelize-loops=): Add RejectNegative.
25066
25067 2010-06-11 Joseph Myers <joseph@codesourcery.com>
25068
25069 * opts-common.c: Include options.h.
25070 (integral_argument): Move from opts.c.
25071 (decode_cmdline_option): New. Based on read_cmdline_option.
25072 * opts.c (integral_argument): Move to opts-common.c.
25073 (read_cmdline_option): Move most contents to
25074 decode_cmdline_option. Use %qs in diagnostics.
25075 * opts.h (CL_ERR_DISABLED, CL_ERR_MISSING_ARG, CL_ERR_WRONG_LANG,
25076 CL_ERR_UINT_ARG, struct cl_decoded_option, integral_argument,
25077 decode_cmdline_option): New.
25078
25079 2010-06-11 Uros Bizjak <ubizjak@gmail.com>
25080
25081 PR target/44481
25082 * config/i386/i386.md (UNSPEC_PARITY): New unspec.
25083 (paritydi2_cmp): Use UNSPEC_PARITY unspec instead of parity RTX.
25084 (partiysi2_cmp): Ditto.
25085 (*partiyhi2_cmp): Ditto.
25086 (*parityqi2_cmp): Remove.
25087
25088 2010-06-11 Jan Hubicka <jh@suse.cz>
25089
25090 * bitmap.h (bmp_iter_next_bit): New.
25091 (bmp_iter_set, bmp_iter_and, bmp_iter_and_compl): Use it.
25092
25093 2010-06-11 Sandra Loosemore <sandra@codesourcery.com>
25094 Eric Botcazou <ebotcazou@adacore.com>
25095
25096 * tree-ssa-loop-ivopts.c (get_computation_cost_at): Return again the
25097 computed cost.
25098
25099 2010-06-11 Uros Bizjak <ubizjak@gmail.com>
25100
25101 * config/i386/i386.md (unspec): New define_c_enum.
25102 (unspecv): Ditto.
25103
25104 2010-06-10 Jakub Jelinek <jakub@redhat.com>
25105
25106 * Makefile.in (c-family/c-cppbuiltin.o): Depend on $(CPP_ID_DATA_H).
25107
25108 2010-06-11 Sebastian Pop <sebastian.pop@amd.com>
25109
25110 PR middle-end/44483
25111 * tree-if-conv.c (bb_predicate_s): New struct.
25112 (bb_predicate_p): New.
25113 (bb_has_predicate): New.
25114 (bb_predicate): New.
25115 (set_bb_predicate): New.
25116 (bb_predicate_gimplified_stmts): New.
25117 (set_bb_predicate_gimplified_stmts): New.
25118 (add_bb_predicate_gimplified_stmts): New.
25119 (init_bb_predicate): New.
25120 (free_bb_predicate): New.
25121 (is_predicated): Use bb_predicate.
25122 (add_to_predicate_list): Use bb_predicate and set_bb_predicate.
25123 (predicate_bbs): Same. Gimplify the condition of the basic blocks
25124 before processing their successors.
25125 (clean_predicate_lists): Removed.
25126 (find_phi_replacement_condition): Use bb_predicate.
25127 (process_phi_nodes): Renamed ifconvert_phi_nodes. Avoid useless
25128 computations.
25129 (insert_gimplified_predicates): New.
25130 (combine_blocks): Call insert_gimplified_predicates.
25131 (tree_if_conversion): Call free_bb_predicate instead of
25132 clean_predicate_lists.
25133
25134 2010-10-11 Paul Brook <paul@codesourcery.com>
25135
25136 * doc/invoke.texi: Document ARM -mcpu=cortex-m4.
25137 * config/arm/arm.c (all_architectures): Change v7e-m default to
25138 cortexm4.
25139 * config/arm/arm-cores.def: Add cortex-m4.
25140 * config/arm/arm-tune.md: Regenerate.
25141
25142 2010-06-11 Jan Hubicka <jh@suse.cz>
25143
25144 * ipa-pure-const.c (special_builtlin_state): New function.
25145 (check_call): Use it instead of special casign BUILT_IN_RETURN.
25146 (propagate_pure_const): Use it.
25147
25148 2010-06-11 Jan Hubicka <jh@suse.cz>
25149
25150 * df-problems.c (df_live_scratch): Convert to bitmap_head.
25151 (df_live_alloc): Initialize df_live_scratch when initializing
25152 problem_data.
25153 (df_live_transfer_function): Update uses of df_live_scratch.
25154 (df_live_free): Free problem_data; clear df_live_scratch before
25155 releasing the obstack.
25156 (df_md_free): Free problem data.
25157
25158 2010-06-11 Jan Hubicka <jh@suse.cz>
25159
25160 * doc/invoke.texi (Wsuggest-attribute): Document.
25161 (Wmissing-noreturn): Remove.
25162 * ipa-pure-const.c (warn_function_noreturn): New function.
25163 * opts.c (decode_options): Set warn_suggest_attribute_noreturn on
25164 warn_missing_noreturn.
25165 * common.opt (Wsuggest-attribute=noreturn): New.
25166 * tree-flow.h (warn_function_noreturn): Declare.
25167 * tree-cfg.c (execute_warn_function_noreturn): Use
25168 warn_function_noreturn.
25169 (gate_warn_function_noreturn): New.
25170 (pass_warn_function_noreturn): Update.
25171
25172 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
25173
25174 * c-typeck.c (handle_warn_cast_qual): Add loc
25175 parameter. Improve warning message.
25176 (build_c_cast): Pass location to handle_warn_cast_qual.
25177
25178 2010-06-11 Uros Bizjak <ubizjak@gmail.com>
25179
25180 * config/i386/i386.md (pro_epilogue_adjust_stack_1) <TYPE_ALU>: Assert
25181 that operand 0 == operand 1. Use x86_maybe_negate_const_int to output
25182 insn mnemonic.
25183 (pro_epilogue_adjust_stack_rex64) <TYPE_ALU>: Ditto.
25184
25185 2010-06-10 Dodji Seketeli <dodji@redhat.com>
25186
25187 Fix bootstap on mips
25188 * dwarf2out.c (is_naming_typedef_dec): Built-in TYPE_DECLs cannot
25189 be naming typedefs.
25190
25191 2010-06-11 Kai Tietz <kai.tietz@onevision.com>
25192
25193 * system.h (helper_const_non_const_cast): New inline for
25194 gcc version <= 4.0.
25195 (CONST_CAST2): For gcc version <= 4.0 use
25196 new helper to do const/non-const casting.
25197
25198 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
25199
25200 * doc/md.texi: Document the "unspec" and "unspecv" enum names.
25201 * Makefile.in (OBJS-common): Include insn-enums.o.
25202 (insn-enums.o): New rule.
25203 (simple_generated_c): Add insn-enums.c.
25204 (build/genenums.o): New rule.
25205 (genprogmd): Add "enums".
25206 * genconstants.c (print_enum_type): Declare a C string array
25207 for each enum.
25208 * genenums.c: New file.
25209 * print-rtl.c (print_rtx): If defined, use the "unspecv" enum
25210 for UNSPEC_VOLATILE. If defined, use the "unspec" enum for both
25211 UNSPEC and (as a fallback) for UNSPEC_VOLATILE.
25212
25213 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
25214
25215 * doc/md.texi (define_enum_attr): Document.
25216 * rtl.def (DEFINE_ENUM_ATTR): New rtx.
25217 * read-md.h (lookup_enum_type): Declare.
25218 * read-md.c (lookup_enum_type): New function.
25219 * genattr.c (gen_attr, main): Handle DEFINE_ENUM_ATTR.
25220 * genattrtab.c (attr_desc): Add an enum_name field.
25221 (evaluate_eq_attr): Take the associated attribute as argument.
25222 Get the enum prefix from the enum_name field, if defined.
25223 Use ACONCAT rather than a fixed-length buffer. Update recursive calls.
25224 (simplify_test_exp): Pass attr to evaluate_eq_attr.
25225 (add_attr_value): New function, split out from...
25226 (gen_attr): ...here. Handle DEFINE_ENUM_ATTR.
25227 (write_test_expr): Pass attr to evaluate_eq_attr.
25228 (write_attr_get): Use the enum_name as the enum tag, if defined.
25229 (write_attr_valueq): Use the enum_name as a prefix, if defined.
25230 (find_attr): Initialize enum_name.
25231 (main): Handle DEFINE_ENUM_ATTR.
25232 * gensupport.c (process_rtx): Likewise.
25233 * config/mips/mips.h (mips_tune_attr): Delete.
25234 * config/mips/mips.md (cpu): Use define_attr_enum.
25235
25236 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
25237
25238 * doc/md.texi (define_c_enum, define_enum): Document.
25239 * read-md.h (md_constant): Add a parent_enum field.
25240 (enum_value, enum_type): New structures.
25241 (upcase_string, traverse_enum_types): Declare.
25242 * read-md.c (enum_types): New variable.
25243 (upcase_string, add_constant): New functions.
25244 (handle_constants): Don't create the hash table here.
25245 Use add_constant.
25246 (traverse_md_constants): Don't check for a null md_constants.
25247 (decimal_string, handle_enum, traverse_enum_types): New functions.
25248 (read_md_files): Initialize md_constants and md_enums.
25249 * genconstants.c (print_md_constant): Ignore info argument.
25250 Only print constants that belong to no enum.
25251 (print_enum_type): New function.
25252 (main): Don't pass stdout to print_md_constant. Call print_enum_type
25253 for each defined enum type.
25254 * config/mips/mips.md (processor): New define_enum.
25255 (unspec): New define_c_enum.
25256 (UNSPEC_COMPARE_AND_SWAP, UNSPEC_COMPARE_AND_SWAP_12)
25257 (UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP, UNSPEC_SYNC_NEW_OP_12)
25258 (UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE, UNSPEC_SYNC_EXCHANGE_12)
25259 (UNSPEC_MEMORY_BARRIER): Moved to sync.md.
25260 (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC)
25261 (UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S)
25262 (UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W)
25263 (UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR)
25264 (UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA)
25265 (UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR)
25266 (UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL)
25267 (UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R)
25268 (UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH)
25269 (UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL)
25270 (UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR)
25271 (UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH)
25272 (UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL)
25273 (UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR)
25274 (UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH)
25275 (UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB)
25276 (UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH)
25277 (UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H)
25278 (UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
25279 (UNSPEC_RDDSP): Move to mips-dsp.md.
25280 (UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH, UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB)
25281 (UNSPEC_ADDUH_R_QB, UNSPEC_APPEND, UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB)
25282 (UNSPEC_CMPGDU_LT_QB, UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH)
25283 (UNSPEC_DPS_W_PH, UNSPEC_MADD, UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU)
25284 (UNSPEC_MUL_PH, UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH)
25285 (UNSPEC_MULQ_S_W, UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU)
25286 (UNSPEC_PRECR_QB_PH, UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W)
25287 (UNSPEC_PREPEND, UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH)
25288 (UNSPEC_SUBU_PH, UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB)
25289 (UNSPEC_ADDQH_PH, UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W)
25290 (UNSPEC_SUBQH_PH, UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W)
25291 (UNSPEC_DPAX_W_PH, UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH)
25292 (UNSPEC_DPAQX_SA_W_PH, UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH):
25293 Moved to mips-dspr2.md.
25294 (UNSPEC_MOVE_TF_PS, UNSPEC_C, UNSPEC_ALNV_PS, UNSPEC_CABS)
25295 (UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS, UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS)
25296 (UNSPEC_ABS_PS, UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1)
25297 (UNSPEC_RECIP2, UNSPEC_SINGLE_CC, UNSPEC_SCC): Move from mips-ps-3d.md.
25298 (UNSPEC_LOONGSON_PAVG, UNSPEC_LOONGSON_PCMPEQ, UNSPEC_LOONGSON_PCMPGT)
25299 (UNSPEC_LOONGSON_PEXTR, UNSPEC_LOONGSON_PINSR_0)
25300 (UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
25301 (UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
25302 (UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
25303 (UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
25304 (UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD,
25305 UNSPEC_LOONGSON_PSADBH)
25306 (UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
25307 (UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
25308 (UNSPEC_LOONGSON_PSUBD): Move to mips-loongson.md.
25309 (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
25310 (UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
25311 (UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
25312 (UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Move to mips-loongson2ef.md.
25313 (cpu): Update comment.
25314 * config/mips/sync.md (UNSPEC_COMPARE_AND_SWAP)
25315 (UNSPEC_COMPARE_AND_SWAP_12, UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP)
25316 (UNSPEC_SYNC_NEW_OP_12, UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE)
25317 (UNSPEC_SYNC_EXCHANGE_12, UNSPEC_MEMORY_BARRIER): Moved from mips.md.
25318 * config/mips/loongson.md (UNSPEC_LOONGSON_PAVG,
25319 UNSPEC_LOONGSON_PCMPEQ)
25320 (UNSPEC_LOONGSON_PCMPGT, UNSPEC_LOONGSON_PEXTR,
25321 UNSPEC_LOONGSON_PINSR_0)
25322 (UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
25323 (UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
25324 (UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
25325 (UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
25326 (UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD,
25327 UNSPEC_LOONGSON_PSADBH)
25328 (UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
25329 (UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
25330 (UNSPEC_LOONGSON_PSUBD): Moved from mips.md
25331 * config/mips/loongson2ef.md (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
25332 (UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
25333 (UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
25334 (UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Moved from mips.md
25335 * config/mips/mips-dsp.md (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ)
25336 (UNSPEC_SUBQ_S, UNSPEC_ADDSC, UNSPEC_ADDWC, UNSPEC_MODSUB)
25337 (UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S, UNSPEC_PRECRQ_QB_PH)
25338 (UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W, UNSPEC_PRECRQU_S_QB_PH)
25339 (UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR, UNSPEC_PRECEQU_PH_QBL)
25340 (UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA, UNSPEC_PRECEQU_PH_QBRA)
25341 (UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR, UNSPEC_PRECEU_PH_QBLA)
25342 (UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL, UNSPEC_SHLL_S, UNSPEC_SHRL_QB)
25343 (UNSPEC_SHRA_PH, UNSPEC_SHRA_R, UNSPEC_MULEU_S_PH_QBL)
25344 (UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH, UNSPEC_MULEQ_S_W_PHL)
25345 (UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL, UNSPEC_DPAU_H_QBR)
25346 (UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR, UNSPEC_DPAQ_S_W_PH)
25347 (UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH, UNSPEC_DPAQ_SA_L_W)
25348 (UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL, UNSPEC_MAQ_S_W_PHR)
25349 (UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR, UNSPEC_BITREV, UNSPEC_INSV)
25350 (UNSPEC_REPL_QB, UNSPEC_REPL_PH, UNSPEC_CMP_EQ, UNSPEC_CMP_LT)
25351 (UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB, UNSPEC_CMPGU_LT_QB)
25352 (UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH, UNSPEC_EXTR_W)
25353 (UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H, UNSPEC_EXTP)
25354 (UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
25355 (UNSPEC_RDDSP): Moved from mips.md.
25356 * config/mips/mips-dspr2.md (UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH)
25357 (UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB, UNSPEC_ADDUH_R_QB, UNSPEC_APPEND)
25358 (UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB, UNSPEC_CMPGDU_LT_QB)
25359 (UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH, UNSPEC_DPS_W_PH, UNSPEC_MADD)
25360 (UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU, UNSPEC_MUL_PH)
25361 (UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH, UNSPEC_MULQ_S_W)
25362 (UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU, UNSPEC_PRECR_QB_PH)
25363 (UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W, UNSPEC_PREPEND)
25364 (UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH, UNSPEC_SUBU_PH)
25365 (UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB, UNSPEC_ADDQH_PH)
25366 (UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W, UNSPEC_SUBQH_PH)
25367 (UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W, UNSPEC_DPAX_W_PH)
25368 (UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH, UNSPEC_DPAQX_SA_W_PH)
25369 (UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH): Moved from mips.md.
25370 * config/mips/mips-ps-3d.md (UNSPEC_MOVE_TF_PS, UNSPEC_C)
25371 (UNSPEC_ALNV_PS, UNSPEC_CABS, UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS)
25372 (UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS, UNSPEC_ABS_PS, UNSPEC_RSQRT1)
25373 (UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2, UNSPEC_SINGLE_CC)
25374 (UNSPEC_SCC): Moved from mips.md.
25375 * config/mips/mips.c (mips_arch, mips_tune): Change enum from
25376 "processor_type" to "processor".
25377 (mips_rtx_cost_data): Replace PROCESSOR_MAX with NUM_PROCESSOR_VALUES.
25378 * config/mips/mips.h (processor_type): Delete.
25379 (mips_cpu_info.cpu, mips_arch, mips_tune): Change enum from
25380 "processor_type" to "processor".
25381
25382 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
25383
25384 * configure.ac (tm_include_list): Add insn-constants.h.
25385 * configure: Regenerate.
25386 * Makefile.in (GTM_H): Move insn-constants.h here from...
25387 (TM_H): ...here.
25388 * mkconfig.sh: Remove special handling for insn-constants.h.
25389
25390 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
25391
25392 * Makefile.in (BUILD_RTL): Move build/read-md.o to...
25393 (BUILD_MD): ...this new variable.
25394 (simple_generated_rtl_h, simple_generated_rtl_c): New variables
25395 that include the old contents of simple_generated_h and
25396 simple_generated_c.
25397 (simple_generated_h, simple_generated_c): Include them. Add
25398 insn-constants.h.
25399 (s-%): Make simple_generated_{h,c} stamps depend on $(MD_DEPS)
25400 and simple_generated_rtl_{h,c} stamps depend on insn-conditions.md.
25401 Remove these dependencies from the main rule and include
25402 insn-conditions.md in the command line only if it appears
25403 in the dependency list.
25404 (insn-constants.h, s-constants): Delete.
25405 (build/genconstants.o): Don't depend on $(RTL_BASE_H), $(GTM_H)
25406 or gensupport.h.
25407 (build/genmddeps.o): Likewise.
25408 (genprogrtl): New variable that contains everything from genprogmd
25409 except mddeps and constants.
25410 (genprogmd): Redefine in terms of genprogrtl. Make these programs
25411 depend on $(BUILD_MD)
25412 (genprog): New variable. Make these programs depend on
25413 $(BUILD_ERRORS).
25414 * genmddeps.c: Don't include tm.h, rtl.h or gensupport.h.
25415 (main): Use read_md_files instead of init_rtx_reader_args.
25416 * genconstants.c: As for genmddeps.c.
25417 * read-md.h (read_skip_construct): Declare.
25418 * read-md.c (read_skip_construct): New function.
25419 (handle_file): Allow a null handle_directive, skipping the
25420 construct if so.
25421 (parse_include): Update the comment accordingly.
25422
25423 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
25424
25425 * Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H).
25426 * genmddeps.c: Include read-md.h.
25427 (main): Call init_rtx_reader_args instead of init_md_reader_args.
25428 * genattr.c (main): Likewise.
25429 * genattrtab.c (main): Likewise.
25430 * genautomata.c (main): Likewise.
25431 * gencodes.c (main): Likewise.
25432 * genconditions.c (main): Likewise.
25433 * genconfig.c (main): Likewise.
25434 * genconstants.c (main): Likewise.
25435 * genemit.c (main): Likewise.
25436 * genextract.c (main): Likewise.
25437 * genflags.c (main): Likewise.
25438 * genopinit.c (main): Likewise.
25439 * genoutput.c (main): Likewise.
25440 * genpeep.c (main): Likewise.
25441 * genrecog.c (main): Likewise.
25442 * genpreds.c (main): Likewise.
25443 * gensupport.h (in_fname): Move to read-md.h.
25444 (init_md_reader_args_cb): Rename to...
25445 (init_rtx_reader_args_cb): ...this and return a bool.
25446 (init_md_reader_args): Rename to...
25447 (init_rtx_reader_args): ...this and return a bool.
25448 (include_callback): Move to read-md.h.
25449 * gensupport.c (in_fname, include_callback, base_dir, max_include_len)
25450 (file_name_list, first_dir_md_include): Move to read-md.c
25451 (first_bracket_include): Delete unused variable.
25452 (last_dir_md_include): Move to read-md.c.
25453 (process_include): Delete, moving code to read-md.c:handle_include.
25454 (process_rtx): Don't handle INCLUDE.
25455 (save_string): Delete.
25456 (rtx_handle_directive): New function.
25457 (init_md_reader_args_cb): Rename to...
25458 (init_rtx_reader_args_cb): ...this and return a boolean success value.
25459 Use read_md_args.
25460 (init_md_reader_args): Rename to...
25461 (init_rtx_reader_args): ...this and return a boolean success value.
25462 * rtl.def (INCLUDE): Delete.
25463 * rtl.h (read_rtx): Remove "int *" argument. Add "const char *"
25464 argument.
25465 * read-rtl.c (read_conditions): Don't gobble ')' here.
25466 (read_mapping): Likewise.
25467 (read_rtx): Remove LINENO argument. Add RTX_NAME argument.
25468 Handle top-level non-rtx constructs here rather than in read_rtx_1.
25469 Store the whole queue in *X. Remove call to init_md_reader.
25470 (read_rtx_1): Rename to...
25471 (read_rtx_code): ...this. Call read_nested_rtx to read subrtxes.
25472 Don't handle top-level non-rtx constructs here. Don't handle (nil)
25473 here.
25474 (read_nested_rtx): New function. Handle (nil) here rather than
25475 in read_rtx_code.
25476 (read_rtx_variadic): Call read_nested_rtx to read subrtxes. Don't
25477 gobble ')' here.
25478 * read-md.h (directive_handler_t): New type.
25479 (in_fname, include_callback): Moved from read-md.h.
25480 (read_constants, init_md_reader): Delete.
25481 (read_md_files): Declare.
25482 * read-md.c (file_name_list, in_fname, base_dir, first_dir_md_include)
25483 (last_dir_md_include_ptr, include_callback, max_include_len): Moved
25484 from gensupport.c.
25485 (read_constants): Rename to...
25486 (handle_constants): ...this. Don't gobble ')' here.
25487 (handle_include, handle_file, handle_toplevel_file)
25488 (parse_include): New functions, mostly taken from gensupport.c.
25489 (init_md_reader): Subsume into...
25490 (read_md_files): ...this new function.
25491
25492 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
25493
25494 * read-md.h (read_char): Increment read_md_lineno after reading '\n'.
25495 (unread_char): Decrement read_md_lineno after putting back '\n'.
25496 * read-md.c (fatal_with_file_and_line): Push back any characters
25497 that we decide not to add to the context.
25498 (read_skip_spaces): Don't increment read_md_lineno here. Avoid using
25499 fatal_expected_char in cases where '/' ends a line (for example).
25500 (read_name): Don't increment read_md_lineno here.
25501 (read_escape): Likewise.
25502 (read_quoted_string): Likewise.
25503 (read_braced_string): Likewise.
25504
25505 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
25506
25507 * Makefile.in (READ_MD_H): Add $(HASHTAB_H).
25508 (build/genconstants.o): Depend on $(READ_MD_H) gensupport.h.
25509 * genconstants.c: Include read-md.h.
25510 * read-rtl.c (md_constants): Move to read-md.c.
25511 (md_name): Move to read-md.h.
25512 (initialize_iterators): Use leading_string_hash instead of def_hash
25513 and leading_string_eq_p instead of def_name_eq_p.
25514 (read_name): Move to read-md.c.
25515 (def_hash, def_name_eq_p): Delete.
25516 (read_constants, traverse_md_constants): Move to read-md.c.
25517 * rtl.h (md_constant, traverse_md_constants): Move to read-md.h.
25518 * read-md.h: Include hashtab.h.
25519 (md_name): Moved from read-rtl.c.
25520 (md_constant): Moved from read-md.h.
25521 (leading_string_hash, leading_string_eq_p, read_name)
25522 (read_constants, traverse_md_constants): Declare.
25523 * read-md.c (md_constants): Moved from read-rtl.c.
25524 (leading_string_hash, leading_string_eq_p): New functions.
25525 (read_name, read_constants, traverse_md_constants): Moved from
25526 read-rtl.c.
25527
25528 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
25529
25530 * read-rtl.c (md_name): New structure.
25531 (read_name): Take an md_name instead of a buffer pointer.
25532 Use the "string" field instead of strcpy when expanding constants.
25533 (read_constants): Remove the tmp_char argument. Update the calls
25534 to read_name, using two local name buffers instead of the tmp_char
25535 argument. Merge the constant-creation code.
25536 (read_conditions): Remove the tmp_char argument. Update the calls
25537 to read_name, using a local name buffer instead of the tmp_char
25538 argument.
25539 (read_mapping): Replace tmp_char variable with a local name buffer.
25540 Update the calls to read_name.
25541 (read_rtx_1): Likewise. Update the calls to read_constants and
25542 read_conditions.
25543
25544 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
25545
25546 * Makefile.in (build/read-md.o): Depend on errors.h.
25547 * read-md.h (error_with_line): Declare.
25548 * read-md.c: Include errors.h.
25549 (message_with_line_1): New function, extracted from...
25550 (message_with_line): ...here.
25551 (error_with_line): New function.
25552 * genattrtab.c: If a call to message_with_line is followed by
25553 "have_error = 1;", replace both statements with a call to
25554 error_with_line.
25555 * genoutput.c: Likewise.
25556 * genpreds.c: Likewise.
25557 * genrecog.c: If a call to message_with_line is followed by
25558 "error_count++;", replace both statements with a call to
25559 error_with_line.
25560 (errorcount): Delete.
25561 (main): Don't check it.
25562 * gensupport.c: If a call to message_with_line is followed by
25563 "errors = 1;", replace both statements with a call to error_with_line.
25564 (errors): Delete.
25565 (process_define_cond_exec): Check have_error instead of errors.
25566 (init_md_reader_args_cb): Likewise. Don't set errors.
25567
25568 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
25569
25570 * read-md.h (read_md_file): Declare.
25571 (read_char, unread_char): New functions.
25572 (fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
25573 (read_quoted_string, read_string): Remove FILE * argument.
25574 * read-md.c (read_md_file): New variable.
25575 (read_md_filename, read_md_lineno): Update comments and remove
25576 unnecessary initialization.
25577 (fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
25578 (read_escape, read_quoted_string, read_braced_string, read_string):
25579 Remove FILE * argument. Update calls accordingly, using read_char
25580 and unread_char instead of getc and ungetc.
25581 * rtl.h (read_rtx): Remove FILE * argument.
25582 * read-rtl.c (iterator_group): Remove FILE * argument from
25583 "find_builtin".
25584 (iterator_traverse_data): Remove "infile" field.
25585 (find_mode, find_code, apply_mode_maps, apply_iterator_to_rtx)
25586 (add_mapping, read_name, read_constants, read_conditions)
25587 (validate_const_int, find_iterator, read_mapping, check_code_iterator)
25588 (read_rtx, read_rtx_1, read_rtx_variadic): Remove FILE * argument.
25589 Remove file arguments from all calls, using read_char and unread_char
25590 instead of getc and ungetc.
25591 * gensupport.c (process_include): Preserve read_md_file around
25592 the include. Set read_md_file to the handle of the included file.
25593 Update call to read_rtx.
25594 (init_md_reader_args_cb): Set read_md_file to the handle of the file
25595 and remove local FILE *. Update calls to read_rtx.
25596
25597 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
25598
25599 * read-md.h (read_rtx_lineno): Rename to...
25600 (read_md_lineno): ...this.
25601 (read_rtx_filename): Rename to...
25602 (read_md_filename): ...this.
25603 (copy_rtx_ptr_loc): Rename to...
25604 (copy_md_ptr_loc): ...this.
25605 (print_rtx_ptr_loc): Rename to...
25606 (print_md_ptr_loc): ...this.
25607 * read-md.c: Likewise. Update references after renaming.
25608 (string_obstack): Replace RTL with MD in comment.
25609 (set_rtx_ptr_loc): Rename to...
25610 (set_md_ptr_loc): ...this.
25611 (get_rtx_ptr_loc): Rename to...
25612 (get_md_ptr_loc): ...this.
25613 * genconditions.c: Update references after renaming.
25614 * genemit.c: Likewise.
25615 * genoutput.c: Likewise.
25616 * genpreds.c: Likewise.
25617 * gensupport.c: Likewise.
25618 * read-rtl.c: Likewise.
25619
25620 2010-06-10 Richard Sandiford <rdsandiford@googlemail.com>
25621
25622 * Makefile.in (READ_MD_H): New variable.
25623 (BUILD_RTL): Add build/read-md.o.
25624 (lto-wrapper.o): Depend on coretypes.h instead of defaults.h.
25625 (build/gensupport.o, build/read-rtl.o, build/genattr.o)
25626 (build/genattrtab.o, build/genconditions.o build/genemit.o)
25627 (build/genextract.o, build/genflags.o, build/genoutput.o)
25628 (build/genpreds.o, build/genrecog.o): Depend on $(READ_MD_H).
25629 (build/read-md.o): New rule.
25630 * defaults.h (obstack_chunk_alloc, obstack_chunk_free)
25631 (OBSTACK_CHUNK_SIZE, gcc_obstack_init): Move to...
25632 * coretypes.h: ...here.
25633 * lto-wrapper.c: Include coretypes.h instead of defaults.h.
25634 * pretty-print.c (obstack_chunk_alloc, obstack_chunk_free): Delete.
25635 * genattr.c: Include read-md.h.
25636 * genattrtab.c: Likewise.
25637 * genconditions.c: Likewise.
25638 * genemit.c: Likewise.
25639 * genextract.c: Likewise.
25640 * genflags.c: Likewise.
25641 * genoutput.c: Likewise.
25642 * genpreds.c: Likewise.
25643 * genrecog.c: Likewise.
25644 * rtl.h (read_skip_spaces, copy_rtx_ptr_loc, print_rtx_ptr_loc)
25645 (join_c_conditions, print_c_condition, read_rtx_filename)
25646 (read_rtx_lineno): Move to read-md.h.
25647 * read-rtl.c: Include read-md.h.
25648 (ptr_loc, string_obstack, ptr_locs, ptr_loc_obstack)
25649 (joined_conditions, joined_conditions_obstack, read_rtx_lineno)
25650 (read_rtx_filename, fatal_with_file_and_line, fatal_expected_char)
25651 (leading_ptr_hash, leading_ptr_eq_p, set_rtx_ptr_loc, get_rtx_ptr_loc)
25652 (copy_rtx_ptr_loc, print_rtx_ptr_loc, join_c_conditions)
25653 (print_c_condition, read_skip_spaces, read_escape, read_quoted_string)
25654 (read_braced_string, read_string): Move to read-md.c.
25655 (read_rtx): Move some initialization to init_md_reader and call
25656 init_md_reader here.
25657 * gensupport.h (message_with_line, n_comma_elts, scan_comma_elt):
25658 Move to read-md.h.
25659 * gensupport.c: Include read-md.h.
25660 (message_with_line, n_comma_elts, scan_comma_elt): Move to read-md.c.
25661 * read-md.h, read-md.c: New files.
25662
25663 2010-06-10 Anatoly Sokolov <aesok@post.ru>
25664
25665 * config/moxie/moxie.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
25666 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
25667 * config/moxie/moxie-protos.h (moxie_function_value): Remove.
25668 * config/moxie/moxie.c (moxie_function_value): Make static.
25669 (moxie_libcall_value, moxie_function_value_regno_p): New functions.
25670 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
25671
25672 2010-06-10 Martin Jambor <mjambor@suse.cz>
25673
25674 * Makefile.in (tree-sra.o): Add DBGCNT_H to dependencies.
25675 * dbgcnt.def (tree_sra): New counter.
25676 * tree-sra.c: Include dbgcnt.h.
25677 (gate_intra_sra): Check tree_sra debug counter.
25678
25679 2010-06-10 Martin Jambor <mjambor@suse.cz>
25680
25681 PR tree-optimization/44258
25682 * tree-sra.c (build_access_subtree): Return false iff there is a
25683 partial overlap.
25684 (build_access_trees): Likewise.
25685 (analyze_all_variable_accesses): Disqualify candidates if
25686 build_access_trees returns true for them.
25687
25688 2010-06-10 Alexandre Oliva <aoliva@redhat.com>
25689
25690 PR debug/41371
25691 * var-tracking.c (find_loc_in_1pdv): Remove recursion, only
25692 tail-recurse into canonical node. Fast-forward over
25693 non-canonical VALUEs.
25694
25695 2010-06-10 H.J. Lu <hongjiu.lu@intel.com>
25696
25697 PR boostrap/44470
25698 * config/i386/i386.md (*add<mode>_1): Revert revision 160394.
25699 (*addsi_1_zext) <TYPE_LEA>: Likewise.
25700 (add lea splitter): Likewise.
25701 (add_zext lea splitter): Likewise.
25702
25703 2010-06-10 Joseph Myers <joseph@codesourcery.com>
25704
25705 * common.opt (fshow-column): Don't mark as C ObjC C++ ObjC++.
25706
25707 2010-06-10 Jan Hubicka <jh@suse.cz>
25708
25709 * df-problems.c (df_live_problem_data): Add live_bitmaps.
25710 (df_live_alloc): Initialize problem data and live_osbtacks.
25711 (df_live_finalize): Remove obstack, problem data; do not
25712 clear all bitmaps.
25713 (df_live_top_dump, df_live_bottom_dump): Do not dump old
25714 data when not allocated.
25715 (df_live_verify_solution_start): Do not allocate problem data.
25716 (df_live_verify_solution_end): Check if out is allocated.
25717 (struct df_md_problem_data): New structure.
25718 (df_md_alloc): Allocate problem data.
25719 (df_md_free): Free problem data; do not clear bitmaps.
25720
25721 2010-06-10 Jan Beulich <jbeulich@novell.com>
25722
25723 PR bootstrap/37304
25724 * configure.ac: Replace $() with ${} when intending to expand
25725 variables rather than invoking commands.
25726 * configure: Re-generate.
25727
25728 2010-06-10 Jan Hubicka <jh@suse.cz>
25729
25730 PR rtl-optimization/44460
25731 * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove
25732 TYPE_NEEDS_CONSTRUCTING sanity check.
25733
25734 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
25735
25736 * doc/include/fdl.texi: Move to GFDL version 1.3.
25737
25738 * doc/cpp.texi: Move to GFDL version 1.3.
25739 * doc/gcc.texi: Move to GFDL version 1.3. Fix copyright years.
25740 * doc/gccint.texi: Move to GFDL version 1.3.
25741 * doc/gcov.texi: Move to GFDL version 1.3. Update copyright years.
25742 * doc/install.texi: Move to GFDL version 1.3. Fix copyright years.
25743 * doc/invoke.texi: Move to GFDL version 1.3.
25744
25745 2010-06-09 Jan Hubicka <jh@suse.cz>
25746
25747 * ipa-pure-const.c (propagate_pure_const, propagate_noreturn):
25748 Break out from ...
25749 (propagate) ... here; swap the order.
25750
25751 2010-06-09 Jan Hubicka <jh@suse.cz>
25752
25753 * bitmap.c (bitmap_elt_insert_after, bitmap_first_set_bit,
25754 bitmap_first_set_bit, bitmap_last_set_bit, bitmap_last_set_bit,
25755 bitmap_and_into, bitmap_and_compl_into, bitmap_set_range,
25756 bitmap_compl_and_into, bitmap_elt_ior): Use checking asserts.
25757
25758 2010-06-09 Changpeng Fang <changpeng.fang@amd.com>
25759
25760 * tree-ssa-loop-prefetch.c (gather_memory_references_ref):
25761 Do not the gather memory reference in the outer loop if the step
25762 is not a constant.
25763
25764 2010-06-09 Changpeng Fang <changpeng.fang@amd.com>
25765
25766 * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO) :
25767 Change the PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO threshold value from
25768 8 to 4. Minor change of the related comments.
25769
25770 2010-06-09 Sebastian Pop <sebastian.pop@amd.com>
25771
25772 * tree-scalar-evolution.c (instantiate_scev_name): Do not fail
25773 the scev analysis when the variable is not used outside the loop
25774 in a close phi node: call compute_overall_effect_of_inner_loop.
25775
25776 2010-06-09 Sebastian Pop <sebastian.pop@amd.com>
25777
25778 * graphite-sese-to-poly.c (single_pred_cond): Renamed
25779 single_pred_cond_non_loop_exit. Return NULL for loop exit edges.
25780 (build_sese_conditions_before): Renamed call to single_pred_cond.
25781 (build_sese_conditions_after): Same.
25782
25783 2010-06-09 Sebastian Pop <sebastian.pop@amd.com>
25784
25785 * graphite-poly.h: Fix comments and indentation.
25786 * graphite-sese-to-poly.c: Same.
25787 (build_sese_conditions_before): Compute stmt and gbb only when needed.
25788 * tree-chrec.c: Fix comments and indentation.
25789 (tree-ssa-loop-niter.c): Same.
25790
25791 2010-06-09 Eric Botcazou <ebotcazou@adacore.com>
25792
25793 PR rtl-optimization/42461
25794 * dce.c (deletable_insn_p): Return true for const or pure calls again.
25795 * except.c (insn_could_throw_p): Return false if !flag_exceptions.
25796
25797 2010-06-09 Jan Hubicka <jh@suse.cz>
25798
25799 * bitmap.c (bitmap_and): Walk array forward.
25800 (bitmap_and_compl_into): Likewise.
25801 (bitmap_xor): Likewise.
25802 (bitmap_xor_into): Likewise.
25803 (bitmap_equal_p): Likewise.
25804 (bitmap_intersect_p): Likewise.
25805 (bitmap_intersect_compl_p): Likewise.
25806 (bitmap_ior_and_into): Likewise.
25807 (bitmap_elt_copy): Likewise.
25808 (bitmap_and_compl): Likewise.
25809 (bitmap_elt_ior): Likewise.
25810
25811 2010-06-09 Dave Korn <dave.korn.cygwin@gmail.com>
25812
25813 * opts-common.c (prune_options): Ensure replacement argv array
25814 is correctly terminated by a NULL entry.
25815
25816 2010-06-09 Jan Hubicka <jh@suse.cz>
25817
25818 * cgraph.h (varpool_first_static_initializer,
25819 varpool_next_static_initializer): Make checking only when
25820 checking enabled.
25821 * tree-vectorizer.h (vinfo_for_stmt): Remove check.
25822 (set_vinfo_for_stmt, get_earlier_stmt, is_loop_header_bb_p): Change
25823 gcc_assert to gcc_checking_assert.
25824 * tree-flow-inline.h (gimple_vop, get_var_ann, relink_imm_use,
25825 phi_nodes, set_phi_nodes, phi_arg_index_from_use, op_iter_next_use,
25826 op_iter_next_def, op_iter_next_tree, op_iter_init, op_iter_init_use,
25827 op_iter_init_phiuse, op_iter_init_phidef,
25828 array_ref_contains_indirect_ref, ref_contains_array_ref): Use
25829 gcc_checking_assert.
25830 * emit-rtl.h (set_first_insn, set_last_insn): Likewise.
25831 * tree-ssa-live.h (var_to_partition, var_to_partition_to_var,
25832 partition_is_global, live_on_entry, live_on_exit,
25833 live_merge_and_clear): Likewise.
25834 * system.h (gcc_checking_assert): New macro.
25835 * gimple.h (set_bb_seq): Use gcc_checking_assert.
25836
25837 2010-06-09 Jason Merrill <jason@redhat.com>
25838
25839 * Makefile.in (TAGS): Collect tags info from c-family.
25840
25841 2010-06-09 Jan Hubicka <jh@suse.cz>
25842
25843 * gimple.h (gcc_gimple_checking_assert): New macro.
25844 (gimple_set_def_ops, gimple_set_use_ops,
25845 gimple_set_vuse, gimple_set_vdef,
25846 gimple_omp_subcode, gimple_omp_set_subcode, gimple_ops, gimple_op,
25847 gimple_op_ptr, gimple_op_ptr, gimple_set_op, gimple_bind_set_block,
25848 gimple_asm_input_op, gimple_asm_input_op_ptr, gimple_asm_set_input_op,
25849 gimple_asm_output_op, gimple_asm_output_op_ptr,
25850 gimple_asm_set_output_op, gimple_asm_clobber_op,
25851 gimple_asm_set_clobber_op, gimple_asm_label_op,
25852 gimple_asm_set_label_op, gimple_try_set_kind,
25853 gimple_try_catch_is_cleanup, gimple_try_set_catch_is_cleanup,
25854 gimple_phi_arg, gimple_switch_num_labels, gimple_switch_set_index,
25855 gimple_switch_label, gimple_switch_set_label, gimple_omp_for_index,
25856 gimple_omp_for_index_ptr, gimple_omp_for_set_index,
25857 gimple_omp_for_initial, gimple_omp_for_initial_ptr,
25858 gimple_omp_for_set_initial, gimple_omp_for_final,
25859 gimple_omp_for_final_ptr, gimple_omp_for_set_final,
25860 gimple_omp_for_incr, gimple_omp_for_incr_ptr, gimple_omp_for_set_incr,
25861 gimple_omp_for_set_cond, gimple_omp_for_cond): Make checking
25862 conditional with ENABLE_GIMPLE_CHECKING.
25863 (gimple_phi_set_arg): Likewise; replace memcpy by assignment.
25864
25865 2010-06-09 Sandra Loosemore <sandra@codesourcery.com>
25866
25867 * tree-ssa-loop-ivopts.c (adjust_setup_cost): New function.
25868 (get_computation_cost_at): Use it.
25869 (determine_use_iv_cost_condition): Likewise.
25870 (determine_iv_cost): Likewise.
25871
25872 2010-06-09 Richard Guenther <rguenther@suse.de>
25873
25874 * tree-ssa-loop-niter.c (simplify_replace_tree): Do not
25875 replace constants.
25876
25877 2010-06-09 Kai Tietz <kai.tietz@onevision.com>
25878
25879 * c-objc-common.c (c_tree_printer): Pre-intialize t by NULL_TREE.
25880
25881 2010-06-09 Martin Jambor <mjambor@suse.cz>
25882
25883 PR tree-optimization/44423
25884 * tree-sra.c (dump_access): Dump also grp_assignment_read.
25885 (analyze_access_subtree): Pass negative allow_replacements to children
25886 if the current type is scalar.
25887
25888 2010-06-09 Joern Rennecke <joern.rennecke@embecosm.com>
25889
25890 PR testsuite/42843
25891 * gcc-plugin.h (int plugin_is_GPL_compatible): Declare as extern "C".
25892 * doc/plugins.texi (Plugin license check): Update information
25893 on type of plugin_is_GPL_compatible.
25894 * Makefile.in (PLUGINCC): Define as $(COMPILER).
25895 (PLUGINCFLAGS): Define as $(COMPILER_FLAGS).
25896
25897 2010-06-09 Bernd Schmidt <bernds@codesourcery.com>
25898
25899 * config/arm/arm.c (thumb2_reorg): New function.
25900 (arm_reorg): Call it.
25901 * config/arm/thumb2.md (define_peephole2 for flag clobbering
25902 arithmetic operations): Delete.
25903
25904 2010-06-09 Edmar Wienskoski <edmar@freescale.com>
25905
25906 PR target/44067
25907 * config/rs6000/rs6000.md (DIFD): Do not split dpfp values for
25908 e500v2 target.
25909
25910 2010-06-09 Joern Rennecke <joern.rennecke@embecosm.com>
25911
25912 PR plugins/44459
25913 * gcc-plugin.h: Encapsulate all declarations in extern "C".
25914
25915 2010-06-08 Jan Hubicka <jh@suse.cz>
25916
25917 * basic-block.h (single_succ_edge, single_pred_edge, ei_container,
25918 ei_next, ei_prev): Do sanity checking with ENABLE_CHECKING only.
25919
25920 2010-06-08 Sandra Loosemore <sandra@codesourcery.com>
25921
25922 PR tree-optimization/39874
25923 PR middle-end/28685
25924 * gimple.h (maybe_fold_and_comparisons, maybe_fold_or_comparisons):
25925 Declare.
25926 * gimple-fold.c (canonicalize_bool, same_bool_comparison_p,
25927 same_bool_result_p): New.
25928 (and_var_with_comparison, and_var_with_comparison_1,
25929 and_comparisons_1, and_comparisons, maybe_fold_and_comparisons): New.
25930 (or_var_with_comparison, or_var_with_comparison_1,
25931 or_comparisons_1, or_comparisons, maybe_fold_or_comparisons): New.
25932 * tree-ssa-reassoc.c (eliminate_redundant_comparison): Use
25933 maybe_fold_and_comparisons or maybe_fold_or_comparisons instead
25934 of combine_comparisons.
25935 * tree-ssa-ifcombine.c (ifcombine_ifandif, ifcombine_iforif): Likewise.
25936
25937 2010-06-08 Anatoly Sokolov <aesok@post.ru>
25938
25939 * config/pdp11/pdp11.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
25940 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
25941 * config/pdp11/pdp11.c (pdp11_function_value, pdp11_libcall_value,
25942 pdp11_function_value_regno_p): New functions.
25943 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
25944 TARGET_FUNCTION_VALUE_REGNO_P): Define.
25945
25946 2010-06-08 Kazu Hirata <kazu@codesourcery.com>
25947
25948 * config/arm/arm.c (arm_rtx_costs_1): Don't special case for
25949 Thumb-2 in the MINUS case.
25950
25951 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
25952
25953 * doc/tm.texi (Per-Function Data): Do not reference ggc_alloc.
25954
25955 * doc/gty.texi (GTY Options): Document typed GC allocation and
25956 variable_size GTY option.
25957
25958 * ggc-internal.h: New.
25959
25960 * ggc.h: Update copyright year.
25961 (digit_string): Move to stringpool.c.
25962 (ggc_mark_stringpool, ggc_purge_stringpool, ggc_mark_roots)
25963 (gt_pch_save_stringpool, gt_pch_fixup_stringpool)
25964 (gt_pach_restore_stringpool, gt_pch_p_S, gt_pch_note_object)
25965 (init_ggc_pch, ggc_pch_count_object, ggc_pch_total_size)
25966 (ggc_pch_this_base, ggc_pch_alloc_object, ggc_pch_prepare_write)
25967 (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read)
25968 (ggc_force_collect, ggc_get_size, ggc_statistics)
25969 (ggc_print_common_statistics): Move to ggc-internal.h.
25970 (digit_vector, new_ggc_zone, destroy_ggc_zone, ggc_alloc_stat)
25971 (ggc_alloc, ggc_alloc_cleared, ggc_realloc, ggc_calloc, GGC_NEW)
25972 (GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR, ggc_alloc_rtvec)
25973 (ggc_alloc_tree, gt_pch_save, ggc_min_expand_heuristic)
25974 (ggc_min_heapsize_heuristic, ggc_alloc_zone)
25975 (ggc_alloc_zone_pass_stat): Remove.
25976 (ggc_internal_alloc_stat, ggc_internal_alloc)
25977 (ggc_internal_cleared_alloc_stat): New.
25978 (GGC_RESIZEVEC, GGC_RESIZEVAR): Redefine.
25979 (ggc_internal_vec_alloc_stat)
25980 (ggc_internal_cleared_vec_alloc_stat)
25981 (ggc_internal_vec_alloc_stat, ggc_internal_cleared_vec_alloc)
25982 (ggc_alloc_atomic_stat, ggc_alloc_atomic)
25983 (ggc_alloc_cleared_atomic, ggc_cleared_alloc_htab_ignore_args)
25984 (ggc_cleared_alloc_ptr_array_two_args): New.
25985 (htab_create_ggc, splay_tree_new_ggc): Redefine.
25986 (ggc_splay_alloc): Change the type of the first argument to
25987 enum gt_types_enum.
25988 (ggc_alloc_string): Make macro.
25989 (ggc_alloc_string_stat): New.
25990 (ggc_strdup): Redefine.
25991 (rtl_zone, tree_zone, tree_id_zone): Declare unconditionally.
25992 (ggc_alloc_rtvec_sized): New.
25993 (ggc_alloc_zone_stat): Rename to ggc_internal_alloc_zone_stat.
25994 (ggc_internal_alloc_zone_pass_stat, ggc_internal_alloc_zone_stat)
25995 (ggc_internal_cleared_alloc_zone_stat)
25996 (ggc_internal_zone_alloc_stat)
25997 (ggc_internal_zone_cleared_alloc_stat)
25998 (ggc_internal_zone_vec_alloc_stat)
25999 (ggc_alloc_zone_rtx_def_stat)
26000 (ggc_alloc_zone_tree_node_stat)
26001 (ggc_alloc_zone_cleared_tree_node_stat)
26002 (ggc_alloc_cleared_gimple_statement_d_stat): New.
26003
26004 * ggc-common.c: Include ggc-internal.h.
26005 (ggc_internal_cleared_alloc_stat): Rename from
26006 ggc_alloc_cleared_stat.
26007 (ggc_realloc_stat): Use ggc_internal_alloc_stat.
26008 (ggc_calloc): Remove.
26009 (ggc_cleared_alloc_htab_ignore_args): New.
26010 (ggc_cleared_alloc_ptr_array_two_args): New.
26011 (ggc_splay_alloc): Add obj_type parameter.
26012 (init_ggc_heuristics): Formatting fixes.
26013
26014 * ggc-none.c: Update copyright year.
26015 (ggc_alloc_stat): Rename to ggc_alloc_stat.
26016 (ggc_alloc_cleared_stat): Rename to
26017 ggc_internal_cleared_alloc_stat.
26018 (struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
26019
26020 * ggc-page.c: Update copyright year. Include ggc-internal.h.
26021 Remove references to ggc_alloc in comments.
26022 (ggc_alloc_typed_stat): Call ggc_internal_alloc_stat.
26023 (ggc_alloc_stat): Rename to ggc_internal_alloc_stat.
26024 (new_ggc_zone, destroy_ggc_zone): Remove.
26025 (struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
26026
26027 * ggc-zone.c: Include ggc-internal.h. Remove references to
26028 ggc_alloc in comments.
26029 (ggc_alloc_zone_stat): ggc_internal_alloc_zone_stat.
26030 (ggc_internal_alloc_zone_pass_stat): New.
26031 (ggc_internal_cleared_alloc_zone_stat): New.
26032 (ggc_alloc_typed_stat): Use ggc_internal_alloc_zone_pass_stat.
26033 (ggc_alloc_stat): Rename ggc_internal_alloc_stat.
26034 (new_ggc_zone, destroy_ggc_zone): Remove.
26035
26036 * stringpool.c: Update copyright year. Include ggc-internal.h
26037 (digit_vector): Make static.
26038 (digit_string): Moved from ggc.h.
26039 (stringpool_ggc_alloc): Use ggc_alloc_atomic.
26040 (ggc_alloc_string): Rename to ggc_alloc_string_stat.
26041
26042 * Makefile.in (GGC_INTERNAL_H): New.
26043 (ggc_common.o, ggc-page.o, ggc-zone.o, stringpool.o): Add
26044 $(GGC_INTERNAL_H) to dependencies.
26045
26046 * gengtype.c: Update copyright year.
26047 (walk_type): Accept variable_size GTY option.
26048 (USED_BY_TYPED_GC_P): New macro.
26049 (write_enum_defn): Use USED_BY_TYPED_GC_P. Do not output
26050 whitespace at the end of strings.
26051 (get_type_specifier, variable_size_p): New functions.
26052 (alloc_quantity, alloc_zone): New enums.
26053 (write_typed_alloc_def): New function.
26054 (write_typed_struct_alloc_def): Likewise.
26055 (write_typed_typed_typedef_alloc_def): Likewise.
26056 (write_typed_alloc_defns): Likewise.
26057 (output_typename, write_splay_tree_allocator_def): Likewise.
26058 (write_splay_tree_allocators): Likewise.
26059 (main): Call write_typed_alloc_defns and
26060 write_splay_tree_allocators.
26061
26062 * lto-streamer.h (lto_file_decl_data_ptr): New.
26063
26064 * passes.c (order): Define using cgraph_node_ptr.
26065
26066 * strinpool.c (struct string_pool_data): Declare nested_ptr using
26067 ht_identifier_ptr.
26068
26069 * gimple.h (union gimple_statement_d): Likewise.
26070
26071 * rtl.h (struct rtx_def): Likewise.
26072 (struct rtvec_def): Likewise.
26073
26074 * tree.h (union tree_node): Likewise.
26075
26076 * tree-ssa-operands.h (struct ssa_operand_memory_d): Likewise.
26077
26078 * cfgloop.c (record_loop_exits): Use htab_create_ggc.
26079
26080 * tree-scalar-evolution.c (scev_initialize): Likewise.
26081
26082 * alias.c (record_alias_subset): Update splay_tree_new_ggc call.
26083
26084 * dwarf2asm.c (dw2_force_const_mem): Likewise.
26085
26086 * omp-low.c (lower_omp_critical): Likewise.
26087
26088 * bitmap.h (struct bitmap_head_def): Update comment to not
26089 reference ggc_alloc.
26090
26091 * config/pa/pa.c (get_deferred_label): Use GGC_RESIZEVEC.
26092
26093 * ira.c (fix_reg_equiv_init): Use GGC_RESIZEVEC.
26094
26095 * ipa-prop.c (duplicate_ggc_array): Rename to
26096 duplicate_ipa_jump_func_array. Use typed GC allocation.
26097 (ipa_edge_duplication_hook): Call duplicate_ipa_jump_func_array.
26098
26099 * gimple.c (gimple_alloc_stat): Use
26100 ggc_alloc_cleared_gimple_statement_d_stat.
26101
26102 * varasm.c (create_block_symbol): Use ggc_alloc_zone_rtx_def.
26103
26104 * tree.c (make_node_stat): Use
26105 ggc_alloc_zone_cleared_tree_node_stat.
26106 (make_tree_vec_stat): Likewise.
26107 (build_vl_exp_stat): Likewise.
26108 (copy_node_stat): Use ggc_alloc_zone_tree_node_stat.
26109 (make_tree_binfo_stat): Likewise.
26110 (tree_cons_stat): Likewise.
26111
26112 * rtl.c (rtx_alloc_stat): Use ggc_alloc_zone_rtx_def_stat.
26113 (shallow_copy_rtx_stat): Likewise.
26114 (make_node_stat): Likewise.
26115
26116 * lto-symtab.c: Fix comment.
26117
26118 * tree-cfg.c (create_bb): Update comment to not reference
26119 ggc_alloc_cleared.
26120 * tree-ssa-structalias.c (struct heapvar_for_stmt): Fix param_is value.
26121
26122 * varpool.c (varpool_node): Use typed GC allocation.
26123 (varpool_extra_name_alias): Likewise.
26124
26125 * varasm.c (emutls_decl): Likewise.
26126 (get_unnamed_section): Likewise.
26127 (get_noswitch_section): Likewise.
26128 (get_section): Likewise.
26129 (get_block_for_section): Likewise.
26130 (build_constant_desc): Likewise.
26131 (create_constant_pool): Likewise.
26132 (force_const_mem): Likewise.
26133
26134 * tree.c (build_vl_exp_stat): Likewise.
26135 (build_real): Likewise.
26136 (build_string): Likewise.
26137 (decl_debug_expr_insert): Likewise.
26138 (decl_value_expr_insert): Likewise.
26139 (type_hash_add): Likewise.
26140 (build_omp_clause): Likewise.
26141
26142 * tree-ssanames.c (duplicate_ssa_name_ptr_info): Likewise.
26143
26144 * tree-ssa.c (init_tree_ssa): Likewise.
26145
26146 * tree-ssa-structalias.c (heapvar_insert): Likewise.
26147
26148 * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
26149
26150 * tree-ssa-loop-niter.c (record_estimate): Likewise.
26151
26152 * tree-ssa-alias.c (get_ptr_info): Likewise.
26153
26154 * tree-scalar-evolution.c (new_scev_info_str): Likewise.
26155
26156 * tree-phinodes.c (allocate_phi_node): Likewise.
26157
26158 * tree-iterator.c (tsi_link_before): Likewise.
26159 (tsi_link_after): Likewise.
26160
26161 * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
26162
26163 * tree-dfa.c (create_var_ann): Likewise.
26164
26165 * tree-cfg.c (create_bb): Likewise.
26166
26167 * toplev.c (alloc_for_identifier_to_locale): Likewise.
26168 (general_init): Likewise.
26169
26170 * stringpool.c (stringpool_ggc_alloc): Likewise.
26171 (gt_pch_save_stringpool): Likewise.
26172
26173 * sese.c (if_region_set_false_region): Likewise.
26174
26175 * passes.c (do_per_function_toporder): Likewise.
26176
26177 * optabs.c (set_optab_libfunc): Likewise.
26178 (set_conv_libfunc): Likewise.
26179
26180 * lto-symtab.c (lto_symtab_register_decl): Likewise.
26181
26182 * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
26183 (input_eh_region): Likewise.
26184 (input_eh_lp): Likewise.
26185 (make_new_block): Likewise.
26186 (unpack_ts_real_cst_value_fields): Likewise.
26187
26188 * lto-section-in.c (lto_new_in_decl_state): Likewise.
26189
26190 * lto-cgraph.c (input_node_opt_summary): Likewise.
26191
26192 * loop-init.c (loop_optimizer_init): Likewise.
26193
26194 * lambda.h (lambda_vector_new): Likewise.
26195
26196 * lambda-code.c (replace_uses_equiv_to_x_with_y): Likewise.
26197
26198 * ira.c (update_equiv_regs): Likewise.
26199
26200 * ipa.c (cgraph_node_set_new): Likewise.
26201 (cgraph_node_set_add): Likewise.
26202 (varpool_node_set_new): Likewise.
26203 (varpool_node_set_add): Likewise.
26204
26205 * ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise.
26206 (duplicate_ipa_jump_func_array): Likewise.
26207 (ipa_read_node_info): Likewise.
26208
26209 * ipa-cp.c (ipcp_create_replace_map): Likewise.
26210
26211 * integrate.c (get_hard_reg_initial_val): Likewise.
26212
26213 * gimple.c (gimple_alloc_stat): Likewise.
26214 (gimple_build_omp_for): Likewise.
26215 (gimple_seq_alloc): Likewise.
26216 (gimple_copy): Likewise.
26217
26218 * gimple-iterator.c (gsi_insert_before_without_update): Likewise.
26219 (gsi_insert_after_without_update): Likewise.
26220
26221 * function.c (add_frame_space): Likewise.
26222 (insert_temp_slot_address): Likewise.
26223 (assign_stack_temp_for_type): Likewise.
26224 (allocate_struct_function): Likewise.
26225 (types_used_by_var_decl_insert): Likewise.
26226
26227 * except.c (init_eh_for_function): Likewise.
26228 (gen_eh_region): Likewise.
26229 (gen_eh_region_catch): Likewise.
26230 (gen_eh_landing_pad): Likewise.
26231 (add_call_site): Likewise.
26232
26233 * emit-rtl.c (get_mem_attrs): Likewise.
26234 (get_reg_attrs): Likewise.
26235 (start_sequence): Likewise.
26236 (init_emit): Likewise.
26237
26238 * dwarf2out.c (new_cfi): Likewise.
26239 (queue_reg_save): Likewise.
26240 (dwarf2out_frame_init): Likewise.
26241 (new_loc_descr): Likewise.
26242 (find_AT_string): Likewise.
26243 (new_die): Likewise.
26244 (add_var_loc_to_decl): Likewise.
26245 (clone_die): Likewise.
26246 (clone_as_declaration): Likewise.
26247 (break_out_comdat_types): Likewise.
26248 (new_loc_list): Likewise.
26249 (loc_descriptor): Likewise.
26250 (add_loc_descr_to_each): Likewise.
26251 (add_const_value_attribute): Likewise.
26252 (tree_add_const_value_attribute): Likewise.
26253 (add_comp_dir_attribute): Likewise.
26254 (add_name_and_src_coords_attributes): Likewise.
26255 (lookup_filename): Likewise.
26256 (store_vcall_insn): Likewise.
26257 (dwarf2out_init): Likewise.
26258
26259 * dbxout.c (dbxout_init): Likewise.
26260
26261 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
26262
26263 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
26264
26265 * config/score/score7.c (score7_output_external): Likewise.
26266
26267 * config/score/score3.c (score3_output_external): Likewise.
26268
26269 * config/s390/s390.c (s390_init_machine_status): Likewise.
26270
26271 * config/rs6000/rs6000.c (builtin_function_type): Likewise.
26272 (rs6000_init_machine_status): Likewise.
26273 (output_toc): Likewise.
26274
26275 * config/pa/pa.c (pa_init_machine_status): Likewise.
26276 (get_deferred_plabel): Likewise.
26277
26278 * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
26279
26280 * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
26281
26282 * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
26283
26284 * config/mep/mep.c (mep_init_machine_status): Likewise.
26285 (mep_note_pragma_flag): Likewise.
26286
26287 * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
26288
26289 * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
26290
26291 * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
26292
26293 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
26294 (i386_pe_maybe_record_exported_symbol): Likewise.
26295
26296 * config/i386/i386.c (get_dllimport_decl): Likewise.
26297 (ix86_init_machine_status): Likewise.
26298 (assign_386_stack_local): Likewise.
26299
26300 * config/frv/frv.c (frv_init_machine_status): Likewise.
26301
26302 * config/darwin.c (machopic_indirection_name): Likewise.
26303
26304 * config/cris/cris.c (cris_init_machine_status): Likewise.
26305
26306 * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
26307
26308 * config/avr/avr.c (avr_init_machine_status): Likewise.
26309
26310 * config/arm/arm.c (arm_init_machine_status): Likewise.
26311
26312 * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
26313 (alpha_need_linkage): Likewise.
26314 (alpha_use_linkage): Likewise.
26315
26316 * cgraph.c (cgraph_allocate_node): Likewise.
26317 (cgraph_create_edge_1): Likewise.
26318 (cgraph_create_indirect_edge): Likewise.
26319 (cgraph_add_asm_node): Likewise.
26320
26321 * cfgrtl.c (init_rtl_bb_info): Likewise.
26322
26323 * cfgloop.c (alloc_loop): Likewise.
26324 (rescan_loop_exit): Likewise.
26325
26326 * cfg.c (init_flow): Likewise.
26327 (alloc_block): Likewise.
26328 (unchecked_make_edge): Likewise.
26329
26330 * c-parser.c (c_parse_init): Likewise.
26331 (c_parse_file): Likewise.
26332
26333 * c-decl.c (bind): Likewise.
26334 (record_inline_static): Likewise.
26335 (push_scope): Likewise.
26336 (make_label): Likewise.
26337 (lookup_label_for_goto): Likewise.
26338 (finish_struct): Likewise.
26339 (finish_enum): Likewise.
26340 (c_push_function_context): Likewise.
26341
26342 * bitmap.c (bitmap_element_allocate): Likewise.
26343 (bitmap_gc_alloc_stat): Likewise.
26344
26345 * alias.c (record_alias_subset): Likewise.
26346 (init_alias_analysis): Likewise.
26347
26348 2010-06-08 Shujing Zhao <pearly.zhao@oracle.com>
26349
26350 * fold-const.c (fold_comparison): Remove redundant parenthesis.
26351 * tree-inline.c (expand_call_inline): Pass translated return value of
26352 cgraph_inline_failed_string to diagnostic function.
26353
26354 2010-06-08 Andrew Pinski <pinskia@gmail.com>
26355 Shujing Zhao <pearly.zhao@oracle.com>
26356
26357 PR c/37724
26358 * c-typeck.c (convert_for_assignment): Call pedwarn_init if the
26359 implicit bad conversions is initialization.
26360 (error_init): Use gmsgid instead of msgid for argument name and change
26361 the call for error.
26362 (pedwarn_init): Use gmsgid instead of msgid for argument name and
26363 change the call for pedwarn.
26364 (warning_init): Use gmsgid instead of msgid for argument name and
26365 change the call for warning.
26366
26367 2010-06-07 Nathan Froyd <froydnj@codesourcery.com>
26368
26369 * config/mips/mips-protos.h (mips_print_operand): Delete.
26370 (mips_print_operand_address): Delete.
26371 * config/mips/mips.h (mips_print_operand_punct): Delete.
26372 (PRINT_OPERAND): Delete.
26373 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
26374 (PRINT_OPERAND_ADDRESS): Delete.
26375 * config/mips/mips.c (mips_print_operand_punct): Make static.
26376 (mips_print_operand_address): Make static.
26377 (mips_print_operand): Make static. Call
26378 mips_print_operand_punct_valid_p.
26379 (mips_print_operand_punct_valid_p): New function.
26380 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
26381 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
26382
26383 2010-06-07 Jan Hubicka <jh@suse.cz>
26384
26385 PR middle-end/44454
26386 (df_lr_top_dump, df_lr_bottom_dump): Check that in/out bitmaps
26387 are allocated.
26388
26389 2010-06-07 Kaz Kojima <kkojima@gcc.gnu.org>
26390
26391 * config/sh/sh.c (sh_build_builtin_va_list): Set tree type
26392 name of RECORD.
26393
26394 2010-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
26395
26396 * doc/sourcebuild.texi (Effective-Target Keywords, Other
26397 attributes): Document gas.
26398
26399 2010-06-07 Uros Bizjak <ubizjak@gmail.com>
26400
26401 * config/i386/i386.md (*add<mode>_1): Remove alternative 2.
26402 <TYPE_LEA>: Split instruction.
26403 <default>: Remove alternative 2 handling.
26404 (*addsi_1_zext) <TYPE_LEA>: Split instruction.
26405 (add lea splitter): Generate SImode lea for mode sizes <= SImode.
26406 (add_zext lea splitter): Use ix86_lea_for_add_ok in insn predicate.
26407
26408 (*movsi_1) <TYPE_LEA>: Use %a modifier to output operand 1.
26409 (ashift_zext lea splitter): Use DImode for multiplication.
26410
26411 * config/i386/i386.c (ix86_expand_epilogue): Do not use ix86_gen_add
26412 to generate addition.
26413
26414 2010-06-07 Joseph Myers <joseph@codesourcery.com>
26415
26416 * common.opt (fira-verbose): Use Var.
26417 (fpcc-struct-return): Use Init instead of VarExists.
26418 * defaults.h (DEFAULT_PCC_STRUCT_RETURN): Move definition from
26419 toplev.c.
26420 * flags.h (flag_signed_char, flag_short_enums,
26421 flag_pcc_struct_return, flag_ira_verbose,
26422 flag_detailed_statistics, flag_remove_unreachable_functions): Remove.
26423 * toplev.c (flag_detailed_statistics, flag_signed_char,
26424 flag_short_enums, flag_pcc_struct_return, flag_ira_verbose): Remove.
26425 (DEFAULT_PCC_STRUCT_RETURN): Move definition to defaults.h.
26426 * toplev.h (flag_crossjumping, flag_if_conversion,
26427 flag_if_conversion2, flag_keep_static_consts, flag_peel_loops,
26428 flag_rerun_cse_after_loop, flag_thread_jumps, flag_tracer,
26429 flag_unroll_loops, flag_unroll_all_loops, flag_unswitch_loops,
26430 flag_cprop_registers, time_report, flag_ira_loop_pressure,
26431 flag_ira_coalesce, flag_ira_move_spills,
26432 flag_ira_share_save_slots, flag_ira_share_spill_slots): Remove.
26433
26434 2010-06-07 Jan Hubicka <jh@suse.cz>
26435
26436 * df-core.c (df_analyze_problem): Do verification after allocation.
26437
26438 * df-problems.c (df_lr_problem_data): Add lr_bitmaps.
26439 (df_lr_alloc): Initialize problem data; move bitmaps to
26440 lr_bitmaps obstack.
26441 (df_lr_finalize): Free problem data; do not bother to free bitmaps.
26442 (df_lr_verify_solution_start): Do not initialize problem data;
26443 allocate bitmaps in lr_bitmaps.
26444 (df_lr_verify_solution_end): Do not free problem data.
26445
26446 2010-06-07 Jan Hubicka <jh@suse.cz>
26447
26448 * cgraph.c (cgraph_edge_cannot_lead_to_return): Also check
26449 if caller is noreturn.
26450 * ipa-reference.c (analyze_function): Use ipa_ref_cannot_lead_to_return
26451 * ipa-ref.h (ipa_ref_cannot_lead_to_return): New function.
26452 * ipa-ref.c (ipa_ref_cannot_lead_to_return): New function.
26453 * ipa-pure-const.c (check_decl): Add IPA parameter.
26454 (state_from_flags): New function.
26455 (better_state, worse_state): New functions.
26456 (check_call): When in IPA mode, do not care about callees.
26457 (check_load, check_store): Update.
26458 (check_ipa_load, check_ipa_store): New.
26459 (check_stmt): When in IPA mode, use IPA checkers.
26460 (analyze_function): Use state_from_flags.
26461 (propagate): Check indirect edges and references.
26462
26463 2010-06-07 Kazu Hirata <kazu@codesourcery.com>
26464
26465 PR rtl-optimization/44404
26466 * auto-inc-dec.c (find_inc): Use reg_overlap_mentioned_p instead
26467 of count_occurrences to see if it's safe to modify mem_insn.
26468
26469 2010-06-07 Richard Guenther <rguenther@suse.de>
26470
26471 * gimplify.c (gimplify_cleanup_point_expr): For empty body
26472 and EH-only cleanup drop the cleanup instead of inserting it
26473 unconditionally.
26474
26475 2010-06-07 Ira Rosen <irar@il.ibm.com>
26476
26477 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Update
26478 documentation.
26479 * targhooks.c (default_builtin_vectorization_cost): New function.
26480 * targhooks.h (default_builtin_vectorization_cost): Declare.
26481 * target.h (enum vect_cost_for_stmt): Define.
26482 (builtin_vectorization_cost): Change argument and comment.
26483 * tree-vectorizer.h: Remove cost model macros.
26484 * tree-vect-loop.c: Include target.h.
26485 (vect_get_cost): New function.
26486 (vect_estimate_min_profitable_iters): Replace cost model macros with
26487 calls to vect_get_cost.
26488 (vect_model_reduction_cost, vect_model_induction_cost): Likewise.
26489 * target-def.h (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Add
26490 default implementation.
26491 * tree-vect-stmts.c (cost_for_stmt): Replace cost model macros with
26492 calls to target hook builtin_vectorization_cost.
26493 (vect_model_simple_cost, vect_model_store_cost, vect_model_load_cost):
26494 Likewise.
26495 * Makefile.in (tree-vect-loop.o): Add dependency on TARGET_H.
26496 * config/spu/spu.c (spu_builtin_vectorization_cost): Replace with new
26497 implementation to return costs.
26498 * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
26499 * config/spu/spu.h: Remove vectorizer cost model macros.
26500 * config/i386/i386.h: Likewise.
26501 * tree-vect-slp.c (vect_build_slp_tree): Replace cost model macro with
26502 a call to target hook builtin_vectorization_cost.
26503
26504 2010-06-06 Sriraman Tallam <tmsriram@google.com>
26505
26506 PR target/44319
26507 * config/i386/i386.c (override_options): Turn zee pass on for level 2
26508 and above and defer till target is known.
26509 (optimization_options): Turn on zee pass if TARGET_64BIT is set and
26510 turn off otherwise.
26511
26512 2010-05-25 Jan Hubicka <jh@suse.cz>
26513
26514 * df-core.c (df_set_blocks): Use bitmap_head instead of bitmap.
26515 (df_compact_blocks): Likewise.
26516 * df.h (struct df): Turn hardware_regs_used,
26517 regular_block_artificial_uses, eh_block_artificial_uses,
26518 insns_to_delete, insns_to_rescan, insns_to_notes_rescan into
26519 bitmap_head.
26520 * df-problems.c (df_lr_local_compute, df_lr_confluence_0,
26521 df_byte_lr_alloc, df_simulate_fixup_sets): Update.
26522 * df-scan.c (df_scan_free_internal, df_scan_alloc, df_scan_start_dump,
26523 df_scan_blocks, df_insn_delete, df_insn_rescan,
26524 df_insn_rescan_debug_internal, df_insn_rescan_all,
26525 df_process_deferred_rescans, df_process_deferred_rescans,
26526 df_notes_rescan, df_get_call_refs, df_get_call_refs,
26527 regs_invalidated_by_call_regset, df_get_call_refs, df_bb_refs_collect,
26528 df_record_entry_block_defs, df_record_exit_block_uses,
26529 df_update_exit_block_uses, df_bb_verify, df_entry_block_bitmap_verify,
26530 df_scan_verify): Update.
26531
26532 2010-05-25 Dodji Seketeli <dodji@redhat.com>
26533
26534 PR c++/44188
26535 * c-common.c (is_typedef_decl): Move this definition ...
26536 * tree.c (is_typedef_decl): ... here.
26537 (typdef_variant_p): Move definition here from cp/tree.c.
26538 * c-common.h (is_typedef_decl): Move this declaration ...
26539 * tree.h (is_typedef_decl): ... here.
26540 (typedef_variant_p): Move declaration here from cp/cp-tree.h
26541 * dwarf2out.c (is_naming_typedef_decl): New function.
26542 (gen_tagged_type_die): Split out of ...
26543 (gen_type_die_with_usage): ... this function. When an anonymous
26544 tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
26545 is emitted for the typedef.
26546 (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
26547 anonymous tagged types.
26548
26549 2010-06-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
26550
26551 PR c/20000
26552 * c-decl.c (grokdeclarator): Delete warning.
26553
26554 2010-06-06 Eric Botcazou <ebotcazou@adacore.com>
26555
26556 * stor-layout.c (self_referential_size): Set UNKNOWN_LOCATION on the
26557 newly built CALL_EXPR.
26558 * tree-profile.c (tree_profiling): Don't profile functions produced
26559 for built-in stuff.
26560
26561 2010-06-06 Segher Boessenkool <segher@kernel.crashing.org>
26562
26563 PR bootstrap/44427
26564 PR bootstrap/44428
26565 * genautomata.c (SET_BIT, CLEAR_BIT, TEST_BIT): Make these macros
26566 endianness-independent.
26567
26568 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
26569
26570 * c-common.c: Move to c-family/.
26571 * c-common.def: Likewise.
26572 * c-common.h: Likewise.
26573 * c-cppbuiltin.c: Likewise.
26574 * c-dump.c: Likewise.
26575 * c-format.c: Likewise.
26576 * c-format.h : Likewise.
26577 * c-gimplify.c: Likewise.
26578 * c-lex.c: Likewise.
26579 * c-omp.c: Likewise.
26580 * c.opt: Likewise.
26581 * c-opts.c: Likewise.
26582 * c-pch.c: Likewise.
26583 * c-ppoutput.c: Likewise.
26584 * c-pragma.c: Likewise.
26585 * c-pragma.h: Likewise.
26586 * c-pretty-print.c: Likewise.
26587 * c-pretty-print.h: Likewise.
26588 * c-semantics.c: Likewise.
26589 * stub-objc.c: Likewise.
26590
26591 * gengtype.c (get_file_langdir): Special-case files in c-family/.
26592 (get_output_file_with_visibility): Fix name for c-common.h.
26593 * c-config-lang.in: Update paths in gtfiles for files in c-family/.
26594
26595 * c-tree.h: Update include path for moved files.
26596 * c-lang.c: Likewise.
26597 * c-lang.h: Likewise.
26598 * c-parser.c: Likewise.
26599 * c-convert.c: Likewise.
26600 * c-decl.c: Likewise.
26601 * c-objc-common.c: Likewise.
26602 * configure.ac: Make sure c-family/ exists in the build directory.
26603 * configure: Regenerate.
26604 * Makefile.in: Update paths for moved files. Regroup files per
26605 location and update dependencies. Move generated_files down after
26606 ALL_GTFILES_H.
26607
26608 * config/spu/spu-c.c: Update paths for moved files.
26609 * config/mep/mep-pragma.c: Likewise.
26610 * config/darwin-c.c: Likewise.
26611 * config/i386/msformat-c.c: Likewise.
26612 * config/i386/i386-c.c: Likewise.
26613 * config/avr/avr-c.c: Likewise.
26614 * config/sol2-c.c: Likewise.
26615 * config/ia64/ia64-c.c: Likewise.
26616 * config/rs6000/rs6000-c.c: Likewise.
26617 * config/arm/arm.c: Likewise.
26618 * config/arm/arm-c.c: Likewise.
26619 * config/h8300/h8300.c: Likewise.
26620 * config/v850/v850-c.c: Likewise.
26621
26622 * config/t-darwin: Fix dependencies for moved files.
26623 * config/t-sol2: Fix dependencies for moved files.
26624 * config/mep/t-mep: Fix dependencies for moved files.
26625 * config/ia64/t-ia64: Fix dependencies for moved files.
26626 * config/rs6000/t-rs6000: Fix dependencies for moved files.
26627 * config/v850/t-v850: Fix dependencies for moved files.
26628 * config/v850/t-v850e: Fix dependencies for moved files.
26629
26630 * config/m32c/m32c-pragma.c
26631
26632 * po/exgettext: Look in c-family/ also.
26633
26634 2010-06-05 Eric Botcazou <ebotcazou@adacore.com>
26635
26636 * tree-ssa-dce.c (mark_last_stmt_necessary): New function.
26637 (mark_control_dependent_edges_necessary): Call it instead of marking
26638 the last statement manually.
26639 (propagate_necessity): Likewise.
26640
26641 2010-06-05 Jan Hubicka <jh@suse.cz>
26642
26643 * basic-block.h (compute_dominance_frontiers): Updated.
26644 (compute_idf): Likewise.
26645
26646 * tree-into-ssa.c (insert_phi_nodes): Use bitmap heads
26647 for dominance frontiers.
26648 (rewrite_into_ssa): Update for bitmap heads in dominance frontiers.
26649 (insert_updated_phi_nodes_for): Likewise.
26650 (update_ssa): Likewise.
26651 * cfganal.c (compute_dominance_frontiers_1): Likewise.
26652 (compute_dominance_frontiers): Likewise.
26653 (compute_idf): Likewise.
26654 * df-problems.c (df_md_local_compute): Likewise.
26655
26656 2010-06-05 Anatoly Sokolov <aesok@post.ru>
26657
26658 * target.h (struct gcc_target): Add memory_move_cost field.
26659 * target-def.h (TARGET_MEMORY_MOVE_COST): New.
26660 (TARGET_INITIALIZER): Use TARGET_MEMORY_MOVE_COST.
26661 * targhooks.c (default_memory_move_cost): New function.
26662 * targhooks.h (default_memory_move_cost): Declare function.
26663 * reload.h (memory_move_cost): Declare.
26664 (memory_move_secondary_cost): Change type of 'in' argument to bool.
26665 * reginfo.c (memory_move_cost): New function.
26666 (memory_move_secondary_cost): Change type of 'in' argument to bool.
26667 * ira.h (ira_memory_move_cost): Update comment.
26668 * ira.c (ira_memory_move_cost): Update comment.
26669 (setup_class_subset_and_memory_move_costs): Replace MEMORY_MOVE_COST
26670 with memory_move_cost.
26671 * postreload.c (reload_cse_simplify_set): (Ditto.).
26672 * reload1.c (choose_reload_regs): (Ditto.).
26673 * doc/tm.texi (TARGET_MEMORY_MOVE_COST): New.
26674 (MEMORY_MOVE_COST): Revise documentation.
26675
26676 * config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
26677 * config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
26678 * config/i386/i386.h (ix86_memory_move_cost): Make static. Change
26679 type of 'in' argument to bool.
26680 (TARGET_MEMORY_MOVE_COST): Define.
26681
26682 2010-06-05 Jan Hubicka <jh@suse.cz>
26683
26684 * ipa-pure-const.c (propagate): Fix typo in handling of functions
26685 that cannot return. Be more careful when merging the results with
26686 previously known ones.
26687
26688 2010-06-05 Matthias Klose <doko@ubuntu.com>
26689
26690 * gcc.c (cc1_options, cpp_unique_options): Use find-plugindir spec
26691 function to add the -iplugindir option.
26692 (find_plugindir_spec_function): Add new declaration and function.
26693 (static_spec_func): Use it for "find-plugindir".
26694
26695 2010-06-05 Jakub Jelinek <jakub@redhat.com>
26696
26697 PR c++/44361
26698 * c-typeck.c (mark_exp_read): Handle C_MAYBE_CONST_EXPR.
26699 * c-parser.c (c_parser_postfix_expression): Call mark_exp_read on
26700 statement expression.
26701
26702 2010-06-05 Jan Hubicka <jh@suse.cz>
26703
26704 * df-problems.c (seen_in_block, seen_in_insn): Convert to bitmap_head.
26705 (df_rd_problem_data): Convert sparse_invalidated_by_call,
26706 dense_invalidated_by_call to bitmap head.
26707 (df_rd_alloc, df_rd_bb_local_compute_process_def,
26708 df_rd_bb_local_compute, df_rd_confluence_n, df_rd_transfer_function,
26709 df_rd_start_dump, df_lr_verify_transfer_functions,
26710 df_live_verify_transfer_functions, df_chain_create_bb,
26711 df_chain_add_problem, df_byte_lr_check_regs, df_byte_lr_alloc,
26712 df_byte_lr_confluence_0, df_byte_lr_confluence_n, df_note_compute,
26713 df_simulate_one_insn_forwards, df_md_alloc,
26714 df_md_bb_local_compute_process_def,
26715 df_md_bb_local_compute_process_def, df_md_local_compute,
26716 df_md_transfer_function df_md_free): Update.
26717
26718 2010-06-05 Joseph Myers <joseph@codesourcery.com>
26719
26720 PR c/44322
26721 * c-typeck.c (build_unary_op): Merge qualifiers into pointer
26722 target type for ADDR_EXPR; require no changes to qualifiers except
26723 for function types.
26724 * c-tree.h (c_build_type_variant): Remove.
26725
26726 2010-06-05 Segher Boessenkool <segher@kernel.crashing.org>
26727
26728 * genautomata.c (get_excl_set): Do work per element, not per char.
26729 (check_presence_pattern_sets): Similar.
26730 (check_absence_pattern_sets): Similar.
26731
26732 2010-06-05 Segher Boessenkool <segher@kernel.crashing.org>
26733
26734 * genautomata.c (curr_state_pass_num): Delete.
26735 (min_issue_delay_pass_states): Delete.
26736 (min_issue_delay): Delete.
26737 (initiate_min_issue_delay_pass_states): Delete.
26738 (output_min_issue_delay_table): Compute min_issue_delay_vect
26739 using a breadth-first search variant.
26740 (output_tables): Don't call initiate_min_issue_delay_pass_states.
26741
26742 2010-06-04 H.J. Lu <hongjiu.lu@intel.com>
26743
26744 PR boostrap/44421
26745 * df-problems.c (df_lr_bb_local_compute): Updated for embedded bitmaps.
26746 (df_byte_lr_bb_local_compute): Likewise.
26747
26748 2010-06-03 Jason Merrill <jason@redhat.com>
26749
26750 Implement noexcept operator (5.3.7)
26751 * c-common.c (c_common_reswords): Add noexcept.
26752 * c-common.h (enum rid): Add RID_NOEXCEPT.
26753
26754 2010-06-04 Joseph Myers <joseph@codesourcery.com>
26755
26756 * config/darwin-driver.c (darwin_default_min_version): Use
26757 GCC-specific formats in diagnostics.
26758 * cppspec.c (lang_specific_driver): Use GCC-specific formats in
26759 diagnostics.
26760 * gcc.c (translate_options, read_specs, add_sysrooted_prefix,
26761 execute, process_command, end_going_arg, do_self_spec, do_spec_1,
26762 eval_spec_function, handle_braces, process_brace_body, main,
26763 perror_with_name, used_arg, set_multilib_dir, print_multilib_info,
26764 getenv_spec_function, compare_version_strings,
26765 version_compare_spec_function): Use GCC-specific formats in
26766 diagnostics.
26767
26768 2010-06-04 Uros Bizjak <ubizjak@gmail.com>
26769
26770 * config/i386/i386.md (*addhi_1_lea) <TYPE_INCDEC, default>: Assert
26771 that operand 0 and operand 1 are equal.
26772 (*addqi_1_lea) <TYPE_INCDEC, default>: Ditto.
26773 (*add<mode>_2) <TYPE_INCDEC>: Remove assert that operand 0
26774 and operand 1 are equal.
26775 <default>: Ditto. Remove ??? comment.
26776 (*add<mode>_3) <TYPE_INCDEC>: Remove assert that operand 0
26777 and operand 1 are equal.
26778 <default>: Ditto. Remove ??? comment.
26779 (*adddi_4) <default>: Remove assert that operand 0 and operand 1
26780 are equal.
26781 (*add<mode>_4) <default>: Ditto.
26782 (*add<mode>_5) <TYPE_INCDEC, default>: Ditto.
26783
26784 2010-06-04 Nathan Froyd <froydnj@codesourcery.com>
26785
26786 * config/i386/i386-protos.h (ix86_print_operand): Declare.
26787 * config/i386/i386.c (ix86_print_operand): Make non-static.
26788 * config/i386/sol2.h (ASM_OUTPUT_CALL): Call ix86_print_operand.
26789 * output.h (output_operand): Declare.
26790 * final.c (output_operand): Make non-static.
26791
26792 2010-06-04 Alexandre Oliva <aoliva@redhat.com>
26793
26794 PR rtl-optimization/44013
26795 * sched-deps.c (add_dependence_list_and_free): Don't free lists
26796 when processing debug insns.
26797
26798 PR debug/41371
26799 * var-tracking.c (find_loc_in_1pdv): Mark initial value before
26800 recursing. Check that recursion is bounded. Rename inner var
26801 to avoid hiding incoming argument.
26802
26803 2010-06-04 Uros Bizjak <ubizjak@gmail.com>
26804
26805 * config/i386/i386.md (*addqi_2) <TYPE_INCDEC>: Do not assert that
26806 operands[2] == 255.
26807 (*addqi_3): Ditto.
26808 (*addqi_4): Ditto.
26809 (*addqi_5): Ditto.
26810 (*addqi_ext_1_rex64): Ditto.
26811 (*addqi_ext_1): Ditto.
26812
26813 (*addqi_4): Check for incdec_operand in QImode.
26814
26815 (*add<mode>_2): Macroize insn from *add<mode>_2 and *add{qi,hi}_2
26816 using SWI mode iterator.
26817 (*add<mode>_3): Ditto from *add<mode>_3 and *add{qi,hi}_3.
26818 (*add<mode>_4): Macroize insn from *add{qi,hi,si}_4 using SWI124
26819 mode iterator.
26820 (*add<mode>_5): Macroize insn from *add<mode>_5 and *add{qi,hi}_5
26821 using SWI mode iterator.
26822
26823 2010-06-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
26824
26825 PR c/25880
26826 * c-objc-common.c (c_tree_printer): Handle %V, %v and %#v.
26827 * c-format.c (gcc_diag_flag_specs): Add hash.
26828 (gcc_cxxdiag_flag_specs): Use gcc_diag_flag_specs directly.
26829 (gcc_tdiag_char_table,gcc_cdiag_char_table): Handle %V and %v.
26830 * c-pretty-print.c (pp_c_cv_qualifier): Rename as
26831 pp_c_cv_qualifiers. Handle qualifiers spelling here.
26832 (pp_c_type_qualifier_list): Call the function above.
26833 * c-pretty-print.h (pp_c_cv_qualifiers): Declare.
26834 * c-typeck.c (handle_warn_cast_qual): Print qualifiers.
26835 (WARN_FOR_QUALIFIERS): New macro.
26836 (convert_for_assignment): Use it.
26837
26838 2010-06-04 Kai Tietz <kai.tietz@onevision.com>
26839
26840 * config/i386/cygming.h (ASM_GENERATE_INTERNAL_LABEL): Prefix by '*'.
26841
26842 2010-06-04 Jan Hubicka <jh@suse.cz>
26843
26844 * df.h (df_rd_bb_info, df_md_bb_info, df_lr_bb_info, df_live_bb_info,
26845 df_byte_lr_bb_info): Embedd bitmap_head into the structure.
26846 (DF_LIVE_IN, DF_LIVE_OUT, DF_LR_IN, DF_LR_OUT, DF_BYTE_LR_IN,
26847 DF_BYTE_LR_OUT): Update for embedded bitmaps.
26848 * fwprop.c (single_def_use_enter_block): Likewise.
26849 * ddg.c (create_ddg_dep_from_intra_loop_link,
26850 add_cross_iteration_register_deps, build_inter_loop_deps): Likewise.
26851 * loop-iv.c (latch_dominating_def): Likewise.
26852 * df-problems.c (df_rd_free_bb_info, df_rd_alloc,
26853 df_rd_bb_local_compute_process_def, df_rd_bb_local_compute_process_def,
26854 df_rd_init_solution, df_rd_init_solution, df_rd_transfer_function,
26855 df_rd_transfer_function, df_rd_top_dump,
26856 df_rd_bottom_dump): Update.
26857 (df_lr_free_bb_info, df_lr_alloc, df_lr_reset, df_lr_bb_local_compute,
26858 df_lr_bb_local_compute, df_lr_bb_local_compute, df_lr_bb_local_compute,
26859 df_lr_bb_local_compute, df_lr_local_compute, df_lr_init, df_lr_init,
26860 df_lr_confluence_0, df_lr_free, df_lr_top_dump, df_lr_bottom_dump,
26861 df_lr_verify_solution_start, df_lr_verify_solution_end,
26862 df_lr_verify_transfer_functions, df_lr_verify_transfer_functions,
26863 df_live_free_bb_info, df_live_alloc, df_live_reset,
26864 df_live_bb_local_compute, df_live_init, df_live_transfer_function,
26865 df_live_finalize, df_live_free, df_live_top_dump, df_live_bottom_dump,
26866 df_live_verify_solution_start, df_live_verify_solution_end,
26867 df_live_verify_transfer_functions, df_chain_create_bb,
26868 df_byte_lr_free_bb_info, df_byte_lr_alloc, df_byte_lr_reset,
26869 df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
26870 df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
26871 df_byte_lr_bb_local_compute, df_byte_lr_local_compute, df_byte_lr_init,
26872 df_byte_lr_confluence_0, df_byte_lr_confluence_n,
26873 df_byte_lr_transfer_function, df_byte_lr_top_dump,
26874 df_byte_lr_bottom_dump, df_create_unused_note,
26875 df_note_bb_compute, df_md_free_bb_info, df_md_alloc,
26876 df_md_bb_local_compute_process_def, df_md_local_compute, df_md_reset,
26877 df_md_transfer_function, df_md_init, df_md_confluence_0,
26878 df_md_confluence_n,
26879 df_md_top_dump, df_md_bottom_dump): Update.
26880 (struct df_lr_problem_data): Embedd bitmap headers.
26881
26882 2010-06-04 Jan Hubicka <jh@suse.cz>
26883
26884 * dce.c (dce_process_block): Do not re-scan already marked
26885 instructions.
26886
26887 2010-06-04 Bernd Schmidt <bernds@codesourcery.com>
26888
26889 PR rtl-optimization/39871
26890 PR rtl-optimization/40615
26891 PR rtl-optimization/42500
26892 PR rtl-optimization/42502
26893 * ira.c (init_reg_equiv_memory_loc: New function.
26894 (ira): Call it twice.
26895 * reload.h (calculate_elim_costs_all_insns): Declare.
26896 * ira-costs.c: Include "reload.h".
26897 (regno_equiv_gains): New static variable.
26898 (init_costs): Allocate it.
26899 (finish_costs): Free it.
26900 (ira_costs): Call calculate_elim_costs_all_insns.
26901 (find_costs_and_classes): Take estimated elimination costs
26902 into account.
26903 (ira_adjust_equiv_reg_cost): New function.
26904 * ira.h (ira_adjust_equiv_reg_cost): Declare it.
26905 * reload1.c (init_eliminable_invariants, free_reg_equiv,
26906 elimination_costs_in_insn, note_reg_elim_costly): New static functions.
26907 (elim_bb): New static variable.
26908 (reload): Move code out of here into init_eliminable_invariants and
26909 free_reg_equiv. Call them.
26910 (calculate_elim_costs_all_insns): New function.
26911 (eliminate_regs_1): Declare. Add extra arg FOR_COSTS;
26912 all callers changed. If FOR_COSTS is true, don't call alter_reg,
26913 but call note_reg_elim_costly if we turned a valid memory address
26914 into an invalid one.
26915 * Makefile.in (ira-costs.o): Depend on reload.h.
26916
26917 2010-06-04 Julian Brown <julian@codesourcery.com>
26918
26919 * config/arm/thumb2.md (*thumb2_movdf_soft_insn): Fix alternatives
26920 for pool ranges.
26921
26922 2010-06-04 Richard Guenther <rguenther@suse.de>
26923
26924 PR lto/41584
26925 * cgraph.h (struct varpool_node): Add lto_file_data field.
26926 * lto-cgraph.c (input_varpool_node): Initialize it.
26927
26928 2010-06-04 Uros Bizjak <ubizjak@gmail.com>
26929
26930 * config/i386/predicates.md (pic_symbolic_operand): Remove predicate.
26931 * config/i386/i386.md (*add<mode>_1): Do not use pic_symbolic_operand
26932 predicate in "type" attribute calculation.
26933 (*addsi_1_zext): Ditto.
26934 (*add<mode>_2): Do not use pic_symbolic_operand in insn predicate.
26935 (*addsi_2_zext): Ditto.
26936 (*add<mode>_3): Ditto.
26937 (*addsi_3_zext): Ditto.
26938 (*add<mode>_5): Ditto.
26939
26940 2010-06-03 Jan Hubicka <jh@suse.cz>
26941
26942 * tree-into-ssa.c (mark_block_for_update): Avoid redundant call
26943 of bitmap_bit_p.
26944 * cfganal.c (compute_dominance_frontiers_1): Likewise.
26945
26946 2010-06-03 Jan Hubicka <jh@suse.cz>
26947
26948 * df-problems.c (df_create_unused_note, df_note_bb_compute):
26949 micro-optimize the checks when to add new note.
26950
26951 2010-06-03 Nathan Froyd <froydnj@codesourcery.com>
26952
26953 * final.c (output_asm_insn): Call
26954 targetm.asm_out.print_operand_punct_valid_p. Update comments.
26955 (output_operand): Call targetm.asm_out.print_operand. Update comments.
26956 (output_address): Call targetm.asm_out.print_operand_address.
26957 Update comments.
26958 * target.h (struct gcc_target): Add print_operand,
26959 print_operand_address, and print_operand_punct_valid_p fields.
26960 * targhooks.h (default_print_operand): Declare.
26961 (default_print_operand_address): Declare.
26962 (default_print_operand_punct_valid_p): Declare.
26963 * targhooks.c (default_print_operand): Define.
26964 (default_print_operand_address): Define.
26965 (default_print_operand_punct_valid_p): Define.
26966 * target-def.h (TARGET_PRINT_OPERAND): Define if not defined.
26967 (TARGET_PRINT_OPERAND_ADDRESS): Likewise.
26968 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Likewise.
26969 (TARGET_ASM_OUT): Add TARGET_PRINT_OPERAND,
26970 TARGET_PRINT_OPERAND_ADDRESS, and TARGET_PRINT_OPERAND_PUNCT_VALID_P.
26971 * vmsdbgout.c (addr_const_to_string): Update comment.
26972 * config/i386/i386.c (print_operand): Rename to...
26973 (ix86_print_operand): ...this. Make static.
26974 (print_operand_address): Rename to...
26975 (ix86_print_operand_address): ...this. Make static. Call
26976 ix86_print_operand instead of PRINT_OPERAND.
26977 (ix86_print_operand_punct_valid_p): New function.
26978 (TARGET_PRINT_OPERAND): Define.
26979 (TARGET_PRINT_OPERAND_ADDRESS): Define.
26980 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
26981 * config/i386/i386.h (HI_REGISTER_NAMES): Update comment.
26982 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
26983 (PRINT_OPERAND): Delete.
26984 (PRINT_OPERAND_ADDRESS): Delete.
26985 * config/i386/i386-protos.h (print_operand): Delete prototype.
26986 (print_operand_address): Delete prototype.
26987
26988 2010-06-03 Richard Guenther <rguenther@suse.de>
26989
26990 PR tree-optimization/44403
26991 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
26992 Preserve pointer qualifiers.
26993 (vect_create_data_ref_ptr): Likewise.
26994
26995 2010-06-03 H.J. Lu <hongjiu.lu@intel.com>
26996
26997 PR c++/44294
26998 * defaults.h (MAX_FIXED_MODE_SIZE): New.
26999
27000 * stor-layout.c (MAX_FIXED_MODE_SIZE): Removed.
27001
27002 2010-06-03 Jakub Jelinek <jakub@redhat.com>
27003
27004 PR debug/44375
27005 * tree-cfg.c (gimple_can_merge_blocks_p): For -O0
27006 return false if merging the bbs would lead to goto_locus
27007 location being lost from the IL.
27008
27009 2010-06-03 Jan Hubicka <jh@suse.cz>
27010 Jakub Jelinek <jakub@redhat.com>
27011
27012 * var-tracking.c (dataflow_set_equiv_regs): Shortcut the loop if
27013 set->regs[i] is NULL or has just one entry.
27014
27015 2010-06-03 Jan Hubicka <jh@suse.cz>
27016
27017 * lto-cgraph.c (lto_varpool_encoder_size): Remove.
27018 * lto-streamer.h (lto_varpool_encoder_size): New inline function.
27019
27020 2010-06-03 Paul Brook <paul@codesourcery.com>
27021
27022 * config/arm/arm.c (FL_TUNE): Define.
27023 (arm_default_cpu, arm_cpu_select): Remove.
27024 (all_cores): Populate core field.
27025 (arm_selected_arch, arm_selected_cpu, arm_selected_tune): New.
27026 (arm_find_cpu): New function.
27027 (arm_handle_option): Lookup cpu/architecture names.
27028 (arm_override_options): Cleanup mcpu/march/mtune handling.
27029 (arm_file_start): Ditto.
27030
27031 2010-06-03 Alan Modra <amodra@gmail.com>
27032
27033 PR target/44169
27034 * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Add label operand.
27035 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Pass label
27036 rtx to gen_load_toc_v4_PIC_1b. Tidy.
27037 (rs6000_emit_load_toc_table): Likewise.
27038
27039 2010-06-02 Jan Hubicka <jh@suse.cz>
27040
27041 * passes.c (init_optimization_passes): Put ipa reference
27042 after ipa pure-const.
27043
27044 2010-06-02 Jan Hubicka <jh@suse.cz>
27045
27046 * ipa-reference.c (ipa_reference_local_vars_info_d): Remove
27047 calls_read_all and calls_write_all.
27048 (get_reference_optimization_summary): Fix formatting.
27049 (is_proper_for_analysis): Check that decl is not readonly.
27050 (propagate_bits): Check CONST/PURE/noreturn flags.
27051 (ipa_init): Move all_module_statics to optimization_summary_obstack.
27052 (analyze_function): Ignore indirect edges.
27053 (copy_global_bitmap): For all module statics, do nothing.
27054 (generate_summary): Do not print calls_read_all/calls_write_all.
27055 (read_write_all_from_decl): Take node as argument; check
27056 cgraph_node_cannot_return.
27057 (propagate): Reorganize read_all/write_all computation;
27058 check indirect edges; check ecf flags; use all_module_statics
27059 in the results; do not free all_module_statics.
27060 (stream_out_bitmap): Handle all_module_statics.
27061 (ipa_reference_write_optimization_summary): Likewise; use
27062 varpool/cgraph encoders to get boundaries.
27063 (ipa_reference_read_optimization_summary): Read in all_module_statics;
27064 use it when possible.
27065
27066 2010-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
27067
27068 PR target/44218
27069 * doc/invoke.texi (RS/6000 and PowerPC Options): Delete obsolete
27070 -mswdiv option. Add -mrecip, -mrecip=<xxx>, -mrecip-precision options.
27071
27072 * doc/extend.texi (powerpc builtins): Document vec_recip,
27073 vec_rsqrt, vec_rsqrte altivec/vsx builtins.
27074
27075 * config/rs6000/rs60000-protos.h (rs6000_emit_swdiv): New function.
27076 (rs6000_emit_swrsqrt): Ditto.
27077 (rs6000_emit_swdivsf): Delete.
27078 (rs6000_emit_swdivdf): Ditto.
27079 (rs6000_emit_swrsqrtsf): Ditto.
27080
27081 * config/rs6000/rs6000.c (rs6000_recip_bits): New global to
27082 describe the reciprocal estimate support for each type.
27083 (recip_options): Map -mrecip=<opt> into option bits.
27084 (gen_2arg_fn_t): New typedef for binary rtx gen function.
27085 (rs6000_debug_reg_global): If -mdebug=reg, print the state of the
27086 reciprocal estimate instructions.
27087 (rs6000_init_hard_regno_mode_ok): Key ws constraint off of the
27088 debug -mvsx-scalar-memory switch instead of -mvsx-scalar-double.
27089 Set up rs6000_recip_bits based on the -mrecip* options. Print the
27090 cost information if -mdebug=cost or -mdebug=reg.
27091 (rs6000_override_options): Set -mrecip-precision for power6, and
27092 power7 machines. If -mvsx or -mdfp, enable various options that
27093 came in previous instruction set ISAs, unless the option was
27094 explicitly disabled by the command line option. Parse
27095 -mrecip=<opt> options.
27096 (rs6000_builtin_vectorized_function): Add support for vectorizing
27097 the reciprocal estimate builtins and expansions.
27098 (rs6000_handle_option): Add -mrecip, -mrecip=<opt> support.
27099 (bdesc_2arg): Add reciprocal estimate builtins.
27100 (bdesc_1arg): Add reciprocal square root estimate builtins.
27101 (rs6000_expand_builtin): Rewrite to use a switch statement,
27102 instead of multiple if/then/elses. Add reciprocal estimate builtins.
27103 (rs6000_init_builtins): Create declarations for reciprocal
27104 estimate builtins.
27105 (rs6000_preferred_reload_class): Simplify VSX preferences, if scalar
27106 sized, prefer traditional floating point registers, if integer
27107 vector types, prefer altivec registers. Don't actually look at
27108 the memory address any more.
27109 (rs6000_builtin_reciprocal): Add new builtin reciprocal estimate
27110 builtins.
27111 (rs6000_load_constant_and_splat): New helper function to load up
27112 the constant for reciprocal estimate instructions.
27113 (rs6000_emit_madd): New helper function for generating
27114 multiply/add type instructions, based on the current switches.
27115 (rs6000_emit_msub): Ditto.
27116 (rs6000_emit_mnsub): Ditto.
27117 (rs6000_emit_swdiv_high_precision): Replace rs6000_emit_swdivsf to
27118 replace a divide with a reciprocal estimate and fixup, adding
27119 support for machines with high precision and vectors.
27120 (rs6000_emit_swdiv_low_precision): Rewrite rs6000_emit_swdivdf for
27121 low precision machines.
27122 (rs6000_emit_swdiv): New common function to be called to replace a
27123 division with reciprocal estimate and fixup.
27124 (rs6000_emit_swrsqrt): Replace rs6000_emit_swrsqrtsf. Add support
27125 for double and vector types. Add support for high precision machines.
27126
27127 * config/rs6000/rs6000.h (TARGET_FRES): New macro to say whether
27128 the reciprocal estimate instructions can be generated.
27129 (TARGET_FRE): Ditto.
27130 (TARGET_FRSQRTES): Ditto.
27131 (TARGET_FRSQRTE): Ditto.
27132 (RS6000_RECIP_*): New macros for reciprocal estimate support.
27133
27134 * config/rs6000/vector.md (rsqrte<mode>2): New insn for reciprocal
27135 square root estimate on vectors.
27136 (re<mode>2): New insn for reciprocal division estimate on vectors.
27137
27138 * config/rs6000/rs6000-buitlins.def (ALTIVEC_BUILTIN_VRSQRTFP):
27139 New builtin.
27140 (ALTIVEC_BUILTIN_VRECIPFP): Ditto.
27141 (ALTIVEC_BUITLIN_VEC_RE): Ditto.
27142 (ALTIVEC_BUILTIN_VEC_RSQRT): Ditto.
27143 (VSX_BUILTIN_RSQRT_V4SF): Ditto.
27144 (VSX_BUITLIN_RSQRT_V2DF): Ditto.
27145 (RS6000_BUILTIN_RSQRT): Ditto.
27146 (ALTIVEC_BUILTIN_VEC_RSQRTE): Denote that the builtin is a
27147 floating point builtin.
27148
27149 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
27150 macros __RECIP__, __RECIPF__, __RSQRTE__, __RSQRTEF__,
27151 __RECIP_PRECISION__ based on the command line switches.
27152 (altivec_overloaded_builtins): Add reciprocal estimate builtins.
27153
27154 * config/rs6000/rs6000.opt (-mrecip): Document add support for
27155 replacing division instructions with reciprocal estimate and fixup.
27156 (-mrecip=<opt>): New option.
27157 (-mrecip-precision): Ditto.
27158
27159 * config/rs6000/vsx.md (UNSPEC_VSX_RSQRTE): Delete.
27160 (vsx_rsqrte<mode>2): Use UNSPEC_RSQRT not UNSPEC_VSX_RSQRTE.
27161 (vsx_copysignsf3): If -mvsx, use double precision cpsign on single
27162 precision scalar.
27163
27164 * config/rs6000/altivec.md (UNSPEC_RSQRTEFP): Delete.
27165 (UNSPEC_VREFP): Ditto.
27166 (altivec_vnmsubfp*): Make altivec nmsub mirror the scalar and VSX
27167 conterparts with regard to support of -mno-fused-madd and -ffast-math.
27168 (altivec_vrsqrtefp): Use common UNSPEC to allow scalar/vector
27169 reciprocal estimate instructions to be generated.
27170 (altivec_vrefp): Ditto.
27171
27172 * config/rs6000/rs6000.md (RECIPF): New iterator for reciprocal
27173 estimate support.
27174 (rreg): New mode attribute for reciprocal estimate support.
27175 (recip<mode>3): New insn for division using reciprocal estimate
27176 and fixup builtins.
27177 (divide define_split): New define_split to convert floating point
27178 division to use reciprocal estimate if the user used the
27179 appropriate options and the split is run when we can add new
27180 pseudo registers for the fixup.
27181 (rsqrt<mode>2): New insn for reciprocal square root support.
27182 (recipsf3): Move into recip<mode>3.
27183 (recipdf3): Ditto.
27184 (fres): Use TARGET_FRES.
27185 (rsqrtsf2): Move into rsqrt<mode>2.
27186 (rsqrtsf_internal1): Use TARGET_FRSQRTSES.
27187 (copysignsf3): Add support for VSX.
27188 (fred): Use TARGET_FRE.
27189 (fred_fpr): Ditto.
27190 (rsqrtdf_internal1): New function for frsqrte instruciton.
27191
27192 * config/rs6000/altivec.h (vec_recipdiv): Define new vector builtin.
27193 (vec_rsqrt): Ditto.
27194
27195 2010-06-03 Richard Guenther <rguenther@suse.de>
27196
27197 PR middle-end/44291
27198 * optabs.c (init_one_libfunc): Use IDENTIFIER_HASH_VALUE.
27199 (set_user_assembler_libfunc): Likewise.
27200
27201 2010-06-02 Steven Bosscher <steven@gcc.gnu.org>
27202
27203 * mkconfig.sh: Include insn-flags.h and insn-constants.h before
27204 defaults.h.
27205 * except.h: Move MUST_USE_SJLJ_EXCEPTIONS and USING_SJLJ_EXCEPTIONS
27206 to defaults.h
27207 * expr.h (BRANCH_COST, MOVE_RATIO, CLEAR_RATIO, SET_RATIO,
27208 DEFAULT_FUNCTION_ARG_PADDING, FUNCTION_ARG_PADDING,
27209 FUNCTION_ARG_BOUNDARY, STACK_SAVEAREA_MODE, STACK_SIZE_MODE,
27210 STACK_CHECK_BUILTIN, STACK_CHECK_STATIC_BUILTIN,
27211 STACK_CHECK_PROBE_INTERVAL_EXP, STACK_CHECK_MOVING_SP,
27212 STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT,
27213 STACK_CHECK_MAX_FRAME_SIZE, STACK_CHECK_FIXED_FRAME_SIZE,
27214 STACK_CHECK_MAX_VAR_SIZE): Move target macro defaults to defaults.h.
27215 * defaults.h: Updated for above mentioned changes.
27216
27217 2010-06-02 Kai Tietz <kai.tietz@onevision.com>
27218
27219 * c-common.c: Remove header include of tm_p.h.
27220 * Makefile.in (c-common.o): Remove TM_P_H dependency.
27221
27222 2010-06-02 Jakub Jelinek <jakub@redhat.com>
27223
27224 * tree.h (struct tree_decl_map): New type.
27225 (tree_decl_map_eq, tree_decl_map_marked_p): Define.
27226 (tree_decl_map_hash): New prototype.
27227 (debug_expr_for_decl, value_expr_for_decl): Change into
27228 tree_decl_map hashtab from tree_map.
27229 (init_ttree): Adjust initialization.
27230 (tree_decl_map_hash): New function.
27231 (decl_debug_expr_lookup, decl_debug_expr_insert,
27232 decl_value_expr_lookup, decl_value_expr_insert): Adjust.
27233
27234 2010-06-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
27235
27236 * configure.ac (gcc_cv_ld_sol2_emulation): Test for GNU ld *_sol2
27237 linker emulations.
27238 * configure: Regenerate.
27239 * config.in: Regenerate.
27240
27241 * config/i386/sol2-10.h [TARGET_GNU_LD] (I386_EMULATION): Define.
27242 (X86_64_EMULATION): Define.
27243 (TARGET_LD_EMULATION): Use them.
27244
27245 * config/sparc/sol2-gld-bi.h (SPARC32_EMULATION): Define.
27246 (SPARC64_EMULATION): Define.
27247 (LINK_ARCH_SPEC): Use them.
27248
27249 2010-06-02 Sebastian Pop <sebastian.pop@amd.com>
27250
27251 * graphite-clast-to-gimple.c (gcc_type_for_interval): Use
27252 smallest_mode_for_size for computing the precision types of new
27253 graphite IVs. Do not call lang_hooks.types.type_for_size.
27254
27255 2010-06-02 Sebastian Pop <sebastian.pop@amd.com>
27256
27257 * tree-if-conv.c (predicate_bbs): Do not reset the GIMPLE_DEBUG
27258 information.
27259 (remove_conditions_and_labels): Reset the GIMPLE_DEBUG information.
27260
27261 2010-06-02 Sebastian Pop <sebastian.pop@amd.com>
27262
27263 PR middle-end/44363
27264 * tree-if-conv.c (predicate_bbs): Do not call gcc_unreachable,
27265 return false instead.
27266
27267 2010-06-02 Jan Hubicka <jh@suse.cz>
27268
27269 PR middle-end/44295
27270 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Do not
27271 create new cgraph node to check callee.
27272
27273 2010-06-02 Richard Guenther <rguenther@suse.de>
27274
27275 * lto-streamer-in.c (input_gimple_stmt): Fix typo.
27276
27277 2010-06-02 Richard Guenther <rguenther@suse.de>
27278
27279 * lto-wrapper.c (lto_wrapper_exit): Rename to ...
27280 (lto_wrapper_cleanup): ... this. Do not exit.
27281 (fatal): Adjust. Exit here.
27282 (fatal_perror): Likewise.
27283 (fatal_signal): New function.
27284 (main): Set up signal handlers to cleanup temporary files.
27285 * Makefile.in (lto-wrapper.o): Adjust dependencies.
27286
27287 2010-06-02 Richard Guenther <rguenther@suse.de>
27288
27289 PR tree-optimization/44377
27290 * tree-ssa-structalias.c (find_func_aliases): Fix typo.
27291
27292 2010-06-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
27293
27294 * config/s390/2097.md (z10_fhex): Remove insn reservation.
27295 * config/s390/s390.md (UNSPEC_COPYSIGN): Remove unused constant.
27296 (*mov<mode>_64 TD_TF, *mov<mode>_31 TD_TF, *mov<mode>_64dfp DD_DF,
27297 *mov<mode>_64 DD_DF, *mov<mode>_31, mov<mode>): Remove load zero
27298 instruction.
27299 * config/s390/s390.c: Don't accept fp zeros as valid constants anymore.
27300
27301 2010-06-02 Jan Hubicka <jh@suse.cz>
27302
27303 * bitmap.c (bitmap_descriptor): Add search_iter.
27304 (bitmap_find_bit): Increment it.
27305 (print_statistics): Print it.
27306
27307 2010-06-02 Nathan Froyd <froydnj@codesourcery.com>
27308
27309 * tree-vect-slp.c (vect_create_mask_and_perm): Use gimple_build_call
27310 instead of gimple_build_call_vec. Delete unnecessary local variable.
27311
27312 2010-06-02 Steven Bosscher <steven@gcc.gnu.org>
27313
27314 * gimplify.c (gimplify_body): Revert "Do not initialize RTL profiling"
27315 change from yesterday.
27316
27317 2010-06-02 Steven Bosscher <steven@gcc.gnu.org>
27318
27319 * c-ada-spec.c: Clean up redundant includes.
27320
27321 2010-06-01 Steven Bosscher <steven@gcc.gnu.org>
27322
27323 * gimplify.c: Do not include except.h and optabs.h.
27324 (gimplify_body): Do not initialize RTL profiling.
27325 * gimple-low.c: Do not include rtl.h, diagnostic.h, langhooks.h,
27326 langhooks-def.h, timevar.h, except.h, hashtab.h, and expr.h.
27327 * gimple-fold.c: Do not include rtl.h, tm_p.h, ggc.h, basic-block.h,
27328 output.h, expr.h, diagnostic.h, timevar.h, value-prof.h, and
27329 langhooks.h.
27330
27331 * tree-pretty-print.h: Include pretty-print.h.
27332 * gimple-pretty-print.h: Include pretty-print.h.
27333
27334 * tree-pretty-print.c: Do not include diagnostic.h.
27335 * tree-vrp.c: Likewise.
27336 * tree-tailcall.c: Likewise
27337 * tree-scalar-evolution.c: Likewise
27338 * tree-ssa-dse.c: Likewise
27339 * tree-chrec.c: Likewise
27340 * tree-ssa-sccvn.c: Likewise
27341 * tree-ssa-copyrename.c: Likewise
27342 * tree-nomudflap.c: Likewise
27343 * tree-call-cdce.c: Likewise
27344 * tree-stdarg.c: Likewise
27345 * tree-ssa-math-opts.c: Likewise
27346 * tree-nrv.c: Likewise
27347 * tree-ssa-sink.c: Likewise
27348 * tree-browser.c: Likewise
27349 * tree-ssa-loop-ivcanon.c: Likewise
27350 * tree-ssa-loop.c: Likewise
27351 * tree-parloops.c: Likewise
27352 * tree-ssa-address.c: Likewise
27353 * tree-ssa-ifcombine.c: Likewise
27354 * tree-if-conv.c: Likewise
27355 * tree-data-ref.c: Likewise
27356 * tree-affine.c: Likewise
27357 * tree-ssa-phiopt.c: Likewise
27358 * tree-ssa-coalesce.c: Likewise
27359 * tree-ssa-pre.c: Likewise
27360 * tree-ssa-live.c: Likewise
27361 * tree-predcom.c: Likewise
27362 * tree-ssa-forwprop.c: Likewise
27363 * tree-ssa-dce.c: Likewise
27364 * tree-ssa-ter.c: Likewise
27365 * tree-ssa-loop-prefetch.c: Likewise
27366 * tree-optimize.c: Likewise
27367 * tree-ssa-phiprop.c: Likewise
27368 * tree-object-size.c: Likewise
27369 * tree-outof-ssa.c: Likewise
27370 * tree-ssa-structalias.c: Likewise
27371 * tree-switch-conversion.c: Likewise
27372 * tree-ssa-reassoc.c: Likewise
27373 * tree-ssa-operands.c: Likewise
27374 * tree-vectorizer.c: Likewise
27375 * tree-vect-data-refs.c: Likewise
27376 * tree-vect-generic.c: Likewise
27377 * tree-vect-stmts.c: Likewise
27378 * tree-vect-patterns.c: Likewise
27379 * tree-vect-slp.c: Likewise
27380 * tree-vect-loop.c: Likewise
27381 * tree-ssa-loop-ivopts.c: Likewise
27382 * tree-ssa-loop-im.c: Likewise
27383 * tree-ssa-loop-niter.c: Likewise
27384 * tree-ssa-loop-unswitch.c: Likewise
27385 * tree-ssa-loop-manip.c: Likewise
27386 * tree-ssa-loop-ch.c: Likewise
27387 * tree-dump.c: Likewise
27388 * tree-complex.c: Likewise
27389
27390 * tree-into-ssa.c: Do not include diagnostic.h and expr.h.
27391 * tree-ssa-uninit.c: Likewise
27392 * tree-ssa-threadupdate.c: Likewise
27393 * tree-ssa-uncprop.c: Likewise
27394 * tree-ssa-ccp.c: Likewise
27395 * tree-ssa-dom.c: Likewise
27396 * tree-ssa-propagate.c: Likewise
27397 * tree-ssa-alias.c: Likewise
27398 * tree-dfa.c: Likewise
27399 * tree-cfgcleanup.c: Likewise
27400 * tree-sra.c: Likewise
27401 * tree-ssa-copy.c: Likewise
27402 * tree-ssa.c: Likewise
27403 * tree-profile.c: Likewise
27404 * tree-cfg.c: Likewise
27405 * tree-ssa-threadedge.c: Likewise
27406 * tree-vect-loop-manip.c: Likewise
27407
27408 * tree-inline.c: Do not include diagnostic.h and expr.h.
27409 Include rtl.h.
27410 (copy_decl_for_dup_finish): Do not use NULL_RTX.
27411
27412 * tree-loop-linear.c: Do not include diagnostic.h, expr.h and optabs.h.
27413 * tree-loop-distribution.c: Likewise.
27414
27415 2010-06-01 Jan Hubicka <jh@suse.cz>
27416
27417 * ipa-pure-const.c (local_pure_const): Do NORETURN discovery.
27418
27419 2010-06-01 Jan Hubicka <jh@suse.cz>
27420
27421 * tree-cfgcleanup.c (fixup_noreturn_call): Break out from ...;
27422 remove return value.
27423 (split_bbs_on_noreturn_calls) .... here.
27424 * tree-optimize.c (execute_fixup_cfg): Fixup noreturn calls too.
27425 * tree-flow.h (fixup_noreturn_call): New.
27426
27427 2010-06-01 Jan Hubicka <jh@suse.cz>
27428
27429 * emit-rtl.c (remove_insn): Fix thinko in prevoius patch.
27430
27431 2010-06-01 Nathan Froyd <froydnj@codesourcery.com>
27432
27433 * tree.h (build_nt_call_list): Delete.
27434 * tree.c (build_nt_call_list): Delete.
27435
27436 2010-06-01 Jan Hubicka <jh@suse.cz>
27437
27438 * fwprop.c: Make emit-rtl.h include last.
27439 * rtlanal.c: Include emit-rtl.h.
27440 * genautomata.c: Output emit-rtl include into insn-automata.c
27441 * df-scan.c: Include emit-rtl.h.
27442 * haifa-sched.c: Indlude emit-rtl.h.
27443 * mode-switching.c: Indlude emit-rtl.h.
27444 * graph.c: Indlude emit-rtl.h.
27445 * sel-sched.c: Include emit-rtl.h.
27446 * sel-sched-ir.c: Include emit-rtl.h.
27447 * ira-build.c: Include emit-rtl.h.
27448 * emit-rtl.c (first_insn, last_insn): Remove defines.
27449 (get_insns, set_first_insn, get_last_insn, set_last_insn, get_max_uid):
27450 Move to emit-rtl.h.
27451 (set_new_first_and_last_insn, get_last_insn_anywhere,
27452 get_first_nonnote_insn, get_last_nonnote_insn, try_split,
27453 make_call_insn_raw, add_insn_after, add_insn_before, remove_insn,
27454 delete_insns_since, reorder_insns_nobb, emit_insn_after_1,
27455 emit_debug_insn_before, emit_insn, start_sequence, push_to_sequence,
27456 push_to_sequence2, push_topmost_sequence, end_sequence, copy_insn):
27457 Use accessor functions.
27458 * emit-rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
27459 gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
27460 set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
27461 mem_expr_equal_p): Move here from rtl.h.
27462 (get_insns, set_first-insn, get_last_insn, set_last_insn, get_max_uid):
27463 Move here from emit-rtl.c; make inline.
27464 * cfglayout.h: Include emit-rtl.h.
27465 * rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
27466 gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
27467 set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
27468 mem_expr_equal_p, get_insns, set_first-insn,
27469 get_last_insn, set_last_insn, get_max_uid): Move to emit-rtl.h.
27470 * reg-stack.c: Include emit-rtl.h.
27471 * dce.c: Likewise.
27472
27473 2010-06-01 Jan Hubicka <jh@suse.cz>
27474
27475 * cgraph.h (tree_function_versioning): Update prototype.
27476 (cgraph_function_versioning): Update prototype.
27477 * cgraphunit.c (cgraph_copy_node_for_versioning): Accept bbs_to_copy
27478 bitmap.
27479 (cgraph_function_versioning): Accept new_entry_block and bbs_to_copy.
27480 (cgraph_materialize_clone, save_inline_function_body): Update use of
27481 tree_function_versioning.
27482 * tree-inline.c (copy_bb): Look for previous copied block to link
27483 after; fix debug output.
27484 (copy_cfg_body): Accept new_entry_block and bbs_to_copy.
27485 (copy_body): Likewise.
27486 (expand_call_inline): Update use of copy_body.
27487 (tree_function_versioning): Update use of copy body; accept
27488 blocks_to_copy and new_entry.
27489
27490 2010-06-01 Jan Hubicka <jh@suse.cz>
27491
27492 * gegenrtl.c: Remove unnecesary prototypes.
27493 (gendecl): Remove.
27494 (gendef): Produce static inline.
27495 (gencode): Remove.
27496 (main): Do not decode parameters; generate header only.
27497 * Makefile.in (genrtl.c): Remove.
27498
27499 2010-06-01 Jan Hubicka <jh@suse.cz>
27500
27501 * tree-switch-conversion.c (build_one_array): Make it readonly.
27502
27503 2010-06-01 Richard Guenther <rguenther@suse.de>
27504
27505 * optabs.c (init_optabs): Guard all accesses to reinit.
27506 * ipa-pure-const.c (propagate): Fix another typo.
27507 * opts.c (common_handle_option): Split assignment to bool.
27508 * c-opts.c (c_common_handle_option): Likewise.
27509
27510 2010-06-01 Arnaud Charlet <charlet@adacore.com>
27511 Matthew Gingell <gingell@adacore.com>
27512
27513 * doc/invoke.texi: Mention -fdump-ada-spec.
27514 * tree-dump.c (dump_files): Add ada-spec.
27515 (FIRST_AUTO_NUMBERED_DUMP): Bump to 8.
27516 * tree-pass.h (tree_dump_index): Add TDI_ada.
27517 * gcc.c: Add support for -C without -E and for -fdump-ada-spec.
27518 (cpp_unique_options): Do not reject -C or -CC when -E isn't present.
27519 (default_compilers) <@c-header>: Allow -fdump-ada-spec on header files.
27520 * c-decl.c: Include c-ada-spec.h.
27521 (collect_source_ref_cb, collect_all_refs, for_each_global_decl): New
27522 functions.
27523 (c_write_global_declarations): Add handling of -fdump-ada-spec.
27524 * c-lex.c (c_lex_with_flags): Add handling of CPP_COMMENT.
27525 * Makefile.in (C_AND_OBJC_OBJS): Add c-ada-spec.o.
27526 * c-ada-spec.h, c-ada-spec.c: New files.
27527
27528 2010-06-01 Richard Guenther <rguenther@suse.de>
27529
27530 PR lto/43853
27531 * ipa-pure-const.c (get_function_state): Hand back varying state
27532 if we do not have one.
27533 (has_function_state): New function.
27534 (duplicate_node_data): Adjust.
27535 (remove_node_data): Likewise.
27536 (pure_const_write_summary): Likewise.
27537 (propagate): Likewise. Fix typo.
27538
27539 2010-06-01 Jan Hubicka <jh@suse.cz>
27540
27541 * tree-cfg.c (verify_stmt): Do not skip could_throw test.
27542 * passes.c (execute_function_todo): Do not make implicit verify_ssa.
27543 (execute_all_ipa_transforms): Do not play with the states.
27544
27545 2010-06-01 Maxim Kuvyrkov <maxim@codesourcery.com>
27546
27547 * config/arm/t-linux-androideabi: New.
27548 * config.gcc (arm*-*-linux-androideabi): Include multilib config.
27549
27550 2010-06-01 Jan Hubicka <jh@suse.cz>
27551
27552 * tree-inline.c (estimate_num_insns): For stdarg functions look
27553 into call statement to count cost of argument passing.
27554
27555 2010-06-01 Kai Tietz <kai.tietz@onevision.com>
27556
27557 * config/i386.c (ix86_output_addr_vec_elt): Make LPREFIX
27558 argument for fprintf.
27559 (ix86_output_addr_diff_elt): Likewise.
27560 (x86_function_profiler): Likewise.
27561 * config/cygming.h (LOCAL_LABEL_PREFIX): Fix for x64 no-underscore.
27562 (LPREFIX): Likewise.
27563 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
27564
27565 2010-05-31 Jakub Jelinek <jakub@redhat.com>
27566
27567 PR target/44338
27568 * config/i386/sse.md (fma4i_fmadd<mode>4256, fma4i_fmsub<mode>4256,
27569 fma4i_fnmadd<mode>4256, fma4i_fnmsub<mode>4256, fma4i_fmadd<mode>4,
27570 fma4i_fmsub<mode>4, fma4i_fnmadd<mode>4, fma4i_fnmsub<mode>4,
27571 fma4i_vmfmadd<mode>4, fma4i_vmfmsub<mode>4, fma4i_vmfnmadd<mode>4,
27572 fma4i_vmfnmsub<mode>4, fma4i_fmaddsubv8sf4, fma4i_fmaddsubv4df4,
27573 fma4i_fmaddsubv4sf4, fma4i_fmaddsubv2df4, fma4i_fmsubaddv8sf4,
27574 fma4i_fmsubaddv4df4, fma4i_fmsubaddv4sf4, fma4i_fmsubaddv2df4):
27575 Guard only with TARGET_FMA4 instead of TARGET_FMA4 &&
27576 TARGET_FUSED_MADD.
27577
27578 2010-05-31 Jan Hubicka <jh@suse.cz>
27579
27580 * tree.h (tree_range_check_failed): Declare noreturn.
27581
27582 2010-05-31 Jan Hubicka <jh@suse.cz>
27583
27584 * gimple.c (gimple_call_builtin_p): New function.
27585 * gimple.h (gimple_call_builtin_p): Declare.
27586 * tree-cfg.c (make_edges): Produce edge from BUILT_IN_RETURN
27587 to exit.
27588 (execute_warn_function_return): BUILT_IN_RETURN is return.
27589 (split_critical_edges): Return edges are not critical.
27590 (is_ctrl_altering_stmt): Builtin_in_return is altering.
27591 (gimple_verify_flow_info): Handle built_in_return.
27592 (execute_warn_function_return): Handle built_in_return.
27593 * ipa-pure-const.c (check_call): Ignore builtin_return.
27594
27595 2010-05-31 Jakub Jelinek <jakub@redhat.com>
27596
27597 PR middle-end/44337
27598 * expr.c (expand_assignment): Don't store anything for out-of-bounds
27599 array accesses with non-MEM.
27600
27601 PR tree-optimization/44182
27602 * tree-inline.c (copy_edges_for_bb): Don't split bb if a stmt that
27603 newly needs to end a bb is followed by debug stmts, instead return
27604 true from the function at the end.
27605 (maybe_move_debug_stmts_to_successors): New function.
27606 (copy_cfg_body): Call it if copy_edges_for_bb returned true.
27607
27608 2010-05-31 Kai Tietz <kai.tietz@onevision.com>
27609
27610 PR target/44161
27611 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Handle flag_pic.
27612
27613 2010-05-31 Eric Botcazou <ebotcazou@adacore.com>
27614
27615 * cgraphunit.c (cgraph_decide_is_function_needed): Really return false
27616 for nested functions in non-optimized compilation.
27617
27618 2010-05-31 Richard Guenther <rguenther@suse.de>
27619
27620 * tree-ssa-structalias.c (find_func_aliases): Handle BUILT_IN_RETURN.
27621
27622 2010-05-30 Jan Hubicka <jh@suse.cz>
27623
27624 * predict.c (maybe_hot_edge_p): Calls to functions called once is cold.
27625
27626 2010-05-30 Richard Guenther <rguenther@suse.de>
27627
27628 PR lto/42975
27629 * tree-eh.c (execute_cleanup_eh_1): Copy from execute_cleanup_eh.
27630 (execute_cleanup_eh): Clear DECL_FUNCTION_PERSONALITY if it is
27631 no longer needed.
27632
27633 2010-05-30 Iain Sandoe <iains@gcc.gnu.org>
27634
27635 * config/darwin.c (output_objc_section_asm_op): Add comment.
27636 (name_needs_quotes): Add '_' to list of valid comment chars.
27637 (machopic_output_function_base_name): Remove unneeded quotes.
27638 (darwin_encode_section_info): Adjust asm whitespace.
27639 * config/i386/darwin.h (ASM_OUTPUT_COMMON): Adjust asm tabs.
27640 (ASM_OUTPUT_LOCAL): Ditto.
27641 * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Ditto.
27642 * config/darwin.h (GLOBAL_ASM_OP): Ditto.
27643 * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Ditto.
27644
27645 2010-05-30 Eric Botcazou <ebotcazou@adacore.com>
27646
27647 * config/rs6000/rs6000.c (rs6000_output_function_entry): Use
27648 RS6000_OUTPUT_BASENAME unconditionally.
27649 (rs6000_output_function_epilogue): Likewise.
27650
27651 2010-05-30 Jan Hubicka <jh@suse.cz>
27652
27653 * toplev.c (wrapup_global_declaration_2): Avoid creation of new varpool
27654 nodes.
27655
27656 2010-05-30 Richard Guenther <rguenther@suse.de>
27657
27658 * tree-cfg.c (verify_gimple_assign_single): Implement
27659 verification for COND_EXPR rhs.
27660
27661 2010-05-30 Jan Hubicka <jh@suse.cz>
27662
27663 * cgraph.h (cgraph_dump_file): Declare.
27664 * cgraphunit.c (cgraph_dump_file): Export.
27665 * ipa.c (dump_cgraph_node_set, dump_varpool_node_set): Be less verbose.
27666
27667 2010-05-30 Jan Hubicka <jh@suse.cz>
27668
27669 * dwarf2out.c (reference_to_unused,
27670 premark_types_used_by_global_vars_helper): Avoid creation of new
27671 varpool nodes.
27672
27673 2010-05-30 Jan Hubicka <jh@suse.cz>
27674
27675 * cgraph.h (cgraph_node_cannot_return,
27676 cgraph_edge_cannot_lead_to_return): New functions.
27677 * cgraph.c (cgraph_node_cannot_return,
27678 cgraph_edge_cannot_lead_to_return): Use them.
27679 * ipa-pure-const.c (pure_const_names): New static var.
27680 (check_call): Handle calls not leading to return.
27681 (pure_const_read_summary): Dump info read.
27682 (propagate): Dump info about propagation process; ignore side effects
27683 of functions not leading to exit; fix handling of pure functions.
27684
27685 2010-05-30 Jan Hubicka <jh@suse.cz>
27686
27687 * config/i386/i386.c (pro_epilogue_adjust_stack): Use EBP
27688 for tail call epilogues.
27689
27690 2010-05-30 Jan Hubicka <jh@suse.cz>
27691
27692 * passes.c (ipa_write_optimization_summaries_1, ipa_write_summaries_2,
27693 ipa_read_summaries_1, ipa_read_optimization_summaries_1): Initialize
27694 dump files.
27695
27696 2010-05-29 Jan Hubicka <jh@suse.cz>
27697
27698 * ipa.c (cgraph_remove_unreachable_node): Walk references of correct
27699 node; remove references in node we no longer keep in cgrpah but need
27700 body of.
27701
27702 2010-05-29 Jan Hubicka <jh@suse.cz>
27703
27704 * cgraph.c (cgraph_mark_reachable): Relax check for analyzed nodes.
27705
27706 2010-05-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
27707
27708 PR target/44165
27709 * config/pa/pa32-linux.h (CTOR_LIST_BEGIN): Mark __CTOR_LIST__ as used.
27710
27711 2010-05-29 Jan Hubicka <jh@suse.cz>
27712
27713 * tree-vrp.c (debug_value_range, debug_all_value_ranges,
27714 debug_asserts_for, debug_all_asserts): Annotate with DEBUG_FUNCTION.
27715 * tree-into-ssa.c (debug_decl_set, debug_defs_stack, debug_currdefs,
27716 debug_tree_ssa, debug_tree_ssa_stats, debug_def_blocks,
27717 debug_names_replaced_by, debug_update_ssa): Likewise.
27718 * sbitmap.c (debug_sbitmap): Likewise.
27719 * genrecog.c (debug_decision, debug_decision_list): Likewise.
27720 * tree-pretty-print.c (debug_generic_expr, debug_generic_stmt,
27721 debug_tree_chain): Likewise.
27722 * tree-loop-distribution.c (debug_rdg_partitions): Likewise.
27723 * cgraph.c (debug_cgraph_node, debug_cgraph): Likewise.
27724 * optabs.c (debug_optab_libfuncs): Likewise.
27725 (verify_loop_closed_ssa): Likewise.
27726 * value-prof.c (verify_histograms): Likewise.
27727 * reload.c (debug_reload_to_stream, debug_reload): Likewise.
27728 * bitmap.c (debug_bitmap_file, debug_bitmap, bitmap_print): Likewise.
27729 * cfghooks.c (verify_flow_info): Likewise.
27730 * fold-const.c (debug_fold_checksum): Likewise.
27731 * omp-low.c (debug_omp_region, debug_all_omp_regions): Likewise.
27732 * cfg.c (debug_regset, debug_flow_info, debug_bb, debug_bb_n):
27733 Likewise.
27734 * omega.c (debug_omega_problem): Likewise.
27735 * cgraphunit.c (verify_cgraph_node, verify_cgraph): Likewise.
27736 * tree-ssa-ccp.c (debug_lattice_value): Likewise.
27737 * dominance.c (verify_dominators, debug_dominance_info,
27738 debug_dominance_tree): Likewise.
27739 * df-core.c (df_insn_uid_debug, df_insn_debug, df_insn_debug_regno,
27740 * df_regno_debug, df_ref_debug,
27741 debug_df_insn, debug_df_reg, debug_df_regno, debug_df_ref,
27742 debug_df_defno, debug_df_useno, debug_df_chain): Likewise.
27743 * tree-ssa-dom.c (debug_dominator_optimization_stats): Likewise.
27744 * sel-sched.c (debug_state): Likewise.
27745 * tree-ssa-alias.c (debug_alias_info, debug_points_to_info_for):
27746 Likewise.
27747 * cfganal.c (print_edge_list, verify_edge_list): Likewise.
27748 * dwarf2out.c (debug_dwarf_die, debug_dwarf): Likewise.
27749 * tree-eh.c (verify_eh_edges, verify_eh_dispatch_edge): Likewise.
27750 * gimple-pretty-print.c (debug_gimple_stmt, debug_gimple_seq):
27751 Likewise.
27752 * c-pretty-print.c (debug_c_tree): Likewise.
27753 * sel-sched-dump.c (debug_insn_rtx, debug_vinsn, debug_expr, debug_insn
27754 debug_av_set, debug_lv_set, debug_ilist, debug_blist,
27755 debug_insn_vector, debug_hard_reg_set, debug_mem_addr_value): Likewise.
27756 * ebitmap.c (debug_ebitmap): Likewise.
27757 * function.c (debug_find_var_in_block_tree): Likewise.
27758 * print-rtl.c (debug_rtx): Likewise.
27759 (debug_rtx_count): Likewise.
27760 (debug_rtx_list, debug_rtx_range, debug_rtx_find): Likewise.
27761 * stor-layout.c (debug_rli): Likewise.
27762 * ipa.c (debug_cgraph_node_set, debug_varpool_node_set): Likewise.
27763 * tree-data-ref.c (debug_data_references,
27764 debug_data_dependence_relations, debug_data_reference,
27765 debug_data_dependence_relation, debug_rdg_vertex,
27766 debug_rdg_component, debug_rdg): Likewise.
27767 * tree-affine.c (debug_aff): Likewise.
27768 * tree-dfa.c (debug_referenced_vars, debug_variable, debug_dfa_stats):
27769 Likewise.
27770 * except.c (debug_eh_tree, verify_eh_tree): Likewise.
27771 * emit-rtl.c (verify_rtl_sharing): Likewise.
27772 * tree-ssa-pre.c (debug_pre_expr, debug_bitmap_set,
27773 debug_value_expressions): Likewise.
27774 * tree-ssa-live.c (debug_scope_block, debug_scope_blocks): Likewise.
27775 * sese.c (debug_rename_map, debug_ivtype_map): Likewise.
27776 * print-tree.c (debug_tree, debug_vec_tree): Likewise.
27777 * cfglayout.c (verify_insn_chain): Likewise.
27778 * graphite-clast-to-gimple.c (debug_clast_name_indexes,
27779 debug_clast_stmt, debug_generated_program): Likewise.
27780 * ggc-page.c (debug_print_page_list): Likewise.
27781 * tree-ssa-ter.c (debug_ter): Likewise.
27782 * graphite-dependences.c (debug_pddr): Likewise.
27783 * sched-deps.c (debug_ds): Likewise.
27784 * tree-ssa.c (verify_ssa): Likewise.
27785 * graphite-poly.c (debug_scattering_function, debug_iteration_domain,
27786 debug_scattering_functions, debug_iteration_domains, debug_pdr,
27787 debug_pdrs, debug_pbb_domain, debug_pbb, debug_scop_context,
27788 debug_scop, debug_cloog, debug_scop_params, debug_lst): Likewise.
27789 * tree-inline.c (debug_find_tree): Likewise.
27790 * graphite-ppl.c (debug_ppl_linear_expr, debug_ppl_polyhedron_matrix,
27791 debug_ppl_powerset_matrix): Likewise.
27792 * var-tracking.c (debug_dv): Likewise.
27793 * system.h (DEBUG_FUNCTION, DEBUG_VARIABLE): Define.
27794 * cfgloop.c (verify_loop_structure): Likewise.
27795 * plugin.c (dump_active_plugins, debug_active_plugins): Likewise.
27796 * c-common.c (verify_sequence_points): Likewise.
27797 * sched-rgn.c (debug_regions, debug_region, debug_candidate,
27798 debug_candidates, debug_rgn_dependencies): Likewise.
27799 * tree-ssa-structalias.c (debug_constraint, debug_constraints,
27800 * debug_constraint_graph, debug_solution_for_var,
27801 debug_sa_points_to_info): Likewise.
27802 * sched-vis.c (debug_insn_slim, debug_bb_slim, debug_bb_n_slim):
27803 Likewie.
27804 * tree-cfg.c (debug_cfg_stats, verify_stmts, debug_function,
27805 debug_loops, debug_loop, debug_loop_num): Likewise.
27806 * passes.c (debug_pass): Likewise.
27807 (dump_properties): Likewise; add cfglayout property.
27808 (debug_properties): Likewise.
27809 * tree-ssa-reassoc.c (debug_ops_vector): Likewise.
27810 * varpool.c (debug_varpool): Likewise.
27811 * regcprop.c (debug_value_data): Likewise.
27812 * tree-ssa-operands.c (verify_imm_links, debug_immediate_uses,
27813 debug_immediate_uses_for): Likewise.
27814
27815 2010-05-29 H.J. Lu <hongjiu.lu@intel.com>
27816
27817 PR bootstrap/44315
27818 * Makefile.in (build/gencondmd.o): Remove TM_H := $(GTM_H).
27819 Filter out insn-flags.h.
27820
27821 2010-05-29 Jan Hubicka <jh@suse.cz>
27822
27823 * cgraph.h (struct varpool_node_set_def,
27824 struct cgraph_node_set_def): Remove unused AUX pointer.
27825 (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p): Use
27826 VEC_empty macro.
27827
27828 2010-05-29 Jan Hubicka <jh@suse.cz>
27829
27830 PR middle-end/44324
27831 * ipa-cp.c (ipcp_insert_stage): Replace "clone" by "constprop".
27832
27833 2010-05-29 Richard Guenther <rguenther@suse.de>
27834
27835 * lto-streamer.c (cached_bp): New global variable.
27836 (bitpack_create): Return the cached bitpack, if available.
27837 (bitpack_delete): Clear and cache the bitpack, if appropriate.
27838 (bp_pack_value): Remove redundant asserts.
27839
27840 2010-05-29 Sebastian Pop <sebastian.pop@amd.com>
27841
27842 PR middle-end/44306
27843 * tree-if-conv.c (is_true_predicate): New.
27844 (is_predicated): Use is_true_predicate.
27845 (add_to_predicate_list): Same. Do not use unshare_expr.
27846 (add_to_dst_predicate_list): Same.
27847
27848 2010-05-29 Sebastian Pop <sebastian.pop@amd.com>
27849
27850 * tree-if-conv.c (add_to_dst_predicate_list): Do not use the ->aux
27851 field on edges.
27852 (predicate_bbs): Same.
27853 (clean_predicate_lists): Same.
27854 (find_phi_replacement_condition): Do not AND the predicate from
27855 edge->aux.
27856
27857 2010-05-29 H.J. Lu <hongjiu.lu@intel.com>
27858
27859 PR bootstrap/44315
27860 * Makefile.in (build/gencondmd.o): Add a missing `\'.
27861
27862 2010-05-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
27863
27864 PR target/44261
27865 config/pa/pa.md (negdf2_slow, negsf2_slow): New patterns.
27866 (negdf2): Adjust expander pattern and use negdf2_slow.
27867 (negsf2): Likewise.
27868
27869 2010-05-29 Nathan Froyd <froydnj@codesourcery.com>
27870
27871 * basic-block.h (struct control_flow_graph): Move last_label_uid field
27872 up.
27873 * df.h (struct df_base_ref): Move regno field up.
27874 * dwarf2out.c (struct dw_fde_struct): Move funcdef_number field down.
27875 * expr.h (struct separate_ops): Move location field up.
27876 * optabs.h (struct optab_d): Move libcall_basename field down.
27877 * config/i386/i386.c (struct ix86_frame): Move red_zone_size up.
27878 * config/i386/i386.h (struct machine_function): Convert call_abi field
27879 into a bitfield. Move cfa field to the end of the structure.
27880
27881 2010-05-29 Jan Hubicka <jh@suse.cz>
27882
27883 * varpool.c (varpool_get_node): Fix lookup.
27884
27885 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
27886
27887 * config/spu/spu-protos.h: Do not include rtl.h. Protect
27888 RTL specific prototypes with #ifdef RTX_CODE.
27889 * config/spu/spu-c.c: Include c-common.h instead of c-tree.h.
27890 * config/spu/t-spu-elf: Fix dependencies.
27891
27892 * config/t-darwin (darwin-c.o): Remove C_TREE_H dependency.
27893
27894 2010-05-29 Mike Stump <mikestump@comcast.net>
27895
27896 PR bootstrap/44315
27897 * Makefile.in (build/gencondmd.o): Be sure to use GTM_H instead of
27898 TM_H when building to avoid dependency loops.
27899
27900 2010-05-29 Jan Hubicka <jh@suse.cz>
27901
27902 * cgraphunit.c (cgraph_materialize_clone): Only remove calles,
27903 refs and body; not the whole node for masters of materialized clones.
27904
27905 2010-05-29 Mike Stump <mikestump@comcast.net>
27906
27907 * config/rs6000/rs6000-c.c: Remove c-tree.h include.
27908
27909 2010-05-29 Jan Hubicka <jh@suse.cz>
27910
27911 * cgraph.c (clone_function_name): Take SUFFIX argument; export.
27912 (cgraph_create_virtual_clone): Take SUFFIX argument; udpate
27913 use of clone_function_name.
27914 * cgraph.h (cgraph_create_virtual_clone,
27915 cgraph_function_versioning): update prototypes.
27916 (clone_function_name): Declare.
27917 * ipa-cp.c (ipcp_insert_stage): Update call of
27918 cgraph_create_virtual_clone.
27919 * omp-low.c (create_omp_child_function_name): Use
27920 cgraph_create_virtual_clone.
27921 * cgraphunit.c (cgraph_copy_node_for_versioning): Fix edges updating.
27922 (cgraph_function_versioning): Take SUFFIX argument; produce new name
27923 and make decl local.
27924
27925 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
27926
27927 * vec.h: Include statistics.h
27928 * Makefile.in: Introduce VEC_H. Replace all vec.h dependencies
27929 with VEC_H.
27930
27931 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
27932
27933 * c-lex.c: Do not include c-tree.h.
27934 * c-pretty-print.c: Likewise.
27935 * c-opts.c: Likewise.
27936 * c-gimplify.c: Likewise.
27937 * c-common.c: Likewise.
27938 * c-dump.c: Likewise. Include c-common.h.
27939
27940 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
27941
27942 * c-common.h (GCC_DIAG_STYLE): Define earlier in the file,
27943 before including diagnostic-core.h.
27944 (c_cpp_error): New prototype moved from c-tree.h.
27945 Use ATTRIBUTE_GCC_DIAG instead of ATTRIBUTE_GCC_CDIAG.
27946 * c-tree.h (ATTRIBUTE_GCC_CDIAG): Remove define.
27947 (pedwarn_c90, perwarn_c99): Use ATTRIBUTE_GCC_DIAG instead.
27948 (c_cpp_error): Prototype moved to c-common.h.
27949 * Makefile.in: Update dependency for C_COMMON_H.
27950
27951 2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
27952
27953 * c-common.h: Add FIXME for awkward split of c_register_addr_space.
27954 * c-common.c (c_register_addr_space): Remove here.
27955 * c-decl.c (c_register_addr_space): Re-add here.
27956
27957 2010-05-28 Mike Stump <mikestump@comcast.net>
27958
27959 * config/darwin-c.c: Remove c-tree.h include.
27960
27961 2010-05-28 Joseph Myers <joseph@codesourcery.com>
27962
27963 * gcc.c: Include diagnostic.h.
27964 (error_count): Remove. All users changed to use errorcount.
27965 (programname): Remove. All users changed to use progname.
27966 (fancy_abort, internal_error, fatal_error, error, warning, inform,
27967 fnotice): Remove.
27968 (execute): Don't include "Internal error" and bug reporting
27969 information in argument of internal_error call.
27970 (process_command): Don't increment error_count after calling
27971 perror_with_name.
27972 (input_filename): Rename to gcc_input_filename. All users
27973 changed.
27974 (main): Call diagnostic_initialize. Register delete_temp_files
27975 with atexit. Use seen_error to test for errors.
27976 * gcc.h: Include diagnostic-core.h.
27977 (fatal_error, error, warning): Remove.
27978 * Makefile.in (GCC_H): Add $(DIAGNOSTIC_CORE_H).
27979 (GCC_OBJS): Add diagnostic.o, pretty-print.o and input.o.
27980 (gcc.o): Update dependencies.
27981
27982 2010-05-28 Jeff Law <law@redhat.com>
27983
27984 * ira.c (ira_bad_reload_regno, ira_build_reload_regno_1): New
27985 functions.
27986 * ira.h (ira_bad_reload_regno): Declare
27987 * reload1.c (allocate_reload_reg): Use ira_bad_reload_regno.
27988
27989 * ira-color.c (update_curr_costs): Free updated hard reg costs.
27990 (ira_reassign_conflict_allocnos): Remove bogus asserts.
27991 (allocno_reload_assign): Likewise.
27992
27993 2010-05-28 Nathan Froyd <froydnj@codesourcery.com>
27994
27995 * tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of
27996 build1_stat.
27997
27998 2010-05-28 Richard Guenther <rguenther@suse.de>
27999
28000 PR lto/44312
28001 * lto-streamer-in.c (unpack_ts_fixed_cst_value_fields):
28002 Stream fixed-point constants mode.
28003 (unpack_ts_type_value_fields): Fix width of TYPE_MODE
28004 and TYPE_PRECISION.
28005 * lto-streamer-out.c (pack_ts_fixed_cst_value_fields):
28006 Stream fixed-point constants mode.
28007 (pack_ts_function_decl_value_fields): Fix width of TYPE_MODE
28008 and TYPE_PRECISION.
28009
28010 2010-05-28 Sebastian Pop <sebastian.pop@amd.com>
28011
28012 * tree-scalar-evolution.c (set_nb_iterations_in_loop): Inlined in the
28013 only place it was called from.
28014 (number_of_latch_executions): Do not return chrec_dont_know when the
28015 may_be_zero is a runtime condition: instead, return a COND_EXPR
28016 including the may_be_zero condition.
28017 * cfgloop.h (struct loop): Add a note on COND_EXPRs to the comment
28018 of nb_iterations.
28019 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Handle
28020 COND_EXPRs.
28021
28022 2010-05-28 Sebastian Pop <sebastian.pop@amd.com>
28023
28024 * tree-if-conv.c (replace_phi_with_cond_gimple_assign_stmt): Don't
28025 generate COND_EXPRs for degenerate_phi_result.
28026
28027 2010-05-28 Sebastian Pop <sebastian.pop@amd.com>
28028
28029 PR middle-end/44293
28030 * tree-if-conv.c (if_convertible_loop_p): Check the
28031 if-convertibility of phi nodes in non predicated BBs.
28032
28033 2010-05-28 Joseph Myers <joseph@codesourcery.com>
28034
28035 * gcc.c (error, warning, inform): Remove duplicate ": " in output.
28036
28037 2010-05-28 Joseph Myers <joseph@codesourcery.com>
28038
28039 PR driver/15303
28040 * gcc.c (inform, warning, inform): New functions.
28041 (fatal_ice): Rename to internal_error; change cmsgid parameter to
28042 gmsgid. All callers changed.
28043 (notice): Rename to fnotice; add parameter fp. All callers changed.
28044 (fatal_error): Rename to fatal_signal. All users changed.
28045 (fatal): Rename to fatal_error; change cmsgid parameter to
28046 gmsgid. All callers changed.
28047 (process_command): Use warning instead of error for warnings.
28048 (end_going_arg): Don't use _() around argument of error.
28049 (do_spec_1): Use inform for message from %n specs. Use warning
28050 instead of error for warnings.
28051 (main): Use inform for comparison messages. Use warning for
28052 message about unused linker input.
28053 (error): Increment error_count. Print "error: ".
28054 * gcc.h (fatal): Change to fatal_error.
28055 (warning): Declare.
28056 * config/darwin-driver.c (darwin_default_min_version): Use warning
28057 instead of fprintf for warnings.
28058 * cppspec.c (lang_specific_driver): Use fatal_error instead of fatal.
28059
28060 2010-05-28 Julian Brown <julian@codesourcery.com>
28061
28062 * config/arm/thumb2.md (*thumb2_addsi3_compare0): New.
28063 (*thumb2_addsi3_compare0_scratch): New.
28064 * config/arm/constraints.md (Pv): New.
28065 * config/arm/arm.md (*addsi3_compare0): Remove FIXME comment. Use
28066 for ARM mode only.
28067 (*addsi3_compare0_scratch): Likewise.
28068
28069 2010-05-28 Jan Hubicka <jh@suse.cz>
28070
28071 * ipa-reference.c (add_static_var): Remove redundant all_module_statics
28072 check.
28073 (ipa_reference_write_optimization_summary): Call is_proper_for_analysis
28074 only on local statics.
28075
28076 2010-05-28 Iain Sandoe <iains@gcc.gnu.org>
28077
28078 * config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.
28079
28080 2010-05-28 Maxim Kuvyrkov <maxim@codesourcery.com>
28081
28082 PR bootstrap/44314
28083 * config/alpha/linux.h, config/rs6000/linux.h, config/rs6000/linux64.h
28084 (OPTION_GLIBC): Define.
28085
28086 2010-05-28 Jakub Jelinek <jakub@redhat.com>
28087
28088 PR debug/41048
28089 * dwarf2out.c (double_int_type_size_in_bits): New function.
28090 (round_up_to_align): Change first argument and return value to
28091 double_int.
28092 (field_byte_offset): Work internally on double_ints.
28093
28094 PR target/43636
28095 * builtins.c (expand_movstr): Use a temporary pseudo instead
28096 of target even when target is not NULL and not const0_rtx, but
28097 fails movstr predicate.
28098 * config/m32c/blkmov.md (movstr): Add predicate to first operand.
28099
28100 2010-05-28 Joseph Myers <joseph@codesourcery.com>
28101
28102 * final.c (rest_of_clean_state): Use %m in errors instead of
28103 strerror (errno).
28104 * gengtype.c (read_input_list, close_output_files): Use xstrerror
28105 instead of strerror.
28106 * toplev.c (process_options): Use %m in errors instead of strerror
28107 (errno).
28108 * tree-dump.c (dump_begin): Use %m in errors instead of strerror
28109 (errno).
28110
28111 2010-05-28 Uros Bizjak <ubizjak@gmail.com>
28112
28113 * config/i386/i386.c (ix86_fn_abi_va_list): Make static.
28114 (ix86_canonical_va_list_type): Make static. Add declaration.
28115 (ix86_enum_va_list): Make static. Reindent.
28116 * config/i386/i386-protos.h (ix86_fn_abi_va_list): Remove declaration.
28117 (ix86_canonical_va_list_type): Ditto.
28118 (ix86_enum_va_list): Ditto.
28119
28120 2010-05-28 Richard Guenther <rguenther@suse.de>
28121
28122 * lto-wrapper.c (run_gcc): With -save-temps generate a
28123 user-visible ltrans filename. Fixup ltrans unit numbering.
28124
28125 2010-05-28 Kai Tietz <kai.tietz@onevision.com>
28126
28127 * c-common.c (c_common_nodes_and_builtins): Replace use
28128 of TARGET_ENUM_VA_LIST by target hook enum_va_list.
28129 * config/i386/i386.c (TARGET_ENUM_VA_LIST_P): Hook
28130 to ix86_enum_va_list.
28131 * config/i386/i386.h (TARGET_ENUM_VA_LIST): Removed.
28132 * doc/tm.texi (TARGET_ENUM_VA_LIST): Removed.
28133 (TARGET_ENUM_VA_LIST_P): Add hook description.
28134 * target-def.h (TARGET_ENUM_VA_LIST_P): Added.
28135 * target.h (gcc_target): Add enum_va_list hook.
28136
28137 PR bootstrap/44299
28138 * config/i386/t-cygming: Adjust header dependencies for winnt-cxx.c.
28139 * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Remove undefine.
28140 * config/i386/winnt.c (IN_GCC_FRONTEND): Likewise.
28141
28142 2010-05-28 Alan Modra <amodra@gmail.com>
28143
28144 PR target/44266
28145 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
28146 emit_library_call machinery to set up __tls_get_addr calls.
28147
28148 2010-05-28 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
28149
28150 * config/s390/s390.md (movqi): Fix typo ('*' -> '#').
28151
28152 2010-05-28 Dodji Seketeli <dodji@redhat.com>
28153
28154 Revert fix for PR c++/44188
28155 * c-common.c (is_typedef_decl): Revert the moving of this
28156 definition ...
28157 * tree.c (is_typedef_decl): ... here.
28158 (typdef_variant_p): Revert the moving of this definition
28159 here from cp/tree.c.
28160 * c-common.h (is_typedef_decl): Revert the moving of this
28161 declaration ...
28162 * tree.h (is_typedef_decl): ... here.
28163 (typedef_variant_p): Revert the moving of this declaration here
28164 from cp/cp-tree.h
28165 * dwarf2out.c (is_naming_typedef_decl): Revert this new function.
28166 (gen_tagged_type_die): Revert the splitting out of ...
28167 (gen_type_die_with_usage): ... this function. Revert the anonymous
28168 tagged type handling.
28169 (gen_typedef_die): Revert emitting DW_TAG_typedef for
28170 typedefs naming anonymous tagged types.
28171
28172 2010-05-28 Segher Boessenkool <segher@kernel.crashing.org>
28173
28174 * config/rs6000/rs6000-modes.def (PSImode): Delete.
28175
28176 2010-05-28 Segher Boessenkool <segher@kernel.crashing.org>
28177
28178 * config/rs6000/constraints.md ("z" constraint): Change to CA_REGS.
28179 * config/rs6000/predicates.md: Change XER_REGNO_P to CA_REGNO_P
28180 throughout.
28181 * config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Change
28182 "xer" to "ca".
28183 Change XER_REGNO_P to CA_REGNO_P, XER_REGNO to CA_REGNO, and
28184 XER_REGS to CA_REGS throughout.
28185 * config/rs6000/rs6000.h: Same.
28186 (ADDITIONAL_REGISTER_NAMES): Add "xer".
28187 * config/rs6000/rs6000.md: Change XER_REGNO to CA_REGNO. Document
28188 that mode_iterator "P" is the size for arithmetic carries as well.
28189 * doc/md.texi (rs6000 section, "z" constraint): Fix documentation.
28190
28191 2010-05-28 Jakub Jelinek <jakub@redhat.com>
28192
28193 PR bootstrap/44255
28194 * combine.c (struct rtx_subst_pair): Define unconditionally.
28195 (propagate_for_debug_subst): Likewise. If not AUTO_INC_DEC,
28196 copy_rtx pair->to instead of cleanup_auto_inc_dec it.
28197 Call make_compound_operation on pair->to.
28198 (propagate_for_debug): Don't call make_compound_operation here.
28199 Always use simplify_replace_fn_rtx.
28200
28201 2010-05-27 Sterling Augustine <sterling@tensilica.com>
28202
28203 * doc/invoke.texi (xtensa options): Add -mforce-no-pic.
28204 * config/xtensa/xtensa.c (override_options): Check
28205 TARGET_FORCE_NO_PIC and set flag_pic.
28206 * config/xtensa/xtensa.opt: Document -mforce-no-pic
28207
28208 2010-05-27 Kai Tietz <kai.tietz@onevision.com>
28209
28210 PR bootstrap/44299
28211 * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
28212 * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
28213
28214 2010-05-27 Joseph Myers <joseph@codesourcery.com>
28215
28216 * diagnostic-core.h: New. Contents moved from diagnostic.h and
28217 toplev.h.
28218 * diagnostic.c: Don't include toplev.h.
28219 (progname): Define. Moved from toplev.c.
28220 (seen_error): New function.
28221 * diagnostic.h: Include diagnostic-core.h.
28222 (diagnostic_t, emit_diagnostic): Don't declare here.
28223 * toplev.c (progname): Move to toplev.c.
28224 (emit_debug_global_declarations, compile_file, finalize,
28225 do_compile, toplev_main): Use seen_error.
28226 * toplev.h: Include diagnostic-core.h.
28227 (trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
28228 internal_error, warning, warning_at, error, error_n, error_at,
28229 fatal_error, pedwarn, permerror, sorry, inform, inform_n,
28230 verbatim, fnotice, progname): Move to diagnostic-core.h.
28231 * builtins.c: Include diagnostic-core.h instead of diagnostic.h.
28232 (expand_builtin_expect): Use seen_error.
28233 * c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
28234 (c_make_fname_decl, c_write_global_declarations): Use seen_error.
28235 * c-format.c: Include diagnostic-core.h instead of diagnostic.h.
28236 * c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
28237 * c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
28238 * c-lex.c (c_lex_with_flags, interpret_float): Don't increment
28239 errorcount for errors.
28240 * c-opts.c (c_common_finish): Use seen_error.
28241 * cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
28242 * cgraphunit.c (verify_cgraph_node, verify_cgraph,
28243 cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
28244 * coverage.c: Include diagnostic-core.h instead of diagnostic.h.
28245 (get_coverage_counts): Use seen_error.
28246 * dwarf2out.c (dwarf2out_finish): Use seen_error.
28247 * gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
28248 gimplify_body): Use seen_error.
28249 * ipa-inline.c (cgraph_early_inlining): Use seen_error.
28250 * ipa-pure-const.c (gate_pure_const): Use seen_error.
28251 * ipa-reference.c (gate_reference): Use seen_error.
28252 * jump.c: Include diagnostic-core.h instead of diagnostic.h.
28253 * lambda-code.c: Include diagnostic-core.h instead of
28254 diagnostic.h.
28255 * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
28256 * lto-compress.c: Include diagnostic-core.h instead of
28257 diagnostic.h.
28258 * lto-section-in.c: Include diagnostic-core.h instead of
28259 diagnostic.h.
28260 * lto-streamer-out.c: Include diagnostic-core.h instead of
28261 diagnostic.h.
28262 * lto-streamer.c: Include diagnostic-core.h instead of
28263 diagnostic.h.
28264 (gate_lto_out): Use seen_error.
28265 * matrix-reorg.c: Include diagnostic-core.h instead of
28266 diagnostic.h.
28267 * omega.c: Include diagnostic-core.h instead of diagnostic.h.
28268 * omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
28269 (gate_expand_omp, lower_omp_1): Use seen_error.
28270 * passes.c: Include diagnostic-core.h instead of diagnostic.h.
28271 (rest_of_decl_compilation, rest_of_type_compilation,
28272 gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
28273 * tree-cfg.c (label_to_block_fn): Use seen_error.
28274 * tree-inline.c (optimize_inline_calls): Use seen_error.
28275 * tree-mudflap.c (mudflap_finish_file): Use
28276 seen_error.
28277 * tree-optimize.c (gate_all_optimizations,
28278 gate_all_early_local_passes, gate_all_early_optimizations): Use
28279 seen_error.
28280 * tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
28281 * varpool.c: Include diagnostic-core.h instead of diagnostic.h.
28282 (varpool_remove_unreferenced_decls,
28283 varpool_assemble_pending_decls): Use seen_error.
28284 * Makefile.in (DIAGNOSTIC_CORE_H): Define.
28285 (TOPLEV_H, DIAGNOSTIC_H): Update.
28286 (c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
28287 lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
28288 c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
28289 builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
28290 coverage.o, lambda-code.o): Update dependencies.
28291
28292 2010-05-25 Dodji Seketeli <dodji@redhat.com>
28293
28294 PR c++/44188
28295 * c-common.c (is_typedef_decl): Move this definition ...
28296 * tree.c (is_typedef_decl): ... here.
28297 (typdef_variant_p): Move definition here from cp/tree.c.
28298 * c-common.h (is_typedef_decl): Move this declaration ...
28299 * tree.h (is_typedef_decl): ... here.
28300 (typedef_variant_p): Move declaration here from cp/cp-tree.h
28301 * dwarf2out.c (is_naming_typedef_decl): New function.
28302 (gen_tagged_type_die): Split out of ...
28303 (gen_type_die_with_usage): ... this function. When an anonymous
28304 tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
28305 is emitted for the typedef.
28306 (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
28307 anonymous tagged types.
28308
28309 2010-05-27 Jason Merrill <jason@redhat.com>
28310
28311 * print-tree.c (debug_vec_tree): New fn.
28312 (print_vec_tree): New fn.
28313 * tree.h: Declare them.
28314 * gdbinit.in (pvt): New command.
28315
28316 * print-tree.c (print_node) [TREE_VEC]: Print elements normally.
28317
28318 * gdbinit.in (pdd): New command.
28319
28320 2010-05-27 Jan Hubicka <jh@suse.cz>
28321
28322 * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
28323 (update_caller_keys): Return early if there are no callers;
28324 only update fibheap when decresing the key.
28325 (update_callee_keys): Avoid recursion.
28326 (decide_inlining_of_small_functions): When badness does not match;
28327 re-insert into fibheap.
28328
28329 2010-05-27 Steven Bosscher <steven@gcc.gnu.org>
28330
28331 * Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
28332 (ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
28333 (ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
28334 (ALL_HOST_OBJS): Now a union of the above two.
28335 <section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
28336 all files in ALL_HOST_FRONTEND_OBJS.
28337 * system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
28338
28339 * c-common.c: Pretend to be a backend file by undefining
28340 IN_GCC_FRONTEND (still need rtl.h here).
28341
28342 2010-05-27 Jan Hubicka <jh@suse.cz>
28343
28344 * cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
28345 * cgraphunit.c (clone_of_p): Compile only when checking is enabled.
28346
28347 2010-05-27 Jan Hubicka <jh@suse.cz>
28348
28349 * sched-ebb.c: Rename struct deps to struct deps_desc.
28350 * ddg.c: Likewise.
28351 * sel-sched-ir.c: Likewise.
28352 * sched-deps.c: Likewise.
28353 * sched-int.h: Likewise.
28354 * sched-rgn.c: Likewise.
28355
28356 2010-05-27 Jon Beniston <jon@beniston.com>
28357
28358 PR 43726
28359 * config/lm32/lm32.h: Remove definition of
28360 GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
28361
28362 2010-05-27 Eric Botcazou <ebotcazou@adacore.com>
28363
28364 PR lto/44230
28365 * dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
28366
28367 2010-05-27 Richard Guenther <rguenther@suse.de>
28368
28369 PR tree-optimization/44284
28370 * tree-vect-stmts.c (vectorizable_assignment): Handle
28371 sign-changing conversions as simple copy.
28372
28373 2010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
28374
28375 * gthr-posix.h (pthread_cancel): Don't declare if compiling against
28376 Bionic C library.
28377 (__gthread_active_p): Check for pthread_create if compiling against
28378 Bionic C library.
28379
28380 2010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
28381
28382 Support compilation for Android platform. Reimplement -mandroid.
28383
28384 * config.gcc (*linux*): Include linux-android.h and linux-android.opt.
28385 (*android*): Set ANDROID_DEFAULT.
28386 (arm*-*-linux*): Include linux-android.h.
28387 (arm*-*-eabi*): Don't include previous -mandroid implementation.
28388 * config/arm/eabi.h: Remove, move Android-specific parts ...
28389 * config/linux-android.h: ... here. New file.
28390 * config/arm/eabi.opt: Rename to ...
28391 * config/linux-android.opt: ... this.
28392 (mandroid): Allow -mno-android option. Initialize based on
28393 ANDROID_DEFAULT.
28394 * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC):
28395 Move logic to corresponding LINUX_TARGET_* macros.
28396 (TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate.
28397 * config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,)
28398 (STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and
28399 Android definitions.
28400 (LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID.
28401 * doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld):
28402 Document.
28403
28404 2010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
28405
28406 Add support for Bionic C library
28407
28408 * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
28409 macro.
28410 (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
28411 (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
28412
28413 * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
28414 (LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
28415 (CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
28416 to support multiple C libraries. Handle Bionic.
28417 (BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
28418 (BIONIC_DYNAMIC_LINKER64): Define.
28419 (LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
28420 Update.
28421 (TARGET_HAS_SINCOS): Enable for Bionic.
28422
28423 * config/linux.opt: Rewrite to handle more than 2 C libraries. Make
28424 the last option specified on command line take effect.
28425 (linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
28426 (mbionic): New.
28427 (mglibc, muclibc): Update.
28428
28429 * config/alpha/linux-elf.h, config/rs6000/linux64.h,
28430 * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
28431 DEFAULT_LIBC.
28432
28433 * doc/invoke.texi (-mglibc, -muclibc): Update.
28434 (-mbionic): Document.
28435
28436 2010-05-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
28437
28438 * c-common.h (c_register_addr_space): Add prototype.
28439 (ADDR_SPACE_KEYWORD): Remove.
28440 * c-common.c (c_register_addr_space): New function.
28441 (c_addr_space_name): Reimplement.
28442 (c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS.
28443
28444 * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
28445 (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
28446
28447 * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
28448 Remove TARGET_ADDR_SPACE_KEYWORDS.
28449
28450 2010-05-27 Joseph Myers <joseph@codesourcery.com>
28451
28452 * input.c: New file.
28453 * input.h (main_input_filename): Move declaration to toplev.h.
28454 * toplev.c (input_location, line_table): Move to input.c
28455 * toplev.h (main_input_filename): Move declaration from input.h.
28456 * tree.c (expand_location): Move to input.c.
28457 * Makefile.in (OBJS-common): Add input.o.
28458 (input.o): Add dependencies.
28459
28460 2010-05-27 Richard Guenther <rguenther@suse.de>
28461
28462 * lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
28463 for non-existant files.
28464 (fork_execute): Mark args_name file as deleted.
28465
28466 2010-05-27 Kai Tietz <kai.tietz@onevision.com>
28467
28468 PR bootstrp/44287
28469 * c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
28470 (narrow_signed_type): Likewise.
28471
28472 2010-05-26 Jan Hubicka <jh@suse.cz>
28473
28474 * cgraphunit.c (verify_cgraph_node): Do checking that DECL match
28475 edge only when checking is enabled; check using former_clone_of;
28476 check inline clones too.
28477 (cgraph_materialize_clone): Record former_clone_of pointer.
28478 (cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not
28479 combining redirections; dump args_to_skip bitmap
28480 (cgraph_materialize_all_clones): Do no redirection here.
28481 * ipa-inline.c (inline_transform): Do redirection here.
28482 * cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled
28483 cheking only).
28484
28485 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
28486
28487 * config/avr/avr-c.c: Do not include regs.h.
28488 Include cpplib.h for cpp_define and tree.h for c-common.h.
28489 * config/avr/avr-devices.c (avr_mcu_types): Fix initializer.
28490 * config/avr/t-avr: Fix dependencies for avr-c.o.
28491
28492 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
28493
28494 * explow.c (set_stack_check_libfunc): Adjust to accept name as a
28495 string instead of SYMBOL_REF rtx.
28496 * rtl.h (set_stack_check_libfunc): Move prototype from here...
28497 * libfuncs.h: ...to here. Adjust for explow.c change.
28498
28499 2010-05-26 Joseph Myers <joseph@codesourcery.com>
28500
28501 * pretty-print.c: Don't include ggc.h.
28502 (identifier_to_locale_alloc, identifier_to_locale_free): Define.
28503 (identifier_to_locale): Use them for allocation.
28504 * pretty-print.h (identifier_to_locale_alloc,
28505 identifier_to_locale_free): Declare.
28506 * toplev.c (alloc_for_identifier_to_locale): New.
28507 (general_init): Set identifier_to_locale_alloc and
28508 identifier_to_locale_free.
28509 * Makefile.in (pretty-print.o): Update dependencies.
28510
28511 2010-05-26 Eric Botcazou <ebotcazou@adacore.com>
28512
28513 * gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
28514 pointer types if they have different alignment or mode.
28515
28516 2010-05-26 Anatoly Sokolov <aesok@post.ru>
28517
28518 * config/sparc/sparc.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
28519 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
28520 * config/sparc/sparc-protos.h (function_value): Remove declaration.
28521 * config/sparc/sparc.c (sparc_function_value, sparc_libcall_value,
28522 sparc_function_value_regno_p): New functions.
28523 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
28524 TARGET_FUNCTION_VALUE_REGNO_P): Define.
28525 (function_value): Rename to...
28526 (sparc_function_value_1): ... this. Make static. Change 'incoming_p'
28527 argument to 'outgoing'.
28528 (function_arg_record_value, function_arg_union_value,
28529 function_arg_vector_value): Update comment.
28530
28531 2010-05-26 Eric Botcazou <ebotcazou@adacore.com>
28532
28533 * dwarf2out.c (struct dw_fde_struct): Reorder flags.
28534 (fde_needed_for_eh_p): New predicate.
28535 (output_call_frame_info): Use it throughout to decide whether FDEs
28536 are needed for EH purpose.
28537 (dwarf2out_begin_prologue): Reorder assignments.
28538
28539 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
28540
28541 * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Do not
28542 special case loop->header.
28543 (is_predicated): New.
28544 (if_convertible_loop_p): Call it.
28545
28546 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
28547
28548 * tree-if-conv.c (add_to_dst_predicate_list): Do not pass a statemet
28549 iterator in parameter. Do not generate code during the analysis.
28550 (tree_if_convert_cond_stmt): Removed.
28551 (tree_if_convert_stmt): Removed.
28552 (predicate_bbs): New.
28553 (if_convertible_loop_p): Call predicate_bbs.
28554 (tree_if_conversion): Simplify the top-level logic as predicate_bbs
28555 now contains all the analysis part.
28556
28557 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
28558
28559 * tree-if-conv.c (tree_if_convert_cond_stmt): Do not remove
28560 statements in the analysis part.
28561 (tree_if_convert_stmt): Update comment.
28562 (remove_conditions_and_labels): New.
28563 (combine_blocks): Call remove_conditions_and_labels.
28564 (tree_if_conversion): Update comment.
28565
28566 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
28567
28568 * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
28569 than 2 predecessors or more than 2 successors.
28570
28571 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
28572
28573 * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
28574 of loops in which the data dependence analysis fails.
28575
28576 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
28577
28578 * tree-if-conv.c (if_convertible_loop_p): Do not compute/free
28579 CDI_POST_DOMINATORS.
28580 (tree_if_conversion): Same.
28581
28582 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
28583
28584 * tree-if-conv.c (tree_if_conversion): Do not return a bool.
28585
28586 2010-05-26 Sebastian Pop <sebastian.pop@amd.com>
28587
28588 * tree-if-conv.c: Update copyright years. Fix comments.
28589 Fix indentation.
28590
28591 2010-05-26 Kai Tietz <kai.tietz@onevision.com>
28592
28593 * builtin-types.def (BT_INT128): New primitive type.
28594 (BT_UINT128): Likewise.
28595 * c-common.c (c_common_r): Add __int128 keyword.
28596 (c_common_type_for_size): Handle __int128.
28597 (c_common_type_for_mode): Likewise.
28598 (c_common_signed_or_unsigned_type): Likewise.
28599 (c_common_nodes_and_builtins): Add builtin type
28600 if target supports 128-bit integer scalar.
28601 * c-common.h (enum rid): Add RID_INT128.
28602 * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
28603 if target supports 128-bit integer scalar.
28604 * c-decl.c (declspecs_add_type): Handle new keyword __int128.
28605 (finish_declspecs): Likewise.
28606 * c-parser.c (c_token_starts_typename): Handle RID_INT128.
28607 (c_token_starts_declspecs): Likewise.
28608 (c_parser_declspecs): Likewise.
28609 (c_parser_attributes): Likewise.
28610 (c_parser_objc_selector): Likewise.
28611 * c-pretty-print.c (pp_c_integer_constant): Handle __int128.
28612 * c-tree.h (enum c_typespec_keyword): Add cts_int128.
28613 * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
28614 * tree.c (make_or_reuse_type): Likewise.
28615 (make_unsigned_type): Likewise.
28616 (build_common_tree_nodes_2): Likewise.
28617 * tree.h (enum integer_type_kind): Add itk_int128 and
28618 itk_unsigned_int128.
28619 (int128_integer_type_node): New define.
28620 (int128_unsigned_type_node): New define.
28621 * doc/extend.texi: Add documentation about __int128 type.
28622
28623 2010-05-26 Richard Guenther <rguenther@suse.de>
28624
28625 * tree-ssa-sccvn.c (copy_nary): Adjust.
28626 (copy_phis): Rename to ...
28627 (copy_phi): ... this. Adjust.
28628 (copy_references): Rename to ...
28629 (copy_reference): ... this. Adjust.
28630 (process_scc): Use HTAB_FOR_EACH_ELEMENT to insert the
28631 result into the valid table.
28632
28633 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
28634
28635 * config/spu/spu-c.c: Do not include function.h, rtl.h, expr.h,
28636 insn-config.h, insn-codes.h, recog.h, and optabs.h.
28637
28638 2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
28639
28640 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove.
28641
28642 2010-05-26 Richard Guenther <rguenther@suse.de>
28643
28644 * opts.c (common_handle_option): Handle OPT_Ofast.
28645
28646 2010-05-26 Joseph Myers <joseph@codesourcery.com>
28647
28648 * diagnostic.c: Don't include opts.h.
28649 (permissive_error_option): Define.
28650 (diagnostic_initialize): Take n_opts parameter. Allocate memory
28651 for classify_diagnostic. Don't use memset for
28652 classify_diagnostic. Initialize new and recently added fields.
28653 (diagnostic_classify_diagnostic): Use context->n_opts instead of
28654 N_OPTS.
28655 (diagnostic_report_diagnostic): Pass context parameter to
28656 diagnostic_report_warnings_p. Use option_enabled and option_name
28657 hooks from context.
28658 (emit_diagnostic): Use permissive_error_option.
28659 (permerror): Likewise.
28660 * diagnostic.h: Don't include options.h.
28661 (struct diagnostic_context): Add n_opts, opt_permissive,
28662 inhibit_warnings, warn_system_headers, option_enabled and
28663 option_name fields. Change classify_diagnostic to a pointer.
28664 * opts-diagnostic.h: New file.
28665 * opts.c: Include opts-diagnostic.h.
28666 (common_handle_option): Set global_dc fields for -Wfatal-errors,
28667 -Wsystem-headers, -fshow-column, -pedantic-errors and -w.
28668 (option_name): New function.
28669 * c-opts.c (c_common_init_options): Set global_dc->opt_permissive.
28670 (c_common_handle_option): Set global_dc->permissive for
28671 -fpermissive.
28672 * c-common.c (c_cpp_error): Save and restore
28673 global_dc->warn_system_headers, not variable warn_system_headers.
28674 * toplev.c: Include opts-diagnostic.h.
28675 (general_init): Update call to diagnostic_initialize. Set
28676 global_dc->show_column, global_dc->option_enabled and
28677 global_dc->option_name.
28678 (process_options): Don't set global_dc fields here.
28679 * Makefile.in (DIAGNOSTIC_H): Remove options.h.
28680 (diagnostic.o, opts.o, toplev.o): Update dependencies.
28681
28682 2010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
28683
28684 * config/picochip/picochip.md (movsi): Split a movsi from a
28685 const after reload.
28686
28687 2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
28688
28689 * ggc-zone.c: Update copyright year.
28690 (poison_region): Mark memory for Valgrind as undefined before
28691 memset () call and inaccessible afterwards.
28692 (ggc_pch_total_size): Change type of i to int.
28693
28694 2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
28695
28696 * ggc-common.c (ggc_free_overhead): Allow empty slot.
28697
28698 2010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
28699
28700 * ggc-common.c: Update copyright year.
28701 (ggc_rlimit_bound): Remove prototype. Compile only if
28702 !ENABLE_GC_CHECKING && !ENABLE_GC_ALWAYS_COLLECT.
28703 (ggc_min_heapsize_heuristic): Compile only if !ENABLE_GC_CHECKING
28704 && !ENABLE_GC_ALWAYS_COLLECT. Make static.
28705 (ggc_min_heapsize_heuristic): Likewise.
28706
28707 2010-05-26 Richard Guenther <rguenther@suse.de>
28708
28709 PR rtl-optimization/44164
28710 * tree-ssa-alias.c (aliasing_component_refs_p): Fix the
28711 no-common access-path disambiguation.
28712 (indirect_ref_may_alias_decl_p): Adjust.
28713 (indirect_refs_may_alias_p): Likewise.
28714 (refs_may_alias_p_1): Likewise.
28715
28716 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
28717
28718 * c-typeck.c: Do not include expr.h.
28719
28720 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
28721
28722 * rtl.h (decl_default_tls_model): Move prototype from here...
28723 * output.h: ...to here.
28724 * c-decl.c: Do not include rtl.h.
28725 * c-pragma.c: Likewise.
28726 * c-parser.c: Likewise.
28727 * c-gimplify.c: Likewise. And also not hard-reg-set.
28728 * c-common.c: Do not include rtl.h. Include tm_p.h and add a
28729 FIXME note for it. Add a FIXME note for expr.h.
28730 * config/i386/i386-protos.h (ix86_enum_va_list, ix86_fn_abi_va_list,
28731 ix86_canonical_va_list_type): Make visible even if RTX_CODE is not
28732 defined.
28733
28734 2010-05-26 Jakub Jelinek <jakub@redhat.com>
28735
28736 PR target/44199
28737 * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
28738 or total_size is larger than red zone size for non-V4 ABI, emit a
28739 stack_tie resp. frame_tie insn before stack pointer restore.
28740 * config/rs6000/rs6000.md (frame_tie): New insn.
28741
28742 2010-05-25 Eric Botcazou <ebotcazou@adacore.com>
28743
28744 * function.h (struct function): Add can_throw_non_call_exceptions bit.
28745 * lto-streamer-in.c (input_function): Stream it in.
28746 * lto-streamer-out.c (output_function): Stream it out.
28747 * function.c (allocate_struct_function): Set it.
28748 (expand_function_end): Substitute cfun->can_throw_non_call_exceptions
28749 for flag_non_call_exceptions.
28750 * cfgbuild.c (control_flow_insn_p): Likewise.
28751 (make_edges): Likewise.
28752 * cfgexpand.c (expand_stack_alignment): Likewise.
28753 * combine.c (distribute_notes): Likewise.
28754 * cse.c (cse_extended_basic_block): Likewise.
28755 * except.c (insn_could_throw_p): Likewise.
28756 * gcse.c (simple_mem): Likewise.
28757 * ipa-pure-const.c (check_call): Likewise.
28758 (check_stmt ): Likewise.
28759 * lower-subreg.c (lower-subreg.c): Likewise.
28760 * optabs.c (emit_libcall_block): Likewise.
28761 (prepare_cmp_insn): Likewise.
28762 * postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
28763 * postreload.c (rest_of_handle_postreload): Likewise.
28764 * reload1.c (reload_as_needed): Likewise.
28765 (emit_input_reload_insns): Likewise.
28766 (emit_output_reload_insns): Likewise.
28767 (fixup_abnormal_edges): Likewise.
28768 * sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
28769 * store-motion.c (find_moveable_store): Likewise.
28770 * tree-eh.c (stmt_could_throw_p): Likewise.
28771 (tree_could_throw_p): Likewise.
28772 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
28773 * config/arm/arm.c (arm_expand_prologue): Likewise.
28774 (thumb1_expand_prologue): Likewise.
28775 * config/rx/rx.md (cbranchsf4): Likewise.
28776 (cmpsf): Likewise.
28777 * config/s390/s390.c (s390_emit_prologue): Likewise.
28778 * tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
28779 (inline_forbidden_into_p): New predicate.
28780 (expand_call_inline): Use it to forbid inlining.
28781 (tree_can_inline_p): Likewise.
28782
28783 2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
28784
28785 * config/i386/i386-c.c: Do not include rtl.h.
28786 * config/i386/t-i386: Update dependencies.
28787
28788 2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
28789
28790 * attribs.c: Do not include rtl.h.
28791 * Makefile.in: Update dependencies.
28792
28793 2010-05-25 Anatoly Sokolov <aesok@post.ru>
28794
28795 * double-int.h (double_int_and): New.
28796 * combine.c (try_combine): Clean up, use double_int_* and
28797 immed_double_int_const functions.
28798
28799 2010-05-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
28800
28801 * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
28802 stderr to /dev/null instead of grep -q.
28803 * configure: Regenerate.
28804
28805 2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
28806
28807 * Makefile.in (EXCEPT_H): Fix typo.
28808
28809 2010-05-25 Vladimir Makarov <vmakarov@redhat.com>
28810
28811 * ira-build.c (update_conflict_hard_reg_costs): New.
28812 (ira_build): Call update_conflict_hard_reg_costs.
28813
28814 2010-05-25 Jakub Jelinek <jakub@redhat.com>
28815
28816 PR debug/41371
28817 * var-tracking.c (find_loc_in_1pdv): Guard asserts with
28818 ENABLE_CHECKING.
28819 (intersect_loc_chains): Walk the s2var's loc_chain together
28820 with s1node chain as long as the locations are equal, don't
28821 call find_loc_in_1pdv in that case.
28822
28823 PR debug/42801
28824 * tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here...
28825 (copy_bind_expr): ... instead of here.
28826 (copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK
28827 if the block hasn't been remapped.
28828 * dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When
28829 emitting concrete instance of abstract VLA, add DW_AT_type attribute.
28830
28831 2010-05-25 Richard Guenther <rguenther@suse.de>
28832
28833 PR middle-end/44069
28834 * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
28835 out-of-bounds array accesses.
28836
28837 2010-05-25 Richard Guenther <rguenther@suse.de>
28838
28839 * lto-wrapper.c (nr, input_names, output_names, makefile): Globalize.
28840 (lto_wrapper_exit): Unlink all LTRANS temporary files on error.
28841 (run_gcc): Re-organize to make cleanup easier.
28842
28843 2010-05-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
28844
28845 * config/s390/s390.c (optimization_options): Fix and move the
28846 flag_prefetch_loop_arrays override ...
28847 (override_options): ... here.
28848
28849 2010-05-25 Joseph Myers <joseph@codesourcery.com>
28850
28851 * diagnostic.c: Don't include plugin.h.
28852 (diagnostic_report_diagnostic): Don't handle plugins specially
28853 here. Pass context to internal_error callback.
28854 * diagnostic.h (struct diagnostic_context): Add context parameter
28855 to internal_error callback.
28856 * plugin.c (warn_if_plugins, plugins_internal_error_function): New.
28857 * plugin.h (struct diagnostic_context): Declare.
28858 (warn_if_plugins, plugins_internal_error_function): Declare.
28859 * toplev.c (general_init): Set global_dc->internal_error.
28860 * Makefile.in (diagnostic.o): Update dependencies.
28861
28862 2010-05-25 Iain Sandoe <iains@gcc.gnu.org>
28863
28864 * config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
28865 * config/rs6000/t-darwin64: New.
28866 * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
28867 build crt2.
28868
28869 2010-05-25 Christian Borntraeger <borntraeger@de.ibm.com>
28870
28871 PR 44203
28872 * tree-ssa-loop-prefetch.c: Fix logic for step calculation to
28873 match the original (and intended) behaviour before r159557. This
28874 changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong
28875 in two ways.
28876
28877 2010-05-25 Richard Guenther <rguenther@suse.de>
28878
28879 * doc/invoke.texi: Document -Ofast.
28880 * target.h (struct gcc_target): Add handle_ofast.
28881 * target-def.h (TARGET_HANDLE_OFAST): Add.
28882 (TARGET_INITIALIZER): Adjust.
28883 * opts.c (decode_options): Handle -Ofast. Enable -ffast-math with it.
28884 * common.opt (Ofast): Add.
28885
28886 2010-05-25 Paolo Bonzini <bonzini@gnu.org>
28887
28888 * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
28889 * doc/md.texi (cstoreXX4): Update for cond-optab changes.
28890
28891 2010-05-25 Paolo Bonzini <bonzini@gnu.org>
28892
28893 PR target/43610
28894 * optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
28895 even if !FLOAT_LIB_COMPARE_RETURNS_BOOL. Always compute true_rtx and
28896 false_rtx. Use false_rtx to compute the correct *ptest for reversed
28897 comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
28898
28899 2010-05-25 Jakub Jelinek <jakub@redhat.com>
28900
28901 * dwarf2out.c (loc_descr_plus_const): When offset is negative, use
28902 DW_OP_minus with negated offset instead of DW_OP_plus.
28903 (loc_list_from_tree): Don't test whether second operand is INTEGER_CST.
28904
28905 2010-05-25 Wei Guozhi <carrot@google.com>
28906
28907 * config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
28908 tst instruction and a new alternative.
28909 * config/arm/constraints.md (Pu): New constraint.
28910
28911 2010-05-24 Sebastian Pop <sebastian.pop@amd.com>
28912
28913 * function.c (assign_stack_local_1): Initialize variable
28914 to avoid warning when bootstrapping at -O3.
28915
28916 2010-05-24 Steven Bosscher <steven@gcc.gnu.org>
28917
28918 * configure.ac (all_lang_makefiles): Remove everything related to it.
28919 * configure: Regenerate.
28920 * Makefile.in: Fix reference to ada Make-lang.in.
28921 Remove support for LANG_MAKEFILES.
28922
28923 2010-05-24 Daniel Jacobowitz <dan@codesourcery.com>
28924 Sandra Loosemore <sandra@codesourcery.com>
28925
28926 * config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
28927 * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
28928 description. Add arm_neon_fp16_ok.
28929 (Add Options): Add arm_neon and arm_neon_fp16.
28930
28931 2010-05-24 Joseph Myers <joseph@codesourcery.com>
28932
28933 * diagnostic.c: Don't include flags.h.
28934 (pedantic_warning_kind, permissive_error_kind): Take diagnostic
28935 context parameters. Check flags in the context passed as a parameter.
28936 (diagnostic_build_prefix): Add context parameter. Check
28937 show_column flag in context.
28938 (diagnostic_action_after_output): Check fatal_errors flag in context.
28939 (diagnostic_report_current_module): Check show_column flag in context.
28940 (default_diagnostic_starter): Update call to
28941 diagnostic_build_prefix.
28942 (diagnostic_report_diagnostic): Pass context to pedantic_warning_kind.
28943 (emit_diagnostic): Pass context to permissive_error_kind.
28944 (permerror): Pass context to permissive_error_kind.
28945 * diagnostic.h (struct diagnostic_context): Add show_column,
28946 pedantic_errors, permissive and fatal_errors fields.
28947 (diagnostic_build_prefix): Update prototype.
28948 * langhooks.c
28949 * toplev.c (process_options): Set flags in global_dc from
28950 flag_show_column, flag_pedantic_errors, flag_permissive,
28951 flag_fatal_errors.
28952 * tree-diagnostic.c (default_tree_diagnostic_starter): Update call
28953 to diagnostic_build_prefix.
28954 * Makefile.in (diagnostic.o): Update dependencies.
28955
28956 2010-05-24 H.J. Lu <hongjiu.lu@intel.com>
28957
28958 * config/i386/ia32intrin.h (__crc32q): Define only if
28959 __SSE4_2__ is defined.
28960
28961 2010-05-24 Iain Sandoe <iains@gcc.gnu.org>
28962
28963 PR target/44132
28964 PR middle-end/43602
28965 * varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P,
28966 DECL_VISIBILITY_SPECIFIED.
28967 (emutls_decl): Set DECL_PRESERVE_P and copy
28968 DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P.
28969 (emutls_finalize_control_var): New callback.
28970 (emutls_finish): Finalize emutls control variables.
28971 * toplev.c (compile_file): Move the call to emutls_finish ()
28972 before varpool_assemble_pending_decls ().
28973
28974 2010-05-24 Daniel Gutson <dgutson@codesourcery.com>
28975
28976 * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
28977 added to the preprocessor condition.
28978
28979 2010-05-24 Paul Brook <paul@codesourcery.com>
28980
28981 * gengtype-lex.l: Add HARD_REG_SET.
28982 * expr.c (expand_expr_real_1): Record writes to hard registers.
28983 * function.c (rtl_data): Add asm_clobbers.
28984 * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
28985 (ira_setup_eliminable_regset): Remove regs_asm_clobbered.
28986 Use crtl->asm_clobbers.
28987
28988 2010-05-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
28989
28990 * doc/makefile.texi (Makefile): Mention stages 'profile'
28991 and 'feedback' for profiledbootstrap.
28992
28993 2010-05-23 H.J. Lu <hongjiu.lu@intel.com>
28994
28995 PR target/44245
28996 * config/i386/i386.c (def_builtin): Properly check
28997 OPTION_MASK_ISA_64BIT.
28998
28999 2010-05-23 Joseph Myers <joseph@codesourcery.com>
29000
29001 * c-decl.c (diagnose_mismatched_decls): Give error for duplicate
29002 typedefs with different but compatible types. Allow duplicate
29003 typedefs with the same type except for pedantic non-C1X, but give
29004 warning for variably modified types.
29005 * c-typeck.c (tagged_types_tu_compatible_p,
29006 function_types_compatible_p, type_lists_compatible_p,
29007 comptypes_internal): Add parameter different_types_p; set
29008 *different_types_p for different but compatible types. All
29009 callers changed.
29010 (comptypes_check_different_types): New.
29011 * c-tree.h (comptypes_check_different_types): Declare.
29012
29013 2010-05-23 Steven Bosscher <steven@gcc.gnu.org>
29014
29015 * regs.h: Do not include obstack.h, basic-block.h. Include machmode.h.
29016 * jump.c: Include basic-block.h.
29017 * profile.c: Likewise.
29018 * tree-profile.c: Likewise.
29019 * coverage.c: Likewise.
29020 * basic-block.h (optimize_function_for_size_p): Move to function.h.
29021 (optimize_function_for_speed_p): Likewise.
29022 * function.h (optimize_function_for_size_p,
29023 optimize_function_for_speed_p): Moved here from basic-block.h.
29024 * Makefile.in: Update dependencies.
29025
29026 2010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
29027
29028 * lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS
29029 before calling make; allow override through $MAKE.
29030 * doc/invoke.texi (Optimize Options): Document override.
29031
29032 2010-05-23 Anatoly Sokolov <aesok@post.ru>
29033
29034 * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New.
29035 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
29036 (rs6000_mode_dependent_address_ptr): Make static.
29037 * config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
29038 * config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr):
29039 Remove.
29040
29041 2010-05-23 Maarten Lankhorst <mlankhorst@codeweavers.com>
29042
29043 PR target/43869
29044 * config/i386/i386.c: Make sure that the correct regparm is passed.
29045
29046 2010-05-23 Steven Bosscher <steven@gcc.gnu.org>
29047
29048 * sbitmap.h (sbitmap_ptr, const_sbitmap_ptr): Move from here...
29049 * sbitmap.c: ...to here to internalize sbitmap element access.
29050 Do not include tm.h, rtl.h, flags.h, hard-reg-set.h, and obstack.h.
29051 Explain why basic-block.h is included.
29052 * function.h: Include tm.h for CUMULATIVE_ARGS.
29053 * Makefile.in: Update dependencies.
29054
29055 2010-05-22 Steven Bosscher <steven@gcc.gnu.org>
29056
29057 * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
29058 New core types.
29059 * sbitmap.h (struct sbitmap_def): Do not typedef here.
29060 * sbitmap.c: Include sbitmap.h.
29061 * basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
29062 hard-reg-set.h. Split everything related to regsets out from here...
29063 * regset.h: ...to here. New file.
29064 * df.h: Include regset.h and sbitmap.h.
29065 * tree-flow.h: Likewise.
29066 * cfgloop.h: Likewise.
29067 * except.h: Do not include sbitmap.h. Include hashtab.h.
29068 * cgraph.h: Include vec.h and function.h.
29069 * reload.h (struct insn_chain): Change types of live_throughout
29070 and dead_or_set from regset_head to bitmap_head.
29071 (compute_use_by_pseudos): Be defined also if regset.h is not included.
29072 * ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
29073 spilled_regs from regset_head to bitmap_head to avoid dependency
29074 in regset.h.
29075 * sel-sched-ir.h: Include regset.h.
29076 * reload.c: Include df.h before reload.h.
29077 * caller-save.c: Likewise.
29078 * reload1.c: Likewise.
29079 * ira.c: Likewise.
29080 (mark_elimination): Update type of r to bitmap, consistent with
29081 DF_LR_IN.
29082 * dominance.c: Include bitmap.h.
29083 * modulo-sched.c: Include df.h.
29084 * cfganal.c: Include bitmap.h and sbitmap.h.
29085 * cfgbuild.c: Include sbitmap.h.
29086 * lcm.c: Include sbitmap.h.
29087 * gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
29088 * domwalk.c: Include sbitmap.h, exclude ggc.h.
29089 * cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
29090 * cselib.c: Include bitmap.h.
29091 * tree-optimize.c: Include regset.h.
29092 * stmt.c: Include bitmap.h.
29093 * Makefile.in: Update dependencies.
29094
29095 2010-05-22 Jan Hubicka <jh@suse.cz>
29096
29097 * cgraph.h (struct varpool_node): Add same_comdat_group.
29098 * lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group
29099 pointer.
29100 (output_varpool): Update call of lto_output_varpool_node.
29101 (input_varpool): Read same_comdat_group pointer.
29102 (input_varpool_1): Fixup same_comdat_group pointer.
29103 * ipa.c (cgraph_remove_unreachable_nodes): WHen one of same comdat
29104 group is needed, all are.
29105 * varpool.c (varpool_remove_node): Remove node from same comdat group
29106 linklist too.
29107 (varpool_analyze_pending_decls): Walk same comdat groups.
29108
29109 2010-05-22 Steven Bosscher <steven@gcc.gnu.org>
29110
29111 * rtl.h (union rtunion_def): Remove rt_bit member.
29112 (XBITMAP, X0BITMAP, XCBITMAP): Remove.
29113 * print-rtl (print_rtx): Do not print the member.
29114 * gengtype.c (adjust_field_rtx_def): Do not handle it.
29115 * gengenrtl.c (type_from_format): Likewise.
29116 (accessor_from_format): Likewise.
29117
29118 2010-05-22 Joseph Myers <joseph@codesourcery.com>
29119
29120 * dbgcnt.c: Include toplev.h instead of errors.h.
29121 * ira-emit.c: Don't include errors.h.
29122 * ira.c: Include toplev.h instead of errors.h.
29123 * lto-compress.c: Include toplev.h instead of errors.h.
29124 * Makefile.in (lto-compress.o, lto-streamer-out.o, ira-emit.o,
29125 ira.o, dbgcnt.o): Update dependencies.
29126
29127 2010-05-22 Richard Guenther <rguenther@suse.de>
29128
29129 * gimple.c (gimple_types_compatible_p): Check type qualifications
29130 before merging pointer to complete and pointer to incomplete type.
29131 * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure
29132 we use our own resolution algorithm. The gold linker plugin
29133 doesn't do the job we want it to do here.
29134
29135 2010-05-22 Anatoly Sokolov <aesok@post.ru>
29136
29137 * config/sparc/sparc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
29138 * config/sparc/sparc.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
29139 (sparc_mode_dependent_address_p): New function.
29140
29141 2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
29142
29143 * Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars.
29144
29145 * timevar.c: Do not include any core headers.
29146 (timevar_print): De-i18n-ize.
29147 (print_time): Likewise.
29148 * timevar.h (timevar_push, timevar_pop): Make inline functions.
29149
29150 2010-05-21 Joseph Myers <joseph@codesourcery.com>
29151
29152 * diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
29153 langhooks-def.h.
29154 (diagnostic_initialize): Initialize x_data not last_function.
29155 (diagnostic_report_current_function): Move to tree-diagnostic.c.
29156 (default_diagnostic_starter): Call
29157 diagnostic_report_current_module not
29158 diagnostic_report_current_function.
29159 (diagnostic_report_diagnostic): Initialize x_data not
29160 abstract_origin.
29161 (verbatim): Likewise.
29162 * diagnostic.h (struct diagnostic_info): Change abstract_origin to
29163 x_data.
29164 (struct diagnostic_context): Change last_function to x_data.
29165 (diagnostic_auxiliary_data): Replace with
29166 diagnostic_context_auxiliary_data and
29167 diagnostic_info_auxiliary_data.
29168 (diagnostic_last_function_changed, diagnostic_set_last_function,
29169 diagnostic_report_current_function): Move to tree-diagnostic.h.
29170 (print_declaration, dump_generic_node, print_generic_stmt,
29171 print_generic_stmt_indented, print_generic_expr,
29172 print_generic_decl, debug_c_tree, dump_omp_clauses,
29173 print_call_name, debug_generic_expr, debug_generic_stmt,
29174 debug_tree_chain, default_tree_printer): Move to
29175 tree-pretty-print.h.
29176 (debug_gimple_stmt, debug_gimple_seq, print_gimple_seq,
29177 print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to
29178 gimple-pretty-print.h.
29179 * pretty-print.c: Don't include tree.h
29180 (pp_base_format): Don't handle %K here.
29181 (pp_base_tree_identifier): Move to tree-pretty-print.c.
29182 * pretty-print.h (text_info): Change abstract_origin to x_data.
29183 (pp_tree_identifier, pp_unsupported_tree,
29184 pp_base_tree_identifier): Move to tree-pretty-print.h.
29185 * gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h,
29186 tree-pretty-print.h: New files.
29187 * tree-pretty-print.c: Include tree-pretty-print.h.
29188 (percent_K_format): New. Moved from pretty-print.c.
29189 (pp_base_tree_identifier): Move from pretty-print.c.
29190 * c-objc-common.c: Include tree-pretty-print.h.
29191 (c_tree_printer): Handle %K here.
29192 * langhooks.c: Include tree-diagnostic.h.
29193 (lhd_print_error_function): Use diagnostic_abstract_origin macro.
29194 * toplev.c: Include tree-diagnostic.h and tree-pretty-print.h.
29195 (default_tree_printer): Handle %K using percent_K_format.
29196 (general_init): Use default_tree_diagnostic_starter.
29197 * tree.c: Include tree-diagnostic.h and tree-pretty-print.h.
29198 (free_lang_data): Use default_tree_diagnostic_starter.
29199 * c-pretty-print.c: Include tree-pretty-print.h.
29200 * cfgexpand.c: Include tree-pretty-print.h and gimple-pretty-print.h.
29201 * cgraphunit.c: Include tree-pretty-print.h and gimple-pretty-print.h.
29202 * dwarf2out.c: Include tree-pretty-print.h.
29203 * except.c: Include tree-pretty-print.h.
29204 * gimple-pretty-print.c: Include tree-pretty-print.h and
29205 gimple-pretty-print.h.
29206 * gimplify.c: Include tree-pretty-print.h.
29207 * graphite-poly.c: Include tree-pretty-print.h and
29208 gimple-pretty-print.h.
29209 * ipa-cp.c: Include tree-pretty-print.h.
29210 * ipa-inline.c: Include gimple-pretty-print.h.
29211 * ipa-prop.c: Include tree-pretty-print.h and gimple-pretty-print.h.
29212 * ipa-pure-const.c: Include gimple-pretty-print.h.
29213 * ipa-struct-reorg.c: Include tree-pretty-print.h and
29214 gimple-pretty-print.h.
29215 * ipa-type-escape.c: Include tree-pretty-print.h.
29216 * print-rtl.c: Include tree-pretty-print.h.
29217 * print-tree.c: Include gimple-pretty-print.h.
29218 * sese.c: Include tree-pretty-print.h.
29219 * tree-affine.c: Include tree-pretty-print.h.
29220 * tree-browser.c: Include tree-pretty-print.h.
29221 * tree-call-cdce.c: Include gimple-pretty-print.h.
29222 * tree-cfg.c: Include tree-pretty-print.h and gimple-pretty-print.h.
29223 * tree-chrec.c: Include tree-pretty-print.h.
29224 * tree-data-ref.c: Include tree-pretty-print.h and
29225 gimple-pretty-print.h.
29226 * tree-dfa.c: Include tree-pretty-print.h.
29227 * tree-if-conv.c: Include tree-pretty-print.h and
29228 gimple-pretty-print.h.
29229 * tree-inline.c: Include tree-pretty-print.h.
29230 * tree-into-ssa.c: Include tree-pretty-print.h and
29231 gimple-pretty-print.h.
29232 * tree-nrv.c: Include tree-pretty-print.h.
29233 * tree-object-size.c: Include tree-pretty-print.h and
29234 gimple-pretty-print.h.
29235 * tree-outof-ssa.c: Include tree-pretty-print.h and
29236 gimple-pretty-print.h.
29237 * tree-parloops.c: Include tree-pretty-print.h and
29238 gimple-pretty-print.h.
29239 * tree-predcom.c: Include tree-pretty-print.h and
29240 gimple-pretty-print.h.
29241 * tree-scalar-evolution.c: Include tree-pretty-print.h and
29242 gimple-pretty-print.h.
29243 * tree-sra.c: Include tree-pretty-print.h.
29244 * tree-ssa-address.c: Include tree-pretty-print.h.
29245 * tree-ssa-alias.c: Include tree-pretty-print.h.
29246 * tree-ssa-ccp.c: Include tree-pretty-print.h and
29247 gimple-pretty-print.h.
29248 * tree-ssa-coalesce.c: Include tree-pretty-print.h.
29249 * tree-ssa-copy.c: Include tree-pretty-print.h and
29250 gimple-pretty-print.h.
29251 * tree-ssa-copyrename.c: Include tree-pretty-print.h.
29252 * tree-ssa-dce.c: Include tree-pretty-print.h and
29253 gimple-pretty-print.h.
29254 * tree-ssa-dom.c: Include tree-pretty-print.h and
29255 gimple-pretty-print.h.
29256 * tree-ssa-dse.c: Include gimple-pretty-print.h.
29257 * tree-ssa-forwprop.c: Include tree-pretty-print.h.
29258 * tree-ssa-ifcombine.c: Include tree-pretty-print.h.
29259 * tree-ssa-live.c: Include tree-pretty-print.h and
29260 gimple-pretty-print.h.
29261 * tree-ssa-loop-im.c: Include tree-pretty-print.h and
29262 gimple-pretty-print.h.
29263 * tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and
29264 gimple-pretty-print.h.
29265 * tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and
29266 gimple-pretty-print.h.
29267 * tree-ssa-loop-niter.c: Include tree-pretty-print.h and
29268 gimple-pretty-print.h.
29269 * tree-ssa-loop-prefetch.c: Include tree-pretty-print.h.
29270 * tree-ssa-math-opts.c: Include gimple-pretty-print.h.
29271 * tree-ssa-operands.c: Include tree-pretty-print.h and
29272 gimple-pretty-print.h.
29273 * tree-ssa-phiprop.c: Include tree-pretty-print.h and
29274 gimple-pretty-print.h.
29275 * tree-ssa-pre.c: Include tree-pretty-print.h and
29276 gimple-pretty-print.h.
29277 * tree-ssa-propagate.c: Include gimple-pretty-print.h.
29278 * tree-ssa-reassoc.c: Include tree-pretty-print.h and
29279 gimple-pretty-print.h.
29280 * tree-ssa-sccvn.c: Include tree-pretty-print.h and
29281 gimple-pretty-print.h.
29282 * tree-ssa-sink.c: Include gimple-pretty-print.h.
29283 * tree-ssa-ter.c: Include tree-pretty-print.h and
29284 gimple-pretty-print.h.
29285 * tree-ssa-uninit.c: Include gimple-pretty-print.h.
29286 * tree-ssa.c: Include tree-pretty-print.h and
29287 gimple-pretty-print.h.
29288 * tree-stdarg.c: Include gimple-pretty-print.h.
29289 * tree-switch-conversion.c: Include gimple-pretty-print.h.
29290 * tree-tailcall.c: Include tree-pretty-print.h and
29291 gimple-pretty-print.h.
29292 * tree-vect-data-refs.c: Include tree-pretty-print.h and
29293 gimple-pretty-print.h.
29294 * tree-vect-loop-manip.c: Include tree-pretty-print.h and
29295 gimple-pretty-print.h.
29296 * tree-vect-loop.c: Include tree-pretty-print.h and
29297 gimple-pretty-print.h.
29298 * tree-vect-patterns.c: Include gimple-pretty-print.h.
29299 * tree-vect-slp.c: Include tree-pretty-print.h and
29300 gimple-pretty-print.h.
29301 * tree-vect-stmts.c: Include tree-pretty-print.h and
29302 gimple-pretty-print.h.
29303 * tree-vectorizer.c: Include tree-pretty-print.h.
29304 * tree-vrp.c: Include tree-pretty-print.h and
29305 gimple-pretty-print.h.
29306 * value-prof.c: Include tree-pretty-print.h and
29307 gimple-pretty-print.h.
29308 * var-tracking.c: Include tree-pretty-print.h.
29309 * Makefile.in (OBJS-common): Add tree-diagnostic.o.
29310 (tree-diagnostic.o): New dependencies.
29311 (c-objc-common.o, c-pretty-print.o, langhooks.o, tree.o,
29312 tree-inline.o, print-tree.o, stor-layout.o, tree-ssa-uninit.o,
29313 tree-ssa.o, tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o,
29314 tree-outof-ssa.o, tree-ssa-forwprop.o, tree-ssa-phiprop.o,
29315 tree-ssa-ifcombine.o, tree-nrv.o, tree-ssa-copy.o,
29316 tree-ssa-propagate.o, tree-ssa-dom.o, tree-ssa-uncprop.o,
29317 tree-ssa-live.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
29318 tree-ssa-sccvn.o, tree-vrp.o, tree-cfg.o, tree-tailcall.o,
29319 tree-ssa-sink.o, tree-if-conv.o, tree-dfa.o, tree-ssa-operands.o,
29320 tree-ssa-address.o, tree-ssa-loop-niter.o,
29321 tree-ssa-loop-ivcanon.o, tree-ssa-loop-prefetch.o, tree-predcom.o,
29322 tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-im.o,
29323 tree-ssa-math-opts.o, tree-ssa-alias.o, tree-ssa-reassoc.o,
29324 gimplify.o, tree-browser.o, tree-chrec.o, tree-scalar-evolution.o,
29325 tree-data-ref.o, sese.o, graphite-poly.o, tree-vect-loop.o,
29326 tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o,
29327 tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o,
29328 tree-parloops.o, tree-stdarg.o, tree-object-size.o,
29329 gimple-pretty-print.o, tree-pretty-print.o, diagnostic.o,
29330 toplev.o, print-rtl.o, except.o, dwarf2out.o, cgraphunit.o,
29331 ipa-prop.o, ipa-cp.o, ipa-inline.o, ipa-pure-const.o,
29332 ipa-type-escape.o, ipa-struct-reorg.o, tree-ssa-dce.o,
29333 tree-call-cdce.o, tree-ssa-ccp.o, tree-sra.o,
29334 tree-switch-conversion.o, var-tracking.o, value-prof.o,
29335 cfgexpand.o, pretty-print.o): Update dependencies.
29336
29337 2010-05-22 Andreas Tobler <andreast@fgznet.ch>
29338
29339 * tree-ssa-structalias.c: Remove tm_p.h from include.
29340
29341 2010-05-21 Jeff Law <law@redhat.com>
29342
29343 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Fix typo.
29344
29345 2010-05-21 Jason Merrill <jason@redhat.com>
29346
29347 * tree-eh.c (cleanup_is_dead_in): New.
29348 (lower_try_finally): Don't generate a dead cleanup region.
29349 (lower_cleanup): Likewise.
29350
29351 2010-05-21 Jakub Jelinek <jakub@redhat.com>
29352
29353 PR debug/44223
29354 * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
29355 unchain each use from the cyclic next_regno_use chain first.
29356
29357 2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
29358
29359 * real: Do not include gmp.h, mpfr.h, and mpc.h.
29360 (REAL_VALUE_NEGATE, REAL_VALUE_ABS, real_arithmetic2): Remove.
29361 (real_value_negate, real_value_abs): New prototypes.
29362 (do_mpc_arg2, real_from_mpfr, mpfr_from_real): Move from here...
29363 * realmpfr.h (do_mpc_arg2, real_from_mpfr, mpfr_from_real): ...to here,
29364 new include file for interface between MPFR and REAL_VALUE_TYPE.
29365 * real.c: Include realmpfr.h.
29366 (real_arithmetic2): Remove legacy function.
29367 (real_value_negate): New.
29368 (real_value_abs): New.
29369 (mfpr_from_real, real_from_mpfr): Move from here...
29370 * realmpfr.c (mpfr_from_real, real_from_mpfr): ...to here, new file.
29371 * builtins.c: Include realmpfr.h.
29372 * fold-const.c: Include realmpfr.h.
29373 (fold_comparison): Use real_value_negate instead of REAL_VALUE_NEGATE.
29374 (fold_negate_const): Likewise.
29375 (fold_abs_const): Use real_value_abs instead of REAL_VALUE_ABS.
29376 * toplev.c: Include realmpfr.h.
29377 * simplify-rtx.c (simplify_const_unary_operation): Use real_value_abs
29378 and real_value_negate.
29379 * fixed-value.c (check_real_for_fixed_mode): Likewise.
29380 * config/arm/arm.c (neg_const_double_rtx_ok_for_fpa): Likewise.
29381 (vfp3_const_double_index): Likewise.
29382 (arm_print_operand): Likewise.
29383 * Makefile.in: Update dependencies.
29384
29385 2010-05-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
29386
29387 * config/s390/s390.c (override_options): Increase the default
29388 of max-completely-peel-times.
29389
29390 2010-05-21 Julian Brown <julian@codesourcery.com>
29391 Mark Mitchell <mark@codesourcery.com>
29392
29393 * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
29394 sibling calls for Thumb-1.
29395 * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
29396 * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
29397 Thumb-2.
29398 (*call_insn, *call_value_insn): Don't use for Thumb-2.
29399 (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
29400 for Thumb-2.
29401 (return): New expander.
29402 (*arm_return): New name for ARM return insn.
29403 * config/arm/thumb2.md (*thumb2_return): New insn pattern.
29404
29405 2010-05-19 Joel Sherrill <joel.sherrill@oarcorp.com>
29406
29407 * config.gcc (sparc64-*-rtems*): New target.
29408
29409 2010-05-21 Nathan Froyd <froydnj@codesourcery.com>
29410
29411 * tree.c (build_function_decl_skip_args): Fix grammar.
29412 (build_function_type_list_1): Fix typos, adjust formatting.
29413
29414 2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
29415
29416 * tree.h: Include real.h and fixed-value.h as basic datatypes.
29417 * dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
29418 tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
29419 tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
29420 tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
29421 genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
29422 tree-pretty-print.c, tree-loop-distribution.c,
29423 tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
29424 tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
29425 tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
29426 tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
29427 tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
29428 tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
29429 tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
29430 tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
29431 tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
29432 tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
29433 genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
29434 tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
29435 gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
29436 tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
29437 tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
29438 store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
29439 tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
29440 tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
29441 tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
29442 tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
29443 fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
29444 tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
29445 config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
29446 config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
29447 config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
29448 config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
29449 config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
29450 config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
29451 config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
29452 config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
29453 config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
29454 config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
29455 config/score/score7.c, config/score/score.c, config/arm/arm.c,
29456 config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
29457 config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
29458 config/bfin/bfin.c: Clean up redundant includes.
29459 * Makefile.in: Update accordingly.
29460
29461 2010-05-21 Nathan Froyd <froydnj@codesourcery.com>
29462
29463 PR middle-end/44204
29464 * builtins.c (fold_call_stmt): Pass &error_mark_node if the call
29465 statement has no arguments.
29466
29467 2010-05-21 Kai Tietz <kai.tietz@onevision.com>
29468
29469 PR/44139
29470 * varasm.c (emutls_decl): Merge attributes to new decl.
29471
29472 2010-05-21 Eric Botcazou <ebotcazou@adacore.com>
29473
29474 PR middle-end/44101
29475 * gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
29476 around the uniquized constructor if its type requires a conversion.
29477
29478 2010-05-21 Jakub Jelinek <jakub@redhat.com>
29479
29480 PR debug/44205
29481 * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
29482 at -O0 goto_locus of any of the incoming edges differs from
29483 goto_locus of outgoing edge, or gimple_location of any of the
29484 labels differs.
29485
29486 2009-09-14 Vladimir Makarov <vmakarov@redhat.com>
29487
29488 * ira.c (ira_non_ordered_class_hard_regs): Define.
29489 (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs.
29490 * ira-int.h (ira_non_ordered_class_hard_regs): Declare.
29491 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase
29492 cost of unaligned hard regs when allocating multi-reg pseudos.
29493
29494 2010-05-20 Richard Sandiford <rdsandiford@googlemail.com>
29495
29496 * config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
29497 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float
29498 for TARGET_NO_FLOAT.
29499 * config/mips/mips.c (mips_file_start): Expand conditional expression
29500 into "if" statements. Use .gnu_attribute 4,0 for TARGET_NO_FLOAT.
29501 (mips_override_options): Move -mno-float override -msoft-float and
29502 -mhard-float.
29503 * config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add
29504 Condition(TARGET_SUPPORTS_NO_FLOAT).
29505 * config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set
29506 __mips_no_float here.
29507 (SUBTARGET_OVERRIDE_OPTIONS): Delete.
29508 (TARGET_SUPPORTS_NO_FLOAT): Define.
29509 * config/mips/sdemtk.opt: Delete.
29510
29511 2010-05-20 Segher Boessenkool <segher@kernel.crashing.org>
29512
29513 * ipa-prop.c (compute_complex_ancestor_jump_func): Bail out if !cond.
29514
29515 2010-05-20 Uros Bizjak <ubizjak@gmail.com>
29516
29517 PR target/43733
29518 * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
29519 * configure: Regenerate.
29520 * config.in: Regenerate.
29521 * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
29522 instead of sahf only for 64bit targets.
29523
29524 2010-05-20 Jakub Jelinek <jakub@redhat.com>
29525
29526 PR debug/44178
29527 * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
29528 setup_ref_regs for DEBUG_INSNs.
29529
29530 2010-05-20 Jan Hubicka <jh@suse.cz>
29531
29532 PR middle-end/44197
29533 * varpool.c (varpool_remove_node): Handle in-varpool aliases.
29534
29535 2010-05-20 Kenneth Zadeck <zadeck@naturalbridge.com>
29536
29537 PR bootstrap/43870
29538 * df-scan.c (df_ref_compare): Stabilize sort.
29539
29540 2010-05-20 Jakub Jelinek <jakub@redhat.com>
29541
29542 * dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
29543 argument. Don't use DW_OP_piece if offset is non-zero,
29544 put offset into second DW_OP_bit_piece argument.
29545 (dw_sra_loc_expr): Adjust callers. For memory expressions
29546 compute offset.
29547
29548 2010-05-20 Hans-Peter Nilsson <hp@axis.com>
29549
29550 PR target/44202
29551 * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
29552 settings for 16-bit-constant "addo" alternative.
29553
29554 2010-05-19 James E. Wilson <wilson@codesourcery.com>
29555
29556 * config/mips/mips-dsp.md (add<DSPV:mode>3,
29557 mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.
29558
29559 PR target/43764
29560 * mips.c (mips_call_expr_from_insn): New arg second_call. Set it.
29561 (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
29562 Use it.
29563
29564 2010-05-19 Joseph Myers <joseph@codesourcery.com>
29565
29566 * diagnostic.c (FLOAT, FFS): Don't undefine.
29567 * passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
29568 * cse.c, regmove.c: Remove comments about stdio.h and rtl.h
29569 include ordering.
29570
29571 2010-05-19 Richard Sandiford <rdsandiford@googlemail.com>
29572
29573 * combine.c (propagate_for_debug): Call make_compound_operation
29574 on the source value.
29575 (try_combine): When implementing a split chosen by find_split_point,
29576 either copy i2src or set it to null. Assert that i2src is not null
29577 before substituting into CALL_INSN_FUNCTION_USAGE.
29578
29579 2010-05-19 Anatoly Sokolov <aesok@post.ru>
29580
29581 * double-int.h (double_int_ior): New function.
29582 * tree.h (build_int_cst_wide_type): Remove.
29583 * tree.c (build_int_cst_wide_type): Remove.
29584 * fold-const.c (native_interpret_int): Use double_int_to_tree instead
29585 of build_int_cst_wide_type.
29586 * stor-layout.c (set_sizetype): (Ditto.).
29587 * dojump.c (do_jump): Use build_int_cstu instead of
29588 build_int_cst_wide_type.
29589
29590 2010-05-19 Eric Botcazou <ebotcazou@adacore.com>
29591
29592 * langhooks.h (struct lang_hooks): Add new field deep_unsharing.
29593 * langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
29594 (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
29595 * gimplify.c (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
29596 TARGET_EXPR nodes, but only once, if instructed to do so. Do not
29597 propagate the 'data' argument to copy_tree_r.
29598 (copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
29599 Propagate 'data' argument to walk_tree.
29600 (copy_if_shared): New function.
29601 (unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
29602 (unmark_visited): New function.
29603 (unshare_body): Call copy_if_shared instead of doing it manually.
29604 (unvisit_body): Call unmark_visited instead of doing it manually.
29605
29606 2010-05-19 Nathan Froyd <froydnj@codesourcery.com>
29607
29608 * hooks.h (hook_tree_tree_tree_bool_null): Rename to...
29609 (hook_tree_tree_int_treep_bool_null): ...this. Update signature.
29610 * hooks.c: Likewise.
29611 * target-def.h (TARGET_FOLD_BUILTIN): Define to
29612 hook_tree_tree_int_treep_bool_null.
29613 * target.h (struct gcc_target): Update signature of fold_builtin
29614 field.
29615 * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
29616 * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
29617 instead of the call expression.
29618 (fold_builtin_call_array): Pass n and argarray directly.
29619 (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
29620 consing a list.
29621 * config/alpha/alpha.c (alpha_fold_builtin): Update signature. Lift
29622 MAX_ARGS check out of the loop. Delete declaration of `arity', declare
29623 `i' and use it in place of `arity'.
29624 * config/sparc/sparc.c (sparc_fold_builtin): Update signature.
29625 Dereference `args' directly.
29626 * config/xtensa/xtensa (xtensa_fold_builtin): Likewise.
29627
29628 2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
29629
29630 * doc/sourcebuild.texi (Effective-Target Keywords): Document
29631 3dnow, sse3, sse2.
29632 (Directives): Document optional dg-require-effective-target
29633 selector.
29634
29635 2010-05-19 Richard Guenther <rguenther@suse.de>
29636
29637 PR lto/44196
29638 * tree.c (find_decls_types_r): Walk BLOCKs and its vars.
29639
29640 2010-05-19 Richard Guenther <rguenther@suse.de>
29641
29642 * doc/invoke.texi (-fwhopr): Document new optional jobs argument.
29643 * common.opt (fwhopr=): New.
29644 * opts.c (common_handle_option): Handle OPT_fwhopr.
29645 * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
29646 * collect2.c (main): Match -fwhopr*.
29647 * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
29648 Execute ltrans stage in parallel when jobs is bigger than 1.
29649
29650 2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
29651
29652 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
29653 pentiumpro on Solaris 8/x86 with Sun as.
29654 * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
29655 hidden alias bug.
29656 (gcc_cv_as_ix86_quad): Check for .quad directive.
29657 * configure: Regenerate.
29658 * config.in: Regenerate.
29659 * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
29660
29661 2010-05-19 Martin Jambor <mjambor@suse.cz>
29662
29663 * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
29664 also for indirect edges. Actual printing moved...
29665 (ipa_print_node_jump_functions_for_edge): ...here.
29666 (ipa_compute_jump_functions): Renamed to
29667 ipa_compute_jump_functions_for_edge and made static.
29668 (ipa_compute_jump_functions): New function.
29669 (make_edge_direct_to_target): Check if the number of arguments on
29670 the newly direct edge is the same as the number of parametrs of
29671 the callee.
29672 * ipa-cp.c (ipcp_init_stage): Most functionality moved to new
29673 ipa_compute_jump_functions. Call ipa_analyze_params_uses.
29674 * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
29675 analysis functions unconditionally, call the new
29676 ipa_analyze_params_uses on the node instead of every edge.
29677
29678 2010-05-19 Christian Borntraeger <borntraeger@de.ibm.com>
29679
29680 * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
29681 to tree.
29682 (dump_mem_ref): Adopt debug code to handle a tree as step. This
29683 also checks for a constant int vs. non-constant but
29684 loop-invariant steps.
29685 (find_or_create_group): Change the sort algorithm to only consider
29686 steps that are constant ints.
29687 (idx_analyze_ref): Adopt code to handle a tree instead of a
29688 HOST_WIDE_INT for step.
29689 (gather_memory_references_ref): Handle tree instead of int and be
29690 prepared to see a NULL_TREE.
29691 (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
29692 prefetches if the step cannot be calculated at compile time.
29693 (issue_prefetch_ref): Issue prefetches for non-constant but
29694 loop-invariant steps.
29695
29696 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
29697
29698 Revert:
29699 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
29700
29701 * tree.h (build_call_list): Remove.
29702 * tree.c (build_call_list): Remove.
29703
29704 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
29705
29706 * tree.h (build_call_list): Remove.
29707 * tree.c (build_call_list): Remove.
29708
29709 2010-05-18 Jan Hubicka <jh@suse.cz>
29710
29711 * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
29712
29713 2010-05-18 Vladimir Makarov <vmakarov@redhat.com>
29714
29715 PR rtl-optimization/43332
29716 * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
29717
29718 2010-05-18 Anatoly Sokolov <aesok@post.ru>
29719
29720 * tree.h (build_int_cstu): Implement as static inline.
29721 * tree.c (build_int_cstu): Remove function.
29722 (double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
29723 sign extended.
29724
29725 2010-05-18 Richard Guenther <rguenther@suse.de>
29726
29727 PR lto/44143
29728 * lto-wrapper.c (verbose): New variable. Initialize from -v.
29729 (debug): Initialize from -save-temps.
29730 (collect_execute): Print command-line when verbose.
29731 (run_gcc): Always use COLLECT_GCC_OPTIONS. Use fork_execute
29732 for ltrans invocation. Produce -dumpbase flag again.
29733 (process_args): Remove.
29734 (main): Simplify.
29735 * collect2.c (maybe_run_lto_and_relink): Only pass object
29736 files to lto-wrapper.
29737 * gcc.c (LINK_COMMAND_SPEC): Likewise.
29738
29739 2010-05-18 Jan Hubicka <jh@suse.cz>
29740
29741 * opts.c (decode_options): Do not disable whopr at ipa_cp.
29742 * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
29743
29744 2010-05-18 Steven Bosscher <steven@gcc.gnu.org>
29745
29746 PR lto/44184
29747 * lto-streamer-out.c (output_gimple_stmt): Output number of labels
29748 in a GIMPLE_ASM.
29749 * lto-streamer-in.c (input_gimple_stmt): Read number of labels
29750 in a GIMPLE_ASM.
29751
29752 2010-05-18 Jakub Jelinek <jakub@redhat.com>
29753
29754 PR debug/41371
29755 * var-tracking.c (find_loc_in_1pdv): Add a few checks from
29756 rtx_equal_p inline.
29757
29758 2010-05-18 Steven Bosscher <steven@gcc.gnu.org>
29759
29760 * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
29761 lto-macho as lto_binary_reader.
29762
29763 * darwin.c (darwin_asm_named_section): Do not add assembler comment
29764 after .section directive; just print it before the directive instead.
29765
29766 2010-05-17 Jan Hubicka <jh@suse.cz>
29767
29768 * cgraph.c (cgraph_create_virtual_clone): Only check
29769 versionable_function_p when not in wpa and checking is enabled.
29770 * cgraphunit.c (cgraph_materialize_all_clones): Stabilize after
29771 there are no more functions to materialize.
29772
29773 2010-05-17 Jan Hubicka <jh@suse.cz>
29774
29775 * cgraph.h (struct ipa_replace_map): Add parm_num parameter.
29776 * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
29777 New functions.
29778 (output_cgraph): Call output_cgraph_opt_summary.
29779 (input_cgrpah): Call input_cgraph_opt_summary.
29780 (output_cgraph_opt_summary_p, output_node_opt_summary,
29781 input_node_opt_summary, input_cgraph_opt_section): New functions.
29782 * lto-section-in.c (lto_section_name): Add cgraphopt.
29783 * tree-inline.c (tree_function_versioning): Handle parm_num.
29784 * lto-streamer.c (lto_get_section_name): Handle cgraphopt.
29785 * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
29786
29787 2010-05-17 Changpeng Fang <changpeng.fang@amd.com>
29788
29789 * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
29790 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
29791 the insn to prefetch ratio heuristic to loops with known trip count.
29792
29793 2010-05-17 Changpeng Fang <changpeng.fang@amd.com>
29794
29795 * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
29796 (schedule_prefetches): Do not generate a prefetch if the unroll factor
29797 is far from what is required by the prefetch.
29798
29799 2010-05-17 Jan Hubicka <jh@suse.cz>
29800
29801 * ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
29802 (ipcp_estimate_growth): Likewise.
29803 (ipcp_const_param_count): Likewise.
29804 (ipcp_insert_stage): Likewise.
29805 * ipa-prop.c (visit_load_for_mod_analysis): New function.
29806 (visit_store_addr_for_mod_analysis): Set used flag.
29807 (ipa_detect_param_modifications): Set used flag for SSE params;
29808 update use of walk_stmt_load_store_addr_ops.
29809 (ipa_print_node_params): Print used flag.
29810 (ipa_write_node_info): Stream used flag.
29811 (ipa_read_node_info): Likewise.
29812 * ipa-prop.h (struct ipa_param_descriptor): Add used field.
29813 (ipa_is_param_used): New function.
29814 (lto_ipa_fixup_call_notes): Remove unused declaration.
29815
29816 2010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
29817
29818 PR target/44074
29819 * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
29820 * configure: Regenerate.
29821 * config.in: Regenerate.
29822 * config/i386/i386.c (print_operand) <case ;>: Also print ";" if
29823 !HAVE_AS_IX86_REP_LOCK_PREFIX.
29824 Don't emit whitespace.
29825 * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
29826 (*rep_movsi): Likewise.
29827 (*rep_movsi_rex64): Likewise.
29828 (*rep_movqi): Likewise.
29829 (*rep_movqi_rex64): Likewise.
29830 (*rep_stosdi_rex64): Likewise.
29831 (*rep_stossi): Likewise.
29832 (*rep_stossi_rex64): Likewise.
29833 (*rep_stosqi): Likewise.
29834 (*rep_stosqi_rex64): Likewise.
29835 (*cmpstrnqi_nz_1): Use {%;} after repz.
29836 (*cmpstrnqi_nz_rex_1): Likewise.
29837 (*cmpstrnqi_1): Likewise.
29838 (*cmpstrnqi_rex_1): Likewise.
29839 (*strlenqi_1): Use {%;} after repnz.
29840 (*strlenqi_rex_1): Likewise.
29841 * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
29842 (*sync_compare_and_swap<mode>): Likewise.
29843 (sync_double_compare_and_swap<mode>): Likewise.
29844 (*sync_double_compare_and_swapdi_pic): Likewise.
29845 (sync_old_add<mode>): Likewise.
29846 (sync_add<mode>): Likewise.
29847 (sync_sub<mode>): Likewise.
29848 (sync_<code><mode>): Likewise.
29849
29850 2010-05-17 Martin Jambor <mjambor@suse.cz>
29851
29852 * cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
29853 otr_token and polymorphic.
29854 * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
29855 (cgraph_clone_edge): Copy the above fields.
29856 * tree.c (get_binfo_at_offset): New function.
29857 * tree.h (get_binfo_at_offset): Declare.
29858 * ipa-prop.h (enum jump_func_type): Added known_type jump function
29859 type, reordered items, updated comments.
29860 (union jump_func_value): Added base_type field, reordered fields.
29861 (enum ipa_lattice_type): Moved down in the file.
29862 (struct ipa_param_descriptor): New field polymorphic.
29863 (ipa_is_param_polymorphic): New function.
29864 * ipa-prop.c: Include gimple.h and gimple-fold.h.
29865 (ipa_print_node_jump_functions): Print known type jump functions.
29866 (compute_complex_pass_through): Renamed to...
29867 (compute_complex_assign_jump_func): this.
29868 (compute_complex_ancestor_jump_func): New function.
29869 (compute_known_type_jump_func): Likewise.
29870 (compute_scalar_jump_functions): Create known type and complex ancestor
29871 jump functions.
29872 (ipa_note_param_call): New parameter polymorphic, set the corresponding
29873 flag in the call note accordingly.
29874 (ipa_analyze_call_uses): Renamed to...
29875 (ipa_analyze_indirect_call_uses): this. New parameter target, define
29876 variable var only in the block where it is used.
29877 (ipa_analyze_virtual_call_uses): New function.
29878 (ipa_analyze_call_uses): Likewise.
29879 (combine_known_type_and_ancestor_jfs): Likewise.
29880 (update_jump_functions_after_inlining): Implemented handling of a
29881 number of new jump function types combination.
29882 (print_edge_addition_message): Removed.
29883 (make_edge_direct_to_target): New function.
29884 (try_make_edge_direct_simple_call): Likewise.
29885 (try_make_edge_direct_virtual_call): Likewise.
29886 (update_call_notes_after_inlining): Renamed to...
29887 (update_indirect_edges_after_inlining): this. Moved edge creation for
29888 indirect calls to try_make_edge_direct_simple_call, also calls
29889 try_make_edge_direct_virtual_call for virtual calls.
29890 (ipa_print_node_params): Changed the header message.
29891 (ipa_write_jump_function): Stream also known type jump functions.
29892 (ipa_read_jump_function): Likewise.
29893 (ipa_write_indirect_edge_info): Stream new fields in
29894 cgraph_indirect_call_info.
29895 (ipa_read_indirect_edge_info): Likewise.
29896 * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
29897 GIMPLE_FOLD_H.
29898
29899 2010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
29900
29901 * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
29902
29903 2010-05-17 Nathan Froyd <froydnj@codesourcery.com>
29904
29905 * tree.h (CALL_EXPR_ARGS): Delete.
29906 (call_expr_arglist): Delete.
29907 * tree.c (call_expr_arglist): Delete.
29908 * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
29909 targetm.fold_builtin.
29910 * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
29911 Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
29912 * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
29913 arglist parameter. Use CALL_EXPR_ARG.
29914 (picochip_expand_builtin_3op): Likewise.
29915 (picochip_expand_builtin_2opvoid): Likewise.
29916 (picochip_expand_array_get): Likewise.
29917 (picochip_expand_array_put): Likewise.
29918 (picochip_expand_array_testport): Likewise.
29919 (picochip_expand_builtin): Don't call CALL_EXPR_ARGS. Pass exp
29920 rather than arglist.
29921 * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
29922 CALL_EXPR_ARGS.
29923 * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
29924 than TREE_VALUE and TREE_CHAIN.
29925 * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
29926 * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
29927 the arglist.
29928
29929 2010-05-17 Jakub Jelinek <jakub@redhat.com>
29930
29931 PR bootstrap/42347
29932 * cfglayout.c (fixup_reorder_chain): Allow returnjump_p
29933 to have no fallthru edge.
29934
29935 PR middle-end/44102
29936 * cfgcleanup.c (try_optimize_cfg): When removing trivially empty
29937 bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
29938 mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
29939 add BARRIER after previous bb if needed.
29940
29941 2010-05-17 Nathan Froyd <froydnj@codesourcery.com>
29942
29943 * tree.c (build_function_type_list_1): Remove bogus assert condition.
29944
29945 2010-05-17 Alan Modra <amodra@gmail.com>
29946
29947 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
29948 unnecessary prototype. Replace copy_r12 and copy_r11 flag params
29949 with copy_reg rtx param.
29950 (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
29951 Correct cases where code for ABI_V4 did not initialise the reg
29952 used to access frame. Also leave frame_reg_rtx as sp for large
29953 frames that save no regs.
29954
29955 2010-05-17 Martin Jambor <mjambor@suse.cz>
29956
29957 PR middle-end/44133
29958 * tree-sra.c (create_access_replacement): New parameter rename, mark
29959 the replaement for renaming only when it is true.
29960 (get_access_replacement): Pass true in the rename parameter of
29961 create_access_replacement.
29962 (get_unrenamed_access_replacement): New function.
29963 (replace_uses_with_default_def_ssa_name): New parameter racc, get the
29964 replacement declaration from it.
29965
29966 2010-05-17 Bernd Schmidt <bernds@codesourcery.com>
29967
29968 * function.c (try_fit_stack_local, add_frame_space): New static
29969 functions.
29970 (assign_stack_local_1): Use them. Look for opportunities to use
29971 space previously wasted on alignment.
29972 * function.h (struct frame_space): New.
29973 (struct rtl_data): Add FRAME_SPACE_LIST member.
29974 * reload1.c (something_was_spilled): New static variable.
29975 (alter_reg): Set it.
29976 (reload): Test it in addition to testing if the frame size changed.
29977
29978 2010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
29979
29980 * config/s390/s390.c: Define sane prefetch settings and activate
29981 flag_prefetch_loop_arrays on -O3.
29982 * config/s390/s390.h: Declare that read can use write prefetch.
29983
29984 2010-05-17 Jakub Jelinek <jakub@redhat.com>
29985
29986 * lto-streamer-out.c (lto_output): Fix --enable-checking=release
29987 build.
29988
29989 2010-05-16 Jan Hubicka <jh@suse.cz>
29990
29991 * ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
29992 function body; do not check stdarg field of struct function.
29993
29994 2010-05-16 Jan Hubicka <jh@suse.cz>
29995
29996 * cgraph.c (dump_cgraph_node): Dump versionable flag.
29997 * cgraph.h (cgraph_local_info): Add versionable flag.
29998 * ipa-cp.c (ipcp_analyze_node): Set versionable flag.
29999 (ipcp_versionable_function_p): Use it.
30000 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
30001 versionable flag.
30002
30003 2010-05-16 Jan Hubicka <jh@suse.cz>
30004
30005 * cgraph.c (cgraph_clone_node): Take decl argument and insert
30006 clone into hash when it is different from orig.
30007 (cgraph_create_virtual_clone): Update use of cgraph_clone_node.
30008 * cgraph.h (cgraph_clone_node): Update prototype.
30009 * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
30010 (lto_cgraph_encoder_delete): Delete body map.
30011 (lto_cgraph_encoder_size): Move to header.
30012 (lto_cgraph_encoder_encode_body_p,
30013 lto_set_cgraph_encoder_encode_body): New.
30014 (lto_output_node): Do not take written_decls argument; output clone_of
30015 pointer.
30016 (add_node_to): Add include_body_argument; call
30017 lto_set_cgraph_encoder_encode_body on master of the clone.
30018 (add_references): Update use of add_node_to.
30019 (compute_ltrans_boundary): Likewise.
30020 (output_cgraph): Do not create written_decls bitmap.
30021 (input_node): Take nodes argument; stream in clone_of correctly.
30022 (input_cgraph_1): Update use of input_node.
30023 * lto-streamer-out.c (lto_output): Use encoder info to decide
30024 what bodies to output.
30025 * ipa-inline.c (cgraph_clone_inlined_nodes,
30026 cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
30027 * lto-streamer.h (lto_cgraph_encoder_d): Add body.
30028 (lto_cgraph_encoder_size): Define here.
30029 (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
30030 Declare.
30031
30032 2010-05-16 Richard Guenther <rguenther@suse.de>
30033
30034 * doc/invoke.texi (-fipa-struct-reorg): Do not mention
30035 -fipa-type-escape.
30036 * ipa-type-escape.c (gate_type_escape_vars): Run when
30037 -fipa-struct-reorg runs.
30038 * opts.c (decode_options): Do not unset flag_ipa_type_escape.
30039 * common.opt (fipa-type-escape): Remove.
30040
30041 2010-05-16 Eric Botcazou <ebotcazou@adacore.com>
30042
30043 * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
30044 (decode_options): Likewise.
30045 * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
30046
30047 2010-05-16 Jan Hubicka <jh@suse.cz>
30048
30049 * ipa.c (function_and_variable_visibility): Also bring local all
30050 aliases.
30051
30052 2010-05-16 Richard Guenther <rguenther@suse.de>
30053
30054 * alias.c (nonoverlapping_memrefs_p): Remove use of
30055 IPA type-escape information.
30056
30057 2010-05-16 Joseph Myers <joseph@codesourcery.com>
30058
30059 * c-common.c (c_common_reswords): Add _Static_assert for C.
30060 * c-parser.c (c_token_starts_declaration,
30061 c_parser_next_token_starts_declaration,
30062 c_parser_static_assert_declaration_no_semi,
30063 c_parser_static_assert_declaration): New.
30064 (c_parser_declaration_or_fndef): Add parameter static_assert_ok.
30065 Handle static assertions if static_assert_ok.
30066 (c_parser_external_declaration, c_parser_declaration_or_fndef,
30067 c_parser_compound_statement_nostart, c_parser_label,
30068 c_parser_for_statement, c_parser_objc_methodprotolist,
30069 c_parser_omp_for_loop): All callers of
30070 c_parser_declaration_or_fndef changed.
30071 (c_parser_struct_declaration): Handle static assertions.
30072 (c_parser_compound_statement_nostart): Use
30073 c_parser_next_token_starts_declaration and
30074 c_token_starts_declaration to detect start of declarations.
30075 (c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
30076 Likewise.
30077
30078 2010-05-16 Anatoly Sokolov <aesok@post.ru>
30079
30080 * config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
30081 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
30082 * config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
30083 TARGET_FUNCTION_VALUE_REGNO_P): Define.
30084 (mmix_function_outgoing_value): Rename to...
30085 (mmix_function_value): ...this. Make static. Add 'outgoing' argument.
30086 (mmix_function_value_regno_p): Make static.
30087 (mmix_libcall_value): New function.
30088 * config/mmix/mmix-protos.h (mmix_function_outgoing_value,
30089 mmix_function_value_regno_p): Remove declaration.
30090
30091 2010-05-16 Eric Botcazou <ebotcazou@adacore.com>
30092
30093 * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
30094 BUILT_IN_ALLOCA if stack checking is enabled.
30095
30096 2010-05-16 Richard Guenther <rguenther@suse.de>
30097
30098 * var-tracking.c (vars_copy_1): Inline ...
30099 (vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT.
30100 (variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts.
30101 (variable_merge_over_cur): Adjust. Merge asserts.
30102 (variable_merge_over_src): Likewise.
30103 (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
30104 (variable_post_merge_new_vals): Merge asserts.
30105 (variable_post_merge_perm_vals): Likewise.
30106 (find_mem_expr_in_1pdv): Likewise.
30107 (dataflow_set_different_value): Remove.
30108 (onepart_variable_different_p): Merge asserts.
30109 (variable_different_p): Likewise.
30110 (dataflow_set_different_1): Inline ...
30111 (dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT.
30112 (emit_notes_for_differences_1): Merge asserts.
30113
30114 2010-05-16 Richard Guenther <rguenther@suse.de>
30115
30116 * lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
30117 * optabs.c (libfunc_decl_hash): Likewise.
30118 * varasm.c (emutls_decl): Likewise.
30119
30120 2010-05-16 Steven Bosscher <steven@gcc.gnu.org>
30121
30122 * c-decl.c: Don't include gimple.h.
30123 (merge_decls): Do not copy gimple_body.
30124
30125 2010-05-15 Jason Merrill <jason@redhat.com>
30126
30127 * c.opt: Add -fnothrow-opt.
30128
30129 2010-05-15 Jan Hubicka <jh@suse.cz>
30130
30131 * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is
30132 analyzed.
30133 * passes.c (ipa_write_summaries): Write all analyzed nodes.
30134
30135 2010-05-15 Steven Bosscher <steven@gcc.gnu.org>
30136
30137 * vecir.h: New file with VEC primitives for tree, gimple, and rtl.
30138 * Makefile.in: Add it.
30139 Fix all other Makefile dependencies for changes below.
30140 * tree.h: Include it instead of defining VEC primitives here.
30141 * gimple.h: Likewise.
30142 * rtl.h: Likewise.
30143 * tree-inline.h: Inlclude vecir.h instead of gimple.h.
30144 * except.h: Include vecir.h, break dependence on tree.h.
30145
30146 * gimplify.c (append_to_statement_list_1, append_to_statement_list):
30147 Move from here...
30148 * tree-iterator.c: ...to here.
30149 * tree-iterator.h: Fix file introduction comment. Add extern markers.
30150
30151 * c-lex.c: Include fixed-value.h instead of rtl.h. Do not include
30152 tm_p.h.
30153 * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
30154 * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
30155 integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
30156 tree-mudflap.h, and target.h.
30157 * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
30158 predict.h, tree-inline.h, gimple.h, and langhooks.h.
30159 * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
30160 Add FIXME for why gimple.h is still included (should be unnecessary
30161 since GCC 4.5 gimplification unit-at-a-time).
30162 * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
30163 * c-pragma.c: Add FIXME for why function.h needs to be included just
30164 for cfun, at front-end level.
30165 Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
30166 Do not include ggc.h, but include vecprim.h for VEC(char).
30167 * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
30168 Explain why target.h is included.
30169 * c-omp.h: Do not include tm.h, function.h, and bitmap.h.
30170 Explain why gimple.h is included.
30171 * c-ppoutput.c: Do not include tm.h.
30172 * c-common.c: Do not include gimple.h. Explain why expr.h is included.
30173 * c-parses.c: Explain why rtl.h is included, and that this (and only
30174 this) is also why tm.h must be included.
30175 Do not include except.h.
30176 * c-lang.c: Do not include ggc.h.
30177
30178 2010-05-15 Uros Bizjak <ubizjak@gmail.com>
30179
30180 * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
30181
30182 2010-05-15 Joseph Myers <joseph@codesourcery.com>
30183
30184 * c-decl.c (grokfield): Allow typedefs for anonymous structs and
30185 unions by default if those structs and unions have no tags. Do
30186 not condition anonymous struct and unions handling on flag_iso.
30187 Allow anonymous structs and unions for C1X.
30188 (finish_struct): Do not diagnose lack of named fields when
30189 anonymous structs and unions present for C1X. Accept flexible
30190 array members in structure with anonymous structs or unions but no
30191 directly named fields.
30192 * doc/extend.texi (Unnamed Fields): Update.
30193
30194 2010-05-15 Eric Botcazou <ebotcazou@adacore.com>
30195
30196 * gimple.h (compare_field_offset): Rename into...
30197 (gimple_compare_field_offset): ...this.
30198 * gimple.c (compare_field_offset): Rename into...
30199 (gimple_compare_field_offset): ...this. Compare the full access if
30200 the offset is self-referential.
30201 (gimple_types_compatible_p): Adjust for above renaming.
30202 * lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the
30203 DECL_NONADDRESSABLE_P flag of fields before merging them.
30204
30205 2010-05-15 Nathan Froyd <froydnj@codesourcery.com>
30206
30207 * tree.h (ctor_to_list): Delete.
30208 * tree.c (ctor_to_list): Delete.
30209
30210 2010-05-15 Jan Hubicka <jh@suse.cz>
30211
30212 * ipa-reference.c: Include toplev.h
30213 (is_proper_for_analysis): Only add to all_module_statics
30214 if it is allocated.
30215 (write_node_summary_p, stream_out_bitmap,
30216 ipa_reference_write_optimization_summary,
30217 ipa_reference_read_optimization_summary): New.
30218 (struct ipa_opt_pass_d pass_ipa_reference): Add
30219 optimization summary streaming.
30220 * lto-cgraph.c (referenced_from_this_partition_p,
30221 reachable_from_this_partition_p): New functions.
30222 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
30223 call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
30224 * opts.c (decode_options): Enable ipa_reference.
30225 * Makefile.in (ipa-reference.o): Add toplev.h dependency.
30226 * lto-streamer.h (referenced_from_this_partition_p,
30227 reachable_from_this_partition_p): Declare.
30228
30229 2010-05-15 Richard Guenther <rguenther@suse.de>
30230
30231 PR tree-optimization/44038
30232 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
30233 taking the address of a V_C_E of a constant.
30234
30235 2010-05-14 Jan Hubicka <jh@suse.cz>
30236
30237 * tree.h (memory_identifier_string): Remove.
30238 * ipa-reference.c: Update comment; do not include gt-ipa-reference.h
30239 (ipa_reference_global_vars_info_d): Remove statics_not_read and
30240 statics_not_written.
30241 (ipa_reference_optimization_summary_d): New structure.
30242 (ipa_reference_optimization_summary_t): New type and vector.
30243 (ipa_reference_vars_info_d): Embedd structures instead of using
30244 pointers.
30245 (reference_vars_to_consider): Remove out of GGC space.
30246 (module_statics_escape): Remove.
30247 (global_info_obstack): Rename to ...
30248 (optimization_summary_obstack): ... this one.
30249 (initialization_status_t): Remove.
30250 (memory_identifier_string): Remove.
30251 (get_reference_vars_info): Fix indenting.
30252 (set_reference_vars_info): Likewise.
30253 (get_reference_optimization_summary): New.
30254 (set_reference_optimization_summary): New.
30255 (get_global_reference_vars_info): Remove.
30256 (ipa_reference_get_read_global): Remove.
30257 (ipa_reference_get_written_global): Remove.
30258 (ipa_reference_get_not_read_global): Update.
30259 (ipa_reference_get_not_written_global): Update.
30260 (is_proper_for_analysis): Outlaw addressable.
30261 (propagate_bits): Update for new datastructures.
30262 (analyze_variable): Remove.
30263 (init_function_info): Update for new datastructures.
30264 (clean_function_local_data): Remove.
30265 (clean_function): Remove.
30266 (copy_global_bitmap): Use optimizations_summary_obstack.
30267 (duplicate_node_data): Duplicate optimization summary only.
30268 (remove_node_data): Remove optimization summary only.
30269 (generate_summary): Do not analyze variables; do not compute
30270 module_statics_escape; do not prune solutions by it.
30271 (read_write_all_from_decl): Fix typos in comments.
30272 (propagate): Doscover readonly and nonaddressable first;
30273 update for new datastructures; share global bitmaps.
30274 * ipa-reference.h (ipa_reference_get_read_global,
30275 ipa_reference_get_written_global): Remove.
30276 * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
30277 * Makefile.in: Remove ipa-refereference from GT files.
30278
30279 2010-05-14 Jakub Jelinek <jakub@redhat.com>
30280
30281 PR debug/44112
30282 * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
30283 for all SYMBOL_REF_DECLs.
30284
30285 2010-05-14 Jan Hubicka <jh@suse.cz>
30286
30287 * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
30288 (varpool_all_refs_explicit_p): New inline function.
30289 * ipa-reference.c: Update comment.
30290 (module_statics_written): Remove.
30291 (get_static_decl): Remove.
30292 (ipa_init): Do not initialize module_statics_written.
30293 (analyze_function): Likewise.
30294 (generate_summary): Likewise; do not compute module_statics_readonly
30295 and do not update variable flags.
30296 (propagate): Call ipa_discover_readonly_nonaddressable_vars.
30297 * ipa.c: Inlucde flags.h
30298 (cgraph_local_node_p): New.
30299 (cgraph_remove_unreachable_nodes): Return early when not optimizing;
30300 promote functions to local.
30301 (ipa_discover_readonly_nonaddressable_vars): New function.
30302 (function_and_variable_visibility): Use cgraph_local_node_p.
30303 * varpool.c (varpool_finalize_decl): Set force_output for
30304 DECL_PRESERVE_P vars.
30305
30306 2010-05-14 Jan Hubicka <jh@suse.cz>
30307
30308 * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
30309
30310 2010-05-14 Richard Guenther <rguenther@suse.de>
30311
30312 PR tree-optimization/44119
30313 * tree-ssa-pre.c (eliminate): Properly mark replacement of
30314 a PHI node necessary.
30315
30316 2010-05-14 Eric Botcazou <ebotcazou@adacore.com>
30317
30318 * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
30319
30320 2010-05-14 Jason Merrill <jason@redhat.com>
30321
30322 PR c++/44127
30323 * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
30324 (gimple_call_set_nothrow): New.
30325 * gimple.c (gimple_build_call_from_tree): Call it.
30326 (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
30327
30328 PR c++/44127
30329 * gimplify.c (gimplify_seq_add_stmt): No longer static.
30330 * gimple.h: Declare it.
30331 * gimple.c (gimple_build_eh_filter): No ops.
30332
30333 2010-05-14 Jan Hubicka <jh@suse.cz>
30334
30335 * ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
30336 nodes already in queue.
30337 (cgraph_remove_unreachable_nodes): Cleanup; fix problem with
30338 re-enqueueing node.
30339
30340 2010-05-14 Jakub Jelinek <jakub@redhat.com>
30341
30342 PR debug/44136
30343 * cfgexpand.c (expand_debug_expr): If non-memory op0
30344 has BLKmode, return NULL.
30345
30346 2010-05-14 Harsha Jagasia <harsha.jagasia@amd.com>
30347
30348 * config.gcc: Add support for --with-cpu option for bdver1.
30349 * config/i386/i386.h (TARGET_BDVER1): New macro.
30350 (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
30351 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
30352 (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
30353 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
30354 Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
30355 (TARGET_CPU_DEFAULT_NAMES): Add bdver1.
30356 (processor_type): Add PROCESSOR_BDVER1.
30357 * config/i386/i386.md: Add bdver1 as a new cpu attribute to match
30358 processor_type in config/i386/i386.h.
30359 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
30360 movaps <reg, reg> instead of movapd <reg, reg> when replacing
30361 movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
30362 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
30363 to emit packed xor instead of packed double/packed integer
30364 xor for SSE and AVX when moving a zero value.
30365 * config/i386/sse.md: Add check for
30366 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of
30367 movapd/movdqa for SSE and AVX.
30368 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed
30369 single logical operations i.e and, or and xor instead of packed double
30370 logical operations for SSE and AVX.
30371 * config/i386/i386-c.c (ix86_target_macros_internal):
30372 Add PROCESSOR_BDVER1.
30373 * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
30374 (has_fma4, has_xop): New.
30375 * config/i386/i386.c (bdver1_cost): New variable.
30376 (m_BDVER1): New macro.
30377 (m_AMD_MULTIPLE): Add m_BDVER1.
30378 (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
30379 x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
30380 x86_tune_use_simode_fiop, x86_tune_promote_qimode,
30381 x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
30382 x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
30383 x86_tune_sse_partial_reg_dependency,
30384 x86_tune_sse_unaligned_load_optimal,
30385 x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
30386 x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
30387 x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
30388 x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
30389 x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
30390 Enable/disable for bdver1.
30391 (processor_target_table): Add bdver1_cost.
30392 (cpu_names): Add bdver1.
30393 (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
30394 processor_alias_table.
30395 (ix86_expand_vector_move_misalign): Change.
30396 TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
30397 Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
30398 Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
30399 of movupd/movdqu for SSE and AVX.
30400 (ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
30401 (ix86_tune_adjust_cost): Add code for bdver1.
30402 (standard_sse_constant_opcode): Add check for
30403 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
30404 of packed double xor for SSE and AVX.
30405
30406 2010-05-14 Pat Haugen <pthaugen@us.ibm.com>
30407
30408 * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
30409 result to unsigned.
30410
30411 2010-05-14 Tristan Gingold <gingold@adacore.com>
30412
30413 * toplev.c (default_debug_hooks): Remove this variable.
30414 (process_options): Remove assignments to default_debug_hooks.
30415
30416 2010-05-14 Martin Jambor <mjambor@suse.cz>
30417
30418 * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
30419 (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
30420 * langhooks.h (struct lang_hooks_for_decls): Removed field
30421 fold_obj_type_ref.
30422 * tree.c (free_lang_data): Remove assignment to
30423 lang_hooks.fold_obj_type_ref.
30424 * tree.def (OBJ_TYPE_REF): Update comment.
30425
30426 2010-05-14 Richard Guenther <rguenther@suse.de>
30427
30428 PR tree-optimization/44124
30429 * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
30430
30431 2010-05-14 Alan Modra <amodra@gmail.com>
30432
30433 PR target/44075
30434 * config/rs6000/rs6000.c (struct machine_function): Reorder
30435 fields for better packing. Add lr_save_state.
30436 (rs6000_ra_ever_killed): Return lr_save_state if set.
30437 (rs6000_emit_eh_reg_restore): Set lr_save_state.
30438
30439 2010-05-13 Jan Hubicka <jh@suse.cz>
30440
30441 * varpool.c (decide_is_variable_needed): Drop code checking
30442 TREE_SYMBOL_REFERENCED.
30443
30444 2010-05-13 Jan Hubicka <jh@suse.cz>
30445
30446 * final.c (output_addr_const): Do not call mark_decl_referenced.
30447 * cgraphunit.c (process_function_and_variable_attributes): Use
30448 mark_needed_node dirrectly.
30449 (assemble_thunk): Do not call mark_decl_referenced.
30450
30451 2010-05-13 Anatoly Sokolov <aesok@post.ru>
30452
30453 * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
30454
30455 2010-05-13 Jeff Law <law@redhat.com>
30456
30457 * ira-conflicts.c (print_allocno_conflicts): New function broken out
30458 from...
30459 (print_conflicts): Call print_allocno_conflicts.
30460
30461 2010-05-13 Jakub Jelinek <jakub@redhat.com>
30462
30463 PR debug/44104
30464 * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
30465 if it is NULL.
30466
30467 2010-05-13 Kai Tietz <kai.tietz@onevision.com>
30468
30469 * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
30470 t-mingw-w64 or t-mingw-w32 for multilib configuration.
30471 * config/i386/t-mingw-w32: New.
30472 * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
30473
30474 2010-05-13 Martin Jambor <mjambor@suse.cz>
30475
30476 * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
30477 gimple-fold.c).
30478 * gimple-fold.c (get_base_binfo_for_type): New function.
30479 (gimple_get_relevant_ref_binfo): Likewise.
30480 (gimple_fold_obj_type_ref_known_binfo): Likewise.
30481 (gimple_fold_obj_type_ref): Likewise.
30482 (fold_gimple_call): Simplify condition for folding virtual calls
30483 and call gimple_fold_obj_type_ref.
30484 * gimple.h (gimple_get_relevant_ref_binfo): Declare.
30485 (gimple_fold_obj_type_ref_known_binfo): Likewise.
30486
30487 2010-05-13 Andreas Schwab <schwab@linux-m68k.org>
30488
30489 * config/rs6000/rs6000-protos.h
30490 (rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
30491 * config/rs6000/rs6000.c (rs6000_mode_dependent_address)
30492 (rs6000_debug_mode_dependent_address)
30493 (rs6000_mode_dependent_address_ptr): Likewise.
30494
30495 2010-05-13 Jakub Jelinek <jakub@redhat.com>
30496
30497 PR debug/43983
30498 * var-tracking.c (track_expr_p): Allow tracking of variables optimized
30499 by SRA.
30500 * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
30501 * tree-sra.c (create_access_replacement): Call unshare_expr before
30502 passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it.
30503 * dwarf2out.c: Include tree-flow.h.
30504 (struct var_loc_node): Rename var_loc_note field to loc, add comment.
30505 (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
30506 Handle DW_OP_bit_piece.
30507 (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
30508 construct_piece_list, adjust_piece_list): New functions.
30509 (add_var_loc_to_decl): Handle SRA optimized variables.
30510 Adjust for var_loc_note to loc field renaming.
30511 (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
30512 in VAR_LOCATION note.
30513 (new_loc_descr_op_bit_piece): New function.
30514 (dw_sra_loc_expr): New function.
30515 (dw_loc_list): Use it. Don't handle the last range after the
30516 loop, handle it inside of the loop. Adjust for var_loc_note
30517 to loc field renaming.
30518 (add_location_or_const_value_attribute): Only special case
30519 single entry loc lists if loc is NOTE_P. Adjust for
30520 var_loc_note to loc field renaming.
30521 (dwarf2out_var_location): Don't set newloc->var_loc_note
30522 and newloc->next here.
30523
30524 2010-05-12 Jan Hubicka <jh@suse.cz>
30525
30526 * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed
30527 flag.
30528 * cgraph.h (cgraph_only_called_directly_p,
30529 cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
30530 (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
30531 * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
30532 (assemble
30533 * ipa.c (cgraph_remove_unreachable_nodes): Use
30534 cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken
30535 flags.
30536 * tree-inline.c (copy_bb): Check address_taken flag.
30537 * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
30538 externally_visible flag.
30539
30540 2010-05-12 Jason Merrill <jason@redhat.com>
30541
30542 PR bootstrap/44048
30543 PR target/44099
30544 * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
30545 * sdbout.c (plain_type_1): Likewise.
30546 * dwarf2out.c (is_base_type): Likewise.
30547 (gen_type_die_with_usage): Likewise. Generate
30548 DW_TAG_unspecified_type for any LANG_TYPE.
30549
30550 2010-05-12 Jan Hubicka <jh@suse.cz>
30551
30552 * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
30553 indrect edges too.
30554 * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
30555 (cgraph_clone_edge): Update.
30556 (cgraph_node_remove_callees): Remove indirect calls too.
30557 * cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
30558 (cgraph_create_indirect_edge): Update prototype.
30559 * ipa-reference.c (has_proper_scope_for_analysis): Rename to
30560 is_proper_for_analysis.
30561 (add_new_function, visited_nodes, function_insertion_hook_holder,
30562 get_local_reference_vars_info, mark_address_taken, mark_address,
30563 mark_load, mark_store, check_asm_memory_clobber, check_call,
30564 scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
30565 (ipa_init): Do not initialize visited_nodes;
30566 function_insertion_hook_holder.
30567 (analyze_variable): Rewrite.
30568 (analyze_function): Rewrite.
30569 (copy_local_bitmap): Remove.
30570 (duplicate_node_dat): Do not duplicate local info.
30571 (generate_summary): Simplify to only walk cgraph.
30572 (write_node_summary_p, ipa_reference_write_summary,
30573 ipa_reference_read_summary): Remove.
30574 (propagate): Do not remove function insertion;
30575 generate summary.
30576 (pass_ipa_reference): NULLify summary handling fields.
30577 * lto-cgraph.c (lto_output_edge): Output ecf_flags.
30578 (input_edge): Input ecf_flags.
30579 * ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
30580 (update_indirect_edges_after_inlining): Ignore edges with unknown
30581 param.
30582
30583 2010-05-12 Sriraman Tallam <tmsriram@google.com>
30584
30585 * implicit-zee.c: New file.
30586 * tree-pass.h (pass_implicit_zee): Declare.
30587 * passes.c (init_optimization_passes): Add zee pass.
30588 * common.opt (fzee): New flag.
30589 * timevar.def (TV_ZEE): Define.
30590 * config/i386/i386.c (optimization_options): Turn on ZEE for level 2
30591 and beyond.
30592 * Makefile.in (implicit-zee.o): Add new build file.
30593
30594 2010-05-12 Kazu Hirata <kazu@codesourcery.com>
30595 Nathan Froyd <froydnj@codesourcery.com>
30596
30597 * c-common.c (sync_resolve_params): Remove write-only variable.
30598
30599 2010-05-12 Anatoly Sokolov <aesok@post.ru>
30600
30601 * target.h (struct gcc_target): Add mode_dependent_address_p field.
30602 * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
30603 (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
30604 * targhooks.c (default_mode_dependent_address_p): New function.
30605 * targhooks.h (default_mode_dependent_address_p): Declare function.
30606 * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
30607 (GO_IF_MODE_DEPENDENT_ADDRESS): Update.
30608 * recog.c (mode_dependent_address_p): Call mode_dependent_address_p
30609 target hook. Change return type to bool.
30610 * recog.h (mode_dependent_address_p): Change return type to bool.
30611
30612 2010-05-12 Kazu Hirata <kazu@codesourcery.com>
30613 Nathan Froyd <froydnj@codesourcery.com>
30614
30615 * tree-mudflap.c (build_function_type_0, build_function_type_1,
30616 build_function_type_2, build_function_type_3): Remove.
30617 (mudflap_init): Use build_function_type_list.
30618
30619 2010-05-12 Kazu Hirata <kazu@codesourcery.com>
30620 Nathan Froyd <froydnj@codesourcery.com>
30621
30622 * coverage.c (build_fn_info_value): Call build_constructor instead of
30623 build_constructor_from_list.
30624 (build_ctr_info_value): Likewise.
30625 (build_gcov_info): Likewise.
30626
30627 2010-05-12 Nathan Froyd <froydnj@codesourcery.com>
30628
30629 * tree.c (build_constructor): Compute TREE_CONSTANT for the
30630 resultant constructor.
30631 (build_constructor_single): Don't set TREE_CONSTANT.
30632 (build_constructor_from_list): Don't compute TREE_CONSTANT.
30633
30634 2010-05-12 Jan Hubicka <jh@suse.cz>
30635
30636 * cgraph.h (struct varpool_node): Add aux.
30637 * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
30638 * varpool.c (varpool_remove_node): Do not remove initializer.
30639 (varpool_reset_queue): Export.
30640 (varpool_finalize_decl): Volatile vars are forced to be output.
30641 * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
30642 replaced decl.
30643 * ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
30644 process_references, varpool_can_remove_if_no_refs): New functions.
30645 (cgraph_remove_unreachable_nodes): Handle variables too.
30646
30647 2010-05-12 H.J. Lu <hongjiu.lu@intel.com>
30648
30649 PR target/44088
30650 * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
30651
30652 2010-05-12 Jakub Jelinek <jakub@redhat.com>
30653
30654 PR middle-end/44085
30655 * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
30656 change value of ORT_TASK.
30657 (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
30658 (omp_notice_threadprivate_variable): New function.
30659 (omp_notice_variable): Call it for threadprivate variables.
30660 If enclosing ctx is a task, print enclosing task rather than
30661 enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK.
30662 (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
30663 if task has untied clause.
30664
30665 PR debug/42278
30666 * dwarf2out.c (base_type_die): Don't add name attribute here.
30667 (modified_type_die): Instead of sizetype use
30668 its underlying original type. If a DW_TAG_base_type doesn't
30669 have name added, add __unknown__.
30670 (dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
30671 always call force_type_die instead.
30672
30673 2010-05-12 Maxim Kuvyrkov <maxim@codesourcery.com>
30674
30675 * targhooks.c (default_stack_protect_guard): Avoid sharing RTL
30676 for __stack_chk_guard.
30677
30678 2010-05-11 Jakub Jelinek <jakub@redhat.com>
30679
30680 * c-opts.c (c_common_parse_file): If start_end_main_source_file,
30681 don't call start_source_file debug hook here...
30682 (finish_options): ... but here, after outputting predefined and
30683 command line defines and undefs.
30684
30685 PR middle-end/44071
30686 * cfglayout.c (fixup_reorder_chain): Allow asm goto to have
30687 no fallthru edge.
30688 * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
30689 optimizing away empty bb with no successors, move over its
30690 footer chain to fallthru predecessor.
30691 * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
30692 (rtl_split_edge): For asm goto call patch_jump_insn even if
30693 splitting fallthru edge.
30694
30695 PR c++/44059
30696 * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
30697 even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
30698 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
30699 * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
30700 on DW.ref.* decls.
30701
30702 PR c++/44062
30703 * c-parser.c (c_parser_expression): Mark LHS of a comma
30704 expression as read if it is a decl, handled component or
30705 COMPOUND_EXPR with that on the RHS.
30706 * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
30707 if it is a decl or handled component.
30708
30709 2010-05-11 Jan Hubicka <jh@suse.cz>
30710
30711 * lto-symtab.c (lto_symtab_free): New function.
30712 * lto-streamer.h (lto_symtab_free): Declare.
30713
30714 2010-05-11 Jan Hubicka <jh@suse.cz>
30715
30716 * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
30717 that if function is needed it is reachable.
30718 (lto_output_node): See if it the function is reachable or referenced.
30719 (output_cgraph): Update call of lto_output_node.
30720 * lto-streamer.h (reachable_from_other_partition_p): Declare.
30721
30722 2010-05-11 Jan Hubicka <jh@suse.cz>
30723
30724 * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
30725 Mark as used.
30726
30727 2010-05-11 Jan Hubicka <jh@suse.cz>
30728
30729 PR tree-optimize/44063
30730 * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of
30731 queue.
30732 (cgraph_decide_inlining_of_small_function): Skip check when disrgarding
30733 limits.
30734 (estimate_function_body_sizes): Compute sizes even when disregarding.
30735
30736 2010-05-11 Kai Tietz <kai.tietz@onevision.com>
30737
30738 * collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
30739
30740 2010-05-11 Jan Hubicka <jh@suse.cz>
30741
30742 * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
30743 into every boundary.
30744
30745 2010-05-11 Jan Hubicka <jh@suse.cz>
30746
30747 * matrix-reorg.c (matrix_reorg): Rebuild edges.
30748
30749 2010-05-11 Jan Hubicka <jh@suse.cz>
30750
30751 * lto-streamer.c (lto_streamer_cache_add_to_node_array,
30752 lto_streamer_cache_delete): Put nodes into heap.
30753 * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
30754 heap.
30755
30756 2010-05-11 Jan Hubicka <jh@suse.cz>
30757
30758 * cgraphbuild.c (cgraph_rebuild_references): New.
30759 * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
30760 out extern inlines.
30761 * cgraph.h (cgraph_rebuild_references): Declare.
30762 * tree-inline.c (tree_function_versioning): Use it.
30763 * ipa-struct-reorg.c (do_reorg_for_func): Likewise.
30764
30765 2010-05-11 Jan Hubicka <jh@suse.cz>
30766
30767 * cgraph.c: Include ipa-utils.h
30768 (cgraph_create_virtual_clone): Update references.
30769 * Makefile.in (cgraph.o): Add dependency at ipa-utils.h
30770
30771 2010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
30772
30773 * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
30774 prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
30775 cache size.
30776
30777 2010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
30778
30779 * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
30780
30781 2010-05-11 Jakub Jelinek <jakub@redhat.com>
30782
30783 * gcc.c (execute): For -### don't quote arguments that
30784 contain just alphanumerics and _/-. characters.
30785 * doc/invoke.texi: Document that change for -###.
30786
30787 PR debug/44023
30788 * df-problems.c (struct dead_debug): Add to_rescan field.
30789 (dead_debug_init): Clear to_rescan field.
30790 (dead_debug_finish): Rescan all debug insns in to_rescan
30791 bitmap and free the bitmap.
30792 (dead_debug_insert_before): Instead of rescanning debug insns
30793 immediately queue their rescanning until dead_debug_finish.
30794 (df_note_bb_compute): After dead_debug_add do continue instead
30795 of break.
30796
30797 2010-05-10 Jakub Jelinek <jakub@redhat.com>
30798
30799 PR debug/44028
30800 * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
30801 clear also INSN_REG_USE_LIST.
30802
30803 2010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30804
30805 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
30806
30807 2010-05-10 Jan Hubicka <jh@suse.cz>
30808
30809 * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally
30810 commited change.
30811
30812 2010-05-10 Jan Hubicka <jh@suse.cz>
30813
30814 * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries):
30815 Allocate encoders.
30816 * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
30817 * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
30818 (lto_streamer_cache_create): Init alloc pool.
30819 (lto_streamer_cache_delete): Free alloc pool.
30820 * lto-streamer.h: Include alloc pool.
30821 (lto_streamer_cache_d): Use alloc pool.
30822 * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
30823
30824 2010-05-10 Jan Hubicka <jh@suse.cz>
30825
30826 * Makefile.in (cgraphbuild.o): Add dependency on except.h.
30827 * cgraphbuild.c: Include except.h
30828 (record_type_list, record_eh_tables): New function.
30829 (build_cgraph_edges, rebuild_cgraph_edges): Use it.
30830
30831 2010-05-10 Jan Hubicka <jh@suse.cz>
30832
30833 * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
30834 __frame_dummy_init_array_entry, force_to_data): Attribute as used
30835 rather than unused.
30836
30837 2010-05-10 Michael Matz <matz@suse.de>
30838
30839 * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
30840 (can_reassociate_p): Use FLOAT_TYPE_P.
30841 * tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
30842 (vect_force_simple_reduction): ... this.
30843 * tree-parloops.c (gather_scalar_reductions): Use
30844 vect_force_simple_reduction.
30845 * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
30846 vect_is_simple_reduction, add modify argument, if true rewrite
30847 "a-b" into "a+(-b)".
30848 (vect_is_simple_reduction, vect_force_simple_reduction): New
30849 functions.
30850 (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
30851
30852 2010-05-10 H.J. Lu <hongjiu.lu@intel.com>
30853 Vladimir Makarov <vmakarov@redhat.com>
30854
30855 PR rtl-optimization/44012
30856 * ira-build.c (remove_unnecessary_allocnos): Nullify
30857 regno_allocno_map of the removed allocno.
30858
30859 2010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30860
30861 * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
30862 to /dev/null.
30863 * configure: Regenerate.
30864
30865 2010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30866
30867 * config/sol2.c (solaris_assemble_visibility): Declare decl, vis
30868 unused.
30869 Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
30870 * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
30871 support in Sun ld.
30872 * configure: Regenerate.
30873
30874 2010-05-10 Richard Guenther <rguenther@suse.de>
30875
30876 * lto-symtab.c (lto_symtab_entry_marked_p): Make entry
30877 marked if the entry identifier is marked.
30878
30879 2010-05-10 Richard Guenther <rguenther@suse.de>
30880
30881 * c-common.c (struct c_common_attributes): Add fnspec attribute.
30882 (handle_fnspec_attribute): New function.
30883 * gimple.h (gimple_call_return_flags): Declare.
30884 (gimple_call_arg_flags): Likewise.
30885 * gimple.c (gimple_call_arg_flags): New function.
30886 (gimple_call_return_flags): Likewise.
30887 * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
30888 New argument flags.
30889 (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
30890 return value flags.
30891 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
30892 * tree-ssa-structalias.c (make_constraint_from_heapvar): Split
30893 main work to ...
30894 (make_heapvar_for): ... this new function.
30895 (handle_rhs_call): Handle fnspec attribute argument specifiers.
30896 (handle_lhs_call): Likewise.
30897 (find_func_aliases): Adjust.
30898
30899 2010-05-10 Richard Guenther <rguenther@suse.de>
30900
30901 PR tree-optimization/44050
30902 * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag.
30903
30904 2010-05-10 Wei Guozhi <carrot@google.com>
30905
30906 PR target/42879
30907 * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
30908
30909 2010-05-09 Joseph Myers <joseph@codesourcery.com>
30910
30911 PR c/10676
30912 * c-typeck.c (lookup_field): Take a type directly. Update
30913 recursive calls.
30914 (build_component_ref): Update call to lookup_field.
30915 (set_init_label): Use lookup_field to find initialized field.
30916 Handle returned list of fields like a sequence of designators.
30917
30918 2010-05-09 Richard Guenther <rguenther@suse.de>
30919
30920 PR middle-end/44024
30921 * fold-const.c (tree_single_nonzero_warnv_p): Properly
30922 handle &FUNCTION_DECL.
30923
30924 2010-05-09 Joseph Myers <joseph@codesourcery.com>
30925
30926 PR c/4784
30927 * c-decl.c (detect_field_duplicates_hash): New. Handle anonymous
30928 structures and unions recursively.
30929 (detect_field_duplicates): Move duplicate detection with a hash to
30930 detect_field_duplicates_hash. Always use a hash if anonymous
30931 structures or unions are present.
30932 * doc/extend.texi (Unnamed Fields): Document that duplicate fields
30933 give errors.
30934
30935 2010-05-09 H.J. Lu <hongjiu.lu@intel.com>
30936
30937 PR target/44046
30938 * config/i386/driver-i386.c (host_detect_local_cpu): Properly
30939 detect Atom, Core 2 and Core i7.
30940
30941 2010-05-09 Richard Guenther <rguenther@suse.de>
30942
30943 * gcc.c (store_arg): Handle temporary file deletion for
30944 joined arguments.
30945
30946 2010-05-09 Richard Guenther <rguenther@suse.de>
30947
30948 PR middle-end/44043
30949 * ipa-inline.c (estimate_function_body_sizes): Return after
30950 disregarding inline limits.
30951
30952 2010-05-09 Richard Guenther <rguenther@suse.de>
30953
30954 * gcc.c (store_arg): Revert last change.
30955
30956 2010-05-08 Sandra Loosemore <sandra@codesourcery.com>
30957
30958 PR middle-end/28685
30959 * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
30960 (optimize_ops_list): Call it.
30961
30962 2010-05-08 Richard Guenther <rguenther@suse.de>
30963
30964 PR tree-optimization/44030
30965 * tree-ssa-pre.c (eliminate): Copy NECESSARY flag. Set
30966 NECESSARY flag if we propagate from a inserted expression.
30967
30968 2010-05-08 Eric Botcazou <ebotcazou@adacore.com>
30969
30970 * gimple.c (gimple_types_compatible_p) <ARRAY_TYPE>: Treat bounds of
30971 domain types as equal if they are both PLACEHOLDER_EXPRs.
30972
30973 2010-05-08 Richard Guenther <rguenther@suse.de>
30974
30975 * lto-wrapper.c (run_gcc): Remove linker output from
30976 command line for LTRANS invocation.
30977
30978 2010-05-07 Steven Bosscher <steven@gcc.gnu.org>
30979
30980 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
30981 lto-macho as lto_binary_reader.
30982 * target.h (struct gcc_target): New hooks lto_start and lto_end.
30983 * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
30984 * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
30985 in lto_start and lto_end calls.
30986 (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O
30987 magic numbers.
30988 (scan_prog_file): Update is_elf_or_coff call.
30989 * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
30990
30991 * collect2.c (main): Fix enum comparison.
30992
30993 * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
30994 Add prototypes.
30995 * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
30996 * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START
30997 and TARGET_ASM_LTO_END.
30998 * darwin.c: Include obstack.h and lto-streamer.h.
30999 (lto_section_names_offset, lto_section_names_obstack,
31000 lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
31001 global variables.
31002 (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
31003 (darwin_asm_lto_start): New function. Redirect output to asm_out_file
31004 to a temporary file.
31005 (darwin_asm_lto_end): New function. Restore asm_out_file.
31006 (darwin_asm_named_section): For LTO sections, replace the name with
31007 the offset of the section name in a string table, and build this
31008 table.
31009 (darwin_file_start): Initialize global vars for LTO support.
31010 (darwin_file_end): If output to asm_out_file was redirected, append it
31011 to the proper asm_out_file here. Add the section names section.
31012
31013 2010-05-07 Steven Bosscher <steven@gcc.gnu.org>
31014
31015 * c-pragma.c (pending_weak_d, pending_weak): New.
31016 (pending_weaks): Change the type to VEC((pending_weak,gc) *.
31017 (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks,
31018 handle_pragma_weak): Update the uses of pending_weaks.
31019
31020 2010-05-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
31021
31022 PR documentation/44016
31023 * doc/standards.texi (Standards): Link to unversioned
31024 cxx0x_status.html page.
31025
31026 2010-05-07 Iain Sandoe <iains@gcc.gnu.org>
31027
31028 PR target/43708
31029 * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P
31030 in addition to TREE_USED, to avoid "set but unused" warnings.
31031
31032 2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
31033
31034 * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New.
31035 (is_loop_prefetching_profitable): Do not insert prefetches
31036 when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO
31037 times the prefetch ahead distance.
31038
31039 2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
31040
31041 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable):
31042 Account for loop unrolling in the insn-to-prefetch ratio heuristic.
31043 (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable
31044 the unroll_factor.
31045
31046 2010-05-07 Changpeng Fang <changpeng.fang@amd.com>
31047
31048 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump
31049 a diagnostic info when the insn-to-mem ratio is too small.
31050
31051 2010-05-07 Richard Guenther <rguenther@suse.de>
31052
31053 * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to
31054 the linker plugin.
31055 (store_arg): Queue temp_filename for deletion instead of
31056 the whole argument.
31057
31058 2010-05-07 Richard Guenther <rguenther@suse.de>
31059
31060 * lto-wrapper.c (DUMPBASE_SUFFIX): Define.
31061 (run_gcc): Handle LTRANS phase invocation.
31062 * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS.
31063
31064 2010-05-07 Jakub Jelinek <jakub@redhat.com>
31065
31066 * tree.h (TREE_ADDRESSABLE): Adjust comment to say that
31067 this is also meaningful on PARM_DECLs and RESULT_DECLs.
31068
31069 2010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
31070
31071 * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.
31072
31073 2010-05-07 Richard Guenther <rguenther@suse.de>
31074
31075 PR tree-optimization/44020
31076 * tree-ssa-pre.c (execute_pre): Do not remove dead inserted
31077 code when PRE is not yet initialized.
31078
31079 2010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
31080
31081 * config/mips/dbxmdebug.h: Remove.
31082 * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h.
31083
31084 2010-05-07 Shujing Zhao <pearly.zhao@oracle.com>
31085
31086 * c-typeck.c (build_binary_op): Warn ordered comparison of pointer
31087 with null pointer and also warn about ordered comparison of zero with
31088 pointer if -Wextra.
31089
31090 2010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
31091
31092 * graphite-blocking.c
31093 (pbb_strip_mine_profitable_p): Replace Value with mpz_t.
31094 * graphite-clast-to-gimple.c
31095 (clast_to_gcc_expression): Same.
31096 (precision_for_value): Same.
31097 (precision_for_interval): Same.
31098 (gcc_type_for_interval): Same.
31099 (graphite_create_new_guard): Same.
31100 (compute_bounds_for_level): Same.
31101 (graphite_create_new_loop_guard): Same.
31102 * graphite-interchange.c
31103 (build_linearized_memory_access): Same.
31104 (pdr_stride_in_loop): Same.
31105 (memory_strides_in_loop_1): Same.
31106 (memory_strides_in_loop): Same.
31107 (extend_scattering): Same.
31108 (psct_scattering_dim_for_loop_depth): Same.
31109 (pbb_number_of_iterations): Same.
31110 * graphite-poly.h
31111 (debug_iteration_domains): Same.
31112 * graphite-ppl.c
31113 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
31114 (ppl_set_inhomogeneous_gmp): Same.
31115 (ppl_strip_loop): Same.
31116 (ppl_lexico_compare_linear_expressions): Same.
31117 (ppl_read_polyhedron_matrix): Same.
31118 (ppl_max_for_le_pointset): Same.
31119 * graphite-ppl.h
31120 (ppl_read_polyhedron_matrix): Same.
31121 (tree_int_to_gmp): Same.
31122 (gmp_cst_to_tree): Same.
31123 (ppl_set_inhomogeneous): Same.
31124 (ppl_set_inhomogeneous_tree): Same.
31125 (ppl_set_coef): Same.
31126 (ppl_set_coef_tree): Same.
31127 * graphite-sese-to-poly.c
31128 (build_pbb_scattering_polyhedrons): Same.
31129 (build_scop_scattering): Same.
31130 (scan_tree_for_params_right_scev): Same.
31131 (scan_tree_for_params): Same.
31132 (find_params_in_bb): Same.
31133 (find_scop_parameters): Same.
31134 (add_upper_bounds_from_estimated_nit): Same.
31135 (build_loop_iteration_domains): Same.
31136 (add_condition_to_domain): Same.
31137 (pdr_add_memory_accesses): Same.
31138
31139 2010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
31140
31141 * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve
31142 CLooG's value_* macros to their respective mpz_* counterparts.
31143 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same.
31144 (graphite_create_new_loop_guard): Same.
31145 * graphite-interchange.c (build_linearized_memory_access): Same.
31146 (pdr_stride_in_loop): Same.
31147 (memory_strides_in_loop_1): Same.
31148 (1st_interchange_profitable_p): Same.
31149 * graphite-poly.c (extend_scattering): Same.
31150 (psct_scattering_dim_for_loop_depth): Same.
31151 (pbb_number_of_iterations): Same.
31152 (pbb_number_of_iterations_at_time): Same.
31153 * graphite-poly.h (new_1st_loop): Same.
31154 * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same.
31155 (oppose_constraint): Same.
31156 (insert_constraint_into_matrix): Same.
31157 (ppl_set_inhomogeneous_gmp): Same.
31158 (ppl_set_coef_gmp): Same.
31159 (ppl_strip_loop): Same.
31160 (ppl_lexico_compare_linear_expressions): Same.
31161 (ppl_max_for_le_pointset): Same.
31162 (ppl_min_for_le_pointset): Same.
31163 (ppl_build_realtion): Same.
31164 * graphite-ppl.h (gmp_cst_to_tree): Same.
31165 (ppl_set_inhomogeneous): Same.
31166 (ppl_set_inhomogeneous_tree): Same.
31167 (ppl_set_coef): Same.
31168 (ppl_set_coef_tree): Same.
31169 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
31170 (build_scop_scattering): Same.
31171 (add_value_to_dim): Same.
31172 (scan_tree_for_params_right_scev): Same.
31173 (scan_tree_for_params_int): Same.
31174 (scan_tree_for_params): Same.
31175 (find_params_in_bb): Same.
31176 (find_scop_parameters): Same.
31177 (add_upper_bounds_from_estimated_nit): Same.
31178 (build_loop_iteration_domains): Same.
31179 (create_linear_expr_from_tree): Same.
31180 (add_condition_to_domain): Same.
31181 (pdr_add_memory_accesses): Same.
31182
31183 2010-05-06 Magnus Fromreide <magfr@lysator.liu.se>
31184 Jason Merrill <jason@redhat.com>
31185
31186 * c-common.c (c_common_reswords): Add nullptr.
31187 * c-common.h: Add RID_NULLPTR. Reorganize C++0x rids.
31188 * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE.
31189 (gen_type_die_with_usage): Likewise.
31190 * dbxout.c (dbxout_type): Likewise.
31191 * sdbout.c (plain_type_1): Likewise.
31192
31193 2010-05-06 Jason Merrill <jason@redhat.com>
31194
31195 * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.
31196 Don't change GS_OK to GS_ALL_DONE. Make sure that all cases set
31197 ret appropriately.
31198 (gimplify_compound_lval): Return GS_ALL_DONE as appropriate.
31199
31200 * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for
31201 stripping WITH_SIZE_EXPR.
31202 (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't
31203 change.
31204
31205 2010-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
31206
31207 * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from
31208 list of obsolete configurations.
31209 Disabled check for obsolete configurations.
31210 (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
31211 Removed support for previous versions.
31212 * config/mips/iris.h: Removed.
31213 * config/mips/iris5.h: Removed.
31214 * config/mips/iris6.h: Merged old iris.h contents.
31215 (TARGET_IRIX): Removed.
31216 (DRIVER_SELF_SPECS): Removed mabi=32.
31217 (IDENT_ASM_OP): Removed undef.
31218 (STARTFILE_SPEC): Removed mabi=32.
31219 (ENDFILE_SPEC): Likewise.
31220 (IRIX_SUBTARGET_LINK_SPEC): Likewise.
31221 (MACHINE_TYPE): Update for IRIX 6.5.
31222 * config/mips/mips.c (mips_build_builtin_va_list): Replaced
31223 TARGET_IRIX by TARGET_IRIX6.
31224 (mips_file_start): Likewise.
31225 (mips_output_external): Remove IRIX 5/6 O32 support.
31226 (mips_output_function_prologue): Likewise.
31227 * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by
31228 TARGET_IRIX6.
31229 (TARGET_CPU_CPP_BUILTINS): Likewise.
31230 (TARGET_IRIX): Removed.
31231 * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
31232 (MULTILIB_DIRNAMES): Removed 32.
31233 (MULTILIB_OSDIRNAMES): Removed ../lib.
31234 * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5.
31235 (Specific, mips-sgi-irix5): Document removal.
31236 (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal.
31237 Remove references to older IRIX 6 releases and the O32 ABI.
31238
31239 2010-05-06 Jakub Jelinek <jakub@redhat.com>
31240
31241 PR bootstrap/43994
31242 * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
31243 instead of DF_REF_REAL_REG.
31244
31245 2010-05-06 Dave Korn <dave.korn.cygwin@gmail.com>
31246
31247 PR target/43888
31248 * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
31249 handling to still return true for x64 targets.
31250
31251 2010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
31252
31253 * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.
31254
31255 2010-05-06 Jan Hubicka <jh@suse.cz>
31256
31257 PR tree-optimization/43791
31258 * ipa-inline.c (update_caller_keys): Remove bogus
31259 disregard_inline_limits check.
31260
31261 2010-05-06 Michael Matz <matz@suse.de>
31262
31263 PR tree-optimization/43984
31264 * tree-ssa-pre.c (inserted_phi_names): Remove.
31265 (inserted_exprs): Change to bitmap.
31266 (create_expression_by_pieces): Set bits, don't append to vector.
31267 (insert_into_preds_of_block): Don't handle inserted_phi_names.
31268 (eliminate): Don't look at inserted_phi_names, remove deleted
31269 insns from inserted_exprs.
31270 (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors.
31271 (init_pre, fini_pre): Allocate and free bitmaps.
31272 (execute_pre): Insert insns on edges before elimination.
31273
31274 2010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
31275
31276 * tree.c (initializer_zerop): Handle STRING_CST.
31277
31278 2010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
31279
31280 PR 40989
31281 * doc/invoke.texi (Wimplicit): Document as C only.
31282 * opts.c (common_handle_option): Add argument kind.
31283 (handle_option): Rename as read_cmdline_option. Factor out code to...
31284 (handle_option): ... here. New.
31285 (handle_options): Rename as read_cmdline_options.
31286 (decode_options): Update call.
31287 (set_option): Use option index instead of option pointer. Classify
31288 diagnostics correctly.
31289 (enable_warning_as_error): Call handle_option.
31290 * opts.h (set_option): Update declaration.
31291 (handle_option): Declare.
31292 * langhooks.h (struct lang_hooks): Add argument kind to handle_option.
31293 * c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
31294 * c-opts.c (set_Wimplicit): Delete.
31295 (c_family_lang_mask): New static constant.
31296 (c_common_handle_option): Add argument kind. Use handle_option
31297 instead of set_Wimplicit.
31298 (c_common_post_options): warn_implicit and warn_implicit_int
31299 are disabled by default.
31300 * c-common.c (warn_implicit): Do not define here.
31301 * c-common.h (warn_implicit): Do not declare here.
31302 (c_common_handle_option): Update declaration.
31303 * lto-opts.c (lto_reissue_options): Update call to set_option.
31304
31305 2010-05-06 Richard Guenther <rguenther@suse.de>
31306
31307 PR tree-optimization/43571
31308 * domwalk.c (walk_dominator_tree): Walk the dominator
31309 sons in more optimal order.
31310
31311 2010-05-06 Richard Guenther <rguenther@suse.de>
31312
31313 PR tree-optimization/43934
31314 * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
31315 (stmt_cost): Likewise.
31316 (extract_true_false_args_from_phi): New helper.
31317 (determine_max_movement): For PHI nodes verify we can hoist them
31318 and compute their cost.
31319 (determine_invariantness_stmt): Handle PHI nodes.
31320 (move_computations_stmt): Likewise. Hoist PHI nodes in
31321 if-converted form using COND_EXPRs.
31322 (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes.
31323 (tree_ssa_lim): Likewise.
31324 * tree-flow.h (tree_ssa_lim): Adjust prototype.
31325 * tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
31326
31327 2010-05-06 Richard Guenther <rguenther@suse.de>
31328
31329 PR tree-optimization/43987
31330 * tree-ssa-structalias.c (could_have_pointers): For possibly
31331 address-taken variables force pointers to be recorded.
31332 (create_variable_info_for_1): Likewise.
31333 (push_fields_onto_fieldstack): Pass in wheter all fields
31334 must have pointers.
31335 (find_func_aliases): Query types instead of vars whether
31336 they contain pointers where appropriate.
31337
31338 2010-05-06 Jan Hubicka <jh@suse.cz>
31339
31340 * cgraphbuild.c (record_reference_ctx): Add varpool_node.
31341 (record_reference, mark_address, mark_load, mark_store): Record
31342 references.
31343 (record_references_in_initializer): Update call of record_references.
31344 (rebuild_cgraph_edges): Remove all references before rebuiding.
31345 * cgraph.c (cgraph_create_node): Clear ref list.
31346 (cgraph_remove_node): Remove references.
31347 (dump_cgraph_node): Dump references.
31348 (cgraph_clone_node): Clone references.
31349 * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
31350 (struct cgraph_node, varpool_node): Add ref_lst.
31351 * ipa-ref.c: New file.
31352 * ipa-ref.h: New file.
31353 * ipa-ref-inline.h: New file.
31354 * lto-cgraph.c (output_varpool): Take cgrag node set argument.
31355 (referenced_from_other_partition_p): New function.
31356 (lto_output_varpool_node): Take set arugment; call
31357 referenced_from_other_partition.
31358 (lto_output_ref): New.
31359 (add_references): New.
31360 (output_refs): New.
31361 (output_cgraph): Compute boundary based on references; output refs.
31362 (output_varpool): Accept cgraph_node_set argument.
31363 (input_ref): New.
31364 (input_refs): New.
31365 (input_cgraph): Call input_refs.
31366 * lto-section-in.c (lto_section_name): Add refs.
31367 * Makefile.in (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
31368 (ipa-ref.o): New file.
31369 * varpool.c (varpool_node): Clear ipa ref list.
31370 (varpool_remove_node): Remove references.
31371 (dump_varpool_node): Dump references.
31372 (varpool_assemble_decl): Only compile finalized ones.
31373 (varpool_extra_name_alias): Initialize ref list.
31374 * lto-streamer.c (lto-get_section_name): Add .refs section.
31375 * lto-streamer.h (lto_section_type): Add LTO_section_refs.
31376 (referenced_from_other_partition_p): Declared.
31377
31378 2010-05-06 Ira Rosen <irar@il.ibm.com>
31379
31380 PR tree-optimization/43901
31381 * tree-vect-stmts.c (vectorizable_call): Assert that vector
31382 type is not NULL if it's transformation phase, and return
31383 FALSE if it's analysis.
31384 (vectorizable_conversion, vectorizable_operation,
31385 vectorizable_type_demotion, vectorizable_type_promotion): Likewise.
31386
31387 2010-05-05 Andrew Pinski <andrew.pinski@caviumnetworks.com>
31388
31389 * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
31390 Delete.
31391 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
31392 New define.
31393 * config/mips/mips-protos.h
31394 (mips_small_register_classes_for_mode_p): Delete prototype.
31395
31396 2010-05-06 Bernd Schmidt <bernds@codesourcery.com>
31397
31398 * config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
31399 * config/arm/arm.c (multiple_operation_profitable_p,
31400 compute_offset_order): New static functions.
31401 (load_multiple_sequence, store_multiple_sequence): Use them.
31402 Replace constant 4 with MAX_LDM_STM_OPS. Compute order[0] from
31403 memory offsets, not register numbers.
31404 (emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
31405
31406 2010-05-05 Steven Bosscher <steven@gcc.gnu.org>
31407
31408 * stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
31409 (get_pending_sizes, put_pending_size, put_pending_sizes):
31410 Update the uses of pending_sizes.
31411 * c-decl.c (store_parm_decls): Likewise.
31412 * c-tree.h (struct c_arg_info): Likewise.
31413 * tree.h: Update the prototype for get_pending_sizes and
31414 put_pending_sizes.
31415
31416 2010-05-05 Jason Merrill <jason@redhat.com>
31417
31418 PR debug/43370
31419 * c-common.c (handle_aligned_attribute): Respect
31420 ATTR_FLAG_TYPE_IN_PLACE.
31421
31422 PR testsuite/43758
31423 * target.h (struct gcc_target): Add attribute_takes_identifier_p.
31424 * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
31425 (TARGET_INITIALIZER): Use it.
31426 * c-common.c (attribute_takes_identifier_p): Call it.
31427 * c-common.h: Update prototype.
31428 * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
31429 (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
31430
31431 2010-05-05 Jakub Jelinek <jakub@redhat.com>
31432
31433 PR debug/43950
31434 * dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
31435 DW_ID_down_case for Fortran compilation units.
31436
31437 2010-05-05 Jan Hubicka <jh@suse.cz>
31438
31439 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
31440 handle aliases.
31441
31442 2010-05-05 Eric Botcazou <ebotcazou@adacore.com>
31443
31444 * gimplify.c (gimplify_return_expr): Gimplify the size expressions of
31445 a variable-sized RESULT_DECL.
31446
31447 2010-05-05 Maxim Kuvyrkov <maxim@codesourcery.com>
31448
31449 * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
31450
31451 2010-05-05 Jason Merrill <jason@redhat.com>
31452
31453 PR c++/43787
31454 * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
31455 returns GS_OK.
31456 (gimplify_modify_expr_rhs): Return GS_OK if anything changed.
31457
31458 2010-05-05 Alexandre Oliva <aoliva@redhat.com>
31459 Jakub Jelinek <jakub@redhat.com>
31460
31461 PR debug/43478
31462 * df-problems.c (struct dead_debug_use, struct dead_debug): New.
31463 (dead_debug_init, dead_debug_finish): New functions.
31464 (dead_debug_add, dead_debug_insert_before): Likewise.
31465 (df_note_bb_compute): Initialize a dead_debug object, add dead
31466 debug uses to it, insert debug bind insns before death insns,
31467 reset debug insns that refer to pending uses at the end.
31468 * rtl.h (make_debug_expr_from_rtl): New prototype.
31469 * varasm.c (make_debug_expr_from_rtl): New function.
31470
31471 2010-05-05 Jan Hubicka <jh@suse.cz>
31472
31473 * lto-cgraph.c (output_varpool): Forward declare; work on encoder.
31474 (lto_varpool_encoder_new, lto_varpool_encoder_delete,
31475 lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
31476 lto_varpool_encoder_deref, lto_varpool_encoder_size,
31477 lto_varpool_encoder_encode_initializer_p,
31478 lto_set_varpool_encoder_encode_initializer): New functions.
31479 (lto_output_cgraph): Take vset parameter too; compute varpool encoder;
31480 call output_varpool.
31481 (input_varpool_node): Do not always set analyzed.
31482 (input_cgraph_1): Return vector of cgraph nodes.
31483 (input_varpool_1): Return vector of varpools.
31484 (input_cgraph): Free the vectors.
31485 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
31486 output only initializers needed.
31487 (lto_output): Only call output_cgraph.
31488 (produce_asm_for_decls): Call lto_varpool_encoder_delete.
31489 * lto-section-out.c (lto_new_out_decl_state): Initialize
31490 state->varpool_node_encoder.
31491 * lto-streamer.h (lto_varpool_encoder_d): New.
31492 (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
31493 (lto_cgraph_encoder_delete, output_cgraph): Update prototype.
31494 (lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
31495 lto_varpool_encoder_encode, lto_varpool_encoder_delete,
31496 lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
31497 Declare.
31498 (output_varpool, input_varpool): Remove declarations.
31499
31500 2010-05-05 Jan Hubicka <jh@suse.cz>
31501
31502 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
31503 with body can prevail.
31504
31505 2010-05-05 Jan Hubicka <jh@suse.cz>
31506
31507 * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
31508 size.
31509
31510 2010-05-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
31511
31512 * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
31513
31514 * gengtype.h (erro_at_line): Constify pos argument.
31515
31516 * gengtype.c: Include hashtab.h.
31517 (enum gc_used): Document GC_MAYBE_POINTED_TO.
31518 (error_at_line): Constify pos argument.
31519 (do_typedef): Initialize p->opt field.
31520 (get_file_gtfilename): Fix comment typo.
31521 (struct walk_type_data): Constify line field.
31522 (get_output_file_for_structure): New function.
31523 (write_local_func_for_structure): Constify orig_s argument.
31524 Use get_output_file_for_structure.
31525 (write_func_for_structure): Use get_output_file_for_structure.
31526 (INDENT): New define.
31527 (dump_pair, dump_type, dump_type_list, dump_typekind)
31528 (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
31529 (dump_type_u_a, dump_type_u_param_struct, dump_everything): New
31530 functions.
31531 (seen_types): New variable.
31532 (main): New variable do_dump. Process "-d" command line option.
31533 Call dump_everything if dump requested.
31534
31535 2010-05-05 Jakub Jelinek <jakub@redhat.com>
31536
31537 * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
31538 in a temporary instead of invoking the macro multiple times.
31539 (track_expr_p): Likewise.
31540
31541 2010-05-04 Neil Vachharajani <nvachhar@google.com>
31542
31543 * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
31544 per new semantics.
31545 * opts.c (decode_options): Enable -Werror=coverage-mismatch.
31546 * coverage.c (get_coverage_counts): Always emit a warning. Adjust
31547 conditions for printing notes.
31548 * common.opt (-Wcoverage-mismatch): Allow negative, default to
31549 true, update documentation.
31550 * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
31551
31552 2010-05-04 Jakub Jelinek <jakub@redhat.com>
31553
31554 PR c/43981
31555 * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
31556 on dimen.
31557
31558 2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
31559
31560 PR target/43799
31561 * config/i386/i386.md (sse_prologue_save): Clobber CC register.
31562 (*sse_prologue_save_insn1): Likewise.
31563 (SSE prologue save splitter): Likewise.
31564
31565 2010-05-04 Eric Botcazou <ebotcazou@adacore.com>
31566
31567 * tree.c (free_lang_data_in_one_sizepos): New inline function.
31568 (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
31569 types. Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
31570 (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
31571 all decls. Call it on DECL_FIELD_OFFSET of fields.
31572 (find_decls_types_r): Follow DECL_VALUE_EXPR.
31573 (iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
31574
31575 2010-05-04 Martin Jambor <mjambor@suse.cz>
31576
31577 * tree-sra.c (build_access_from_expr_1): The first parameter type
31578 changed to simple tree.
31579 (build_access_from_expr): Likewise, gsi parameter was eliminated.
31580 (scan_assign_result): Renamed to assignment_mod_result, enum elements
31581 renamed as well.
31582 (build_accesses_from_assign): Removed all parameters except for a
31583 simple gimple statement. Now returns a simple bool.
31584 (scan_function): All non-analysis parts moved to separate functions
31585 sra_modify_function_body and ipa_sra_modify_function_body. Removed all
31586 parameters and updated both callers.
31587 (sra_modify_expr): Removed parameter data.
31588 (sra_modify_function_body): New function.
31589 (perform_intra_sra): Call sra_modify_function_body to modify the
31590 function body.
31591 (replace_removed_params_ssa_names): Parameter data changed into
31592 adjustments vector.
31593 (sra_ipa_modify_expr): Likewise. Also removed unused parameter gsi and
31594 changed the parameter dont_convert to convert with the opposite
31595 meaning.
31596 (sra_ipa_modify_assign): Parameter data changed into adjustments
31597 vector, return value changed to bool.
31598 (ipa_sra_modify_function_body): New function.
31599 (sra_ipa_reset_debug_stmts): Updated a comment.
31600 (modify_function): Use ipa_sra_modify_function_body to modify function
31601 body.
31602
31603 2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
31604
31605 PR middle-end/43671
31606 * alias.c (true_dependence): Handle the same VALUE in x and mem.
31607 (canon_true_dependence): Likewise.
31608 (write_dependence_p): Likewise.
31609
31610 2010-05-04 Jan Hubicka <jh@suse.cz>
31611
31612 * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
31613 * cgraphbuild.c: Include ipa-utils.h
31614 (record_reference_ctx): New struct.
31615 (record_reference): Simplify to work on initializers; not statements.
31616 (mark_address, mark_load, mark_store): New.
31617 (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
31618 walk PHI nodes too.
31619 (record_references_in_initializer): Update use of record_reference.
31620 (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
31621 walk PHI nodes too.
31622
31623 2010-05-04 Jan Hubicka <jh@suse.cz>
31624
31625 * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
31626 node will be removed anyway.
31627 (lto_varpool_replace_node): Allow also unanalyzed nodes;
31628 relink aliases of node into prevailing node.
31629 * varpool.c (varpool_remove_node): Remove aliases properly;
31630 when removing node, remove all its aliases too; remove DECL_INITIAL
31631 of removed node; ggc_free the varpool node.
31632
31633 2010-05-04 Richard Guenther <rguenther@suse.de>
31634
31635 PR tree-optimization/43879
31636 * tree-ssa-structalias.c (alias_get_name): Use
31637 DECL_ASSEMBLER_NAME if available.
31638 (create_function_info_for): Return the varinfo node.
31639 (ipa_pta_execute): Associate same-body aliases and extra names
31640 with their origin nodes varinfo. Dump DECL_ASSEMBLER_NAME.
31641
31642 2010-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
31643
31644 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static.
31645
31646 2010-05-04 Mikael Pettersson <mikpe@it.uu.se>
31647
31648 PR bootstrap/43964
31649 * ira-color.c (assign_hard_reg): Declare rclass and add_cost
31650 only if HONOR_REG_ALLOC_ORDER is not defined.
31651
31652 2010-05-04 Richard Guenther <rguenther@suse.de>
31653
31654 PR tree-optimization/43949
31655 * tree-vrp.c (extract_range_from_binary_expr): Only handle
31656 TRUNC_MOD_EXPR.
31657
31658 2010-04-26 Jason Merrill <jason@redhat.com>
31659
31660 * c.opt (-fstrict-enums): New.
31661 * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
31662
31663 2010-05-03 David Ung <davidu@mips.com>
31664 James E. Wilson <wilson@codesourcery.com>
31665
31666 * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS,
31667 emit the trap instruction before the divide for TUNE_74K.
31668
31669 2010-05-03 Steven Bosscher <steven@gcc.gnu.org>
31670
31671 * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
31672 (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
31673 based on the above, for new target hook.
31674
31675 * hooks.c (hook_bool_mode_true): New generic hook.
31676 * hooks.h (hook_bool_mode_true): Add prototype.
31677
31678 * target.h (struct gcc_target): Add small_register_classes_for_mode_p
31679 target hook.
31680 * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
31681 target hook, set to hook_bool_mode_false.
31682 * regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
31683 * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
31684 with targetm.small_register_classes_for_mode_p.
31685 (find_reusable_reload): Likewise.
31686 (combine_reloads): Likewise.
31687 * reload1.c (reload_as_needed): Likewise.
31688 * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
31689 * ifcvt.c (noce_process_if_block, check_cond_move_block,
31690 dead_or_predicable): Likewise.
31691 * regmove.c (optimize_reg_copy_1): Likewise.
31692 * calls.c (prepare_call_address): Likewise.
31693 (precompute_register_parameters): Likewise.
31694
31695 * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
31696 hook definition.
31697 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
31698 implementation of the hook that considers all register classes
31699 small except for SH64.
31700 (sh_override_options): Use the new hook.
31701 * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
31702 Add prototype.
31703
31704 * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
31705 hook definition.
31706 * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
31707 implementation of the hook that considers all register classes
31708 small for THUMB1.
31709 * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
31710 Add prototype.
31711
31712 * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
31713 hook definition.
31714 * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
31715 implementation of the hook that considers all register classes
31716 small for MIPS16.
31717 * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
31718 Add prototype.
31719
31720 * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
31721 hook definition.
31722 * config/m32c/m32c.h: Likewise.
31723 * config/pdp11/pdp11.h: Likewise.
31724 * config/avr/avr.h: Likewise.
31725 * config/xtensa/xtensa.h: Likewise.
31726 * config/m68hc11/m68hc11.h: Likewise.
31727 * config/mn10300/mn10300.h: Likewise.
31728 * config/mcore/mcore.h: Likewise.
31729 * config/h8300/h8300.h: Likewise.
31730 * config/bfin/bfin.h: Likewise.
31731
31732 * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
31733 * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
31734
31735 2010-05-03 Anatoly Sokolov <aesok@post.ru>
31736
31737 * double-int.h (tree_to_double_int): Remove macro.
31738 (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
31739 * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
31740 (tree_to_double_int): New function.
31741 * double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
31742 Move ...
31743 * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
31744
31745 2010-05-03 Richard Guenther <rguenther@suse.de>
31746
31747 PR tree-optimization/43971
31748 * tree-ssa-structalias.c (get_constraint_for_1): Fix
31749 constraints in the !flag_delete_null_pointer_checks case.
31750
31751 2010-05-03 Jakub Jelinek <jakub@redhat.com>
31752
31753 PR debug/43972
31754 * config/i386/i386.c (ix86_delegitimize_address): Make sure the
31755 result mode matches original rtl mode.
31756
31757 2010-05-03 Dave Korn <dave.korn.cygwin@gmail.com>
31758
31759 PR target/43888
31760 * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
31761
31762 2010-05-02 Uros Bizjak <ubizjak@gmail.com>
31763
31764 * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
31765 when processing flag options.
31766
31767 2010-05-02 Uros Bizjak <ubizjak@gmail.com>
31768
31769 * gcov-iov.c (main): Change format string placeholder
31770 from %#08x to 0x%08x.
31771 * genchecksum.c (dosum): Change format string placeholder
31772 from %#02x to 0x%02x.
31773
31774 2010-05-02 Richard Guenther <rguenther@suse.de>
31775
31776 PR tree-optimization/43879
31777 * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls.
31778
31779 2010-05-02 Bruno Haible <bruno@clisp.org>
31780
31781 * doc/extend.texi (Function Attributes): Fix a typo.
31782
31783 2010-05-02 Uros Bizjak <ubizjak@gmail.com>
31784
31785 Revert:
31786 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
31787 placeholder from 0x%x to %#x.
31788 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
31789 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
31790 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
31791 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
31792 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
31793 * config/i386/i386.c (ix86_target_string): Ditto.
31794 * config/i386/i386.c (output_pic_addr_const): Ditto.
31795 (print_operand): Ditto.
31796
31797 2010-05-02 Uros Bizjak <ubizjak@gmail.com>
31798
31799 * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
31800 placeholder from 0x%x to %#x.
31801 (ASM_OUTPUT_DEBUG_DATA1): Ditto.
31802 (ASM_OUTPUT_DEBUG_DATA4): Ditto.
31803 (ASM_OUTPUT_DEBUG_DATA): Ditto.
31804 (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
31805 (ASM_OUTPUT_DEBUG_DATA8): Ditto.
31806 * optc-gen.awk: Ditto.
31807 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
31808 (HOST_WIDE_INT_PRINT_HEX): Ditto.
31809 (HOST_WIDEST_INT_PRINT_HEX): Ditto.
31810 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
31811
31812 2010-05-01 Anatoly Sokolov <aesok@post.ru>
31813
31814 * target.h (struct calls): Add function_value_regno_p field.
31815 * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
31816 (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
31817 * targhooks.c (default_function_value_regno_p): New function.
31818 * targhooks.h (default_function_value_regno_p): Declare function.
31819 * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
31820 * builtins.c. (apply_result_size): (Ditto.).
31821 * combine.c. (likely_spilled_retval_p): (Ditto.).
31822 * mode-switching.c. Include 'target.h'.
31823 (create_pre_exit): Use function_value_regno_p hook.
31824 * Makefile.in (mode-switching.o): Add dependency on TARGET_H.
31825 * doc/tm.texi (FUNCTION_VALUE_REGNO_P,
31826 TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
31827
31828 * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
31829 * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
31830 (ix86_function_value_regno_p): Declare as static, change argument
31831 type to const unsigned int.
31832 * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
31833
31834 2010-05-01 Richard Guenther <rguenther@suse.de>
31835
31836 PR tree-optimization/43949
31837 * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
31838 types.
31839 (extract_range_from_binary_expr): Handle *_MOD_EXPR.
31840
31841 2010-05-01 Anatoly Sokolov <aesok@post.ru>
31842
31843 * rtl.h (CONST_DOUBLE_P): Define.
31844 (rtx_to_double_int): Declare.
31845 * emit-rtl.c (rtx_to_double_int): New function.
31846 * dwarf2out.c (insert_double): New function.
31847 (loc_descriptor, add_const_value_attribute): Clean up, use
31848 rtx_to_double_int and insert_double functions.
31849
31850 2010-05-01 Jonathan Wakely <jwakely.gcc@gmail.com>
31851
31852 * doc/extend.texi (Inline): Add missing return keyword to examples.
31853 (Function Attributes, Variable Attributes, Pragmas): Hyphenate
31854 "command-line".
31855
31856 2010-04-30 Eric Botcazou <ebotcazou@adacore.com>
31857
31858 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
31859 the variable part of the offset as well. Use highest_pow2_factor for
31860 all alignment checks.
31861
31862 2010-04-30 Richard Guenther <rguenther@suse.de>
31863
31864 PR tree-optimization/43879
31865 * tree-ssa-structalias.c (type_could_have_pointers): Functions
31866 can have pointers.
31867
31868 2010-04-30 Jan Hubicka <jh@suse.cz>
31869
31870 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with
31871 varpool.
31872 (lto_symtab_merge_decls_1): Remove logic looking for an initializer.
31873
31874 2010-04-30 Jan Hubicka <jh@suse.cz>
31875
31876 * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p):
31877 New.
31878 * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
31879 * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
31880 (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
31881 cgraph_node_set_needs_ltrans_p): Remove.
31882
31883 2010-04-30 Steven Bosscher <steven@gcc.gnu.org>
31884
31885 * sdbout.c: Include vec.h, do not include varray.h.
31886 (deferred_global_decls, sdbout_global_decl,
31887 sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
31888 * toplev.c: Do not include varray.h.
31889 (dump_memory_report): Do not dump VARRAY statistics.
31890 * gengtype.c (open_base_file): Ignore varray.h.
31891 * Makefile.in: Update for abovementioned changes.
31892 Remove all traces of varray.c and varray.h.
31893 * varray.c: Remove file.
31894 * varray.h: Remove file.
31895
31896 2010-04-30 Jan Hubicka <jh@suse.cz>
31897
31898 * lto-cgraph.c (lto_output_varpool_node): Always output constant pool
31899 references.
31900
31901 2010-04-30 Jan Hubicka <jh@suse.cz>
31902
31903 * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
31904 needed.
31905
31906 2010-04-30 Richard Guenther <rguenther@suse.de>
31907
31908 * tree-ssa-structalias.c (get_constraint_for_1): Generate
31909 constraints for CONSTRUCTOR.
31910
31911 2010-04-30 Richard Guenther <rguenther@suse.de>
31912
31913 PR lto/43946
31914 * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
31915 first after all lowering passes.
31916
31917 2010-04-30 Steven Bosscher <steven@gcc.gnu.org>
31918
31919 * toplev.c: Include varray.h for statistics dumping.
31920 * tree.h: Do not declare varray_head_tag.
31921 * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
31922 regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
31923 c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
31924 gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
31925 lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
31926 tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
31927 c-common.c, c-common.h, reg-stack.c, basic-block.h,
31928 tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
31929 include varray.h.
31930 * Makefile.in: Update for abovementioned changes.
31931
31932 2010-04-30 Jakub Jelinek <jakub@redhat.com>
31933
31934 PR debug/43942
31935 * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
31936
31937 2010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
31938
31939 * config/picochip/picochip.c (picochip_legitimize_address): Define.
31940 Use this function to do machine-specific conversion.
31941 (picochip_legitimize_reload_address): Likewise.
31942 (picochip_legitimate_address_p): Check valid base register only if
31943 strict.
31944 (picochip_check_conditional_copy): Check for modw only if opnd is
31945 register.
31946 * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
31947 to call the function in c.
31948 * config/picochip/picochip-protos.h
31949 (picochip_legitimize_reload_address): Define.
31950 * config/picochip/picochip.md (supported_compare1): Define.
31951
31952 2010-04-30 Jan Hubicka <jh@suse.cz>
31953
31954 * cgraph.h (cgraph_local_info): Remove for_functions_valid.
31955 (cgraph_global_info): Remove inlined.
31956 (LTO_cgraph_tag_names): Remove.
31957 (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
31958 * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
31959 simplify cgraph tags and document.
31960 (lto_output_node): Use only LTO_cgraph_unavail_node and
31961 LTO_cgraph_analyzed_node; Do not save analzed, reachable,
31962 for_functions_valid, global info, process and output flags.
31963 (input_overwrite_node): Initialize estimated stack size and
31964 estimated growth. Do not read flags we no longer store.
31965 (input_node): Likewise do not read info no longer stored.
31966 * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
31967 flag.
31968
31969 2010-04-30 Richard Guenther <rguenther@suse.de>
31970
31971 PR tree-optimization/43879
31972 * tree-ssa-structalias.c (get_constraint_for_1): Properly
31973 handle non-zero initializers.
31974
31975 2010-04-30 Richard Guenther <rguenther@suse.de>
31976
31977 * builtins.c (fold_builtin_1): Delete free (0).
31978
31979 2010-04-29 Jan Hubicka <jh@suse.cz>
31980
31981 * gengtype.c (open_base_files): Add lto-streamer.h
31982 * cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
31983 (pass_ipa_cp): GGC collect.
31984 * toplev. (compile_file): Do not output symbols.
31985 * ipa-inline.c (pass_ipa_inline): Add ggc collect.
31986 * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
31987 TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
31988 * lto-section-in.c: Include ggc.h
31989 (lto_new_in_decl_state): Alloc in GGC.
31990 (lto_delete_in_decl_state): Likewise.
31991 * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program):
31992 Collect.
31993
31994 2010-04-29 Bernd Schmidt <bernds@codesourcery.com>
31995
31996 PR target/42895
31997 * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
31998 ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed.
31999 (HONOR_REG_ALLOC_ORDER): Describe new macro.
32000 * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
32001 * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
32002 account only if HONOR_REG_ALLOC_ORDER is not defined.
32003 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
32004 * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
32005
32006 2010-04-29 Jon Grant <04@jguk.org>
32007
32008 * collect2.c (vflag): Change type from int to bool.
32009 (debug): Likewise.
32010 (helpflag): New global bool.
32011 (main): Set vflag and debug with boolean, not integer truth values.
32012 Accept new "--help" option and output usage text if found.
32013 * collect2.h (vflag): Update prototype.
32014 (debug): Likewise.
32015
32016 2010-04-29 H.J. Lu <hongjiu.lu@intel.com>
32017
32018 PR bootstrap/43936
32019 * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks.
32020
32021 2010-04-29 Richard Guenther <rguenther@suse.de>
32022
32023 PR bootstrap/43935
32024 * plugin.h (invoke_plugin_callbacks): Annotate arguments
32025 with ATTRIBUTE_UNUSED.
32026
32027 2010-04-29 H.J. Lu <hongjiu.lu@intel.com>
32028
32029 PR target/43921
32030 * config/i386/i386.c (get_some_local_dynamic_name): Replace
32031 INSN_P with NONDEBUG_INSN_P.
32032 (distance_non_agu_define): Likewise.
32033 (distance_agu_use): Likewise.
32034
32035 2010-04-29 Bernd Schmidt <bernds@codesourcery.com>
32036
32037 From Dominique d'Humieres <dominiq@lps.ens.fr>
32038 PR bootstrap/43858
32039 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
32040 test_set.
32041
32042 2010-04-29 Brian Hackett <bhackett1024@gmail.com>
32043
32044 * plugin.h (invoke_plugin_callbacks): New inline function.
32045 * plugin.c (flag_plugin_added): New global flag.
32046 (add_new_plugin): Initialize above flag.
32047 (invoke_plugin_callbacks): Rename to ...
32048 (invoke_plugin_callbacks_full): ... this.
32049
32050 2010-04-28 Jan Hubicka <jh@suse.cz>
32051
32052 * lto-symtab.c (lto_symtab_entry_def) Add vnode.
32053 (lto_varpool_replace_node): New.
32054 (lto_symtab_resolve_symbols): Resolve varpool nodes.
32055 (lto_symtab_merge_decls_1): Prefer decls with varpool node.
32056 (lto_symtab_merge_cgraph_nodes_1): Merge varpools.
32057 * cgraph.h (varpool_node_ptr): New type.
32058 (varpool_node_ptr): New vector.
32059 (varpool_node_set_def): New structure.
32060 (varpool_node_set): New type.
32061 (varpool_node_set): New vector.
32062 (varpool_node_set_element_def): New structure.
32063 (varpool_node_set_element, const_varpool_node_set_element): New types.
32064 (varpool_node_set_iterator): New type.
32065 (varpool_node): Add prev pointers, add used_from_other_partition,
32066 in_other_partition.
32067 (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
32068 varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
32069 varpool_get_node, varpool_remove_node): Declare.
32070 (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
32071 varpool_node_set_size): New inlines.
32072 * cgraph.c (dump_cgraph_node): Dump asm names of aliases.
32073 * tree-pass.h (varpool_node_set_def): Forward declare.
32074 (ipa_opt_pass_d): Summary writting takes vnode sets too.
32075 (ipa_write_optimization_summaries): Update prototype.
32076 * ipa-cp.c (ipcp_write_summary): Update.
32077 * ipa-reference.c (ipa_reference_write_summary): Update.
32078 * lto-cgraph.c (lto_output_varpool_node): New static function.
32079 (output_varpool): New function.
32080 (input_varpool_node): New static function.
32081 (input_varpool_1): New function.
32082 (input_cgraph): Input varpool.
32083 * ipa-pure-const.c (pure_const_write_summary): Update.
32084 * lto-streamer-out.c (lto_output): Update, output varpool too.
32085 (write_global_stream): Kill WPA hack.
32086 (produce_asm_for_decls): Update.
32087 (output_alias_pair_p): Handle variables.
32088 (output_unreferenced_globals): Output only needed partition of varpool.
32089 * ipa-inline.c (inline_write_summary): Update.
32090 * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build
32091 cgraph.
32092 * lto-section-in.c (lto_section_name): Add varpool and jump funcs.
32093 * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
32094 varpool_node_set_new, varpool_node_set_add,
32095 varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
32096 debug_varpool_node_set): New functions.
32097 * passes.c (rest_of_decl_compilation): when in LTO do not finalize.
32098 (execute_one_pass): Process new decls too.
32099 (ipa_write_summaries_2): Pass around vsets.
32100 (ipa_write_summaries_1): Likewise.
32101 (ipa_write_summaries): Build vset; be more selective about cgraph nodes
32102 to add.
32103 (ipa_write_optimization_summaries_1): Pass around vsets.
32104 (ipa_write_optimization_summaries): Likewise.
32105 * varpool.c (varpool_get_node): New.
32106 (varpool_node): Update doubly linked lists.
32107 (varpool_remove_node): New.
32108 (dump_varpool_node): More dumping.
32109 (varpool_enqueue_needed_node): Update doubly linked lists.
32110 (decide_is_variable_needed): Kill ltrans hack.
32111 (varpool_finalize_decl): Kill lto hack.
32112 (varpool_assemble_decl): Skip decls in other partitions.
32113 (varpool_assemble_pending_decls): Update doubly linkes lists.
32114 (varpool_empty_needed_queue): Likewise.
32115 (varpool_extra_name_alias): Likewise.
32116 * lto-streamer.c (lto_get_section_name): Add vars section.
32117 * lto-streamer.h (lto_section_type): Update.
32118 (output_varpool, input_varpool): Declare.
32119
32120 2010-04-28 Mike Stump <mikestump@comcast.net>
32121
32122 * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
32123
32124 2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
32125
32126 * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
32127 record or union type with RECORD_OR_UNION_TYPE_P predicate.
32128 (lto_input_ts_type_tree_pointers): Likewise.
32129 * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
32130 (lto_output_ts_type_tree_pointers): Likewise.
32131
32132 2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
32133
32134 Uniquization of constants at the Tree level
32135 * tree.h (DECL_IN_CONSTANT_POOL): New macro.
32136 (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
32137 bit to the end.
32138 (tree_output_constant_def): Declare.
32139 * gimplify.c (gimplify_init_constructor): When using block copy, first
32140 uniquize the constant constructor on the RHS.
32141 * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
32142 DECL_IN_CONSTANT_POOL flag.
32143 * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
32144 * varasm.c (make_decl_rtl): Deal with variables belonging to the global
32145 constant pool.
32146 (assemble_variable): Deal with symbols belonging to the tree constant
32147 pool.
32148 (get_constant_section): Add ALIGN parameter and simplify.
32149 (build_constant_desc): Build a VAR_DECL and attach it to the symbol.
32150 (assemble_constant_contents): Use the expression of the VAR_DECL.
32151 (output_constant_def_contents): Use the alignment of the VAR_DECL.
32152 (tree_output_constant_def): New global function.
32153 (mark_constant): Use the expression of the VAR_DECL.
32154 (place_block_symbol): Use the alignment of the VAR_DECL and the size of
32155 its expression.
32156 (output_object_block): Likewise and assemble the expression.
32157
32158 2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
32159
32160 * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
32161 hash_tree, eq_tree): New tree hash table.
32162 (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
32163 [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
32164 lto_orig_address_remove): Reimplement.
32165
32166 2010-04-28 Xinliang David Li <davidxl@google.com>
32167
32168 PR c/42643
32169 * tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
32170 (compute_uninit_opnds_pos): New function.
32171 (is_non_loop_exit_postdominating): New function.
32172 (compute_control_dep_chain): New function.
32173 (find_pdom): New function.
32174 (convert_control_dep_chain_into_preds): New function.
32175 (find_predicates): New function.
32176 (find_control_equiv_block): New function.
32177 (collect_phi_def_edges): New function.
32178 (find_def_preds): New function.
32179 (find_dom): New function.
32180 (dump_predicates): New function.
32181 (get_cmp_code): New function.
32182 (is_value_included_in): New function.
32183 (find_matching_predicate_in_rest_chains): New function.
32184 (use_pred_not_overlap_with_undef_path_pred): New function.
32185 (is_use_properly_guarded): New function.
32186 (normalize_cond_1): New function.
32187 (is_and_or_or): New function.
32188 (normalize_cond): New function.
32189 (is_gcond_subset_of): New function.
32190 (is_subset_of_any): New function.
32191 (is_or_set_subset_of): New function.
32192 (is_and_set_subset_of): New function.
32193 (is_norm_cond_subset_of): New function.
32194 (is_pred_expr_subset_of): New function.
32195 (is_pred_chain_subset_of): New function.
32196 (is_included_in): New function.
32197 (is_superset_of): New function.
32198 (find_uninit_use): New function.
32199 (warn_uninitialized_phi): New function.
32200 (compute_possibly_undefined_names): New function.
32201 (ssa_undefined_value_p): New function.
32202 (execute_late_warn_uninitialized): New function.
32203 * tree-ssa.c (ssa_undefined_value_p): Removed.
32204 (warn_uninit): Changed to extern.
32205 (warn_uninitialized_phi): Removed.
32206 (warn_uninitialized_vars): Changed to extern.
32207 (execute_late_warn_uninitialized): Removed
32208 * tree-flow.h: Add new prototypes.
32209 * timevar.def: Add new time variable.
32210 * Makefile.in: Add new build file.
32211
32212 2010-04-28 Uros Bizjak <ubizjak@gmail.com>
32213
32214 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
32215 type if available.
32216
32217 2010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
32218
32219 PR target/22224
32220 * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.
32221
32222 2010-04-28 Martin Jambor <mjambor@suse.cz>
32223
32224 * cgraph.h (struct cgraph_node): New field indirect_calls.
32225 (struct cgraph_indirect_call_info): New type.
32226 (struct cgraph_edge): Removed field indirect_call. New fields
32227 indirect_info, indirect_inlining_edge and indirect_unknown_callee.
32228 (cgraph_create_indirect_edge): Declare.
32229 (cgraph_make_edge_direct): Likewise.
32230 (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
32231 * ipa-prop.h (struct ipa_param_call_note): Removed.
32232 (struct ipa_node_params): Removed field param_calls.
32233 (ipa_create_all_structures_for_iinln): Declare.
32234 * cgraph.c: Described indirect edges and uids in initial comment.
32235 (cgraph_add_edge_to_call_site_hash): New function.
32236 (cgraph_edge): Search also among the indirect edges, use
32237 cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
32238 (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
32239 one, use cgraph_add_edge_to_call_site_hash to add edges to the call
32240 site hash.
32241 (initialize_inline_failed): Assign a reason to indirect edges.
32242 (cgraph_create_edge_1): New function.
32243 (cgraph_create_edge): Moved some functionality to
32244 cgraph_create_edge_1.
32245 (cgraph_create_indirect_edge): New function.
32246 (cgraph_edge_remove_callee): Add an assert checking for
32247 non-indirectness.
32248 (cgraph_edge_remove_caller): Special-case indirect edges.
32249 (cgraph_remove_edge): Likewise.
32250 (cgraph_set_edge_callee): New function.
32251 (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
32252 (cgraph_make_edge_direct): New function.
32253 (cgraph_update_edges_for_call_stmt_node): Do nothing only when also
32254 the declaration of the call statement matches.
32255 (cgraph_node_remove_callees): Special-case indirect edges.
32256 (cgraph_clone_edge): Likewise.
32257 (cgraph_clone_node): Clone also the indirect edges.
32258 (dump_cgraph_node): Dump indirect_inlining_edge flag instead of
32259 indirect_call, dump count of indirect_calls edges.
32260 * ipa-prop.c (iinlining_processed_edges): New variable.
32261 (ipa_note_param_call): Create indirect edges instead of
32262 creating notes. New parameter node.
32263 (ipa_analyze_call_uses): New parameter node, pass it on to
32264 ipa_note_param_call.
32265 (ipa_analyze_stmt_uses): Likewise.
32266 (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
32267 (print_edge_addition_message): Work on edges rather than on notes.
32268 (update_call_notes_after_inlining): Likewise, renamed to
32269 update_indirect_edges_after_inlining.
32270 (ipa_create_all_structures_for_iinln): New function.
32271 (ipa_free_node_params_substructures): Do not free notes.
32272 (ipa_edge_duplication_hook): Propagate bits within
32273 iinlining_processed_edges bitmap.
32274 (ipa_node_duplication_hook): Do not duplicate notes.
32275 (free_all_ipa_structures_after_ipa_cp): Renamed to
32276 ipa_free_all_structures_after_ipa_cp.
32277 (free_all_ipa_structures_after_iinln): Renamed to
32278 ipa_free_all_structures_after_iinln.
32279 (ipa_write_param_call_note): Removed.
32280 (ipa_read_param_call_note): Removed.
32281 (ipa_write_indirect_edge_info): New function.
32282 (ipa_read_indirect_edge_info): Likewise.
32283 (ipa_write_node_info): Do not stream notes, do stream information
32284 in indirect edges.
32285 (ipa_read_node_info): Likewise.
32286 (lto_ipa_fixup_call_notes): Removed.
32287 * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
32288 * ipa-inline.c (pass_ipa_inline): Likewise.
32289 * cgraphunit.c (verify_cgraph_node): Check also indirect edges.
32290 * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
32291 * tree-inline.c (copy_bb): Removed an unnecessary double check for
32292 is_gimple_call.
32293 * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
32294 edges.
32295 * lto-cgraph.c (output_outgoing_cgraph_edges): New function.
32296 (output_cgraph): Stream also indirect edges.
32297 (lto_output_edge): Added capability to stream indirect edges.
32298 (input_edge): Likewise.
32299 (input_cgraph_1): Likewise.
32300 * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
32301 of indirect edges.
32302
32303 2010-04-28 Richard Guenther <rguenther@suse.de>
32304
32305 PR tree-optimization/43879
32306 PR tree-optimization/43909
32307 * tree-ssa-structalias.c (struct variable_info): Add
32308 only_restrict_pointers flag.
32309 (new_var_info): Initialize it. Increment stats.total_vars here.
32310 (create_function_info_for): Do not increment stats.total_vars here.
32311 (get_function_part_constraint): Fix build with C++.
32312 (insert_into_field_list): Remove.
32313 (push_fields_onto_fieldstack): Properly merge fields.
32314 (create_variable_info_for): Split and simplify.
32315 (create_variable_info_for_1): New piece.
32316 (intra_create_variable_infos): Properly make restrict constraints
32317 from parameters.
32318
32319 2010-04-28 Richard Guenther <rguenther@suse.de>
32320
32321 PR c++/43880
32322 * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs.
32323
32324 2010-04-27 Manuel López-Ibáñez <manu@gcc.gnu.org>
32325 Jan Hubicka <hubicka@ucw.cz>
32326
32327 * doc/invoke.texi (-Wsuggest-attribute=const,
32328 -Wsuggest-attribute=pure): Document.
32329 * ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
32330 (function_always_visible_to_compiler_p,
32331 suggest_attribute, warn_function_pure, warn_function_const):
32332 New functions.
32333 (check_call): Improve debug info.
32334 (analyze_function): Do not check availability.
32335 (add_new_function): Check availability.
32336 (propagate): Output warnings.
32337 (skip_function_for_local_pure_const): New function.
32338 (local_pure_const): Use it; output warnings.
32339 * common.opt (Wsuggest-attribute=const,
32340 Wsuggest-attribute=pure): New.
32341
32342 2010-04-27 Jakub Jelinek <jakub@redhat.com>
32343
32344 * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
32345 force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
32346 or DW_CFA_def_cfa_offset{,_sf}.
32347
32348 2010-04-27 Eric Botcazou <ebotcazou@adacore.com>
32349
32350 * tree.h: Fix truncated long macros.
32351
32352 2010-04-27 Kai Tietz <kai.tietz@onevision.com>
32353
32354 * collect2.c (TARGET_64BIT): Redefine to target's default.
32355 * tlink.c: Likewise.
32356 * config/i386/cygming.h (USER_LABEL_PREFIX): Define
32357 dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
32358 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
32359 for underscoring __USER_LABEL_PREFIX__.
32360 * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
32361 (SUB_LINK_ENTRY32): New.
32362 (SUB_LINK_ENTRY64): New.
32363 (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
32364 * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
32365 (SUB_LINK_ENTRY64): New.
32366 (SUB_LINK_ENTRY): New.
32367 (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
32368 (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
32369 x64 target is choosen.
32370 * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
32371 * configure: Regenerated.
32372 * configure.ac (leading-mingw64-underscores): Option added.
32373
32374 2010-04-27 Jan Hubicka <jh@suse.cz>
32375
32376 * doc/invoke.texi (-fipa-profile): Document.
32377 * opts.c (decode_options): Enable ipa-profile at -O1.
32378 * timevar.def (TV_IPA_PROFILE): Define.
32379 * common.opt (fipa-profile): Add.
32380 * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
32381 flag for clones.
32382 (cgraph_propagate_frequency): Handle only local ones.
32383 * tree-pass.h (pass_ipa_profile): Declare.
32384 * ipa-profile.c (gate_profile): Use flag_ipa_profile.
32385 (pass_ipa_profile): Use TV_IPA_PROFILE.
32386 * ipa.c (ipa_profile): New function.
32387 (gate_ipa_profile): Likewise.
32388 (pass_ipa_profile): New global variable.
32389 * passes.c (pass_ipa_profile): New.
32390
32391 2010-04-27 Nathan Froyd <froydnj@codesourcery.com>
32392
32393 * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
32394
32395 2010-04-27 Martin Jambor <mjambor@suse.cz>
32396
32397 PR middle-end/43812
32398 * ipa.c (dissolve_same_comdat_group_list): New function.
32399 (function_and_variable_visibility): Call
32400 dissolve_same_comdat_group_list when comdat group contains external or
32401 newly local nodes.
32402 * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
32403 lists are circular and that they contain only DECL_ONE_ONLY nodes.
32404
32405 2010-04-27 Eric Botcazou <ebotcazou@adacore.com>
32406
32407 * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
32408 (const_hash_1) <VECTOR_CST>: New case.
32409 (compare_constant) <VECTOR_CST>: Likewise.
32410 <ADDR_EXPR>: Deal with LABEL_REFs.
32411 (copy_constant) <VECTOR_CST>: New case.
32412
32413 2010-04-27 Jan Hubicka <jh@suse.cz>
32414
32415 * cgraph.c (cgraph_propagate_frequency): New function.
32416 * cgraph.h (cgraph_propagate_frequency): Declare.
32417 * ipa-inline.c (cgraph_clone_inlined_nodes): Call
32418 cgraph_propagate_frequency.
32419
32420 2010-04-27 Jakub Jelinek <jakub@redhat.com>
32421
32422 * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
32423
32424 2010-04-27 Bernd Schmidt <bernds@codesourcery.com>
32425
32426 PR target/40657
32427 * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
32428 (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
32429 here to determine which regs to push and how much stack to reserve.
32430
32431 2010-04-27 Jie Zhang <jie@codesourcery.com>
32432
32433 * doc/gimple.texi (gimple_statement_with_ops): Remove
32434 addresses_taken field.
32435 (gimple_statement_with_memory_ops): Likewise.
32436
32437 2010-04-27 Jan Hubicka <jh@suse.cz>
32438
32439 * tree-inline.c (eni_inlining_weights): Remove.
32440 (estimate_num_insns): Special case more builtins.
32441
32442 2010-04-27 Shujing Zhao <pearly.zhao@oracle.com>
32443
32444 PR c/32207
32445 * c-typeck.c (build_binary_op): Move forward check for comparison
32446 pointer with null pointer constant and adjust the diagnostic message.
32447
32448 2010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
32449
32450 PR lto/42776
32451 * configure.ac (gcc_cv_as_section_has_align): Set if installed
32452 binutils supports extended .section directive needed by LTO, or
32453 warn if older binutils found.
32454 (LTO_BINARY_READER): New AC_SUBST'd variable.
32455 (LTO_USE_LIBELF): Likewise.
32456 * config.gcc (lto_binary_reader): New target-specific configure
32457 variable.
32458 * Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
32459 (LTO_USE_LIBELF): Likewise.
32460 * configure: Regenerate.
32461
32462 * collect2.c (is_elf): Rename from this ...
32463 (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
32464 object files in addition to ELF-formatted ones.
32465 (scan_prog_file): Caller updated. Also allow for LTO info marker
32466 symbol to be prefixed or not by an extra underscore.
32467
32468 * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
32469 * config/i386/winnt.c: Also #include lto-streamer.h
32470 (i386_pe_asm_named_section): Specify 1-byte section alignment for
32471 LTO named sections.
32472 (i386_pe_asm_output_aligned_decl_common): Add comment.
32473 (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
32474
32475 2010-04-27 Hans-Peter Nilsson <hp@bitrange.com>
32476
32477 PR target/43889
32478 * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
32479 Add missing earlyclobber for second alternative.
32480
32481 2010-04-26 Bernd Schmidt <bernds@codesourcery.com>
32482
32483 * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
32484 bits for artificial defs at the top of the block.
32485 * fwprop.c (single_def_use_enter_block): Don't call it.
32486
32487 2010-04-26 Jack Howarth <howarth@bromo.med.uc.edu>
32488
32489 PR 43715
32490 * configure.ac: Use "$gcc_cv_nm -g" on darwin
32491 instead of "$gcc_cv_objdump -T".
32492 Use "-undefined dynamic_lookup" on darwin.
32493 * configure: Regenerate.
32494
32495 2010-04-26 Jakub Jelinek <jakub@redhat.com>
32496
32497 PR c/43893
32498 * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
32499
32500 2010-04-26 Nathan Froyd <froydnj@codesourcery.com>
32501
32502 * c-parser.c (struct c_token): Move location field up.
32503 * c-tree.h (struct c_typespec): Move expr_const_operands field up.
32504 (struct c_declspecs): Convert typespec_word, storage_class, and
32505 default_int_p into bitfields.
32506 (struct c_declarator): Move loc field up.
32507
32508 2010-04-26 Nathan Froyd <froydnj@codesourcery.com>
32509
32510 * cfgloop.h (struct loop): Move can_be_parallel field up.
32511 * ipa-prop.h (struct ip_node_params): Move bitfields up.
32512 * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
32513 down.
32514 (struct iv_cand): Convert pos field into a bitfield.
32515 * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
32516 field up.
32517 (struct _stmt_vec_info): Shuffle fields for better packing.
32518
32519 2010-04-26 Eric Botcazou <ebotcazou@adacore.com>
32520
32521 * varasm.c (IN_NAMED_SECTION): Remove guard.
32522 * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
32523 (IN_NAMED_SECTION_P): ...this.
32524 (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
32525 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
32526
32527 2010-04-26 Eric Botcazou <ebotcazou@adacore.com>
32528
32529 * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
32530 Use VOID_TYPE_P for all void type tests. Adjust TYPE variable instead
32531 of shadowing it. Fix comments.
32532
32533 2010-04-26 Jan Hubicka <jh@suse.cz>
32534
32535 * cgraph.c (cgraph_create_node): Set node frequency to normal.
32536 (cgraph_clone_node): Copy function frequency.
32537 * cgraph.h (node_frequency): New enum
32538 (struct cgraph_node): Add.
32539 * final.c (rest_of_clean_state): Update.
32540 * lto-cgraph.c (lto_output_node): Output node frequency.
32541 (input_overwrite_node): Input node frequency.
32542 * tre-ssa-loop-ivopts (computation_cost): Update.
32543 * lto-streamer-out.c (output_function): Do not output function
32544 frequency.
32545 * predict.c (maybe_hot_frequency_p): Update and handle functions
32546 executed once.
32547 (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
32548 attribute lookup.
32549 (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
32550 (compute_function_frequency): Set noreturn functions to be executed
32551 once.
32552 (choose_function_section): Update.
32553 * lto-streamer-in.c (input_function): Do not input function frequency.
32554 * function.c (allocate_struct_function): Do not initialize function
32555 frequency.
32556 * function.h (function_frequency): Remove.
32557 (struct function): Remove function frequency.
32558 * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
32559 (try_update): Update.
32560 * tree-inline.c (initialize_cfun): Do not update function frequency.
32561 * passes.c (pass_init_dump_file): Update.
32562 * i386.c (ix86_compute_frame_layout): Update.
32563 (ix86_pad_returns): Update.
32564
32565 2010-04-26 Jie Zhang <jie@codesourcery.com>
32566
32567 PR tree-optimization/43833
32568 * tree-vrp.c (range_int_cst_p): New.
32569 (range_int_cst_singleton_p): New.
32570 (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
32571 when both operands are constants. Use range_int_cst_p in
32572 BIT_IOR_EXPR case.
32573
32574 2010-04-26 Jan Hubicka <jh@suse.cz>
32575
32576 * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
32577
32578 2010-04-26 Richard Guenther <rguenther@suse.de>
32579
32580 PR lto/43080
32581 * gimple.c (gimple_decl_printable_name): Deal gracefully
32582 with a NULL DECL_NAME.
32583
32584 2010-04-26 Richard Guenther <rguenther@suse.de>
32585
32586 PR lto/42425
32587 * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
32588 if emitting debug information and it is either a function
32589 or a namespace decl.
32590
32591 2010-04-26 Ira Rosen <irar@il.ibm.com>
32592
32593 * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
32594 determine if the statement is vectorizable, and a macro to access it.
32595 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
32596 Skip statements that can't be vectorized. If the analysis fails,
32597 mark the statement as unvectorizable if vectorizing basic block.
32598 (vect_compute_data_refs_alignment): Likewise.
32599 (vect_verify_datarefs_alignment): Skip statements marked as
32600 unvectorizable. Add print.
32601 (vect_analyze_group_access): Skip statements that can't be
32602 vectorized. If the analysis fails, mark the statement as
32603 unvectorizable if vectorizing basic block.
32604 (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
32605 * tree-vect-stmts.c (vectorizable_store): Fix the number of
32606 generated stmts for SLP.
32607 (new_stmt_vec_info): Initialize the new field.
32608 * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
32609 statements marked as unvectorizable.
32610
32611 2010-04-25 Joseph Myers <joseph@codesourcery.com>
32612
32613 * c-common.c (flag_isoc1x): New.
32614 (flag_isoc99): Update comment.
32615 * c-common.h (flag_isoc1x): New.
32616 (flag_isoc99): Update comment.
32617 * c-cppbuiltin.c (builtin_define_float_constants): Also define
32618 __<type>_DECIMAL_DIG__.
32619 * c-opts.c (set_std_c1x): New.
32620 (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
32621 (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
32622 * c.opt (-std=c1x, -std=gnu1x): New options.
32623 * doc/cpp.texi: Mention -std=c1x.
32624 * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
32625 * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
32626 * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
32627 * doc/standards.texi: Mention C1X.
32628 * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
32629 LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
32630 LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
32631 Define for C1X.
32632
32633 2010-04-25 Uros Bizjak <ubizjak@gmail.com>
32634
32635 * config/i386/gmon-sol2.c (_mcleanup): Change format string
32636 placeholder from 0x%x to %#x.
32637 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
32638 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
32639 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
32640 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
32641 * config/i386/i386.c (ix86_target_string): Ditto.
32642 (output_pic_addr_const): Ditto.
32643 (print_operand): Ditto.
32644
32645 2010-04-25 Paolo Bonzini <bonzini@gnu.org>
32646
32647 * combine.c (find_split_point): Add third argument. Use it
32648 to find nested multiply-accumulate instructions. Adjust calls.
32649 (try_combine): Adjust call to find_split_point.
32650
32651 2010-04-24 Gerald Pfeifer <gerald@pfeifer.com>
32652
32653 * doc/contrib.texi (Contributors): Add Dodji Seketeli.
32654
32655 2010-04-24 Bernd Schmidt <bernds@codesourcery.com>
32656
32657 PR tree-optimization/41442
32658 * fold-const.c (merge_truthop_with_opposite_arm): New function.
32659 (fold_binary_loc): Call it.
32660
32661 2010-04-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
32662
32663 * toplev.c (general_init): Set default for fdiagnostics-show-option.
32664 * opts.c (common_handle_option): Allow disabling it.
32665 * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
32666
32667 2010-04-23 Eric Botcazou <ebotcazou@adacore.com>
32668
32669 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
32670 between modes if both types are integral.
32671
32672 2010-04-23 Richard Guenther <rguenther@suse.de>
32673
32674 PR tree-optimization/43572
32675 * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
32676
32677 2010-04-23 Richard Guenther <rguenther@suse.de>
32678
32679 PR lto/43455
32680 * tree-inline.c (tree_can_inline_p): Also check compatibility
32681 of return types.
32682
32683 2010-04-23 Martin Jambor <mjambor@suse.cz>
32684
32685 PR tree-optimization/43846
32686 * tree-sra.c (struct access): New flag grp_assignment_read.
32687 (build_accesses_from_assign): Set grp_assignment_read.
32688 (sort_and_splice_var_accesses): Propagate grp_assignment_read.
32689 (enum mark_read_status): New type.
32690 (analyze_access_subtree): Propagate grp_assignment_read, create
32691 accesses also if both direct_read and root->grp_assignment_read.
32692
32693 2010-04-23 Martin Jambor <mjambor@suse.cz>
32694
32695 PR middle-end/43835
32696 * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
32697 function does not have type attributes.
32698
32699 2010-04-23 Richard Guenther <rguenther@suse.de>
32700
32701 PR lto/42653
32702 * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
32703 of FUNCTION_DECLs.
32704
32705 2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
32706
32707 * sese.h (create_if_region_on_edge): Remove.
32708
32709 * sese.c (create_if_region_on_edge): Make static.
32710
32711 * tree-inline.c: Do not include ggc.h.
32712
32713 * expr.c: Do not include ggc.h.
32714
32715 * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
32716 dependencies.
32717
32718 2010-04-22 Kaz Kojima <kkojima@gcc.gnu.org>
32719
32720 PR target/43744
32721 * config/sh/sh.c (find_barrier): Don't emit a constant pool
32722 in the middle of insns for casesi_worker_2.
32723
32724 2010-04-22 David Edelsohn <edelsohn@gnu.org>
32725
32726 * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
32727
32728 2010-04-22 Ira Rosen <irar@il.ibm.com>
32729
32730 PR tree-optimization/43842
32731 * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
32732 loop unrolling in update of exit phis. Fix comment.
32733 * tree-vect-slp.c (vect_analyze_slp): Check that there are at
32734 least two reduction statements in the loop before starting SLP
32735 analysis.
32736
32737 2010-04-22 Nick Clifton <nickc@redhat.com>
32738
32739 * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
32740
32741 2010-04-22 Alexander Monakov <amonakov@ispras.ru>
32742
32743 * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
32744 to simplify a + ~a.
32745
32746 2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
32747
32748 * tree-parloops.c (loop_parallel_p): New argument
32749 parloop_obstack. Pass it down.
32750 (parallelize_loops): New variable parloop_obstack. Initialize it,
32751 pass it down, free it.
32752
32753 * tree-loop-linear.c (linear_transform_loops): Pass down
32754 lambda_obstack.
32755
32756 * tree-data-ref.h (lambda_compute_access_matrices): New argument
32757 of type struct obstack *.
32758
32759 * tree-data-ref.c (analyze_subscript_affine_affine): New variable
32760 scratch_obstack. Initialize it, pass down, free it.
32761
32762 * lambda.h (lambda_loop_new): Remove.
32763 (lambda_matrix_new, lambda_matrix_inverse)
32764 (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
32765 argument of type struct obstack *.
32766
32767 * lambda-trans.c (lambda_trans_matrix_new): New argument
32768 lambda_obstack. Pass it down, use obstack allocation for ret.
32769 (lambda_trans_matrix_inverse): New argument lambda_obstack. Pass
32770 it down.
32771
32772 * lambda-mat.c (lambda_matrix_get_column)
32773 (lambda_matrix_project_to_null): Remove.
32774 (lambda_matrix_new): New argument lambda_obstack. Use obstack
32775 allocation for mat.
32776 (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
32777 lambda_obstack.
32778
32779 * lambda-code.c (lambda_loop_new): New function.
32780 (lambda_lattice_new, compute_nest_using_fourier_motzkin)
32781 (lambda_compute_auxillary_space, lambda_compute_target_space)
32782 (lambda_loopnest_transform, gcc_loop_to_lambda_loop)
32783 (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
32784 (build_access_matrix): New argument lambda_obstack. Use obstack
32785 allocation for am.
32786 (lambda_compute_step_signs, lambda_compute_access_matrices): New
32787 argument lambda_obstack. Pass it down.
32788
32789 2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
32790
32791 * optabs.h (expand_widening_mult): Declare.
32792
32793 2010-04-22 Richard Guenther <rguenther@suse.de>
32794
32795 PR tree-optimization/43845
32796 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
32797 lookup the CALL_EXPR function and arguments.
32798
32799 2010-04-22 Nick Clifton <nickc@redhat.com>
32800
32801 * config/stormy16/stormy16.c
32802 (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
32803 * config/stormy16/stormy16.h: Tidy up formatting.
32804 (DONT_USE_BUILTIN_SETJMP): Remove definition.
32805 * config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
32806 (ineqbranchsi): Delete pattern.
32807 * config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
32808 * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
32809 * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
32810 stormy16-lib2-ucmpsi2.c.
32811
32812 2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
32813
32814 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
32815 df_simulate_find_noclobber_defs as appropriate. Keep track of an
32816 extra set merge_set_noclobber, and use it to relax the final test
32817 slightly.
32818 * df.h (df_simulate_find_noclobber_defs): Declare.
32819 * df-problems.c (df_simulate_find_defs): Don't ignore partial or
32820 conditional defs.
32821 (df_simulate_find_noclobber_defs): New function.
32822
32823 2010-04-22 Uros Bizjak <ubizjak@gmail.com>
32824
32825 * config/i386/i386.md: Use {} around multi-line preparation statements.
32826
32827 2010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
32828
32829 * c-tree.h (push_init_level, pop_init_level, set_init_index)
32830 (process_init_element): New argument of type struct obstack *.
32831
32832 * c-typeck.c (push_init_level, pop_init_level, set_designator)
32833 (set_init_index, set_init_label, set_nonincremental_init)
32834 (set_nonincremental_init_from_string, find_init_member)
32835 (output_init_element, output_pending_init_elements)
32836 (process_init_element): New argument braced_init_obstack. Pass it
32837 down.
32838 (push_range_stack, add_pending_init): New argument
32839 braced_init_obstack. Use obstack allocation.
32840
32841 * c-parser.c (c_parser_initelt, c_parser_initval): New argument
32842 braced_init_obstack. Pass it down.
32843 (c_parser_braced_init): New variables ret, braced_init_obstack.
32844 Initialize obstack, pass it down and finally free it.
32845
32846 2010-04-22 Bernd Schmidt <bernds@codesourcery.com>
32847
32848 PR middle-end/29274
32849 * tree-pass.h (pass_optimize_widening_mul): Declare.
32850 * tree-ssa-math-opts.c (execute_optimize_widening_mul,
32851 gate_optimize_widening_mul): New static functions.
32852 (pass_optimize_widening_mul): New.
32853 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
32854 <case MULT_EXPR>: Remove support for widening multiplies.
32855 * tree.def (WIDEN_MULT_EXPR): Tweak comment.
32856 * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
32857 simplify_gen_unary rather than directly building extensions.
32858 * tree-cfg.c (verify_gimple_assign_binary): Add tests for
32859 WIDEN_MULT_EXPR.
32860 * expmed.c (expand_widening_mult): New function.
32861 * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
32862
32863 2010-04-21 Jan Hubicka <jh@suse.cz>
32864
32865 * timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
32866 * lto-section-in.c (lto_section_name): Remove wpa_fixup.
32867 * lto-wpa-fixup.c: Remove.
32868 * Makefile.in (lto-wpa-fixup.o): Remove.
32869 * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
32870 (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
32871 * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
32872
32873 2010-04-21 Jan Hubicka <jh@suse.cz>
32874
32875 * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
32876 add write_optimization_summary, read_optimization_summary.
32877 (ipa_write_summaries_of_cgraph_node_set): Remove.
32878 (ipa_write_optimization_summaries): Declare.
32879 (ipa_read_optimization_summaries): Declare.
32880 * ipa-cp.c (pass_ipa_cp): Update.
32881 * ipa-reference.c (pass_ipa_reference): Update.
32882 * ipa-pure-const.c (pass_ipa_pure_const): Update.
32883 * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
32884 Update.
32885 * ipa-inline.c (pass_ipa_inline): Update.
32886 * ipa.c (pass_ipa_whole_program): Update.
32887 * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
32888 * passes.c (ipa_write_summaries_1): Do not test wpa.
32889 (ipa_write_optimization_summaries_1): New.
32890 (ipa_write_optimization_summaries): New.
32891 (ipa_read_summaries): Do not test ltrans.
32892 (ipa_read_optimization_summaries_1): New.
32893 (ipa_read_optimization_summaries): New.
32894
32895 2010-04-21 Jan Hubicka <jh@suse.cz>
32896
32897 * lto-cgraph.c (lto_output_node): Do not output comdat groups
32898 for boundary nodes.
32899 (output_cgraph): Do not arrange comdat groups for boundary nodes.
32900
32901 2010-04-21 Jakub Jelinek <jakub@redhat.com>
32902
32903 PR debug/40040
32904 * dwarf2out.c (add_name_and_src_coords_attributes): Add
32905 DW_AT_{,MIPS_}linkage_name even for Fortran decls.
32906
32907 2010-04-21 Jan Hubicka <jh@suse.cz>
32908
32909 * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
32910
32911 2010-04-21 Jan Hubicka <jh@suse.cz>
32912
32913 * varpool.c (decide_is_variable_needed): Variable is always needed
32914 during ltrans.
32915
32916 2010-04-21 Jan Hubicka <jh@suse.cz>
32917
32918 * opts.c (decode_options): Enable pure-const pass for whopr.
32919
32920 2010-04-21 Jan Hubicka <jh@suse.cz>
32921
32922 * cgraph.c (dump_cgraph_node): Dump also assembler name.
32923 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
32924 at WPA dumping.
32925 (cgraph_decide_inlining): Do not expect callee to be removed in all
32926 cases.
32927
32928 2010-04-21 Eric B. Weddington <eric.weddington@atmel.com>
32929
32930 * config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
32931
32932 2010-04-21 Uros Bizjak <ubizjak@gmail.com>
32933
32934 * config/i386/i386.md (x86_shrd): Add athlon_decode and
32935 amdfam10_decode attributes.
32936
32937 2010-04-21 Jakub Jelinek <jakub@redhat.com>
32938
32939 PR middle-end/43570
32940 * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
32941 OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
32942 (lower_copyprivate_clauses): Use private var in outer
32943 context instead of original var. Make sure the types
32944 are correct for VLAs.
32945
32946 2010-04-21 Richard Guenther <rguenther@suse.de>
32947
32948 * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
32949 to non-pointer objects.
32950
32951 2010-04-21 Jakub Jelinek <jakub@redhat.com>
32952
32953 * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument. Drop
32954 last chain entry if it starts with the still current label.
32955 (add_location_or_const_value_attribute): Check that
32956 loc_list->first->next is NULL instead of comparing ->first with ->last.
32957 (dwarf2out_var_location): Pass last_label resp. last_postcall_label
32958 to add_var_loc_to_decl.
32959
32960 * dwarf2out.c (output_call_frame_info): For dw_cie_version
32961 >= 4 add also address size and segment size fields into CIE header.
32962
32963 * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
32964 long as address size is the same as sizeof (void *) and
32965 segment size is 0.
32966 * unwind-dw2-fde.c (get_cie_encoding): Likewise. If
32967 address size or segment size is unexpected, return DW_EH_PE_omit.
32968 (classify_object_over_fdes): If get_cie_encoding returned
32969 DW_EH_PE_omit, return -1.
32970 (init_object): If classify_object_over_fdes returned -1,
32971 pretend there were no FDEs at all.
32972
32973 2010-04-21 Uros Bizjak <ubizjak@gmail.com>
32974
32975 * config/i386/i386.md (bswap<mode>2): Macroize expander from
32976 bswap{si,di}2 using SWI48 mode iterator.
32977 (*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
32978 SWI48 mode iterator. Set type attribute of bswap insn to bitmanip,
32979 set modrm attribute of bswap insn to 0 and remove length attribute.
32980 (*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
32981 iterator. Set type attribute to bitmanip, set modrm attribute to 0,
32982 set mode attribute to <MODE> and remove length attribute.
32983
32984 2010-04-20 James E. Wilson <wilson@codesourcery.com>
32985
32986 PR rtl-optimization/43520
32987 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
32988 zero available registers.
32989
32990 2010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
32991
32992 * builtins.c (fold_builtin_cproj): Fold more cases.
32993
32994 2010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
32995
32996 * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
32997 (fold_builtin_1): Fold builtin cproj.
32998 * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
32999 Use ATTR_CONST_NOTHROW_LIST.
33000
33001 2010-04-20 Uros Bizjak <ubizjak@gmail.com>
33002
33003 * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
33004 and ffsdi2 using SWI48 mode iterator. Expand SImode insn through
33005 ffsi2_no_cmove for !TARGET_CMOVE.
33006 (ffssi2_no_cmove): Rename from *ffs_no_cmove. Make public.
33007 (ffssi2): Remove expander.
33008 (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
33009 mode iterator.
33010 (ctz<mode>2): Ditto from ctz{si,di}2.
33011 (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
33012 mode iterator.
33013 (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
33014 mode iterator.
33015
33016 2010-04-20 Jakub Jelinek <jakub@redhat.com>
33017
33018 * dwarf2out.c (AT_linkage_name): Define.
33019 (clone_as_declaration): Handle DW_AT_linkage_name.
33020 (add_name_and_src_coords_attributes): Use AT_linkage_name instead
33021 of DW_AT_MIPS_linkage_name.
33022 (move_linkage_attr): Likewise.
33023 (dwarf2out_finish): Likewise.
33024
33025 2010-04-20 Xinliang David Li <davidxl@gcc.gnu.org>
33026
33027 PR middle-end/41952
33028 * fold-const.c (fold_comparison): New folding rule.
33029
33030 2010-04-20 Anatoly Sokolov <aesok@post.ru>
33031
33032 * double-int.h (double_int_setbit): Declare.
33033 * double-int.c (double_int_setbit): New function.
33034 * rtl.h (immed_double_int_const): Declare.
33035 * emit-rtl.c (immed_double_int_const): New function.
33036 * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
33037 and immed_double_int_const functions.
33038 * optabs.c (expand_absneg_bit, expand_copysign_absneg,
33039 expand_copysign_bit): (Ditto.).
33040 * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
33041 * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
33042 * dojump.c (prefer_and_bit_test): (Ditto.).
33043 * expr.c (convert_modes, reduce_to_bit_field_precision,
33044 const_vector_from_tree): (Ditto.).
33045 * expmed.c (mask_rtx, lshift_value): (Ditto.).
33046
33047 2010-04-20 Jan Hubicka <jh@suse.cz>
33048
33049 * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
33050 (dump_cgraph_node): Dump new flags.
33051 * cgraph.h (struct cgraph_node): Add flags
33052 reachable_from_other_partition and in_other_partition.
33053 (cgraph_can_remove_if_no_direct_calls_p): Functions used by
33054 other partition can not be removed.
33055 * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
33056 the other partition must be output; silence sanity checking on
33057 leaking functions bodies from other paritition.
33058 * lto-cgraph.c (reachable_from_other_partition_p): New function.
33059 (lto_output_node): Output new flags; do not sanity check that inline
33060 clones are output; drop lto_forced_extern_inline_p code; do not mock
33061 visibility flags at partition boundaries.
33062 (add_node_to): New function.
33063 (output_cgraph): Use it to sort functions so masters appear before
33064 clones.
33065 (input_overwrite_node): Input new flags.
33066 * passes.c (ipa_write_summaries): Do not call
33067 lto_new_extern_inline_states.
33068 * lto-section-out.c (forced_extern_inline,
33069 lto_new_extern_inline_states lto_delete_extern_inline_states,
33070 lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
33071 * lto-streamer.h (lto_new_extern_inline_states,
33072 * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
33073 lto_forced_extern_inline_p): Kill.
33074
33075 2010-04-20 Richard Guenther <rguenther@suse.de>
33076
33077 * tree-ssa-structalias.c (do_sd_constraint): Add edges only
33078 from vars that can have pointers.
33079 (process_constraint): Dump useless constraints.
33080
33081 2010-04-20 Richard Guenther <rguenther@suse.de>
33082
33083 * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
33084 (dump_sa_points_to_info): Remove asserts.
33085 (init_base_vars): nothing_id isn't an escape point nor does it
33086 have pointers.
33087
33088 2010-04-20 Jakub Jelinek <jakub@redhat.com>
33089
33090 * tree.h (TYPE_REF_IS_RVALUE): Define.
33091 * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
33092 should_move_die_to_comdat, prune_unused_types_walk): Handle
33093 DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
33094 (modified_type_die, gen_reference_type_die): Emit
33095 DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
33096 if TYPE_REF_IS_RVALUE and -gdwarf-4.
33097
33098 2010-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
33099
33100 PR target/43635
33101 * config/s390/s390.c (s390_emit_call): Turn direct into indirect
33102 calls for -fpic -m31 if they have been sibcall optimized.
33103
33104 2010-04-19 James E. Wilson <wilson@codesourcery.com>
33105
33106 * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
33107 ar.lc fixed and call-used.
33108
33109 * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
33110
33111 2010-04-19 Jan Hubicka <jh@suse.cz>
33112
33113 * opts.c (decode_options): Disable whpr incompatible passes.
33114 * lto/lto.c (lto_1_to_1_map): Skip clones.
33115 (read_cgraph_and_symbols): Do not mark everything as needed.
33116 (do_whole_program_analysis): Do map only after optimizing;
33117 set proper cgraph_state; use passmanager.
33118
33119 2010-04-19 DJ Delorie <dj@redhat.com>
33120
33121 * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
33122 POINTER_PLUS_EXPR and fix them.
33123
33124 2010-04-19 Eric B. Weddington <eric.weddington@atmel.com>
33125
33126 * config/avr/avr-devices.c (avr_mcu_types): Add support for new
33127 devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
33128 attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
33129 atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
33130 atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
33131 atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
33132 atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
33133 atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
33134 m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
33135 atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
33136 * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
33137
33138 2010-04-19 Eric Botcazou <ebotcazou@adacore.com>
33139
33140 * ifcvt.c (noce_try_cmove_arith): Fix long lines.
33141 (check_cond_move_block): Likewise.
33142 (cond_move_process_if_block): Likewise.
33143 (noce_find_if_block): Improve formatting.
33144 (find_if_header): Pass 0 to memset and tweak conditions.
33145 (cond_exec_find_if_block): Fix long lines and tweak conditions.
33146
33147 2010-04-19 Jakub Jelinek <jakub@redhat.com>
33148
33149 * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
33150 for -gdwarf-4.
33151
33152 PR middle-end/43337
33153 * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
33154 with non-local decl doesn't need chain.
33155
33156 2010-04-19 Vladimir Makarov <vmakarov@redhat.com>
33157
33158 * ira-color.c (allocno_reload_assign): Avoid accumulating
33159 reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
33160
33161 2010-04-19 Martin Jambor <mjambor@suse.cz>
33162
33163 * gimple.h (create_tmp_reg): Declare.
33164 * gimplify.c (create_tmp_reg): New function.
33165 (gimplify_return_expr): Use create_tmp_reg.
33166 (gimplify_omp_atomic): Likewise.
33167 (gimple_regimplify_operands): Likewise.
33168 * tree-dfa.c (make_rename_temp): Likewise.
33169 * tree-predcom.c (predcom_tmp_var): Likewise.
33170 (reassociate_to_the_same_stmt): Likewise.
33171 * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
33172 (get_replaced_param_substitute): Likewise.
33173 * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
33174 * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
33175 * tree-ssa-pre.c (get_representative_for): Likewise.
33176 (create_expression_by_pieces): Likewise.
33177 * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
33178 (create_tailcall_accumulator): Likewise.
33179
33180 2010-04-19 Martin Jambor <mjambor@suse.cz>
33181
33182 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
33183 new_stmt.
33184 (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
33185
33186 2010-04-19 Richard Guenther <rguenther@suse.de>
33187
33188 PR tree-optimization/43796
33189 * tree-vrp.c (adjust_range_with_scev): Lookup init and step
33190 from SCEV in the lattice.
33191 (vrp_visit_phi_node): Dump change.
33192
33193 2010-04-19 Richard Guenther <rguenther@suse.de>
33194
33195 * configure.ac: Fix quoting around elf_getshstrndx ABI check.
33196 * configure: Re-generated.
33197
33198 2010-04-19 Richard Guenther <rguenther@suse.de>
33199
33200 PR tree-optimization/43783
33201 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
33202 constant ARRAY_REF operands two and three if possible.
33203
33204 2010-04-19 Uros Bizjak <ubizjak@gmail.com>
33205
33206 PR target/43766
33207 * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
33208
33209 2010-04-19 Jie Zhang <jie@codesourcery.com>
33210
33211 PR target/43662
33212 * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
33213
33214 2010-04-19 Ira Rosen <irar@il.ibm.com>
33215
33216 PR tree-optimization/37027
33217 * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
33218 and macro to access it.
33219 (vectorizable_reduction): Add argument.
33220 (vect_get_slp_defs): Likewise.
33221 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
33222 statements for possible use in SLP.
33223 (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
33224 (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
33225 (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
33226 add new argument.
33227 (vectorizable_reduction): Likewise.
33228 * tree-vect-stmts.c (vect_get_vec_defs): Update call to
33229 vect_get_slp_defs.
33230 (vectorizable_type_demotion, vectorizable_type_promotion,
33231 vectorizable_store): Likewise.
33232 (vect_analyze_stmt): Update call to vectorizable_reduction.
33233 (vect_transform_stmt): Likewise.
33234 * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
33235 (vect_build_slp_tree): Fix indentation. Check that there are no loads
33236 from different interleaving chains in same node.
33237 (vect_slp_rearrange_stmts): New function.
33238 (vect_supported_load_permutation_p): Allow load permutations for
33239 reductions. Call vect_slp_rearrange_stmts() to rearrange statements
33240 inside SLP nodes if necessary.
33241 (vect_analyze_slp_instance): Handle reductions.
33242 (vect_analyze_slp): Try to build SLP instances originating from groups
33243 of reductions.
33244 (vect_detect_hybrid_slp_stmts): Skip reduction statements.
33245 (vect_get_constant_vectors): Create initial vectors for reductions
33246 according to reduction code. Add new argument.
33247 (vect_get_slp_defs): Add new argument, pass it to
33248 vect_get_constant_vectors.
33249 (vect_schedule_slp_instance): Remove SLP tree root statements.
33250
33251 2010-04-19 Jakub Jelinek <jakub@redhat.com>
33252
33253 * tree.h (ENUM_IS_SCOPED): Define.
33254 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
33255 for ENUM_IS_SCOPED enums.
33256
33257 2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
33258
33259 * fold-const.c (fold_comparison): Use ssizetype.
33260 * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
33261 * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
33262 * tree-loop-distribution.c (build_size_arg_loc): Likewise.
33263 * tree-object-size.c (compute_object_sizes): Use size_type_node.
33264
33265 * tree.h (initialize_sizetypes): Remove parameter.
33266 (build_common_tree_nodes): Remove second parameter.
33267 * stor-layout.c (initialize_sizetypes): Remove parameter.
33268 Always create an unsigned type.
33269 (set_sizetype): Assert that the passed type is unsigned and simplify.
33270 * tree.c (build_common_tree_nodes): Remove second parameter.
33271 Adjust call to initialize_sizetypes.
33272 * c-decl.c (c_init_decl_processing): Remove second argument in call to
33273 build_common_tree_nodes.
33274
33275 2010-04-18 Matthias Klose <doko@ubuntu.com>
33276
33277 * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
33278
33279 2010-04-18 Ira Rosen <irar@il.ibm.com>
33280
33281 PR tree-optimization/43771
33282 * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
33283 load permutation doesn't have gaps.
33284
33285 2010-04-18 Jan Hubicka <jh@suse.cz>
33286
33287 * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
33288 (sse_prologue_save_insn expander): Use new pattern.
33289 (sse_prologue_save_insn1): New pattern and splitter.
33290 (sse_prologue_save_insn): Update to deal also with 64bit aligned
33291 blocks.
33292 * i386.c (setup_incoming_varargs_64): Do not compute jump
33293 destination here.
33294 (ix86_gimplify_va_arg): Update alignment needed.
33295 (ix86_local_alignment): Do not align all local arrays to 128bit.
33296
33297 2010-04-17 Jan Hubicka <jh@suse.cz>
33298
33299 * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
33300
33301 2010-04-17 Richard Earnshaw <rearnsha@arm.com>
33302
33303 * arm.md (negdi2): Remove redundant code to force values into a
33304 register.
33305
33306 2010-04-17 Richard Earnshaw <rearnsha@arm.com>
33307
33308 * arm/bpabi.S: Add EABI alignment attributes to objects.
33309 * arm/bpabi-v6m.S: Likewise.
33310 * arm/crti.asm: Likewise.
33311 * arm/crtn.asm: Likewise.
33312 * arm/lib1funcs.asm: Likewise.
33313 * arm/libunwind.S: Likewise.
33314
33315 2010-04-17 Richard Earnshaw <rearnsha@arm.com>
33316
33317 * arm-protos.h (tune_params): New structure.
33318 * arm.c (current_tune): New variable.
33319 (arm_constant_limit): Delete.
33320 (struct processors): Add pointer to the tune parameters.
33321 (arm_slowmul_tune): New tuning option.
33322 (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
33323 (all_cores): Adjust to pick up the tuning model.
33324 (arm_constant_limit): New function.
33325 (arm_override_options): Select the appropriate tuning model. Delete
33326 initialization of arm_const_limit.
33327 (arm_split_constant): Use the new constant-limit model.
33328 (arm_rtx_costs): Pick up the current tuning model.
33329 * arm.md (is_strongarm, is_xscale): Delete.
33330 * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
33331 for Xscale variant architectures.
33332 (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
33333
33334 2010-04-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
33335
33336 * config/arm/arm.c (arm_gen_constant): Remove unused variable
33337 can_shift.
33338 (arm_rtx_costs_1): Remove unused variable extra_cost.
33339 (arm_unwind_emit_set): Use variable offset.
33340 (thumb1_output_casesi): Remove unused variable flags.
33341
33342 2010-04-16 Jeff Law <law@redhat.com>
33343
33344 * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
33345 needing assignment rather than doing a two-phase assignment. Remove
33346 unused variable 'm'.
33347
33348 2010-04-16 Jakub Jelinek <jakub@redhat.com>
33349
33350 PR bootstrap/43767
33351 * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
33352
33353 2010-04-16 Doug Kwan <dougkwan@google.com>
33354
33355 * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
33356 (next_operand_entry_id): New static variable.
33357 (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
33358 (add_to_ops_vec): Assigned unique ID to operand entry.
33359 (struct oecount_s): New field ID.
33360 (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
33361 (undistribute_ops_list): Assign unique IDs to oecounts.
33362 (init_reassoc): reset next_operand_entry_id.
33363
33364 2010-04-16 Doug Kwan <dougkwan@google.com>
33365
33366 * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
33367 missing left parenthesis.
33368
33369 2010-04-16 Uros Bizjak <ubizjak@gmail.com>
33370
33371 * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
33372 *btdi_rex64 using SWI48 mode iterator.
33373 (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
33374 (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
33375 *jcc_btdi_mask_rex64.
33376
33377 2010-04-16 Anatoly Sokolov <aesok@post.ru>
33378
33379 * double-int.h (tree_to_double_int): Convert to macro.
33380 * double-int.c (tree_to_double_int): Remove.
33381
33382 2010-04-16 Jakub Jelinek <jakub@redhat.com>
33383
33384 PR debug/43762
33385 * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
33386 with want_address 2 and in case a single element list might be
33387 possible, call it again with want_address 0.
33388
33389 2010-04-12 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
33390
33391 * config/h8300/h8300.c (print_operand) : Modify case 'V' and
33392 case 'W' print operands for HI mode.
33393 * config/h8300/h8300.h (Y0, Y2) : New constraints.
33394 * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
33395 (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
33396 * config/h8300/predicate.md (bit_register_indirect_operand): New.
33397
33398 * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
33399
33400 * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
33401 cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
33402 #xx:3 and #xx:4 mode.
33403
33404 * config/h8300/h8300.md (inverted load with HImode dest): Add
33405 support for H8300SX.
33406
33407 * config/h8300/predicate.md (bit_operand): Allow immediate values that
33408 satisfy 'U' constraint.
33409
33410 2010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
33411
33412 * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
33413 * configure: Regenerate.
33414 * config.in: Regenerate.
33415 * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
33416 works.
33417
33418 2010-04-16 Richard Guenther <rguenther@suse.de>
33419
33420 * tree.h (struct tree_decl_minimal): Move pt_uid ...
33421 (struct tree_decl_common): ... here.
33422 (DECL_PT_UID): Adjust.
33423 (SET_DECL_PT_UID): Likewise.
33424 (DECL_PT_UID_SET_P): Likewise.
33425
33426 2010-04-16 Richard Guenther <rguenther@suse.de>
33427
33428 PR tree-optimization/43572
33429 * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
33430 * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
33431 * tree-flow.h (is_call_clobbered): Remove.
33432 * tree-flow-inline.h (is_call_clobbered): Likewise.
33433 * tree-dfa.c (dump_variable): Do not dump call clobber state.
33434 * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
33435 (execute_return_slot_opt): Adjust.
33436 * tree-tailcall.c (suitable_for_tail_opt_p): Remove
33437 check for call clobbered vars here.
33438 (find_tail_calls): Move tailcall verification to the
33439 proper place.
33440
33441 2010-04-16 Diego Novillo <dnovillo@google.com>
33442
33443 * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
33444
33445 2010-04-16 Bernd Schmidt <bernds@codesourcery.com>
33446
33447 PR target/40603
33448 * config/arm/arm.md (cbranchqi4): New pattern.
33449 * config/arm/predicates.md (const0_operand,
33450 cbranchqi4_comparison_operator): New predicates.
33451
33452 2010-04-16 Richard Guenther <rguenther@suse.de>
33453
33454 * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
33455 (dump_gimple_stmt): Likewise.
33456
33457 2010-04-16 Bernd Schmidt <bernds@codesourcery.com>
33458
33459 * recog.h (struct recog_data): New field is_operator.
33460 (struct insn_operand_data): New field is_operator.
33461 * recog.c (extract_insn): Set recog_data.is_operator.
33462 * genoutput.c (output_operand_data): Emit code to set the
33463 is_operator field.
33464 * reload.c (find_reloads): Use it rather than testing for an
33465 empty constraint string.
33466
33467 PR target/41514
33468 * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
33469 If the previous insn is a cbranchsi4_insn with the same arguments,
33470 omit the compare instruction.
33471
33472 * config/arm/arm.md (addsi3_cbranch): If destination is a high
33473 register, inputs must be low registers and we need a low register
33474 scratch. Handle alternative 2 like alternative 3.
33475
33476 2010-04-16 Jakub Jelinek <jakub@redhat.com>
33477
33478 * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
33479 don't call get_addr on both. If one expression is a VALUE and
33480 the other a REG, check VALUE's locs if the REG isn't among them.
33481
33482 2010-04-16 Christian Bruel <christian.bruel@st.com>
33483
33484 * config/sh/sh.h (sh_frame_pointer_required): New function.
33485 * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
33486 (flag_omit_frame_pointer) Set.
33487 (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
33488 (rounded_frame_size): Adjust size with outgoing_args_size.
33489 (sh_set_return_address): Must return from stack pointer.
33490 * config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
33491 (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
33492 (ACCUMULATE_OUTGOING_ARGS): Define.
33493 * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
33494 * config/sh/sh.opt (maccumulate-outgoing-args): New option.
33495
33496 2010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
33497
33498 PR target/43471
33499 * config/sh/sh.c (sh_legitimize_reload_address): Use
33500 MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
33501 Remove a unneeded check for offset_base.
33502
33503 2010-04-15 H.J. Lu <hongjiu.lu@intel.com>
33504
33505 * configure: Regenerated.
33506
33507 2010-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
33508
33509 * config/s390/s390.c (s390_call_save_register_used): Switch back
33510 to HARD_REGNO_NREGS.
33511
33512 2010-04-15 Richard Guenther <rguenther@suse.de>
33513
33514 * alias.c (alias_set_subset_of): Handle alias-set zero
33515 child properly.
33516
33517 2010-04-15 Mark Shinwell <shinwell@codesourcery.com>
33518 Julian Brown <julian@codesourcery.com>
33519
33520 * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
33521 alternatives according to use of high and low regs.
33522 * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
33523 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
33524 optimizing for size on Thumb-2.
33525
33526 2010-04-15 Thomas Schwinge <tschwinge@gnu.org>
33527
33528 * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
33529
33530 2010-04-15 Richard Guenther <rguenther@suse.de>
33531
33532 * tree-ssa-structalias.c (struct variable_info): Add
33533 is_fn_info flag.
33534 (new_var_info): Initialize it.
33535 (dump_constraints): Support printing last added constraints.
33536 (debug_constraints): Adjust.
33537 (dump_constraint_graph): Likewise.
33538 (make_heapvar_for): Check for NULL cfun.
33539 (get_function_part_constraint): New function.
33540 (get_fi_for_callee): Likewise.
33541 (find_func_aliases): Properly implement IPA PTA constraints.
33542 (process_ipa_clobber): New function.
33543 (find_func_clobbers): Likewise.
33544 (insert_into_field_list_sorted): Remove.
33545 (create_function_info_for): Properly allocate vars for IPA mode.
33546 Do not use insert_into_field_list_sorted.
33547 (create_variable_info_for): Properly generate constraints for
33548 global vars in IPA mode.
33549 (dump_solution_for_var): Always dump the solution.
33550 (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
33551 (find_what_var_points_to): Adjust.
33552 (pt_solution_set): Change.
33553 (pt_solution_ior_into): New function.
33554 (pt_solution_empty_p): Export.
33555 (pt_solution_includes_global): Adjust.
33556 (pt_solution_includes_1): Likewise.
33557 (pt_solutions_intersect_1): Likewise.
33558 (dump_sa_points_to_info): Check some invariants.
33559 (solve_constraints): Move constraint dumping ...
33560 (compute_points_to_sets): ... here.
33561 (ipa_pta_execute): ... and here.
33562 (compute_may_aliases): Do not re-compute points-to info
33563 locally if IPA info is available.
33564 (ipa_escaped_pt): New global var.
33565 (ipa_pta_execute): Properly implement IPA PTA.
33566 * tree-into-ssa.c (dump_decl_set): Support dumping
33567 decls not in referenced-vars.
33568 * tree-flow.h (struct gimple_df): Add ipa_pta flag.
33569 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
33570 (dump_points_to_solution): Likewise.
33571 * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
33572 * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
33573 (remap_gimple_stmt): Reset call clobber/use information if necessary.
33574 (copy_decl_to_var): Copy DECL_PT_UID.
33575 (copy_result_decl_to_var): Likewise.
33576 * tree.c (make_node_stat): Initialize DECL_PT_UID.
33577 (copy_node_stat): Copy it.
33578 * tree.h (DECL_PT_UID): New macro.
33579 (SET_DECL_PT_UID): Likewise.
33580 (DECL_PT_UID_SET_P): Likewise.
33581 (struct tree_decl_minimal): Add pt_uid member.
33582 * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
33583 (pt_solution_empty_p): Declare.
33584 (pt_solution_set): Adjust.
33585 (ipa_escaped_pt): Declare.
33586 * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
33587 * gimple-pretty-print.c (pp_points_to_solution): New function.
33588 (dump_gimple_call): Dump call clobber/use information.
33589 * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
33590 * tree-pass.h (TDF_ALIAS): New dump option.
33591 * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
33592 * doc/invoke.texi (-fipa-pta): Update documentation.
33593
33594 2010-04-15 Richard Guenther <rguenther@suse.de>
33595
33596 * Makefile.in (OBJS-common): Add gimple-fold.o.
33597 (gimple-fold.o): New rule.
33598 * tree.h (maybe_fold_offset_to_reference,
33599 maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
33600 prototypes ...
33601 * gimple.h: ... here.
33602 * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
33603 may_propagate_address_into_dereference): Move prototypes ...
33604 * gimple.h: ... here.
33605 * tree-ssa-ccp.c (get_symbol_constant_value,
33606 may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
33607 maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
33608 maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
33609 maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
33610 ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
33611 fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
33612 gimplify_and_update_call_from_tree): Move ...
33613 * gimple-fold.c: ... here. New file.
33614 (ccp_fold_builtin): Rename to ...
33615 (gimple_fold_builtin): ... this.
33616 * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
33617
33618 2010-04-15 Richard Guenther <rguenther@suse.de>
33619
33620 * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
33621 fit_double_type, force_fit_type_double, add_double_with_sign,
33622 neg_double, mul_double_with_sign, lshift_double, rshift_double,
33623 lrotate_double, rrotate_double, div_and_round_double): Move ...
33624 * double-int.c: ... here.
33625 * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
33626 add_double, neg_double, mul_double_with_sign, mul_double,
33627 lshift_double, rshift_double, lrotate_double, rrotate_double,
33628 div_and_round_double): Move prototypes ...
33629 * double-int.h: ... here.
33630
33631 2010-04-15 Bernd Schmidt <bernds@codesourcery.com>
33632
33633 PR target/43742
33634 * config/sh/sh.md (doloop_end_split, dect): Undo previous patch. Use
33635 matching constraints to ensure inputs match the output.
33636
33637 2010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
33638
33639 PR target/43742
33640 * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
33641 in an input-only operand.
33642
33643 2010-04-15 Anatoly Sokolov <aesok@post.ru>
33644
33645 * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
33646 (double_int_not, double_int_lshift, double_int_rshift): Declare.
33647 (double_int_negative_p): Convert to static inline function.
33648 * double-int.c (double_int_lshift, double_int_lshift): New functions.
33649 (double_int_negative_p): Remove.
33650 * tree.h (lshift_double, rshift_double):
33651 * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
33652 * fold-const.c (fold_convert_const_int_from_real,
33653 fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
33654 (lshift_double): Change type of arith argument to bool.
33655 (rshift_double): Change type of arith argument to bool. Correct
33656 comment.
33657 * expmed.c (mask_rtx, lshift_value): (Ditto.).
33658
33659 2010-04-14 Bernd Schmidt <bernds@codesourcery.com>
33660
33661 PR target/21803
33662 * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
33663 at the start and end of the then/else blocks, and omit them from the
33664 conversion.
33665 * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE
33666 argument; all callers changed. Pass zero to old_insns_match_p instead.
33667 (flow_find_head_matching_sequence): New function.
33668 (old_insns_match_p): Check REG_EH_REGION notes for calls.
33669 * basic-block.h (flow_find_cross_jump,
33670 flow_find_head_matching_sequence): Declare functions.
33671
33672 2010-04-14 Jason Merrill <jason@redhat.com>
33673
33674 PR c++/36625
33675 * c-common.c (attribute_takes_identifier_p): New fn.
33676 * c-common.h: Declare it.
33677
33678 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
33679
33680 * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
33681 splitter condition.
33682 (*udivmod<mode>4): Ditto.
33683
33684 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
33685
33686 * config/i386/i386.md (maxmin_int): Rename code attribute from
33687 maxminiprefix and update all users.
33688 (maxmin_float): Ditto from maxminfprefix.
33689 (logic): Ditto from logicprefix.
33690 (absneg_mnemonic): Ditto from absnegprefix.
33691 * config/i386/mmx.md: Update all users of maxminiprefix,
33692 maxminfprefix and logicprefix for rename.
33693 * config/i386/sse.md: Ditto.
33694 * config/i386/sync.md (sync_<code><mode>): Update for
33695 logicprefix rename.
33696
33697 2010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
33698
33699 PR 42966
33700 * diagnostics.c (diagnostic_report_diagnostic): Mark specially
33701 warnings converted to errors.
33702
33703 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
33704
33705 * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
33706 used insn_type variable.
33707 (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
33708 to avoid set-but-not-used warning.
33709
33710 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
33711
33712 * df-core.c (df_ref_debug): Change format string placeholder
33713 from 0x%x to %#x.
33714 * dwarf2asm.c (dw2_asm_output_data_raw,
33715 dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
33716 dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
33717 * dwarf2out.c (output_cfi, output_cfi_directive,
33718 dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
33719 output_cfa_loc_raw, output_die, output_ranges, output_file_names):
33720 Ditto.
33721 * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
33722 * print-rtl.c (print_rtx): Ditto.
33723
33724 2010-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
33725
33726 PR middle-end/42694
33727 * builtins.c (expand_builtin_pow_root): New function to expand pow
33728 calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
33729 series of sqrt and cbrt calls under -ffast-math.
33730 (expand_builtin_pow): Call it.
33731
33732 2010-04-14 Michael Matz <matz@suse.de>
33733
33734 PR tree-optimization/42963
33735 * tree-cfg.c (touched_switch_bbs): New static variable.
33736 (group_case_labels_stmt): New function broken out from ...
33737 (group_case_labels): ... here, use the above.
33738 (start_recording_case_labels): Allocate touched_switch_bbs.
33739 (end_recording_case_labels): Deallocate it, call
33740 group_case_labels_stmt.
33741 (gimple_redirect_edge_and_branch): Remember index of affected BB.
33742
33743 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
33744
33745 * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
33746 from insn template.
33747
33748 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
33749
33750 * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
33751
33752 2010-04-13 Jan Hubicka <jh@suse.cz>
33753
33754 * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
33755 of optimized out static functions.
33756 (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
33757 cost computation. Also sanity check for overflows.
33758 (update_caller_keys): Update cgraph_edge_badness call; properly
33759 update fibheap and sanity check that it is up to date.
33760 (add_new_edges_to_heap): Update cgraph_edge_badness.
33761 (cgraph_decide_inlining_of_small_function): Likewise;
33762 add sanity checking that badness in heap is up to date;
33763 improve dumping of reason; Update badness of calls to the
33764 offline copy of function currently inlined; dump badness
33765 of functions not inlined because of unit growth limits.
33766
33767 2010-04-13 Eric Botcazou <ebotcazou@adacore.com>
33768
33769 PR middle-end/32628
33770 * c-common.c (pointer_int_sum): Disregard overflow that occured only
33771 because of sign-extension change when converting to sizetype here...
33772 * fold-const.c (fold_convert_const_int_from_int): ...and not here.
33773
33774 * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
33775 the folding to constants. Remove redundant final conversion.
33776 (fold_binary) <associate>: Do not associate if the re-association of
33777 constants alone overflows.
33778 (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
33779 to the end of the list.
33780 (multiple_of_p) <COND_EXPR>: New case.
33781
33782 2010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
33783
33784 * opt-functions.awk (opt_sanitized_name): New.
33785 (opt_enum): New.
33786 * optc-gen.awk: Use it
33787 * opth-gen.awk: Use it.
33788
33789 2010-04-13 Martin Jambor <mjambor@suse.cz>
33790
33791 * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
33792 (sra_modify_assign): Delete stmts loading dead data even if racc has no
33793 children. Call replace_uses_with_default_def_ssa_name to handle
33794 SSA_NAES on lhs.
33795
33796 2010-04-13 Michael Matz <matz@suse.de>
33797
33798 PR middle-end/43730
33799 * builtins.c (expand_builtin_interclass_mathfn): Also create
33800 a register if the predicate doesn't match.
33801
33802 2010-04-13 Diego Novillo <dnovillo@google.com>
33803
33804 * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
33805 * c-pch.c: Include timevar.h.
33806 (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
33807 (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
33808 * ggc-common.c: Include timevar.h.
33809 (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
33810 * timevar.def (TV_PCH_SAVE): Define.
33811 (TV_PCH_CPP_SAVE): Define.
33812 (TV_PCH_PTR_REALLOC): Define.
33813 (TV_PCH_PTR_SORT): Define.
33814 (TV_PCH_RESTORE): Define.
33815 (TV_PCH_CPP_RESTORE): Define.
33816
33817 2010-04-13 Michael Matz <matz@suse.de>
33818
33819 * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
33820 into MINUS_EXPRs.
33821 (can_reassociate_p): New function.
33822 (break_up_subtract_bb, reassociate_bb): Use it.
33823
33824 2010-04-13 Richard Guenther <rguenther@suse.de>
33825
33826 PR bootstrap/43737
33827 * builtins.c (c_readstr): Fix assert.
33828
33829 2010-04-13 Uros Bizjak <ubizjak@gmail.com>
33830
33831 * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
33832 when generating cltd insn.
33833
33834 (*ashl<mode>3_1): Remove special handling for register operand 2.
33835 (*ashlsi3_1_zext): Ditto.
33836 (*ashlhi3_1): Ditto.
33837 (*ashlhi3_1_lea): Ditto.
33838 (*ashlqi3_1): Ditto.
33839 (*ashlqi3_1_lea): Ditto.
33840 (*<shiftrt_insn><mode>3_1): Ditto.
33841 (*<shiftrt_insn>si3_1_zext): Ditto.
33842 (*<shiftrt_insn>qi3_1_slp): Ditto.
33843 (*<rotate_insn><mode>3_1): Ditto.
33844 (*<rotate_insn>si3_1_zext): Ditto.
33845 (*<rotate_insn>qi3_1_slp): Ditto.
33846
33847 2010-04-13 Richard Guenther <rguenther@suse.de>
33848
33849 * tree-ssa-structalias.c (callused_id): Remove.
33850 (call_stmt_vars): New.
33851 (get_call_vi): Likewise.
33852 (lookup_call_use_vi): Likewise.
33853 (lookup_call_clobber_vi): Likewise.
33854 (get_call_use_vi): Likewise.
33855 (get_call_clobber_vi): Likewise.
33856 (make_transitive_closure_constraints): Likewise.
33857 (handle_const_call): Adjust to do per-call call-used handling.
33858 (handle_pure_call): Likewise.
33859 (find_what_var_points_to): Remove general callused handling.
33860 (init_base_vars): Likewise.
33861 (init_alias_vars): Initialize call_stmt_vars.
33862 (compute_points_to_sets): Process call-used and call-clobbered
33863 vars for call statements.
33864 (delete_points_to_sets): Free call_stmt_vars.
33865
33866 2010-04-13 Richard Guenther <rguenther@suse.de>
33867
33868 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
33869 Only add RW dependence for dependence distance zero.
33870 Adjust maximal vectorization factor according to dependences.
33871 Move alignment handling ...
33872 (vect_find_same_alignment_drs): ... here. New function.
33873 (vect_analyze_data_ref_dependences): Adjust.
33874 (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
33875 (vect_analyze_data_refs): Adjust minimal vectorization factor
33876 according to data references.
33877 * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
33878 dependences before determining the vectorization factor.
33879 Analyze alignment after determining the vectorization factor.
33880 * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
33881 dependences before alignment.
33882 * tree-vectorizer.h (vect_analyze_data_ref_dependences):
33883 Adjust prototype.
33884 (vect_analyze_data_refs): Likewise.
33885 (MAX_VECTORIZATION_FACTOR): New define.
33886
33887 2010-04-13 Duncan Sands <baldrick@free.fr>
33888
33889 * except.h (lang_eh_type_covers): Remove.
33890 * except.c (lang_eh_type_covers): Likewise.
33891
33892 2010-04-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
33893 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
33894
33895 * config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
33896 * config/s390/s390.c: Replace UNTIS_PER_WORD with
33897 UNITS_PER_LONG where it is ABI relevant.
33898 (s390_return_addr_rtx): Likewise.
33899 (s390_back_chain_rtx): Likewise.
33900 (s390_frame_area): Likewise.
33901 (s390_frame_info): Likewise.
33902 (s390_initial_elimination_offset): Likewise.
33903 (save_gprs): Likewise.
33904 (s390_emit_prologue): Likewise.
33905 (s390_emit_epilogue): Likewise.
33906 (s390_function_arg_advance): Likewise.
33907 (s390_function_arg): Likewise.
33908 (s390_va_start): Likewise.
33909 (s390_gimplify_va_arg): Likewise.
33910 (s390_function_profiler): Likewise.
33911 (s390_optimize_prologue): Likewise.
33912 (s390_rtx_costs): Likewise.
33913 (s390_secondary_reload): Likewise.
33914 (s390_promote_function_mode): Likewise.
33915 (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
33916 (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
33917 registers available.
33918 (s390_unwind_word_mode): New function.
33919 (s390_function_value): Split 64 bit values into register pair if
33920 used as return value.
33921 (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
33922 function call parameters. Handle parallels.
33923 (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
33924 (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
33925 (DWARF_CIE_DATA_ALIGNMENT): New macro.
33926 (s390_expand_setmem): Remove unused variable src_addr.
33927 * longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
33928 deal with 64 bit registers.
33929 * config/s390/s390.h: Define __zarch__ predefined macro.
33930 Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
33931 (UNITS_PER_LONG): New macro.
33932 * libjava/include/s390-signal.h: Define extended ucontext
33933 structure containing the upper halfs of the 64 bit registers.
33934
33935 2010-04-13 Simon Baldwin <simonb@google.com>
33936
33937 * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
33938
33939 2010-04-13 Eric Botcazou <ebotcazou@adacore.com>
33940
33941 * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
33942 rvalue on the RHS if the LHS is of a non-renamable type.
33943 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
33944
33945 2010-04-13 Matthias Klose <doko@ubuntu.com>
33946
33947 * gcc.c (cc1_options): Handle -iplugindir before processing
33948 the cc1 spec. Only add -iplugindir once.
33949 (cpp_unique_options): Add -iplugindir option if -fplugin* options
33950 found.
33951 * common.opt (iplugindir): Remove `Separate' property, initialize.
33952 * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
33953 option.
33954 * Makefile.in (check-%, check-parallel-%): Create plugin dir.
33955 (distclean): Remove plugin dir.
33956 * doc/invoke.texi: Document -iplugindir.
33957
33958 2010-04-13 Basile Starynkevitch <basile@starynkevitch.net>
33959
33960 * doc/plugins.texi (Loading Plugins): Document short
33961 -fplugin=foo option.
33962 (Plugin API): Mention default_plugin_dir_name function.
33963
33964 * gcc.c (find_file_spec_function): Add new declaration.
33965 (static_spec_func): Use it for "find-file".
33966 (find_file_spec_function): Add new function.
33967 (cc1_options): Add -iplugindir option if -fplugin* options found.
33968
33969 * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
33970
33971 * plugin.c (add_new_plugin): Updated comment, and handle short
33972 plugin name.
33973 (default_plugin_dir_name): Added new function.
33974
33975 * common.opt (iplugindir): New option to set the plugin directory.
33976
33977 2010-04-12 Uros Bizjak <ubizjak@gmail.com>
33978
33979 * config/i386/i386.md (any_rotate): New code iterator.
33980 (rotate_insn): New code attribute.
33981 (rotate): Ditto.
33982 (SWIM124): New mode iterator.
33983 (<rotate_insn>ti3): New expander.
33984 (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
33985 any_rotate code iterator.
33986 (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
33987 using any_rotate code iterator and SWIM124 mode iterator.
33988 (ix86_rotlti3): New insn_and_split pattern.
33989 (ix86_rotrti3): Ditto.
33990 (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
33991 ix86_rotl{di,ti}3 patterns.
33992 (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
33993 (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
33994 and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
33995 *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
33996 code iterator and SWI mode iterator.
33997 (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
33998 Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
33999 code iterator.
34000 (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
34001 Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
34002 (bswap rotatert splitter): Add splitter.
34003 (bswap splitter): Macroize splitter using any_rotate code iterator.
34004 Add insn predicate to split only for TARGET_USE_XCHGB or when
34005 optimizing function for size.
34006
34007 2010-04-12 Steve Ellcey <sje@cup.hp.com>
34008
34009 * config/pa/pa.c (emit_move_sequence): Remove use of
34010 deleted variable flag_argument_noalias.
34011
34012 2010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
34013
34014 * config.gcc: Removed *-*-solaris2.7* from list of obsolete
34015 configurations.
34016 Add to unsupported targets list.
34017 * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
34018 sparc*-sun-solaris2.[567]* from target lists.
34019 * configure: Regenerate.
34020 * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
34021 removal.
34022 Remove Solaris 7 patch references.
34023 (Specific, sparc-sun-solaris2.7): Removed.
34024 (sparc-sun-solaris2*): Update Solaris 7 example.
34025 (sparc64-*-solaris2*): Likewise.
34026
34027 2010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
34028
34029 * config.build (alpha*-dec-osf4*): Remove.
34030 * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
34031 of obsolete configurations.
34032 (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
34033 support.
34034 * config/alpha/t-osf4: Renamed to ...
34035 * config/alpha/t-osf5: ... this.
34036 * config/alpha/osf.h: Renamed to ...
34037 * config/alpha/osf5.h: ... this.
34038 Merged old osf5.h contents.
34039 Update comments.
34040 (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
34041 (EXTRA_SPECS): Removed.
34042 * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
34043 reflect removal of Tru64 UNIX V4.0/V5.0 support.
34044 Document that.
34045
34046 2010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
34047
34048 * doc/contrib.texi (Contributors, Rainer Orth): Update.
34049
34050 2010-04-12 Kai Tietz <kai.tietz@onevision.com>
34051
34052 PR/43702
34053 * config/i386/i386.c (x86_this_parameter): Handle aggregate for
34054 __thiscall convention.
34055
34056 2010-04-12 Steve Ellcey <sje@cup.hp.com>
34057
34058 * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
34059 orig_base.
34060 * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
34061
34062 2010-04-12 Steve Ellcey <sje@cup.hp.com>
34063
34064 * function.c (assign_parms_initialize_all): Add unused attribute
34065 to fntype.
34066
34067 2010-04-12 Richard Guenther <rguenther@suse.de>
34068
34069 * gsstruct.def (GSS_CALL): New.
34070 * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
34071 * gimple.h: Include tree-ssa-alias.h.
34072 (struct gimple_statement_call): New.
34073 (union gimple_statement_struct_d): Add gimple_call member.
34074 (gimple_call_reset_alias_info): Declare.
34075 (gimple_call_use_set): New function.
34076 (gimple_call_clobber_set): Likewise.
34077 * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
34078 * gimple.c (gimple_call_reset_alias_info): New function.
34079 (gimple_build_call_1): Call it.
34080 * lto-streamer-in.c (input_gimple_stmt): Likewise.
34081 * tree-inline.c (remap_gimple_stmt): Likewise.
34082 (expand_call_inline): Remove callused handling.
34083 * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
34084 * tree-dfa.c (dump_variable): Likewise.
34085 * tree-parloops.c (parallelize_loops): Likewise.
34086 * tree-ssa.c (init_tree_ssa): Likewise.
34087 (delete_tree_ssa): Likewise.
34088 * tree-flow-inline.h (is_call_used): Remove.
34089 * tree-flow.h (struct gimple_df): Remove callused member.
34090 * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
34091 * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
34092 (ref_maybe_used_by_call_p_1): Simplify.
34093 (call_may_clobber_ref_p_1): Likewise.
34094 * tree-ssa-structalias.c (compute_points_to_sets): Set
34095 the call stmt used and clobbered sets.
34096 * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
34097 (find_tail_calls): Verify the tail call.
34098
34099 2010-04-12 Richard Guenther <rguenther@suse.de>
34100
34101 * ipa.c (cgraph_postorder): Adjust postorder to guarantee
34102 single-iteration always-inline inlining.
34103 * ipa-inline.c (cgraph_mark_inline): Do not return anything.
34104 (cgraph_decide_inlining): Do not handle always-inline specially.
34105 (try_inline): Remove always-inline cycle detection special case.
34106 Do not recurse on always-inlines.
34107 (cgraph_early_inlining): Do not iterate if not optimizing.
34108 (cgraph_gate_early_inlining): remove.
34109 (pass_early_inline): Run unconditionally.
34110 (gate_cgraph_decide_inlining): New function.
34111 (pass_ipa_inline): Use it. Do not run the IPA inliner if
34112 not inlining or optimizing.
34113 (cgraph_decide_inlining_of_small_functions): Also consider
34114 always-inline functions.
34115 (cgraph_default_inline_p): Return true for nodes which should
34116 disregard inline limits.
34117 (estimate_function_body_sizes): Assume zero size and time for
34118 nodes which are marked as disregarding inline limits.
34119 (cgraph_decide_recursive_inlining): Do not perform recursive
34120 inlining on always-inline nodes.
34121
34122 2010-04-12 Jakub Jelinek <jakub@redhat.com>
34123
34124 PR bootstrap/43699
34125 * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
34126 for exprs satisfying handled_component_p.
34127
34128 2010-04-12 Eric Botcazou <ebotcazou@adacore.com>
34129
34130 * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
34131 non-constant aggregate elements.
34132
34133 * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
34134 is a real initialization.
34135
34136 2010-04-12 Shujing Zhao <pearly.zhao@oracle.com>
34137
34138 PR c/36774
34139 * c-decl.c (start_function): Move forward check for nested function.
34140
34141 2010-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
34142
34143 * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
34144 * config/sh/sh.c: Include reload.h.
34145 (sh_legitimize_reload_address): New.
34146 * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
34147 sh_legitimize_reload_address.
34148
34149 2010-04-11 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
34150
34151 * config/sh/sh.md (*movqi_pop): New insn pattern.
34152 * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
34153
34154 2010-04-11 Uros Bizjak <ubizjak@gmail.com>
34155
34156 * config/i386/i386.md (any_shiftrt): New code iterator.
34157 (shiftrt_insn): New code attribute.
34158 (shiftrt): Ditto.
34159 (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
34160 using any_shiftrt code iterator.
34161 (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
34162 *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
34163 (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
34164 pattern from corresponding peephole2 patterns.
34165 (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
34166 using any_shiftrt code iterator.
34167 (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
34168 (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
34169 (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
34170 (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
34171 *{ashr,lshr}<mode>3_cmp_zext.
34172 (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
34173
34174 2010-04-11 Uros Bizjak <ubizjak@gmail.com>
34175
34176 * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
34177 scratch register.
34178 (*lshr<mode>3_cconly): Ditto.
34179
34180 2010-04-11 Uros Bizjak <ubizjak@gmail.com>
34181
34182 * config/i386/i386.md (lshr<mode>3): Macroize expander from
34183 lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
34184 (*lshr<mode>3_doubleword): New insn_and_split_pattern. Macroize
34185 pattern from *lshr{di,ti}3_1 and corresponding splitters using
34186 DWI mode iterator.
34187 (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
34188 from corresponding peephole2 patterns.
34189 (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
34190 *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
34191 and *lshrdi3_1_rex64 using SWI mode iterator.
34192 (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
34193 (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
34194 (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
34195 *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
34196 and *lshrdi3_cmp_rex64 using SWI mode iterator.
34197 (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
34198 (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
34199 *lshrdi3_one_bit_cconly_rex64. Macroize insn from
34200 *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
34201 SWI mode iterator.
34202
34203 2010-04-10 Uros Bizjak <ubizjak@gmail.com>
34204
34205 * config/i386/i386.md (ashr<mode>3): Macroize expander from
34206 ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
34207 (*ashr<mode>3_doubleword): New insn_and_split_pattern. Macroize
34208 pattern from *ashr{di,ti}3_1 and corresponding splitters using
34209 DWI mode iterator.
34210 (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
34211 from corresponding peephole2 patterns.
34212 (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
34213 (ashrsi3_cvt): Rename from ashrsi3_31.
34214 (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
34215 (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
34216 and x86_64_shift_adj_3 using SWI48 mode iterator.
34217 (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
34218 *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
34219 and *ashrdi3_1_rex64 using SWI mode iterator.
34220 (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
34221 (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
34222 (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
34223 *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
34224 and *ashrdi3_cmp_rex64 using SWI mode iterator.
34225 (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
34226 (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
34227 *ashrdi3_one_bit_cconly_rex64. Macroize insn from
34228 *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
34229 SWI mode iterator.
34230 (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
34231 * config/i386/i386.c (ix86_split_ashr): Update for renamed
34232 x86_shift<mode>_adj_3 expanders.
34233
34234 2010-04-10 Wei Guozhi <carrot@google.com>
34235
34236 PR target/42601
34237 * config/arm/arm.c (arm_pic_static_addr): New function.
34238 (legitimize_pic_address): Call arm_pic_static_addr when it detects
34239 a static symbol.
34240 (arm_output_addr_const_extra): Output expression for new pattern.
34241 * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
34242
34243 2010-04-10 Bernd Schmidt <bernds@codesourcery.com>
34244
34245 * ira-costs.c (record_reg_classes): Ignore alternatives that are
34246 not enabled.
34247
34248 * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
34249 * web.c: Include "insn-config.h" and "recog.h".
34250 (union_match_dups): New function.
34251 (web_main): Call it.
34252 (union_defs): Don't try to recognize match_dups.
34253
34254 * reload1.c (eliminate_regs_in_insn): Don't restore an operand
34255 if doing so would replace the entire pattern.
34256
34257 2010-04-09 Uros Bizjak <ubizjak@gmail.com>
34258
34259 PR target/43707
34260 PR target/43709
34261 * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
34262 and splitter pattern. Change splitter operand 1 predicate to
34263 nonmemory_operand.
34264
34265 2010-04-09 Martin Jambor <mjambor@suse.cz>
34266
34267 * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
34268 lattices are addresses of CONST_DECLs with the same initial value.
34269 (ipcp_print_all_lattices): Print values of CONST_DECLs.
34270 * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
34271
34272 2010-04-09 Eric Botcazou <ebotcazou@adacore.com>
34273 Bernd Schmidt <bernds@codesourcery.com>
34274
34275 * loop-invariant.c (replace_uses): New static function.
34276 (move_invariant_reg): Use it to ensure we can replace the uses.
34277
34278 2010-04-09 Hariharan Sandanagobalane <hariharan@picochip.com>
34279
34280 * config/picochip/picochip.c (picochip_rtx_costs): Use correct
34281 function template.
34282 (picochip_override_options): Enable section anchors only above -O1.
34283 (picochip_reorg): Fixed a couple of build warnings.
34284
34285 2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
34286
34287 * configure.ac (plugin -rdynamic test): Log result.
34288 * configure: Regenerate.
34289 * config/sol2.h (LINK_SPEC): Handle -rdynamic.
34290 (RDYNAMIC_SPEC): Define.
34291 * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
34292
34293 2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
34294
34295 * configure.ac: Determine Sun ld version numbers.
34296 (comdat_group): Restrict GNU ld version checks to gld.
34297 (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
34298 (enable_comdat): Support --enable-comdat.
34299 * configure: Regenerate.
34300 * doc/install.texi (Configuration): Document --enable-comdat.
34301
34302 2010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
34303
34304 * config/sparc/sol2-gld.h: Remove SPARC reference. Rename ...
34305 * config/sol2-gld.h: ... here.
34306 * config.gcc (sparc*-*-solaris2*): Reflect this.
34307 (i[34567]86-*-solaris2*): Use it.
34308
34309 2010-04-09 Steve Ellcey <sje@cup.hp.com>
34310
34311 * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
34312 setup_clocks_p.
34313 (final_emit_insn_group_barriers): Remove unused variable prev_insn.
34314
34315 2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
34316
34317 PR 42965
34318 * diagnostic.c (diagnostic_initialize): Initialize
34319 some_warnings_are_errors.
34320 (diagnostic_finish): New.
34321 (diagnostic_action_after_output): Call it before exiting.
34322 (diagnostic_report_diagnostic): Do not print message here. Set
34323 some_warnings_are_errors.
34324 * diagnostic.h (diagnostic_context): Delete
34325 issue_warnings_are_errors_message. Add some_warnings_are_errors.
34326 (diagnostic_finish): Declare.
34327 * toplev.c (toplev_main): Call it before exit.
34328
34329 2010-04-09 Jason Merrill <jason@redhat.com>
34330
34331 PR c++/42623
34332 * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
34333 for incomplete type.
34334
34335 PR c++/41788
34336 * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
34337 based on a warning flag.
34338
34339 2010-04-09 Richard Guenther <rguenther@suse.de>
34340
34341 * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
34342
34343 2010-04-09 Iain Sandoe <iains@gcc.gnu.org>
34344
34345 PR bootstrap/43684
34346 * varasm.c (default_assemble_visibility): Wrap vars that are
34347 set, but unused, by targets without GAS.
34348 * config/rs6000/rs6000.c (paired_emit_vector_compare):
34349 Remove set, but unused, vars.
34350 (rs6000_legitimize_tls_address): Likewise.
34351 (altivec_expand_dst_builtin): Likewise.
34352 * config/darwin.c (machopic_classify_symbol): Likewise.
34353 (machopic_indirection_name): Likewise.
34354
34355 2010-04-09 Uros Bizjak <ubizjak@gmail.com>
34356
34357 * config/i386/i386.md (DWI): New mode iterator.
34358 (S): New mode attribute.
34359 (shift_operand): Ditto.
34360 (shift_immediate_operand): Ditto.
34361 (ashl_input_operand): Ditto.
34362 (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
34363 using SDWIM mode iterator.
34364 (*ashl<mode>3_doubleword): New insn_and_split_pattern. Macroize
34365 pattern from *ashl{di,ti}3_1 and corresponding splitters using
34366 DWI mode iterator.
34367 (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
34368 from corresponding peephole2 patterns.
34369 (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
34370 and x86_64_shift_adj_1 using SWI48 mode iterator.
34371 (x86_shift<mode>_adj_2): Ditto.
34372 (*ashldi3_1_rex64): Split TYPE_LEA pattern.
34373 (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
34374 using SWI48 mode iterator.
34375 (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
34376 *ashldi3_cmp_rex64 using SWI mode iterator.
34377 (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
34378 *ashldi3_cconly_rex64 using SWI mode iterator.
34379 * config/i386/i386.c (ix86_split_ashl): Update for renamed
34380 x86_shift<mode>_adj_{1,2}.
34381 (ix86_split_ashr): Ditto.
34382 (ix86_split_lshr): Ditto.
34383
34384 2010-04-09 Richard Guenther <rguenther@suse.de>
34385
34386 * target.h (builtin_conversion): Pass in input and output types.
34387 * targhooks.c (default_builtin_vectorized_conversion): Adjust.
34388 * targhooks.h (default_builtin_vectorized_conversion): Likewise.
34389 * tree-vect-stmts.c (vectorizable_conversion): Adjust.
34390 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
34391
34392 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
34393 Handle AVX modes.
34394 * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
34395
34396 2010-04-09 Richard Guenther <rguenther@suse.de>
34397
34398 PR target/43152
34399 * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
34400
34401 2010-04-09 Richard Guenther <rguenther@suse.de>
34402
34403 * tree-vectorizer.h (struct _stmt_vec_info): Document
34404 that vectype is the type of the LHS.
34405 (supportable_widening_operation, supportable_narrowing_operation):
34406 Get both input and output vector types as arguments.
34407 (vect_is_simple_use_1): Declare.
34408 (get_same_sized_vectype): Likewise.
34409 * tree-vect-loop.c (vect_determine_vectorization_factor):
34410 Set STMT_VINFO_VECTYPE to the vector type of the def.
34411 (vectorizable_reduction): Adjust.
34412 * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
34413 Adjust. Specify the output vector type.
34414 (vect_pattern_recog_1): Adjust.
34415 * tree-vect-stmts.c (get_same_sized_vectype): New function.
34416 (vectorizable_call): Adjust.
34417 (vectorizable_conversion): Likewise.
34418 (vectorizable_operation): Likewise.
34419 (vectorizable_type_demotion): Likewise.
34420 (vectorizable_type_promotion): Likewise.
34421 (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
34422 the def.
34423 (vect_is_simple_use_1): New function.
34424 (supportable_widening_operation): Get both input and output
34425 vector types.
34426 (supportable_narrowing_operation): Likewise.
34427 * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
34428
34429 2010-04-09 Kai Tietz <kai.tietz@onevision.com>
34430
34431 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
34432 __thiscall and _thiscall as predefined macros.
34433 * config/i386/i386.c (ix86_handle_cconv_attribute): Add
34434 thiscall attribute handling.
34435 (ix86_comp_type_attributes): Likewise.
34436 (ix86_function_regparm): Likewise.
34437 (ix86_return_pops_args): Likewise.
34438 (init_cumulative_args): Likewise.
34439 (find_drap_reg): Likewise.
34440 (ix86_static_chain): Likewise.
34441 (x86_this_parameter): Likewise.
34442 (x86_output_mi_thunk): Likewise.
34443 (ix86_attribute_table): Add description for thiscall attribute.
34444 * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
34445 * doc/extend.texi: Add documentation for thiscall.
34446
34447 2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
34448
34449 PR c++/28584
34450 * c.opt (Wint-to-pointer-cast): Available in C++.
34451 * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
34452
34453 2010-04-08 Eric Botcazou <ebotcazou@adacore.com>
34454
34455 * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
34456 * calls.c (expand_call): Pass the function type to aggregate_value_p.
34457 * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
34458 the target function of a CALL_EXPR. Honor TREE_ADDRESSABLE on the
34459 function type instead. Reorder and simplify checks.
34460
34461 * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
34462
34463 2010-04-08 Jing Yu <jingyu@google.com>
34464 Zdenek Dvorak <ook@ucw.cz>
34465
34466 PR tree-optimization/42720
34467 * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
34468 loop unswitch conditions here from ...
34469 (tree_unswitch_single_loop): ... here.
34470
34471 2010-04-08 Sebastian Pop <sebastian.pop@amd.com>
34472
34473 * tree-if-conv.c: Fix comments and simplify logic.
34474
34475 2010-04-08 Sebastian Pop <sebastian.pop@amd.com>
34476
34477 * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
34478 (tree_if_conversion): Same. Update call to if_convertible_loop_p.
34479 (main_tree_if_conversion): Update call to tree_if_conversion.
34480
34481 2010-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
34482
34483 PR 42485
34484 * doc/invoke.texi (-b,-V): Delete.
34485 * doc/tm.texi: Do not mention -b.
34486 * gcc.c (display_help): Delete -b and -V.
34487 (process_command): Delete -b and -V.
34488 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
34489
34490 2010-04-08 Christian Borntraeger <borntraeger@de.ibm.com>
34491 Wolfgang Gellerich <gellerich@de.ibm.com>
34492
34493 Implement target hook for loop unrolling
34494 * target.h (loop_unroll_adjust): Add a new target hook function.
34495 * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
34496 * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
34497 * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
34498 (s390_loop_unroll_adjust): Implement the new target hook for s390.
34499 * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
34500 target hook.
34501 (decide_unroll_stupid): Likewise.
34502
34503 2010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
34504
34505 PR target/43643
34506 * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
34507
34508 2010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
34509
34510 * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
34511 (Specific, *-*-solaris2*): Likewise.
34512 Don't prefer Sun as over GNU as.
34513
34514 2010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
34515
34516 * config/s390/s390.c (override_options): Adjust the z10 defaults
34517 for max-unroll-times, max-completely-peeled-insns
34518 and max-completely-peel-times.
34519
34520 2010-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
34521
34522 * config/s390/s390.c (s390_expand_movmem): Issue prefetch
34523 instructions for z10.
34524 (s390_expand_setmem): Likewise.
34525 (s390_expand_cmpmem): Likewise.
34526
34527 2010-04-08 Richard Guenther <rguenther@suse.de>
34528
34529 PR tree-optimization/43679
34530 * tree-ssa-pre.c (eliminate): Only propagate copies.
34531
34532 2010-04-08 Jakub Jelinek <jakub@redhat.com>
34533
34534 PR bootstrap/43681
34535 * expr.c (block_move_libcall_safe_for_call_parm): Avoid
34536 set but not used variable warning.
34537
34538 2010-04-08 Wei Guozhi <carrot@google.com>
34539
34540 PR target/41653
34541 * config/arm/arm.c (thumb1_size_rtx_costs): New function.
34542 (arm_size_rtx_costs): Call the new function when optimized for size.
34543
34544 2010-04-08 Jakub Jelinek <jakub@redhat.com>
34545
34546 PR debug/43670
34547 * cfgexpand.c (expand_debug_expr): If for non-NULL offset
34548 op0 is not a MEM, just return NULL instead of assertion
34549 failure.
34550 (discover_nonconstant_array_refs): Don't walk debug stmts.
34551
34552 2010-04-08 Doug Kwan <dougkwan@google.com>
34553
34554 * configure.ac: Recognize gold and do not use its version number
34555 to test ld features.
34556 * configure: Regenerate.
34557
34558 2010-04-08 Maxim Kuvyrkov <maxim@codesourcery.com>
34559
34560 PR middle-end/40815
34561 * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
34562 (negate_value): Move code to push elements to broken_up_substracts ...
34563 (eliminate_plus_minus_pair): ... here. Push operands that have no
34564 negative pair to plus_negates.
34565 (repropagate_negates, init_reassoc, fini_reassoc): Update.
34566
34567 2010-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
34568
34569 * doc/install.texi (Configuration): Move description of
34570 --enable-lto, --with-libelf*, --enable-gold from Java section to
34571 general section.
34572
34573 * doc/generic.texi (Working with declarations)
34574 (Function Properties, C and C++ Trees): Fix typos.
34575 * doc/sourcebuild.texi (Top Level): Likewise.
34576
34577 2010-04-07 Jakub Jelinek <jakub@redhat.com>
34578
34579 PR c/18624
34580 * tree.h (DECL_READ_P): Define.
34581 (struct tree_decl_common): Add decl_read_flag.
34582 * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
34583 a set but not used warning.
34584 (merge_decls): Merge DECL_READ_P flag.
34585 (finish_decl, build_compound_literal): Set DECL_READ_P flag.
34586 (finish_function): Issue -Wunused-but-set-parameter diagnostics.
34587 * c-common.c (handle_used_attribute, handle_unused_attribute):
34588 Likewise.
34589 * c-tree.h (default_function_array_read_conversion, mark_exp_read):
34590 New prototypes.
34591 * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
34592 New functions.
34593 (default_conversion, c_process_expr_stmt): Call mark_exp_read.
34594 * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
34595 c_parser_binary_expression, c_parser_cast_expression,
34596 c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
34597 Call default_function_array_read_conversion instead of
34598 default_function_array_conversion where needed.
34599 (c_parser_unary_expression, c_parser_conditional_expression,
34600 c_parser_postfix_expression_after_primary, c_parser_initelt):
34601 Likewise. Call mark_exp_read where needed.
34602 (c_parser_statement_after_labels, c_parser_asm_operands,
34603 c_parser_typeof_specifier, c_parser_sizeof_expression,
34604 c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
34605 where needed.
34606 * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
34607 New.
34608 * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
34609 (warn_unused_but_set_parameter): Default to warn_unused
34610 && extra_warnings.
34611 * doc/invoke.texi: Document -Wunused-but-set-variable and
34612 -Wunused-but-set-parameter.
34613
34614 * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
34615 used count variable.
34616 * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
34617 when operandN variables aren't used in the body of the expander
34618 or splitter.
34619 * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
34620 FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
34621 * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
34622 * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
34623 FOR_EACH_IMM_USE_ON_STMT): Likewise.
34624 * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
34625 * tree.c (PROCESS_ARG): Likewise.
34626
34627 2010-04-07 Simon Baldwin <simonb@google.com>
34628
34629 * diagnostic.h (diagnostic_override_option_index): New macro to
34630 set a diagnostic's option_index.
34631 * c-tree.h (c_cpp_error): Add warning reason argument.
34632 * opts.c (_warning_as_error_callback): New.
34633 (register_warning_as_error_callback): Store callback for
34634 warnings enabled via enable_warning_as_error.
34635 (enable_warning_as_error): Call callback, minor code tidy.
34636 * opts.h (register_warning_as_error_callback): Declare.
34637 * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
34638 response to -Werror=.
34639 (c_common_init_options): Register warning_as_error_callback in opts.c.
34640 * common.opt: Add -Wno-cpp option.
34641 * c-common.c (struct reason_option_codes_t): Map cpp warning
34642 reason codes to gcc option indexes.
34643 * (c_option_controlling_cpp_error): New function, lookup the gcc
34644 option index for a cpp warning reason code.
34645 * (c_cpp_error): Add warning reason argument, call
34646 c_option_controlling_cpp_error for diagnostic_override_option_index.
34647 * doc/invoke.texi: Document -Wno-cpp.
34648
34649 2010-04-07 Richard Guenther <rguenther@suse.de>
34650
34651 * ipa-reference.c (mark_load): Use get_base_address.
34652 (mark_store): Likewise.
34653
34654 * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
34655 inserting GIMPLE_NOPs into the IL.
34656 * tree-ssa-structalias.c (get_constraint_for_component_ref):
34657 Explicitly strip handled components and indirect references.
34658
34659 * fold-const.c (fold_unary_loc): Do not strip qualifiers when
34660 folding address expressions.
34661 * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
34662 * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
34663 operand_equal_p to compare decls.
34664 (ptr_deref_may_alias_decl_p): Likewise.
34665 * tree-ssa-operands.c (get_asm_expr_operands): Simplify
34666 * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
34667 Handle reversed comparison ops.
34668 * tree-sra.c (asm_visit_addr): Use get_base_address.
34669 * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
34670 * ipa-reference.c (mark_address): Use get_base_address.
34671
34672 2010-04-07 Richard Guenther <rguenther@suse.de>
34673
34674 * tree-ssa-forwprop.c (forward_propagate_addr_expr):
34675 Propagate constants everywhere.
34676
34677 2010-04-07 Jakub Jelinek <jakub@redhat.com>
34678
34679 PR debug/43516
34680 * tree.c (MAX_INT_CACHED_PREC): Define.
34681 (nonstandard_integer_type_cache): New array.
34682 (build_nonstandard_integer_type): Cache results for precision
34683 <= MAX_INT_CACHED_PREC.
34684
34685 2010-04-07 Richard Guenther <rguenther@suse.de>
34686
34687 * doc/invoke.texi (-fargument-alias, -fargument-noalias,
34688 -fargument-noalias-global, -fargument-noalias-anything): Remove.
34689 * common.opt: Likewise.
34690 * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
34691 * alias.c (base_alias_check): Remove flag_argument_noalias handling.
34692 (nonoverlapping_memrefs_p): Likewise.
34693 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
34694 * opts.c (common_handle_option): Handle OPT_fargument_alias,
34695 OPT_fargument_noalias, OPT_fargument_noalias_anything and
34696 OPT_fargument_noalias_global for backward compatibility.
34697
34698 2010-04-07 Richard Guenther <rguenther@suse.de>
34699
34700 PR tree-optimization/43270
34701 * tree-vrp.c (check_array_ref): Fix flexible array member detection.
34702 * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
34703 * tree-ssa-pre.c (phi_translate_1): Adjust.
34704 (fully_constant_expression): Split out vn_reference handling to ...
34705 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
34706 Fold reads from constant strings.
34707 (vn_reference_lookup): Handle fully constant references.
34708 (vn_reference_lookup_pieces): Likewise.
34709 * Makefile.in (expmed.o-warn): Add -Wno-error.
34710
34711 2010-04-07 Martin Jambor <mjambor@suse.cz>
34712
34713 * tree-sra.c (find_param_candidates): Allow scalar va_list types.
34714
34715 2010-04-07 Iain Sandoe <iains@gcc.gnu.org>
34716
34717 PR driver/41594
34718 * gcc.c: Add -static-libstdc++ to list of recognized options.
34719
34720 2010-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
34721
34722 * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
34723
34724 2010-04-07 Richard Guenther <rguenther@suse.de>
34725
34726 PR middle-end/42617
34727 * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
34728 bases build simple mem attributes to retain points-to information.
34729
34730 2010-04-07 Richard Guenther <rguenther@suse.de>
34731
34732 PR middle-end/42617
34733 * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
34734 preserve points-to related information.
34735
34736 2010-04-07 Richard Guenther <rguenther@suse.de>
34737
34738 PR middle-end/42617
34739 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
34740 discard plain indirect references.
34741 * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
34742 * tree.c (tree_nop_conversion): Likewise.
34743
34744 2010-04-07 Dodji Seketeli <dodji@redhat.com>
34745
34746 PR debug/43628
34747 * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
34748
34749 2010-04-06 Kai Tietz <kai.tietz@onevision.com>
34750
34751 * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
34752 calling convention attributes on METHOD_TYPEs for w64 ABI, too.
34753
34754 2010-04-07 Sebastian Pop <sebastian.pop@amd.com>
34755
34756 * tree-if-conv.c: Fix indentation and comments.
34757
34758 2010-04-07 Sebastian Pop <sebastian.pop@amd.com>
34759
34760 * tree-if-conv.c: Sort static functions in topological order.
34761
34762 2010-04-07 Sebastian Pop <sebastian.pop@amd.com>
34763
34764 * tree-if-conv.c: Fix indentation and comments.
34765
34766 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
34767
34768 PR middle-end/43519
34769 * graphite-clast-to-gimple.c (max_signed_precision_type): Use
34770 lang_hooks.types.type_for_size instead of
34771 build_nonstandard_integer_type.
34772 When converting an unsigned type to signed, double its precision.
34773 (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
34774 (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
34775 (graphite_create_new_loop_guard): When ub + 1 wraps around,
34776 use lb <= ub.
34777
34778 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
34779
34780 PR middle-end/43519
34781 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
34782 POINTER_PLUS_EXPR for pointer types.
34783
34784 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
34785
34786 PR middle-end/43519
34787 * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
34788 * graphite-clast-to-gimple.c: Include langhooks.h.
34789 (max_signed_precision_type): New.
34790 (max_precision_type): Takes two types as arguments.
34791 (precision_for_value): New.
34792 (precision_for_interval): New.
34793 (gcc_type_for_interval): New.
34794 (gcc_type_for_value): New.
34795 (gcc_type_for_clast_term): New.
34796 (gcc_type_for_clast_red): New.
34797 (gcc_type_for_clast_bin): New.
34798 (gcc_type_for_clast_expr): Split up into several functions.
34799 (gcc_type_for_clast_eq): Rewritten.
34800 (compute_bounds_for_level): New.
34801 (compute_type_for_level_1): New.
34802 (compute_type_for_level): New.
34803 (gcc_type_for_cloog_iv): Removed.
34804 (gcc_type_for_iv_of_clast_loop): Rewritten.
34805 (graphite_create_new_loop): Compute the lower and upper bound types
34806 with gcc_type_for_clast_expr.
34807 (graphite_create_new_loop_guard): Same.
34808 (find_cloog_iv_in_expr): Removed.
34809 (compute_cloog_iv_types_1): Removed.
34810 (compute_cloog_iv_types): Removed.
34811 (gloog): Do not call compute_cloog_iv_types.
34812 * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
34813 GBB_CLOOG_IV_TYPES.
34814 (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
34815 * sese.h (struct gimple_bb): Removed field cloog_iv_types.
34816 (GBB_CLOOG_IV_TYPES): Removed.
34817
34818 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
34819
34820 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
34821 gimple_phi_num_args of the loop close SSA phi node is equal to 1.
34822 (detect_commutative_reduction): Same.
34823
34824 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
34825
34826 * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
34827 call to verify_ssa. Invoke verify_loop_closed_ssa with an extra
34828 argument.
34829 * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
34830 * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
34831 (rewrite_commutative_reductions_out_of_ssa): Same.
34832 * passes.c (execute_function_todo): Call verify_ssa for every pass
34833 in the LNO. Invoke verify_loop_closed_ssa with an extra argument.
34834 * tree-flow.h (verify_loop_closed_ssa): Update declaration.
34835 * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
34836 with an extra argument.
34837 * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same. Call
34838 verify_ssa only when the extra argument is true.
34839 (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
34840 with an extra argument.
34841 (tree_transform_and_unroll_loop): Same.
34842
34843 2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
34844
34845 * passes.c (execute_function_todo): Call verify_loop_closed_ssa
34846 for all the passes of the LNO having LOOP_CLOSED_SSA.
34847 * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
34848 * tree-loop-distribution.c (pass_loop_distribution): Same.
34849 * tree-pass.h (TODO_verify_loops): Removed.
34850 * tree-ssa-loop.c (pass_tree_loop_init): Same.
34851 (pass_lim): Same.
34852 (pass_tree_unswitch): Same.
34853 (pass_predcom): Same.
34854 (pass_vectorize): Same.
34855 (pass_linear_transform): Same.
34856 (pass_graphite_transforms): Same.
34857 (pass_iv_canon): Same.
34858 (pass_complete_unroll): Same.
34859 (pass_complete_unrolli): Same.
34860 (pass_parallelize_loops): Same.
34861 (pass_loop_prefetch): Same.
34862 (pass_iv_optimize): Same.
34863
34864 2010-04-06 Changpeng Fang <changpeng.fang@amd.com>
34865
34866 PR middle-end/32824
34867 * passes.c (init_optimization_passes): Move pass_lim before
34868 pass_copy_prop and pass_dce_loop.
34869
34870 2010-04-06 Jakub Jelinek <jakub@redhat.com>
34871
34872 PR target/43667
34873 * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
34874 instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
34875 (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
34876 MULTI_* defines for 4 argument vpermil2p* builtins.
34877
34878 2010-04-06 Uros Bizjak <ubizjak@gmail.com>
34879
34880 * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
34881 * config/i386/i386.c (x86_maybe_negate_const_int): New.
34882 (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
34883 * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
34884 *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
34885 *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
34886 *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
34887 Use x86_maybe_negate_const_int to output insn mnemonic.
34888 (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto. Remove overflow
34889 check from instruction predicate. Update comments.
34890 * config/i386/sync.md (sync_add<mode>): Use
34891 x86_maybe_negate_const_int to output insn mnemonic.
34892
34893 2010-04-06 Jan Hubicka <jh@suse.cz>
34894
34895 PR tree-optimization/42906
34896 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
34897 IGNORE_SELF argument. Set visited_control_parents for fully
34898 processed BBs.
34899 (find_obviously_necessary_stmts): Update call of
34900 mark_control_dependent_edges_necessary.
34901 (propagate_necessity): Likewise. Handle PHI edges more curefully.
34902
34903 2010-04-06 Uros Bizjak <ubizjak@gmail.com>
34904
34905 * config/i386/i386.md: Remove comment about 'e' and 'E'
34906 operand modifier.
34907
34908 2010-04-06 Richard Guenther <rguenther@suse.de>
34909
34910 PR tree-optimization/43627
34911 * tree-vrp.c (extract_range_from_unary_expr): Widenings
34912 of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
34913 not varying.
34914
34915 2010-04-06 Jakub Jelinek <jakub@redhat.com>
34916
34917 * BASE-VER: Change to 4.6.0.
34918
34919 PR target/43638
34920 * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
34921 handling.
34922
34923 2010-04-06 Richard Guenther <rguenther@suse.de>
34924
34925 PR middle-end/43661
34926 * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
34927
34928 2010-04-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
34929
34930 * doc/invoke.texi (Optimize Options): Document that LTO
34931 won't remove object access purely due to incompatible
34932 declarations.
34933
34934 2010-04-04 Matthias Klose <doko@ubuntu.com>
34935
34936 * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
34937 Initialize variable.
34938
34939 2010-04-03 Richard Guenther <rguenther@suse.de>
34940
34941 PR middle-end/42509
34942 * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
34943 require a non-NULL MEM_OFFSET.
34944
34945 2010-04-02 Steven Bosscher <steven@gcc.gnu.org>
34946
34947 * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
34948 basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
34949 collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
34950 config/alpha/predicates.md, config/arm/arm.md,
34951 config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
34952 config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
34953 config/darwin9.h, config/darwin.c, config/darwin.h,
34954 config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
34955 config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
34956 config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
34957 config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
34958 config/mips/mips.md, config/mn10300/mn10300.c,
34959 config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
34960 config/rs6000/aix.h, config/rs6000/dfp.md,
34961 config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
34962 config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
34963 config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
34964 config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
34965 config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
34966 config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
34967 c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
34968 diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
34969 doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
34970 doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
34971 fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
34972 gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
34973 graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
34974 graphite-dependences.c, graphite-poly.c, graphite-poly.h,
34975 graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
34976 graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
34977 intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
34978 ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
34979 ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
34980 loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
34981 objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
34982 opt-functions.awk, opth-gen.awk, params.def, passes.c,
34983 postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
34984 rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
34985 store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
34986 tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
34987 tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
34988 tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
34989 tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
34990 tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
34991 tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
34992 tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
34993 tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
34994 tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
34995 tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
34996 unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
34997
34998 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
34999
35000 PR other/43620
35001 * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
35002 * aclocal.m4: Regenerate.
35003
35004 2010-04-02 Richard Guenther <rguenther@suse.de>
35005
35006 PR tree-optimization/43629
35007 * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
35008 if we have seen a constant value.
35009
35010 2010-04-02 Joseph Myers <joseph@codesourcery.com>
35011
35012 * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
35013
35014 2010-04-02 Richard Earnshaw <rearnsha@arm.com>
35015
35016 PR target/43469
35017 * arm.c (legitimize_tls_address): Adjust call to
35018 gen_tls_load_dot_plus_four.
35019 (arm_note_pic_base): New function.
35020 (arm_cannot_copy_insn_p): Use it.
35021 * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
35022 constraint.
35023
35024 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
35025
35026 PR bootstrap/43531
35027
35028 Revert:
35029 2009-09-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
35030
35031 * Makefile.in ($(out_object_file)): Depend on
35032 gt-$(basename $(notdir $(out_file))).h.
35033
35034 2010-04-01 Ralf Corsépius <ralf.corsepius@rtems.org>
35035
35036 * config.gcc (lm32-*-rtems*): Add t-lm32.
35037
35038 2010-04-01 Joel Sherrill <joel.sherrill@oarcorp.com>
35039
35040 * config.gcc: Add lm32-*-rtems*.
35041 * config/lm32/rtems.h: New file.
35042
35043 2010-04-01 Dave Korn <dave.korn.cygwin@gmail.com>
35044
35045 PR target/42609
35046 * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
35047
35048 2010-04-01 Jakub Jelinek <jakub@redhat.com>
35049
35050 * dwarf2out.c (output_compilation_unit_header): For
35051 -gdwarf-4 use version 4 instead of version 3.
35052 (output_line_info): For version 4 and above emit additional
35053 maximum ops per insn header field.
35054 (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
35055
35056 * dwarf2out.c (is_c_family, is_java): Remove.
35057 (lower_bound_default): New function.
35058 (add_bound_info, gen_descr_array_type_die): Use it.
35059
35060 2010-04-01 Dodji Seketeli <dodji@redhat.com>
35061
35062 PR debug/43325
35063 * dwarf2out.c (gen_variable_die): Allow debug info for variable
35064 re-declaration when it happens in a function.
35065
35066 2010-04-01 Aldy Hernandez <aldyh@redhat.com>
35067
35068 * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
35069 (cgraph_remove_function_insertion_hook): Same.
35070 (cgraph_call_function_insertion_hooks): Same.
35071
35072 2010-04-01 Richard Guenther <rguenther@suse.de>
35073
35074 PR middle-end/43614
35075 * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
35076 and TREE_THIS_VOLATILE.
35077 (copy_ref_info): Likewise.
35078 * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
35079 * tree.c (build6_stat): Ignore side-effects of all but arg5
35080 for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of
35081 TARGET_MEM_REF.
35082
35083 2010-04-01 Richard Guenther <rguenther@suse.de>
35084
35085 PR tree-optimization/43607
35086 * ipa-type-escape.c (check_call): Do not access non-existing
35087 arguments.
35088
35089 2010-04-01 Richard Guenther <rguenther@suse.de>
35090
35091 PR middle-end/43602
35092 Revert
35093 2010-03-30 Seongbae Park <seongbae.park@gmail.com>
35094 Jack Howarth <howarth@bromo.med.uc.edu>
35095
35096 * tree-profile.c (tree_init_ic_make_global_vars): Make static
35097 variables TLS.
35098
35099 2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35100
35101 * doc/install.texi (Prerequisites): Document libelf usability on
35102 IRIX 5/6 and Solaris 2.
35103 (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
35104 Update GNU as, GNU ld requirements.
35105 (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
35106 Document Sun Studio compiler download.
35107 Update and simplify as, ld recommendations.
35108 (Specific, *-*-solaris2.7): Note obsoletion, removal.
35109
35110 2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35111
35112 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
35113 with_tune_32 to pentium4.
35114
35115 2010-04-01 Uros Bizjak <ubizjak@gmail.com>
35116
35117 * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
35118
35119 2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35120
35121 * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
35122 obsoletion, removal.
35123 Update IDO URL.
35124 Document GNU as requirement.
35125 Update configure requirements.
35126 (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
35127 Recomment IRIX 6.5.18+.
35128 Document IDF/IDL requirement.
35129 Document GNU as requirement.
35130 Document GNU ld bootstrap failure.
35131 Remove freeware.sgi.com reference.
35132
35133 2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35134
35135 * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
35136 UNIX V4.0, V5.0 obsoletion, removal.
35137 Remove --with-gc=simple reference.
35138 Update VM requirements during bootstrap.
35139 Remove -oldas bootstrap description.
35140 Update binutils reference.
35141 Remove comparison failure note.
35142
35143 2010-03-31 Richard Guenther <rguenther@suse.de>
35144 Zdenek Dvorak <ook@ucw.cz>
35145 Sebastian Pop <sebastian.pop@amd.com>
35146
35147 PR middle-end/43464
35148 * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
35149 with multiple arguments.
35150 (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
35151
35152 2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
35153
35154 * graphite-dependences.c (print_pddr): Call print_pdr with an
35155 extra argument.
35156 * graphite-poly.c (debug_pdr): Add an extra argument for the
35157 verbosity level.
35158 (print_pdr): Same.
35159 (print_pbb_domain): Same.
35160 (print_pbb): Same.
35161 (print_scop_context): Same.
35162 (print_scop): Same.
35163 (print_cloog): Same.
35164 (debug_pbb_domain): Same.
35165 (debug_pbb): Same.
35166 (print_pdrs): Same.
35167 (debug_pdrs): Same.
35168 (debug_scop_context): Same.
35169 (debug_scop): Same.
35170 (debug_cloog): Same.
35171 (print_scop_params): Same.
35172 (debug_scop_params): Same.
35173 (print_iteration_domain): Same.
35174 (print_iteration_domains): Same.
35175 (debug_iteration_domain): Same.
35176 (debug_iteration_domains): Same.
35177 (print_scattering_function): Same.
35178 (print_scattering_functions): Same.
35179 (debug_scattering_function): Same.
35180 (debug_scattering_functions): Same.
35181 * graphite-poly.h (debug_pdr): Update declaration.
35182 (print_pdr): Same.
35183 (print_pbb_domain): Same.
35184 (print_pbb): Same.
35185 (print_scop_context): Same.
35186 (print_scop): Same.
35187 (print_cloog): Same.
35188 (debug_pbb_domain): Same.
35189 (debug_pbb): Same.
35190 (print_pdrs): Same.
35191 (debug_pdrs): Same.
35192 (debug_scop_context): Same.
35193 (debug_scop): Same.
35194 (debug_cloog): Same.
35195 (print_scop_params): Same.
35196 (debug_scop_params): Same.
35197 (print_iteration_domain): Same.
35198 (print_iteration_domains): Same.
35199 (debug_iteration_domain): Same.
35200 (debug_iteration_domains): Same.
35201 (print_scattering_function): Same.
35202 (print_scattering_functions): Same.
35203 (debug_scattering_function): Same.
35204 (debug_scattering_functions): Same.
35205
35206 2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
35207
35208 * graphite-poly.c (print_scattering_function_1): New.
35209 (print_scattering_function): Call it.
35210 (print_scop_params): Remove spaces at the end of lines.
35211 (print_cloog): New.
35212 (debug_cloog): New.
35213 * graphite-poly.h (print_cloog): Declared.
35214 (debug_cloog): Declared.
35215
35216 2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
35217
35218 * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
35219 in loop->header.
35220 * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
35221 * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
35222 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
35223 to switch between adding the IV bump in loop->latch or in loop->header.
35224
35225 2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
35226
35227 * graphite-poly.c (print_scattering_function): Pretty print following
35228 the scoplib format.
35229 (print_pdr): Same.
35230 (print_pbb_domain): Same.
35231 (dump_gbb_cases): Same.
35232 (dump_gbb_conditions): Same.
35233 (print_pdrs): Same.
35234 (print_pbb): Same.
35235 (print_scop_params): Same.
35236 (print_scop_context): Same.
35237 (print_scop): Same.
35238 (print_pbb_body): New.
35239 (lst_indent_to): New.
35240 (print_lst): Start new lines with a #.
35241 * graphite-poly.h (pbb_bb): New.
35242 (pbb_index): Use pbb_bb.
35243 * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
35244 disjuncts.
35245 * tree-data-ref.c (dump_data_reference): Start new lines with a #.
35246
35247 2010-03-31 Jakub Jelinek <jakub@redhat.com>
35248
35249 * dwarf2out.c (size_of_die): For -gdwarf-4 use
35250 uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
35251 and 0 instead of 1 for dw_val_class_flag.
35252 (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
35253 dw_val_class_range_list, dw_val_class_loc_list,
35254 dw_val_class_lineptr and dw_val_class_macptr, use
35255 DW_FORM_flag_present for dw_val_class_flag and
35256 DW_FORM_exprloc for dw_val_class_loc.
35257 (output_die): For -gdwarf-4 print dw_val_class_loc
35258 size as uleb128 instead of 1 or 2 bytes and don't print
35259 anything for dw_val_class_flag.
35260
35261 * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
35262 instead of cselib_lookup following by tweaking locs->setting_insn.
35263
35264 PR bootstrap/43596
35265 * cselib.c (cselib_process_insn): Clear cselib_current_insn
35266 even before returning from label, setjmp call or volatile asm
35267 handling.
35268
35269 2010-03-31 Richard Guenther <rguenther@suse.de>
35270
35271 PR middle-end/43600
35272 * cgraphunit.c (cgraph_output_in_order): Do not allocate
35273 temporary data on stack.
35274
35275 2010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35276
35277 * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
35278 (PUSHSECTION_ASM_OP): Remove.
35279 (POPSECTION_ASM_OP): Remove.
35280 (PUSHSECTION_FORMAT): Remove.
35281 * config/sol2.h (PUSHSECTION_FORMAT): Define.
35282 * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
35283 * config/sol2.c (solaris_output_init_fini): Use it.
35284
35285 2010-03-31 Jie Zhang <jie@codesourcery.com>
35286
35287 PR 43574
35288 * opt-functions.awk (var_type_struct): Use signed char type
35289 for simple variables.
35290
35291 2010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35292
35293 * config/sol2.c: Include output.h.
35294 (solaris_assemble_visibility): New function.
35295 * config/t-sol2 (sol2.o): Add output.h dependency.
35296 * config/sol2-protos.h (solaris_assemble_visibility): Declare.
35297 * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
35298 Redefine.
35299
35300 2010-03-31 Jakub Jelinek <jakub@redhat.com>
35301
35302 PR target/43580
35303 * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
35304 V2SImode or XFmode on PRE_DEC.
35305
35306 PR debug/43557
35307 * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
35308 BLKmode.
35309
35310 2010-03-31 Jie Zhang <jie@codesourcery.com>
35311
35312 PR 43562
35313 * reload.h (caller_save_initialized_p): Declare.
35314 * toplev.c (backend_init_target): Don't call
35315 init_caller_save but set caller_save_initialized_p to false.
35316 * caller-save.c (caller_save_initialized_p): Define.
35317 (init_caller_save): Check caller_save_initialized_p.
35318 * ira.c (ira): Call init_caller_save if flag_caller_saves.
35319
35320 2010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35321
35322 PR target/39048
35323 * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
35324 and soft-fp/t-softfp to tmake_file.
35325 * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
35326 (LIBGCC2_TF_CEXT): Define.
35327 (TF_SIZE): Define.
35328
35329 2010-03-30 Alexandre Oliva <aoliva@redhat.com>
35330
35331 PR debug/42977
35332 * cselib.c (n_useless_values): Document handling of debug locs.
35333 (n_useless_debug_values, n_debug_values): New variables.
35334 (new_elt_loc_list): Don't add to debug values, keep count.
35335 (promote_debug_loc): New.
35336 (cselib_reset_table): Zero new variables.
35337 (entry_and_rtx_equal_p): Promote debug locs.
35338 (discard_useless_locs): Increment n_useless_debug_values for
35339 debug values.
35340 (remove_useless_values): Adjust n_useless_values and n_debug_values
35341 with n_useless_debug_values.
35342 (add_mem_for_addr): Promote debug locs.
35343 (cselib_lookup_mem): Likewise.
35344 (cselib_lookup_addr): Renamed to...
35345 (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call...
35346 (cselib_log_lookup): ... this. Turn into...
35347 (cselib_lookup_addr): ... new wrapper.
35348 (cselib_lookup_from_insn): New.
35349 (cselib_invalidate_regno): Increment n_useless_debug_values for
35350 debug values.
35351 (cselib_invalidate_mem): Likewise.
35352 (cselib_process_insn): Take n_deleted and n_debug_values into
35353 account to guard remove_useless_value call.
35354 (cselib_finish): Zero n_useless_debug_values.
35355 * cselib.h (cselib_lookup_from_insn): Declare.
35356 * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
35357 (sched_analyze_2): Likewise.
35358
35359 2010-03-30 Jakub Jelinek <jakub@redhat.com>
35360
35361 * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
35362 functions.
35363 (adjust_mems): Replace narrowing SUBREG of expression containing
35364 just PLUS, MINUS, MULT and ASHIFT of registers and constants
35365 with operations in the narrower mode.
35366
35367 PR debug/43593
35368 * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
35369 regs_invalidated_by_call instead all call_used_reg_set registers.
35370
35371 2010-03-30 Sebastian Pop <sebastian.pop@amd.com>
35372
35373 PR middle-end/43430
35374 * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
35375 pointer comparisons with types_compatible_p.
35376 * tree-vect-stmts.c (vectorizable_call): Same.
35377 (vectorizable_condition): Same.
35378
35379 2010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
35380
35381 * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
35382 stack check if the mask would be zero.
35383
35384 2010-03-30 Seongbae Park <seongbae.park@gmail.com>
35385 Jack Howarth <howarth@bromo.med.uc.edu>
35386
35387 * tree-profile.c (tree_init_ic_make_global_vars): Make static
35388 variables TLS.
35389
35390 2010-03-30 Joseph Myers <joseph@codesourcery.com>
35391
35392 PR other/25232
35393 * libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2
35394 and __unordtf2.
35395 * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
35396 Include ___unordxf2 and ___unordtf2.
35397 * config/i386/libgcc-glibc.ver: Do not define inheritance from
35398 GCC_4.4.0 here.
35399
35400 2010-03-30 Tarik Graba <tarik.graba@telecom-paristech.fr>
35401
35402 * config/lm32/t-lm32: New file.
35403 * config.gcc: Use the above file when targetting lm32.
35404
35405 2010-03-28 Duncan Sands <baldrick@free.fr>
35406
35407 * Makefile.in (PLUGIN_HEADERS): Add except.h.
35408
35409 2010-03-29 Sebastian Pop <sebastian.pop@amd.com>
35410
35411 PR middle-end/43431
35412 * tree-vect-loop.c (vect_estimate_min_profitable_iters):
35413 Improve vectorization cost model diagnostic.
35414
35415 2010-03-29 Sebastian Pop <sebastian.pop@amd.com>
35416
35417 PR middle-end/43436
35418 * tree-vect-data-refs.c (vect_analyze_data_refs): When
35419 compute_data_dependences_for_loop returns false, early exit
35420 and output an extra diagnostic for the failed data reference
35421 analysis.
35422
35423 2010-03-29 Richard Guenther <rguenther@suse.de>
35424
35425 PR tree-optimization/43560
35426 * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
35427 (can_sm_ref_p): Treat stores to readonly locations as trapping.
35428
35429 2010-03-29 Jie Zhang <jie@codesourcery.com>
35430
35431 PR 43564
35432 * toplev.c (process_options): Set optimization_default_node
35433 and optimization_current_node.
35434 * opts.c (decode_options): Don't set optimization_default_node
35435 and optimization_current_node.
35436
35437 2010-03-29 Ralf Corsépius <ralf.corsepius@rtems.org>
35438
35439 * config/rtems.h: Abandon -qrtems_debug.
35440
35441 2010-03-28 Jan Hubicka <jh@suse.cz>
35442
35443 PR tree-optimization/43505
35444 * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
35445 map should not be copied.
35446
35447 2010-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
35448
35449 PR middle-end/41674
35450 * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
35451 cdtors, set DECL_PRESERVE_P.
35452 * ipa.c (cgraph_externally_visible_p): Return true if declaration
35453 should be preseved.
35454
35455 2010-03-27 Uros Bizjak <ubizjak@gmail.com>
35456
35457 PR tree-optimization/43528
35458 * stor-layout.c (place_field): Check that constant fits into
35459 unsigned HWI when skipping calculation of MS bitfield layout.
35460
35461 2010-03-27 Jan Hubicka <jh@suse.cz>
35462
35463 PR middle-end/43391
35464 * varasm.c (make_decl_rtl): Deal with COMMON flag to make
35465 notice_global_symbol work.
35466
35467 2010-03-27 Jakub Jelinek <jakub@redhat.com>
35468
35469 * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
35470 instead of dwarf2out_decl.
35471 (struct var_loc_node): Remove section_label field.
35472 (dwarf2out_function_decl): New function.
35473 (dwarf2out_var_location): Don't set section_label field.
35474 (dwarf2out_begin_function): Don't empty decl_loc_table here.
35475
35476 2010-03-26 Michael Meissner <meissner@linux.vnet.ibm.com>
35477
35478 PR tree-optimization/43544
35479 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
35480 First argument for builtin vectorized function hook is now a
35481 tree to be able to distinguish between machine specific and
35482 standard builtins.
35483 * targhooks.c (default_builtin_vectorized_function): Ditto.
35484 * targhooks.h (default_builtin_vectorized_function): Ditto.
35485 * target.h (struct gcc_target): Ditto.
35486 * tree-vect-stmts.c (vectorizable_function): Ditto.
35487 * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
35488 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
35489 Ditto.
35490
35491 2010-03-26 Joseph Myers <joseph@codesourcery.com>
35492
35493 PR c/43381
35494 * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
35495 nested binding iff it is a FUNCTION_DECL.
35496 (store_parm_decls_newstyle): Pass nested=true to bind for
35497 FUNCTION_DECLs amongst parameters.
35498
35499 2010-03-26 Jakub Jelinek <jakub@redhat.com>
35500
35501 * var-tracking.c (vt_expand_loc_callback): Don't run
35502 cselib_expand_value_rtx_cb in dummy mode if
35503 cselib_dummy_expand_value_rtx_cb returned false.
35504
35505 * var-tracking.c (emit_note_insn_var_location): For one part
35506 notes with offset 0, don't add EXPR_LIST around the location.
35507 * dwarf2out.c (loc_descriptor, dw_loc_list_1,
35508 add_location_or_const_value_attribute): Adjust for that change.
35509
35510 PR debug/43540
35511 * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
35512 into first operand and location into second.
35513 (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
35514 dw_cfi_oprnd_loc for DW_CFA_expression.
35515 (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
35516 (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
35517 assume first argument is regnum and second argument is location.
35518
35519 2010-03-26 Uros Bizjak <ubizjak@gmail.com>
35520
35521 PR target/42113
35522 * config/alpha/alpha.md (*cmp_sadd_si): Change mode
35523 of scratch register to DImode. Split to DImode comparison operator.
35524 Use SImode subreg of scratch register in the multiplication.
35525 (*cmp_sadd_sidi): Ditto.
35526 (*cmp_ssub_si): Ditto.
35527 (*cmp_ssub_sidi): Ditto.
35528
35529 2010-03-26 Uros Bizjak <ubizjak@gmail.com>
35530
35531 PR target/43524
35532 * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
35533 Remove invalid assert and wrong comment.
35534
35535 2010-03-26 Jakub Jelinek <jakub@redhat.com>
35536
35537 PR debug/43516
35538 * flags.h (final_insns_dump_p): New extern.
35539 * final.c (final_insns_dump_p): New variable.
35540 (rest_of_clean_state): Set it before -fdump-final-insns=
35541 dumping, clear afterwards.
35542 * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
35543 MEM_ALIAS_SET on MEMs.
35544
35545 2010-03-26 David S. Miller <davem@davemloft.net>
35546
35547 * configure.ac: Fix sparc GOTDATA_OP bug check.
35548 * configure: Rebuild.
35549
35550 2010-03-26 Alan Modra <amodra@gmail.com>
35551
35552 * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
35553
35554 2010-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35555
35556 * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
35557 TLS_SECTION_ASM_FLAG.
35558
35559 2010-03-25 Jakub Jelinek <jakub@redhat.com>
35560
35561 PR bootstrap/43511
35562 * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
35563 Clear first_function_block_is_cold.
35564
35565 PR c/43385
35566 * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
35567 argument if the argument is truth_value_p.
35568
35569 2010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com>
35570
35571 * config/rs6000/constraints.md: Update copyright year for my changes.
35572
35573 PR target/43484
35574 * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
35575 used in reg+reg addressing, swap registers.
35576
35577 2010-03-24 Jakub Jelinek <jakub@redhat.com>
35578
35579 PR debug/43293
35580 * target.h (struct gcc_target): Add code_end hook.
35581 * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
35582 if not yet defined.
35583 (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
35584 * toplev.c (compile_file): Call targetm.asm_out.code_end
35585 hook before unwind info/debug info output.
35586 * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
35587 * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
35588 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
35589 * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
35590 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
35591 * config/i386/i386.c (ix86_file_end): Renamed to...
35592 (ix86_code_end): ... this. Make static. Don't call
35593 file_end_indicate_exec_stack. Emit unwind info using
35594 final_start_function/final_end_function.
35595 (darwin_x86_file_end): Remove.
35596 (TARGET_ASM_CODE_END): Define.
35597 * config/i386/i386.h (TARGET_ASM_FILE_END,
35598 NEED_INDICATE_EXEC_STACK): Don't define.
35599 * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
35600 (TARGET_ASM_FILE_END): Define to darwin_file_end.
35601 * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
35602 * doc/tm.texi (TARGET_ASM_CODE_END): Document.
35603
35604 PR target/43498
35605 * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
35606 at the beginning and final_end_function at the end.
35607 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
35608
35609 2010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35610
35611 * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
35612 and Sun as TLS syntax.
35613 (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
35614 * configure: Regenerate.
35615 * config.in: Regenerate.
35616 * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
35617 (default_elf_asm_named_section): Use it.
35618 * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
35619 (i386_output_dwarf_dtprel): Likewise.
35620 (output_addr_const_extra): Likewise.
35621 (output_pic_addr_const): Lowercase @GOTTPOFF.
35622 (output_addr_const_extra): Likewise.
35623 (output_pic_addr_const): Lowercase @GOTNTPOFF.
35624 (output_addr_const_extra): Likewise.
35625 (output_pic_addr_const): Lowercase @INDNTPOFF.
35626 (output_addr_const_extra): Likewise.
35627 (output_pic_addr_const): Lowercase @NTPOFF.
35628 (output_addr_const_extra): Likewise.
35629 (output_pic_addr_const): Lowercase @TPOFF.
35630 (output_addr_const_extra): Likewise.
35631 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
35632 (*tls_global_dynamic_64): Likewise.
35633 (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
35634 (*tls_local_dynamic_base_64): Lowercase @TLSLD.
35635
35636 * defaults.h (TLS_COMMON_ASM_OP): Provide default.
35637 (ASM_OUTPUT_TLS_COMMON): Use it.
35638 * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
35639
35640 PR target/38118
35641 * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
35642 * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
35643 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
35644 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
35645 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
35646 (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
35647
35648 2010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35649
35650 * config/i386/i386.c (override_options): Don't accept
35651 -mtls-dialect=sun any longer.
35652 * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
35653 * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
35654 (*tls_local_dynamic_base_32_sun): Likewise.
35655 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
35656
35657 2010-03-24 Jakub Jelinek <jakub@redhat.com>
35658
35659 PR debug/43508
35660 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
35661 VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
35662
35663 PR debug/43479
35664 * ira.c (adjust_cleared_regs): New function.
35665 (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
35666
35667 PR debug/19192
35668 PR debug/43479
35669 * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
35670 from gimple_block.
35671 * expr.c (expand_expr_real): Restore previous
35672 curr_insn_source_location and curr_insn_block after
35673 expand_expr_real_1 call.
35674 (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
35675 instead of expand_expr_real_1.
35676
35677 2010-03-23 Vladimir Makarov <vmakarov@redhat.com>
35678
35679 PR rtl-optimization/43413
35680 * ira-color.c (setup_allocno_available_regs_num): Count prohibited
35681 hard regs too.
35682
35683 2010-03-22 James E. Wilson <wilson@codesourcery.com>
35684
35685 PR target/43348
35686 * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
35687 call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
35688
35689 2010-03-22 H.J. Lu <hongjiu.lu@intel.com>
35690
35691 * config/i386/i386.c (ix86_target_string): Add -mfma.
35692 Fix a typo in comment.
35693
35694 2010-03-22 Mike Stump <mikestump@comcast.net>
35695
35696 PR target/23071
35697 * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
35698 Don't overly align based upon packed packed fields.
35699
35700 2010-03-22 Jason Merrill <jason@redhat.com>
35701
35702 * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
35703 Use () rather than [], and move before the element type.
35704
35705 2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35706
35707 * doc/configfiles.texi (Configuration Files): Removed
35708 fixinc/Makefile*, intl/Makefile.*.
35709 * doc/makefile.texi: Fixed markup. Abstract from version
35710 control system used.
35711 (Makefile): Removed obsolete java/parse.y example.
35712 * doc/sourcebuild.texi: Likewise.
35713 (Top Level): Added config, gnattools, libdecnumber, libgcc,
35714 libgomp, libssp. Removed fastjar.
35715 (Miscellaneous Docs): Clarify location.
35716 Added COPYING3, COPYING3.LIB.
35717 (Front End Directory): Moved Make-lang.in entry to new subsubsection.
35718
35719 2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35720
35721 PR target/38085
35722 * config/i386/i386.c (x86_function_profiler)
35723 [!NO_PROFILE_COUNTERS]: Fix typo.
35724 * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
35725 instead of callq.
35726
35727 2010-03-22 Janis Johnson <janis187@us.ibm.com>
35728 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35729
35730 * doc/sourcebuild.texi (Test Directives): Split into six
35731 subsections, with most of the current text in new subsections
35732 Directives, Selectors, and Final Actions.
35733 (Directives): Split list of test directives into multiple
35734 subsubsections.
35735 (Selectors): Describe use and syntax of selectors.
35736 (Effective-Target Keywords): Describe all existing keywords.
35737 (Add Options): Describe features for dg-add-options.
35738 (Require Support): Describe variants of dg-require-support.
35739 (Final Actions): Describe commands to use in dg-final.
35740
35741 2010-03-22 Michael Matz <matz@suse.de>
35742
35743 PR middle-end/43475
35744 * recog.c (validate_replace_rtx_group): Replace also in
35745 REG_EQUAL and REG_EQUIV notes.
35746
35747 2010-03-22 Richard Guenther <rguenther@suse.de>
35748
35749 PR tree-optimization/43390
35750 * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
35751 sure vector extracts are type correct.
35752
35753 2010-03-22 Richard Guenther <rguenther@suse.de>
35754
35755 PR middle-end/40106
35756 * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
35757 x * sqrt (x) even when optimizing for size if the target
35758 has native support for sqrt.
35759
35760 2010-03-22 Jakub Jelinek <jakub@redhat.com>
35761
35762 * varasm.c (make_decl_rtl_for_debug): Also clear
35763 flag_mudflap for the duration of make_decl_rtl call.
35764
35765 PR debug/43443
35766 * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
35767 locs from preserved VALUEs.
35768
35769 2010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
35770
35771 PR middle-end/42718
35772 * pa.md (movmemsi): Set align to one if zero.
35773 (movmemdi): Likewise.
35774
35775 2010-03-21 Richard Earnshaw <rearnsha@arm.com>
35776
35777 PR target/42321
35778 * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
35779 with their corresponding prologue pushes.
35780
35781 2010-03-20 Andrew Pinski <pinskia@gmail.com>
35782
35783 PR target/43156
35784 * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
35785 at the begining or end.
35786 (spu_expand_epilogue): Likewise.
35787
35788 2010-03-20 Richard Guenther <rguenther@suse.de>
35789
35790 PR rtl-optimization/43438
35791 * combine.c (make_extraction): Properly zero-/sign-extend an
35792 extraction of the low part of a CONST_INT. Also handle
35793 CONST_DOUBLE.
35794
35795 2010-03-19 Mike Stump <mikestump@comcast.net>
35796
35797 * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
35798 * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
35799 (override_options): Use SUBTARGET32_DEFAULT_CPU.
35800
35801 2010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
35802
35803 PR c/43211
35804 * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
35805 an error.
35806
35807 2010-03-19 Bernd Schmidt <bernds@codesourcery.com>
35808
35809 PR rtl-optimization/42258
35810 * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
35811 use that may match DEF.
35812
35813 PR target/40697
35814 * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
35815 the cost of loading the constant rather than assuming
35816 COSTS_N_INSNS (1).
35817 * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
35818 outer code is AND, do the same tests as the andsi3 expander and
35819 return COSTS_N_INSNS (1) if and is cheap.
35820
35821 * optabs.c (avoid_expensive_constant): Fix formatting.
35822
35823 2010-03-19 Michael Matz <matz@suse.de>
35824
35825 PR c++/43116
35826 * attribs.c (decl_attributes): When rebuilding a function pointer
35827 type use the same qualifiers as the original pointer type.
35828
35829 2010-03-19 Martin Jambor <mjambor@suse.cz>
35830
35831 * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
35832 and is_gimple_ip_invariant_address.
35833
35834 2010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
35835
35836 Revert
35837 2009-10-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
35838
35839 * config/arm/arm.c (arm_override_options): Turn off
35840 flag_dwarf2_cfi_asm for AAPCS variants.
35841
35842 2010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
35843
35844 PR target/43399
35845 * config/arm/arm.c (emit_multi_reg_push): Update comments.
35846 Use PRE_MODIFY instead of PRE_DEC.
35847 (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
35848 (vfp_emit_fstmd): Likewise.
35849
35850 2010-03-19 Michael Matz <matz@suse.de>
35851
35852 PR target/43305
35853 * builtins.c (expand_builtin_interclass_mathfn,
35854 expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
35855 if that fails.
35856
35857 2010-03-19 Richard Guenther <rguenther@suse.de>
35858
35859 PR tree-optimization/43415
35860 * tree-ssa-pre.c (phi_translate): Split out worker to ...
35861 (phi_translate_1): ... this.
35862 (phi_translate): Move all caching here. Cache all NARY
35863 and REFERENCE translations.
35864
35865 2010-03-19 David S. Miller <davem@davemloft.net>
35866
35867 With help from Eric Botcazou.
35868 * config/sparc/sparc.c: Include dwarf2out.h.
35869 (emit_pic_helper): Delete.
35870 (pic_helper_symbol_name): Delete.
35871 (pic_helper_emitted_p): Delete.
35872 (pic_helper_needed): New.
35873 (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
35874 (get_pc_thunk_name): New.
35875 (load_pic_register): Remove 'delay_pic_helper' arg. Use
35876 get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
35877 Set pic_helper_needed to true. Don't call emit_pic_helper.
35878 (sparc_expand_prologue): Update load_pic_register call.
35879 (sparc_output_mi_thunk): Likewise.
35880 (sparc_file_end): Emit a hidden comdat symbol for the PIC
35881 thunk if possible. Output CFI information as needed.
35882
35883 2010-03-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
35884 Jack Howarth <howarth@bromo.med.uc.edu>
35885
35886 PR target/36399
35887 * config/i386/i386.h: Fix ABI on darwin x86-32.
35888
35889 2010-03-18 Aldy Hernandez <aldyh@redhat.com>
35890
35891 * tree.h: Declare make_decl_rtl_for_debug.
35892 * varasm.c (make_decl_rtl_for_debug): New.
35893 * dwarf2out.c (rtl_for_decl_location): Call it.
35894 * cfgexpand.c (expand_debug_expr): Call it.
35895
35896 2010-03-18 Jakub Jelinek <jakub@redhat.com>
35897
35898 PR bootstrap/43399
35899 * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
35900 mem_mode.
35901
35902 PR bootstrap/43403
35903 * var-tracking.c (vt_init_cfa_base): Do nothing if
35904 cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
35905
35906 2010-03-18 Alexandre Oliva <aoliva@redhat.com>
35907
35908 PR debug/42873
35909 * var-tracking.c (canonicalize_vars_star): New.
35910 (dataflow_post_merge_adjust): Use it.
35911
35912 2010-03-18 Jakub Jelinek <jakub@redhat.com>
35913
35914 PR debug/43058
35915 * var-tracking.c (non_suitable_const): New function.
35916 (add_uses): For DEBUG_INSNs with constants, don't record any
35917 value, instead just the constant value itself.
35918 (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
35919 is not VAR_LOC_UNKNOWN_P, set var to the constant.
35920 (emit_notes_in_bb): Likewise.
35921 (emit_note_insn_var_location): For onepart variables if
35922 cur_loc is a VOIDmode constant, use DECL_MODE.
35923
35924 2010-03-18 Martin Jambor <mjambor@suse.cz>
35925
35926 PR middle-end/42450
35927 * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
35928 * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
35929 all non-clones. Moved call redirection...
35930 (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
35931 (cgraph_materialize_all_clones): Dispose of all
35932 combined_args_to_skip bitmaps.
35933 (verify_cgraph_node): Do not check for edges pointing to wrong
35934 nodes in inline clones.
35935 * tree-inline.c (copy_bb): Call
35936 cgraph_redirect_edge_call_stmt_to_callee.
35937 * ipa.c (cgraph_remove_unreachable_nodes): Call
35938 cgraph_node_remove_callees even when there are used clones.
35939
35940 2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
35941
35942 * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
35943
35944 2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
35945
35946 PR target/43383
35947 * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
35948 for 32bit.
35949
35950 2010-03-18 Michael Matz <matz@suse.de>
35951
35952 PR middle-end/43419
35953 * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
35954 into sqrt(x) if we need to preserve signed zeros.
35955
35956 2010-03-18 Steven Bosscher <steven@gcc.gnu.org>
35957 Eric Botcazou <ebotcazou@adacore.com>
35958
35959 PR rtl-optimization/43360
35960 * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
35961 note if we don't know its invariant status.
35962
35963 2010-03-18 Michael Matz <matz@suse.de>
35964
35965 PR tree-optimization/43402
35966 * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
35967 PHI chains of ssa names registered for update.
35968
35969 2010-03-17 Peter Bergner <bergner@vnet.ibm.com>
35970
35971 PR target/42427
35972 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
35973 non-offsettable and pre_modify update addressing.
35974 * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
35975 and "2" alternatives "#".
35976 (*movdd_softfloat32): Make all alternatives "#";
35977 * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
35978 (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
35979 (*movdf_softfloat32): Make all alternatives "#";
35980 (movdi): Use the new DIFD mode iterator to create a common splitter
35981 for movdi, movdf and movdd patterns.
35982
35983 2010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
35984
35985 * common.opt (dumpdir): Remove redundant tab.
35986
35987 2010-03-17 Martin Jambor <mjambor@suse.cz>
35988
35989 PR tree-optimization/43347
35990 * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
35991 original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
35992
35993 2010-03-17 Bernd Schmidt <bernd.schmidt@analog.com>
35994
35995 PR rtl-optimization/42216
35996 * regrename.c (create_new_chain): New function, broken out from...
35997 (scan_rtx_reg): ... here. Call it. Handle the case where we are
35998 appending a use to an empty chain.
35999 (build_def_use): Remove previous changes that convert OP_INOUT to
36000 OP_OUT operands; instead detect the case where an OP_INOUT operand
36001 uses a previously untracked register and create an empty chain for it.
36002
36003 2010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
36004
36005 * doc/extend.texi (Function Attributes): Rewrite unfinished
36006 sentence in ms_abi documentation.
36007
36008 2010-03-17 Alan Modra <amodra@gmail.com>
36009
36010 * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
36011 * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
36012 (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
36013 * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
36014
36015 2010-03-16 Richard Henderson <rth@redhat.com>
36016
36017 PR middle-end/43365
36018 * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
36019 (lower_try_finally): Save and restore eh_seq around the expansion
36020 of the try-finally.
36021
36022 2010-03-16 Aldy Hernandez <aldyh@redhat.com>
36023
36024 * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
36025 statements before splitting block.
36026
36027 2010-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
36028
36029 * doc/sourcebuild.texi (Testsuites): Fix markup.
36030 Use pathnames relative to gcc/testsuite.
36031 (Test Directives): Move description of how timeout is determined.
36032 (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
36033 (C Tests): Correct gcc.misc-tests directory.
36034 Framework tests now live in gcc.test-framework.
36035
36036 2010-03-16 Richard Guenther <rguenther@suse.de>
36037
36038 PR middle-end/43379
36039 * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
36040 operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
36041
36042 2010-03-16 Aldy Hernandez <aldyh@redhat.com>
36043 Alexandre Oliva <aoliva@redhat.com>
36044
36045 PR tree-optimization/42917
36046 * lambda-code.c (remove_iv): Skip debug statements.
36047 (lambda_loopnest_to_gcc_loopnest): Likewise.
36048 (not_interesting_stmt): Debug statements are not interesting.
36049
36050 2010-03-16 Jakub Jelinek <jakub@redhat.com>
36051
36052 PR debug/43051
36053 PR debug/43092
36054 * cselib.c (cselib_preserve_constants,
36055 cfa_base_preserved_val): New static variables.
36056 (preserve_only_constants): New function.
36057 (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
36058 clear its REG_VALUES. If cselib_preserve_constants, don't
36059 empty the whole hash table, but preserve there VALUEs with constants,
36060 cfa_base_preserved_val and cfa_base_preserved_val plus constant.
36061 (cselib_preserve_cfa_base_value): New function.
36062 (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
36063 (cselib_init): Change argument to int bitfield. Set
36064 cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
36065 is in it.
36066 (cselib_finish): Clear cselib_preserve_constants and
36067 cfa_base_preserved_val.
36068 * cselib.h (enum cselib_record_what): New enum.
36069 (cselib_init): Change argument to int.
36070 (cselib_preserve_cfa_base_value): New prototype.
36071 * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
36072 * dse.c (dse_step1): Likewise.
36073 * cfgcleanup.c (thread_jump): Likewise.
36074 * sched-deps.c (sched_analyze): Likewise.
36075 * gcse.c (local_cprop_pass): Likewise.
36076 * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
36077 If FN is non-NULL, call the callback always and whenever it returns
36078 non-NULL just return that. Only do rtx_equal_p if FN is NULL.
36079 * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
36080 * combine.c (propagate_for_debug_subst): Add old_rtx argument,
36081 compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
36082 * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
36083 * var-tracking.c: Include recog.h.
36084 (bb_stack_adjust_offset): Remove.
36085 (vt_stack_adjustments): Don't call it, instead just gather the
36086 adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
36087 (adjust_stack_reference): Remove.
36088 (compute_cfa_pointer): New function.
36089 (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
36090 (struct adjust_mem_data): New type.
36091 (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
36092 functions.
36093 (get_address_mode): New function.
36094 (replace_expr_with_values): Use it.
36095 (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
36096 Use get_address_mode. For cfa_base_rtx return MO_CLOBBER.
36097 (adjust_sets): Remove.
36098 (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
36099 Use get_address_mode.
36100 (get_adjusted_src): Remove.
36101 (add_stores): Don't call it. Never reuse expr SET. Don't add extra
36102 MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode.
36103 (add_with_sets): Don't call adjust_sets.
36104 (fp_setter, vt_init_cfa_base): New functions.
36105 (vt_initialize): Change return type to bool. Move most of pool etc.
36106 initialization to the beginning of the function from end. Pass
36107 CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
36108 If !frame_pointer_needed, call vt_stack_adjustment before mos
36109 vector is filled, call vt_init_cfa_base if argp/framep has been
36110 eliminated to sp. If frame_pointer_needed and argp/framep has
36111 been eliminated to hard frame pointer, set
36112 hard_frame_pointer_adjustment and call vt_init_cfa_base after
36113 encountering fp setter in the prologue. For MO_ADJUST, call
36114 log_op_type before pusing the op into mos vector, not afterwards.
36115 Call adjust_insn before cselib_process_insn/add_with_sets,
36116 call cancel_changes (0) afterwards.
36117 (variable_tracking_main_1): Adjust for vt_initialize calling
36118 vt_stack_adjustments and returning whether it succeeded or not.
36119
36120 2010-03-15 Aldy Hernandez <aldyh@redhat.com>
36121
36122 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
36123 debug statements.
36124
36125 2010-03-15 Jakub Jelinek <jakub@redhat.com>
36126
36127 * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
36128 has been set.
36129 (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
36130 drap_reg has not been set.
36131
36132 2010-03-15 Michael Matz <matz@suse.de>
36133
36134 PR middle-end/43300
36135 * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
36136 use it to expand block copies.
36137 (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
36138 insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
36139 (insert_value_copy_on_edge): Use store_expr for BLKmode values.
36140
36141 2010-03-15 Richard Guenther <rguenther@suse.de>
36142
36143 PR tree-optimization/43367
36144 * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
36145 elimination check.
36146
36147 2010-03-15 Richard Guenther <rguenther@suse.de>
36148
36149 PR tree-optimization/43317
36150 * ipa-struct-reorg.c (create_new_general_access): Update stmt.
36151
36152 2010-03-15 Martin Jambor <mjambor@suse.cz>
36153
36154 PR tree-optimization/43141
36155 * tree-sra.c (create_abstract_origin): New function.
36156 (modify_function): Call create_abstract_origin.
36157
36158 2010-03-15 Chris Demetriou <cgd@google.com>
36159
36160 * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
36161 wasn't copied.
36162
36163 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
36164
36165 PR middle-end/43354
36166 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
36167 call insert_out_of_ssa_copy for default definitions.
36168
36169 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
36170
36171 * graphite-clast-to-gimple.c (my_long_long): Defined.
36172 (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
36173 * graphite-sese-to-poly.c (my_long_long): Defined.
36174 (scop_ivs_can_be_represented): Use it.
36175
36176 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
36177
36178 * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
36179 graphite-max-bbs-per-function, and loop-block-tile-size.
36180 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
36181 with "maximum".
36182 (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
36183
36184 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
36185
36186 * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
36187 forward declaration.
36188 * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
36189 (add_upper_bounds_from_estimated_nit): New.
36190 (build_loop_iteration_domains): Use it.
36191
36192 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
36193
36194 * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
36195
36196 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
36197
36198 PR middle-end/43306
36199 * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
36200 should be an INTEGER_CST. Also handle CASE_CONVERT.
36201
36202 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
36203
36204 * graphite.c (graphite_initialize): To bound the number of bbs per
36205 function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
36206 * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
36207 * doc/invoke.texi: Document it.
36208
36209 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
36210
36211 * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
36212 * graphite-sese-to-poly.h (build_poly_scop): Same.
36213
36214 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
36215
36216 * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
36217 the number of parameters in the scop. Use as an upper bound
36218 PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
36219 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
36220 * doc/invoke.texi: Document it.
36221
36222 2010-03-13 Jerry Quinn <jlquinn@optonline.net>
36223
36224 * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
36225 * doc/c-tree.texi: Remove.
36226 * doc/generic.texi: Merge c-tree.texi here.
36227 * doc/gccint.texi (Trees): Remove menu entry.
36228 (c-tree.texi): Remove @include.
36229 * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
36230 * doc/languages.texi (Reading RTL): Ditto.
36231
36232 2010-03-12 Steve Ellcey <sje@cup.hp.com>
36233
36234 PR target/42869
36235 * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
36236
36237 2010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
36238
36239 PR middle-end/42431
36240 * config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
36241 code added to work around reload clobbering CONST insns.
36242
36243 2010-03-12 Jakub Jelinek <jakub@redhat.com>
36244
36245 * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
36246 (cselib_preserve_definitely, cselib_clear_preserve): Remove.
36247 (cselib_preserve_only_values): Remove retain argument, don't
36248 traverse hash table with cselib_{preserve_definitely,clear_preserve}.
36249 * cselib.h (cselib_preserve_only_values): Remove retain argument.
36250 * var-tracking.c (micro_operation): Move insn field before union.
36251 Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
36252 (struct variable_tracking_info_def): Remove n_mos field, change
36253 mos into a vector of micro_operations.
36254 (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
36255 (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
36256 compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
36257 changing into a vector.
36258 (add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores
36259 come before all other uops generated by add_stores.
36260 (vt_add_function_parameters): Adjust for cselib_preserve_only_values
36261 argument removal.
36262 (vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into
36263 a vector. Run just one pass over the bbs instead of separate counting
36264 and computation phase.
36265 (vt_finalize): Free VTI (bb)->mos vector instead of array.
36266
36267 PR debug/43329
36268 * tree-inline.c (remap_decls): Put old_var rather than origin_var
36269 into *nonlocalized_list vector.
36270 * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
36271 even if origin is non-NULL.
36272 (gen_variable_die): Likewise.
36273 (process_scope_var): Don't change origin.
36274 (gen_decl_die): Likewise.
36275 * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
36276 before adding new edges instead of after it, fix moving over
36277 debug stmts.
36278
36279 2010-03-11 David S. Miller <davem@davemloft.net>
36280
36281 * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
36282 of four.
36283 * configure: Rebuild.
36284
36285 2010-03-11 Martin Jambor <mjambor@suse.cz>
36286
36287 PR tree-optimization/43257
36288 * tree.c (assign_assembler_name_if_neeeded): New function.
36289 (free_lang_data_in_cgraph): Assembler name assignment moved to the
36290 above new function.
36291 * tree.h (assign_assembler_name_if_neeeded): Declare.
36292 * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
36293 the function if needed.
36294
36295 2010-03-11 Chris Demetriou <cgd@google.com>
36296
36297 * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
36298 include/stdint-gcc.h, and include/stdint.h world-readable.
36299
36300 2010-03-11 Richard Guenther <rguenther@suse.de>
36301
36302 PR tree-optimization/43255
36303 * tree-vrp.c (process_assert_insertions_for): Do not insert
36304 asserts for trivial conditions.
36305
36306 2010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
36307
36308 PR tree-optimization/43280
36309 * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
36310 generation. Move calculation of size out of the if branch.
36311 (find_bswap): Modify compare number generation.
36312
36313 2010-03-11 Richard Guenther <rguenther@suse.de>
36314
36315 PR lto/43200
36316 * lto-streamer-in.c (maybe_fixup_decls): Simplify.
36317 (input_gimple_stmt): Fixup handled component types during
36318 operand read. Also fix up decls in ADDR_EXPRs.
36319
36320 2010-03-10 Eric Botcazou <ebotcazou@adacore.com>
36321
36322 * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
36323 * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
36324
36325 2010-03-10 Jan Hubicka <jh@suse.cz>
36326
36327 PR c/43288
36328 * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
36329 * varasm.c (get_variable_section): Don't do that here...
36330 (make_decl_rtl): ... and here.
36331 (do_assemble_alias): Produce decl RTL.
36332 (assemble_alias): Likewise.
36333
36334 2010-03-10 Jakub Jelinek <jakub@redhat.com>
36335
36336 PR debug/43290
36337 * reg-notes.def (REG_CFA_SET_VDRAP): New note.
36338 * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
36339 of fde->vdrap_reg.
36340 (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
36341 (based_loc_descr): Only express drap or vdrap regno based expressions
36342 using DW_OP_fbreg when not optimizing.
36343 * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
36344 make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
36345 REG_CFA_SET_VDRAP note.
36346
36347 2010-03-10 Alexander Monakov <amonakov@ispras.ru>
36348
36349 PR tree-optimization/43236
36350 * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
36351 error in calculation of base address in reverse iteration case.
36352 (generate_builtin): Take number of latch executions if the statement
36353 is in the latch.
36354
36355 2010-03-10 Andrey Belevantsev <abel@ispras.ru>
36356
36357 PR middle-end/42859
36358 * tree-eh.c: Include pointer-set.h.
36359 (lower_eh_dispatch): Filter out duplicate case labels and
36360 remove the unneeded edge when the label is unused. Return
36361 true when some edges are removed.
36362 (execute_lower_eh_dispatch): When any lowering resulted in
36363 removing an edge, also delete unreachable blocks.
36364
36365 2010-03-10 Jakub Jelinek <jakub@redhat.com>
36366
36367 PR bootstrap/43287
36368 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
36369 UNSPEC_MACHOPIC_OFFSET.
36370
36371 2010-03-09 Andreas Schwab <schwab@linux-m68k.org>
36372
36373 PR target/43294
36374 * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
36375 (m68k_delegitimize_address): New function.
36376
36377 2010-03-09 Jakub Jelinek <jakub@redhat.com>
36378
36379 PR debug/43299
36380 * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
36381
36382 PR debug/43299
36383 * var-tracking.c (adjust_sets): New function.
36384 (count_with_sets, add_with_sets): Use it.
36385 (get_adjusted_src): New inline function.
36386 (add_stores): Use it.
36387
36388 PR debug/43304
36389 * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
36390 call cselib_dummy_expand_value_rtx_cb instead of
36391 cselib_expand_value_rtx_cb.
36392
36393 PR debug/43293
36394 * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
36395 * config/i386/i386.c: Include debug.h and dwarf2out.h.
36396 (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
36397 and .cfi_endproc around the pic thunks.
36398 (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
36399 all queued unwind info register saves are saved before the call.
36400 For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
36401 considered as sp-=4 for unwind info and the pop as sp+=4 which
36402 also clobbers dest, but doesn't actually restore it.
36403
36404 PR debug/43290
36405 * config/i386/i386.c (ix86_get_drap_rtx): Don't set
36406 RTX_FRAME_RELATED_P.
36407
36408 2010-03-09 Jie Zhang <jie@codesourcery.com>
36409
36410 * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
36411 whitespaces in output template.
36412
36413 2010-03-09 Jie Zhang <jie@codesourcery.com>
36414
36415 * ira-lives.c (check_and_make_def_use_conflict): Don't fall
36416 out array boundary.
36417
36418 2010-03-08 Jakub Jelinek <jakub@redhat.com>
36419
36420 * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
36421 builtins.exp in a separate job.
36422
36423 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
36424
36425 * graphite-sese-to-poly.c (add_param_constraints): Use
36426 lower_bound_in_type and upper_bound_in_type.
36427
36428 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
36429
36430 * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
36431 instead of unsigned_type_node.
36432
36433 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
36434 Reza Yazdani <reza.yazdani@amd.com>
36435
36436 PR middle-end/43065
36437 * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
36438 on pointer type parameters.
36439
36440 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
36441
36442 PR middle-end/42644
36443 PR middle-end/42130
36444 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
36445 handle conversions from pointer to integers.
36446 (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
36447 induction variable, to be able to work with code generated by CLooG.
36448 * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
36449 (build_poly_scop): Bail out if we cannot codegen a loop.
36450
36451 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
36452
36453 * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
36454 code generation with gloog_error.
36455
36456 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
36457
36458 * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
36459 Call fold_convert on all the returned values.
36460 (expand_scalar_variables_expr): Pass to
36461 expand_scalar_variables_ssa_name the type of the resulting expression.
36462
36463 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
36464
36465 * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
36466 ppl_min_for_le_pointset.
36467 Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
36468 * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
36469
36470 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
36471
36472 * graphite-dependences.c (map_into_dep_poly): Removed.
36473 (dependence_polyhedron_1): Use combine_context_id_scat.
36474
36475 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
36476
36477 * graphite-poly.h (struct poly_scattering): Add layout documentation.
36478 (struct poly_bb): Same.
36479 (combine_context_id_scat): New.
36480
36481 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
36482
36483 PR middle-end/42326
36484 * sese.c (name_defined_in_loop_p): Return false for default
36485 definitions.
36486
36487 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
36488
36489 * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
36490 and clean up the logic.
36491
36492 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
36493
36494 * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
36495 early return.
36496
36497 2010-03-08 Jakub Jelinek <jakub@redhat.com>
36498
36499 * var-tracking.c (remove_cselib_value_chains): Define only for
36500 ENABLE_CHECKING.
36501 (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
36502 delete_slot_part, emit_notes_for_differences_1): Don't call
36503 remove_cselib_value_chains here.
36504 (set_slot_part, emit_notes_for_differences_2): Don't call
36505 add_cselib_value_chains here.
36506 (preserved_values): New vector.
36507 (preserve_value): New function.
36508 (add_uses, add_stores, vt_add_function_parameters): Use it
36509 instead of cselib_preserve_value.
36510 (changed_values_stack): New vector.
36511 (check_changed_vars_0): New function.
36512 (check_changed_vars_1, check_changed_vars_2): Use it.
36513 (emit_notes_for_changes): Call set_dv_changed (*, false) on all
36514 changed_values_stack VALUEs.
36515 (vt_emit_notes): For all preserved_values call
36516 add_cselib_value_chains. If ENABLE_CHECKING call
36517 remove_cselib_value_chains before verifying value_chains is empty.
36518 Initialize and free changed_values_stack.
36519 (vt_initialize): Initialize preserved_values.
36520 (vt_finalize): Free preserved_values.
36521
36522 2010-03-08 Richard Guenther <rguenther@suse.de>
36523
36524 PR tree-optimization/43269
36525 * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
36526 region detection.
36527
36528 2010-03-08 Martin Jambor <mjambor@suse.cz>
36529
36530 * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
36531 (ipa_is_param_called): Removed.
36532 * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
36533 (ipa_print_node_params): Do not print the called flag.
36534 (ipa_write_node_info): Do not stream the called flag.
36535 (ipa_read_node_info): Likewise.
36536
36537 2010-03-07 Jakub Jelinek <jakub@redhat.com>
36538
36539 PR debug/43176
36540 * Makefile.in (var-tracking.o): Depend on pointer-set.h.
36541 * cselib.c (struct expand_value_data): Add dummy field.
36542 (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
36543 dummy to false.
36544 (cselib_dummy_expand_value_rtx_cb): New function.
36545 (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
36546 any rtl.
36547 * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
36548 * var-tracking.c: Include pointer-set.h.
36549 (variable): Change n_var_parts to char from int. Add
36550 cur_loc_changed and in_changed_variables fields.
36551 (variable_canonicalize): Remove.
36552 (shared_var_p): New inline function.
36553 (unshare_variable): Maintain cur_loc_changed and
36554 in_changed_variables fields. If var was in changed_variables,
36555 replace it there with new_var. Just copy cur_loc instead of
36556 resetting it to something else.
36557 (variable_union): Don't recompute cur_loc. Use shared_var_p.
36558 (dataflow_set_union): Don't call variable_canonicalize.
36559 (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
36560 of their DEBUG_EXPR_TREE_DECLs.
36561 (canonicalize_loc_order_check): Verify that cur_loc is NULL
36562 and in_changed_variables and cur_loc_changed is false.
36563 (variable_merge_over_cur): Clear cur_loc, in_changed_variables
36564 and cur_loc_changed. Don't update cur_loc here.
36565 (variable_merge_over_src): Don't call variable_canonicalize.
36566 (dataflow_set_preserve_mem_locs): Use shared_var_p. When
36567 removing loc that is equal to cur_loc, clear cur_loc,
36568 set cur_loc_changed and ensure variable_was_changed is called.
36569 (dataflow_set_remove_mem_locs): Use shared_var_p. Only
36570 compare pointers in cur_loc check, if it is equal to loc,
36571 clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here.
36572 (variable_different_p): Remove compare_current_location argument,
36573 don't compare cur_loc.
36574 (dataflow_set_different_1): Adjust variable_different_p caller.
36575 (variable_was_changed): If dv had some var in changed_variables
36576 already, reset in_changed_variables flag for it and propagate
36577 cur_loc_changed over to the new variable. On empty var
36578 always set cur_loc_changed. Set in_changed_variables on whatever
36579 var is added to changed_variables.
36580 (set_slot_part): Clear cur_loc_changed and in_changed_variables.
36581 Use shared_var_p. When removing loc that is equal to cur_loc,
36582 clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the
36583 end, don't set it to something else, just call variable_was_changed.
36584 (delete_slot_part): Use shared_var_p. When cur_loc equals to
36585 loc being removed, clear cur_loc and set cur_loc_changed.
36586 Set cur_loc_changed if all locations have been removed.
36587 (struct expand_loc_callback_data): New type.
36588 (vt_expand_loc_callback): Add dummy mode in which no rtxes are
36589 allocated. Always create SUBREGs if simplify_subreg failed.
36590 Prefer to use cur_loc, when that fails and still in
36591 changed_variables (and seen first time) recompute it. Set
36592 cur_loc_changed of variables which had to change cur_loc and
36593 compute elcd->cur_loc_changed if any of the subexpressions used
36594 had to change cur_loc.
36595 (vt_expand_loc): Adjust to pass arguments in
36596 expand_loc_callback_data structure.
36597 (vt_expand_loc_dummy): New function.
36598 (emitted_notes): New variable.
36599 (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
36600 that weren't used for any other decl in current
36601 emit_notes_for_changes call call vt_expand_loc_dummy to update
36602 cur_loc. For -fno-var-tracking-assignments, set cur_loc to
36603 first loc_chain location if NULL before. Always use just
36604 cur_loc instead of first loc_chain location. When cur_loc_changed
36605 is false, when not --enable-checking=rtl just don't emit any note.
36606 When rtl checking, compute the note and assert it is the same
36607 as previous note. Clear cur_loc_changed and in_changed_variables
36608 at the end before removing from changed_variables.
36609 (check_changed_vars_3): New function.
36610 (emit_notes_for_changes): Traverse changed_vars to call
36611 check_changed_vars_3 on each changed var.
36612 (emit_notes_for_differences_1): Clear cur_loc_changed and
36613 in_changed_variables. Recompute cur_loc of new_var.
36614 (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
36615 (vt_emit_notes): Initialize and destroy emitted_notes.
36616
36617 2010-03-07 Bernd Schmidt <bernd.schmidt@analog.com>
36618
36619 PR rtl-optimization/42220
36620 * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
36621 Use verify_reg_tracked to determine if we should use OP_OUT rather
36622 than OP_INOUT.
36623 (build_def_use): If we see an in-out operand for a register that we
36624 know nothing about, treat is an output if possible, fail the block if
36625 not.
36626
36627 2010-03-06 Alexandre Oliva <aoliva@redhat.com>
36628
36629 PR debug/42897
36630 * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
36631 permanently.
36632
36633 2010-03-06 Alexandre Oliva <aoliva@redhat.com>
36634
36635 PR debug/42897
36636 * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
36637 uses of relevant DEFs that are dead outside the loop too.
36638
36639 2010-03-06 Alexandre Oliva <aoliva@redhat.com>
36640
36641 * var-tracking.c (dataflow_set_merge): Swap src and src2.
36642 Reverted:
36643 2010-01-13 Jakub Jelinek <jakub@redhat.com>
36644 PR debug/41371
36645 * var-tracking.c (values_to_unmark): New variable.
36646 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
36647 values_to_unmark vector. Moved body to...
36648 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
36649 instead queue it into values_to_unmark vector.
36650 (vt_find_locations): Free values_to_unmark vector.
36651
36652 2010-03-05 Eric Botcazou <ebotcazou@adacore.com>
36653
36654 * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
36655 (site.exp): Export them when plugins are enabled.
36656
36657 2010-03-05 Sebastian Pop <sebastian.pop@amd.com>
36658
36659 PR middle-end/42326
36660 * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
36661 that contain scevs.
36662 (chrec_fold_multiply): Same.
36663
36664 2010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
36665
36666 PR c/43248
36667 * c-decl.c (build_compound_literal): Return early if init is
36668 an error_mark_node.
36669
36670 2010-03-04 Martin Jambor <mjambor@suse.cz>
36671
36672 PR tree-optimization/43164
36673 PR tree-optimization/43191
36674 * tree-sra.c (type_consists_of_records_p): Reject records with
36675 zero-size bit-fields at the end.
36676
36677 2010-03-04 Mike Stump <mikestump@comcast.net>
36678
36679 * Makefile.in (TAGS): Remove *.y.
36680
36681 2010-03-04 Richard Guenther <rguenther@suse.de>
36682
36683 PR tree-optimization/40761
36684 * tree-ssa-pre.c (compute_antic): Walk reverse postorder
36685 in reverse order.
36686 (my_rev_post_order_compute): New function.
36687 (init_pre): Call it.
36688
36689 2010-03-04 Changpeng Fang <changpeng.fang@amd.com>
36690
36691 PR middle-end/43209
36692 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
36693 decrease the cost of an IV candidate when the cost is infinite.
36694
36695 2010-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
36696
36697 * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
36698 Use '3DNow!' for the extension of that name, ensure normal space
36699 after the string.
36700 * doc/invoke.texi (i386 and x86-64 Options): Likewise.
36701
36702 2010-03-03 Jeff Law <law@redhat.com>
36703
36704 * PR middle-end/32693
36705 * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
36706 than gen_rtx_SUBREG.
36707 (extract_bit_field_1): Likewise.
36708
36709 2010-03-03 Janis Johnson <janis187@us.ibm.com>
36710
36711 * doc/sourcebuild.texi (Test directives): Document that arguments
36712 include-opts and exclude-opts are now optional for dg-skip-if,
36713 dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
36714
36715 2010-03-03 Jason Merrill <jason@redhat.com>
36716
36717 PR c++/12909
36718 * cgraph.h (varpool_node): Add extra_name field.
36719 * varpool.c (varpool_extra_name_alias): New.
36720 (varpool_assemble_decl): Emit extra name aliases.
36721 (varpool_mark_needed_node): Look past an extra name alias.
36722 * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
36723 * lto-streamer-in.c (lto_input_tree): Read it.
36724 * lto-streamer-out.c (output_unreferenced_globals): Write it.
36725
36726 2010-03-03 Eric Botcazou <ebotcazou@adacore.com>
36727
36728 * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
36729 (sparc*-*-solaris2*): ...this.
36730
36731 2010-03-03 Jakub Jelinek <jakub@redhat.com>
36732
36733 PR debug/43229
36734 * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
36735 WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without
36736 ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
36737 FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
36738
36739 PR debug/43237
36740 * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
36741 fallthrough to default handling, just with want_address 0 instead of 2.
36742 For single element lists, add_AT_loc directly, otherwise create an
36743 artificial variable DIE and stick location list to it.
36744
36745 PR debug/43177
36746 * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
36747 (VAL_EXPR_HAS_REVERSE): Define.
36748 (reverse_op): New function.
36749 (add_stores): For reversible operations add an extra MO_VAL_USE.
36750
36751 2010-03-02 Jason Merrill <jason@redhat.com>
36752
36753 * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
36754
36755 2010-03-02 Eric Botcazou <ebotcazou@adacore.com>
36756
36757 * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
36758 (sparc64-*-linux*): Likewise.
36759 (sparc64-*-solaris2*): Include assembler files before linker ones.
36760 (sparc-*-solaris2*): Simplify and reorder to match previous case.
36761 * config/sparc/gas.h: Delete.
36762 * config/sparc/sol2-64.h: Add copyright notice.
36763 * config/sparc/sol2-gas-bi.h: Likewise.
36764 * config/sparc/sol2-gld.h: Likewise.
36765 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
36766 * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
36767 * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
36768 * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
36769 (sparc_elf_asm_named_section): Rename into...
36770 (sparc_solaris_elf_asm_named_section): ...this. Always define.
36771
36772 2010-03-02 Uros Bizjak <ubizjak@gmail.com>
36773
36774 * config/alpha/alpha.c (override_options): Fix -mtune error message.
36775
36776 2010-03-02 Jeff Law <law@redhat.com>
36777
36778 PR middle-end/42431
36779 * reload1.c (rtx_p, substitute_stack): Declare.
36780 (substitute): Record addresses of changed rtxs.
36781 (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
36782 Restore the original rtx when complete.
36783 (reload): Free subsitute_stack when complete.
36784
36785 2010-03-02 Janis Johnson <janis187@us.ibm.com>
36786
36787 * doc/gccint.texi (menu): Add Testsuites as a chapter.
36788 * doc/sourcebuild.texi (Testsuites): Move up a level to be a
36789 new chapter.
36790 (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
36791 LTO Testing, gcov Testing, profopt Testing, compat Testing,
36792 Torture Tests): Change from subsection to section.
36793
36794 2010-03-02 Jakub Jelinek <jakub@redhat.com>
36795 Steven Bosscher <steven@gcc.gnu.org>
36796
36797 * var-tracking.c (vt_initialize): Scan insns in ebb chunks
36798 instead of bb.
36799
36800 2010-03-02 Reza Yazdani <reza.yazdani@amd.com>
36801
36802 PR middle-end/42640
36803 * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
36804 the assignment from the new induction variable to the assignment
36805 of the value from the original loop PHI function.
36806
36807 2010-03-01 Janis Johnson <janis187@us.ibm.com>
36808 Daniel Jacobowitz <dan@codesourcery.com>
36809
36810 * doc/sourcebuild.texi (Test directives): Clarify options to
36811 dg-skip-if.
36812
36813 2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
36814
36815 * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
36816 Disable cfi directives unless GCC and gas agree on using read-only
36817 .eh_frame sections for 64-bit.
36818 * configure: Regenerate.
36819
36820 2010-03-01 Richard Guenther <rguenther@suse.de>
36821
36822 PR tree-optimization/43220
36823 * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
36824 BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
36825
36826 2010-03-01 Richard Guenther <rguenther@suse.de>
36827 Martin Jambor <mjambor@suse.cz>
36828
36829 PR middle-end/41250
36830 * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
36831 gimplified parameters.
36832
36833 2010-03-01 Christian Bruel <christian.bruel@st.com>
36834
36835 * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
36836
36837 2010-03-01 H.J. Lu <hongjiu.lu@intel.com>
36838
36839 * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
36840
36841 2010-03-01 Richard Guenther <rguenther@suse.de>
36842
36843 PR middle-end/43213
36844 * expr.c (expand_assignment): Use the alias-oracle to tell
36845 if the rhs aliases the result decl.
36846
36847 2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
36848
36849 PR pch/14940
36850 * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
36851 to sol_gt_pch_get_address.
36852 (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
36853 64-bit, SPARC and x86.
36854 (sol_gt_pch_get_address): New function.
36855
36856 2010-03-01 Marco Poletti <poletti.marco@gmail.com>
36857
36858 * toplev.h (inform_n, error_n): Declare.
36859 * diagnostic.c (inform_n, error_n): New function.
36860
36861 2010-03-01 Jakub Jelinek <jakub@redhat.com>
36862
36863 * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
36864 has no rtl yet when processing local_decls, queue it and recheck
36865 if deferred stack allocation hasn't assigned it rtl.
36866
36867 2010-02-28 Kaz Kojima <kkojima@gcc.gnu.org>
36868
36869 * config/sh/sh.c (unspec_bbr_uid): New.
36870 (gen_block_redirect): Use it instead of INSN_UID.
36871 (gen_far_branch): Likewise.
36872
36873 2010-02-28 H.J. Lu <hongjiu.lu@intel.com>
36874
36875 * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
36876 it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
36877
36878 2010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
36879
36880 * doc/invoke.texi (Warning Options, RX Options): Fix typos.
36881 (Warning Options): -Wno-conversion-null is valid for
36882 Objective-C++ as well.
36883 * doc/tm.texi (Named Address Spaces): Likewise.
36884 * doc/plugins.texi (Plugins): Replace TABs with spaces.
36885 * doc/tree-ssa.texi (Tree SSA): Likewise.
36886
36887 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
36888
36889 PR bootstrap/43202
36890 * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
36891 by default. Don't set the default arch for
36892 i[34567]86-*-darwin*|x86_64-*-darwin*.
36893
36894 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
36895
36896 PR bootstrap/43202
36897 * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
36898 default. Set the default 32bit/64bit archs with $with_arch
36899 instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
36900
36901 2010-02-27 Richard Guenther <rguenther@suse.de>
36902
36903 PR tree-optimization/43186
36904 * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
36905 * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
36906 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
36907 unroller iterations.
36908
36909 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
36910
36911 * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
36912 required and i[34567]86-*-* targets don't support 64bit ISA.
36913
36914 2010-02-26 Eric Botcazou <ebotcazou@adacore.com>
36915
36916 PR ada/43096
36917 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
36918 the same alias set.
36919
36920 2010-02-26 H.J. Lu <hongjiu.lu@intel.com>
36921
36922 * config.gcc: Set the default arch at least to Prescott for
36923 i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
36924 if SSE math is enabled.
36925
36926 2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
36927
36928 * diagnostic.c (diagnostic_initialize): Update.
36929 (diagnostic_report_diagnostic): Test inhibit_notes_p for
36930 informative notes.
36931 * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
36932 (diagnostic_inhibit_notes): New.
36933 * toplev.c (process_options): inhibit notes with -fcompare-debug.
36934
36935 2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
36936
36937 PR c/20631
36938 * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
36939 * doc/standards.texi: Likewise.
36940 * doc/extend.texi: Likewise.
36941 * doc/trouble.texi: Likewise.
36942 * doc/cppopts.texi: Likewise.
36943 * doc/install.texi: Likewise.
36944 * c.opt (std=c90,std=gnu90): New options.
36945 * c-opts.c (c_common_handle_option): Handle them.
36946
36947 2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
36948
36949 PR c/24577
36950 * c-decl.c (undeclared_variable): Use an informative note.
36951
36952 2010-02-26 Richard Guenther <rguenther@suse.de>
36953
36954 PR tree-optimization/43186
36955 * gimple.h (gimple_fold): Remove.
36956 * gimple.c (gimple_fold): Remove. Inline into single user ...
36957 * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
36958 Try harder for conditions.
36959
36960 2010-02-26 Jakub Jelinek <jakub@redhat.com>
36961
36962 PR debug/43190
36963 * function.c (used_types_insert): Don't skip through named pointer
36964 types. Don't use TYPE_MAIN_VARIANT if the original type has a name
36965 and it is different from the main variant's type.
36966
36967 2010-02-26 Nick Clifton <nickc@redhat.com>
36968
36969 * config/rx/rx.md (sminsi3): Remove bogus alternative.
36970
36971 2010-02-26 H.J. Lu <hongjiu.lu@intel.com>
36972
36973 * config.gcc: Support --with-fpmath=sse for x86.
36974
36975 * config/i386/ssemath.h: New.
36976
36977 * doc/install.texi (--with-fpmath=sse): Documented.
36978
36979 2010-02-26 Richard Guenther <rguenther@suse.de>
36980
36981 PR tree-optimization/43188
36982 * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
36983 vector types of over-aligned element type.
36984
36985 2010-02-26 Uros Bizjak <ubizjak@gmail.com>
36986
36987 PR target/43175
36988 * config/i386/i386.c (expand_vec_perm_blend): Use correct
36989 operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx.
36990
36991 2010-02-26 Jan Kratochvil <jan.kratochvil@redhat.com>
36992
36993 * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
36994
36995 2010-02-26 Jakub Jelinek <jakub@redhat.com>
36996
36997 * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
36998 * var-tracking.c: Include diagnostic.h.
36999 (debug_dv): New function.
37000 (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
37001
37002 PR debug/43160
37003 * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
37004 (add_value_chain, add_value_chains, remove_value_chain,
37005 remove_value_chains): Handle DEBUG_EXPRs.
37006 (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
37007
37008 PR debug/43161
37009 * regcprop.c (struct queued_debug_insn_change): New type.
37010 (struct value_data_entry): Add debug_insn_changes field.
37011 (struct value_data): Add n_debug_insn_changes field.
37012 (debug_insn_changes_pool): New variable.
37013 (free_debug_insn_changes, apply_debug_insn_changes,
37014 cprop_find_used_regs_1, cprop_find_used_regs): New functions.
37015 (kill_value_one_regno): Call free_debug_insn_changes if needed.
37016 (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
37017 fields.
37018 (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
37019 changes for them.
37020 (copyprop_hardreg_forward_1): Don't call apply_change_group for
37021 DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN
37022 changes, call cprop_find_used_regs via note_stores.
37023 (copyprop_hardreg_forward): When copying vd from predecessor
37024 which has any queued DEBUG_INSN changes, make sure the pointers are
37025 cleared. At the end call df_analyze and then if there are any
37026 DEBUG_INSN changes queued at the end of some basic block for still
37027 live registers, apply them.
37028 (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
37029
37030 2010-02-25 Uros Bizjak <ubizjak@gmail.com>
37031
37032 * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
37033 (arm*-*-*): Ditto.
37034
37035 2010-02-25 H.J. Lu <hongjiu.lu@intel.com>
37036
37037 * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
37038 targets. Set the default with_cpu/with_arch from arch/cpu.
37039 Allow x86-64 and native for with_cpu/with_arch.
37040
37041 2010-02-25 Nicolas Benoit <nbenoit@tuxfamily.org>
37042
37043 * ebitmap.c: Change calls to verify_popcount with calls to
37044 sbitmap_verify_popcount.
37045 (ebitmap_clear_bit): Fixed map->cacheindex test and
37046 map>cache update when bit clearing results in an empty
37047 element.
37048
37049 2010-02-25 Michael Meissner <meissner@linux.vnet.ibm.com>
37050
37051 PR target/43154
37052 * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
37053 (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
37054 and support both V2DF and V2DI modes.
37055 (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
37056 support both V2DF and V2DI modes.
37057 (general): Delete trailing whitespace from a few patterns.
37058
37059 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
37060 V2DF/V2DI interleave high/low builtins.
37061
37062 * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
37063 new VSX builtins.
37064
37065 * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
37066 interleave high/low functions.
37067
37068 2010-02-25 Gerald Pfeifer <gerald@pfeifer.com>
37069
37070 * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
37071 #pragma extern_prefix.
37072
37073 2010-02-25 Jakub Jelinek <jakub@redhat.com>
37074
37075 PR debug/43166
37076 * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
37077 BLKmode, assert op0 is a MEM and just adjust its mode.
37078
37079 PR debug/43165
37080 * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
37081 if bitpos isn't multiple of mode's bitsize.
37082
37083 2010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
37084
37085 * c.opt (-ftemplate-depth=): New.
37086 (-ftemplate-depth-): Deprecate.
37087 * optc-gen.awk: Handle -ftemplate-depth=.
37088 * opth-gen.awk: Likewise.
37089 * c-opts.c (c_common_handle_option): Likewise.
37090 * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
37091
37092 2010-02-24 Jason Merrill <jason@redhat.com>
37093
37094 * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
37095
37096 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
37097
37098 * cfg.c (alloc_aux_for_block): Remove inline.
37099 (alloc_aux_for_edge): Likewise.
37100
37101 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
37102
37103 * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
37104
37105 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
37106
37107 * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
37108 * config/i386/sol2-gas.h: New file.
37109 * config.gcc (i[34567]86-*-solaris2*): Use it.
37110
37111 2010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
37112
37113 PR c/43128
37114 * c-typeck.c (ep_convert_and_check): New.
37115 (build_conditional_expr): Use it.
37116 (build_binary_op): Likewise.
37117
37118 2010-02-24 Jakub Jelinek <jakub@redhat.com>
37119
37120 * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
37121
37122 PR debug/43150
37123 * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
37124 bounds even for -O+.
37125 * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
37126 expr needs to have DECL_NAME set.
37127
37128 2010-02-24 Nick Clifton <nickc@redhat.com>
37129
37130 * config/mep/mep.c: Include gimple.h.
37131 (mep_function_uses_sp): Delete unused function.
37132 (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
37133 parameters. Use unsigned integers to count args. Return a
37134 NULL_RTX instead of an error_mark_node. Toidy up formatting.
37135
37136 2010-02-23 Jakub Jelinek <jakub@redhat.com>
37137
37138 PR target/43107
37139 * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
37140 greater or equal to nelt instead of 2 * nelt.
37141 (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
37142 with nelt - 1.
37143
37144 2010-02-23 Jason Merrill <jason@redhat.com>
37145
37146 PR debug/42800
37147 * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
37148 in cfun->local_decls even if they have register types.
37149
37150 PR c++/42837
37151 * stor-layout.c (place_field): Don't warn about unnecessary
37152 DECL_PACKED if the type is packed.
37153
37154 2010-02-23 Jakub Jelinek <jakub@redhat.com>
37155
37156 PR target/43139
37157 * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
37158 GOTOFF relocs, even when the base reg isn't pic pointer.
37159
37160 2010-02-23 Michael Matz <matz@suse.de>
37161
37162 PR debug/43077
37163 * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
37164 (expand_gimple_basic_block): Generate and use debug temps if there
37165 are debug uses left after the last real use of TERed ssa names.
37166 Unlink debug immediate uses when they are expanded.
37167
37168 2010-02-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
37169
37170 PR 43123
37171 * config/i386/i386.c (override_options): Reorganise to provide
37172 better error messages.
37173
37174 2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
37175
37176 PR middle-end/43083
37177 * graphite-scop-detection.c (create_single_exit_edge): Move
37178 the call to find_single_exit_edge to....
37179 (create_sese_edges): ...here. Don't handle multiple edges
37180 exiting the function.
37181 (build_graphite_scops): Don't handle multiple edges
37182 exiting the function.
37183
37184 2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
37185
37186 PR middle-end/43097
37187 * sese.c (get_rename): Assert that old_name is an SSA_NAME.
37188 (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
37189
37190 2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
37191
37192 PR middle-end/43026
37193 * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
37194
37195 2010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
37196
37197 PR c++/43126
37198 * c-typeck.c (convert_arguments): Print declaration location.
37199 * c-common.c (validate_nargs): Rename as
37200 builtin_function_validate_nargs.
37201 (check_builtin_function_arguments): Update.
37202
37203 2010-02-22 Richard Guenther <rguenther@suse.de>
37204
37205 PR lto/43045
37206 * tree-inline.c (declare_return_variable): Use the type of
37207 the call stmt lhs if available.
37208
37209 2010-02-22 Duncan Sands <baldrick@free.fr>
37210
37211 * passes.c (register_pass): Always consider all pass lists when
37212 ref_pass_instance_number is zero.
37213
37214 2010-02-22 Richard Guenther <rguenther@suse.de>
37215
37216 PR tree-optimization/42749
37217 * tree-tailcall.c (adjust_return_value_with_ops): Drop update
37218 parameter. Do arithmetic in the original type.
37219 (update_accumulator_with_ops): Likewise.
37220 (adjust_accumulator_values): Adjust.
37221
37222 2010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
37223
37224 * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
37225 (QI to BLKmode splitter): New splitter.
37226
37227 2010-02-22 H.J. Lu <hongjiu.lu@intel.com>
37228
37229 * config/i386/i386.c (initial_ix86_tune_features): Turn on
37230 X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
37231
37232 2010-02-22 Richard Guenther <rguenther@suse.de>
37233
37234 * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
37235
37236 2010-02-22 Hans-Peter Nilsson <hp@bitrange.com>
37237
37238 Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
37239 * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
37240 ($(T)crti.o, $(T)crtn.o): Remove rules.
37241
37242 2010-02-21 Tobias Burnus <burnus@net-b.de>
37243
37244 PR fortran/35259
37245 * doc/invoke.texi (-fassociative-math): Document that this
37246 option is automatically enabled for Fortran.
37247
37248 2010-02-20 David S. Miller <davem@davemloft.net>
37249
37250 * configure.ac: Test if linker and assembler properly support
37251 GOTDATA_OP relocations.
37252 * configure: Rebuild.
37253 * config.in: Likewise.
37254 * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
37255 (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
37256 (movsi_high_pic): Likewise.
37257 (movdi_lo_sum_pic): Likewise.
37258 (movdi_high_pic): Likewise.
37259 (movsi_pic_gotdata_op): New pattern.
37260 (movdi_pic_gotdata_op): Likewise.
37261 * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
37262 emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
37263
37264 2010-02-20 Uros Bizjak <ubizjak@gmail.com>
37265
37266 PR target/43067
37267 * config/i386/sse.md (xop_mulv2div2di3_low): Change type
37268 attribute to ssemul.
37269 (xop_mulv2div2di3_high): Ditto.
37270
37271 2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
37272
37273 PR c++/35669
37274 * c.opt (Wconversion-null): New option.
37275 * doc/invoke.texi (Wconversion-null): Document.
37276
37277 2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
37278
37279 * common.opt (Wlarger-than-): Add Undocumented.
37280
37281 2010-02-19 Mike Stump <mikestump@comcast.net>
37282
37283 * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
37284
37285 2010-02-19 Jason Merrill <jason@redhat.com>
37286
37287 PR target/40332
37288 * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
37289 * configure: Likewise.
37290
37291 2010-02-20 Alan Modra <amodra@gmail.com>
37292
37293 PR middle-end/42344
37294 * cgraph.h (cgraph_make_decl_local): Declare.
37295 * cgraph.c (cgraph_make_decl_local): New function.
37296 (cgraph_make_node_local): Use it.
37297 * cgraphunit.c (cgraph_function_versioning): Likewise.
37298 * ipa.c (function_and_variable_visibility): Likewise.
37299
37300 2010-02-19 Jakub Jelinek <jakub@redhat.com>
37301
37302 PR bootstrap/43121
37303 * except.c (sjlj_emit_function_enter): Don't call
37304 add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
37305 directly.
37306 * rtl.h (add_reg_br_prob_note): Remove prototype.
37307
37308 2010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
37309
37310 PR 41779
37311 * c-common.c (conversion_warning): Remove widening conversions
37312 before checking the conversion of integers to reals.
37313
37314 2010-02-19 Mike Stump <mikestump@comcast.net>
37315
37316 PR middle-end/43125
37317 * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
37318
37319 PR objc/43061
37320 * cgraphunit.c (process_function_and_variable_attributes): Check
37321 DECL_PRESERVE_P instead of looking up attribute "used".
37322 * ipa-pure-const.c (check_decl): Likewise.
37323 * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
37324 * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
37325 * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
37326 instead of attribute "used".
37327 * config/sol2-c.c (solaris_pragma_init): Likewise.
37328 (solaris_pragma_fini): Likewise.
37329
37330 2010-02-19 Jakub Jelinek <jakub@redhat.com>
37331
37332 * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
37333 Use XCNEW instead of xcalloc.
37334 (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
37335 XNEW instead of xmalloc.
37336 (get_fields): Use XNEWVEC instead of xmalloc.
37337
37338 PR debug/43084
37339 * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
37340 populate vars array.
37341 (create_new_general_access): For debug stmts just reset value.
37342 (get_stmt_accesses): For accesses within debug stmts just record them
37343 using add_access_to_acc_sites instead of preventing the peeling or
37344 counting them as accesses.
37345
37346 PR middle-end/42233
37347 * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
37348
37349 2010-02-19 Richard Guenther <rguenther@suse.de>
37350
37351 PR tree-optimization/42916
37352 * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
37353 instructions.
37354
37355 2010-02-19 Andreas Schwab <schwab@linux-m68k.org>
37356
37357 * configure.ac: Replace all uses of changequote in macro arguments
37358 with proper quoting.
37359
37360 2010-02-19 Jakub Jelinek <jakub@redhat.com>
37361
37362 PR middle-end/42233
37363 * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
37364
37365 2010-02-19 Richard Guenther <rguenther@suse.de>
37366
37367 PR tree-optimization/42944
37368 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
37369 test for aliasing with errno.
37370
37371 2010-02-19 Jakub Jelinek <jakub@redhat.com>
37372
37373 PR middle-end/42233
37374 * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
37375 do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
37376 * dojump.c: Include output.h.
37377 (inv): New inline function.
37378 (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
37379 do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
37380 do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
37381 do_jump_by_parts_equality, do_compare_and_jump): Add PROB
37382 argument, pass it down to other calls.
37383 (do_compare_rtx_and_jump): Likewise. If PROB is not -1,
37384 add REG_BR_PROB note to the conditional jump.
37385 * cfgexpand.c (add_reg_br_prob_note): Removed.
37386 (expand_gimple_cond): Don't call it, add the probability
37387 as last argument to jumpif_1/jumpifnot_1.
37388 * Makefile.in (dojump.o): Depend on output.h.
37389 * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
37390 callers.
37391 * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
37392 * stmt.c (do_jump_if_equal): Likewise.
37393 * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
37394 * loop-unswitch.c (compare_and_jump_seq): Likewise.
37395 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
37396 Likewise.
37397 * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
37398 * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
37399 jumpifnot_1 callers.
37400 (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
37401 callers.
37402 (store_expr): Adjust jumpifnot caller.
37403 (store_constructor): Adjust jumpif caller.
37404
37405 PR middle-end/42233
37406 * gimplify.c (gimple_boolify): For __builtin_expect call
37407 gimple_boolify also on its first argument.
37408
37409 2010-02-18 Uros Bizjak <ubizjak@gmail.com>
37410
37411 * configure.ac (gnu-unique-object): Wrap regexps using [] in
37412 changequote block.
37413 (__stack_chk_fail): Ditto. Remove quadrigraphs.
37414 * configure: Regenerated.
37415
37416 2010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
37417
37418 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
37419 lang_hooks.types_compatible_p instead of comptypes.
37420
37421 2010-02-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
37422
37423 * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
37424 (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
37425 if __prefer_thumb__ is defined.
37426
37427 2010-02-18 Martin Jambor <mjambor@suse.cz>
37428
37429 PR tree-optimization/43066
37430 * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
37431 array with zero-sized element type.
37432
37433 2010-02-18 Jakub Jelinek <jakub@redhat.com>
37434
37435 * dwarf2out.c (add_var_loc_to_decl): Change last argument to
37436 rtx, allocate struct var_loc_node here and return it to the
37437 caller, and only if it is actually needed.
37438 (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
37439 move it earlier and return immediately if it returns NULL.
37440
37441 2010-02-17 Mikael Pettersson <mikpe@it.uu.se>
37442
37443 * config/sparc/gas.h: New file. Restore
37444 TARGET_ASM_NAMED_SECTION to its ELF default.
37445 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
37446 check !HAVE_GNU_AS.
37447 * config/sparc/sparc.c (sparc_elf_asm_named_section):
37448 Likewise. Add ATTRIBUTE_UNUSED to prototype.
37449 * config.gcc (sparc*-*-linux*): Include sparc/gas.h
37450 after sparc/sysv4.h.
37451
37452 2010-02-17 Dave Korn <dave.korn.cygwin@gmail.com>
37453
37454 * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
37455
37456 2010-02-17 Steven Bosscher <steven@gcc.gnu.org>
37457
37458 * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
37459 patterns from predicated pattern.
37460
37461 2010-02-17 Uros Bizjak <ubizjak@gmail.com>
37462
37463 PR target/43103
37464 * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
37465 for insn mnemonic suffix.
37466
37467 2010-02-17 Richard Guenther <rguenther@suse.de>
37468
37469 * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
37470 to loop PHI nodes.
37471
37472 2010-02-17 Jakub Jelinek <jakub@redhat.com>
37473
37474 PR debug/42918
37475 * caller-save.c (save_call_clobbered_regs): If BB ends with
37476 a DEBUG_INSN, move any notes in between last real insn and the last
37477 DEBUG_INSN after the last DEBUG_INSN.
37478
37479 2010-02-16 Joern Rennecke <joern.rennecke@embecosm.com>
37480
37481 * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
37482 Fix return type. Fix argument type. Explain meaning of return value.
37483
37484 2010-02-16 Richard Guenther <rguenther@suse.de>
37485
37486 PR tree-optimization/41043
37487 * tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops.
37488 (vrp_visit_assignment_or_call): Do not ask SCEV for regular
37489 statements ...
37490 (vrp_visit_phi_node): ... but only for loop PHI nodes.
37491
37492 2010-02-16 Ira Rosen <irar@il.ibm.com>
37493
37494 PR tree-optimization/43074
37495 * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
37496 * tree-vect-loop.c (vect_analyze_loop_operations): Add
37497 vectorizable cycles in hybrid SLP check.
37498 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
37499
37500 2010-02-16 Richard Guenther <rguenther@suse.de>
37501
37502 * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
37503 (true_dependence): If memrefs_conflict_p computes must-alias
37504 trust it. Move TBAA check after offset-based disambiguation.
37505 (canon_true_dependence): Likewise.
37506
37507 2010-02-16 Alexandre Oliva <aoliva@redhat.com>
37508
37509 * params.def (PARAM_MAX_VARTRACK_SIZE): New.
37510 * doc/invoke.texi: Document it.
37511 * var-tracking.c: Include toplev.h and params.h.
37512 (vt_find_locations): Return bool indicating success. Compute
37513 hash sizes unconditionally. Check new parameter, report.
37514 (variable_tracking_main_1): Check vt_find_locations results and
37515 retry. Renamed from...
37516 (variable_tracking_main): ... this. New wrapper to preserve
37517 flag_var_tracking_assignments.
37518 * Makefile.in (var-tracking.o): Adjust dependencies.
37519
37520 2010-02-16 Jack Howarth <howarth@bromo.med.uc.edu>
37521 Jakub Jelinek <jakub@redhat.com>
37522
37523 PR target/42854
37524 * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
37525 if weak_import attribute is present.
37526 * config/darwin.c (machopic_select_section): Likewise.
37527
37528 2010-02-15 Joern Rennecke <joern.rennecke@embecosm.com>
37529
37530 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
37531 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
37532 (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
37533 (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
37534
37535 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
37536 types.
37537
37538 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
37539 Fix argument types.
37540
37541 * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
37542 Rewrite text to refer to the names.
37543
37544 2010-02-15 Sebastian Pop <sebastian.pop@amd.com>
37545
37546 * config/i386/i386-builtin-types.def
37547 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
37548 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
37549 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
37550 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
37551 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
37552 IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
37553 IX86_BUILTIN_VPERMIL2PS256.
37554 (MULTI_ARG_4_DF2_DI_I): Defined.
37555 (MULTI_ARG_4_DF2_DI_I1): Defined.
37556 (MULTI_ARG_4_SF2_SI_I): Defined.
37557 (MULTI_ARG_4_SF2_SI_I1): Defined.
37558 (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
37559 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
37560 __builtin_ia32_vpermil2ps256.
37561 (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
37562 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
37563 MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments.
37564 (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
37565 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
37566 MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3,
37567 CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
37568 CODE_FOR_xop_vpermil2v8sf3.
37569 * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
37570 * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
37571 * config/i386/xopintrin.h (_mm_permute2_pd): New.
37572 (_mm256_permute2_pd): New.
37573 (_mm_permute2_ps): New.
37574 (_mm256_permute2_ps): New.
37575
37576 2010-02-15 Nick Clifton <nickc@redhat.com>
37577
37578 * config/h8300/h8300.c (h8300_push_pop): Use bool type for
37579 boolean parameters. Use emit_jump_insn when emitting a pop
37580 instruction containing a return insn.
37581 (push): Use 'true' rather than '1' as second parameter to F.
37582 (h8300_expand_prologue): Likewise.
37583 Use 'true' and 'false' for boolean parameters to h8300_push_pop.
37584 (h8300_expand_epilogue): Likewise.
37585
37586 2010-02-15 Richard Guenther <rguenther@suse.de>
37587
37588 PR middle-end/43068
37589 * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
37590 if that is zero.
37591
37592 2010-02-15 Nick Clifton <nickc@redhat.com>
37593
37594 * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
37595 delta.
37596
37597 2010-02-14 Marco Poletti <poletti.marco@gmail.com>
37598
37599 * intl.c (fake_ngettext): New function.
37600 * intl.h (fake_ngettext): Declare.
37601 (ngettext): Define macro.
37602 * collect2.c (notice_translated): New function.
37603 (main): Use notice_translated and ngettext.
37604 * collect2.h (notice_translated): Declare.
37605
37606 2010-02-14 Steven Bosscher <steven@gcc.gnu.org>
37607
37608 * reorg.c (delete_computation): Comment fixes.
37609 * caller-save.c (setup_save_areas): Idem.
37610 * sel-sched-dump.c (dump_lv_set): Idem.
37611 * rtl.def: Idem.
37612
37613 2010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
37614
37615 * config/s390/s390.c (s390_sched_init): New function.
37616 (TARGET_SCHED_INIT): Target hook defined.
37617
37618 2010-02-12 Dave Korn <dave.korn.cygwin@gmail.com>
37619 Jack Howarth <howarth@bromo.med.uc.edu>
37620 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
37621
37622 PR target/42982
37623 Partial revert of unintended change in fix for PR41605.
37624 * config/darwin.h: Fix typo.
37625 * config/darwin9.h: Same.
37626
37627 2010-02-11 Jakub Jelinek <jakub@redhat.com>
37628
37629 * c-pch.c (pch_init): Clear v.
37630
37631 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
37632
37633 PR middle-end/42930
37634 * graphite-scop-detection.c (graphite_can_represent_scev): Call
37635 graphite_can_represent_init for MULT_EXPR.
37636
37637 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
37638
37639 PR middle-end/42914
37640 PR middle-end/42530
37641 * graphite-sese-to-poly.c (remove_phi): New.
37642 (translate_scalar_reduction_to_array): Call remove_phi.
37643
37644 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
37645
37646 PR middle-end/42771
37647 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
37648 * graphite-clast-to-gimple.h (gloog): Update declaration.
37649 * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
37650 * graphite-poly.h (struct poly_bb): Add missing comments.
37651 (struct scop): Add poly_scop_p field.
37652 (POLY_SCOP_P): New.
37653 * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
37654 * graphite.c (graphite_transform_loops): Build the polyhedral
37655 representation for each scop before code generation.
37656 * sese.c (rename_variables_in_operand): Removed.
37657 (rename_variables_in_expr): Return the renamed expression.
37658 (rename_sese_parameters): New.
37659 * sese.h (rename_sese_parameters): Declared.
37660
37661 2010-02-11 Richard Guenther <rguenther@suse.de>
37662
37663 PR tree-optimization/42998
37664 * tree-ssa-pre.c (create_expression_by_pieces): Treat
37665 POINTER_PLUS_EXPR properly.
37666
37667 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
37668 Changpeng Fang <changpeng.fang@amd.com>
37669
37670 PR middle-end/40886
37671 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
37672 the cost of an IV candidate when the IV is used in a test against zero.
37673
37674 * gcc.dg/tree-ssa/ivopts-3.c: New.
37675
37676 2010-02-11 Richard Guenther <rguenther@suse.de>
37677
37678 PR lto/41664
37679 * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
37680 pointer-vs-decl case by swapping refs. Handle some cases
37681 of pointer-vs-decl disambiguations more conservatively.
37682 * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
37683 to false after expanding.
37684
37685 2010-02-11 Richard Guenther <rguenther@suse.de>
37686
37687 PR driver/43021
37688 * gcc.c (process_command): Handle LTO file@offset case more
37689 appropriately.
37690
37691 2010-02-11 Jakub Jelinek <jakub@redhat.com>
37692
37693 * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
37694 modifications outside of the DEBUG_INSN. Accept CLOBBERs inside
37695 of DEBUG_INSNs.
37696 (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
37697
37698 * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
37699 if MEM's mode size isn't DWARF2_ADDR_SIZE.
37700 (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
37701 Optimize eq/ne comparisons when both arguments are known to be
37702 zero-extended.
37703 (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
37704 Don't mask operands unnecessarily if they are known to be already
37705 zero-extended.
37706
37707 2010-02-10 Vladimir Makarov <vmakarov@redhat.com>
37708
37709 * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
37710 instead of loop.
37711
37712 2010-02-10 Richard Guenther <rguenther@suse.de>
37713
37714 PR tree-optimization/43017
37715 * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
37716 for wrapping signed arithmetic.
37717
37718 2010-02-10 Jakub Jelinek <jakub@redhat.com>
37719
37720 PR debug/43010
37721 * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
37722 if no debug info should be emitted for it.
37723
37724 2010-02-10 Kaz Kojima <kkojima@gcc.gnu.org>
37725
37726 * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
37727 note when flag_exceptions is set.
37728
37729 2010-02-10 Duncan Sands <baldrick@free.fr>
37730
37731 * Makefile.in (PLUGIN_HEADERS): Add debug.h.
37732
37733 2010-02-10 Richard Guenther <rguenther@suse.de>
37734
37735 PR c/43007
37736 * tree.c (get_unwidened): Handle constants.
37737 * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
37738
37739 2010-02-10 Martin Jambor <mjambor@suse.cz>
37740
37741 PR lto/42985
37742 * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
37743 check for variable argument counts independently.
37744
37745 2010-02-10 Christian Bruel <christian.bruel@st.com>
37746
37747 PR target/42841
37748 * config/sh/sh.c (find_barrier): Increase length for non delayed
37749 conditional branches.
37750
37751 2010-02-10 Christian Bruel <christian.bruel@st.com>
37752
37753 * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
37754
37755 2010-02-10 Jakub Jelinek <jakub@redhat.com>
37756
37757 * builtins.c (set_builtin_user_assembler_name): Also handle
37758 ffs if int is smaller than word.
37759
37760 2010-02-09 Vladimir Makarov <vmakarov@redhat.com>
37761
37762 PR middle-end/42973
37763 * ira-conflicts.c (get_dup): Remove.
37764 (process_reg_shuffles): Add new parameter. Use it as an
37765 additional guard for copy generation.
37766 (add_insn_allocno_copies): Rewrite.
37767
37768 2010-02-09 Alexander Monakov <amonakov@ispras.ru>
37769
37770 * common.opt (fsched2-use-traces): Preserved for backward
37771 compatibility.
37772 * doc/invoke.texi: Remove the documentation about option
37773 -fsched2-use-traces.
37774 * sched-rgn.c (rest_of_handle_sched2): Remove usage of
37775 flag_sched2_use_traces.
37776 * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
37777 the backward compatibility flag section.
37778
37779 2010-02-09 Richard Guenther <rguenther@suse.de>
37780
37781 PR tree-optimization/43008
37782 * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
37783 make HEAP variables initialized from global memory if they
37784 are not known builtin functions.
37785 (find_func_aliases): Adjust.
37786
37787 2010-02-09 Richard Guenther <rguenther@suse.de>
37788
37789 PR tree-optimization/43000
37790 * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
37791 arithmetic manually.
37792
37793 2010-02-08 Jakub Jelinek <jakub@redhat.com>
37794
37795 PR tree-optimization/42931
37796 * tree-loop-linear.c (try_interchange_loops): Don't call
37797 double_int_mul if estimated_loop_iterations failed.
37798
37799 2010-02-08 Martin Jambor <mjambor@suse.cz>
37800
37801 PR middle-end/42898
37802 * tree-sra.c (build_accesses_from_assign): Do not mark in
37803 should_scalarize_away_bitmap if stmt has volatile ops.
37804 (sra_modify_assign): Do not process assigns piecemeal if if stmt
37805 has volatile ops.
37806
37807 2010-02-08 Joern Rennecke <joern.rennecke@embecosm.com>
37808
37809 * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
37810
37811 2010-02-07 Adam Nemet <adambnmet@gmail.com>
37812
37813 * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
37814 before the pattern.
37815
37816 2010-02-07 Andrew Pinski <pinskia@gmail.com>
37817
37818 PR middle-end/42946
37819 * df-core.c (df_finish_pass): Change type of saved_flags to int.
37820
37821 2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
37822
37823 PR middle-end/42988
37824 * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
37825 to unknown_dependence.
37826 (graphite_legal_transform_dr): Handle the unknown_dependence.
37827 (graphite_carried_dependence_level_k): Same.
37828
37829 2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
37830
37831 * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
37832
37833 2010-02-07 Richard Guenther <rguenther@suse.de>
37834
37835 PR middle-end/42991
37836 * expr.c (get_inner_reference): Always initialize *pbitsize.
37837
37838 2010-02-07 Richard Guenther <rguenther@suse.de>
37839
37840 PR middle-end/42956
37841 * gimplify.c (gimple_fold_indirect_ref): Avoid generating
37842 new ARRAY_REFs on variable size element or minimal index arrays.
37843 Complete.
37844 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
37845 gimple_fold_indirect_ref.
37846
37847 2010-02-06 Richard Earnshaw <rearnsha@arm.com>
37848
37849 PR target/42957
37850 * arm.c (arm_override_options): Just return if the user has specified
37851 an invalid fpu name.
37852
37853 2010-02-03 Jason Merrill <jason@redhat.com>
37854
37855 PR c++/42870
37856 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
37857 i386_pe_maybe_record_exported_symbol.
37858
37859 2010-02-05 Steve Ellcey <sje@cup.hp.com>
37860
37861 PR target/42924
37862 * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
37863 (pa_delegitimize_address): New function.
37864
37865 2010-02-05 Ozkan Sezer <sezeroz@gmail.com>
37866
37867 * config/i386/msformat-c.c (ms_printf_length_specs): Set the
37868 scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
37869
37870 2010-02-05 Richard Guenther <rguenther@suse.de>
37871
37872 PR lto/42762
37873 * lto-streamer-in.c (get_resolution): Deal with references
37874 to undefined functions.
37875
37876 2010-02-05 Richard Guenther <rguenther@suse.de>
37877
37878 * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
37879 (fold_const_aggregate_ref): Likewise.
37880 (ccp_fold_stmt): Substitute loads.
37881 (maybe_fold_reference): Verify types before substituting.
37882 Unshare properly.
37883 (fold_gimple_assign): Unshare properly.
37884 (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
37885
37886 2010-02-05 Nathan Froyd <froydnj@codesourcery.com>
37887
37888 * config/rs6000/rs6000.c (rs6000_override_options): Invert check
37889 for rs6000_gen_cell_microcode.
37890
37891 2010-02-04 Richard Guenther <rguenther@suse.de>
37892
37893 PR rtl-optimization/42952
37894 * dse.c (const_or_frame_p): Remove MEM handling.
37895
37896 2010-02-04 Nick Clifton <nickc@redhat.com>
37897
37898 * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
37899 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
37900 (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
37901 (mn10300_asm_output_mi_thunk): New function.
37902 (mn10300_can_output_mu_thunk): New function.
37903 * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
37904 (FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1.
37905 (FUNCTION_ARG): Delete incorrect comment.
37906
37907 2010-02-03 Jason Merrill <jason@redhat.com>
37908
37909 PR c++/40138
37910 * fold-const.c (operand_equal_p): Handle erroneous types.
37911
37912 2010-02-03 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
37913
37914 * config/h8300/h8300.md (can_delay): Fix attibute condition.
37915
37916 2010-02-03 Vladimir Makarov <vmakarov@redhat.com>
37917
37918 PR rtl-optimization/42941
37919 * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
37920 of xmalloc.
37921
37922 2010-02-03 Jason Merrill <jason@redhat.com>
37923
37924 PR c++/35652
37925 * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
37926
37927 2010-02-03 Alexandre Oliva <aoliva@redhat.com>
37928
37929 PR debug/42896
37930 * cselib.h (struct cselib_val_struct): Add uid. Rename value to hash.
37931 (cselib_reset_table): Renamed from...
37932 (cselib_reset_table_with_next_value): ... this.
37933 (cselib_get_next_uid): Renamed from...
37934 (cselib_get_next_unknown_value): ... this.
37935 * cselib.c (next_uid): Renamed from...
37936 (next_unknown_value): ... this.
37937 (cselib_clear_table): Adjust.
37938 (cselib_reset_table): Adjust. Renamed from...
37939 (cselib_reset_table_with_next_value): ... this.
37940 (cselib_get_next_uid): Adjust. Renamed from...
37941 (cselib_get_next_unknown_value): ... this.
37942 (get_value_hash): Use hash.
37943 (cselib_hash_rtx): Likewise.
37944 (new_cselib_val): Adjust. Set and dump uid.
37945 (cselib_lookup_mem): Pass next_uid as hash.
37946 (cselib_subst_to_values): Likewise.
37947 (cselib_log_lookup): Dump uid.
37948 (cselib_lookup): Pass next_uid as hash. Adjust.
37949 (cselib_process_insn): Adjust.
37950 (cselib_init): Initialize next_uid.
37951 (cselib_finish): Adjust.
37952 (dump_cselib_table): Likewise.
37953 * dse.c (canon_address): Dump value uid.
37954 * print-rtl.c (print_rtx): Print value uid.
37955 * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
37956 (dvuid): New type.
37957 (dv_uid): New function, sort of renamed from...
37958 (dv_htab_hash): ... this, reimplemented in terms of it and...
37959 (dv_uid2hash): ... this. New.
37960 (variable_htab_eq): Drop excess assertions.
37961 (tie_break_pointers): Removed.
37962 (canon_value_cmp): Compare uids.
37963 (variable_post_merge_New_vals): Print uids.
37964 (vt_add_function_parameters): Adjust.
37965 (vt_initialize): Reset table. Adjust.
37966
37967 2010-02-03 Richard Guenther <rguenther@suse.de>
37968
37969 PR tree-optimization/42944
37970 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
37971 (call_may_clobber_ref_p_1): Likewise. Properly handle
37972 malloc and calloc clobbering errno.
37973
37974 2010-02-03 Steven Bosscher <steven@gcc.gnu.org>
37975
37976 * doc/invoke.texi: Fix name of sched1 dump.
37977
37978 * opts.c (decode_options): Set flag_tree_switch_conversion
37979 only conditionally on optimize >= 2.
37980
37981 * gcse.c: Assorted comment fixes in pass description.
37982
37983 2010-02-03 Anthony Green <green@moxielogic.com>
37984
37985 * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
37986 nop padding in order to maintain alignment of storage location of
37987 target function address.
37988 (moxie_trampoline_init): Store target function address at newly
37989 aligned location.
37990 * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
37991 to 32.
37992 (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
37993
37994 2010-02-03 Richard Guenther <rguenther@suse.de>
37995
37996 PR middle-end/42927
37997 * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
37998
37999 2010-02-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
38000
38001 * config.gcc: Reenable check for obsolete targets.
38002 Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
38003 mips-sgi-irix6.[0-4]*.
38004
38005 2010-02-02 Nick Clifton <nickc@redhat.com>
38006
38007 * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
38008 constant size of 4 as being the same as 0.
38009 * doc/invoke.texi (RX Options): Document that -mmax-constant-size
38010 can take values in the range 0..4.
38011
38012 2010-02-02 Jack Howarth <howarth@bromo.med.uc.edu>
38013
38014 PR java/41991
38015 * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
38016 as _darwin10_Unwind_FindEnclosingFunction().
38017 * libgcc-libsystem.ver: New.
38018
38019 2010-02-01 Vladimir Makarov <vmakarov@redhat.com>
38020
38021 PR target/41399
38022 * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
38023 implicitly set registers.
38024
38025 2010-02-01 Richard Earnshaw <rearnsha@arm.com>
38026
38027 * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
38028 (arm_override_options): Allow automatic selection of the thread
38029 pointer register if thumb2.
38030 (legitimize_pic_address): Improve code sequences for Thumb2.
38031 (arm_call_tls_get_addr): Likewise.
38032 (legitimize_tls_address): Likewise.
38033 * arm.md (pic_load_addr_arm): Delete. Replace with ...
38034 (pic_load_addr_32bit): ... this. New named pattern.
38035 * thumb2.md (pic_load_addr_thumb2): Delete.
38036 (pic_load_dot_plus_four): Delete.
38037 (tls_load_dot_plus_four): New named pattern.
38038
38039 2010-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
38040
38041 PR libgomp/29986
38042 * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
38043 Document fix for TLS bug.
38044
38045 2010-01-31 Richard Guenther <rguenther@suse.de>
38046
38047 * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
38048 conservatively correct.
38049
38050 2010-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
38051
38052 PR target/42850
38053 Revert:
38054 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
38055
38056 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
38057
38058 2010-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
38059
38060 * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
38061
38062 2010-01-31 Kai Tietz <kai.tietz@onevision.com>
38063
38064 * config.gcc: Adjust order of makefile fragments for mingw targets.
38065
38066 2010-01-31 Richard Guenther <rguenther@suse.de>
38067
38068 PR middle-end/42898
38069 * gimplify.c (gimplify_init_constructor): For volatile LHS
38070 initialize a temporary.
38071
38072 2010-01-31 Matthias Klose <doko@ubuntu.com>
38073
38074 * configure.ac: Fix __stack_chk_fail check for cross builds configured
38075 --with-headers
38076 * configure: Regenerate.
38077
38078 2010-01-29 Eric Botcazou <ebotcazou@adacore.com>
38079
38080 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
38081 the same alias set and their sizes different constantness.
38082 (aliasing_component_refs_p): Revert 2009-10-24 change.
38083
38084 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
38085
38086 * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
38087 unused.
38088
38089 2010-01-29 Richard Guenther <rguenther@suse.de>
38090
38091 * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
38092 Assert we successfully updated the call.
38093
38094 2010-01-29 Jakub Jelinek <jakub@redhat.com>
38095
38096 PR rtl-optimization/42889
38097 * df.h (df_set_bb_dirty_nonlr): New prototype.
38098 * df-core.c (df_set_bb_dirty_nonlr): New function.
38099 * df-scan.c (df_insn_rescan): Call it instead of
38100 df_set_bb_dirty for DEBUG_INSNs.
38101
38102 2010-01-29 Richard Guenther <rguenther@suse.de>
38103
38104 PR middle-end/37448
38105 * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
38106 quadratic behavior in most cases.
38107
38108 2010-01-28 Uros Bizjak <ubizjak@gmail.com>
38109
38110 PR target/42891
38111 * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
38112 in the call to gen_x86_movsicc_0_m1.
38113
38114 2010-01-28 Richard Guenther <rguenther@suse.de>
38115
38116 PR tree-optimization/42871
38117 * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
38118
38119 2010-01-28 Richard Guenther <rguenther@suse.de>
38120
38121 * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
38122 into call arguments.
38123
38124 2010-01-28 Richard Guenther <rguenther@suse.de>
38125
38126 PR middle-end/42883
38127 * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
38128 the forwarder if the destination is an EH landing pad.
38129
38130 2010-01-28 Razya Ladelsky <razya@il.ibm.com>
38131
38132 * tree-parloops.c (transform_to_exit_first_loop): Update the basic
38133 block list passed to gimple_duplicate_sese_tail.
38134 (parallelize_loops): Avoid parallelization when the function
38135 has_nonlocal_label.
38136 Avoid parallelization when the preheader is IRREDUCIBLE.
38137 Try to optimize when estimated_loop_iterations_int is unresolved.
38138 Add the loop's location to the dump file.
38139 * tree-cfg.c (add_phi_args_after_redirect): Remove.
38140 (gimple_duplicate_sese_tail): Remove the check for the latch.
38141 Redirect nexits to the exit block.
38142 Remove handling of the incoming edges to the latch.
38143 Redirect the backedge from the copied latch to the exit bb.
38144
38145 2010-01-28 Michael Matz <matz@suse.de>
38146
38147 PR target/42881
38148 * config/i386/i386.c (ix86_expand_vector_init_duplicate):
38149 Wrap force_reg into a sequence, emit it before user.
38150
38151 2010-01-28 Stephen Thomas <stephen.thomas@arm.com>
38152
38153 * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
38154 (arm_rev): New.
38155 (arm_legacy_rev): Likewise.
38156 (thumb_legacy_rev): Likewise.
38157
38158 2010-01-27 Jakub Jelinek <jakub@redhat.com>
38159
38160 * dwarf2out.c (mem_loc_descriptor): Remove special casing of
38161 CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call
38162 on MEM's address failed, try avoid_constant_pool_reference and
38163 recurse if it returned something different.
38164 (loc_descriptor): If for MEM mem_loc_descriptor failed on the
38165 address, try avoid_constant_pool_reference and recurse if it
38166 returned something different.
38167 (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
38168 address and avoid_constant_pool_reference returned something
38169 different, don't set have_address.
38170
38171 2010-01-27 Alexandre Oliva <aoliva@redhat.com>
38172
38173 PR debug/42861
38174 * var-tracking.c (val_store): Add modified argument, obey it.
38175 Adjust callers.
38176 (count_uses): Move down logging of main.
38177 (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
38178 don't need resolution.
38179 (emit_notes_in_bb): Likewise.
38180
38181 2010-01-27 Richard Guenther <rguenther@suse.de>
38182
38183 PR middle-end/42878
38184 * tree-inline.c (remap_decl): Delay remapping of SSA name
38185 default definitions until we need them.
38186
38187 2010-01-27 Jakub Jelinek <jakub@redhat.com>
38188
38189 * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
38190 (rs6000_delegitimize_address): New function.
38191
38192 * config/s390/s390.c (s390_delegitimize_address): Call
38193 delegitimize_mem_from_attrs.
38194
38195 PR middle-end/42874
38196 * tree-inline.c (cannot_copy_type_1): Removed.
38197 (copy_forbidden): Don't forbid copying of functions containing
38198 records/unions with variable length fields.
38199
38200 2010-01-27 Christian Bruel <christian.bruel@st.com>
38201
38202 Revert:
38203 PR target/42841
38204 * config/sh/sh.c (find_barrier): Increase length for non delayed
38205 conditional branches.
38206
38207 2010-01-27 Matthias Klose <doko@ubuntu.com>
38208
38209 * configure.ac (gnu-unique-object): Fix ldd version check.
38210 * configure: Regenerate.
38211
38212 2010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
38213
38214 * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
38215 HAVE_GNU_AS value.
38216 * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
38217 Test for HAVE_GNU_AS value.
38218
38219 2010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
38220
38221 * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
38222 * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
38223 INT64_TYPE): Define.
38224 (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
38225 (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
38226 INT_LEAST64_TYPE): Define.
38227 (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
38228 UINT_LEAST64_TYPE): Define.
38229 (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
38230 INT_FAST64_TYPE): Define.
38231 (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
38232 UINT_FAST64_TYPE): Define.
38233 (INTMAX_TYPE, UINTMAX_TYPE): Define.
38234 (INTPTR_TYPE, UINTPTR_TYPE): Define.
38235 (SIG_ATOMIC_TYPE): Define.
38236
38237 2010-01-26 Richard Guenther <rguenther@suse.de>
38238
38239 * df-scan.c (df_scan_set_bb_info): Remove assert.
38240 (df_insn_rescan_debug_internal): Merge asserts.
38241 (df_install_ref): Likewise.
38242 (df_mark_reg): Use bitmap_set_range.
38243 (df_hard_reg_used_p): Remove assert.
38244 (df_hard_reg_used_count): Likewise.
38245
38246 2010-01-26 Richard Guenther <rguenther@suse.de>
38247
38248 PR rtl-optimization/42685
38249 * web.c (web_main): Ignore DEBUG_INSNs.
38250
38251 2010-01-26 Joern Rennecke <amylaar@spamcop.net>
38252
38253 * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
38254
38255 (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
38256 Fix types of fndecl and arglist parameters.
38257
38258 2010-01-26 Richard Guenther <rguenther@suse.de>
38259
38260 PR middle-end/42806
38261 * tree-eh.c (unsplit_eh): Skip debug insns.
38262
38263 2010-01-26 Richard Guenther <rguenther@suse.de>
38264
38265 PR tree-optimization/42250
38266 * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
38267
38268 2010-01-26 Jakub Jelinek <jakub@redhat.com>
38269
38270 PR fortran/42866
38271 * omp-low.c (expand_omp_sections): Only use single_pred if
38272 l2_bb is single_pred_p.
38273
38274 2010-01-25 Christian Bruel <christian.bruel@st.com>
38275
38276 PR target/42841
38277 * config/sh/sh.c (find_barrier): Increase length for non delayed
38278 conditional branches.
38279 (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
38280
38281 2010-01-24 David S. Miller <davem@davemloft.net>
38282
38283 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
38284 define if not using GAS.
38285 * config/sparc/sparc.c (sparc_elf_asm_named_section):
38286 Likewise. Delete SECTION_MERGE code, which is only applicable
38287 when using GAS.
38288
38289 2010-01-24 Mark Mitchell <mark@codesourcery.com>
38290
38291 PR c++/42748
38292 * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
38293 mangling of va_list in system headers.
38294
38295 2010-01-23 Toon Moene <toon@moene.org>
38296
38297 * tree-predcom.c (combine_chains): Return NULL, not false.
38298
38299 2010-01-23 Joern Rennecke <amylaar@spamcop.net>
38300
38301 * tree-loop-distribution.c (distribute_loop): Fix declaration and
38302 initialization of variable res to agree with return type.
38303
38304 2010-01-22 Steve Ellcey <sje@cup.hp.com>
38305
38306 * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
38307 * tree-sra.c: Add include of expr.h.
38308
38309 2010-01-22 Jakub Jelinek <jakub@redhat.com>
38310
38311 * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
38312 insert the debug stmt on the single non-EH edge from the stmt.
38313
38314 2010-01-22 Richard Henderson <rth@redhat.com>
38315
38316 PR tree-opt/42833
38317 * tree-sra.c (sra_modify_assign): Delay re-gimplification of
38318 the RHS until after generate_subtree_copies has insertted its
38319 code before the current statement.
38320
38321 2010-01-22 Joern Rennecke <amylaar@spamcop.net>
38322
38323 * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
38324
38325 * gcc-plugin.h (plugin_init): Use "C" likage for c++.
38326
38327 2010-01-21 Martin Jambor <mjambor@suse.cz>
38328
38329 PR tree-optimization/42585
38330 * tree-sra.c (struct access): New field grp_total_scalarization.
38331 (dump_access): Dump the new field.
38332 (should_scalarize_away_bitmap): New variable.
38333 (cannot_scalarize_away_bitmap): Likewise.
38334 (sra_initialize): Allocate new bitmaps.
38335 (sra_deinitialize): Free new bitmaps.
38336 (create_access_1): New function.
38337 (create_access): Parts moved to create_access_1.
38338 (type_consists_of_records_p): New function.
38339 (completely_scalarize_record): Likewise.
38340 (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
38341 (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
38342 (sort_and_splice_var_accesses): Hint groups with a total_scalarization
38343 access.
38344 (analyze_all_variable_accesses): Completely scalarize small eligible
38345 records.
38346
38347 2010-01-21 Martin Jambor <mjambor@suse.cz>
38348
38349 * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
38350
38351 2010-01-21 Andrew Haley <aph@redhat.com>
38352
38353 * gcc.c (process_command): Move lang_specific_driver before
38354 setting cc_libexec_prefix.
38355
38356 2010-01-21 Richard Guenther <rguenther@suse.de>
38357
38358 PR middle-end/19988
38359 * fold-const.c (negate_expr_p): Pretend only negative
38360 real constants are easily negatable.
38361
38362 2010-01-20 Janis Johnson <janis187@us.ibm.com>
38363 Jason Merrill <jason@redhat.com>
38364
38365 * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
38366 (TYPE_TRANSPARENT_AGGR): this, for union and record.
38367 * calls.c (initialize argument_information): Handle it.
38368 * c-common.c (handle_transparent_union_attribute): Use new name.
38369 * c-decl.c (finish_struct): Ditto.
38370 * c-typeck.c (type_lists_compatible_p): Ditto.
38371 (convert_for_assignment): Use new name and also handle record.
38372 * function.c (aggregate_value_p): Handle it.
38373 (pass_by_reference): Ditto.
38374 (assign_parm_data_types): Ditto.
38375 * print-tree.c (print_node): Ditto.
38376 * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
38377 * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
38378 * tree.c (first_field): New fn.
38379
38380 2010-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
38381
38382 PR target/42818
38383 * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
38384 even when linking statically, for now.
38385
38386 2010-01-20 Alexandre Oliva <aoliva@redhat.com>
38387
38388 PR debug/42715
38389 * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
38390 without a cselib val.
38391 (count_uses): Accept MO_VAL_SET with no val on stores.
38392 (add_stores): Likewise.
38393
38394 2010-01-20 Jakub Jelinek <jakub@redhat.com>
38395
38396 * var-tracking.c (check_value_val): Add a compile time assertion.
38397 (dv_is_decl_p): Simplify.
38398 (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
38399 gcc_assert if ENABLE_CHECKING.
38400
38401 2010-01-20 Alexandre Oliva <aoliva@redhat.com>
38402
38403 PR debug/42782
38404 * var-tracking.c: Include tree-flow.h.
38405 (mem_dies_at_call): New.
38406 (dataflow_set_preserve_mem_locs): Use it.
38407 (dataflow_set_remove_mem_locs): Likewise.
38408 (dump_var): Renamed from dump_variable. Adjust all callers.
38409 (dump_var_slot): Renamed from dump_variable_slot. Likewise.
38410 * Makefile.in (var-tracking.o): Adjust deps.
38411
38412 2010-01-20 Joern Rennecke <amylaar@spamcop.net>
38413
38414 * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
38415
38416 2010-01-20 Richard Guenther <rguenther@suse.de>
38417
38418 PR tree-optimization/42717
38419 * tree-ssa-dce.c (get_live_post_dom): Remove.
38420 (forward_edge_to_pdom): Take an arbitrary edge to copy
38421 degenerate PHI args from.
38422 (remove_dead_stmt): Use the first post-dominator even if it
38423 does not contain live statements as redirection destination.
38424
38425 2010-01-20 Richard Guenther <rguenther@suse.de>
38426
38427 * tree-inline.c (estimate_num_insns): Handle EH builtins.
38428
38429 2010-01-20 Jakub Jelinek <jakub@redhat.com>
38430
38431 * sel-sched.c (create_speculation_check): Remove set but not used
38432 variable twin.
38433 (try_transformation_cache): Remove set but not used variable ds.
38434 (calculate_privileged_insns): Remove set but not used variables
38435 cur_insn and min_spec_insn.
38436 (find_best_expr): Remove set but not used variable avail_n.
38437 * tree-predcom.c (base_names_in_chain_on): Remove set but not used
38438 variable e.
38439 * cgraphunit.c (assemble_thunk): Remove set but not used variable
38440 false_label.
38441 * haifa-sched.c (remove_notes): Remove set but not used variable prev.
38442 * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
38443 new_scop_exit_edge.
38444
38445 2010-01-20 Felyza Wishbringer <fwishbringer@gmail.com>
38446
38447 PR bootstrap/42786
38448 * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
38449 cpu types. Add support for *-sse3 cpu types.
38450 (x86_64-*-*): Ditto.
38451
38452 2010-01-20 Jakub Jelinek <jakub@redhat.com>
38453
38454 PR middle-end/42803
38455 * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
38456 argument, call initializer_constant_valid_p_1 instead of
38457 initializer_constant_valid_p, pass CACHE to it, return NULL
38458 immediately if first call returns NULL.
38459 (initializer_constant_valid_p_1): New function.
38460 (initializer_constant_valid_p): Use it.
38461
38462 2010-01-20 Thomas Quinot <quinot@adacore.com>
38463
38464 * tree.def (PLACEHOLDER_EXPR): Fix comment.
38465
38466 2010-01-20 Jakub Jelinek <jakub@redhat.com>
38467
38468 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
38469 of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
38470 (loc_list_from_tree): Don't handle unsigned division. Handle
38471 signed modulo using DW_OP_{over,over,div,mul,minus}.
38472 * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
38473 modulo instead of signed.
38474
38475 2010-01-20 DJ Delorie <dj@redhat.com>
38476
38477 * config/h8300/h8300.c (F): Add "in_epilogue" flag.
38478 (Fpa): Pass it
38479 (h8300_emit_stack_adjustment): Propogate it.
38480 (push): Pass it.
38481 (h8300_expand_prologue): Likewise.
38482 (h8300_expand_epilogue): Likewise.
38483
38484 2010-01-19 Michael Matz <matz@suse.de>
38485
38486 PR tree-optimization/41783
38487 * tree-data-ref.c (toplevel): Include flags.h.
38488 (dump_data_dependence_relation): Also dump the inputs if the
38489 result will be unknown.
38490 (split_constant_offset_1): Look through some conversions.
38491 * tree-predcom.c (determine_roots_comp): Restart a new chain if
38492 the offset from last element is too large.
38493 (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
38494 (reassociate_to_the_same_stmt): Handle vector registers.
38495 * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
38496 (e.g. conversions).
38497 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
38498 wide_prolog_niters argument, emit widening instructions.
38499 (vect_do_peeling_for_alignment): Adjust caller, use widened
38500 variant of the iteration cound.
38501 * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
38502
38503 2010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
38504
38505 PR target/38697
38506 * config/arm/neon-testgen.m (emit_automatics): New parameter
38507 features. Adjust for Fixed_return_reg feature.
38508 (test_intrinsic): Call emit_automatics with new feature.
38509 * config/arm/neon.ml: Update copyright years.
38510 (features): New Fixed_return_reg feature.
38511 (ops): Update feature for Vget_low.
38512
38513 2010-01-19 Jakub Jelinek <jakub@redhat.com>
38514
38515 PR tree-optimization/42719
38516 * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
38517 stmt uses.
38518
38519 PR debug/42728
38520 * fwprop.c (all_uses_available_at): Return false if def_set dest
38521 is a REG that is used in def_insn.
38522
38523 2010-01-19 Joern Rennecke <amylaar@spamcop.net>
38524
38525 * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
38526
38527 (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
38528 Add argument names.
38529
38530 (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
38531
38532 * target.h (struct gcc_target) <secondary_reload>: Change type
38533 of last argument to secondary_reload_info *.
38534
38535 2010-01-18 Uros Bizjak <ubizjak@gmail.com>
38536
38537 PR target/42774
38538 * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
38539 memory references with unaligned offsets. Remove CQImode handling.
38540 (unaligned_memory_operand): Return 1 for memory references with
38541 unaligned offsets. Remove CQImode handling.
38542
38543 2010-01-18 Richard Guenther <rguenther@suse.de>
38544
38545 PR middle-end/39954
38546 * cfgexpand.c (expand_call_stmt): TER pointer arguments in
38547 builtin calls.
38548
38549 2010-01-18 Richard Guenther <rguenther@suse.de>
38550
38551 PR tree-optimization/42781
38552 * tree-ssa-structalias.c (find_what_var_points_to): Skip
38553 restrict processing only if the original variable was artificial.
38554
38555 2010-01-18 Joern Rennecke <amylaar@spamcop.net>
38556
38557 * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
38558 find number of popped argument bytes.
38559
38560 (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
38561 Fix the text that describes the return value for invalid insns.
38562
38563 (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list.
38564
38565 (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
38566 Clarify what 'cost of the -dependence' is. Fix quoting.
38567
38568 * toplev.c (default_get_pch_validity): Rename argument to "sz".
38569 * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
38570
38571 2010-01-17 Jakub Jelinek <jakub@redhat.com>
38572
38573 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
38574 {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
38575
38576 2010-01-17 Richard Guenther <rguenther@suse.de>
38577
38578 PR middle-end/42248
38579 * function.c (split_complex_args): Take a VEC to modify.
38580 (assign_parms_augmented_arg_list): Build a VEC instead of
38581 a chain of PARM_DECLs.
38582 (assign_parms_unsplit_complex): Take a VEC of arguments.
38583 Do not fixup unmodified parms.
38584 (assign_parms): Deal with the VEC.
38585 (gimplify_parameters): Likewise.
38586
38587 2010-01-17 Richard Guenther <rguenther@suse.de>
38588
38589 * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
38590 node existence check.
38591 * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
38592 * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
38593 * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
38594 * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
38595 (gimple_execute_on_growing_pred): Likewise.
38596
38597 2010-01-17 Richard Guenther <rguenther@suse.de>
38598
38599 PR tree-optimization/42773
38600 * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
38601 (compute_antic_aux): Likewise.
38602 (compute_partial_antic_aux): Likewise.
38603
38604 2010-01-17 Jie Zhang <jie.zhang@analog.com>
38605
38606 PR debug/42767
38607 * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
38608 and US_TRUNCATE.
38609
38610 2010-01-17 Joern Rennecke <amylaar@spamcop.net>
38611
38612 * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
38613 appearance.
38614
38615 (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
38616 Fix markup for strict argument.
38617
38618 (TARGET_SCHED_REORDER2): Fix argument types.
38619
38620 (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
38621 (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
38622
38623 (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
38624 (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
38625
38626 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
38627 Add argument name.
38628
38629 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
38630 (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
38631 (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
38632 (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
38633 (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
38634
38635 (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
38636
38637 (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
38638
38639 (TARGET_ASM_RELOC_RW_MASK): Add return type.
38640 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
38641
38642 (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
38643
38644 (TARGET_ASM_FILE_START): Put @findex before paragraph start.
38645 Use prototype.
38646
38647 (TARGET_ASM_NAMED_SECTION): Fix argument list.
38648
38649 (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
38650 (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
38651
38652 (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
38653
38654 (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
38655
38656 (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
38657 referring to it. Fix language.
38658
38659 (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
38660
38661 (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
38662
38663 (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
38664
38665 (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
38666
38667 (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
38668 '@var{stream}. Remove stray 'and'.
38669
38670 (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
38671
38672 (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
38673
38674 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
38675
38676 (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
38677 misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
38678
38679 (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
38680 Fix description of return value.
38681 Rename argument "sz" to "len."
38682
38683 (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
38684 Clarify meaning of 'true' return value.
38685
38686 (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
38687
38688 (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
38689 rep_mode versus mode_rep.
38690
38691 (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
38692
38693 (TARGET_BUILTIN_DECL): Fix name.
38694
38695 (TARGET_COMMUTATIVE_P): Fix type of first argument.
38696
38697 (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
38698
38699 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
38700
38701 (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
38702
38703 (TARGET_RELAXED_ORDERING): Use @deftypevr.
38704
38705 (TARGET_GET_DRAP_RTX): Note that this is a hook.
38706 Clarify language.
38707
38708 (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
38709 Rename argument tm_fn to md_fn.
38710
38711 (TARGET_OPTION_PRINT): Fix argument list.
38712
38713 2010-01-16 Harsha Jagasia <harsha.jagasia@amd.com>
38714
38715 PR target/42664
38716 * config/i386/i386.c (ix86_fixup_binary_operands):
38717 Revert FMA4 fixup of operands.
38718
38719 2010-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
38720
38721 PR other/42525
38722 * Makefile.in (write_entries_to_file, install-plugin):
38723 Use \012 instead of \n with tr.
38724
38725 2010-01-16 Richard Sandiford <r.sandiford@uk.ibm.com>
38726
38727 * configure.ac (HAVE_AS_REF): New C macro.
38728 * configure: Regenerate.
38729 * config.in: Likewise.
38730 * collect2.c (main): Only postpone SCAN_DWEH to the second pass
38731 if HAVE_AS_REF.
38732 * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
38733 if HAVE_AS_REF.
38734
38735 2010-01-16 Joern Rennecke <amylaar@spamcop.net>
38736
38737 * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
38738
38739 (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
38740
38741 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
38742
38743 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
38744
38745 (TARGET_IN_SMALL_DATA_P): Fix argument type.
38746
38747 (TARGET_BINDS_LOCAL_P): Fix argument type.
38748
38749 (TARGET_ASM_FILE_END): Use prototype.
38750
38751 (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
38752
38753 (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
38754
38755 (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
38756
38757 (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
38758
38759 (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
38760 (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
38761
38762 (TARGET_PCH_VALID_P): Put 'const char *' in braces.
38763 (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
38764
38765 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
38766 (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
38767 (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
38768 (TARGET_ADDR_SPACE_CONVERT): Likewise.
38769
38770 (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
38771
38772 (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
38773
38774 (TARGET_INIT_BUILTINS): Use prototype.
38775
38776 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
38777 Put 'const char *' in braces. Fix parameter types.
38778 (TARGET_INVALID_CONVERSION): Fix parameter types.
38779 (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
38780 (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
38781
38782 (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
38783 Fix argument type.
38784
38785 (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
38786
38787 (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
38788
38789 2010-01-15 Joern Rennecke <amylaar@spamcop.net>
38790
38791 * doc/tm.texi (TARGET_HELP): Fix return type.
38792
38793 (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
38794 in braces. Fix argument types.
38795
38796 (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
38797
38798 (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
38799
38800 (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
38801
38802 (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
38803 (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
38804
38805 (TARGET_MANGLE_TYPE): Fix argument types.
38806
38807 (TARGET_IRA_COVER_CLASSES): Use prototype.
38808
38809 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype.
38810
38811 (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
38812
38813 (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
38814
38815 (TARGET_MUST_PASS_IN_STACK): Fix argument type.
38816
38817 (TARGET_CALLEE_COPIES): Fix argument types.
38818
38819 (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
38820
38821 (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
38822
38823 (TARGET_FUNCTION_VALUE): Fix argument types.
38824
38825 (TARGET_RETURN_IN_MSB): Fix argument type.
38826
38827 (TARGET_RETURN_IN_MEMORY): Fix argument types.
38828
38829 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
38830
38831 (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
38832
38833 (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
38834 agree with return type.
38835
38836 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
38837
38838 2010-01-15 Jing Yu <jingyu@google.com>
38839
38840 PR rtl-optimization/42691
38841 * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
38842 a pseudo to a constant and are merged, and adjust comments.
38843
38844 2010-01-15 Eric Botcazou <ebotcazou@adacore.com>
38845
38846 * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
38847
38848 2010-01-15 Richard Guenther <rguenther@suse.de>
38849
38850 PR middle-end/42739
38851 * tree-cfgcleanup.c (remove_forwarder_block): Move destination
38852 labels of computed or non-local gotos to the destination.
38853 * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
38854 landing pad label is the first label.
38855
38856 2010-01-15 Richard Guenther <rguenther@suse.de>
38857
38858 * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
38859
38860 2010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
38861
38862 PR target/42747
38863 * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
38864 to allow generation of the xssqrtdp instruction on power7.
38865 (sqrtdf2_fpr): Ditto.
38866
38867 2010-01-14 Jakub Jelinek <jakub@redhat.com>
38868
38869 PR middle-end/42674
38870 * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
38871 functions with noreturn attribute.
38872
38873 PR c++/42608
38874 * varasm.c (declare_weak): Add weak attribute to decl if it
38875 doesn't have one already.
38876 (assemble_external): Only add decls to weak_decls if they also
38877 have weak attribute.
38878
38879 2010-01-14 Alexandre Oliva <aoliva@redhat.com>
38880
38881 * var-tracking.c (var_reg_delete): Don't delete the association
38882 between REGs and values or one-part variables if the register
38883 isn't clobbered.
38884
38885 2010-01-14 Jakub Jelinek <jakub@redhat.com>
38886
38887 PR debug/42657
38888 * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
38889 because its first operand is a non-localized variable.
38890
38891 2010-01-14 Martin Jambor <mjambor@suse.cz>
38892
38893 PR tree-optimization/42706
38894 * tree-sra.c (encountered_recursive_call): New variable.
38895 (encountered_unchangable_recursive_call): Likewise.
38896 (sra_initialize): Initialize both new variables.
38897 (callsite_has_enough_arguments_p): New function.
38898 (scan_function): Call decl and flags check only for IPA-SRA, check
38899 whether there is a recursive call and whether it has enough arguments.
38900 (all_callers_have_enough_arguments_p): New function.
38901 (convert_callers): Look for recursive calls only when
38902 encountered_recursive_call is set.
38903 (ipa_early_sra): Bail out either if
38904 !all_callers_have_enough_arguments_p or
38905 encountered_unchangable_recursive_call.
38906
38907 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
38908
38909 * sel-sched.c: Add 2010 to copyright years.
38910 * sel-sched-ir.c: Likewise.
38911 * sel-sched-ir.h: Likewise.
38912
38913 2010-01-14 Martin Jambor <mjambor@suse.cz>
38914
38915 PR tree-optimization/42714
38916 * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
38917 constructors specially.
38918
38919 2010-01-14 Andi Kleen <ak@linux.intel.com>
38920
38921 * config/i386/drivers-i386.c (detect_caches_intel):
38922 Add l2sizekb parameter and fill in.
38923 (host_detect_local_cpu): Add l2sizekb, fill in.
38924 Add Atom small cache heuristic.
38925
38926 2010-01-14 Andi Kleen <ak@linux.intel.com>
38927
38928 * config/i386/drivers-i386.c (detect_caches_cpuid4):
38929 Add level3 parameter and fill in.
38930 (detect_caches_intel): Handle level3 cache.
38931
38932 2010-01-14 Andi Kleen <ak@linux.intel.com>
38933
38934 * config/i386/drivers-i386.c (host_detect_local_cpu):
38935 Fix core duo detection.
38936
38937 2010-01-14 Andi Kleen <ak@linux.intel.com>
38938
38939 * config/i386/drivers-i386.c (host_detect_local_cpu):
38940 Fix Atom detection.
38941
38942 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
38943
38944 * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
38945 (rs6000_variable_issue_1): this. Use...
38946 (rs6000_variable_issue): here. Reimplement. Print debug info.
38947
38948 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
38949
38950 * sel-sched-ir.c (sel_restore_other_notes): Rename to
38951 sel_restore_notes. Update all callers. Call reemit_notes
38952 for all insns.
38953
38954 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
38955
38956 PR rtl-optimization/42246
38957 * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
38958 loops.
38959
38960 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
38961
38962 * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
38963 all successors is the same as number of successors in current region.
38964
38965 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
38966
38967 * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
38968 to rename is not separable. Otherwise check that its LHS is not NULL.
38969
38970 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
38971
38972 * sel-sched.c (choose_best_reg_1): Loop over all regs for mode.
38973
38974 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
38975
38976 * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
38977 available registers when failed to discover LHS register class.
38978 Fix indentation. Update comment.
38979
38980 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
38981 Alexander Monakov <amonakov@ispras.ru>
38982
38983 PR rtl-optimization/42389
38984 * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
38985 to can_issue_more.
38986 (advance_state_on_fence): Likewise.
38987 (sel_target_adjust_priority): Print debug output only when
38988 sched_verbose >= 4, not 2.
38989 (get_expr_cost): Do not issue all unique insns on the next cycle.
38990 (fill_insns): Initialize can_issue_more from the value saved
38991 with the fence.
38992 * sel-sched-ir.c (flist_add): New parameter issue_more.
38993 Init FENCE_ISSUE_MORE with it.
38994 (merge_fences): Likewise.
38995 (init_fences): Update call to flist_add.
38996 (add_to_fences, add_clean_fence_to_fences)
38997 (add_dirty_fence_to_fences): Likewise.
38998 (move_fence_to_fences): Update call to merge_fences.
38999 (invoke_reorder_hooks): Do not reset can_issue_more on insns from
39000 sched groups.
39001 * sel-sched-ir.h (struct _fence): New field issue_more.
39002 (FENCE_ISSUE_MORE): New accessor macro.
39003
39004 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
39005
39006 PR rtl-optimization/42388
39007 * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
39008 that have no predecessors nor successors. Do not call move_bb_info
39009 for empty blocks outside of current region.
39010
39011 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
39012
39013 PR rtl-optimization/42294
39014 * sel-sched-ir.h (struct _sel_insn_data): Update comment.
39015 * sel-sched.c (move_exprs_to_boundary): Transitively add all
39016 originators' originators.
39017
39018 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
39019
39020 PR rtl-optimization/39453
39021 PR rtl-optimization/42246
39022 * sel-sched-ir.c (considered_for_pipelining_p): Do not test
39023 for pipelining_p.
39024 (sel_add_loop_preheaders): Add preheader to last_added_blocks.
39025
39026 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
39027 Alexander Monakov <amonakov@ispras.ru>
39028
39029 PR middle-end/42245
39030 * sel-sched-ir.c (sel_recompute_toporder): New. Use it...
39031 (maybe_tidy_empty_bb): ... here. Make static. Add new
39032 argument. Update all callers.
39033 (tidy_control_flow): ... and here. Recompute topological order
39034 of basic blocks in region if necessary.
39035 (sel_redirect_edge_and_branch): Change return type. Return true
39036 if topological order might have been invalidated.
39037 (purge_empty_blocks): Export and move from...
39038 * sel-sched.c (purge_empty_blocks): ... here.
39039 * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
39040 (maybe_tidy_empty_bb): Delete prototype.
39041 (purge_empty_blocks): Declare.
39042
39043 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
39044
39045 PR rtl-optimization/42249
39046 * sel-sched.c (try_replace_dest_reg): When chosen register
39047 and original register is the same, do not bail out early, but
39048 still check all original insns for validity of replacing destination
39049 register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function
39050 in this case.
39051
39052 2010-01-14 Jakub Jelinek <jakub@redhat.com>
39053
39054 PR c/42721
39055 Port from no-undefined-overflow branch:
39056 2009-03-09 Richard Guenther <rguenther@suse.de>
39057
39058 * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
39059
39060 2010-01-14 Richard Guenther <rguenther@suse.de>
39061
39062 PR lto/42665
39063 * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
39064
39065 2010-01-14 Ira Rosen <irar@il.ibm.com>
39066
39067 PR tree-optimization/42709
39068 * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
39069 as scalar type in creation of constant vector operand.
39070
39071 2010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
39072
39073 PR testsuite/42414
39074 * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
39075 (check-parallel-%): Match `testsuite' directory component only
39076 at the end.
39077
39078 2010-01-14 Shujing Zhao <pearly.zhao@oracle.com>
39079
39080 PR translation/39521
39081 * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
39082 strings with _().
39083
39084 2010-01-13 Richard Guenther <rguenther@suse.de>
39085
39086 PR tree-optimization/42730
39087 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
39088 offset zero.
39089
39090 2010-01-13 Steve Ellcey <sje@cup.hp.com>
39091
39092 PR target/pr42542
39093 * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
39094 for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
39095 them signed.
39096
39097 2010-01-13 Bernd Schmidt <bernd.schmidt@analog.com>
39098
39099 * config/bfin/libgcc-bfin.ver: Regenerate based on current
39100 libgcc-std.ver. Add entries for ___smulsi3_highpart and
39101 ___umulsi3_highpart.
39102
39103 * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
39104 rather than schedule_insns if the pass is enabled.
39105
39106 2010-01-13 Martin Jambor <mjambor@suse.cz>
39107
39108 PR tree-optimization/42704
39109 * tree-sra.c (sra_modify_assign): Do not delete assignments to
39110 SSA_NAMEs.
39111
39112 2010-01-13 Martin Jambor <mjambor@suse.cz>
39113
39114 PR tree-optimization/42703
39115 * tree-sra.c (analyze_access_subtree): Check that we can build a
39116 reference to the original data within the aggregate.
39117
39118 2010-01-13 Richard Guenther <rguenther@suse.de>
39119
39120 PR tree-optimization/42705
39121 * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
39122
39123 2010-01-13 Richard Guenther <rguenther@suse.de>
39124
39125 PR middle-end/42716
39126 * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
39127
39128 2010-01-13 Jakub Jelinek <jakub@redhat.com>
39129
39130 PR debug/41371
39131 * var-tracking.c (values_to_unmark): New variable.
39132 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
39133 values_to_unmark vector. Moved body to...
39134 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
39135 instead queue it into values_to_unmark vector.
39136 (vt_find_locations): Free values_to_unmark vector.
39137
39138 2010-01-13 Wolfgang Gellerich <gellerich@de.ibm.com>
39139
39140 * config/s390/s390.c (override_options): Set
39141 default of max-pending-list-length to 256
39142
39143 2010-01-13 Richard Guenther <rguenther@suse.de>
39144
39145 PR lto/42678
39146 * tree-pass.h (PROP_gimple_lcx): New.
39147 * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
39148 * passes.c (init_optimization_passes): Move pass_lower_complex_O0
39149 before the final cleanup_eh.
39150 (dump_properties): Dump PROP_gimple_lcx.
39151 * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
39152 (tree_lower_complex_O0): Remove.
39153 (gate_no_optimization): Run if PROP_gimple_lcx is not set.
39154 (pass_lower_complex_O0): Provide PROP_gimple_lcx. Run
39155 tree_lower_complex, schedule TODO_update_ssa.
39156 * lto-streamer-out.c (output_function): Stream the functions
39157 properties.
39158 * lto-streamer-in.c (input_function): Likewise.
39159 (lto_read_body): Do not override them here.
39160
39161 2010-01-12 Joseph Myers <joseph@codesourcery.com>
39162
39163 PR c/42708
39164 * c-typeck.c (build_c_cast): Fold value cast to union type before
39165 wrapping it in a CONSTRUCTOR.
39166
39167 2010-01-12 Jakub Jelinek <jakub@redhat.com>
39168
39169 PR rtl-optimization/42699
39170 * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
39171 involved.
39172
39173 2010-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
39174
39175 * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
39176 SUBTARGET_WARN_UNUSED_SPEC): Move ...
39177 config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
39178 SUBTARGET_WARN_UNUSED_SPEC): ... here
39179 * config/mips/iris5.h (LIBGCC_SPEC): Define.
39180
39181 2010-01-12 Julian Brown <julian@codesourcery.com>
39182
39183 * config/arm/neon-schedgen.ml (Utils): Don't try to
39184 open missing module.
39185 (find_with_result): New.
39186
39187 2010-01-12 Jakub Jelinek <jakub@redhat.com>
39188
39189 PR debug/42662
39190 * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
39191 sharing when canonicalizing ({lt,ge}u (plus a b) b).
39192
39193 PR tree-optimization/42645
39194 * tree-inline.c (processing_debug_stmt): Move earlier. Make static.
39195 (remap_ssa_name): If processing_debug_stmt and name wasn't found in
39196 decl_map, set processing_debug_stmt to -1 and return name without
39197 any remapping.
39198
39199 2010-01-11 Dave Korn <dave.korn.cygwin@gmail.com>
39200
39201 * doc/install.texi (Specific#x-x-cygwin): Document minimum required
39202 binutils version, and reword target configuration description.
39203
39204 2010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
39205
39206 * config/avr/avr.h (LINKER_NAME): Remove.
39207
39208 2010-01-11 Janis Johnson <janis187@us.ibm.com>
39209
39210 PR target/42416
39211 * config/rs6000/rs6000.c (rs6000_override_options): On targets
39212 that support VSX, warn for -mno-altivec if vsx is not disabled,
39213 and disable vsx.
39214
39215 2010-01-11 Joseph Myers <joseph@codesourcery.com>
39216 Shujing Zhao <pearly.zhao@oracle.com>
39217
39218 PR translation/42469
39219 * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
39220 fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
39221 character between option name and help text.
39222 * c.opt (imultilib): Likewise.
39223
39224 2010-01-10 Rafael Avila de Espindola <espindola@google.com>
39225
39226 * lto-streamer-out.c (output_unreferenced_globals): Output static
39227 variables.
39228
39229 2010-01-10 Steven Bosscher <steven@gcc.gnu.org>
39230
39231 PR rtl-optimization/42621
39232 * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
39233 optimizing for size.
39234 (duplicate_computed_gotos): Remove now-redundant check.
39235
39236 2010-01-10 Steve Ellcey <sje@cup.hp.com>
39237
39238 PR target/37454
39239 * configure.ac: Save and restore LDFLAGS and LIBS
39240 * configure: Regenerate.
39241
39242 2010-01-10 Richard Guenther <rguenther@suse.de>
39243
39244 PR middle-end/42667
39245 * builtins.c (fold_builtin_strlen): Add type argument and
39246 convert the resulting length to it.
39247 (fold_builtin_1): Adjust.
39248
39249 2010-01-09 Jakub Jelinek <jakub@redhat.com>
39250
39251 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
39252 sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
39253 1 insn.
39254 (num_insns_constant_wide): Adjust for that change.
39255
39256 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
39257
39258 PR debug/42631
39259 * web.c (union_defs): Add used argument, to combine uses of
39260 uninitialized regs.
39261 (entry_register): Adjust type and tests of used argument.
39262 (web_main): Widen used for new use. Pass it to union_defs.
39263 * df.h (union_defs): Adjust prototype.
39264
39265 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
39266
39267 PR debug/42630
39268 * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
39269 uses in new incoming argument. Free body.
39270 (reset_debug_uses_in_loop): New.
39271 (analyze_insn_to_expand_var): Call the latter if the former found
39272 anything. Fix whitespace. Reject invalid dest overlaps before
39273 going through all insns in the loop.
39274
39275 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
39276
39277 PR debug/42629
39278 * haifa-sched.c (dying_use_p): Debug insns don't count.
39279
39280 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
39281
39282 PR middle-end/42363
39283 * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
39284 * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
39285 (verify_gimple_call): Reject LHS in noreturn calls.
39286
39287 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
39288
39289 PR debug/42604
39290 PR debug/42395
39291 * tree-vect-loop-manip.c (adjust_info): New type.
39292 (adjust_vec): New pointer to vector.
39293 (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
39294 (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
39295 (slpeel_update_phis_for_duplicate_loop): Use them.
39296 (slpeel_update_phi_nodes_for_guard1): Likewise.
39297 (slpeel_update_phi_nodes_for_guard2): Likewise.
39298 (slpeel_tree_peel_loop_to_edge): Likewise.
39299 (vect_update_ivs_after_vectorizer): Likewise.
39300
39301 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
39302
39303 * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
39304 (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
39305
39306 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
39307
39308 * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
39309 bogus uninitialized warning.
39310
39311 2010-01-09 Richard Guenther <rguenther@suse.de>
39312
39313 PR middle-end/42512
39314 * tree-scalar-evolution.c (interpret_loop_phi): Make sure
39315 the evolution is compatible with the initial condition.
39316
39317 2010-01-09 Jakub Jelinek <jakub@redhat.com>
39318
39319 * gcc.c (process_command): Update copyright notice dates.
39320 * gcov.c (print_version): Likewise.
39321 * gcov-dump.c (print_version): Likewise.
39322 * mips-tfile.c (main): Likewise.
39323 * mips-tdump.c (main): Likewise.
39324
39325 2010-01-08 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
39326
39327 PR target/41885
39328 * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
39329 (rotlhi3): Delete.
39330 (rotlhi3_8): Delete.
39331 (rotlsi3): Delete.
39332 (rotlsi3_8): Delete.
39333 (rotlsi3_16): Delete.
39334 (rotlsi3_24): Delete.
39335 (rotl<mode>3): New.
39336 (*rotw<mode>3): New.
39337 (*rotb<mode>3): New.
39338 * config/avr/avr.c (avr_rotate_bytes): New function.
39339 * config/avr/avr-proto.h (avr_rotate_bytes): New function.
39340
39341 2010-01-08 Steve Ellcey <sje@cup.hp.com>
39342
39343 PR target/37454
39344 * configure.ac: Modify -rdynamic check.
39345 * configure: Regenerate.
39346
39347 2010-01-08 DJ Delorie <dj@redhat.com>
39348
39349 * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
39350 register popping order.
39351
39352 2010-01-08 Richard Guenther <rguenther@suse.de>
39353
39354 PR lto/42528
39355 * c.opt (fsigned-char): Also let LTO handle this option.
39356 (funsigned-char): Likewise.
39357
39358 2010-01-07 Richard Guenther <rguenther@suse.de>
39359
39360 * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
39361 (gimple_op): Likewise.
39362 (gimple_op_ptr): Likewise.
39363 (gimple_assign_set_lhs): Remove gcc_assert.
39364 (gimple_assign_set_rhs1): Likewise.
39365 (gimple_assign_set_rhs2): Likewise.
39366 (gimple_call_set_lhs): Likewise.
39367 (gimple_call_set_fn): Likewise.
39368 (gimple_call_set_fndecl): Likewise.
39369 (gimple_call_fndecl): Likewise.
39370 (gimple_call_return_type): Likewise.
39371 (gimple_call_set_chain): Likewise.
39372 (gimple_call_num_args): Likewise.
39373 (gimple_call_set_arg): Likewise.
39374 (gimple_cond_set_code): Likewise.
39375 (gimple_cond_set_lhs): Likewise.
39376 (gimple_cond_set_rhs): Likewise.
39377 (gimple_cond_set_true_label): Likewise.
39378 (gimple_cond_set_false_label): Likewise.
39379 (gimple_label_set_label): Likewise.
39380 (gimple_goto_set_dest): Likewise.
39381 (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
39382 (gimple_debug_bind_get_value): Likewise.
39383 (gimple_debug_bind_get_value_ptr): Likewise.
39384 (gimple_debug_bind_set_var): Likewise.
39385 (gimple_debug_bind_set_value): Likewise.
39386 (gimple_debug_bind_reset_value): Likewise.
39387 (gimple_debug_bind_has_value_p): Likewise.
39388 (gimple_return_retval_ptr): Remove gcc_assert.
39389 (gimple_return_retval): Likewise.
39390 (gimple_return_set_retval): Likewise.
39391 * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
39392 (safe_referenced_var_iterator): Remove.
39393 (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
39394 * tree-flow-inline.h (gimple_nonlocal_all): Remove.
39395 (fill_referenced_var_vec): Remove.
39396 (first_readonly_imm_use): Remove redundant gcc_assert.
39397 (phi_arg_index_from_use): Combine gcc_asserts.
39398 (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
39399 (first_imm_use_stmt): Remove redundant gcc_assert.
39400 * tree-cfg.c (verify_gimple_call): Verify function and chain
39401 operands. Verify arguments.
39402 (verify_types_in_gimple_stmt): Verify condition code and labels.
39403
39404 2010-01-07 Richard Guenther <rguenther@suse.de>
39405
39406 PR tree-optimization/42641
39407 * sese.c (rename_map_elt_info): Use the SSA name version, do
39408 not hash pointers.
39409
39410 2010-01-07 Jakub Jelinek <jakub@redhat.com>
39411
39412 PR tree-optimization/42625
39413 * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
39414 TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
39415
39416 2010-01-07 Duncan Sands <baldrick@free.fr>
39417
39418 * Makefile.in (PLUGIN_HEADERS): Add version.h.
39419
39420 2010-01-07 Uros Bizjak <ubizjak@gmail.com>
39421
39422 PR target/42511
39423 * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
39424 note itself is not function_invariant_p.
39425
39426 2009-01-07 Steven Bosscher <steven@gcc.gnu.org>
39427
39428 * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
39429 Do not add the DF_NOTE problem.
39430 * store-motion.c (execute_rtl_store_motion): Likewise.
39431
39432 2010-01-07 Martin Jambor <mjambor@suse.cz>
39433
39434 PR tree-optimization/42157
39435 * tree-sra.c (compare_access_positions): Stabilize sort if both
39436 accesses have integer types, return zero immediately if they are the
39437 same.
39438
39439 2010-01-06 Richard Henderson <rth@redhat.com>
39440
39441 PR middle-end/41883
39442 * haifa-sched.c (add_to_note_list): Merge into ...
39443 (concat_note_lists): ... here, and ...
39444 (unlink_other_notes, rm_other_notes): Merge into...
39445 (remove_notes): ... here. Create REG_SAVE_NOTEs for
39446 NOTE_INSN_EPILOGUE_BEG.
39447
39448 2010-01-06 Richard Guenther <rguenther@suse.de>
39449
39450 * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
39451 not inline regular functions into always-inline functions.
39452
39453 2010-01-06 Nick Clifton <nickc@redhat.com>
39454
39455 * config/rx/rx.h (enum rx_cpu_type): Add RX200.
39456 (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
39457 used together.
39458 (OVERRIDE_OPTIONS): Delete.
39459 (OPTIMIZATION_OPTIONS): Define.
39460 (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
39461 * config/rx/rx.c (rx_handle_option): Issue an error message if
39462 -mcpu=rx200 and -fpu are used together.
39463 (rx_set_optimization_options): New function. Issue an error
39464 message if an optimization attribute attempts to reset the FPU/
39465 math optimization pairing.
39466 * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
39467 * config/rx/rx.opt: Set the default to 32-bit doubles.
39468 * config/rx/t-rx: Add multilibs for -nofpu option.
39469 * doc/invoke.texi: Update documentation of RX options.
39470
39471 2010-01-06 Richard Guenther <rguenther@suse.de>
39472
39473 * tree-ssa-pre.c (name_to_id): New global.
39474 (alloc_expression_id): Simplify SSA name handling.
39475 (lookup_expression_id): Likewise.
39476 (init_pre): Zero name_to_id.
39477 (fini_pre): Free it.
39478
39479 2010-01-06 Uros Bizjak <ubizjak@gmail.com>
39480
39481 * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
39482
39483 2010-01-05 H.J. Lu <hongjiu.lu@intel.com>
39484
39485 PR target/42542
39486 * config/i386/sse.md (smaxv2di3): New.
39487 (umaxv2di3): Likewise.
39488 (sminv2di3): Likewise.
39489 (uminv2di3): Likewise.
39490
39491 2010-01-05 Eric Botcazou <ebotcazou@adacore.com>
39492
39493 PR target/42564
39494 * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
39495 * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
39496 (legitimize_tls_address): Likewise.
39497 (sparc_tls_referenced_p): Likewise.
39498 * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
39499 and adjust calls to legitimize_pic_address.
39500 (legitimate_constant_p) Use sparc_tls_referenced_p.
39501 (legitimate_pic_operand_p): Likewise.
39502 (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
39503 (sparc_tls_symbol_ref_1): Delete.
39504 (sparc_tls_referenced_p): Make static, recognize specific patterns.
39505 (legitimize_tls_address): Make static, handle CONST patterns.
39506 (legitimize_pic_address): Make static, remove unused parameter and
39507 adjust recursive calls.
39508 (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
39509 and adjust call to legitimize_pic_address.
39510 (sparc_output_mi_thunk): Likewise.
39511
39512 2010-01-05 Paolo Bonzini <bonzini@gnu.rg>
39513 H.J. Lu <hongjiu.lu@intel.com>
39514
39515 PR target/42542
39516 * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
39517 for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
39518 operands to make them signed.
39519
39520 Revert:
39521 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
39522
39523 PR target/42542
39524 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
39525 GTU to GT for V4SI and V2DI.
39526
39527 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
39528 (umin<mode>3): Removed.
39529 (uminv8hi3): New.
39530 (uminv4si3): Likewise.
39531
39532 2010-01-05 Martin Jambor <mjambor@suse.cz>
39533
39534 PR tree-optimization/42462
39535 * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
39536 current_function_decl to helper functions and macros.
39537
39538 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
39539
39540 PR bootstrap/41771
39541 * flags.h: Don't include real.h.
39542 (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
39543 HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
39544 * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
39545 HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
39546 * dominance.c: Update copyright.
39547 * gimple.c (walk_gimple_op): Remove inline.
39548 * tree-ssa-reassoc.c: Include real.h.
39549 * Makefile.in (FLAGS_H): Remove $(REAL_H).
39550 (tree-ssa-reassoc.o): Depend on $(REAL_H).
39551
39552 2010-01-05 Nick Clifton <nickc@redhat.com>
39553
39554 * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
39555 register to push into the stack frame when the accumulator has to
39556 be saved during interrupts.
39557
39558 2010-01-05 Eric Fisher <joefoxreal@gmail.com>
39559
39560 * doc/invoke.texi: Remove the documentation about option
39561 -Wunreachable-code.
39562 * common.opt (Wunreachable-code): Preserved for backward
39563 compatibility.
39564 * tree-cfg.c: Remove the implementation of -Wunreachable-code.
39565 * opts.c (common_handle_option): Add OPT_Wunreachable_code to
39566 the backward compatibility flag section.
39567
39568 2010-01-05 Richard Guenther <rguenther@suse.de>
39569
39570 * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
39571
39572 2010-01-05 Jakub Jelinek <jakub@redhat.com>
39573
39574 PR other/42611
39575 * cfgexpand.c (expand_one_var): Diagnose too large variables.
39576
39577 PR tree-optimization/42508
39578 * tree-sra.c (convert_callers): Check for recursive call
39579 by comparing cgraph nodes instead of decls.
39580 (modify_function): Call ipa_modify_formal_parameters also
39581 on all same_body aliases.
39582
39583 * cgraphunit.c (cgraph_materialize_all_clones): Compare
39584 cgraph nodes when checking for same_body aliases.
39585
39586 2010-01-05 Richard Guenther <rguenther@suse.de>
39587
39588 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
39589 allocation and lookup.
39590 (get_or_alloc_expr_for_constant): Likewise.
39591 (phi_translate): Sink allocation.
39592
39593 2010-01-04 Richard Guenther <rguenther@suse.de>
39594
39595 * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
39596 a new entry only if needed.
39597 * tree-ssa-dom.c (lookup_avail_expr): Likewise.
39598 * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
39599 hashtable lookup.
39600 * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
39601 the result array.
39602 (phi_translate): Handle CONSTANTs early.
39603
39604 2010-01-04 Martin Jambor <mjambor@suse.cz>
39605
39606 PR tree-optimization/42398
39607 * tree-sra.c (struct access): Removed flag grp_different_types.
39608 (dump_access): Do not dump the removed flag.
39609 (sort_and_splice_var_accesses): Do not set the removed flag.
39610 (sra_modify_expr): Check for type compatibility directly.
39611
39612 2010-01-04 Martin Jambor <mjambor@suse.cz>
39613
39614 PR tree-optimization/42366
39615 * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
39616 edges with variable number of parameters.
39617 * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
39618 flag instead of asserting it.
39619 (ipa_read_node_info): Read uses_analysis_done flag.
39620
39621 2010-01-04 Richard Guenther <rguenther@suse.de>
39622
39623 * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
39624 iterative_hash_* as intended.
39625 (vn_reference_compute_hash): Likewise. Simplify hashing
39626 SSA names.
39627 (vn_reference_lookup_2): Likewise.
39628 (vn_nary_op_compute_hash): Likewise.
39629 (vn_phi_compute_hash): Likewise.
39630 (expressions_equal_p): Remove strange code.
39631 * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
39632 (pre_expr_hash): Likewise. Simplify hashing SSA names.
39633 (bitmap_insert_into_set_1): Take value-id as parameter.
39634 (add_to_value): Pass it.
39635 (bitmap_insert_into_set): Likewise.
39636 (bitmap_value_insert_into_set): Likewise. Remove redundant check.
39637
39638 2010-01-04 Jakub Jelinek <jakub@redhat.com>
39639
39640 PR driver/42442
39641 * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
39642 (do_self_spec): For switches with SWITCH_IGNORE set set also
39643 SWITCH_IGNORE_PERMANENTLY.
39644 (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
39645 of SWITCH_IGNORE.
39646
39647 2010-01-04 Rafael Avila de Espindola <espindola@google.com>
39648
39649 * lto-streamer-out.c (output_unreferenced_globals): Output the full
39650 tree of an unreferenced global var.
39651
39652 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
39653
39654 PR target/42542
39655 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
39656 GTU to GT for V4SI and V2DI.
39657
39658 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
39659 (umin<mode>3): Removed.
39660 (uminv8hi3): New.
39661 (uminv4si3): Likewise.
39662
39663 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
39664
39665 PR lto/42581
39666 * collect2.c (main): Turn on trace in collect2 if -v is passed
39667 to gcc with LTO.
39668
39669 2010-01-03 Jerry Quinn <jlquinn@optonline.net>
39670
39671 * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update
39672 description of expression operand.
39673
39674 2010-01-03 Andrew Jenner <andrew@codesourcery.com>
39675
39676 * configure.ac: Add install-html to target_list for Make-hooks.
39677 * configure: Regenerate.
39678 * fortran/Make-lang.in (F95_HTMLFILES): New.
39679 (fortran.html): Use it.
39680 (fortran.install-html): New.
39681 * Makefile.in (install-html): Add lang.install-html.
39682 * java/Make-lang.in (JAVA_HTMLFILES): New.
39683 (java.html): Use it.
39684 (java.install-html): New.
39685 * objc/Make-lang.in (objc.install-html): New.
39686 * objcp/Make-lang.in (obj-c++.install-html): New.
39687 * cp/Make-lang.in (c++.install-html): New.
39688 * ada/gcc-interface/Make-lang.in (ada.install-html): New.
39689 * lto/Make-lang.in (lto.install-html): New.
39690
39691 2010-01-03 H.J. Lu <hongjiu.lu@intel.com>
39692
39693 PR lto/42520
39694 * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
39695
39696 2009-01-03 Steven Bosscher <steven@gcc.gnu.org>
39697
39698 PR rtl-optimization/41862
39699 * store-motion.c (store_killed_in_insn, compute_store_table,
39700 remove_reachable_equiv_notes, replace_store_insn,
39701 build_store_vectors): Ignore all DEBUG_INSNs.
39702
39703 2010-01-03 H.J. Lu <hongjiu.lu@intel.com>
39704
39705 PR lto/41564
39706 * common.opt: Add dumpdir.
39707
39708 * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
39709 isn't specified.
39710 (option_map): Add --dumpdir.
39711
39712 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
39713
39714 * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
39715
39716 * opts.c (decode_options): Try dump_dir_name first if
39717 dump_base_name isn't an absolute path.
39718 (common_handle_option): Handle OPT_dumpdir.
39719
39720 * toplev.c (dump_dir_name): New.
39721 (print_switch_values): Also ignore -dumpdir.
39722
39723 * toplev.h (dump_dir_name): New.
39724
39725 2010-01-03 Richard Guenther <rguenther@suse.de>
39726
39727 PR tree-optimization/42589
39728 * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
39729 double-word expansion of bswap32.
39730
39731 2010-01-03 Steven Bosscher <steven@gcc.gnu.org>
39732
39733 * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
39734 with BLOCK_FOR_INSN.
39735 * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
39736 * ifcvt.c (noce_get_alt_condition, noce_try_abs,
39737 noce_process_if_block): Likewise.
39738 * gcse.c (compute_local_properties, insert_expr_in_table,
39739 insert_set_in_table, canon_list_insert, find_avail_set,
39740 pre_insert_copy_insn): Likewise.
39741
39742 * basic-block.h (BLOCK_NUM): Move from here...
39743 * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
39744
39745 2010-01-03 Richard Guenther <rguenther@suse.de>
39746
39747 PR tree-optimization/42438
39748 * tree-ssa-pre.c (struct bb_bitmap_sets): Add
39749 contains_may_not_return_call flag.
39750 (BB_MAY_NOTRETURN): New.
39751 (valid_in_sets): Trapping nary operations are not valid
39752 in blocks that may not return.
39753 (insert_into_preds_of_block): Remove check for trapping expressions.
39754 (compute_avail): Compute also BB_MAY_NOTRETURN.
39755
39756 2010-01-03 Gerald Pfeifer <gerald@pfeifer.com>
39757
39758 * doc/invoke.texi: Add 2010 to copyright years.
39759
39760 2010-01-03 Eric Botcazou <ebotcazou@adacore.com>
39761
39762 * config/sparc/sparc.c: Fix formatting nits.
39763
39764 2010-01-02 Gerald Pfeifer <gerald@pfeifer.com>
39765 Alexander Monakov <amonakov@ispras.ru>
39766
39767 * doc/invoke.texi (Optimize Options): Reword introduction a bit.
39768
39769 2010-01-02 Richard Guenther <rguenther@suse.de>
39770
39771 PR middle-end/42577
39772 * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
39773 (simplify_switch_using_ranges): Mark to be removed edges
39774 as non-executable.
39775
39776 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
39777
39778 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
39779
39780 * collect2.c (scan_libraries): Add missing argument in call to
39781 scan_prog_file.
39782
39783 2010-01-02 Uros Bizjak <ubizjak@gmail.com>
39784
39785 PR target/42448
39786 * config/alpha/predicates.md (aligned_memory_operand): Return false
39787 for CQImode.
39788 (unaligned_memory_operand): Return true for CQImode.
39789 * config/alpha/alpha.c (get_aligned_mem): Assert that location
39790 doesn not cross aligned SImode word boundary.
39791
39792 2010-01-02 Anatoly Sokolov <aesok@post.ru>
39793
39794 * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
39795 Remove.
39796 * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
39797 avr_change_section, avr_reg_class_from_letter) : Remove declaration.
39798
39799 2010-01-02 Richard Guenther <rguenther@suse.de>
39800
39801 PR lto/41597
39802 * toplev.c (compile_file): Emit LTO marker properly. Change
39803 it to __gnu_lto_v1.
39804 * collect2.c (scan_prog_file): Adjust for changed LTO marker.
39805
39806 2010-01-01 Richard Guenther <rguenther@suse.de>
39807
39808 PR debug/42455
39809 * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
39810
39811 2010-01-01 Richard Guenther <rguenther@suse.de>
39812
39813 PR c/42570
39814 * c-decl.c (grokdeclarator): For zero-size arrays force
39815 structural equality checks as layout_type does.
39816
39817 2010-01-01 H.J. Lu <hongjiu.lu@intel.com>
39818
39819 * builtins.c: Update copyright to 2010.
39820
39821 2010-01-01 H.J. Lu <hongjiu.lu@intel.com>
39822
39823 PR lto/42531
39824 * lto-streamer-out.c (produce_asm): Revert the last change.
39825 (copy_function): Likewise.
39826
39827 * lto-streamer.c (lto_get_section_name): Skip any leading
39828 asterisk in name.
39829
39830 2010-01-01 Richard Guenther <rguenther@suse.de>
39831
39832 PR middle-end/42559
39833 * builtins.c (get_object_alignment): Do not use DECL_ALIGN
39834 for LABEL_DECLs.
39835
39836 \f
39837 Copyright (C) 2010 Free Software Foundation, Inc.
39838
39839 Copying and distribution of this file, with or without modification,
39840 are permitted in any medium without royalty provided the copyright
39841 notice and this notice are preserved.