graphite-sese-to-poly.c (split_reduction_stmt): Skip debug statements before splittin...
[gcc.git] / gcc / ChangeLog
1 2010-03-16 Aldy Hernandez <aldyh@redhat.com>
2
3 * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
4 statements before splitting block.
5
6 2010-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7
8 * doc/sourcebuild.texi (Testsuites): Fix markup.
9 Use pathnames relative to gcc/testsuite.
10 (Test Directives): Move description of how timeout is determined.
11 (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
12 (C Tests): Correct gcc.misc-tests directory.
13 Framework tests now live in gcc.test-framework.
14
15 2010-03-16 Richard Guenther <rguenther@suse.de>
16
17 PR middle-end/43379
18 * tree-cfg.c (gimple_merge_blocks): When propagating virtual
19 PHI operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI
20 properly.
21
22 2010-03-16 Aldy Hernandez <aldyh@redhat.com>
23 Alexandre Oliva <aoliva@redhat.com>
24
25 PR tree-optimization/42917
26 * lambda-code.c (remove_iv): Skip debug statements.
27 (lambda_loopnest_to_gcc_loopnest): Likewise.
28 (not_interesting_stmt): Debug statements are not interesting.
29
30 2010-03-16 Jakub Jelinek <jakub@redhat.com>
31
32 PR debug/43051
33 PR debug/43092
34 * cselib.c (cselib_preserve_constants,
35 cfa_base_preserved_val): New static variables.
36 (preserve_only_constants): New function.
37 (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
38 clear its REG_VALUES. If cselib_preserve_constants, don't
39 empty the whole hash table, but preserve there VALUEs with constants,
40 cfa_base_preserved_val and cfa_base_preserved_val plus constant.
41 (cselib_preserve_cfa_base_value): New function.
42 (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
43 (cselib_init): Change argument to int bitfield. Set
44 cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
45 is in it.
46 (cselib_finish): Clear cselib_preserve_constants and
47 cfa_base_preserved_val.
48 * cselib.h (enum cselib_record_what): New enum.
49 (cselib_init): Change argument to int.
50 (cselib_preserve_cfa_base_value): New prototype.
51 * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
52 * dse.c (dse_step1): Likewise.
53 * cfgcleanup.c (thread_jump): Likewise.
54 * sched-deps.c (sched_analyze): Likewise.
55 * gcse.c (local_cprop_pass): Likewise.
56 * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
57 If FN is non-NULL, call the callback always and whenever it returns
58 non-NULL just return that. Only do rtx_equal_p if FN is NULL.
59 * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
60 * combine.c (propagate_for_debug_subst): Add old_rtx argument,
61 compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
62 * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
63 * var-tracking.c: Include recog.h.
64 (bb_stack_adjust_offset): Remove.
65 (vt_stack_adjustments): Don't call it, instead just gather the
66 adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
67 (adjust_stack_reference): Remove.
68 (compute_cfa_pointer): New function.
69 (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
70 (struct adjust_mem_data): New type.
71 (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
72 functions.
73 (get_address_mode): New function.
74 (replace_expr_with_values): Use it.
75 (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
76 Use get_address_mode. For cfa_base_rtx return MO_CLOBBER.
77 (adjust_sets): Remove.
78 (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
79 Use get_address_mode.
80 (get_adjusted_src): Remove.
81 (add_stores): Don't call it. Never reuse expr SET. Don't add extra
82 MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode.
83 (add_with_sets): Don't call adjust_sets.
84 (fp_setter, vt_init_cfa_base): New functions.
85 (vt_initialize): Change return type to bool. Move most of pool etc.
86 initialization to the beginning of the function from end. Pass
87 CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
88 If !frame_pointer_needed, call vt_stack_adjustment before mos
89 vector is filled, call vt_init_cfa_base if argp/framep has been
90 eliminated to sp. If frame_pointer_needed and argp/framep has
91 been eliminated to hard frame pointer, set
92 hard_frame_pointer_adjustment and call vt_init_cfa_base after
93 encountering fp setter in the prologue. For MO_ADJUST, call
94 log_op_type before pusing the op into mos vector, not afterwards.
95 Call adjust_insn before cselib_process_insn/add_with_sets,
96 call cancel_changes (0) afterwards.
97 (variable_tracking_main_1): Adjust for vt_initialize calling
98 vt_stack_adjustments and returning whether it succeeded or not.
99
100 2010-03-15 Aldy Hernandez <aldyh@redhat.com>
101
102 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
103 debug statements.
104
105 2010-03-15 Jakub Jelinek <jakub@redhat.com>
106
107 * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
108 has been set.
109 (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
110 drap_reg has not been set.
111
112 2010-03-15 Michael Matz <matz@suse.de>
113
114 PR middle-end/43300
115 * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
116 use it to expand block copies.
117 (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
118 insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
119 (insert_value_copy_on_edge): Use store_expr for BLKmode values.
120
121 2010-03-15 Richard Guenther <rguenther@suse.de>
122
123 PR tree-optimization/43367
124 * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
125 elimination check.
126
127 2010-03-15 Richard Guenther <rguenther@suse.de>
128
129 PR tree-optimization/43317
130 * ipa-struct-reorg.c (create_new_general_access): Update stmt.
131
132 2010-03-15 Martin Jambor <mjambor@suse.cz>
133
134 PR tree-optimization/43141
135 * tree-sra.c (create_abstract_origin): New function.
136 (modify_function): Call create_abstract_origin.
137
138 2010-03-15 Chris Demetriou <cgd@google.com>
139
140 * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
141 wasn't copied.
142
143 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
144
145 PR middle-end/43354
146 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
147 call insert_out_of_ssa_copy for default definitions.
148
149 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
150
151 * graphite-clast-to-gimple.c (my_long_long): Defined.
152 (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
153 * graphite-sese-to-poly.c (my_long_long): Defined.
154 (scop_ivs_can_be_represented): Use it.
155
156 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
157
158 * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
159 graphite-max-bbs-per-function, and loop-block-tile-size.
160 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
161 with "maximum".
162 (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
163
164 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
165
166 * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
167 forward declaration.
168 * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
169 (add_upper_bounds_from_estimated_nit): New.
170 (build_loop_iteration_domains): Use it.
171
172 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
173
174 * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
175
176 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
177
178 PR middle-end/43306
179 * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
180 should be an INTEGER_CST. Also handle CASE_CONVERT.
181
182 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
183
184 * graphite.c (graphite_initialize): To bound the number of bbs per
185 function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
186 * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
187 * doc/invoke.texi: Document it.
188
189 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
190
191 * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
192 * graphite-sese-to-poly.h (build_poly_scop): Same.
193
194 2010-03-13 Sebastian Pop <sebastian.pop@amd.com>
195
196 * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
197 the number of parameters in the scop. Use as an upper bound
198 PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
199 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
200 * doc/invoke.texi: Document it.
201
202 2010-03-13 Jerry Quinn <jlquinn@optonline.net>
203
204 * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
205 * doc/c-tree.texi: Remove.
206 * doc/generic.texi: Merge c-tree.texi here.
207 * doc/gccint.texi (Trees): Remove menu entry.
208 (c-tree.texi): Remove @include.
209 * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
210 * doc/languages.texi (Reading RTL): Ditto.
211
212 2010-03-12 Steve Ellcey <sje@cup.hp.com>
213
214 PR target/42869
215 * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
216
217 2010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
218
219 PR middle-end/42431
220 * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
221 code added to work around reload clobbering CONST insns.
222
223 2010-03-12 Jakub Jelinek <jakub@redhat.com>
224
225 * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
226 (cselib_preserve_definitely, cselib_clear_preserve): Remove.
227 (cselib_preserve_only_values): Remove retain argument, don't
228 traverse hash table with cselib_{preserve_definitely,clear_preserve}.
229 * cselib.h (cselib_preserve_only_values): Remove retain argument.
230 * var-tracking.c (micro_operation): Move insn field before union.
231 Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
232 (struct variable_tracking_info_def): Remove n_mos field, change
233 mos into a vector of micro_operations.
234 (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
235 (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
236 compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
237 changing into a vector.
238 (add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores
239 come before all other uops generated by add_stores.
240 (vt_add_function_parameters): Adjust for cselib_preserve_only_values
241 argument removal.
242 (vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into
243 a vector. Run just one pass over the bbs instead of separate counting
244 and computation phase.
245 (vt_finalize): Free VTI (bb)->mos vector instead of array.
246
247 PR debug/43329
248 * tree-inline.c (remap_decls): Put old_var rather than origin_var
249 into *nonlocalized_list vector.
250 * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
251 even if origin is non-NULL.
252 (gen_variable_die): Likewise.
253 (process_scope_var): Don't change origin.
254 (gen_decl_die): Likewise.
255 * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
256 before adding new edges instead of after it, fix moving over
257 debug stmts.
258
259 2010-03-11 David S. Miller <davem@davemloft.net>
260
261 * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
262 of four.
263 * configure: Rebuild.
264
265 2010-03-11 Martin Jambor <mjambor@suse.cz>
266
267 PR tree-optimization/43257
268 * tree.c (assign_assembler_name_if_neeeded): New function.
269 (free_lang_data_in_cgraph): Assembler name assignment moved to the
270 above new function.
271 * tree.h (assign_assembler_name_if_neeeded): Declare.
272 * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
273 the function if needed.
274
275 2010-03-11 Chris Demetriou <cgd@google.com>
276
277 * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
278 include/stdint-gcc.h, and include/stdint.h world-readable.
279
280 2010-03-11 Richard Guenther <rguenther@suse.de>
281
282 PR tree-optimization/43255
283 * tree-vrp.c (process_assert_insertions_for): Do not insert
284 asserts for trivial conditions.
285
286 2010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
287
288 PR tree-optimization/43280
289 * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
290 generation. Move calculation of size out of the if branch.
291 (find_bswap): Modify compare number generation.
292
293 2010-03-11 Richard Guenther <rguenther@suse.de>
294
295 PR lto/43200
296 * lto-streamer-in.c (maybe_fixup_decls): Simplify.
297 (input_gimple_stmt): Fixup handled component types during
298 operand read. Also fix up decls in ADDR_EXPRs.
299
300 2010-03-10 Eric Botcazou <ebotcazou@adacore.com>
301
302 * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
303 * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
304
305 2010-03-10 Jan Hubicka <jh@suse.cz>
306
307 PR c/43288
308 * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
309 * varasm.c (get_variable_section): Don't do that here...
310 (make_decl_rtl): ... and here.
311 (do_assemble_alias): Produce decl RTL.
312 (assemble_alias): Likewise.
313
314 2010-03-10 Jakub Jelinek <jakub@redhat.com>
315
316 PR debug/43290
317 * reg-notes.def (REG_CFA_SET_VDRAP): New note.
318 * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
319 of fde->vdrap_reg.
320 (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
321 (based_loc_descr): Only express drap or vdrap regno based expressions
322 using DW_OP_fbreg when not optimizing.
323 * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
324 make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
325 REG_CFA_SET_VDRAP note.
326
327 2010-03-10 Alexander Monakov <amonakov@ispras.ru>
328
329 PR tree-optimization/43236
330 * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
331 error in calculation of base address in reverse iteration case.
332 (generate_builtin): Take number of latch executions if the statement
333 is in the latch.
334
335 2010-03-10 Andrey Belevantsev <abel@ispras.ru>
336
337 PR middle-end/42859
338 * tree-eh.c: Include pointer-set.h.
339 (lower_eh_dispatch): Filter out duplicate case labels and
340 remove the unneeded edge when the label is unused. Return
341 true when some edges are removed.
342 (execute_lower_eh_dispatch): When any lowering resulted in
343 removing an edge, also delete unreachable blocks.
344
345 2010-03-10 Jakub Jelinek <jakub@redhat.com>
346
347 PR bootstrap/43287
348 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
349 UNSPEC_MACHOPIC_OFFSET.
350
351 2010-03-09 Andreas Schwab <schwab@linux-m68k.org>
352
353 PR target/43294
354 * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
355 (m68k_delegitimize_address): New function.
356
357 2010-03-09 Jakub Jelinek <jakub@redhat.com>
358
359 PR debug/43299
360 * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
361
362 PR debug/43299
363 * var-tracking.c (adjust_sets): New function.
364 (count_with_sets, add_with_sets): Use it.
365 (get_adjusted_src): New inline function.
366 (add_stores): Use it.
367
368 PR debug/43304
369 * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
370 call cselib_dummy_expand_value_rtx_cb instead of
371 cselib_expand_value_rtx_cb.
372
373 PR debug/43293
374 * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
375 * config/i386/i386.c: Include debug.h and dwarf2out.h.
376 (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
377 and .cfi_endproc around the pic thunks.
378 (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
379 all queued unwind info register saves are saved before the call.
380 For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
381 considered as sp-=4 for unwind info and the pop as sp+=4 which
382 also clobbers dest, but doesn't actually restore it.
383
384 PR debug/43290
385 * config/i386/i386.c (ix86_get_drap_rtx): Don't set
386 RTX_FRAME_RELATED_P.
387
388 2010-03-09 Jie Zhang <jie@codesourcery.com>
389
390 * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
391 whitespaces in output template.
392
393 2010-03-09 Jie Zhang <jie@codesourcery.com>
394
395 * ira-lives.c (check_and_make_def_use_conflict): Don't fall
396 out array boundary.
397
398 2010-03-08 Jakub Jelinek <jakub@redhat.com>
399
400 * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
401 builtins.exp in a separate job.
402
403 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
404
405 * graphite-sese-to-poly.c (add_param_constraints): Use
406 lower_bound_in_type and upper_bound_in_type.
407
408 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
409
410 * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
411 instead of unsigned_type_node.
412
413 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
414 Reza Yazdani <reza.yazdani@amd.com>
415
416 PR middle-end/43065
417 * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
418 on pointer type parameters.
419
420 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
421
422 PR middle-end/42644
423 PR middle-end/42130
424 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
425 handle conversions from pointer to integers.
426 (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
427 induction variable, to be able to work with code generated by CLooG.
428 * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
429 (build_poly_scop): Bail out if we cannot codegen a loop.
430
431 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
432
433 * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
434 code generation with gloog_error.
435
436 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
437
438 * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
439 Call fold_convert on all the returned values.
440 (expand_scalar_variables_expr): Pass to
441 expand_scalar_variables_ssa_name the type of the resulting expression.
442
443 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
444
445 * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
446 ppl_min_for_le_pointset.
447 Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
448 * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
449
450 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
451
452 * graphite-dependences.c (map_into_dep_poly): Removed.
453 (dependence_polyhedron_1): Use combine_context_id_scat.
454
455 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
456
457 * graphite-poly.h (struct poly_scattering): Add layout documentation.
458 (struct poly_bb): Same.
459 (combine_context_id_scat): New.
460
461 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
462
463 PR middle-end/42326
464 * sese.c (name_defined_in_loop_p): Return false for default
465 definitions.
466
467 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
468
469 * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
470 and clean up the logic.
471
472 2010-03-08 Sebastian Pop <sebastian.pop@amd.com>
473
474 * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
475 early return.
476
477 2010-03-08 Jakub Jelinek <jakub@redhat.com>
478
479 * var-tracking.c (remove_cselib_value_chains): Define only for
480 ENABLE_CHECKING.
481 (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
482 delete_slot_part, emit_notes_for_differences_1): Don't call
483 remove_cselib_value_chains here.
484 (set_slot_part, emit_notes_for_differences_2): Don't call
485 add_cselib_value_chains here.
486 (preserved_values): New vector.
487 (preserve_value): New function.
488 (add_uses, add_stores, vt_add_function_parameters): Use it
489 instead of cselib_preserve_value.
490 (changed_values_stack): New vector.
491 (check_changed_vars_0): New function.
492 (check_changed_vars_1, check_changed_vars_2): Use it.
493 (emit_notes_for_changes): Call set_dv_changed (*, false) on all
494 changed_values_stack VALUEs.
495 (vt_emit_notes): For all preserved_values call
496 add_cselib_value_chains. If ENABLE_CHECKING call
497 remove_cselib_value_chains before verifying value_chains is empty.
498 Initialize and free changed_values_stack.
499 (vt_initialize): Initialize preserved_values.
500 (vt_finalize): Free preserved_values.
501
502 2010-03-08 Richard Guenther <rguenther@suse.de>
503
504 PR tree-optimization/43269
505 * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
506 region detection.
507
508 2010-03-08 Martin Jambor <mjambor@suse.cz>
509
510 * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
511 (ipa_is_param_called): Removed.
512 * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
513 (ipa_print_node_params): Do not print the called flag.
514 (ipa_write_node_info): Do not stream the called flag.
515 (ipa_read_node_info): Likewise.
516
517 2010-03-07 Jakub Jelinek <jakub@redhat.com>
518
519 PR debug/43176
520 * Makefile.in (var-tracking.o): Depend on pointer-set.h.
521 * cselib.c (struct expand_value_data): Add dummy field.
522 (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
523 dummy to false.
524 (cselib_dummy_expand_value_rtx_cb): New function.
525 (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
526 any rtl.
527 * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
528 * var-tracking.c: Include pointer-set.h.
529 (variable): Change n_var_parts to char from int. Add
530 cur_loc_changed and in_changed_variables fields.
531 (variable_canonicalize): Remove.
532 (shared_var_p): New inline function.
533 (unshare_variable): Maintain cur_loc_changed and
534 in_changed_variables fields. If var was in changed_variables,
535 replace it there with new_var. Just copy cur_loc instead of
536 resetting it to something else.
537 (variable_union): Don't recompute cur_loc. Use shared_var_p.
538 (dataflow_set_union): Don't call variable_canonicalize.
539 (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
540 of their DEBUG_EXPR_TREE_DECLs.
541 (canonicalize_loc_order_check): Verify that cur_loc is NULL
542 and in_changed_variables and cur_loc_changed is false.
543 (variable_merge_over_cur): Clear cur_loc, in_changed_variables
544 and cur_loc_changed. Don't update cur_loc here.
545 (variable_merge_over_src): Don't call variable_canonicalize.
546 (dataflow_set_preserve_mem_locs): Use shared_var_p. When
547 removing loc that is equal to cur_loc, clear cur_loc,
548 set cur_loc_changed and ensure variable_was_changed is called.
549 (dataflow_set_remove_mem_locs): Use shared_var_p. Only
550 compare pointers in cur_loc check, if it is equal to loc,
551 clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here.
552 (variable_different_p): Remove compare_current_location argument,
553 don't compare cur_loc.
554 (dataflow_set_different_1): Adjust variable_different_p caller.
555 (variable_was_changed): If dv had some var in changed_variables
556 already, reset in_changed_variables flag for it and propagate
557 cur_loc_changed over to the new variable. On empty var
558 always set cur_loc_changed. Set in_changed_variables on whatever
559 var is added to changed_variables.
560 (set_slot_part): Clear cur_loc_changed and in_changed_variables.
561 Use shared_var_p. When removing loc that is equal to cur_loc,
562 clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the
563 end, don't set it to something else, just call variable_was_changed.
564 (delete_slot_part): Use shared_var_p. When cur_loc equals to
565 loc being removed, clear cur_loc and set cur_loc_changed.
566 Set cur_loc_changed if all locations have been removed.
567 (struct expand_loc_callback_data): New type.
568 (vt_expand_loc_callback): Add dummy mode in which no rtxes are
569 allocated. Always create SUBREGs if simplify_subreg failed.
570 Prefer to use cur_loc, when that fails and still in
571 changed_variables (and seen first time) recompute it. Set
572 cur_loc_changed of variables which had to change cur_loc and
573 compute elcd->cur_loc_changed if any of the subexpressions used
574 had to change cur_loc.
575 (vt_expand_loc): Adjust to pass arguments in
576 expand_loc_callback_data structure.
577 (vt_expand_loc_dummy): New function.
578 (emitted_notes): New variable.
579 (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
580 that weren't used for any other decl in current
581 emit_notes_for_changes call call vt_expand_loc_dummy to update
582 cur_loc. For -fno-var-tracking-assignments, set cur_loc to
583 first loc_chain location if NULL before. Always use just
584 cur_loc instead of first loc_chain location. When cur_loc_changed
585 is false, when not --enable-checking=rtl just don't emit any note.
586 When rtl checking, compute the note and assert it is the same
587 as previous note. Clear cur_loc_changed and in_changed_variables
588 at the end before removing from changed_variables.
589 (check_changed_vars_3): New function.
590 (emit_notes_for_changes): Traverse changed_vars to call
591 check_changed_vars_3 on each changed var.
592 (emit_notes_for_differences_1): Clear cur_loc_changed and
593 in_changed_variables. Recompute cur_loc of new_var.
594 (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
595 (vt_emit_notes): Initialize and destroy emitted_notes.
596
597 2010-03-07 Bernd Schmidt <bernd.schmidt@analog.com>
598
599 PR rtl-optimization/42220
600 * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
601 Use verify_reg_tracked to determine if we should use OP_OUT rather
602 than OP_INOUT.
603 (build_def_use): If we see an in-out operand for a register that we
604 know nothing about, treat is an output if possible, fail the block if
605 not.
606
607 2010-03-06 Alexandre Oliva <aoliva@redhat.com>
608
609 PR debug/42897
610 * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
611 permanently.
612
613 2010-03-06 Alexandre Oliva <aoliva@redhat.com>
614
615 PR debug/42897
616 * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
617 uses of relevant DEFs that are dead outside the loop too.
618
619 2010-03-06 Alexandre Oliva <aoliva@redhat.com>
620
621 * var-tracking.c (dataflow_set_merge): Swap src and src2.
622 Reverted:
623 2010-01-13 Jakub Jelinek <jakub@redhat.com>
624 PR debug/41371
625 * var-tracking.c (values_to_unmark): New variable.
626 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
627 values_to_unmark vector. Moved body to...
628 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
629 instead queue it into values_to_unmark vector.
630 (vt_find_locations): Free values_to_unmark vector.
631
632 2010-03-05 Eric Botcazou <ebotcazou@adacore.com>
633
634 * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
635 (site.exp): Export them when plugins are enabled.
636
637 2010-03-05 Sebastian Pop <sebastian.pop@amd.com>
638
639 PR middle-end/42326
640 * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
641 that contain scevs.
642 (chrec_fold_multiply): Same.
643
644 2010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
645
646 PR c/43248
647 * c-decl.c (build_compound_literal): Return early if init is
648 an error_mark_node.
649
650 2010-03-04 Martin Jambor <mjambor@suse.cz>
651
652 PR tree-optimization/43164
653 PR tree-optimization/43191
654 * tree-sra.c (type_consists_of_records_p): Reject records with
655 zero-size bit-fields at the end.
656
657 2010-03-04 Mike Stump <mikestump@comcast.net>
658
659 * Makefile.in (TAGS): Remove *.y.
660
661 2010-03-04 Richard Guenther <rguenther@suse.de>
662
663 PR tree-optimization/40761
664 * tree-ssa-pre.c (compute_antic): Walk reverse postorder
665 in reverse order.
666 (my_rev_post_order_compute): New function.
667 (init_pre): Call it.
668
669 2010-03-04 Changpeng Fang <changpeng.fang@amd.com>
670
671 PR middle-end/43209
672 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
673 decrease the cost of an IV candidate when the cost is infinite.
674
675 2010-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
676
677 * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
678 Use '3DNow!' for the extension of that name, ensure normal space
679 after the string.
680 * doc/invoke.texi (i386 and x86-64 Options): Likewise.
681
682 2010-03-03 Jeff Law <law@redhat.com>
683
684 * PR middle-end/32693
685 * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
686 than gen_rtx_SUBREG.
687 (extract_bit_field_1): Likewise.
688
689 2010-03-03 Janis Johnson <janis187@us.ibm.com>
690
691 * doc/sourcebuild.texi (Test directives): Document that arguments
692 include-opts and exclude-opts are now optional for dg-skip-if,
693 dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
694
695 2010-03-03 Jason Merrill <jason@redhat.com>
696
697 PR c++/12909
698 * cgraph.h (varpool_node): Add extra_name field.
699 * varpool.c (varpool_extra_name_alias): New.
700 (varpool_assemble_decl): Emit extra name aliases.
701 (varpool_mark_needed_node): Look past an extra name alias.
702 * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
703 * lto-streamer-in.c (lto_input_tree): Read it.
704 * lto-streamer-out.c (output_unreferenced_globals): Write it.
705
706 2010-03-03 Eric Botcazou <ebotcazou@adacore.com>
707
708 * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
709 (sparc*-*-solaris2*): ...this.
710
711 2010-03-03 Jakub Jelinek <jakub@redhat.com>
712
713 PR debug/43229
714 * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
715 WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without
716 ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
717 FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
718
719 PR debug/43237
720 * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
721 fallthrough to default handling, just with want_address 0 instead of 2.
722 For single element lists, add_AT_loc directly, otherwise create an
723 artificial variable DIE and stick location list to it.
724
725 PR debug/43177
726 * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
727 (VAL_EXPR_HAS_REVERSE): Define.
728 (reverse_op): New function.
729 (add_stores): For reversible operations add an extra MO_VAL_USE.
730
731 2010-03-02 Jason Merrill <jason@redhat.com>
732
733 * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
734
735 2010-03-02 Eric Botcazou <ebotcazou@adacore.com>
736
737 * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
738 (sparc64-*-linux*): Likewise.
739 (sparc64-*-solaris2*): Include assembler files before linker ones.
740 (sparc-*-solaris2*): Simplify and reorder to match previous case.
741 * config/sparc/gas.h: Delete.
742 * config/sparc/sol2-64.h: Add copyright notice.
743 * config/sparc/sol2-gas-bi.h: Likewise.
744 * config/sparc/sol2-gld.h: Likewise.
745 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
746 * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
747 * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
748 * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
749 (sparc_elf_asm_named_section): Rename into...
750 (sparc_solaris_elf_asm_named_section): ...this. Always define.
751
752 2010-03-02 Uros Bizjak <ubizjak@gmail.com>
753
754 * config/alpha/alpha.c (override_options): Fix -mtune error message.
755
756 2010-03-02 Jeff Law <law@redhat.com>
757
758 PR middle-end/42431
759 * reload1.c (rtx_p, substitute_stack): Declare.
760 (substitute): Record addresses of changed rtxs.
761 (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
762 Restore the original rtx when complete.
763 (reload): Free subsitute_stack when complete.
764
765 2010-03-02 Janis Johnson <janis187@us.ibm.com>
766
767 * doc/gccint.texi (menu): Add Testsuites as a chapter.
768 * doc/sourcebuild.texi (Testsuites): Move up a level to be a
769 new chapter.
770 (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
771 LTO Testing, gcov Testing, profopt Testing, compat Testing,
772 Torture Tests): Change from subsection to section.
773
774 2010-03-02 Jakub Jelinek <jakub@redhat.com>
775 Steven Bosscher <steven@gcc.gnu.org>
776
777 * var-tracking.c (vt_initialize): Scan insns in ebb chunks
778 instead of bb.
779
780 2010-03-02 Reza Yazdani <reza.yazdani@amd.com>
781
782 PR middle-end/42640
783 * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
784 the assignment from the new induction variable to the assignment
785 of the value from the original loop PHI function.
786
787 2010-03-01 Janis Johnson <janis187@us.ibm.com>
788 Daniel Jacobowitz <dan@codesourcery.com>
789
790 * doc/sourcebuild.texi (Test directives): Clarify options to
791 dg-skip-if.
792
793 2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
794
795 * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
796 Disable cfi directives unless GCC and gas agree on using read-only
797 .eh_frame sections for 64-bit.
798 * configure: Regenerate.
799
800 2010-03-01 Richard Guenther <rguenther@suse.de>
801
802 PR tree-optimization/43220
803 * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
804 BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
805
806 2010-03-01 Richard Guenther <rguenther@suse.de>
807 Martin Jambor <mjambor@suse.cz>
808
809 PR middle-end/41250
810 * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
811 gimplified parameters.
812
813 2010-03-01 Christian Bruel <christian.bruel@st.com>
814
815 * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
816
817 2010-03-01 H.J. Lu <hongjiu.lu@intel.com>
818
819 * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
820
821 2010-03-01 Richard Guenther <rguenther@suse.de>
822
823 PR middle-end/43213
824 * expr.c (expand_assignment): Use the alias-oracle to tell
825 if the rhs aliases the result decl.
826
827 2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
828
829 PR pch/14940
830 * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
831 to sol_gt_pch_get_address.
832 (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
833 64-bit, SPARC and x86.
834 (sol_gt_pch_get_address): New function.
835
836 2010-03-01 Marco Poletti <poletti.marco@gmail.com>
837
838 * toplev.h (inform_n, error_n): Declare.
839 * diagnostic.c (inform_n, error_n): New function.
840
841 2010-03-01 Jakub Jelinek <jakub@redhat.com>
842
843 * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
844 has no rtl yet when processing local_decls, queue it and recheck
845 if deferred stack allocation hasn't assigned it rtl.
846
847 2010-02-28 Kaz Kojima <kkojima@gcc.gnu.org>
848
849 * config/sh/sh.c (unspec_bbr_uid): New.
850 (gen_block_redirect): Use it instead of INSN_UID.
851 (gen_far_branch): Likewise.
852
853 2010-02-28 H.J. Lu <hongjiu.lu@intel.com>
854
855 * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
856 it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
857
858 2010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
859
860 * doc/invoke.texi (Warning Options, RX Options): Fix typos.
861 (Warning Options): -Wno-conversion-null is valid for
862 Objective-C++ as well.
863 * doc/tm.texi (Named Address Spaces): Likewise.
864 * doc/plugins.texi (Plugins): Replace TABs with spaces.
865 * doc/tree-ssa.texi (Tree SSA): Likewise.
866
867 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
868
869 PR bootstrap/43202
870 * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
871 by default. Don't set the default arch for
872 i[34567]86-*-darwin*|x86_64-*-darwin*.
873
874 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
875
876 PR bootstrap/43202
877 * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
878 default. Set the default 32bit/64bit archs with $with_arch
879 instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
880
881 2010-02-27 Richard Guenther <rguenther@suse.de>
882
883 PR tree-optimization/43186
884 * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
885 * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
886 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
887 unroller iterations.
888
889 2010-02-27 H.J. Lu <hongjiu.lu@intel.com>
890
891 * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
892 required and i[34567]86-*-* targets don't support 64bit ISA.
893
894 2010-02-26 Eric Botcazou <ebotcazou@adacore.com>
895
896 PR ada/43096
897 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
898 the same alias set.
899
900 2010-02-26 H.J. Lu <hongjiu.lu@intel.com>
901
902 * config.gcc: Set the default arch at least to Prescott for
903 i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
904 if SSE math is enabled.
905
906 2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
907
908 * diagnostic.c (diagnostic_initialize): Update.
909 (diagnostic_report_diagnostic): Test inhibit_notes_p for
910 informative notes.
911 * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
912 (diagnostic_inhibit_notes): New.
913 * toplev.c (process_options): inhibit notes with -fcompare-debug.
914
915 2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
916
917 PR c/20631
918 * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
919 * doc/standards.texi: Likewise.
920 * doc/extend.texi: Likewise.
921 * doc/trouble.texi: Likewise.
922 * doc/cppopts.texi: Likewise.
923 * doc/install.texi: Likewise.
924 * c.opt (std=c90,std=gnu90): New options.
925 * c-opts.c (c_common_handle_option): Handle them.
926
927 2010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
928
929 PR c/24577
930 * c-decl.c (undeclared_variable): Use an informative note.
931
932 2010-02-26 Richard Guenther <rguenther@suse.de>
933
934 PR tree-optimization/43186
935 * gimple.h (gimple_fold): Remove.
936 * gimple.c (gimple_fold): Remove. Inline into single user ...
937 * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
938 Try harder for conditions.
939
940 2010-02-26 Jakub Jelinek <jakub@redhat.com>
941
942 PR debug/43190
943 * function.c (used_types_insert): Don't skip through named pointer
944 types. Don't use TYPE_MAIN_VARIANT if the original type has a name
945 and it is different from the main variant's type.
946
947 2010-02-26 Nick Clifton <nickc@redhat.com>
948
949 * config/rx/rx.md (sminsi3): Remove bogus alternative.
950
951 2010-02-26 H.J. Lu <hongjiu.lu@intel.com>
952
953 * config.gcc: Support --with-fpmath=sse for x86.
954
955 * config/i386/ssemath.h: New.
956
957 * doc/install.texi (--with-fpmath=sse): Documented.
958
959 2010-02-26 Richard Guenther <rguenther@suse.de>
960
961 PR tree-optimization/43188
962 * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
963 vector types of over-aligned element type.
964
965 2010-02-26 Uros Bizjak <ubizjak@gmail.com>
966
967 PR target/43175
968 * config/i386/i386.c (expand_vec_perm_blend): Use correct
969 operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx.
970
971 2010-02-26 Jan Kratochvil <jan.kratochvil@redhat.com>
972
973 * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
974
975 2010-02-26 Jakub Jelinek <jakub@redhat.com>
976
977 * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
978 * var-tracking.c: Include diagnostic.h.
979 (debug_dv): New function.
980 (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
981
982 PR debug/43160
983 * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
984 (add_value_chain, add_value_chains, remove_value_chain,
985 remove_value_chains): Handle DEBUG_EXPRs.
986 (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
987
988 PR debug/43161
989 * regcprop.c (struct queued_debug_insn_change): New type.
990 (struct value_data_entry): Add debug_insn_changes field.
991 (struct value_data): Add n_debug_insn_changes field.
992 (debug_insn_changes_pool): New variable.
993 (free_debug_insn_changes, apply_debug_insn_changes,
994 cprop_find_used_regs_1, cprop_find_used_regs): New functions.
995 (kill_value_one_regno): Call free_debug_insn_changes if needed.
996 (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
997 fields.
998 (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
999 changes for them.
1000 (copyprop_hardreg_forward_1): Don't call apply_change_group for
1001 DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN
1002 changes, call cprop_find_used_regs via note_stores.
1003 (copyprop_hardreg_forward): When copying vd from predecessor
1004 which has any queued DEBUG_INSN changes, make sure the pointers are
1005 cleared. At the end call df_analyze and then if there are any
1006 DEBUG_INSN changes queued at the end of some basic block for still
1007 live registers, apply them.
1008 (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
1009
1010 2010-02-25 Uros Bizjak <ubizjak@gmail.com>
1011
1012 * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
1013 (arm*-*-*): Ditto.
1014
1015 2010-02-25 H.J. Lu <hongjiu.lu@intel.com>
1016
1017 * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
1018 targets. Set the default with_cpu/with_arch from arch/cpu.
1019 Allow x86-64 and native for with_cpu/with_arch.
1020
1021 2010-02-25 Nicolas Benoit <nbenoit@tuxfamily.org>
1022
1023 * ebitmap.c: Change calls to verify_popcount with calls to
1024 sbitmap_verify_popcount.
1025 (ebitmap_clear_bit): Fixed map->cacheindex test and
1026 map>cache update when bit clearing results in an empty
1027 element.
1028
1029 2010-02-25 Michael Meissner <meissner@linux.vnet.ibm.com>
1030
1031 PR target/43154
1032 * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
1033 (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
1034 and support both V2DF and V2DI modes.
1035 (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
1036 support both V2DF and V2DI modes.
1037 (general): Delete trailing whitespace from a few patterns.
1038
1039 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
1040 V2DF/V2DI interleave high/low builtins.
1041
1042 * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
1043 new VSX builtins.
1044
1045 * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
1046 interleave high/low functions.
1047
1048 2010-02-25 Gerald Pfeifer <gerald@pfeifer.com>
1049
1050 * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
1051 #pragma extern_prefix.
1052
1053 2010-02-25 Jakub Jelinek <jakub@redhat.com>
1054
1055 PR debug/43166
1056 * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
1057 BLKmode, assert op0 is a MEM and just adjust its mode.
1058
1059 PR debug/43165
1060 * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
1061 if bitpos isn't multiple of mode's bitsize.
1062
1063 2010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
1064
1065 * c.opt (-ftemplate-depth=): New.
1066 (-ftemplate-depth-): Deprecate.
1067 * optc-gen.awk: Handle -ftemplate-depth=.
1068 * opth-gen.awk: Likewise.
1069 * c-opts.c (c_common_handle_option): Likewise.
1070 * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
1071
1072 2010-02-24 Jason Merrill <jason@redhat.com>
1073
1074 * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
1075
1076 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1077
1078 * cfg.c (alloc_aux_for_block): Remove inline.
1079 (alloc_aux_for_edge): Likewise.
1080
1081 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1082
1083 * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
1084
1085 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1086
1087 * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
1088 * config/i386/sol2-gas.h: New file.
1089 * config.gcc (i[34567]86-*-solaris2*): Use it.
1090
1091 2010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
1092
1093 PR c/43128
1094 * c-typeck.c (ep_convert_and_check): New.
1095 (build_conditional_expr): Use it.
1096 (build_binary_op): Likewise.
1097
1098 2010-02-24 Jakub Jelinek <jakub@redhat.com>
1099
1100 * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
1101
1102 PR debug/43150
1103 * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
1104 bounds even for -O+.
1105 * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
1106 expr needs to have DECL_NAME set.
1107
1108 2010-02-24 Nick Clifton <nickc@redhat.com>
1109
1110 * config/mep/mep.c: Include gimple.h.
1111 (mep_function_uses_sp): Delete unused function.
1112 (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
1113 parameters. Use unsigned integers to count args. Return a
1114 NULL_RTX instead of an error_mark_node. Toidy up formatting.
1115
1116 2010-02-23 Jakub Jelinek <jakub@redhat.com>
1117
1118 PR target/43107
1119 * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
1120 greater or equal to nelt instead of 2 * nelt.
1121 (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
1122 with nelt - 1.
1123
1124 2010-02-23 Jason Merrill <jason@redhat.com>
1125
1126 PR debug/42800
1127 * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
1128 in cfun->local_decls even if they have register types.
1129
1130 PR c++/42837
1131 * stor-layout.c (place_field): Don't warn about unnecessary
1132 DECL_PACKED if the type is packed.
1133
1134 2010-02-23 Jakub Jelinek <jakub@redhat.com>
1135
1136 PR target/43139
1137 * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
1138 GOTOFF relocs, even when the base reg isn't pic pointer.
1139
1140 2010-02-23 Michael Matz <matz@suse.de>
1141
1142 PR debug/43077
1143 * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
1144 (expand_gimple_basic_block): Generate and use debug temps if there
1145 are debug uses left after the last real use of TERed ssa names.
1146 Unlink debug immediate uses when they are expanded.
1147
1148 2010-02-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
1149
1150 PR 43123
1151 * config/i386/i386.c (override_options): Reorganise to provide
1152 better error messages.
1153
1154 2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
1155
1156 PR middle-end/43083
1157 * graphite-scop-detection.c (create_single_exit_edge): Move
1158 the call to find_single_exit_edge to....
1159 (create_sese_edges): ...here. Don't handle multiple edges
1160 exiting the function.
1161 (build_graphite_scops): Don't handle multiple edges
1162 exiting the function.
1163
1164 2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
1165
1166 PR middle-end/43097
1167 * sese.c (get_rename): Assert that old_name is an SSA_NAME.
1168 (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
1169
1170 2010-02-22 Sebastian Pop <sebastian.pop@amd.com>
1171
1172 PR middle-end/43026
1173 * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
1174
1175 2010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1176
1177 PR c++/43126
1178 * c-typeck.c (convert_arguments): Print declaration location.
1179 * c-common.c (validate_nargs): Rename as
1180 builtin_function_validate_nargs.
1181 (check_builtin_function_arguments): Update.
1182
1183 2010-02-22 Richard Guenther <rguenther@suse.de>
1184
1185 PR lto/43045
1186 * tree-inline.c (declare_return_variable): Use the type of
1187 the call stmt lhs if available.
1188
1189 2010-02-22 Duncan Sands <baldrick@free.fr>
1190
1191 * passes.c (register_pass): Always consider all pass lists when
1192 ref_pass_instance_number is zero.
1193
1194 2010-02-22 Richard Guenther <rguenther@suse.de>
1195
1196 PR tree-optimization/42749
1197 * tree-tailcall.c (adjust_return_value_with_ops): Drop update
1198 parameter. Do arithmetic in the original type.
1199 (update_accumulator_with_ops): Likewise.
1200 (adjust_accumulator_values): Adjust.
1201
1202 2010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1203
1204 * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
1205 (QI to BLKmode splitter): New splitter.
1206
1207 2010-02-22 H.J. Lu <hongjiu.lu@intel.com>
1208
1209 * config/i386/i386.c (initial_ix86_tune_features): Turn on
1210 X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
1211
1212 2010-02-22 Richard Guenther <rguenther@suse.de>
1213
1214 * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
1215
1216 2010-02-22 Hans-Peter Nilsson <hp@bitrange.com>
1217
1218 Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
1219 * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
1220 ($(T)crti.o, $(T)crtn.o): Remove rules.
1221
1222 2010-02-21 Tobias Burnus <burnus@net-b.de>
1223
1224 PR fortran/35259
1225 * doc/invoke.texi (-fassociative-math): Document that this
1226 option is automatically enabled for Fortran.
1227
1228 2010-02-20 David S. Miller <davem@davemloft.net>
1229
1230 * configure.ac: Test if linker and assembler properly support
1231 GOTDATA_OP relocations.
1232 * configure: Rebuild.
1233 * config.in: Likewise.
1234 * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
1235 (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
1236 (movsi_high_pic): Likewise.
1237 (movdi_lo_sum_pic): Likewise.
1238 (movdi_high_pic): Likewise.
1239 (movsi_pic_gotdata_op): New pattern.
1240 (movdi_pic_gotdata_op): Likewise.
1241 * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
1242 emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
1243
1244 2010-02-20 Uros Bizjak <ubizjak@gmail.com>
1245
1246 PR target/43067
1247 * config/i386/sse.md (xop_mulv2div2di3_low): Change type
1248 attribute to ssemul.
1249 (xop_mulv2div2di3_high): Ditto.
1250
1251 2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1252
1253 PR c++/35669
1254 * c.opt (Wconversion-null): New option.
1255 * doc/invoke.texi (Wconversion-null): Document.
1256
1257 2010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1258
1259 * common.opt (Wlarger-than-): Add Undocumented.
1260
1261 2010-02-19 Mike Stump <mikestump@comcast.net>
1262
1263 * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
1264
1265 2010-02-19 Jason Merrill <jason@redhat.com>
1266
1267 PR target/40332
1268 * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
1269 * configure: Likewise.
1270
1271 2010-02-20 Alan Modra <amodra@gmail.com>
1272
1273 PR middle-end/42344
1274 * cgraph.h (cgraph_make_decl_local): Declare.
1275 * cgraph.c (cgraph_make_decl_local): New function.
1276 (cgraph_make_node_local): Use it.
1277 * cgraphunit.c (cgraph_function_versioning): Likewise.
1278 * ipa.c (function_and_variable_visibility): Likewise.
1279
1280 2010-02-19 Jakub Jelinek <jakub@redhat.com>
1281
1282 PR bootstrap/43121
1283 * except.c (sjlj_emit_function_enter): Don't call
1284 add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
1285 directly.
1286 * rtl.h (add_reg_br_prob_note): Remove prototype.
1287
1288 2010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
1289
1290 PR 41779
1291 * c-common.c (conversion_warning): Remove widening conversions
1292 before checking the conversion of integers to reals.
1293
1294 2010-02-19 Mike Stump <mikestump@comcast.net>
1295
1296 PR middle-end/43125
1297 * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
1298
1299 PR objc/43061
1300 * cgraphunit.c (process_function_and_variable_attributes): Check
1301 DECL_PRESERVE_P instead of looking up attribute "used".
1302 * ipa-pure-const.c (check_decl): Likewise.
1303 * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
1304 * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
1305 * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
1306 instead of attribute "used".
1307 * config/sol2-c.c (solaris_pragma_init): Likewise.
1308 (solaris_pragma_fini): Likewise.
1309
1310 2010-02-19 Jakub Jelinek <jakub@redhat.com>
1311
1312 * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
1313 Use XCNEW instead of xcalloc.
1314 (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
1315 XNEW instead of xmalloc.
1316 (get_fields): Use XNEWVEC instead of xmalloc.
1317
1318 PR debug/43084
1319 * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
1320 populate vars array.
1321 (create_new_general_access): For debug stmts just reset value.
1322 (get_stmt_accesses): For accesses within debug stmts just record them
1323 using add_access_to_acc_sites instead of preventing the peeling or
1324 counting them as accesses.
1325
1326 PR middle-end/42233
1327 * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
1328
1329 2010-02-19 Richard Guenther <rguenther@suse.de>
1330
1331 PR tree-optimization/42916
1332 * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
1333 instructions.
1334
1335 2010-02-19 Andreas Schwab <schwab@linux-m68k.org>
1336
1337 * configure.ac: Replace all uses of changequote in macro arguments
1338 with proper quoting.
1339
1340 2010-02-19 Jakub Jelinek <jakub@redhat.com>
1341
1342 PR middle-end/42233
1343 * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
1344
1345 2010-02-19 Richard Guenther <rguenther@suse.de>
1346
1347 PR tree-optimization/42944
1348 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
1349 test for aliasing with errno.
1350
1351 2010-02-19 Jakub Jelinek <jakub@redhat.com>
1352
1353 PR middle-end/42233
1354 * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
1355 do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
1356 * dojump.c: Include output.h.
1357 (inv): New inline function.
1358 (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
1359 do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
1360 do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
1361 do_jump_by_parts_equality, do_compare_and_jump): Add PROB
1362 argument, pass it down to other calls.
1363 (do_compare_rtx_and_jump): Likewise. If PROB is not -1,
1364 add REG_BR_PROB note to the conditional jump.
1365 * cfgexpand.c (add_reg_br_prob_note): Removed.
1366 (expand_gimple_cond): Don't call it, add the probability
1367 as last argument to jumpif_1/jumpifnot_1.
1368 * Makefile.in (dojump.o): Depend on output.h.
1369 * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
1370 callers.
1371 * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
1372 * stmt.c (do_jump_if_equal): Likewise.
1373 * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
1374 * loop-unswitch.c (compare_and_jump_seq): Likewise.
1375 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
1376 Likewise.
1377 * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
1378 * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
1379 jumpifnot_1 callers.
1380 (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
1381 callers.
1382 (store_expr): Adjust jumpifnot caller.
1383 (store_constructor): Adjust jumpif caller.
1384
1385 PR middle-end/42233
1386 * gimplify.c (gimple_boolify): For __builtin_expect call
1387 gimple_boolify also on its first argument.
1388
1389 2010-02-18 Uros Bizjak <ubizjak@gmail.com>
1390
1391 * configure.ac (gnu-unique-object): Wrap regexps using [] in
1392 changequote block.
1393 (__stack_chk_fail): Ditto. Remove quadrigraphs.
1394 * configure: Regenerated.
1395
1396 2010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1397
1398 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
1399 lang_hooks.types_compatible_p instead of comptypes.
1400
1401 2010-02-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
1402
1403 * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
1404 (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
1405 if __prefer_thumb__ is defined.
1406
1407 2010-02-18 Martin Jambor <mjambor@suse.cz>
1408
1409 PR tree-optimization/43066
1410 * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
1411 array with zero-sized element type.
1412
1413 2010-02-18 Jakub Jelinek <jakub@redhat.com>
1414
1415 * dwarf2out.c (add_var_loc_to_decl): Change last argument to
1416 rtx, allocate struct var_loc_node here and return it to the
1417 caller, and only if it is actually needed.
1418 (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
1419 move it earlier and return immediately if it returns NULL.
1420
1421 2010-02-17 Mikael Pettersson <mikpe@it.uu.se>
1422
1423 * config/sparc/gas.h: New file. Restore
1424 TARGET_ASM_NAMED_SECTION to its ELF default.
1425 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
1426 check !HAVE_GNU_AS.
1427 * config/sparc/sparc.c (sparc_elf_asm_named_section):
1428 Likewise. Add ATTRIBUTE_UNUSED to prototype.
1429 * config.gcc (sparc*-*-linux*): Include sparc/gas.h
1430 after sparc/sysv4.h.
1431
1432 2010-02-17 Dave Korn <dave.korn.cygwin@gmail.com>
1433
1434 * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
1435
1436 2010-02-17 Steven Bosscher <steven@gcc.gnu.org>
1437
1438 * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
1439 patterns from predicated pattern.
1440
1441 2010-02-17 Uros Bizjak <ubizjak@gmail.com>
1442
1443 PR target/43103
1444 * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
1445 for insn mnemonic suffix.
1446
1447 2010-02-17 Richard Guenther <rguenther@suse.de>
1448
1449 * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
1450 to loop PHI nodes.
1451
1452 2010-02-17 Jakub Jelinek <jakub@redhat.com>
1453
1454 PR debug/42918
1455 * caller-save.c (save_call_clobbered_regs): If BB ends with
1456 a DEBUG_INSN, move any notes in between last real insn and the last
1457 DEBUG_INSN after the last DEBUG_INSN.
1458
1459 2010-02-16 Joern Rennecke <joern.rennecke@embecosm.com>
1460
1461 * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
1462 Fix return type. Fix argument type. Explain meaning of return value.
1463
1464 2010-02-16 Richard Guenther <rguenther@suse.de>
1465
1466 PR tree-optimization/41043
1467 * tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops.
1468 (vrp_visit_assignment_or_call): Do not ask SCEV for regular
1469 statements ...
1470 (vrp_visit_phi_node): ... but only for loop PHI nodes.
1471
1472 2010-02-16 Ira Rosen <irar@il.ibm.com>
1473
1474 PR tree-optimization/43074
1475 * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
1476 * tree-vect-loop.c (vect_analyze_loop_operations): Add
1477 vectorizable cycles in hybrid SLP check.
1478 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
1479
1480 2010-02-16 Richard Guenther <rguenther@suse.de>
1481
1482 * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
1483 (true_dependence): If memrefs_conflict_p computes must-alias
1484 trust it. Move TBAA check after offset-based disambiguation.
1485 (canon_true_dependence): Likewise.
1486
1487 2010-02-16 Alexandre Oliva <aoliva@redhat.com>
1488
1489 * params.def (PARAM_MAX_VARTRACK_SIZE): New.
1490 * doc/invoke.texi: Document it.
1491 * var-tracking.c: Include toplev.h and params.h.
1492 (vt_find_locations): Return bool indicating success. Compute
1493 hash sizes unconditionally. Check new parameter, report.
1494 (variable_tracking_main_1): Check vt_find_locations results and
1495 retry. Renamed from...
1496 (variable_tracking_main): ... this. New wrapper to preserve
1497 flag_var_tracking_assignments.
1498 * Makefile.in (var-tracking.o): Adjust dependencies.
1499
1500 2010-02-16 Jack Howarth <howarth@bromo.med.uc.edu>
1501 Jakub Jelinek <jakub@redhat.com>
1502
1503 PR target/42854
1504 * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
1505 if weak_import attribute is present.
1506 * config/darwin.c (machopic_select_section): Likewise.
1507
1508 2010-02-15 Joern Rennecke <joern.rennecke@embecosm.com>
1509
1510 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
1511 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
1512 (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
1513 (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
1514
1515 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument types.
1516
1517 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
1518 Fix argument types.
1519
1520 * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
1521 Rewrite text to refer to the names.
1522
1523 2010-02-15 Sebastian Pop <sebastian.pop@amd.com>
1524
1525 * config/i386/i386-builtin-types.def
1526 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
1527 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
1528 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
1529 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
1530 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
1531 IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
1532 IX86_BUILTIN_VPERMIL2PS256.
1533 (MULTI_ARG_4_DF2_DI_I): Defined.
1534 (MULTI_ARG_4_DF2_DI_I1): Defined.
1535 (MULTI_ARG_4_SF2_SI_I): Defined.
1536 (MULTI_ARG_4_SF2_SI_I1): Defined.
1537 (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
1538 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
1539 __builtin_ia32_vpermil2ps256.
1540 (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
1541 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
1542 MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments.
1543 (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
1544 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
1545 MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3,
1546 CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
1547 CODE_FOR_xop_vpermil2v8sf3.
1548 * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
1549 * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
1550 * config/i386/xopintrin.h (_mm_permute2_pd): New.
1551 (_mm256_permute2_pd): New.
1552 (_mm_permute2_ps): New.
1553 (_mm256_permute2_ps): New.
1554
1555 2010-02-15 Nick Clifton <nickc@redhat.com>
1556
1557 * config/h8300/h8300.c: (h8300_push_pop): Use bool type for
1558 boolean parameters. Use emit_jump_insn when emitting a pop
1559 instruction containing a return insn.
1560 (push): Use 'true' rather than '1' as second parameter to F.
1561 (h8300_expand_prologue): Likewise.
1562 Use 'true' and 'false' for boolean parameters to h8300_push_pop.
1563 (h8300_expand_epilogue): Likewise.
1564
1565 2010-02-15 Richard Guenther <rguenther@suse.de>
1566
1567 PR middle-end/43068
1568 * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
1569 if that is zero.
1570
1571 2010-02-15 Nick Clifton <nickc@redhat.com>
1572
1573 * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
1574 delta.
1575
1576 2010-02-14 Marco Poletti <poletti.marco@gmail.com>
1577
1578 * intl.c (fake_ngettext): New function.
1579 * intl.h (fake_ngettext): Declare.
1580 (ngettext): Define macro.
1581 * collect2.c (notice_translated): New function.
1582 (main): Use notice_translated and ngettext.
1583 * collect2.h (notice_translated): Declare.
1584
1585 2010-02-14 Steven Bosscher <steven@gcc.gnu.org>
1586
1587 * reorg.c (delete_computation): Comment fixes.
1588 * caller-save.c (setup_save_areas): Idem.
1589 * sel-sched-dump.c (dump_lv_set): Idem.
1590 * rtl.def: Idem.
1591
1592 2010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1593
1594 * config/s390/s390.c (s390_sched_init): New function.
1595 (TARGET_SCHED_INIT): Target hook defined.
1596
1597 2010-02-12 Dave Korn <dave.korn.cygwin@gmail.com>
1598 Jack Howarth <howarth@bromo.med.uc.edu>
1599 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
1600
1601 PR target/42982
1602 Partial revert of unintended change in fix for PR41605.
1603 * config/darwin.h: Fix typo.
1604 * config/darwin9.h: Same.
1605
1606 2010-02-11 Jakub Jelinek <jakub@redhat.com>
1607
1608 * c-pch.c (pch_init): Clear v.
1609
1610 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
1611
1612 PR middle-end/42930
1613 * graphite-scop-detection.c (graphite_can_represent_scev): Call
1614 graphite_can_represent_init for MULT_EXPR.
1615
1616 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
1617
1618 PR middle-end/42914
1619 PR middle-end/42530
1620 * graphite-sese-to-poly.c (remove_phi): New.
1621 (translate_scalar_reduction_to_array): Call remove_phi.
1622
1623 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
1624
1625 PR middle-end/42771
1626 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
1627 * graphite-clast-to-gimple.h (gloog): Update declaration.
1628 * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
1629 * graphite-poly.h (struct poly_bb): Add missing comments.
1630 (struct scop): Add poly_scop_p field.
1631 (POLY_SCOP_P): New.
1632 * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
1633 * graphite.c (graphite_transform_loops): Build the polyhedral
1634 representation for each scop before code generation.
1635 * sese.c (rename_variables_in_operand): Removed.
1636 (rename_variables_in_expr): Return the renamed expression.
1637 (rename_sese_parameters): New.
1638 * sese.h (rename_sese_parameters): Declared.
1639
1640 2010-02-11 Richard Guenther <rguenther@suse.de>
1641
1642 PR tree-optimization/42998
1643 * tree-ssa-pre.c (create_expression_by_pieces): Treat
1644 POINTER_PLUS_EXPR properly.
1645
1646 2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
1647 Changpeng Fang <changpeng.fang@amd.com>
1648
1649 PR middle-end/40886
1650 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
1651 the cost of an IV candidate when the IV is used in a test against zero.
1652
1653 * gcc.dg/tree-ssa/ivopts-3.c: New.
1654
1655 2010-02-11 Richard Guenther <rguenther@suse.de>
1656
1657 PR lto/41664
1658 * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
1659 pointer-vs-decl case by swapping refs. Handle some cases
1660 of pointer-vs-decl disambiguations more conservatively.
1661 * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
1662 to false after expanding.
1663
1664 2010-02-11 Richard Guenther <rguenther@suse.de>
1665
1666 PR driver/43021
1667 * gcc.c (process_command): Handle LTO file@offset case more
1668 appropriately.
1669
1670 2010-02-11 Jakub Jelinek <jakub@redhat.com>
1671
1672 * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
1673 modifications outside of the DEBUG_INSN. Accept CLOBBERs inside
1674 of DEBUG_INSNs.
1675 (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
1676
1677 * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
1678 if MEM's mode size isn't DWARF2_ADDR_SIZE.
1679 (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
1680 Optimize eq/ne comparisons when both arguments are known to be
1681 zero-extended.
1682 (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
1683 Don't mask operands unnecessarily if they are known to be already
1684 zero-extended.
1685
1686 2010-02-10 Vladimir Makarov <vmakarov@redhat.com>
1687
1688 * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
1689 instead of loop.
1690
1691 2010-02-10 Richard Guenther <rguenther@suse.de>
1692
1693 PR tree-optimization/43017
1694 * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
1695 for wrapping signed arithmetic.
1696
1697 2010-02-10 Jakub Jelinek <jakub@redhat.com>
1698
1699 PR debug/43010
1700 * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
1701 if no debug info should be emitted for it.
1702
1703 2010-02-10 Kaz Kojima <kkojima@gcc.gnu.org>
1704
1705 * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
1706 note when flag_exceptions is set.
1707
1708 2010-02-10 Duncan Sands <baldrick@free.fr>
1709
1710 * Makefile.in (PLUGIN_HEADERS): Add debug.h.
1711
1712 2010-02-10 Richard Guenther <rguenther@suse.de>
1713
1714 PR c/43007
1715 * tree.c (get_unwidened): Handle constants.
1716 * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
1717
1718 2010-02-10 Martin Jambor <mjambor@suse.cz>
1719
1720 PR lto/42985
1721 * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
1722 check for variable argument counts independently.
1723
1724 2010-02-10 Christian Bruel <christian.bruel@st.com>
1725
1726 PR target/42841
1727 * config/sh/sh.c (find_barrier): Increase length for non delayed
1728 conditional branches.
1729
1730 2010-02-10 Christian Bruel <christian.bruel@st.com>
1731
1732 * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
1733
1734 2010-02-10 Jakub Jelinek <jakub@redhat.com>
1735
1736 * builtins.c (set_builtin_user_assembler_name): Also handle
1737 ffs if int is smaller than word.
1738
1739 2010-02-09 Vladimir Makarov <vmakarov@redhat.com>
1740
1741 PR middle-end/42973
1742 * ira-conflicts.c (get_dup): Remove.
1743 (process_reg_shuffles): Add new parameter. Use it as an
1744 additional guard for copy generation.
1745 (add_insn_allocno_copies): Rewrite.
1746
1747 2010-02-09 Alexander Monakov <amonakov@ispras.ru>
1748
1749 * common.opt (fsched2-use-traces): Preserved for backward
1750 compatibility.
1751 * doc/invoke.texi: Remove the documentation about option
1752 -fsched2-use-traces.
1753 * sched-rgn.c (rest_of_handle_sched2): Remove usage of
1754 flag_sched2_use_traces.
1755 * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
1756 the backward compatibility flag section.
1757
1758 2010-02-09 Richard Guenther <rguenther@suse.de>
1759
1760 PR tree-optimization/43008
1761 * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
1762 make HEAP variables initialized from global memory if they
1763 are not known builtin functions.
1764 (find_func_aliases): Adjust.
1765
1766 2010-02-09 Richard Guenther <rguenther@suse.de>
1767
1768 PR tree-optimization/43000
1769 * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
1770 arithmetic manually.
1771
1772 2010-02-08 Jakub Jelinek <jakub@redhat.com>
1773
1774 PR tree-optimization/42931
1775 * tree-loop-linear.c (try_interchange_loops): Don't call
1776 double_int_mul if estimated_loop_iterations failed.
1777
1778 2010-02-08 Martin Jambor <mjambor@suse.cz>
1779
1780 PR middle-end/42898
1781 * tree-sra.c (build_accesses_from_assign): Do not mark in
1782 should_scalarize_away_bitmap if stmt has volatile ops.
1783 (sra_modify_assign): Do not process assigns piecemeal if if stmt
1784 has volatile ops.
1785
1786 2010-02-08 Joern Rennecke <joern.rennecke@embecosm.com>
1787
1788 * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
1789
1790 2010-02-07 Adam Nemet <adambnmet@gmail.com>
1791
1792 * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
1793 before the pattern.
1794
1795 2010-02-07 Andrew Pinski <pinskia@gmail.com>
1796
1797 PR middle-end/42946
1798 * df-core.c (df_finish_pass): Change type of saved_flags to int.
1799
1800 2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
1801
1802 PR middle-end/42988
1803 * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
1804 to unknown_dependence.
1805 (graphite_legal_transform_dr): Handle the unknown_dependence.
1806 (graphite_carried_dependence_level_k): Same.
1807
1808 2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
1809
1810 * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
1811
1812 2010-02-07 Richard Guenther <rguenther@suse.de>
1813
1814 PR middle-end/42991
1815 * expr.c (get_inner_reference): Always initialize *pbitsize.
1816
1817 2010-02-07 Richard Guenther <rguenther@suse.de>
1818
1819 PR middle-end/42956
1820 * gimplify.c (gimple_fold_indirect_ref): Avoid generating
1821 new ARRAY_REFs on variable size element or minimal index arrays.
1822 Complete.
1823 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
1824 gimple_fold_indirect_ref.
1825
1826 2010-02-06 Richard Earnshaw <rearnsha@arm.com>
1827
1828 PR target/42957
1829 * arm.c (arm_override_options): Just return if the user has specified
1830 an invalid fpu name.
1831
1832 2010-02-03 Jason Merrill <jason@redhat.com>
1833
1834 PR c++/42870
1835 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
1836 i386_pe_maybe_record_exported_symbol.
1837
1838 2010-02-05 Steve Ellcey <sje@cup.hp.com>
1839
1840 PR target/42924
1841 * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
1842 (pa_delegitimize_address): New function.
1843
1844 2010-02-05 Ozkan Sezer <sezeroz@gmail.com>
1845
1846 * config/i386/msformat-c.c (ms_printf_length_specs): Set the
1847 scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
1848
1849 2010-02-05 Richard Guenther <rguenther@suse.de>
1850
1851 PR lto/42762
1852 * lto-streamer-in.c (get_resolution): Deal with references
1853 to undefined functions.
1854
1855 2010-02-05 Richard Guenther <rguenther@suse.de>
1856
1857 * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
1858 (fold_const_aggregate_ref): Likewise.
1859 (ccp_fold_stmt): Substitute loads.
1860 (maybe_fold_reference): Verify types before substituting.
1861 Unshare properly.
1862 (fold_gimple_assign): Unshare properly.
1863 (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
1864
1865 2010-02-05 Nathan Froyd <froydnj@codesourcery.com>
1866
1867 * config/rs6000/rs6000.c (rs6000_override_options): Invert check
1868 for rs6000_gen_cell_microcode.
1869
1870 2010-02-04 Richard Guenther <rguenther@suse.de>
1871
1872 PR rtl-optimization/42952
1873 * dse.c (const_or_frame_p): Remove MEM handling.
1874
1875 2010-02-04 Nick Clifton <nickc@redhat.com>
1876
1877 * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
1878 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
1879 (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
1880 (mn10300_asm_output_mi_thunk): New function.
1881 (mn10300_can_output_mu_thunk): New function.
1882 * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
1883 (FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1.
1884 (FUNCTION_ARG): Delete incorrect comment.
1885
1886 2010-02-03 Jason Merrill <jason@redhat.com>
1887
1888 PR c++/40138
1889 * fold-const.c (operand_equal_p): Handle erroneous types.
1890
1891 2010-02-03 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
1892
1893 * config/h8300/h8300.md (can_delay): Fix attibute condition.
1894
1895 2010-02-03 Vladimir Makarov <vmakarov@redhat.com>
1896
1897 PR rtl-optimization/42941
1898 * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
1899 of xmalloc.
1900
1901 2010-02-03 Jason Merrill <jason@redhat.com>
1902
1903 PR c++/35652
1904 * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
1905
1906 2010-02-03 Alexandre Oliva <aoliva@redhat.com>
1907
1908 PR debug/42896
1909 * cselib.h (struct cselib_val_struct): Add uid. Rename value to hash.
1910 (cselib_reset_table): Renamed from...
1911 (cselib_reset_table_with_next_value): ... this.
1912 (cselib_get_next_uid): Renamed from...
1913 (cselib_get_next_unknown_value): ... this.
1914 * cselib.c (next_uid): Renamed from...
1915 (next_unknown_value): ... this.
1916 (cselib_clear_table): Adjust.
1917 (cselib_reset_table): Adjust. Renamed from...
1918 (cselib_reset_table_with_next_value): ... this.
1919 (cselib_get_next_uid): Adjust. Renamed from...
1920 (cselib_get_next_unknown_value): ... this.
1921 (get_value_hash): Use hash.
1922 (cselib_hash_rtx): Likewise.
1923 (new_cselib_val): Adjust. Set and dump uid.
1924 (cselib_lookup_mem): Pass next_uid as hash.
1925 (cselib_subst_to_values): Likewise.
1926 (cselib_log_lookup): Dump uid.
1927 (cselib_lookup): Pass next_uid as hash. Adjust.
1928 (cselib_process_insn): Adjust.
1929 (cselib_init): Initialize next_uid.
1930 (cselib_finish): Adjust.
1931 (dump_cselib_table): Likewise.
1932 * dse.c (canon_address): Dump value uid.
1933 * print-rtl.c (print_rtx): Print value uid.
1934 * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
1935 (dvuid): New type.
1936 (dv_uid): New function, sort of renamed from...
1937 (dv_htab_hash): ... this, reimplemented in terms of it and...
1938 (dv_uid2hash): ... this. New.
1939 (variable_htab_eq): Drop excess assertions.
1940 (tie_break_pointers): Removed.
1941 (canon_value_cmp): Compare uids.
1942 (variable_post_merge_New_vals): Print uids.
1943 (vt_add_function_parameters): Adjust.
1944 (vt_initialize): Reset table. Adjust.
1945
1946 2010-02-03 Richard Guenther <rguenther@suse.de>
1947
1948 PR tree-optimization/42944
1949 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
1950 (call_may_clobber_ref_p_1): Likewise. Properly handle
1951 malloc and calloc clobbering errno.
1952
1953 2010-02-03 Steven Bosscher <steven@gcc.gnu.org>
1954
1955 * doc/invoke.texi: Fix name of sched1 dump.
1956
1957 * opts.c (decode_options): Set flag_tree_switch_conversion
1958 only conditionally on optimize >= 2.
1959
1960 * gcse.c: Assorted comment fixes in pass description.
1961
1962 2010-02-03 Anthony Green <green@moxielogic.com>
1963
1964 * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
1965 nop padding in order to maintain alignment of storage location of
1966 target function address.
1967 (moxie_trampoline_init): Store target function address at newly
1968 aligned location.
1969 * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
1970 to 32.
1971 (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
1972
1973 2010-02-03 Richard Guenther <rguenther@suse.de>
1974
1975 PR middle-end/42927
1976 * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
1977
1978 2010-02-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1979
1980 * config.gcc: Reenable check for obsolete targets.
1981 Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
1982 mips-sgi-irix6.[0-4]*.
1983
1984 2010-02-02 Nick Clifton <nickc@redhat.com>
1985
1986 * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
1987 constant size of 4 as being the same as 0.
1988 * doc/invoke.texi (RX Options): Document that -mmax-constant-size
1989 can take values in the range 0..4.
1990
1991 2010-02-02 Jack Howarth <howarth@bromo.med.uc.edu>
1992
1993 PR java/41991
1994 * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
1995 as _darwin10_Unwind_FindEnclosingFunction().
1996 * libgcc-libsystem.ver: New.
1997
1998 2010-02-01 Vladimir Makarov <vmakarov@redhat.com>
1999
2000 PR target/41399
2001 * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
2002 implicitly set registers.
2003
2004 2010-02-01 Richard Earnshaw <rearnsha@arm.com>
2005
2006 * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
2007 (arm_override_options): Allow automatic selection of the thread
2008 pointer register if thumb2.
2009 (legitimize_pic_address): Improve code sequences for Thumb2.
2010 (arm_call_tls_get_addr): Likewise.
2011 (legitimize_tls_address): Likewise.
2012 * arm.md (pic_load_addr_arm): Delete. Replace with ...
2013 (pic_load_addr_32bit): ... this. New named pattern.
2014 * thumb2.md (pic_load_addr_thumb2): Delete.
2015 (pic_load_dot_plus_four): Delete.
2016 (tls_load_dot_plus_four): New named pattern.
2017
2018 2010-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2019
2020 PR libgomp/29986
2021 * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
2022 Document fix for TLS bug.
2023
2024 2010-01-31 Richard Guenther <rguenther@suse.de>
2025
2026 * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
2027 conservatively correct.
2028
2029 2010-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2030
2031 PR target/42850
2032 Revert:
2033 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2034
2035 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
2036
2037 2010-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2038
2039 * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
2040
2041 2010-01-31 Kai Tietz <kai.tietz@onevision.com>
2042
2043 * config.gcc: Adjust order of makefile fragments for mingw targets.
2044
2045 2010-01-31 Richard Guenther <rguenther@suse.de>
2046
2047 PR middle-end/42898
2048 * gimplify.c (gimplify_init_constructor): For volatile LHS
2049 initialize a temporary.
2050
2051 2010-01-31 Matthias Klose <doko@ubuntu.com>
2052
2053 * configure.ac: Fix __stack_chk_fail check for cross builds configured
2054 --with-headers
2055 * configure: Regenerate.
2056
2057 2010-01-29 Eric Botcazou <ebotcazou@adacore.com>
2058
2059 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
2060 the same alias set and their sizes different constantness.
2061 (aliasing_component_refs_p): Revert 2009-10-24 change.
2062
2063 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2064
2065 * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
2066 unused.
2067
2068 2010-01-29 Richard Guenther <rguenther@suse.de>
2069
2070 * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
2071 Assert we successfully updated the call.
2072
2073 2010-01-29 Jakub Jelinek <jakub@redhat.com>
2074
2075 PR rtl-optimization/42889
2076 * df.h (df_set_bb_dirty_nonlr): New prototype.
2077 * df-core.c (df_set_bb_dirty_nonlr): New function.
2078 * df-scan.c (df_insn_rescan): Call it instead of
2079 df_set_bb_dirty for DEBUG_INSNs.
2080
2081 2010-01-29 Richard Guenther <rguenther@suse.de>
2082
2083 PR middle-end/37448
2084 * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
2085 quadratic behavior in most cases.
2086
2087 2010-01-28 Uros Bizjak <ubizjak@gmail.com>
2088
2089 PR target/42891
2090 * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
2091 in the call to gen_x86_movsicc_0_m1.
2092
2093 2010-01-28 Richard Guenther <rguenther@suse.de>
2094
2095 PR tree-optimization/42871
2096 * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
2097
2098 2010-01-28 Richard Guenther <rguenther@suse.de>
2099
2100 * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
2101 into call arguments.
2102
2103 2010-01-28 Richard Guenther <rguenther@suse.de>
2104
2105 PR middle-end/42883
2106 * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
2107 the forwarder if the destination is an EH landing pad.
2108
2109 2010-01-28 Razya Ladelsky <razya@il.ibm.com>
2110
2111 * tree-parloops.c (transform_to_exit_first_loop): Update the basic
2112 block list passed to gimple_duplicate_sese_tail.
2113 (parallelize_loops): Avoid parallelization when the function
2114 has_nonlocal_label.
2115 Avoid parallelization when the preheader is IRREDUCIBLE.
2116 Try to optimize when estimated_loop_iterations_int is unresolved.
2117 Add the loop's location to the dump file.
2118 * tree-cfg.c (add_phi_args_after_redirect): Remove.
2119 (gimple_duplicate_sese_tail): Remove the check for the latch.
2120 Redirect nexits to the exit block.
2121 Remove handling of the incoming edges to the latch.
2122 Redirect the backedge from the copied latch to the exit bb.
2123
2124 2010-01-28 Michael Matz <matz@suse.de>
2125
2126 PR target/42881
2127 * config/i386/i386.c (ix86_expand_vector_init_duplicate):
2128 Wrap force_reg into a sequence, emit it before user.
2129
2130 2010-01-28 Stephen Thomas <stephen.thomas@arm.com>
2131
2132 * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
2133 (arm_rev): New.
2134 (arm_legacy_rev): Likewise.
2135 (thumb_legacy_rev): Likewise.
2136
2137 2010-01-27 Jakub Jelinek <jakub@redhat.com>
2138
2139 * dwarf2out.c (mem_loc_descriptor): Remove special casing of
2140 CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call
2141 on MEM's address failed, try avoid_constant_pool_reference and
2142 recurse if it returned something different.
2143 (loc_descriptor): If for MEM mem_loc_descriptor failed on the
2144 address, try avoid_constant_pool_reference and recurse if it
2145 returned something different.
2146 (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
2147 address and avoid_constant_pool_reference returned something
2148 different, don't set have_address.
2149
2150 2010-01-27 Alexandre Oliva <aoliva@redhat.com>
2151
2152 PR debug/42861
2153 * var-tracking.c (val_store): Add modified argument, obey it.
2154 Adjust callers.
2155 (count_uses): Move down logging of main.
2156 (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
2157 don't need resolution.
2158 (emit_notes_in_bb): Likewise.
2159
2160 2010-01-27 Richard Guenther <rguenther@suse.de>
2161
2162 PR middle-end/42878
2163 * tree-inline.c (remap_decl): Delay remapping of SSA name
2164 default definitions until we need them.
2165
2166 2010-01-27 Jakub Jelinek <jakub@redhat.com>
2167
2168 * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
2169 (rs6000_delegitimize_address): New function.
2170
2171 * config/s390/s390.c (s390_delegitimize_address): Call
2172 delegitimize_mem_from_attrs.
2173
2174 PR middle-end/42874
2175 * tree-inline.c (cannot_copy_type_1): Removed.
2176 (copy_forbidden): Don't forbid copying of functions containing
2177 records/unions with variable length fields.
2178
2179 2010-01-27 Christian Bruel <christian.bruel@st.com>
2180
2181 Revert:
2182 PR target/42841
2183 * config/sh/sh.c (find_barrier): Increase length for non delayed
2184 conditional branches.
2185
2186 2010-01-27 Matthias Klose <doko@ubuntu.com>
2187
2188 * configure.ac (gnu-unique-object): Fix ldd version check.
2189 * configure: Regenerate.
2190
2191 2010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2192
2193 * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
2194 HAVE_GNU_AS value.
2195 * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
2196 Test for HAVE_GNU_AS value.
2197
2198 2010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2199
2200 * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
2201 * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
2202 INT64_TYPE): Define.
2203 (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
2204 (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
2205 INT_LEAST64_TYPE): Define.
2206 (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
2207 UINT_LEAST64_TYPE): Define.
2208 (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
2209 INT_FAST64_TYPE): Define.
2210 (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
2211 UINT_FAST64_TYPE): Define.
2212 (INTMAX_TYPE, UINTMAX_TYPE): Define.
2213 (INTPTR_TYPE, UINTPTR_TYPE): Define.
2214 (SIG_ATOMIC_TYPE): Define.
2215
2216 2010-01-26 Richard Guenther <rguenther@suse.de>
2217
2218 * df-scan.c (df_scan_set_bb_info): Remove assert.
2219 (df_insn_rescan_debug_internal): Merge asserts.
2220 (df_install_ref): Likewise.
2221 (df_mark_reg): Use bitmap_set_range.
2222 (df_hard_reg_used_p): Remove assert.
2223 (df_hard_reg_used_count): Likewise.
2224
2225 2010-01-26 Richard Guenther <rguenther@suse.de>
2226
2227 PR rtl-optimization/42685
2228 * web.c (web_main): Ignore DEBUG_INSNs.
2229
2230 2010-01-26 Joern Rennecke <amylaar@spamcop.net>
2231
2232 * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
2233
2234 (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
2235 Fix types of fndecl and arglist parameters.
2236
2237 2010-01-26 Richard Guenther <rguenther@suse.de>
2238
2239 PR middle-end/42806
2240 * tree-eh.c (unsplit_eh): Skip debug insns.
2241
2242 2010-01-26 Richard Guenther <rguenther@suse.de>
2243
2244 PR tree-optimization/42250
2245 * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
2246
2247 2010-01-26 Jakub Jelinek <jakub@redhat.com>
2248
2249 PR fortran/42866
2250 * omp-low.c (expand_omp_sections): Only use single_pred if
2251 l2_bb is single_pred_p.
2252
2253 2010-01-25 Christian Bruel <christian.bruel@st.com>
2254
2255 PR target/42841
2256 * config/sh/sh.c (find_barrier): Increase length for non delayed
2257 conditional branches.
2258 (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
2259
2260 2010-01-24 David S. Miller <davem@davemloft.net>
2261
2262 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
2263 define if not using GAS.
2264 * config/sparc/sparc.c (sparc_elf_asm_named_section):
2265 Likewise. Delete SECTION_MERGE code, which is only applicable
2266 when using GAS.
2267
2268 2010-01-24 Mark Mitchell <mark@codesourcery.com>
2269
2270 PR c++/42748
2271 * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
2272 mangling of va_list in system headers.
2273
2274 2010-01-23 Toon Moene <toon@moene.org>
2275
2276 * tree-predcom.c (combine_chains): Return NULL, not false.
2277
2278 2010-01-23 Joern Rennecke <amylaar@spamcop.net>
2279
2280 * tree-loop-distribution.c (distribute_loop): Fix declaration and
2281 initialization of variable res to agree with return type.
2282
2283 2010-01-22 Steve Ellcey <sje@cup.hp.com>
2284
2285 * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
2286 * tree-sra.c: Add include of expr.h.
2287
2288 2010-01-22 Jakub Jelinek <jakub@redhat.com>
2289
2290 * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
2291 insert the debug stmt on the single non-EH edge from the stmt.
2292
2293 2010-01-22 Richard Henderson <rth@redhat.com>
2294
2295 PR tree-opt/42833
2296 * tree-sra.c (sra_modify_assign): Delay re-gimplification of
2297 the RHS until after generate_subtree_copies has insertted its
2298 code before the current statement.
2299
2300 2010-01-22 Joern Rennecke <amylaar@spamcop.net>
2301
2302 * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
2303
2304 * gcc-plugin.h (plugin_init): Use "C" likage for c++.
2305
2306 2010-01-21 Martin Jambor <mjambor@suse.cz>
2307
2308 PR tree-optimization/42585
2309 * tree-sra.c (struct access): New field grp_total_scalarization.
2310 (dump_access): Dump the new field.
2311 (should_scalarize_away_bitmap): New variable.
2312 (cannot_scalarize_away_bitmap): Likewise.
2313 (sra_initialize): Allocate new bitmaps.
2314 (sra_deinitialize): Free new bitmaps.
2315 (create_access_1): New function.
2316 (create_access): Parts moved to create_access_1.
2317 (type_consists_of_records_p): New function.
2318 (completely_scalarize_record): Likewise.
2319 (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
2320 (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
2321 (sort_and_splice_var_accesses): Hint groups with a total_scalarization
2322 access.
2323 (analyze_all_variable_accesses): Completely scalarize small eligible
2324 records.
2325
2326 2010-01-21 Martin Jambor <mjambor@suse.cz>
2327
2328 * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
2329
2330 2010-01-21 Andrew Haley <aph@redhat.com>
2331
2332 * gcc.c (process_command): Move lang_specific_driver before
2333 setting cc_libexec_prefix.
2334
2335 2010-01-21 Richard Guenther <rguenther@suse.de>
2336
2337 PR middle-end/19988
2338 * fold-const.c (negate_expr_p): Pretend only negative
2339 real constants are easily negatable.
2340
2341 2010-01-20 Janis Johnson <janis187@us.ibm.com>
2342 Jason Merrill <jason@redhat.com>
2343
2344 * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
2345 (TYPE_TRANSPARENT_AGGR): this, for union and record.
2346 * calls.c (initialize argument_information): Handle it.
2347 * c-common.c (handle_transparent_union_attribute): Use new name.
2348 * c-decl.c (finish_struct): Ditto.
2349 * c-typeck.c (type_lists_compatible_p): Ditto.
2350 (convert_for_assignment): Use new name and also handle record.
2351 * function.c (aggregate_value_p): Handle it.
2352 (pass_by_reference): Ditto.
2353 (assign_parm_data_types): Ditto.
2354 * print-tree.c (print_node): Ditto.
2355 * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
2356 * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
2357 * tree.c (first_field): New fn.
2358
2359 2010-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
2360
2361 PR target/42818
2362 * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
2363 even when linking statically, for now.
2364
2365 2010-01-20 Alexandre Oliva <aoliva@redhat.com>
2366
2367 PR debug/42715
2368 * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
2369 without a cselib val.
2370 (count_uses): Accept MO_VAL_SET with no val on stores.
2371 (add_stores): Likewise.
2372
2373 2010-01-20 Jakub Jelinek <jakub@redhat.com>
2374
2375 * var-tracking.c (check_value_val): Add a compile time assertion.
2376 (dv_is_decl_p): Simplify.
2377 (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
2378 gcc_assert if ENABLE_CHECKING.
2379
2380 2010-01-20 Alexandre Oliva <aoliva@redhat.com>
2381
2382 PR debug/42782
2383 * var-tracking.c: Include tree-flow.h.
2384 (mem_dies_at_call): New.
2385 (dataflow_set_preserve_mem_locs): Use it.
2386 (dataflow_set_remove_mem_locs): Likewise.
2387 (dump_var): Renamed from dump_variable. Adjust all callers.
2388 (dump_var_slot): Renamed from dump_variable_slot. Likewise.
2389 * Makefile.in (var-tracking.o): Adjust deps.
2390
2391 2010-01-20 Joern Rennecke <amylaar@spamcop.net>
2392
2393 * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
2394
2395 2010-01-20 Richard Guenther <rguenther@suse.de>
2396
2397 PR tree-optimization/42717
2398 * tree-ssa-dce.c (get_live_post_dom): Remove.
2399 (forward_edge_to_pdom): Take an arbitrary edge to copy
2400 degenerate PHI args from.
2401 (remove_dead_stmt): Use the first post-dominator even if it
2402 does not contain live statements as redirection destination.
2403
2404 2010-01-20 Richard Guenther <rguenther@suse.de>
2405
2406 * tree-inline.c (estimate_num_insns): Handle EH builtins.
2407
2408 2010-01-20 Jakub Jelinek <jakub@redhat.com>
2409
2410 * sel-sched.c (create_speculation_check): Remove set but not used
2411 variable twin.
2412 (try_transformation_cache): Remove set but not used variable ds.
2413 (calculate_privileged_insns): Remove set but not used variables
2414 cur_insn and min_spec_insn.
2415 (find_best_expr): Remove set but not used variable avail_n.
2416 * tree-predcom.c (base_names_in_chain_on): Remove set but not used
2417 variable e.
2418 * cgraphunit.c (assemble_thunk): Remove set but not used variable
2419 false_label.
2420 * haifa-sched.c (remove_notes): Remove set but not used variable prev.
2421 * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
2422 new_scop_exit_edge.
2423
2424 2010-01-20 Felyza Wishbringer <fwishbringer@gmail.com>
2425
2426 PR bootstrap/42786
2427 * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
2428 cpu types. Add support for *-sse3 cpu types.
2429 (x86_64-*-*): Ditto.
2430
2431 2010-01-20 Jakub Jelinek <jakub@redhat.com>
2432
2433 PR middle-end/42803
2434 * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
2435 argument, call initializer_constant_valid_p_1 instead of
2436 initializer_constant_valid_p, pass CACHE to it, return NULL
2437 immediately if first call returns NULL.
2438 (initializer_constant_valid_p_1): New function.
2439 (initializer_constant_valid_p): Use it.
2440
2441 2010-01-20 Thomas Quinot <quinot@adacore.com>
2442
2443 * tree.def (PLACEHOLDER_EXPR): Fix comment.
2444
2445 2010-01-20 Jakub Jelinek <jakub@redhat.com>
2446
2447 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
2448 of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
2449 (loc_list_from_tree): Don't handle unsigned division. Handle
2450 signed modulo using DW_OP_{over,over,div,mul,minus}.
2451 * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
2452 modulo instead of signed.
2453
2454 2010-01-20 DJ Delorie <dj@redhat.com>
2455
2456 * config/h8300/h8300.c (F): Add "in_epilogue" flag.
2457 (Fpa): Pass it
2458 (h8300_emit_stack_adjustment): Propogate it.
2459 (push): Pass it.
2460 (h8300_expand_prologue): Likewise.
2461 (h8300_expand_epilogue): Likewise.
2462
2463 2010-01-19 Michael Matz <matz@suse.de>
2464
2465 PR tree-optimization/41783
2466 * tree-data-ref.c (toplevel): Include flags.h.
2467 (dump_data_dependence_relation): Also dump the inputs if the
2468 result will be unknown.
2469 (split_constant_offset_1): Look through some conversions.
2470 * tree-predcom.c (determine_roots_comp): Restart a new chain if
2471 the offset from last element is too large.
2472 (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
2473 (reassociate_to_the_same_stmt): Handle vector registers.
2474 * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
2475 (e.g. conversions).
2476 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
2477 wide_prolog_niters argument, emit widening instructions.
2478 (vect_do_peeling_for_alignment): Adjust caller, use widened
2479 variant of the iteration cound.
2480 * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
2481
2482 2010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2483
2484 PR target/38697
2485 * config/arm/neon-testgen.m (emit_automatics): New parameter
2486 features. Adjust for Fixed_return_reg feature.
2487 (test_intrinsic): Call emit_automatics with new feature.
2488 * config/arm/neon.ml: Update copyright years.
2489 (features): New Fixed_return_reg feature.
2490 (ops): Update feature for Vget_low.
2491
2492 2010-01-19 Jakub Jelinek <jakub@redhat.com>
2493
2494 PR tree-optimization/42719
2495 * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
2496 stmt uses.
2497
2498 PR debug/42728
2499 * fwprop.c (all_uses_available_at): Return false if def_set dest
2500 is a REG that is used in def_insn.
2501
2502 2010-01-19 Joern Rennecke <amylaar@spamcop.net>
2503
2504 * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
2505
2506 (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
2507 Add argument names.
2508
2509 (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
2510
2511 * target.h (struct gcc_target) <secondary_reload>: Change type
2512 of last argument to secondary_reload_info *.
2513
2514 2010-01-18 Uros Bizjak <ubizjak@gmail.com>
2515
2516 PR target/42774
2517 * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
2518 memory references with unaligned offsets. Remove CQImode handling.
2519 (unaligned_memory_operand): Return 1 for memory references with
2520 unaligned offsets. Remove CQImode handling.
2521
2522 2010-01-18 Richard Guenther <rguenther@suse.de>
2523
2524 PR middle-end/39954
2525 * cfgexpand.c (expand_call_stmt): TER pointer arguments in
2526 builtin calls.
2527
2528 2010-01-18 Richard Guenther <rguenther@suse.de>
2529
2530 PR tree-optimization/42781
2531 * tree-ssa-structalias.c (find_what_var_points_to): Skip
2532 restrict processing only if the original variable was artificial.
2533
2534 2010-01-18 Joern Rennecke <amylaar@spamcop.net>
2535
2536 * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
2537 find number of popped argument bytes.
2538
2539 (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
2540 Fix the text that describes the return value for invalid insns.
2541
2542 (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list.
2543
2544 (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
2545 Clarify what 'cost of the -dependence' is. Fix quoting.
2546
2547 * toplev.c (default_get_pch_validity): Rename argument to "sz".
2548 * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
2549
2550 2010-01-17 Jakub Jelinek <jakub@redhat.com>
2551
2552 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
2553 {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
2554
2555 2010-01-17 Richard Guenther <rguenther@suse.de>
2556
2557 PR middle-end/42248
2558 * function.c (split_complex_args): Take a VEC to modify.
2559 (assign_parms_augmented_arg_list): Build a VEC instead of
2560 a chain of PARM_DECLs.
2561 (assign_parms_unsplit_complex): Take a VEC of arguments.
2562 Do not fixup unmodified parms.
2563 (assign_parms): Deal with the VEC.
2564 (gimplify_parameters): Likewise.
2565
2566 2010-01-17 Richard Guenther <rguenther@suse.de>
2567
2568 * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
2569 node existence check.
2570 * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
2571 * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
2572 * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
2573 * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
2574 (gimple_execute_on_growing_pred): Likewise.
2575
2576 2010-01-17 Richard Guenther <rguenther@suse.de>
2577
2578 PR tree-optimization/42773
2579 * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
2580 (compute_antic_aux): Likewise.
2581 (compute_partial_antic_aux): Likewise.
2582
2583 2010-01-17 Jie Zhang <jie.zhang@analog.com>
2584
2585 PR debug/42767
2586 * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
2587 and US_TRUNCATE.
2588
2589 2010-01-17 Joern Rennecke <amylaar@spamcop.net>
2590
2591 * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
2592 appearance.
2593
2594 (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
2595 Fix markup for strict argument.
2596
2597 (TARGET_SCHED_REORDER2): Fix argument types.
2598
2599 (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
2600 (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
2601
2602 (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
2603 (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
2604
2605 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
2606 Add argument name.
2607
2608 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
2609 (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
2610 (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
2611 (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
2612 (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
2613
2614 (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
2615
2616 (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
2617
2618 (TARGET_ASM_RELOC_RW_MASK): Add return type.
2619 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
2620
2621 (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
2622
2623 (TARGET_ASM_FILE_START): Put @findex before paragraph start.
2624 Use prototype.
2625
2626 (TARGET_ASM_NAMED_SECTION): Fix argument list.
2627
2628 (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
2629 (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
2630
2631 (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
2632
2633 (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
2634
2635 (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
2636 referring to it. Fix language.
2637
2638 (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
2639
2640 (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
2641
2642 (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
2643
2644 (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
2645
2646 (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
2647 '@var{stream}. Remove stray 'and'.
2648
2649 (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
2650
2651 (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
2652
2653 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
2654
2655 (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
2656 misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
2657
2658 (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
2659 Fix description of return value.
2660 Rename argument "sz" to "len."
2661
2662 (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
2663 Clarify meaning of 'true' return value.
2664
2665 (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
2666
2667 (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
2668 rep_mode versus mode_rep.
2669
2670 (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
2671
2672 (TARGET_BUILTIN_DECL): Fix name.
2673
2674 (TARGET_COMMUTATIVE_P): Fix type of first argument.
2675
2676 (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
2677
2678 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
2679
2680 (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
2681
2682 (TARGET_RELAXED_ORDERING): Use @deftypevr.
2683
2684 (TARGET_GET_DRAP_RTX): Note that this is a hook.
2685 Clarify language.
2686
2687 (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
2688 Rename argument tm_fn to md_fn.
2689
2690 (TARGET_OPTION_PRINT): Fix argument list.
2691
2692 2010-01-16 Harsha Jagasia <harsha.jagasia@amd.com>
2693
2694 PR target/42664
2695 * config/i386/i386.c (ix86_fixup_binary_operands):
2696 Revert FMA4 fixup of operands.
2697
2698 2010-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2699
2700 PR gcc/42525
2701 * Makefile.in (write_entries_to_file, install-plugin):
2702 Use \012 instead of \n with tr.
2703
2704 2010-01-16 Richard Sandiford <r.sandiford@uk.ibm.com>
2705
2706 * configure.ac (HAVE_AS_REF): New C macro.
2707 * configure: Regenerate.
2708 * config.in: Likewise.
2709 * collect2.c (main): Only postpone SCAN_DWEH to the second pass
2710 if HAVE_AS_REF.
2711 * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
2712 if HAVE_AS_REF.
2713
2714 2010-01-16 Joern Rennecke <amylaar@spamcop.net>
2715
2716 * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
2717
2718 (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
2719
2720 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
2721
2722 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
2723
2724 (TARGET_IN_SMALL_DATA_P): Fix argument type.
2725
2726 (TARGET_BINDS_LOCAL_P): Fix argument type.
2727
2728 (TARGET_ASM_FILE_END): Use prototype.
2729
2730 (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
2731
2732 (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
2733
2734 (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
2735
2736 (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
2737
2738 (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
2739 (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
2740
2741 (TARGET_PCH_VALID_P): Put 'const char *' in braces.
2742 (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
2743
2744 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
2745 (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
2746 (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
2747 (TARGET_ADDR_SPACE_CONVERT): Likewise.
2748
2749 (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
2750
2751 (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
2752
2753 (TARGET_INIT_BUILTINS): Use prototype.
2754
2755 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
2756 Put 'const char *' in braces. Fix parameter types.
2757 (TARGET_INVALID_CONVERSION): Fix parameter types.
2758 (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
2759 (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
2760
2761 (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
2762 Fix argument type.
2763
2764 (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
2765
2766 (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
2767
2768 2010-01-15 Joern Rennecke <amylaar@spamcop.net>
2769
2770 * doc/tm.texi (TARGET_HELP): Fix return type.
2771
2772 (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
2773 in braces. Fix argument types.
2774
2775 (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
2776
2777 (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
2778
2779 (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
2780
2781 (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
2782 (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
2783
2784 (TARGET_MANGLE_TYPE): Fix argument types.
2785
2786 (TARGET_IRA_COVER_CLASSES): Use prototype.
2787
2788 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype.
2789
2790 (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
2791
2792 (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
2793
2794 (TARGET_MUST_PASS_IN_STACK): Fix argument type.
2795
2796 (TARGET_CALLEE_COPIES): Fix argument types.
2797
2798 (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
2799
2800 (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
2801
2802 (TARGET_FUNCTION_VALUE): Fix argument types.
2803
2804 (TARGET_RETURN_IN_MSB): Fix argument type.
2805
2806 (TARGET_RETURN_IN_MEMORY): Fix argument types.
2807
2808 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
2809
2810 (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
2811
2812 (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
2813 agree with return type.
2814
2815 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
2816
2817 2010-01-15 Jing Yu <jingyu@google.com>
2818
2819 PR rtl-optimization/42691
2820 * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
2821 a pseudo to a constant and are merged, and adjust comments.
2822
2823 2010-01-15 Eric Botcazou <ebotcazou@adacore.com>
2824
2825 * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
2826
2827 2010-01-15 Richard Guenther <rguenther@suse.de>
2828
2829 PR middle-end/42739
2830 * tree-cfgcleanup.c (remove_forwarder_block): Move destination
2831 labels of computed or non-local gotos to the destination.
2832 * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
2833 landing pad label is the first label.
2834
2835 2010-01-15 Richard Guenther <rguenther@suse.de>
2836
2837 * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
2838
2839 2010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
2840
2841 PR target/42747
2842 * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
2843 to allow generation of the xssqrtdp instruction on power7.
2844 (sqrtdf2_fpr): Ditto.
2845
2846 2010-01-14 Jakub Jelinek <jakub@redhat.com>
2847
2848 PR middle-end/42674
2849 * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
2850 functions with noreturn attribute.
2851
2852 PR c++/42608
2853 * varasm.c (declare_weak): Add weak attribute to decl if it
2854 doesn't have one already.
2855 (assemble_external): Only add decls to weak_decls if they also
2856 have weak attribute.
2857
2858 2010-01-14 Alexandre Oliva <aoliva@redhat.com>
2859
2860 * var-tracking.c (var_reg_delete): Don't delete the association
2861 between REGs and values or one-part variables if the register
2862 isn't clobbered.
2863
2864 2010-01-14 Jakub Jelinek <jakub@redhat.com>
2865
2866 PR debug/42657
2867 * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
2868 because its first operand is a non-localized variable.
2869
2870 2010-01-14 Martin Jambor <mjambor@suse.cz>
2871
2872 PR tree-optimization/42706
2873 * tree-sra.c (encountered_recursive_call): New variable.
2874 (encountered_unchangable_recursive_call): Likewise.
2875 (sra_initialize): Initialize both new variables.
2876 (callsite_has_enough_arguments_p): New function.
2877 (scan_function): Call decl and flags check only for IPA-SRA, check
2878 whether there is a recursive call and whether it has enough arguments.
2879 (all_callers_have_enough_arguments_p): New function.
2880 (convert_callers): Look for recursive calls only when
2881 encountered_recursive_call is set.
2882 (ipa_early_sra): Bail out either if
2883 !all_callers_have_enough_arguments_p or
2884 encountered_unchangable_recursive_call.
2885
2886 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
2887
2888 * sel-sched.c: Add 2010 to copyright years.
2889 * sel-sched-ir.c: Likewise.
2890 * sel-sched-ir.h: Likewise.
2891
2892 2010-01-14 Martin Jambor <mjambor@suse.cz>
2893
2894 PR tree-optimization/42714
2895 * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
2896 constructors specially.
2897
2898 2010-01-14 Andi Kleen <ak@linux.intel.com>
2899
2900 * config/i386/drivers-i386.c (detect_caches_intel):
2901 Add l2sizekb parameter and fill in.
2902 (host_detect_local_cpu): Add l2sizekb, fill in.
2903 Add Atom small cache heuristic.
2904
2905 2010-01-14 Andi Kleen <ak@linux.intel.com>
2906
2907 * config/i386/drivers-i386.c (detect_caches_cpuid4):
2908 Add level3 parameter and fill in.
2909 (detect_caches_intel): Handle level3 cache.
2910
2911 2010-01-14 Andi Kleen <ak@linux.intel.com>
2912
2913 * config/i386/drivers-i386.c (host_detect_local_cpu):
2914 Fix core duo detection.
2915
2916 2010-01-14 Andi Kleen <ak@linux.intel.com>
2917
2918 * config/i386/drivers-i386.c (host_detect_local_cpu):
2919 Fix Atom detection.
2920
2921 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
2922
2923 * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
2924 (rs6000_variable_issue_1): this. Use...
2925 (rs6000_variable_issue): here. Reimplement. Print debug info.
2926
2927 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
2928
2929 * sel-sched-ir.c (sel_restore_other_notes): Rename to
2930 sel_restore_notes. Update all callers. Call reemit_notes
2931 for all insns.
2932
2933 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
2934
2935 PR rtl-optimization/42246
2936 * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
2937 loops.
2938
2939 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
2940
2941 * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
2942 all successors is the same as number of successors in current region.
2943
2944 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
2945
2946 * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
2947 to rename is not separable. Otherwise check that its LHS is not NULL.
2948
2949 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
2950
2951 * sel-sched.c (choose_best_reg_1): Loop over all regs for mode.
2952
2953 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
2954
2955 * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
2956 available registers when failed to discover LHS register class.
2957 Fix indentation. Update comment.
2958
2959 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
2960 Alexander Monakov <amonakov@ispras.ru>
2961
2962 PR rtl-optimization/42389
2963 * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
2964 to can_issue_more.
2965 (advance_state_on_fence): Likewise.
2966 (sel_target_adjust_priority): Print debug output only when
2967 sched_verbose >= 4, not 2.
2968 (get_expr_cost): Do not issue all unique insns on the next cycle.
2969 (fill_insns): Initialize can_issue_more from the value saved
2970 with the fence.
2971 * sel-sched-ir.c (flist_add): New parameter issue_more.
2972 Init FENCE_ISSUE_MORE with it.
2973 (merge_fences): Likewise.
2974 (init_fences): Update call to flist_add.
2975 (add_to_fences, add_clean_fence_to_fences)
2976 (add_dirty_fence_to_fences): Likewise.
2977 (move_fence_to_fences): Update call to merge_fences.
2978 (invoke_reorder_hooks): Do not reset can_issue_more on insns from
2979 sched groups.
2980 * sel-sched-ir.h (struct _fence): New field issue_more.
2981 (FENCE_ISSUE_MORE): New accessor macro.
2982
2983 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
2984
2985 PR rtl-optimization/42388
2986 * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
2987 that have no predecessors nor successors. Do not call move_bb_info
2988 for empty blocks outside of current region.
2989
2990 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
2991
2992 PR rtl-optimization/42294
2993 * sel-sched-ir.h (struct _sel_insn_data): Update comment.
2994 * sel-sched.c (move_exprs_to_boundary): Transitively add all
2995 originators' originators.
2996
2997 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
2998
2999 PR rtl-optimization/39453
3000 PR rtl-optimization/42246
3001 * sel-sched-ir.c (considered_for_pipelining_p): Do not test
3002 for pipelining_p.
3003 (sel_add_loop_preheaders): Add preheader to last_added_blocks.
3004
3005 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
3006 Alexander Monakov <amonakov@ispras.ru>
3007
3008 PR middle-end/42245
3009 * sel-sched-ir.c (sel_recompute_toporder): New. Use it...
3010 (maybe_tidy_empty_bb): ... here. Make static. Add new
3011 argument. Update all callers.
3012 (tidy_control_flow): ... and here. Recompute topological order
3013 of basic blocks in region if necessary.
3014 (sel_redirect_edge_and_branch): Change return type. Return true
3015 if topological order might have been invalidated.
3016 (purge_empty_blocks): Export and move from...
3017 * sel-sched.c (purge_empty_blocks): ... here.
3018 * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
3019 (maybe_tidy_empty_bb): Delete prototype.
3020 (purge_empty_blocks): Declare.
3021
3022 2010-01-14 Andrey Belevantsev <abel@ispras.ru>
3023
3024 PR rtl-optimization/42249
3025 * sel-sched.c (try_replace_dest_reg): When chosen register
3026 and original register is the same, do not bail out early, but
3027 still check all original insns for validity of replacing destination
3028 register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function
3029 in this case.
3030
3031 2010-01-14 Jakub Jelinek <jakub@redhat.com>
3032
3033 PR c/42721
3034 Port from no-undefined-overflow branch:
3035 2009-03-09 Richard Guenther <rguenther@suse.de>
3036
3037 * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
3038
3039 2010-01-14 Richard Guenther <rguenther@suse.de>
3040
3041 PR lto/42665
3042 * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
3043
3044 2010-01-14 Ira Rosen <irar@il.ibm.com>
3045
3046 PR tree-optimization/42709
3047 * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
3048 as scalar type in creation of constant vector operand.
3049
3050 2010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3051
3052 PR testsuite/42414
3053 * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
3054 (check-parallel-%): Match `testsuite' directory component only
3055 at the end.
3056
3057 2010-01-14 Shujing Zhao <pearly.zhao@oracle.com>
3058
3059 PR translation/39521
3060 * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
3061 strings with _().
3062
3063 2010-01-13 Richard Guenther <rguenther@suse.de>
3064
3065 PR tree-optimization/42730
3066 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
3067 offset zero.
3068
3069 2010-01-13 Steve Ellcey <sje@cup.hp.com>
3070
3071 PR target/pr42542
3072 * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
3073 for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
3074 them signed.
3075
3076 2010-01-13 Bernd Schmidt <bernd.schmidt@analog.com>
3077
3078 * config/bfin/libgcc-bfin.ver: Regenerate based on current
3079 libgcc-std.ver. Add entries for ___smulsi3_highpart and
3080 ___umulsi3_highpart.
3081
3082 * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
3083 rather than schedule_insns if the pass is enabled.
3084
3085 2010-01-13 Martin Jambor <mjambor@suse.cz>
3086
3087 PR tree-optimization/42704
3088 * tree-sra.c (sra_modify_assign): Do not delete assignments to
3089 SSA_NAMEs.
3090
3091 2010-01-13 Martin Jambor <mjambor@suse.cz>
3092
3093 PR tree-optimization/42703
3094 * tree-sra.c (analyze_access_subtree): Check that we can build a
3095 reference to the original data within the aggregate.
3096
3097 2010-01-13 Richard Guenther <rguenther@suse.de>
3098
3099 PR tree-optimization/42705
3100 * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
3101
3102 2010-01-13 Richard Guenther <rguenther@suse.de>
3103
3104 PR middle-end/42716
3105 * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
3106
3107 2010-01-13 Jakub Jelinek <jakub@redhat.com>
3108
3109 PR debug/41371
3110 * var-tracking.c (values_to_unmark): New variable.
3111 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
3112 values_to_unmark vector. Moved body to...
3113 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
3114 instead queue it into values_to_unmark vector.
3115 (vt_find_locations): Free values_to_unmark vector.
3116
3117 2010-01-13 Wolfgang Gellerich <gellerich@de.ibm.com>
3118
3119 * config/s390/s390.c (override_options): Set
3120 default of max-pending-list-length to 256
3121
3122 2010-01-13 Richard Guenther <rguenther@suse.de>
3123
3124 PR lto/42678
3125 * tree-pass.h (PROP_gimple_lcx): New.
3126 * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
3127 * passes.c (init_optimization_passes): Move pass_lower_complex_O0
3128 before the final cleanup_eh.
3129 (dump_properties): Dump PROP_gimple_lcx.
3130 * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
3131 (tree_lower_complex_O0): Remove.
3132 (gate_no_optimization): Run if PROP_gimple_lcx is not set.
3133 (pass_lower_complex_O0): Provide PROP_gimple_lcx. Run
3134 tree_lower_complex, schedule TODO_update_ssa.
3135 * lto-streamer-out.c (output_function): Stream the functions
3136 properties.
3137 * lto-streamer-in.c (input_function): Likewise.
3138 (lto_read_body): Do not override them here.
3139
3140 2010-01-12 Joseph Myers <joseph@codesourcery.com>
3141
3142 PR c/42708
3143 * c-typeck.c (build_c_cast): Fold value cast to union type before
3144 wrapping it in a CONSTRUCTOR.
3145
3146 2010-01-12 Jakub Jelinek <jakub@redhat.com>
3147
3148 PR rtl-optimization/42699
3149 * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
3150 involved.
3151
3152 2010-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3153
3154 * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
3155 SUBTARGET_WARN_UNUSED_SPEC): Move ...
3156 config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
3157 SUBTARGET_WARN_UNUSED_SPEC): ... here
3158 * config/mips/iris5.h (LIBGCC_SPEC): Define.
3159
3160 2010-01-12 Julian Brown <julian@codesourcery.com>
3161
3162 * config/arm/neon-schedgen.ml (Utils): Don't try to
3163 open missing module.
3164 (find_with_result): New.
3165
3166 2010-01-12 Jakub Jelinek <jakub@redhat.com>
3167
3168 PR debug/42662
3169 * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
3170 sharing when canonicalizing ({lt,ge}u (plus a b) b).
3171
3172 PR tree-optimization/42645
3173 * tree-inline.c (processing_debug_stmt): Move earlier. Make static.
3174 (remap_ssa_name): If processing_debug_stmt and name wasn't found in
3175 decl_map, set processing_debug_stmt to -1 and return name without
3176 any remapping.
3177
3178 2010-01-11 Dave Korn <dave.korn.cygwin@gmail.com>
3179
3180 * doc/install.texi (Specific#x-x-cygwin): Document minimum required
3181 binutils version, and reword target configuration description.
3182
3183 2010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
3184
3185 * config/avr/avr.h (LINKER_NAME): Remove.
3186
3187 2010-01-11 Janis Johnson <janis187@us.ibm.com>
3188
3189 PR target/42416
3190 * config/rs6000/rs6000.c (rs6000_override_options): On targets
3191 that support VSX, warn for -mno-altivec if vsx is not disabled,
3192 and disable vsx.
3193
3194 2010-01-11 Joseph Myers <joseph@codesourcery.com>
3195 Shujing Zhao <pearly.zhao@oracle.com>
3196
3197 PR translation/42469
3198 * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
3199 fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
3200 character between option name and help text.
3201 * c.opt (imultilib): Likewise.
3202
3203 2010-01-10 Rafael Avila de Espindola <espindola@google.com>
3204
3205 * lto-streamer-out.c (output_unreferenced_globals): Output static
3206 variables.
3207
3208 2010-01-10 Steven Bosscher <steven@gcc.gnu.org>
3209
3210 PR rtl-optimization/42621
3211 * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
3212 optimizing for size.
3213 (duplicate_computed_gotos): Remove now-redundant check.
3214
3215 2010-01-10 Steve Ellcey <sje@cup.hp.com>
3216
3217 PR target/37454
3218 * configure.ac: Save and restore LDFLAGS and LIBS
3219 * configure: Regenerate.
3220
3221 2010-01-10 Richard Guenther <rguenther@suse.de>
3222
3223 PR middle-end/42667
3224 * builtins.c (fold_builtin_strlen): Add type argument and
3225 convert the resulting length to it.
3226 (fold_builtin_1): Adjust.
3227
3228 2010-01-09 Jakub Jelinek <jakub@redhat.com>
3229
3230 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
3231 sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
3232 1 insn.
3233 (num_insns_constant_wide): Adjust for that change.
3234
3235 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
3236
3237 PR debug/42631
3238 * web.c (union_defs): Add used argument, to combine uses of
3239 uninitialized regs.
3240 (entry_register): Adjust type and tests of used argument.
3241 (web_main): Widen used for new use. Pass it to union_defs.
3242 * df.h (union_defs): Adjust prototype.
3243
3244 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
3245
3246 PR debug/42630
3247 * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
3248 uses in new incoming argument. Free body.
3249 (reset_debug_uses_in_loop): New.
3250 (analyze_insn_to_expand_var): Call the latter if the former found
3251 anything. Fix whitespace. Reject invalid dest overlaps before
3252 going through all insns in the loop.
3253
3254 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
3255
3256 PR debug/42629
3257 * haifa-sched.c (dying_use_p): Debug insns don't count.
3258
3259 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
3260
3261 PR middle-end/42363
3262 * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
3263 * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
3264 (verify_gimple_call): Reject LHS in noreturn calls.
3265
3266 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
3267
3268 PR debug/42604
3269 PR debug/42395
3270 * tree-vect-loop-manip.c (adjust_info): New type.
3271 (adjust_vec): New pointer to vector.
3272 (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
3273 (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
3274 (slpeel_update_phis_for_duplicate_loop): Use them.
3275 (slpeel_update_phi_nodes_for_guard1): Likewise.
3276 (slpeel_update_phi_nodes_for_guard2): Likewise.
3277 (slpeel_tree_peel_loop_to_edge): Likewise.
3278 (vect_update_ivs_after_vectorizer): Likewise.
3279
3280 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
3281
3282 * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
3283 (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
3284
3285 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
3286
3287 * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
3288 bogus uninitialized warning.
3289
3290 2010-01-09 Richard Guenther <rguenther@suse.de>
3291
3292 PR middle-end/42512
3293 * tree-scalar-evolution.c (interpret_loop_phi): Make sure
3294 the evolution is compatible with the initial condition.
3295
3296 2010-01-09 Jakub Jelinek <jakub@redhat.com>
3297
3298 * gcc.c (process_command): Update copyright notice dates.
3299 * gcov.c (print_version): Likewise.
3300 * gcov-dump.c (print_version): Likewise.
3301 * mips-tfile.c (main): Likewise.
3302 * mips-tdump.c (main): Likewise.
3303
3304 2010-01-08 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
3305
3306 PR target/41885
3307 * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
3308 (rotlhi3): Delete.
3309 (rotlhi3_8): Delete.
3310 (rotlsi3): Delete.
3311 (rotlsi3_8): Delete.
3312 (rotlsi3_16): Delete.
3313 (rotlsi3_24): Delete.
3314 (rotl<mode>3): New.
3315 (*rotw<mode>3): New.
3316 (*rotb<mode>3): New.
3317 * config/avr/avr.c (avr_rotate_bytes): New function.
3318 * config/avr/avr-proto.h (avr_rotate_bytes): New function.
3319
3320 2010-01-08 Steve Ellcey <sje@cup.hp.com>
3321
3322 PR target/37454
3323 * configure.ac: Modify -rdynamic check.
3324 * configure: Regenerate.
3325
3326 2010-01-08 DJ Delorie <dj@redhat.com>
3327
3328 * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
3329 register popping order.
3330
3331 2010-01-08 Richard Guenther <rguenther@suse.de>
3332
3333 PR lto/42528
3334 * c.opt (fsigned-char): Also let LTO handle this option.
3335 (funsigned-char): Likewise.
3336
3337 2010-01-07 Richard Guenther <rguenther@suse.de>
3338
3339 * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
3340 (gimple_op): Likewise.
3341 (gimple_op_ptr): Likewise.
3342 (gimple_assign_set_lhs): Remove gcc_assert.
3343 (gimple_assign_set_rhs1): Likewise.
3344 (gimple_assign_set_rhs2): Likewise.
3345 (gimple_call_set_lhs): Likewise.
3346 (gimple_call_set_fn): Likewise.
3347 (gimple_call_set_fndecl): Likewise.
3348 (gimple_call_fndecl): Likewise.
3349 (gimple_call_return_type): Likewise.
3350 (gimple_call_set_chain): Likewise.
3351 (gimple_call_num_args): Likewise.
3352 (gimple_call_set_arg): Likewise.
3353 (gimple_cond_set_code): Likewise.
3354 (gimple_cond_set_lhs): Likewise.
3355 (gimple_cond_set_rhs): Likewise.
3356 (gimple_cond_set_true_label): Likewise.
3357 (gimple_cond_set_false_label): Likewise.
3358 (gimple_label_set_label): Likewise.
3359 (gimple_goto_set_dest): Likewise.
3360 (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
3361 (gimple_debug_bind_get_value): Likewise.
3362 (gimple_debug_bind_get_value_ptr): Likewise.
3363 (gimple_debug_bind_set_var): Likewise.
3364 (gimple_debug_bind_set_value): Likewise.
3365 (gimple_debug_bind_reset_value): Likewise.
3366 (gimple_debug_bind_has_value_p): Likewise.
3367 (gimple_return_retval_ptr): Remove gcc_assert.
3368 (gimple_return_retval): Likewise.
3369 (gimple_return_set_retval): Likewise.
3370 * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
3371 (safe_referenced_var_iterator): Remove.
3372 (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
3373 * tree-flow-inline.h (gimple_nonlocal_all): Remove.
3374 (fill_referenced_var_vec): Remove.
3375 (first_readonly_imm_use): Remove redundant gcc_assert.
3376 (phi_arg_index_from_use): Combine gcc_asserts.
3377 (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
3378 (first_imm_use_stmt): Remove redundant gcc_assert.
3379 * tree-cfg.c (verify_gimple_call): Verify function and chain
3380 operands. Verify arguments.
3381 (verify_types_in_gimple_stmt): Verify condition code and labels.
3382
3383 2010-01-07 Richard Guenther <rguenther@suse.de>
3384
3385 PR tree-optimization/42641
3386 * sese.c (rename_map_elt_info): Use the SSA name version, do
3387 not hash pointers.
3388
3389 2010-01-07 Jakub Jelinek <jakub@redhat.com>
3390
3391 PR tree-optimization/42625
3392 * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
3393 TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
3394
3395 2010-01-07 Duncan Sands <baldrick@free.fr>
3396
3397 * Makefile.in (PLUGIN_HEADERS): Add version.h.
3398
3399 2010-01-07 Uros Bizjak <ubizjak@gmail.com>
3400
3401 PR target/42511
3402 * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
3403 note itself is not function_invariant_p.
3404
3405 2009-01-07 Steven Bosscher <steven@gcc.gnu.org>
3406
3407 * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
3408 Do not add the DF_NOTE problem.
3409 * store-motion.c (execute_rtl_store_motion): Likewise.
3410
3411 2010-01-07 Martin Jambor <mjambor@suse.cz>
3412
3413 PR tree-optimization/42157
3414 * tree-sra.c (compare_access_positions): Stabilize sort if both
3415 accesses have integer types, return zero immediately if they are the
3416 same.
3417
3418 2010-01-06 Richard Henderson <rth@redhat.com>
3419
3420 PR middle-end/41883
3421 * haifa-sched.c (add_to_note_list): Merge into ...
3422 (concat_note_lists): ... here, and ...
3423 (unlink_other_notes, rm_other_notes): Merge into...
3424 (remove_notes): ... here. Create REG_SAVE_NOTEs for
3425 NOTE_INSN_EPILOGUE_BEG.
3426
3427 2010-01-06 Richard Guenther <rguenther@suse.de>
3428
3429 * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
3430 not inline regular functions into always-inline functions.
3431
3432 2010-01-06 Nick Clifton <nickc@redhat.com>
3433
3434 * config/rx/rx.h (enum rx_cpu_type): Add RX200.
3435 (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
3436 used together.
3437 (OVERRIDE_OPTIONS): Delete.
3438 (OPTIMIZATION_OPTIONS): Define.
3439 (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
3440 * config/rx/rx.c (rx_handle_option): Issue an error message if
3441 -mcpu=rx200 and -fpu are used together.
3442 (rx_set_optimization_options): New function. Issue an error
3443 message if an optimization attribute attempts to reset the FPU/
3444 math optimization pairing.
3445 * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
3446 * config/rx/rx.opt: Set the default to 32-bit doubles.
3447 * config/rx/t-rx: Add multilibs for -nofpu option.
3448 * doc/invoke.texi: Update documentation of RX options.
3449
3450 2010-01-06 Richard Guenther <rguenther@suse.de>
3451
3452 * tree-ssa-pre.c (name_to_id): New global.
3453 (alloc_expression_id): Simplify SSA name handling.
3454 (lookup_expression_id): Likewise.
3455 (init_pre): Zero name_to_id.
3456 (fini_pre): Free it.
3457
3458 2010-01-06 Uros Bizjak <ubizjak@gmail.com>
3459
3460 * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
3461
3462 2010-01-05 H.J. Lu <hongjiu.lu@intel.com>
3463
3464 PR target/42542
3465 * config/i386/sse.md (smaxv2di3): New.
3466 (umaxv2di3): Likewise.
3467 (sminv2di3): Likewise.
3468 (uminv2di3): Likewise.
3469
3470 2010-01-05 Eric Botcazou <ebotcazou@adacore.com>
3471
3472 PR target/42564
3473 * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
3474 * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
3475 (legitimize_tls_address): Likewise.
3476 (sparc_tls_referenced_p): Likewise.
3477 * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
3478 and adjust calls to legitimize_pic_address.
3479 (legitimate_constant_p) Use sparc_tls_referenced_p.
3480 (legitimate_pic_operand_p): Likewise.
3481 (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
3482 (sparc_tls_symbol_ref_1): Delete.
3483 (sparc_tls_referenced_p): Make static, recognize specific patterns.
3484 (legitimize_tls_address): Make static, handle CONST patterns.
3485 (legitimize_pic_address): Make static, remove unused parameter and
3486 adjust recursive calls.
3487 (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
3488 and adjust call to legitimize_pic_address.
3489 (sparc_output_mi_thunk): Likewise.
3490
3491 2010-01-05 Paolo Bonzini <bonzini@gnu.rg>
3492 H.J. Lu <hongjiu.lu@intel.com>
3493
3494 PR target/42542
3495 * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
3496 for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
3497 operands to make them signed.
3498
3499 Revert:
3500 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
3501
3502 PR target/42542
3503 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
3504 GTU to GT for V4SI and V2DI.
3505
3506 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
3507 (umin<mode>3): Removed.
3508 (uminv8hi3): New.
3509 (uminv4si3): Likewise.
3510
3511 2010-01-05 Martin Jambor <mjambor@suse.cz>
3512
3513 PR tree-optimization/42462
3514 * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
3515 current_function_decl to helper functions and macros.
3516
3517 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3518
3519 PR bootstrap/41771
3520 * flags.h: Don't include real.h.
3521 (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
3522 HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
3523 * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
3524 HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
3525 * dominance.c: Update copyright.
3526 * gimple.c (walk_gimple_op): Remove inline.
3527 * tree-ssa-reassoc.c: Include real.h.
3528 * Makefile.in (FLAGS_H): Remove $(REAL_H).
3529 (tree-ssa-reassoc.o): Depend on $(REAL_H).
3530
3531 2010-01-05 Nick Clifton <nickc@redhat.com>
3532
3533 * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
3534 register to push into the stack frame when the accumulator has to
3535 be saved during interrupts.
3536
3537 2010-01-05 Eric Fisher <joefoxreal@gmail.com>
3538
3539 * doc/invoke.texi: Remove the documentation about option
3540 -Wunreachable-code.
3541 * common.opt (Wunreachable-code): Preserved for backward
3542 compatibility.
3543 * tree-cfg.c: Remove the implementation of -Wunreachable-code.
3544 * opts.c (common_handle_option): Add OPT_Wunreachable_code to
3545 the backward compatibility flag section.
3546
3547 2010-01-05 Richard Guenther <rguenther@suse.de>
3548
3549 * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
3550
3551 2010-01-05 Jakub Jelinek <jakub@redhat.com>
3552
3553 PR other/42611
3554 * cfgexpand.c (expand_one_var): Diagnose too large variables.
3555
3556 PR tree-optimization/42508
3557 * tree-sra.c (convert_callers): Check for recursive call
3558 by comparing cgraph nodes instead of decls.
3559 (modify_function): Call ipa_modify_formal_parameters also
3560 on all same_body aliases.
3561
3562 * cgraphunit.c (cgraph_materialize_all_clones): Compare
3563 cgraph nodes when checking for same_body aliases.
3564
3565 2010-01-05 Richard Guenther <rguenther@suse.de>
3566
3567 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
3568 allocation and lookup.
3569 (get_or_alloc_expr_for_constant): Likewise.
3570 (phi_translate): Sink allocation.
3571
3572 2010-01-04 Richard Guenther <rguenther@suse.de>
3573
3574 * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
3575 a new entry only if needed.
3576 * tree-ssa-dom.c (lookup_avail_expr): Likewise.
3577 * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
3578 hashtable lookup.
3579 * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
3580 the result array.
3581 (phi_translate): Handle CONSTANTs early.
3582
3583 2010-01-04 Martin Jambor <mjambor@suse.cz>
3584
3585 PR tree-optimization/42398
3586 * tree-sra.c (struct access): Removed flag grp_different_types.
3587 (dump_access): Do not dump the removed flag.
3588 (sort_and_splice_var_accesses): Do not set the removed flag.
3589 (sra_modify_expr): Check for type compatibility directly.
3590
3591 2010-01-04 Martin Jambor <mjambor@suse.cz>
3592
3593 PR tree-optimization/42366
3594 * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
3595 edges with variable number of parameters.
3596 * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
3597 flag instead of asserting it.
3598 (ipa_read_node_info): Read uses_analysis_done flag.
3599
3600 2010-01-04 Richard Guenther <rguenther@suse.de>
3601
3602 * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
3603 iterative_hash_* as intended.
3604 (vn_reference_compute_hash): Likewise. Simplify hashing
3605 SSA names.
3606 (vn_reference_lookup_2): Likewise.
3607 (vn_nary_op_compute_hash): Likewise.
3608 (vn_phi_compute_hash): Likewise.
3609 (expressions_equal_p): Remove strange code.
3610 * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
3611 (pre_expr_hash): Likewise. Simplify hashing SSA names.
3612 (bitmap_insert_into_set_1): Take value-id as parameter.
3613 (add_to_value): Pass it.
3614 (bitmap_insert_into_set): Likewise.
3615 (bitmap_value_insert_into_set): Likewise. Remove redundant check.
3616
3617 2010-01-04 Jakub Jelinek <jakub@redhat.com>
3618
3619 PR driver/42442
3620 * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
3621 (do_self_spec): For switches with SWITCH_IGNORE set set also
3622 SWITCH_IGNORE_PERMANENTLY.
3623 (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
3624 of SWITCH_IGNORE.
3625
3626 2010-01-04 Rafael Avila de Espindola <espindola@google.com>
3627
3628 * lto-streamer-out.c (output_unreferenced_globals): Output the full
3629 tree of an unreferenced global var.
3630
3631 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
3632
3633 PR target/42542
3634 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
3635 GTU to GT for V4SI and V2DI.
3636
3637 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
3638 (umin<mode>3): Removed.
3639 (uminv8hi3): New.
3640 (uminv4si3): Likewise.
3641
3642 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
3643
3644 PR lto/42581
3645 * collect2.c (main): Turn on trace in collect2 if -v is passed
3646 to gcc with LTO.
3647
3648 2010-01-03 Jerry Quinn <jlquinn@optonline.net>
3649
3650 * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update
3651 description of expression operand.
3652
3653 2010-01-03 Andrew Jenner <andrew@codesourcery.com>
3654
3655 * configure.ac: Add install-html to target_list for Make-hooks.
3656 * configure: Regenerate.
3657 * fortran/Make-lang.in (F95_HTMLFILES): New.
3658 (fortran.html): Use it.
3659 (fortran.install-html): New.
3660 * Makefile.in (install-html): Add lang.install-html.
3661 * java/Make-lang.in (JAVA_HTMLFILES): New.
3662 (java.html): Use it.
3663 (java.install-html): New.
3664 * objc/Make-lang.in (objc.install-html): New.
3665 * objcp/Make-lang.in (obj-c++.install-html): New.
3666 * cp/Make-lang.in (c++.install-html): New.
3667 * ada/gcc-interface/Make-lang.in (ada.install-html): New.
3668 * lto/Make-lang.in (lto.install-html): New.
3669
3670 2010-01-03 H.J. Lu <hongjiu.lu@intel.com>
3671
3672 PR lto/42520
3673 * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
3674
3675 2009-01-03 Steven Bosscher <steven@gcc.gnu.org>
3676
3677 PR rtl-optimization/41862
3678 * store-motion.c (store_killed_in_insn, compute_store_table,
3679 remove_reachable_equiv_notes, replace_store_insn,
3680 build_store_vectors): Ignore all DEBUG_INSNs.
3681
3682 2010-01-03 H.J. Lu <hongjiu.lu@intel.com>
3683
3684 PR lto/41564
3685 * common.opt: Add dumpdir.
3686
3687 * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
3688 isn't specified.
3689 (option_map): Add --dumpdir.
3690
3691 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
3692
3693 * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
3694
3695 * opts.c (decode_options): Try dump_dir_name first if
3696 dump_base_name isn't an absolute path.
3697 (common_handle_option): Handle OPT_dumpdir.
3698
3699 * toplev.c (dump_dir_name): New.
3700 (print_switch_values): Also ignore -dumpdir.
3701
3702 * toplev.h (dump_dir_name): New.
3703
3704 2010-01-03 Richard Guenther <rguenther@suse.de>
3705
3706 PR tree-optimization/42589
3707 * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
3708 double-word expansion of bswap32.
3709
3710 2010-01-03 Steven Bosscher <steven@gcc.gnu.org>
3711
3712 * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
3713 with BLOCK_FOR_INSN.
3714 * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
3715 * ifcvt.c (noce_get_alt_condition, noce_try_abs,
3716 noce_process_if_block): Likewise.
3717 * gcse.c (compute_local_properties, insert_expr_in_table,
3718 insert_set_in_table, canon_list_insert, find_avail_set,
3719 pre_insert_copy_insn): Likewise.
3720
3721 * basic-block.h (BLOCK_NUM): Move from here...
3722 * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
3723
3724 2010-01-03 Richard Guenther <rguenther@suse.de>
3725
3726 PR tree-optimization/42438
3727 * tree-ssa-pre.c (struct bb_bitmap_sets): Add
3728 contains_may_not_return_call flag.
3729 (BB_MAY_NOTRETURN): New.
3730 (valid_in_sets): Trapping nary operations are not valid
3731 in blocks that may not return.
3732 (insert_into_preds_of_block): Remove check for trapping expressions.
3733 (compute_avail): Compute also BB_MAY_NOTRETURN.
3734
3735 2010-01-03 Gerald Pfeifer <gerald@pfeifer.com>
3736
3737 * doc/invoke.texi: Add 2010 to copyright years.
3738
3739 2010-01-03 Eric Botcazou <ebotcazou@adacore.com>
3740
3741 * config/sparc/sparc.c: Fix formatting nits.
3742
3743 2010-01-02 Gerald Pfeifer <gerald@pfeifer.com>
3744 Alexander Monakov <amonakov@ispras.ru>
3745
3746 * doc/invoke.texi (Optimize Options): Reword introduction a bit.
3747
3748 2010-01-02 Richard Guenther <rguenther@suse.de>
3749
3750 PR middle-end/42577
3751 * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
3752 (simplify_switch_using_ranges): Mark to be removed edges
3753 as non-executable.
3754
3755 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3756
3757 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
3758
3759 * collect2.c (scan_libraries): Add missing argument in call to
3760 scan_prog_file.
3761
3762 2010-01-02 Uros Bizjak <ubizjak@gmail.com>
3763
3764 PR target/42448
3765 * config/alpha/predicates.md (aligned_memory_operand): Return false
3766 for CQImode.
3767 (unaligned_memory_operand): Return true for CQImode.
3768 * config/alpha/alpha.c (get_aligned_mem): Assert that location
3769 doesn not cross aligned SImode word boundary.
3770
3771 2010-01-02 Anatoly Sokolov <aesok@post.ru>
3772
3773 * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
3774 Remove.
3775 * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
3776 avr_change_section, avr_reg_class_from_letter) : Remove declaration.
3777
3778 2010-01-02 Richard Guenther <rguenther@suse.de>
3779
3780 PR lto/41597
3781 * toplev.c (compile_file): Emit LTO marker properly. Change
3782 it to __gnu_lto_v1.
3783 * collect2.c (scan_prog_file): Adjust for changed LTO marker.
3784
3785 2010-01-01 Richard Guenther <rguenther@suse.de>
3786
3787 PR debug/42455
3788 * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
3789
3790 2010-01-01 Richard Guenther <rguenther@suse.de>
3791
3792 PR c/42570
3793 * c-decl.c (grokdeclarator): For zero-size arrays force
3794 structural equality checks as layout_type does.
3795
3796 2010-01-01 H.J. Lu <hongjiu.lu@intel.com>
3797
3798 * builtins.c: Update copyright to 2010.
3799
3800 2010-01-01 H.J. Lu <hongjiu.lu@intel.com>
3801
3802 PR lto/42531
3803 * lto-streamer-out.c (produce_asm): Revert the last change.
3804 (copy_function): Likewise.
3805
3806 * lto-streamer.c (lto_get_section_name): Skip any leading
3807 asterisk in name.
3808
3809 2010-01-01 Richard Guenther <rguenther@suse.de>
3810
3811 PR middle-end/42559
3812 * builtins.c (get_object_alignment): Do not use DECL_ALIGN
3813 for LABEL_DECLs.
3814
3815 \f
3816 Copyright (C) 2010 Free Software Foundation, Inc.
3817
3818 Copying and distribution of this file, with or without modification,
3819 are permitted in any medium without royalty provided the copyright
3820 notice and this notice are preserved.