]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
i386-protos.h (ix86_print_operand): Declare.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
6b3c42ae
NF
12010-06-04 Nathan Froyd <froydnj@codesourcery.com>
2
3 * config/i386/i386-protos.h (ix86_print_operand): Declare.
4 * config/i386/i386.c (ix86_print_operand): Make non-static.
5 * config/i386/sol2.h (ASM_OUTPUT_CALL): Call ix86_print_operand.
6 * output.h (output_operand): Declare.
7 * final.c (output_operand): Make non-static.
8
0fa43fb7
AO
92010-06-04 Alexandre Oliva <aoliva@redhat.com>
10
39e7207a
AO
11 PR rtl-optimization/44013
12 * sched-deps.c (add_dependence_list_and_free): Don't free lists
13 when processing debug insns.
14
0fa43fb7
AO
15 PR debug/41371
16 * var-tracking.c (find_loc_in_1pdv): Mark initial value before
17 recursing. Check that recursion is bounded. Rename inner var
18 to avoid hiding incoming argument.
19
ad1f7916
UB
202010-06-04 Uros Bizjak <ubizjak@gmail.com>
21
22 * config/i386/i386.md (*addqi_2): Do not assert operands[2] == 255
23 for TYPE_INCDEC operands.
24 (*addqi_3): Ditto.
25 (*addqi_4): Ditto.
26 (*addqi_5): Ditto.
27 (*addqi_ext_1_rex64): Ditto.
28 (*addqi_ext_1): Ditto.
29
30 (*addqi_4): Check for incdec_operand in QImode.
31
32 (*add<mode>_2): Macroize insn from *add<mode>_2 and *add{qi,hi}_2
33 using SWI mode iterator.
34 (*add<mode>_3): Ditto from *add<mode>_3 and *add{qi,hi}_3.
35 (*add<mode>_4): Macroize insn from *add{qi,hi,si}_4 using SWI124
36 mode iterator.
37 (*add<mode>_5): Macroize insn from *add<mode>_5 and *add{qi,hi}_5
38 using SWI mode iterator.
39
49706e39
MLI
402010-06-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
41
42 PR c/25880
43 * c-objc-common.c (c_tree_printer): Handle %V, %v and %#v.
44 * c-format.c (gcc_diag_flag_specs): Add hash.
45 (gcc_cxxdiag_flag_specs): Use gcc_diag_flag_specs directly.
46 (gcc_tdiag_char_table,gcc_cdiag_char_table): Handle %V and %v.
47 * c-pretty-print.c (pp_c_cv_qualifier): Rename as
48 pp_c_cv_qualifiers. Handle qualifiers spelling here.
49 (pp_c_type_qualifier_list): Call the function above.
50 * c-pretty-print.h (pp_c_cv_qualifiers): Declare.
51 * c-typeck.c (handle_warn_cast_qual): Print qualifiers.
52 (WARN_FOR_QUALIFIERS): New macro.
53 (convert_for_assignment): Use it.
54
b13ea8bd
KT
552010-06-04 Kai Tietz <kai.tietz@onevision.com>
56
ad1f7916 57 * config/i386/cygming.h (ASM_GENERATE_INTERNAL_LABEL): Prefix by '*'.
b13ea8bd 58
b33a91c9
JH
592010-06-04 Jan Hubicka <jh@suse.cz>
60
61 * df.h (df_rd_bb_info, df_md_bb_info, df_lr_bb_info, df_live_bb_info,
62 df_byte_lr_bb_info): Embedd bitmap_head into the structure.
63 (DF_LIVE_IN, DF_LIVE_OUT, DF_LR_IN, DF_LR_OUT, DF_BYTE_LR_IN,
64 DF_BYTE_LR_OUT): Update for embedded bitmaps.
65 * fwprop.c (single_def_use_enter_block): Likewise.
66 * ddg.c (create_ddg_dep_from_intra_loop_link,
67 add_cross_iteration_register_deps, build_inter_loop_deps): Likewise.
68 * loop-iv.c (latch_dominating_def): Likewise.
69 * df-problems.c (df_rd_free_bb_info, df_rd_alloc,
70 df_rd_bb_local_compute_process_def, df_rd_bb_local_compute_process_def,
71 df_rd_init_solution, df_rd_init_solution, df_rd_transfer_function,
72 df_rd_transfer_function, df_rd_top_dump,
73 df_rd_bottom_dump): Update.
74 (df_lr_free_bb_info, df_lr_alloc, df_lr_reset, df_lr_bb_local_compute,
75 df_lr_bb_local_compute, df_lr_bb_local_compute, df_lr_bb_local_compute,
76 df_lr_bb_local_compute, df_lr_local_compute, df_lr_init, df_lr_init,
77 df_lr_confluence_0, df_lr_free, df_lr_top_dump, df_lr_bottom_dump,
78 df_lr_verify_solution_start, df_lr_verify_solution_end,
79 df_lr_verify_transfer_functions, df_lr_verify_transfer_functions,
80 df_live_free_bb_info, df_live_alloc, df_live_reset,
81 df_live_bb_local_compute, df_live_init, df_live_transfer_function,
82 df_live_finalize, df_live_free, df_live_top_dump, df_live_bottom_dump,
83 df_live_verify_solution_start, df_live_verify_solution_end,
84 df_live_verify_transfer_functions, df_chain_create_bb,
85 df_byte_lr_free_bb_info, df_byte_lr_alloc, df_byte_lr_reset,
86 df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
87 df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
88 df_byte_lr_bb_local_compute, df_byte_lr_local_compute, df_byte_lr_init,
89 df_byte_lr_confluence_0, df_byte_lr_confluence_n,
90 df_byte_lr_transfer_function, df_byte_lr_top_dump,
91 df_byte_lr_bottom_dump, df_create_unused_note,
92 df_note_bb_compute, df_md_free_bb_info, df_md_alloc,
93 df_md_bb_local_compute_process_def, df_md_local_compute, df_md_reset,
94 df_md_transfer_function, df_md_init, df_md_confluence_0,
95 df_md_confluence_n,
ad1f7916
UB
96 df_md_top_dump, df_md_bottom_dump): Update.
97 (struct df_lr_problem_data): Embedd bitmap headers.
b33a91c9 98
f251709a
JH
992010-06-04 Jan Hubicka <jh@suse.cz>
100
ad1f7916
UB
101 * dce.c (dce_process_block): Do not re-scan already marked
102 instructions.
f251709a 103
8ff49c29
BS
1042010-06-04 Bernd Schmidt <bernds@codesourcery.com>
105
106 PR rtl-optimization/39871
107 PR rtl-optimization/40615
108 PR rtl-optimization/42500
109 PR rtl-optimization/42502
110 * ira.c (init_reg_equiv_memory_loc: New function.
111 (ira): Call it twice.
112 * reload.h (calculate_elim_costs_all_insns): Declare.
113 * ira-costs.c: Include "reload.h".
114 (regno_equiv_gains): New static variable.
115 (init_costs): Allocate it.
116 (finish_costs): Free it.
117 (ira_costs): Call calculate_elim_costs_all_insns.
118 (find_costs_and_classes): Take estimated elimination costs
119 into account.
120 (ira_adjust_equiv_reg_cost): New function.
121 * ira.h (ira_adjust_equiv_reg_cost): Declare it.
122 * reload1.c (init_eliminable_invariants, free_reg_equiv,
ad1f7916 123 elimination_costs_in_insn, note_reg_elim_costly): New static functions.
8ff49c29
BS
124 (elim_bb): New static variable.
125 (reload): Move code out of here into init_eliminable_invariants and
126 free_reg_equiv. Call them.
127 (calculate_elim_costs_all_insns): New function.
128 (eliminate_regs_1): Declare. Add extra arg FOR_COSTS;
129 all callers changed. If FOR_COSTS is true, don't call alter_reg,
130 but call note_reg_elim_costly if we turned a valid memory address
131 into an invalid one.
132 * Makefile.in (ira-costs.o): Depend on reload.h.
133
95c5655c
JB
1342010-06-04 Julian Brown <julian@codesourcery.com>
135
136 * config/arm/thumb2.md (*thumb2_movdf_soft_insn): Fix alternatives
137 for pool ranges.
138
d4c0c9f6
RG
1392010-06-04 Richard Guenther <rguenther@suse.de>
140
141 PR lto/41584
142 * cgraph.h (struct varpool_node): Add lto_file_data field.
143 * lto-cgraph.c (input_varpool_node): Initialize it.
144
308e51aa
UB
1452010-06-04 Uros Bizjak <ubizjak@gmail.com>
146
147 * config/i386/predicates.md (pic_symbolic_operand): Remove predicate.
148 * config/i386/i386.md (*add<mode>_1): Do not use pic_symbolic_operand
149 predicate in "type" attribute calculation.
150 (*addsi_1_zext): Ditto.
151 (*add<mode>_2): Do not use pic_symbolic_operand in insn predicate.
152 (*addsi_2_zext): Ditto.
153 (*add<mode>_3): Ditto.
154 (*addsi_3_zext): Ditto.
155 (*add<mode>_5): Ditto.
156
f3cf730b
JH
1572010-06-03 Jan Hubicka <jh@suse.cz>
158
159 * tree-into-ssa.c (mark_block_for_update): Avoid redundant call
160 of bitmap_bit_p.
161 * cfganal.c (compute_dominance_frontiers_1): Likewise.
162
95f4cd58
JH
1632010-06-03 Jan Hubicka <jh@suse.cz>
164
165 * df-problems.c (df_create_unused_note, df_note_bb_compute):
166 micro-optimize the checks when to add new note.
167
6e2188e0
NF
1682010-06-03 Nathan Froyd <froydnj@codesourcery.com>
169
170 * final.c (output_asm_insn): Call
171 targetm.asm_out.print_operand_punct_valid_p. Update comments.
172 (output_operand): Call targetm.asm_out.print_operand. Update comments.
173 (output_address): Call targetm.asm_out.print_operand_address.
174 Update comments.
175 * target.h (struct gcc_target): Add print_operand,
176 print_operand_address, and print_operand_punct_valid_p fields.
177 * targhooks.h (default_print_operand): Declare.
178 (default_print_operand_address): Declare.
179 (default_print_operand_punct_valid_p): Declare.
180 * targhooks.c (default_print_operand): Define.
181 (default_print_operand_address): Define.
182 (default_print_operand_punct_valid_p): Define.
183 * target-def.h (TARGET_PRINT_OPERAND): Define if not defined.
184 (TARGET_PRINT_OPERAND_ADDRESS): Likewise.
185 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Likewise.
186 (TARGET_ASM_OUT): Add TARGET_PRINT_OPERAND,
187 TARGET_PRINT_OPERAND_ADDRESS, and TARGET_PRINT_OPERAND_PUNCT_VALID_P.
188 * vmsdbgout.c (addr_const_to_string): Update comment.
189 * config/i386/i386.c (print_operand): Rename to...
190 (ix86_print_operand): ...this. Make static.
191 (print_operand_address): Rename to...
192 (ix86_print_operand_address): ...this. Make static. Call
193 ix86_print_operand instead of PRINT_OPERAND.
194 (ix86_print_operand_punct_valid_p): New function.
195 (TARGET_PRINT_OPERAND): Define.
196 (TARGET_PRINT_OPERAND_ADDRESS): Define.
197 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
198 * config/i386/i386.h (HI_REGISTER_NAMES): Update comment.
199 (PRINT_OPERAND_PUNCT_VALID_P): Delete.
200 (PRINT_OPERAND): Delete.
201 (PRINT_OPERAND_ADDRESS): Delete.
202 * config/i386/i386-protos.h (print_operand): Delete prototype.
203 (print_operand_address): Delete prototype.
204
bb6c4ac8
RG
2052010-06-03 Richard Guenther <rguenther@suse.de>
206
207 PR tree-optimization/44403
208 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
209 Preserve pointer qualifiers.
210 (vect_create_data_ref_ptr): Likewise.
211
1c314335
L
2122010-06-03 H.J. Lu <hongjiu.lu@intel.com>
213
214 PR c++/44294
215 * defaults.h (MAX_FIXED_MODE_SIZE): New.
216
217 * stor-layout.c (MAX_FIXED_MODE_SIZE): Removed.
218
c87d6057
JJ
2192010-06-03 Jakub Jelinek <jakub@redhat.com>
220
221 PR debug/44375
222 * tree-cfg.c (gimple_can_merge_blocks_p): For -O0
223 return false if merging the bbs would lead to goto_locus
224 location being lost from the IL.
225
193d4c0f
JJ
2262010-06-03 Jan Hubicka <jh@suse.cz>
227 Jakub Jelinek <jakub@redhat.com>
228
308e51aa 229 * var-tracking.c (dataflow_set_equiv_regs): Shortcut the loop if
193d4c0f
JJ
230 set->regs[i] is NULL or has just one entry.
231
703e95cf
JH
2322010-06-03 Jan Hubicka <jh@suse.cz>
233
234 * lto-cgraph.c (lto_varpool_encoder_size): Remove.
235 * lto-streamer.h (lto_varpool_encoder_size): New inline function.
236
12a0a4d4
PB
2372010-06-03 Paul Brook <paul@codesourcery.com>
238
239 * config/arm/arm.c (FL_TUNE): Define.
240 (arm_default_cpu, arm_cpu_select): Remove.
241 (all_cores): Populate core field.
242 (arm_selected_arch, arm_selected_cpu, arm_selected_tune): New.
243 (arm_find_cpu): New function.
244 (arm_handle_option): Lookup cpu/architecture names.
245 (arm_override_options): Cleanup mcpu/march/mtune handling.
246 (arm_file_start): Ditto.
247
d9d7a1bf
AM
2482010-06-03 Alan Modra <amodra@gmail.com>
249
250 PR target/44169
251 * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Add label operand.
252 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Pass label
253 rtx to gen_load_toc_v4_PIC_1b. Tidy.
254 (rs6000_emit_load_toc_table): Likewise.
255
514f01ad
JH
2562010-06-02 Jan Hubicka <jh@suse.cz>
257
258 * passes.c (init_optimization_passes): Put ipa reference
259 after ipa pure-const.
260
22a8d1e6
JH
2612010-06-02 Jan Hubicka <jh@suse.cz>
262
263 * ipa-reference.c (ipa_reference_local_vars_info_d): Remove
264 calls_read_all and calls_write_all.
265 (get_reference_optimization_summary): Fix formatting.
266 (is_proper_for_analysis): Check that decl is not readonly.
267 (propagate_bits): Check CONST/PURE/noreturn flags.
268 (ipa_init): Move all_module_statics to optimization_summary_obstack.
269 (analyze_function): Ignore indirect edges.
270 (copy_global_bitmap): For all module statics, do nothing.
271 (generate_summary): Do not print calls_read_all/calls_write_all.
272 (read_write_all_from_decl): Take node as argument; check
273 cgraph_node_cannot_return.
274 (propagate): Reorganize read_all/write_all computation;
275 check indirect edges; check ecf flags; use all_module_statics
276 in the results; do not free all_module_statics.
277 (stream_out_bitmap): Handle all_module_statics.
278 (ipa_reference_write_optimization_summary): Likewise; use
279 varpool/cgraph encoders to get boundaries.
280 (ipa_reference_read_optimization_summary): Read in all_module_statics;
281 use it when possible.
282
92902797
MM
2832010-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
284
285 PR target/44218
286 * doc/invoke.texi (RS/6000 and PowerPC Options): Delete obsolete
308e51aa 287 -mswdiv option. Add -mrecip, -mrecip=<xxx>, -mrecip-precision options.
92902797
MM
288
289 * doc/extend.texi (powerpc builtins): Document vec_recip,
290 vec_rsqrt, vec_rsqrte altivec/vsx builtins.
291
308e51aa 292 * config/rs6000/rs60000-protos.h (rs6000_emit_swdiv): New function.
92902797
MM
293 (rs6000_emit_swrsqrt): Ditto.
294 (rs6000_emit_swdivsf): Delete.
295 (rs6000_emit_swdivdf): Ditto.
296 (rs6000_emit_swrsqrtsf): Ditto.
297
298 * config/rs6000/rs6000.c (rs6000_recip_bits): New global to
299 describe the reciprocal estimate support for each type.
300 (recip_options): Map -mrecip=<opt> into option bits.
301 (gen_2arg_fn_t): New typedef for binary rtx gen function.
302 (rs6000_debug_reg_global): If -mdebug=reg, print the state of the
303 reciprocal estimate instructions.
304 (rs6000_init_hard_regno_mode_ok): Key ws constraint off of the
305 debug -mvsx-scalar-memory switch instead of -mvsx-scalar-double.
306 Set up rs6000_recip_bits based on the -mrecip* options. Print the
307 cost information if -mdebug=cost or -mdebug=reg.
308 (rs6000_override_options): Set -mrecip-precision for power6, and
309 power7 machines. If -mvsx or -mdfp, enable various options that
310 came in previous instruction set ISAs, unless the option was
311 explicitly disabled by the command line option. Parse
312 -mrecip=<opt> options.
313 (rs6000_builtin_vectorized_function): Add support for vectorizing
314 the reciprocal estimate builtins and expansions.
315 (rs6000_handle_option): Add -mrecip, -mrecip=<opt> support.
316 (bdesc_2arg): Add reciprocal estimate builtins.
317 (bdesc_1arg): Add reciprocal square root estimate builtins.
318 (rs6000_expand_builtin): Rewrite to use a switch statement,
308e51aa 319 instead of multiple if/then/elses. Add reciprocal estimate builtins.
92902797
MM
320 (rs6000_init_builtins): Create declarations for reciprocal
321 estimate builtins.
322 (rs6000_preferred_reload_class): Simplify VSX preferences, if scalar
323 sized, prefer traditional floating point registers, if integer
324 vector types, prefer altivec registers. Don't actually look at
325 the memory address any more.
326 (rs6000_builtin_reciprocal): Add new builtin reciprocal estimate
327 builtins.
328 (rs6000_load_constant_and_splat): New helper function to load up
329 the constant for reciprocal estimate instructions.
330 (rs6000_emit_madd): New helper function for generating
331 multiply/add type instructions, based on the current switches.
332 (rs6000_emit_msub): Ditto.
333 (rs6000_emit_mnsub): Ditto.
334 (rs6000_emit_swdiv_high_precision): Replace rs6000_emit_swdivsf to
335 replace a divide with a reciprocal estimate and fixup, adding
336 support for machines with high precision and vectors.
337 (rs6000_emit_swdiv_low_precision): Rewrite rs6000_emit_swdivdf for
338 low precision machines.
339 (rs6000_emit_swdiv): New common function to be called to replace a
340 division with reciprocal estimate and fixup.
341 (rs6000_emit_swrsqrt): Replace rs6000_emit_swrsqrtsf. Add support
308e51aa 342 for double and vector types. Add support for high precision machines.
92902797
MM
343
344 * config/rs6000/rs6000.h (TARGET_FRES): New macro to say whether
345 the reciprocal estimate instructions can be generated.
346 (TARGET_FRE): Ditto.
347 (TARGET_FRSQRTES): Ditto.
348 (TARGET_FRSQRTE): Ditto.
349 (RS6000_RECIP_*): New macros for reciprocal estimate support.
350
351 * config/rs6000/vector.md (rsqrte<mode>2): New insn for reciprocal
352 square root estimate on vectors.
353 (re<mode>2): New insn for reciprocal division estimate on vectors.
354
355 * config/rs6000/rs6000-buitlins.def (ALTIVEC_BUILTIN_VRSQRTFP):
356 New builtin.
357 (ALTIVEC_BUILTIN_VRECIPFP): Ditto.
358 (ALTIVEC_BUITLIN_VEC_RE): Ditto.
359 (ALTIVEC_BUILTIN_VEC_RSQRT): Ditto.
360 (VSX_BUILTIN_RSQRT_V4SF): Ditto.
361 (VSX_BUITLIN_RSQRT_V2DF): Ditto.
362 (RS6000_BUILTIN_RSQRT): Ditto.
363 (ALTIVEC_BUILTIN_VEC_RSQRTE): Denote that the builtin is a
364 floating point builtin.
365
366 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
367 macros __RECIP__, __RECIPF__, __RSQRTE__, __RSQRTEF__,
368 __RECIP_PRECISION__ based on the command line switches.
369 (altivec_overloaded_builtins): Add reciprocal estimate builtins.
370
371 * config/rs6000/rs6000.opt (-mrecip): Document add support for
308e51aa 372 replacing division instructions with reciprocal estimate and fixup.
92902797
MM
373 (-mrecip=<opt>): New option.
374 (-mrecip-precision): Ditto.
375
376 * config/rs6000/vsx.md (UNSPEC_VSX_RSQRTE): Delete.
377 (vsx_rsqrte<mode>2): Use UNSPEC_RSQRT not UNSPEC_VSX_RSQRTE.
378 (vsx_copysignsf3): If -mvsx, use double precision cpsign on single
379 precision scalar.
380
381 * config/rs6000/altivec.md (UNSPEC_RSQRTEFP): Delete.
382 (UNSPEC_VREFP): Ditto.
383 (altivec_vnmsubfp*): Make altivec nmsub mirror the scalar and VSX
308e51aa 384 conterparts with regard to support of -mno-fused-madd and -ffast-math.
92902797
MM
385 (altivec_vrsqrtefp): Use common UNSPEC to allow scalar/vector
386 reciprocal estimate instructions to be generated.
387 (altivec_vrefp): Ditto.
388
389 * config/rs6000/rs6000.md (RECIPF): New iterator for reciprocal
390 estimate support.
391 (rreg): New mode attribute for reciprocal estimate support.
392 (recip<mode>3): New insn for division using reciprocal estimate
393 and fixup builtins.
394 (divide define_split): New define_split to convert floating point
395 division to use reciprocal estimate if the user used the
396 appropriate options and the split is run when we can add new
397 pseudo registers for the fixup.
398 (rsqrt<mode>2): New insn for reciprocal square root support.
399 (recipsf3): Move into recip<mode>3.
400 (recipdf3): Ditto.
401 (fres): Use TARGET_FRES.
402 (rsqrtsf2): Move into rsqrt<mode>2.
403 (rsqrtsf_internal1): Use TARGET_FRSQRTSES.
404 (copysignsf3): Add support for VSX.
405 (fred): Use TARGET_FRE.
406 (fred_fpr): Ditto.
407 (rsqrtdf_internal1): New function for frsqrte instruciton.
408
308e51aa 409 * config/rs6000/altivec.h (vec_recipdiv): Define new vector builtin.
92902797
MM
410 (vec_rsqrt): Ditto.
411
eef4a603
RG
4122010-06-03 Richard Guenther <rguenther@suse.de>
413
414 PR middle-end/44291
415 * optabs.c (init_one_libfunc): Use IDENTIFIER_HASH_VALUE.
416 (set_user_assembler_libfunc): Likewise.
417
77ec4307
SB
4182010-06-02 Steven Bosscher <steven@gcc.gnu.org>
419
420 * mkconfig.sh: Include insn-flags.h and insn-constants.h before
421 defaults.h.
422 * except.h: Move MUST_USE_SJLJ_EXCEPTIONS and USING_SJLJ_EXCEPTIONS
423 to defaults.h
424 * expr.h (BRANCH_COST, MOVE_RATIO, CLEAR_RATIO, SET_RATIO,
425 DEFAULT_FUNCTION_ARG_PADDING, FUNCTION_ARG_PADDING,
426 FUNCTION_ARG_BOUNDARY, STACK_SAVEAREA_MODE, STACK_SIZE_MODE,
427 STACK_CHECK_BUILTIN, STACK_CHECK_STATIC_BUILTIN,
428 STACK_CHECK_PROBE_INTERVAL_EXP, STACK_CHECK_MOVING_SP,
429 STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT,
430 STACK_CHECK_MAX_FRAME_SIZE, STACK_CHECK_FIXED_FRAME_SIZE,
431 STACK_CHECK_MAX_VAR_SIZE): Move target macro defaults to defaults.h.
432 * defaults.h: Updated for above mentioned changes.
433
ef2d9e4d
KT
4342010-06-02 Kai Tietz <kai.tietz@onevision.com>
435
436 * c-common.c: Remove header include of tm_p.h.
437 * Makefile.in (c-common.o): Remove TM_P_H dependency.
438
53e030f1
JJ
4392010-06-02 Jakub Jelinek <jakub@redhat.com>
440
441 * tree.h (struct tree_decl_map): New type.
442 (tree_decl_map_eq, tree_decl_map_marked_p): Define.
443 (tree_decl_map_hash): New prototype.
444 (debug_expr_for_decl, value_expr_for_decl): Change into
445 tree_decl_map hashtab from tree_map.
446 (init_ttree): Adjust initialization.
447 (tree_decl_map_hash): New function.
448 (decl_debug_expr_lookup, decl_debug_expr_insert,
449 decl_value_expr_lookup, decl_value_expr_insert): Adjust.
450
a6198222
RO
4512010-06-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
452
453 * configure.ac (gcc_cv_ld_sol2_emulation): Test for GNU ld *_sol2
454 linker emulations.
455 * configure: Regenerate.
456 * config.in: Regenerate.
457
458 * config/i386/sol2-10.h [TARGET_GNU_LD] (I386_EMULATION): Define.
459 (X86_64_EMULATION): Define.
460 (TARGET_LD_EMULATION): Use them.
461
462 * config/sparc/sol2-gld-bi.h (SPARC32_EMULATION): Define.
463 (SPARC64_EMULATION): Define.
464 (LINK_ARCH_SPEC): Use them.
465
d6abd6d8
SP
4662010-06-02 Sebastian Pop <sebastian.pop@amd.com>
467
468 * graphite-clast-to-gimple.c (gcc_type_for_interval): Use
469 smallest_mode_for_size for computing the precision types of new
470 graphite IVs. Do not call lang_hooks.types.type_for_size.
471
718d3588
SP
4722010-06-02 Sebastian Pop <sebastian.pop@amd.com>
473
474 * tree-if-conv.c (predicate_bbs): Do not reset the GIMPLE_DEBUG
475 information.
476 (remove_conditions_and_labels): Reset the GIMPLE_DEBUG information.
477
5521cae9
SP
4782010-06-02 Sebastian Pop <sebastian.pop@amd.com>
479
480 PR middle-end/44363
481 * tree-if-conv.c (predicate_bbs): Do not call gcc_unreachable,
482 return false instead.
483
437ffe7b
JH
4842010-06-02 Jan Hubicka <jh@suse.cz>
485
486 PR middle-end/44295
487 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Do not
488 create new cgraph node to check callee.
489
f3dcdff7
RG
4902010-06-02 Richard Guenther <rguenther@suse.de>
491
492 * lto-streamer-in.c (input_gimple_stmt): Fix typo.
493
396717c9
RG
4942010-06-02 Richard Guenther <rguenther@suse.de>
495
496 * lto-wrapper.c (lto_wrapper_exit): Rename to ...
497 (lto_wrapper_cleanup): ... this. Do not exit.
498 (fatal): Adjust. Exit here.
499 (fatal_perror): Likewise.
500 (fatal_signal): New function.
501 (main): Set up signal handlers to cleanup temporary files.
502 * Makefile.in (lto-wrapper.o): Adjust dependencies.
503
2698955a
RG
5042010-06-02 Richard Guenther <rguenther@suse.de>
505
506 PR tree-optimization/44377
507 * tree-ssa-structalias.c (find_func_aliases): Fix typo.
508
30972225
AK
5092010-06-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
510
511 * config/s390/2097.md (z10_fhex): Remove insn reservation.
512 * config/s390/s390.md (UNSPEC_COPYSIGN): Remove unused constant.
513 (*mov<mode>_64 TD_TF, *mov<mode>_31 TD_TF, *mov<mode>_64dfp DD_DF,
514 *mov<mode>_64 DD_DF, *mov<mode>_31, mov<mode>): Remove load zero
515 instruction.
308e51aa 516 * config/s390/s390.c: Don't accept fp zeros as valid constants anymore.
30972225 517
d4fb676f
JH
5182010-06-02 Jan Hubicka <jh@suse.cz>
519
520 * bitmap.c (bitmap_descriptor): Add search_iter.
521 (bitmap_find_bit): Increment it.
522 (print_statistics): Print it.
523
36c4a482
NF
5242010-06-02 Nathan Froyd <froydnj@codesourcery.com>
525
526 * tree-vect-slp.c (vect_create_mask_and_perm): Use gimple_build_call
527 instead of gimple_build_call_vec. Delete unnecessary local variable.
528
f66d6761
SB
5292010-06-02 Steven Bosscher <steven@gcc.gnu.org>
530
531 * gimplify.c (gimplify_body): Revert "Do not initialize RTL profiling"
532 change from yesterday.
533
a8cd9c51
SB
5342010-06-02 Steven Bosscher <steven@gcc.gnu.org>
535
536 * c-ada-spec.c: Clean up redundant includes.
537
2eb79bbb
SB
5382010-06-01 Steven Bosscher <steven@gcc.gnu.org>
539
540 * gimplify.c: Do not include except.h and optabs.h.
541 (gimplify_body): Do not initialize RTL profiling.
542 * gimple-low.c: Do not include rtl.h, diagnostic.h, langhooks.h,
543 langhooks-def.h, timevar.h, except.h, hashtab.h, and expr.h.
544 * gimple-fold.c: Do not include rtl.h, tm_p.h, ggc.h, basic-block.h,
545 output.h, expr.h, diagnostic.h, timevar.h, value-prof.h, and
546 langhooks.h.
547
548 * tree-pretty-print.h: Include pretty-print.h.
549 * gimple-pretty-print.h: Include pretty-print.h.
550
551 * tree-pretty-print.c: Do not include diagnostic.h.
552 * tree-vrp.c: Likewise.
553 * tree-tailcall.c: Likewise
554 * tree-scalar-evolution.c: Likewise
555 * tree-ssa-dse.c: Likewise
556 * tree-chrec.c: Likewise
557 * tree-ssa-sccvn.c: Likewise
558 * tree-ssa-copyrename.c: Likewise
559 * tree-nomudflap.c: Likewise
560 * tree-call-cdce.c: Likewise
561 * tree-stdarg.c: Likewise
562 * tree-ssa-math-opts.c: Likewise
563 * tree-nrv.c: Likewise
564 * tree-ssa-sink.c: Likewise
565 * tree-browser.c: Likewise
566 * tree-ssa-loop-ivcanon.c: Likewise
567 * tree-ssa-loop.c: Likewise
568 * tree-parloops.c: Likewise
569 * tree-ssa-address.c: Likewise
570 * tree-ssa-ifcombine.c: Likewise
571 * tree-if-conv.c: Likewise
572 * tree-data-ref.c: Likewise
573 * tree-affine.c: Likewise
574 * tree-ssa-phiopt.c: Likewise
575 * tree-ssa-coalesce.c: Likewise
576 * tree-ssa-pre.c: Likewise
577 * tree-ssa-live.c: Likewise
578 * tree-predcom.c: Likewise
579 * tree-ssa-forwprop.c: Likewise
580 * tree-ssa-dce.c: Likewise
581 * tree-ssa-ter.c: Likewise
582 * tree-ssa-loop-prefetch.c: Likewise
583 * tree-optimize.c: Likewise
584 * tree-ssa-phiprop.c: Likewise
585 * tree-object-size.c: Likewise
586 * tree-outof-ssa.c: Likewise
587 * tree-ssa-structalias.c: Likewise
588 * tree-switch-conversion.c: Likewise
589 * tree-ssa-reassoc.c: Likewise
590 * tree-ssa-operands.c: Likewise
591 * tree-vectorizer.c: Likewise
592 * tree-vect-data-refs.c: Likewise
593 * tree-vect-generic.c: Likewise
594 * tree-vect-stmts.c: Likewise
595 * tree-vect-patterns.c: Likewise
596 * tree-vect-slp.c: Likewise
597 * tree-vect-loop.c: Likewise
598 * tree-ssa-loop-ivopts.c: Likewise
599 * tree-ssa-loop-im.c: Likewise
600 * tree-ssa-loop-niter.c: Likewise
601 * tree-ssa-loop-unswitch.c: Likewise
602 * tree-ssa-loop-manip.c: Likewise
603 * tree-ssa-loop-ch.c: Likewise
604 * tree-dump.c: Likewise
605 * tree-complex.c: Likewise
606
607 * tree-into-ssa.c: Do not include diagnostic.h and expr.h.
608 * tree-ssa-uninit.c: Likewise
609 * tree-ssa-threadupdate.c: Likewise
610 * tree-ssa-uncprop.c: Likewise
611 * tree-ssa-ccp.c: Likewise
612 * tree-ssa-dom.c: Likewise
613 * tree-ssa-propagate.c: Likewise
614 * tree-ssa-alias.c: Likewise
615 * tree-dfa.c: Likewise
616 * tree-cfgcleanup.c: Likewise
617 * tree-sra.c: Likewise
618 * tree-ssa-copy.c: Likewise
619 * tree-ssa.c: Likewise
620 * tree-profile.c: Likewise
621 * tree-cfg.c: Likewise
622 * tree-ssa-threadedge.c: Likewise
623 * tree-vect-loop-manip.c: Likewise
624
625 * tree-inline.c: Do not include diagnostic.h and expr.h.
626 Include rtl.h.
627 (copy_decl_for_dup_finish): Do not use NULL_RTX.
628
308e51aa 629 * tree-loop-linear.c: Do not include diagnostic.h, expr.h and optabs.h.
2eb79bbb
SB
630 * tree-loop-distribution.c: Likewise.
631
73add7fe
JH
6322010-06-01 Jan Hubicka <jh@suse.cz>
633
634 * ipa-pure-const.c (local_pure_const): Do NORETURN discovery.
635
566d09ef
JH
6362010-06-01 Jan Hubicka <jh@suse.cz>
637
638 * tree-cfgcleanup.c (fixup_noreturn_call): Break out from ...;
639 remove return value.
640 (split_bbs_on_noreturn_calls) .... here.
641 * tree-optimize.c (execute_fixup_cfg): Fixup noreturn calls too.
642 * tree-flow.h (fixup_noreturn_call): New.
643
fb9ef4c1
JH
6442010-06-01 Jan Hubicka <jh@suse.cz>
645
646 * emit-rtl.c (remove_insn): Fix thinko in prevoius patch.
647
6594b49d
NF
6482010-06-01 Nathan Froyd <froydnj@codesourcery.com>
649
650 * tree.h (build_nt_call_list): Delete.
651 * tree.c (build_nt_call_list): Delete.
652
5936d944
JH
6532010-06-01 Jan Hubicka <jh@suse.cz>
654
655 * fwprop.c: Make emit-rtl.h include last.
656 * rtlanal.c: Include emit-rtl.h.
657 * genautomata.c: Output emit-rtl include into insn-automata.c
658 * df-scan.c: Include emit-rtl.h.
659 * haifa-sched.c: Indlude emit-rtl.h.
660 * mode-switching.c: Indlude emit-rtl.h.
661 * graph.c: Indlude emit-rtl.h.
662 * sel-sched.c: Include emit-rtl.h.
663 * sel-sched-ir.c: Include emit-rtl.h.
664 * ira-build.c: Include emit-rtl.h.
665 * emit-rtl.c: (first_insn, last_insn): Remove defines.
666 (get_insns, set_first_insn, get_last_insn, set_last_insn, get_max_uid):
667 Move to emit-rtl.h.
308e51aa
UB
668 (set_new_first_and_last_insn, get_last_insn_anywhere,
669 get_first_nonnote_insn, get_last_nonnote_insn, try_split,
670 make_call_insn_raw, add_insn_after, add_insn_before, remove_insn,
671 delete_insns_since, reorder_insns_nobb, emit_insn_after_1,
672 emit_debug_insn_before, emit_insn, start_sequence, push_to_sequence,
673 push_to_sequence2, push_topmost_sequence, end_sequence, copy_insn):
674 Use accessor functions.
5936d944
JH
675 * emit-rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
676 gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
677 set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
308e51aa 678 mem_expr_equal_p): Move here from rtl.h.
5936d944
JH
679 (get_insns, set_first-insn, get_last_insn, set_last_insn, get_max_uid):
680 Move here from emit-rtl.c; make inline.
308e51aa 681 * cfglayout.h: Include emit-rtl.h.
5936d944
JH
682 * rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
683 gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
684 set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
308e51aa
UB
685 mem_expr_equal_p, get_insns, set_first-insn,
686 get_last_insn, set_last_insn, get_max_uid): Move to emit-rtl.h.
687 * reg-stack.c: Include emit-rtl.h.
5936d944
JH
688 * dce.c: Likewise.
689
91382288
JH
6902010-06-01 Jan Hubicka <jh@suse.cz>
691
692 * cgraph.h (tree_function_versioning): Update prototype.
693 (cgraph_function_versioning): Update prototype.
694 * cgraphunit.c (cgraph_copy_node_for_versioning): Accept bbs_to_copy
695 bitmap.
308e51aa 696 (cgraph_function_versioning): Accept new_entry_block and bbs_to_copy.
91382288
JH
697 (cgraph_materialize_clone, save_inline_function_body): Update use of
698 tree_function_versioning.
308e51aa
UB
699 * tree-inline.c (copy_bb): Look for previous copied block to link
700 after; fix debug output.
91382288
JH
701 (copy_cfg_body): Accept new_entry_block and bbs_to_copy.
702 (copy_body): Likewise.
703 (expand_call_inline): Update use of copy_body.
704 (tree_function_versioning): Update use of copy body; accept
705 blocks_to_copy and new_entry.
706
6ac9d3a3
JH
7072010-06-01 Jan Hubicka <jh@suse.cz>
708
709 * gegenrtl.c: Remove unnecesary prototypes.
710 (gendecl): Remove.
711 (gendef): Produce static inline.
712 (gencode): Remove.
713 (main): Do not decode parameters; generate header only.
714 * Makefile.in (genrtl.c): Remove.
715
2e3b4885
JH
7162010-06-01 Jan Hubicka <jh@suse.cz>
717
718 * tree-switch-conversion.c (build_one_array): Make it readonly.
719
0641fa97
RG
7202010-06-01 Richard Guenther <rguenther@suse.de>
721
722 * optabs.c (init_optabs): Guard all accesses to reinit.
723 * ipa-pure-const.c (propagate): Fix another typo.
724 * opts.c (common_handle_option): Split assignment to bool.
725 * c-opts.c (c_common_handle_option): Likewise.
726
9cc54940 7272010-06-01 Arnaud Charlet <charlet@adacore.com>
308e51aa 728 Matthew Gingell <gingell@adacore.com>
9cc54940
AC
729
730 * doc/invoke.texi: Mention -fdump-ada-spec.
731 * tree-dump.c (dump_files): Add ada-spec.
732 (FIRST_AUTO_NUMBERED_DUMP): Bump to 8.
733 * tree-pass.h (tree_dump_index): Add TDI_ada.
734 * gcc.c: Add support for -C without -E and for -fdump-ada-spec.
735 (cpp_unique_options): Do not reject -C or -CC when -E isn't present.
736 (default_compilers) <@c-header>: Allow -fdump-ada-spec on header files.
737 * c-decl.c: Include c-ada-spec.h.
738 (collect_source_ref_cb, collect_all_refs, for_each_global_decl): New
739 functions.
740 (c_write_global_declarations): Add handling of -fdump-ada-spec.
741 * c-lex.c (c_lex_with_flags): Add handling of CPP_COMMENT.
742 * Makefile.in (C_AND_OBJC_OBJS): Add c-ada-spec.o.
743 * c-ada-spec.h, c-ada-spec.c: New files.
744
97d45cef
RG
7452010-06-01 Richard Guenther <rguenther@suse.de>
746
747 PR lto/43853
748 * ipa-pure-const.c (get_function_state): Hand back varying state
749 if we do not have one.
750 (has_function_state): New function.
751 (duplicate_node_data): Adjust.
752 (remove_node_data): Likewise.
753 (pure_const_write_summary): Likewise.
754 (propagate): Likewise. Fix typo.
755
f7fbb475
JH
7562010-06-01 Jan Hubicka <jh@suse.cz>
757
758 * tree-cfg.c (verify_stmt): Do not skip could_throw test.
759 * passes.c (execute_function_todo): Do not make implicit verify_ssa.
760 (execute_all_ipa_transforms): Do not play with the states.
761
d47a371c
MK
7622010-06-01 Maxim Kuvyrkov <maxim@codesourcery.com>
763
764 * config/arm/t-linux-androideabi: New.
765 * config.gcc (arm*-*-linux-androideabi): Include multilib configuration.
766
613f61fc
JH
7672010-06-01 Jan Hubicka <jh@suse.cz>
768
769 * tree-inline.c (estimate_num_insns): For stdarg functions look
770 into call statement to count cost of argument passing.
771
193d4c0f 7722010-06-01 Kai Tietz <kai.tietz@onevision.com>
42ad7bc8 773
308e51aa
UB
774 * config/i386.c (ix86_output_addr_vec_elt): Make LPREFIX
775 argument for fprintf.
776 (ix86_output_addr_diff_elt): Likewise.
777 (x86_function_profiler): Likewise.
778 * config/cygming.h (LOCAL_LABEL_PREFIX): Fix for x64 no-underscore.
779 (LPREFIX): Likewise.
780 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
42ad7bc8 781
c71ad61e
JJ
7822010-05-31 Jakub Jelinek <jakub@redhat.com>
783
784 PR target/44338
785 * config/i386/sse.md (fma4i_fmadd<mode>4256, fma4i_fmsub<mode>4256,
786 fma4i_fnmadd<mode>4256, fma4i_fnmsub<mode>4256, fma4i_fmadd<mode>4,
787 fma4i_fmsub<mode>4, fma4i_fnmadd<mode>4, fma4i_fnmsub<mode>4,
788 fma4i_vmfmadd<mode>4, fma4i_vmfmsub<mode>4, fma4i_vmfnmadd<mode>4,
789 fma4i_vmfnmsub<mode>4, fma4i_fmaddsubv8sf4, fma4i_fmaddsubv4df4,
790 fma4i_fmaddsubv4sf4, fma4i_fmaddsubv2df4, fma4i_fmsubaddv8sf4,
791 fma4i_fmsubaddv4df4, fma4i_fmsubaddv4sf4, fma4i_fmsubaddv2df4):
792 Guard only with TARGET_FMA4 instead of TARGET_FMA4 &&
793 TARGET_FUSED_MADD.
794
63f1c699
JH
7952010-05-31 Jan Hubicka <jh@suse.cz>
796
797 * tree.h (tree_range_check_failed): Declare noreturn.
798
4892422a
JH
7992010-05-31 Jan Hubicka <jh@suse.cz>
800
801 * gimple.c (gimple_call_builtin_p): New function.
802 * gimple.h (gimple_call_builtin_p): Declare.
803 * tree-cfg.c (make_edges): Produce edge from BUILT_IN_RETURN
804 to exit.
805 (execute_warn_function_return): BUILT_IN_RETURN is return.
806 (split_critical_edges): Return edges are not critical.
807 (is_ctrl_altering_stmt): Builtin_in_return is altering.
808 (gimple_verify_flow_info): Handle built_in_return.
809 (execute_warn_function_return): Handle built_in_return.
810 * ipa-pure-const.c (check_call): Ignore builtin_return.
811
90a7788b
JJ
8122010-05-31 Jakub Jelinek <jakub@redhat.com>
813
6a866023
JJ
814 PR middle-end/44337
815 * expr.c (expand_assignment): Don't store anything for out-of-bounds
816 array accesses with non-MEM.
817
90a7788b
JJ
818 PR tree-optimization/44182
819 * tree-inline.c (copy_edges_for_bb): Don't split bb if a stmt that
820 newly needs to end a bb is followed by debug stmts, instead return
821 true from the function at the end.
822 (maybe_move_debug_stmts_to_successors): New function.
823 (copy_cfg_body): Call it if copy_edges_for_bb returned true.
824
877a19bf
KT
8252010-05-31 Kai Tietz <kai.tietz@onevision.com>
826
827 PR target/44161
308e51aa 828 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Handle flag_pic.
877a19bf 829
c5d01958
EB
8302010-05-31 Eric Botcazou <ebotcazou@adacore.com>
831
832 * cgraphunit.c (cgraph_decide_is_function_needed): Really return false
833 for nested functions in non-optimized compilation.
834
a4c9bc15
RG
8352010-05-31 Richard Guenther <rguenther@suse.de>
836
308e51aa 837 * tree-ssa-structalias.c (find_func_aliases): Handle BUILT_IN_RETURN.
a4c9bc15 838
22983f55
JH
8392010-05-30 Jan Hubicka <jh@suse.cz>
840
841 * predict.c (maybe_hot_edge_p): Calls to functions called once is cold.
842
66a3e339
RG
8432010-05-30 Richard Guenther <rguenther@suse.de>
844
845 PR lto/42975
846 * tree-eh.c (execute_cleanup_eh_1): Copy from execute_cleanup_eh.
847 (execute_cleanup_eh): Clear DECL_FUNCTION_PERSONALITY if it is
848 no longer needed.
849
83bf7f5e
IS
8502010-05-30 Iain Sandoe <iains@gcc.gnu.org>
851
852 * config/darwin.c (output_objc_section_asm_op): Add comment.
853 (name_needs_quotes): Add '_' to list of valid comment chars.
854 (machopic_output_function_base_name): Remove unneeded quotes.
855 (darwin_encode_section_info): Adjust asm whitespace.
856 * config/i386/darwin.h (ASM_OUTPUT_COMMON): Adjust asm tabs.
857 (ASM_OUTPUT_LOCAL): Ditto.
858 * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Ditto.
859 * config/darwin.h (GLOBAL_ASM_OP): Ditto.
860 * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Ditto.
308e51aa 861
18fc5f44
EB
8622010-05-30 Eric Botcazou <ebotcazou@adacore.com>
863
864 * config/rs6000/rs6000.c (rs6000_output_function_entry): Use
865 RS6000_OUTPUT_BASENAME unconditionally.
866 (rs6000_output_function_epilogue): Likewise.
867
babf1701
JH
8682010-05-30 Jan Hubicka <jh@suse.cz>
869
870 * toplev.c (wrapup_global_declaration_2): Avoid creation of new varpool
c5d01958 871 nodes.
babf1701 872
fbd767b1
RG
8732010-05-30 Richard Guenther <rguenther@suse.de>
874
875 * tree-cfg.c (verify_gimple_assign_single): Implement
876 verification for COND_EXPR rhs.
877
0a5fa5a1
JH
8782010-05-30 Jan Hubicka <jh@suse.cz>
879
880 * cgraph.h (cgraph_dump_file): Declare.
881 * cgraphunit.c (cgraph_dump_file): Export.
308e51aa 882 * ipa.c (dump_cgraph_node_set, dump_varpool_node_set): Be less verbose.
0a5fa5a1 883
0b9c3a04
JH
8842010-05-30 Jan Hubicka <jh@suse.cz>
885
886 * dwarf2out.c (reference_to_unused,
18fc5f44
EB
887 premark_types_used_by_global_vars_helper): Avoid creation of new
888 varpool nodes.
0b9c3a04 889
d56026c2
JH
8902010-05-30 Jan Hubicka <jh@suse.cz>
891
892 * cgraph.h (cgraph_node_cannot_return,
893 cgraph_edge_cannot_lead_to_return): New functions.
894 * cgraph.c (cgraph_node_cannot_return,
895 cgraph_edge_cannot_lead_to_return): Use them.
896 * ipa-pure-const.c (pure_const_names): New static var.
897 (check_call): Handle calls not leading to return.
898 (pure_const_read_summary): Dump info read.
308e51aa
UB
899 (propagate): Dump info about propagation process; ignore side effects
900 of functions not leading to exit; fix handling of pure functions.
d56026c2 901
17f01631
JH
9022010-05-30 Jan Hubicka <jh@suse.cz>
903
904 * config/i386/i386.c (pro_epilogue_adjust_stack): Use EBP
905 for tail call epilogues.
906
f59292da
JH
9072010-05-30 Jan Hubicka <jh@suse.cz>
908
909 * passes.c (ipa_write_optimization_summaries_1, ipa_write_summaries_2,
18fc5f44
EB
910 ipa_read_summaries_1, ipa_read_optimization_summaries_1): Initialize
911 dump files.
f59292da 912
8a6295ba
JH
9132010-05-29 Jan Hubicka <jh@suse.cz>
914
18fc5f44
EB
915 * ipa.c (cgraph_remove_unreachable_node): Walk references of correct
916 node; remove references in node we no longer keep in cgrpah but need
917 body of.
8a6295ba 918
7baeea85
JH
9192010-05-29 Jan Hubicka <jh@suse.cz>
920
921 * cgraph.c (cgraph_mark_reachable): Relax check for analyzed nodes.
922
482959e5
JDA
9232010-05-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
924
925 PR target/44165
926 * config/pa/pa32-linux.h (CTOR_LIST_BEGIN): Mark __CTOR_LIST__ as used.
927
24e47c76
JH
9282010-05-29 Jan Hubicka <jh@suse.cz>
929
930 * tree-vrp.c (debug_value_range, debug_all_value_ranges,
931 debug_asserts_for, debug_all_asserts): Annotate with DEBUG_FUNCTION.
932 * tree-into-ssa.c (debug_decl_set, debug_defs_stack, debug_currdefs,
933 debug_tree_ssa, debug_tree_ssa_stats, debug_def_blocks,
308e51aa 934 debug_names_replaced_by, debug_update_ssa): Likewise.
24e47c76
JH
935 * sbitmap.c (debug_sbitmap): Likewise.
936 * genrecog.c (debug_decision, debug_decision_list): Likewise.
937 * tree-pretty-print.c (debug_generic_expr, debug_generic_stmt,
938 debug_tree_chain): Likewise.
939 * tree-loop-distribution.c (debug_rdg_partitions): Likewise.
940 * cgraph.c (debug_cgraph_node, debug_cgraph): Likewise.
941 * optabs.c (debug_optab_libfuncs): Likewise.
942 (verify_loop_closed_ssa): Likewise.
943 * value-prof.c (verify_histograms): Likewise.
944 * reload.c (debug_reload_to_stream, debug_reload): Likewise.
945 * bitmap.c (debug_bitmap_file, debug_bitmap, bitmap_print): Likewise.
946 * cfghooks.c (verify_flow_info): Likewise.
947 * fold-const.c (debug_fold_checksum): Likewise.
948 * omp-low.c (debug_omp_region, debug_all_omp_regions): Likewise.
949 * cfg.c (debug_regset, debug_flow_info, debug_bb, debug_bb_n):
950 Likewise.
951 * omega.c (debug_omega_problem): Likewise.
952 * cgraphunit.c (verify_cgraph_node, verify_cgraph): Likewise.
953 * tree-ssa-ccp.c (debug_lattice_value): Likewise.
954 * dominance.c (verify_dominators, debug_dominance_info,
955 debug_dominance_tree): Likewise.
956 * df-core.c (df_insn_uid_debug, df_insn_debug, df_insn_debug_regno,
957 * df_regno_debug, df_ref_debug,
958 debug_df_insn, debug_df_reg, debug_df_regno, debug_df_ref,
959 debug_df_defno, debug_df_useno, debug_df_chain): Likewise.
960 * tree-ssa-dom.c (debug_dominator_optimization_stats): Likewise.
961 * sel-sched.c (debug_state): Likewise.
18fc5f44
EB
962 * tree-ssa-alias.c (debug_alias_info, debug_points_to_info_for):
963 Likewise.
24e47c76
JH
964 * cfganal.c (print_edge_list, verify_edge_list): Likewise.
965 * dwarf2out.c (debug_dwarf_die, debug_dwarf): Likewise.
966 * tree-eh.c (verify_eh_edges, verify_eh_dispatch_edge): Likewise.
18fc5f44
EB
967 * gimple-pretty-print.c (debug_gimple_stmt, debug_gimple_seq):
968 Likewise.
24e47c76
JH
969 * c-pretty-print.c (debug_c_tree): Likewise.
970 * sel-sched-dump.c (debug_insn_rtx, debug_vinsn, debug_expr, debug_insn
18fc5f44
EB
971 debug_av_set, debug_lv_set, debug_ilist, debug_blist,
972 debug_insn_vector, debug_hard_reg_set, debug_mem_addr_value): Likewise.
24e47c76
JH
973 * ebitmap.c (debug_ebitmap): Likewise.
974 * function.c (debug_find_var_in_block_tree): Likewise.
975 * print-rtl.c (debug_rtx): Likewise.
976 (debug_rtx_count): Likewise.
977 (debug_rtx_list, debug_rtx_range, debug_rtx_find): Likewise.
978 * stor-layout.c (debug_rli): Likewise.
979 * ipa.c (debug_cgraph_node_set, debug_varpool_node_set): Likewise.
18fc5f44
EB
980 * tree-data-ref.c (debug_data_references,
981 debug_data_dependence_relations, debug_data_reference,
982 debug_data_dependence_relation, debug_rdg_vertex,
24e47c76
JH
983 debug_rdg_component, debug_rdg): Likewise.
984 * tree-affine.c (debug_aff): Likewise.
18fc5f44
EB
985 * tree-dfa.c (debug_referenced_vars, debug_variable, debug_dfa_stats):
986 Likewise.
24e47c76
JH
987 * except.c (debug_eh_tree, verify_eh_tree): Likewise.
988 * emit-rtl.c (verify_rtl_sharing): Likewise.
989 * tree-ssa-pre.c (debug_pre_expr, debug_bitmap_set,
990 debug_value_expressions): Likewise.
991 * tree-ssa-live.c (debug_scope_block, debug_scope_blocks): Likewise.
992 * sese.c (debug_rename_map, debug_ivtype_map): Likewise.
993 * print-tree.c (debug_tree, debug_vec_tree): Likewise.
994 * cfglayout.c (verify_insn_chain): Likewise.
995 * graphite-clast-to-gimple.c (debug_clast_name_indexes,
996 debug_clast_stmt, debug_generated_program): Likewise.
997 * ggc-page.c (debug_print_page_list): Likewise.
998 * tree-ssa-ter.c (debug_ter): Likewise.
999 * graphite-dependences.c (debug_pddr): Likewise.
1000 * sched-deps.c (debug_ds): Likewise.
1001 * tree-ssa.c (verify_ssa): Likewise.
1002 * graphite-poly.c (debug_scattering_function, debug_iteration_domain,
1003 debug_scattering_functions, debug_iteration_domains, debug_pdr,
18fc5f44
EB
1004 debug_pdrs, debug_pbb_domain, debug_pbb, debug_scop_context,
1005 debug_scop, debug_cloog, debug_scop_params, debug_lst): Likewise.
24e47c76
JH
1006 * tree-inline.c (debug_find_tree): Likewise.
1007 * graphite-ppl.c (debug_ppl_linear_expr, debug_ppl_polyhedron_matrix,
1008 debug_ppl_powerset_matrix): Likewise.
1009 * var-tracking.c (debug_dv): Likewise.
1010 * system.h (DEBUG_FUNCTION, DEBUG_VARIABLE): Define.
1011 * cfgloop.c (verify_loop_structure): Likewise.
1012 * plugin.c (dump_active_plugins, debug_active_plugins): Likewise.
1013 * c-common.c (verify_sequence_points): Likewise.
1014 * sched-rgn.c (debug_regions, debug_region, debug_candidate,
1015 debug_candidates, debug_rgn_dependencies): Likewise.
1016 * tree-ssa-structalias.c (debug_constraint, debug_constraints,
1017 * debug_constraint_graph, debug_solution_for_var,
1018 debug_sa_points_to_info): Likewise.
1019 * sched-vis.c (debug_insn_slim, debug_bb_slim, debug_bb_n_slim):
1020 Likewie.
1021 * tree-cfg.c (debug_cfg_stats, verify_stmts, debug_function,
1022 debug_loops, debug_loop, debug_loop_num): Likewise.
1023 * passes.c (debug_pass): Likewise.
1024 (dump_properties): Likewise; add cfglayout property.
1025 (debug_properties): Likewise.
1026 * tree-ssa-reassoc.c (debug_ops_vector): Likewise.
1027 * varpool.c (debug_varpool): Likewise.
1028 * regcprop.c (debug_value_data): Likewise.
1029 * tree-ssa-operands.c (verify_imm_links, debug_immediate_uses,
1030 debug_immediate_uses_for): Likewise.
1031
f9897dfa
L
10322010-05-29 H.J. Lu <hongjiu.lu@intel.com>
1033
1034 PR bootstrap/44315
1035 * Makefile.in (build/gencondmd.o): Remove TM_H := $(GTM_H).
1036 Filter out insn-flags.h.
1037
9eec9488
JH
10382010-05-29 Jan Hubicka <jh@suse.cz>
1039
1040 * cgraph.h (struct varpool_node_set_def,
1041 struct cgraph_node_set_def): Remove unused AUX pointer.
1042 (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p): Use
1043 VEC_empty macro.
1044
eb598ce6
JH
10452010-05-29 Jan Hubicka <jh@suse.cz>
1046
1047 PR middle-end/44324
1048 * ipa-cp.c (ipcp_insert_stage): Replace "clone" by "constprop".
1049
1be8f484
RG
10502010-05-29 Richard Guenther <rguenther@suse.de>
1051
1052 * lto-streamer.c (cached_bp): New global variable.
1053 (bitpack_create): Return the cached bitpack, if available.
1054 (bitpack_delete): Clear and cache the bitpack, if appropriate.
1055 (bp_pack_value): Remove redundant asserts.
1056
0247298c
SP
10572010-05-29 Sebastian Pop <sebastian.pop@amd.com>
1058
1059 PR middle-end/44306
1060 * tree-if-conv.c (is_true_predicate): New.
1061 (is_predicated): Use is_true_predicate.
1062 (add_to_predicate_list): Same. Do not use unshare_expr.
1063 (add_to_dst_predicate_list): Same.
1064
32ccbfac
SP
10652010-05-29 Sebastian Pop <sebastian.pop@amd.com>
1066
1067 * tree-if-conv.c (add_to_dst_predicate_list): Do not use the ->aux
1068 field on edges.
1069 (predicate_bbs): Same.
1070 (clean_predicate_lists): Same.
1071 (find_phi_replacement_condition): Do not AND the predicate from
1072 edge->aux.
1073
a41021ce
L
10742010-05-29 H.J. Lu <hongjiu.lu@intel.com>
1075
1076 PR bootstrap/44315
1077 * Makefile.in (build/gencondmd.o): Add a missing `\'.
1078
bbd07239
JDA
10792010-05-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1080
1081 PR target/44261
1082 config/pa/pa.md (negdf2_slow, negsf2_slow): New patterns.
1083 (negdf2): Adjust expander pattern and use negdf2_slow.
1084 (negsf2): Likewise.
1085
25efe060
NF
10862010-05-29 Nathan Froyd <froydnj@codesourcery.com>
1087
18fc5f44
EB
1088 * basic-block.h (struct control_flow_graph): Move last_label_uid field
1089 up.
25efe060
NF
1090 * df.h (struct df_base_ref): Move regno field up.
1091 * dwarf2out.c (struct dw_fde_struct): Move funcdef_number field down.
1092 * expr.h (struct separate_ops): Move location field up.
1093 * optabs.h (struct optab_d): Move libcall_basename field down.
1094 * config/i386/i386.c (struct ix86_frame): Move red_zone_size up.
1095 * config/i386/i386.h (struct machine_function): Convert call_abi field
1096 into a bitfield. Move cfa field to the end of the structure.
1097
4cceafb8
JH
10982010-05-29 Jan Hubicka <jh@suse.cz>
1099
1100 * varpool.c (varpool_get_node): Fix lookup.
1101
65ea7e28
SB
11022010-05-29 Steven Bosscher <steven@gcc.gnu.org>
1103
1104 * config/spu/spu-protos.h: Do not include rtl.h. Protect
1105 RTL specific prototypes with #ifdef RTX_CODE.
1106 * config/spu/spu-c.c: Include c-common.h instead of c-tree.h.
1107 * config/spu/t-spu-elf: Fix dependencies.
1108
1a86e236
SB
1109 * config/t-darwin (darwin-c.o): Remove C_TREE_H dependency.
1110
d03a97e1
MS
11112010-05-29 Mike Stump <mikestump@comcast.net>
1112
a41021ce 1113 PR bootstrap/44315
d03a97e1
MS
1114 * Makefile.in (build/gencondmd.o): Be sure to use GTM_H instead of
1115 TM_H when building to avoid dependency loops.
1116
f0c418dc
JH
11172010-05-29 Jan Hubicka <jh@suse.cz>
1118
54da01d2
MS
1119 * cgraphunit.c (cgraph_materialize_clone): Only remove calles,
1120 refs and body; not the whole node for masters of materialized
1121 clones.
f0c418dc 1122
5c5543af
MS
11232010-05-29 Mike Stump <mikestump@comcast.net>
1124
1125 * config/rs6000/rs6000-c.c: Remove c-tree.h include.
1126
036546e5
JH
11272010-05-29 Jan Hubicka <jh@suse.cz>
1128
1129 * cgraph.c (clone_function_name): Take SUFFIX argument; export.
1130 (cgraph_create_virtual_clone): Take SUFFIX argument; udpate
1131 use of clone_function_name.
308e51aa 1132 * cgraph.h (cgraph_create_virtual_clone,
036546e5
JH
1133 cgraph_function_versioning): update prototypes.
1134 (clone_function_name): Declare.
1135 * ipa-cp.c (ipcp_insert_stage): Update call of
1136 cgraph_create_virtual_clone.
1137 * omp-low.c (create_omp_child_function_name): Use
1138 cgraph_create_virtual_clone.
1139 * cgraphunit.c (cgraph_copy_node_for_versioning): Fix edges updating.
1140 (cgraph_function_versioning): Take SUFFIX argument; produce new name
1141 and make decl local.
1142
3e097227
SB
11432010-05-29 Steven Bosscher <steven@gcc.gnu.org>
1144
1145 * vec.h: Include statistics.h
1146 * Makefile.in: Introduce VEC_H. Replace all vec.h dependencies
1147 with VEC_H.
1148
accf9ad6
SB
11492010-05-29 Steven Bosscher <steven@gcc.gnu.org>
1150
1151 * c-lex.c: Do not include c-tree.h.
1152 * c-pretty-print.c: Likewise.
1153 * c-opts.c: Likewise.
1154 * c-gimplify.c: Likewise.
1155 * c-common.c: Likewise.
1156 * c-dump.c: Likewise. Include c-common.h.
1157
59cc9210
SB
11582010-05-29 Steven Bosscher <steven@gcc.gnu.org>
1159
1160 * c-common.h (GCC_DIAG_STYLE): Define earlier in the file,
1161 before including diagnostic-core.h.
1162 (c_cpp_error): New prototype moved from c-tree.h.
1163 Use ATTRIBUTE_GCC_DIAG instead of ATTRIBUTE_GCC_CDIAG.
1164 * c-tree.h (ATTRIBUTE_GCC_CDIAG): Remove define.
1165 (pedwarn_c90, perwarn_c99): Use ATTRIBUTE_GCC_DIAG instead.
1166 (c_cpp_error): Prototype moved to c-common.h.
1167 * Makefile.in: Update dependency for C_COMMON_H.
1168
bffad7f1
SB
11692010-05-29 Steven Bosscher <steven@gcc.gnu.org>
1170
1171 * c-common.h: Add FIXME for awkward split of c_register_addr_space.
1172 * c-common.c (c_register_addr_space): Remove here.
1173 * c-decl.c (c_register_addr_space): Re-add here.
1174
d685a689
MS
11752010-05-28 Mike Stump <mikestump@comcast.net>
1176
1177 * config/darwin-c.c: Remove c-tree.h include.
1178
6afbc885
JM
11792010-05-28 Joseph Myers <joseph@codesourcery.com>
1180
1181 * gcc.c: Include diagnostic.h.
1182 (error_count): Remove. All users changed to use errorcount.
1183 (programname): Remove. All users changed to use progname.
1184 (fancy_abort, internal_error, fatal_error, error, warning, inform,
1185 fnotice): Remove.
1186 (execute): Don't include "Internal error" and bug reporting
1187 information in argument of internal_error call.
1188 (process_command): Don't increment error_count after calling
1189 perror_with_name.
1190 (input_filename): Rename to gcc_input_filename. All users
1191 changed.
1192 (main): Call diagnostic_initialize. Register delete_temp_files
1193 with atexit. Use seen_error to test for errors.
1194 * gcc.h: Include diagnostic-core.h.
1195 (fatal_error, error, warning): Remove.
1196 * Makefile.in (GCC_H): Add $(DIAGNOSTIC_CORE_H).
1197 (GCC_OBJS): Add diagnostic.o, pretty-print.o and input.o.
1198 (gcc.o): Update dependencies.
1199
bdf0eb06
JL
12002010-05-28 Jeff Law <law@redhat.com>
1201
0896cc66
JL
1202 * ira.c (ira_bad_reload_regno, ira_build_reload_regno_1): New
1203 functions.
1204 * ira.h (ira_bad_reload_regno): Declare
1205 * reload1.c (allocate_reload_reg): Use ira_bad_reload_regno.
1206
bdf0eb06
JL
1207 * ira-color.c (update_curr_costs): Free updated hard reg costs.
1208 (ira_reassign_conflict_allocnos): Remove bogus asserts.
1209 (allocno_reload_assign): Likewise.
1210
4a73490d
NF
12112010-05-28 Nathan Froyd <froydnj@codesourcery.com>
1212
1213 * tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of
1214 build1_stat.
1215
86561bb6
RG
12162010-05-28 Richard Guenther <rguenther@suse.de>
1217
1218 PR lto/44312
1219 * lto-streamer-in.c (unpack_ts_fixed_cst_value_fields):
1220 Stream fixed-point constants mode.
1221 (unpack_ts_type_value_fields): Fix width of TYPE_MODE
1222 and TYPE_PRECISION.
1223 * lto-streamer-out.c (pack_ts_fixed_cst_value_fields):
1224 Stream fixed-point constants mode.
1225 (pack_ts_function_decl_value_fields): Fix width of TYPE_MODE
1226 and TYPE_PRECISION.
1227
0a74c758
SP
12282010-05-28 Sebastian Pop <sebastian.pop@amd.com>
1229
1230 * tree-scalar-evolution.c (set_nb_iterations_in_loop): Inlined in the
1231 only place it was called from.
1232 (number_of_latch_executions): Do not return chrec_dont_know when the
1233 may_be_zero is a runtime condition: instead, return a COND_EXPR
1234 including the may_be_zero condition.
1235 * cfgloop.h (struct loop): Add a note on COND_EXPRs to the comment
1236 of nb_iterations.
1237 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Handle
1238 COND_EXPRs.
1239
e7cb8957
SP
12402010-05-28 Sebastian Pop <sebastian.pop@amd.com>
1241
1242 * tree-if-conv.c (replace_phi_with_cond_gimple_assign_stmt): Don't
1243 generate COND_EXPRs for degenerate_phi_result.
1244
d10e857e
SP
12452010-05-28 Sebastian Pop <sebastian.pop@amd.com>
1246
1247 PR middle-end/44293
1248 * tree-if-conv.c (if_convertible_loop_p): Check the
1249 if-convertibility of phi nodes in non predicated BBs.
1250
6cffd02a
JM
12512010-05-28 Joseph Myers <joseph@codesourcery.com>
1252
1253 * gcc.c (error, warning, inform): Remove duplicate ": " in output.
1254
2dec80c7
JM
12552010-05-28 Joseph Myers <joseph@codesourcery.com>
1256
1257 PR driver/15303
1258 * gcc.c (inform, warning, inform): New functions.
1259 (fatal_ice): Rename to internal_error; change cmsgid parameter to
1260 gmsgid. All callers changed.
1261 (notice): Rename to fnotice; add parameter fp. All callers
1262 changed.
1263 (fatal_error): Rename to fatal_signal. All users changed.
1264 (fatal): Rename to fatal_error; change cmsgid parameter to
1265 gmsgid. All callers changed.
1266 (process_command): Use warning instead of error for warnings.
1267 (end_going_arg): Don't use _() around argument of error.
1268 (do_spec_1): Use inform for message from %n specs. Use warning
1269 instead of error for warnings.
1270 (main): Use inform for comparison messages. Use warning for
1271 message about unused linker input.
1272 (error): Increment error_count. Print "error: ".
1273 * gcc.h (fatal): Change to fatal_error.
1274 (warning): Declare.
1275 * config/darwin-driver.c (darwin_default_min_version): Use warning
1276 instead of fprintf for warnings.
1277 * cppspec.c (lang_specific_driver): Use fatal_error instead of
1278 fatal.
1279
dcd8b2ee
JB
12802010-05-28 Julian Brown <julian@codesourcery.com>
1281
1282 * config/arm/thumb2.md (*thumb2_addsi3_compare0): New.
1283 (*thumb2_addsi3_compare0_scratch): New.
1284 * config/arm/constraints.md (Pv): New.
1285 * config/arm/arm.md (*addsi3_compare0): Remove FIXME comment. Use
1286 for ARM mode only.
1287 (*addsi3_compare0_scratch): Likewise.
1288
df24c2b8
JH
12892010-05-28 Jan Hubicka <jh@suse.cz>
1290
6c608111
EB
1291 * ipa-reference.c (add_static_var): Remove redundant all_module_statics
1292 check.
1293 (ipa_reference_write_optimization_summary): Call is_proper_for_analysis
1294 only on local statics.
df24c2b8 1295
c3a9a336
IS
12962010-05-28 Iain Sandoe <iains@gcc.gnu.org>
1297
308e51aa 1298 * config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.
c3a9a336 1299
47089d42
MK
13002010-05-28 Maxim Kuvyrkov <maxim@codesourcery.com>
1301
1302 PR bootstrap/44314
1303 * config/alpha/linux.h, config/rs6000/linux.h, config/rs6000/linux64.h
1304 (OPTION_GLIBC): Define.
1305
005d613b
JJ
13062010-05-28 Jakub Jelinek <jakub@redhat.com>
1307
cced5e7f
JJ
1308 PR debug/41048
1309 * dwarf2out.c (double_int_type_size_in_bits): New function.
1310 (round_up_to_align): Change first argument and return value to
1311 double_int.
1312 (field_byte_offset): Work internally on double_ints.
1313
005d613b
JJ
1314 PR target/43636
1315 * builtins.c (expand_movstr): Use a temporary pseudo instead
1316 of target even when target is not NULL and not const0_rtx, but
1317 fails movstr predicate.
1318 * config/m32c/blkmov.md (movstr): Add predicate to first operand.
1319
7ca92787
JM
13202010-05-28 Joseph Myers <joseph@codesourcery.com>
1321
1322 * final.c (rest_of_clean_state): Use %m in errors instead of
1323 strerror (errno).
1324 * gengtype.c (read_input_list, close_output_files): Use xstrerror
1325 instead of strerror.
1326 * toplev.c (process_options): Use %m in errors instead of strerror
1327 (errno).
1328 * tree-dump.c (dump_begin): Use %m in errors instead of strerror
1329 (errno).
1330
8bf85f21
UB
13312010-05-28 Uros Bizjak <ubizjak@gmail.com>
1332
1333 * config/i386/i386.c (ix86_fn_abi_va_list): Make static.
1334 (ix86_canonical_va_list_type): Make static. Add declaration.
1335 (ix86_enum_va_list): Make static. Reindent.
1336 * config/i386/i386-protos.h (ix86_fn_abi_va_list): Remove declaration.
1337 (ix86_canonical_va_list_type): Ditto.
1338 (ix86_enum_va_list): Ditto.
1339
b5611987
RG
13402010-05-28 Richard Guenther <rguenther@suse.de>
1341
1342 * lto-wrapper.c (run_gcc): With -save-temps generate a
1343 user-visible ltrans filename. Fixup ltrans unit numbering.
1344
40dcd88b
KT
13452010-05-28 Kai Tietz <kai.tietz@onevision.com>
1346
d4048208
KT
1347 * c-common.c (c_common_nodes_and_builtins): Replace use
1348 of TARGET_ENUM_VA_LIST by target hook enum_va_list.
1349 * config/i386/i386.c (TARGET_ENUM_VA_LIST_P): Hook
1350 to ix86_enum_va_list.
1351 * config/i386/i386.h (TARGET_ENUM_VA_LIST): Removed.
1352 * doc/tm.texi (TARGET_ENUM_VA_LIST): Removed.
1353 (TARGET_ENUM_VA_LIST_P): Add hook description.
1354 * target-def.h (TARGET_ENUM_VA_LIST_P): Added.
1355 * target.h (gcc_target): Add enum_va_list hook.
1356
40dcd88b
KT
1357 PR bootstrap/44299
1358 * config/i386/t-cygming: Adjust header dependencies for winnt-cxx.c.
1359 * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Remove undefine.
1360 * config/i386/winnt.c (IN_GCC_FRONTEND): Likewise.
1361
1cb980a2
AM
13622010-05-28 Alan Modra <amodra@gmail.com>
1363
1364 PR target/44266
1365 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
1366 emit_library_call machinery to set up __tls_get_addr calls.
1367
b247e88a
AK
13682010-05-28 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1369
1370 * config/s390/s390.md (movqi): Fix typo ('*' -> '#').
1371
ec4be2f4
DS
13722010-05-28 Dodji Seketeli <dodji@redhat.com>
1373
6c608111 1374 Revert fix for PR c++/44188
ec4be2f4
DS
1375 * c-common.c (is_typedef_decl): Revert the moving of this
1376 definition ...
1377 * tree.c (is_typedef_decl): ... here.
1378 (typdef_variant_p): Revert the moving of this definition
1379 here from gcc/cp/tree.c.
1380 * c-common.h (is_typedef_decl): Revert the moving of this
1381 declaration ...
1382 * tree.h (is_typedef_decl): ... here.
1383 (typedef_variant_p): Revert the moving of this declaration here
1384 from gcc/cp/cp-tree.h
1385 * dwarf2out.c (is_naming_typedef_decl): Revert this new function.
1386 (gen_tagged_type_die): Revert the splitting out of ...
1387 (gen_type_die_with_usage): ... this function. Revert the anonymous
1388 tagged type handling.
1389 (gen_typedef_die): Revert emitting DW_TAG_typedef for
1390 typedefs naming anonymous tagged types.
1391
3fe7b63c
SB
13922010-05-28 Segher Boessenkool <segher@kernel.crashing.org>
1393
1394 * config/rs6000/rs6000-modes.def (PSImode): Delete.
1395
f6b5d695
SB
13962010-05-28 Segher Boessenkool <segher@kernel.crashing.org>
1397
1398 * config/rs6000/constraints.md ("z" constraint): Change to CA_REGS.
1399 * config/rs6000/predicates.md: Change XER_REGNO_P to CA_REGNO_P
1400 throughout.
1401 * config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Change
1402 "xer" to "ca".
1403 Change XER_REGNO_P to CA_REGNO_P, XER_REGNO to CA_REGNO, and
1404 XER_REGS to CA_REGS throughout.
1405 * config/rs6000/rs6000.h: Same.
1406 (ADDITIONAL_REGISTER_NAMES): Add "xer".
1407 * config/rs6000/rs6000.md: Change XER_REGNO to CA_REGNO. Document
1408 that mode_iterator "P" is the size for arithmetic carries as well.
1409 * doc/md.texi (rs6000 section, "z" constraint): Fix documentation.
1410
47027bf3
JJ
14112010-05-28 Jakub Jelinek <jakub@redhat.com>
1412
1413 PR bootstrap/44255
1414 * combine.c (struct rtx_subst_pair): Define unconditionally.
1415 (propagate_for_debug_subst): Likewise. If not AUTO_INC_DEC,
1416 copy_rtx pair->to instead of cleanup_auto_inc_dec it.
1417 Call make_compound_operation on pair->to.
1418 (propagate_for_debug): Don't call make_compound_operation here.
1419 Always use simplify_replace_fn_rtx.
1420
14212010-05-27 Sterling Augustine <sterling@tensilica.com>
1b408ba1
SA
1422
1423 * doc/invoke.texi (xtensa options): Add -mforce-no-pic.
1424 * config/xtensa/xtensa.c (override_options): Check
1425 TARGET_FORCE_NO_PIC and set flag_pic.
1426 * config/xtensa/xtensa.opt: Document -mforce-no-pic
1427
14282010-05-27 Kai Tietz <kai.tietz@onevision.com>
1429
0bc25dd0
KT
1430 PR bootstrap/44299
1431 * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
1432 * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
1433
1da2ed5f
JM
14342010-05-27 Joseph Myers <joseph@codesourcery.com>
1435
1436 * diagnostic-core.h: New. Contents moved from diagnostic.h and
1437 toplev.h.
1438 * diagnostic.c: Don't include toplev.h.
1439 (progname): Define. Moved from toplev.c.
1440 (seen_error): New function.
1441 * diagnostic.h: Include diagnostic-core.h.
1442 (diagnostic_t, emit_diagnostic): Don't declare here.
1443 * toplev.c (progname): Move to toplev.c.
1444 (emit_debug_global_declarations, compile_file, finalize,
1445 do_compile, toplev_main): Use seen_error.
1446 * toplev.h: Include diagnostic-core.h.
1447 (trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
1448 internal_error, warning, warning_at, error, error_n, error_at,
1449 fatal_error, pedwarn, permerror, sorry, inform, inform_n,
1450 verbatim, fnotice, progname): Move to diagnostic-core.h.
1451 * builtins.c: Include diagnostic-core.h instead of diagnostic.h.
1452 (expand_builtin_expect): Use seen_error.
1453 * c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
1454 (c_make_fname_decl, c_write_global_declarations): Use seen_error.
1455 * c-format.c: Include diagnostic-core.h instead of diagnostic.h.
1456 * c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
1457 * c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
1458 * c-lex.c (c_lex_with_flags, interpret_float): Don't increment
1459 errorcount for errors.
1460 * c-opts.c (c_common_finish): Use seen_error.
1461 * cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
1462 * cgraphunit.c (verify_cgraph_node, verify_cgraph,
1463 cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
1464 * coverage.c: Include diagnostic-core.h instead of diagnostic.h.
1465 (get_coverage_counts): Use seen_error.
1466 * dwarf2out.c (dwarf2out_finish): Use seen_error.
1467 * gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
1468 gimplify_body): Use seen_error.
1469 * ipa-inline.c (cgraph_early_inlining): Use seen_error.
1470 * ipa-pure-const.c (gate_pure_const): Use seen_error.
1471 * ipa-reference.c (gate_reference): Use seen_error.
1472 * jump.c: Include diagnostic-core.h instead of diagnostic.h.
1473 * lambda-code.c: Include diagnostic-core.h instead of
1474 diagnostic.h.
1475 * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
1476 * lto-compress.c: Include diagnostic-core.h instead of
1477 diagnostic.h.
1478 * lto-section-in.c: Include diagnostic-core.h instead of
1479 diagnostic.h.
1480 * lto-streamer-out.c: Include diagnostic-core.h instead of
1481 diagnostic.h.
1482 * lto-streamer.c: Include diagnostic-core.h instead of
1483 diagnostic.h.
1484 (gate_lto_out): Use seen_error.
1485 * matrix-reorg.c: Include diagnostic-core.h instead of
1486 diagnostic.h.
1487 * omega.c: Include diagnostic-core.h instead of diagnostic.h.
1488 * omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
1489 (gate_expand_omp, lower_omp_1): Use seen_error.
1490 * passes.c: Include diagnostic-core.h instead of diagnostic.h.
1491 (rest_of_decl_compilation, rest_of_type_compilation,
1492 gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
1493 * tree-cfg.c (label_to_block_fn): Use seen_error.
1494 * tree-inline.c (optimize_inline_calls): Use seen_error.
1495 * tree-mudflap.c (mudflap_finish_file): Use
1496 seen_error.
1497 * tree-optimize.c (gate_all_optimizations,
1498 gate_all_early_local_passes, gate_all_early_optimizations): Use
1499 seen_error.
1500 * tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
1501 * varpool.c: Include diagnostic-core.h instead of diagnostic.h.
1502 (varpool_remove_unreferenced_decls,
1503 varpool_assemble_pending_decls): Use seen_error.
1504 * Makefile.in (DIAGNOSTIC_CORE_H): Define.
1505 (TOPLEV_H, DIAGNOSTIC_H): Update.
1506 (c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
1507 lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
1508 c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
1509 builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
1510 coverage.o, lambda-code.o): Update dependencies.
1511
fe08ec12
DS
15122010-05-25 Dodji Seketeli <dodji@redhat.com>
1513
1514 PR c++/44188
1515 * c-common.c (is_typedef_decl): Move this definition ...
1516 * tree.c (is_typedef_decl): ... here.
1517 (typdef_variant_p): Move definition here from gcc/cp/tree.c.
1518 * c-common.h (is_typedef_decl): Move this declaration ...
1519 * tree.h (is_typedef_decl): ... here.
1520 (typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
1521 * dwarf2out.c (is_naming_typedef_decl): New function.
1522 (gen_tagged_type_die): Split out of ...
1523 (gen_type_die_with_usage): ... this function. When an anonymous
1524 tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
1525 is emitted for the typedef.
1526 (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
1527 anonymous tagged types.
1528
b042534c
JM
15292010-05-27 Jason Merrill <jason@redhat.com>
1530
1531 * print-tree.c (debug_vec_tree): New fn.
1532 (print_vec_tree): New fn.
1533 * tree.h: Declare them.
1534 * gdbinit.in (pvt): New command.
1535
1536 * print-tree.c (print_node) [TREE_VEC]: Print elements normally.
1537
1538 * gdbinit.in (pdd): New command.
1539
cdc029b9
JH
15402010-05-27 Jan Hubicka <jh@suse.cz>
1541
1542 * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
1543 (update_caller_keys): Return early if there are no callers;
1544 only update fibheap when decresing the key.
1545 (update_callee_keys): Avoid recursion.
1546 (decide_inlining_of_small_functions): When badness does not match;
1547 re-insert into fibheap.
1548
7a3b4887
SB
15492010-05-27 Steven Bosscher <steven@gcc.gnu.org>
1550
1551 * Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
1552 (ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
1553 (ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
1554 (ALL_HOST_OBJS): Now a union of the above two.
1555 <section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
1556 all files in ALL_HOST_FRONTEND_OBJS.
1557 * system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
1558
1559 * c-common.c: Pretend to be a backend file by undefining
1560 IN_GCC_FRONTEND (still need rtl.h here).
1561
753d358d
JH
15622010-05-27 Jan Hubicka <jh@suse.cz>
1563
1564 * cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
1565 * cgraphunit.c (clone_of_p): Compile only when checking is enabled.
1566
88302d54
JH
15672010-05-27 Jan Hubicka <jh@suse.cz>
1568
1569 * sched-ebb.c: Rename struct deps to struct deps_desc.
1570 * ddg.c: Likewise.
1571 * sel-sched-ir.c: Likewise.
1572 * sched-deps.c: Likewise.
1573 * sched-int.h: Likewise.
1574 * sched-rgn.c: Likewise.
1575
15762010-05-27 Jon Beniston <jon@beniston.com>
9bb81453
JB
1577
1578 PR 43726
308e51aa 1579 * config/lm32/lm32.h: Remove definition of
9bb81453
JB
1580 GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
1581
7951d88a
EB
15822010-05-27 Eric Botcazou <ebotcazou@adacore.com>
1583
1584 PR lto/44230
1585 * dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
1586
fde9c428
RG
15872010-05-27 Richard Guenther <rguenther@suse.de>
1588
1589 PR tree-optimization/44284
1590 * tree-vect-stmts.c (vectorizable_assignment): Handle
1591 sign-changing conversions as simple copy.
1592
3714764d
MK
15932010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
1594
1595 * gthr-posix.h (pthread_cancel): Don't declare if compiling against
1596 Bionic C library.
1597 (__gthread_active_p): Check for pthread_create if compiling against
1598 Bionic C library.
1599
51b9db92
MK
16002010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
1601
1602 Support compilation for Android platform. Reimplement -mandroid.
1603
1604 * config.gcc (*linux*): Include linux-android.h and linux-android.opt.
1605 (*android*): Set ANDROID_DEFAULT.
1606 (arm*-*-linux*): Include linux-android.h.
1607 (arm*-*-eabi*): Don't include previous -mandroid implementation.
1608 * config/arm/eabi.h: Remove, move Android-specific parts ...
1609 * config/linux-android.h: ... here. New file.
1610 * config/arm/eabi.opt: Rename to ...
1611 * config/linux-android.opt: ... this.
1612 (mandroid): Allow -mno-android option. Initialize based on
1613 ANDROID_DEFAULT.
1614 * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC):
1615 Move logic to corresponding LINUX_TARGET_* macros.
1616 (TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate.
1617 * config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,)
1618 (STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and
1619 Android definitions.
1620 (LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID.
1621 * doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld):
1622 Document.
1623
74c70253
MK
16242010-05-27 Maxim Kuvyrkov <maxim@codesourcery.com>
1625
1626 Add support for Bionic C library
1627
1628 * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
1629 macro.
1630 (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
1631 (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
1632
1633 * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
1634 (LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
1635 (CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
1636 to support multiple C libraries. Handle Bionic.
1637 (BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
1638 (BIONIC_DYNAMIC_LINKER64): Define.
1639 (LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
1640 Update.
1641 (TARGET_HAS_SINCOS): Enable for Bionic.
1642
1643 * config/linux.opt: Rewrite to handle more than 2 C libraries. Make
1644 the last option specified on command line take effect.
1645 (linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
1646 (mbionic): New.
1647 (mglibc, muclibc): Update.
1648
1649 * config/alpha/linux-elf.h, config/rs6000/linux64.h,
1650 * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
1651 DEFAULT_LIBC.
1652
1653 * doc/invoke.texi (-mglibc, -muclibc): Update.
1654 (-mbionic): Document.
1655
3ef0694c
UW
16562010-05-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1657
1658 * c-common.h (c_register_addr_space): Add prototype.
1659 (ADDR_SPACE_KEYWORD): Remove.
1660 * c-common.c (c_register_addr_space): New function.
1661 (c_addr_space_name): Reimplement.
1662 (c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS.
1663
1664 * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
1665 (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
1666
1667 * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
1668 Remove TARGET_ADDR_SPACE_KEYWORDS.
1669
447924ef
JM
16702010-05-27 Joseph Myers <joseph@codesourcery.com>
1671
1672 * input.c: New file.
1673 * input.h (main_input_filename): Move declaration to toplev.h.
1674 * toplev.c (input_location, line_table): Move to input.c
1675 * toplev.h (main_input_filename): Move declaration from input.h.
1676 * tree.c (expand_location): Move to input.c.
1677 * Makefile.in (OBJS-common): Add input.o.
1678 (input.o): Add dependencies.
1679
62116e60
RG
16802010-05-27 Richard Guenther <rguenther@suse.de>
1681
1682 * lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
1683 for non-existant files.
1684 (fork_execute): Mark args_name file as deleted.
1685
64c31785
KT
16862010-05-27 Kai Tietz <kai.tietz@onevision.com>
1687
1688 PR bootstrp/44287
1689 * c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
1690 (narrow_signed_type): Likewise.
1691
e466e2ce
JH
16922010-05-26 Jan Hubicka <jh@suse.cz>
1693
1694 * cgraphunit.c (verify_cgraph_node): Do checking that DECL match
1695 edge only when checking is enabled; check using former_clone_of;
1696 check inline clones too.
1697 (cgraph_materialize_clone): Record former_clone_of pointer.
1698 (cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not
1699 combining redirections; dump args_to_skip bitmap
1700 (cgraph_materialize_all_clones): Do no redirection here.
1701 * ipa-inline.c (inline_transform): Do redirection here.
1702 * cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled
1703 cheking only).
1704
e62d5d9f
SB
17052010-05-26 Steven Bosscher <steven@gcc.gnu.org>
1706
1707 * config/avr/avr-c.c: Do not include regs.h.
1708 Include cpplib.h for cpp_define and tree.h for c-common.h.
1709 * config/avr/avr-devices.c (avr_mcu_types): Fix initializer.
1710 * config/avr/t-avr: Fix dependencies for avr-c.o.
1711
d477d1fe
SB
17122010-05-26 Steven Bosscher <steven@gcc.gnu.org>
1713
1714 * explow.c (set_stack_check_libfunc): Adjust to accept name as a
1715 string instead of SYMBOL_REF rtx.
1716 * rtl.h (set_stack_check_libfunc): Move prototype from here...
1717 * libfuncs.h: ...to here. Adjust for explow.c change.
1718
ab9b814d
JM
17192010-05-26 Joseph Myers <joseph@codesourcery.com>
1720
1721 * pretty-print.c: Don't include ggc.h.
1722 (identifier_to_locale_alloc, identifier_to_locale_free): Define.
1723 (identifier_to_locale): Use them for allocation.
1724 * pretty-print.h (identifier_to_locale_alloc,
1725 identifier_to_locale_free): Declare.
1726 * toplev.c (alloc_for_identifier_to_locale): New.
1727 (general_init): Set identifier_to_locale_alloc and
1728 identifier_to_locale_free.
1729 * Makefile.in (pretty-print.o): Update dependencies.
1730
c9549072
EB
17312010-05-26 Eric Botcazou <ebotcazou@adacore.com>
1732
1733 * gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
1734 pointer types if they have different alignment or mode.
1735
bf44d792
AS
17362010-05-26 Anatoly Sokolov <aesok@post.ru>
1737
1738 * config/sparc/sparc.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
1739 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
1740 * config/sparc/sparc-protos.h (function_value): Remove declaration.
1741 * config/sparc/sparc.c (sparc_function_value, sparc_libcall_value,
1742 sparc_function_value_regno_p): New functions.
1743 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
1744 TARGET_FUNCTION_VALUE_REGNO_P): Define.
1745 (function_value): Rename to...
1746 (sparc_function_value_1): ... this. Make static. Change 'incoming_p'
1747 argument to 'outgoing'.
1748 (function_arg_record_value, function_arg_union_value,
1749 function_arg_vector_value): Update comment.
1750
4ad2e1ec
EB
17512010-05-26 Eric Botcazou <ebotcazou@adacore.com>
1752
1753 * dwarf2out.c (struct dw_fde_struct): Reorder flags.
1754 (fde_needed_for_eh_p): New predicate.
1755 (output_call_frame_info): Use it throughout to decide whether FDEs
1756 are needed for EH purpose.
1757 (dwarf2out_begin_prologue): Reorder assignments.
1758
4204425f
SP
17592010-05-26 Sebastian Pop <sebastian.pop@amd.com>
1760
1761 * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Do not
1762 special case loop->header.
1763 (is_predicated): New.
1764 (if_convertible_loop_p): Call it.
1765
e1449456
SP
17662010-05-26 Sebastian Pop <sebastian.pop@amd.com>
1767
1768 * tree-if-conv.c (add_to_dst_predicate_list): Do not pass a statemet
1769 iterator in parameter. Do not generate code during the analysis.
1770 (tree_if_convert_cond_stmt): Removed.
1771 (tree_if_convert_stmt): Removed.
1772 (predicate_bbs): New.
1773 (if_convertible_loop_p): Call predicate_bbs.
1774 (tree_if_conversion): Simplify the top-level logic as predicate_bbs
1775 now contains all the analysis part.
1776
76b84776
SP
17772010-05-26 Sebastian Pop <sebastian.pop@amd.com>
1778
1779 * tree-if-conv.c (tree_if_convert_cond_stmt): Do not remove
1780 statements in the analysis part.
1781 (tree_if_convert_stmt): Update comment.
1782 (remove_conditions_and_labels): New.
1783 (combine_blocks): Call remove_conditions_and_labels.
1784 (tree_if_conversion): Update comment.
1785
bc447143
SP
17862010-05-26 Sebastian Pop <sebastian.pop@amd.com>
1787
1788 * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
1789 than 2 predecessors or more than 2 successors.
1790
6d795034
SP
17912010-05-26 Sebastian Pop <sebastian.pop@amd.com>
1792
1793 * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
1794 of loops in which the data dependence analysis fails.
1795
d7309618
SP
17962010-05-26 Sebastian Pop <sebastian.pop@amd.com>
1797
1798 * tree-if-conv.c (if_convertible_loop_p): Do not compute/free
1799 CDI_POST_DOMINATORS.
1800 (tree_if_conversion): Same.
1801
7b371e73
SP
18022010-05-26 Sebastian Pop <sebastian.pop@amd.com>
1803
1804 * tree-if-conv.c (tree_if_conversion): Do not return a bool.
1805
4ab71973
SP
18062010-05-26 Sebastian Pop <sebastian.pop@amd.com>
1807
1808 * tree-if-conv.c: Update copyright years. Fix comments.
1809 Fix indentation.
1810
a6766312
KT
18112010-05-26 Kai Tietz <kai.tietz@onevision.com>
1812
1813 * builtin-types.def (BT_INT128): New primitive type.
1814 (BT_UINT128): Likewise.
1815 * c-common.c (c_common_r): Add __int128 keyword.
1816 (c_common_type_for_size): Handle __int128.
1817 (c_common_type_for_mode): Likewise.
1818 (c_common_signed_or_unsigned_type): Likewise.
1819 (c_common_nodes_and_builtins): Add builtin type
1820 if target supports 128-bit integer scalar.
1821 * c-common.h (enum rid): Add RID_INT128.
1822 * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
1823 if target supports 128-bit integer scalar.
ade52657 1824 * c-decl.c (declspecs_add_type): Handle new keyword __int128.
a6766312
KT
1825 (finish_declspecs): Likewise.
1826 * c-parser.c (c_token_starts_typename): Handle RID_INT128.
1827 (c_token_starts_declspecs): Likewise.
1828 (c_parser_declspecs): Likewise.
1829 (c_parser_attributes): Likewise.
1830 (c_parser_objc_selector): Likewise.
1831 * c-pretty-print.c (pp_c_integer_constant): Handle __int128.
1832 * c-tree.h (enum c_typespec_keyword): Add cts_int128.
1833 * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
1834 * tree.c (make_or_reuse_type): Likewise.
1835 (make_unsigned_type): Likewise.
1836 (build_common_tree_nodes_2): Likewise.
1837 * tree.h (enum integer_type_kind): Add itk_int128 and
1838 itk_unsigned_int128.
ade52657 1839 (int128_integer_type_node): New define.
a6766312 1840 (int128_unsigned_type_node): New define.
a6766312
KT
1841 * doc/extend.texi: Add documentation about __int128 type.
1842
880ad25f
RG
18432010-05-26 Richard Guenther <rguenther@suse.de>
1844
1845 * tree-ssa-sccvn.c (copy_nary): Adjust.
1846 (copy_phis): Rename to ...
1847 (copy_phi): ... this. Adjust.
1848 (copy_references): Rename to ...
1849 (copy_reference): ... this. Adjust.
1850 (process_scc): Use HTAB_FOR_EACH_ELEMENT to insert the
1851 result into the valid table.
1852
52642070
SB
18532010-05-26 Steven Bosscher <steven@gcc.gnu.org>
1854
1855 * config/spu/spu-c.c: Do not include function.h, rtl.h, expr.h,
1856 insn-config.h, insn-codes.h, recog.h, and optabs.h.
1857
58cd6303
LB
18582010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1859
ade52657 1860 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove.
58cd6303 1861
c3a02647
RG
18622010-05-26 Richard Guenther <rguenther@suse.de>
1863
1864 * opts.c (common_handle_option): Handle OPT_Ofast.
1865
5f0f4a3b
JM
18662010-05-26 Joseph Myers <joseph@codesourcery.com>
1867
1868 * diagnostic.c: Don't include opts.h.
1869 (permissive_error_option): Define.
1870 (diagnostic_initialize): Take n_opts parameter. Allocate memory
1871 for classify_diagnostic. Don't use memset for
1872 classify_diagnostic. Initialize new and recently added fields.
1873 (diagnostic_classify_diagnostic): Use context->n_opts instead of
1874 N_OPTS.
1875 (diagnostic_report_diagnostic): Pass context parameter to
1876 diagnostic_report_warnings_p. Use option_enabled and option_name
1877 hooks from context.
1878 (emit_diagnostic): Use permissive_error_option.
1879 (permerror): Likewise.
1880 * diagnostic.h: Don't include options.h.
1881 (struct diagnostic_context): Add n_opts, opt_permissive,
1882 inhibit_warnings, warn_system_headers, option_enabled and
1883 option_name fields. Change classify_diagnostic to a pointer.
1884 * opts-diagnostic.h: New file.
1885 * opts.c: Include opts-diagnostic.h.
1886 (common_handle_option): Set global_dc fields for -Wfatal-errors,
1887 -Wsystem-headers, -fshow-column, -pedantic-errors and -w.
1888 (option_name): New function.
1889 * c-opts.c (c_common_init_options): Set global_dc->opt_permissive.
1890 (c_common_handle_option): Set global_dc->permissive for
1891 -fpermissive.
1892 * c-common.c (c_cpp_error): Save and restore
1893 global_dc->warn_system_headers, not variable warn_system_headers.
1894 * toplev.c: Include opts-diagnostic.h.
1895 (general_init): Update call to diagnostic_initialize. Set
1896 global_dc->show_column, global_dc->option_enabled and
1897 global_dc->option_name.
1898 (process_options): Don't set global_dc fields here.
1899 * Makefile.in (DIAGNOSTIC_H): Remove options.h.
1900 (diagnostic.o, opts.o, toplev.o): Update dependencies.
1901
f024f85d
HS
19022010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
1903
1904 * config/picochip/picochip.md (movsi): Split a movsi from a
1905 const after reload.
1906
e4dfaf72
LB
19072010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1908
1909 * ggc-zone.c: Update copyright year.
1910 (poison_region): Mark memory for Valgrind as undefined before
1911 memset () call and inaccessible afterwards.
1912 (ggc_pch_total_size): Change type of i to int.
1913
19142010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1915
1916 * ggc-common.c (ggc_free_overhead): Allow empty slot.
1917
19182010-05-26 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1919
1920 * ggc-common.c: Update copyright year.
1921 (ggc_rlimit_bound): Remove prototype. Compile only if
1922 !ENABLE_GC_CHECKING && !ENABLE_GC_ALWAYS_COLLECT.
1923 (ggc_min_heapsize_heuristic): Compile only if !ENABLE_GC_CHECKING
1924 && !ENABLE_GC_ALWAYS_COLLECT. Make static.
1925 (ggc_min_heapsize_heuristic): Likewise.
1926
630d3fad
RG
19272010-05-26 Richard Guenther <rguenther@suse.de>
1928
1929 PR rtl-optimization/44164
1930 * tree-ssa-alias.c (aliasing_component_refs_p): Fix the
1931 no-common access-path disambiguation.
1932 (indirect_ref_may_alias_decl_p): Adjust.
1933 (indirect_refs_may_alias_p): Likewise.
1934 (refs_may_alias_p_1): Likewise.
1935
b9b6c084
SB
19362010-05-26 Steven Bosscher <steven@gcc.gnu.org>
1937
1938 * c-typeck.c: Do not include expr.h.
1939
d347d97e
SB
19402010-05-26 Steven Bosscher <steven@gcc.gnu.org>
1941
1942 * rtl.h (decl_default_tls_model): Move prototype from here...
1943 * output.h: ...to here.
1944 * c-decl.c: Do not include rtl.h.
1945 * c-pragma.c: Likewise.
1946 * c-parser.c: Likewise.
1947 * c-gimplify.c: Likewise. And also not hard-reg-set.
1948 * c-common.c: Do not include rtl.h. Include tm_p.h and add a
1949 FIXME note for it. Add a FIXME note for expr.h.
1950 * config/i386/i386-protos.h (ix86_enum_va_list, ix86_fn_abi_va_list,
1951 ix86_canonical_va_list_type): Make visible even if RTX_CODE is not
1952 defined.
1953
0d65bdbb
JJ
19542010-05-26 Jakub Jelinek <jakub@redhat.com>
1955
1956 PR target/44199
1957 * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
1958 or total_size is larger than red zone size for non-V4 ABI, emit a
1959 stack_tie resp. frame_tie insn before stack pointer restore.
1960 * config/rs6000/rs6000.md (frame_tie): New insn.
1961
8f4f502f
EB
19622010-05-25 Eric Botcazou <ebotcazou@adacore.com>
1963
1964 * function.h (struct function): Add can_throw_non_call_exceptions bit.
1965 * lto-streamer-in.c (input_function): Stream it in.
1966 * lto-streamer-out.c (output_function): Stream it out.
1967 * function.c (allocate_struct_function): Set it.
1968 (expand_function_end): Substitute cfun->can_throw_non_call_exceptions
1969 for flag_non_call_exceptions.
1970 * cfgbuild.c (control_flow_insn_p): Likewise.
1971 (make_edges): Likewise.
1972 * cfgexpand.c (expand_stack_alignment): Likewise.
1973 * combine.c (distribute_notes): Likewise.
1974 * cse.c (cse_extended_basic_block): Likewise.
1975 * except.c (insn_could_throw_p): Likewise.
1976 * gcse.c (simple_mem): Likewise.
1977 * ipa-pure-const.c (check_call): Likewise.
1978 (check_stmt ): Likewise.
1979 * lower-subreg.c (lower-subreg.c): Likewise.
1980 * optabs.c (emit_libcall_block): Likewise.
1981 (prepare_cmp_insn): Likewise.
1982 * postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
1983 * postreload.c (rest_of_handle_postreload): Likewise.
1984 * reload1.c (reload_as_needed): Likewise.
1985 (emit_input_reload_insns): Likewise.
1986 (emit_output_reload_insns): Likewise.
1987 (fixup_abnormal_edges): Likewise.
1988 * sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
1989 * store-motion.c (find_moveable_store): Likewise.
1990 * tree-eh.c (stmt_could_throw_p): Likewise.
1991 (tree_could_throw_p): Likewise.
1992 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
1993 * config/arm/arm.c (arm_expand_prologue): Likewise.
1994 (thumb1_expand_prologue): Likewise.
1995 * config/rx/rx.md (cbranchsf4): Likewise.
1996 (cmpsf): Likewise.
1997 * config/s390/s390.c (s390_emit_prologue): Likewise.
1998 * tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
1999 (inline_forbidden_into_p): New predicate.
2000 (expand_call_inline): Use it to forbid inlining.
2001 (tree_can_inline_p): Likewise.
2002
c962b78d
SB
20032010-05-25 Steven Bosscher <steven@gcc.gnu.org>
2004
2005 * config/i386/i386-c.c: Do not include rtl.h.
2006 * config/i386/t-i386: Update dependencies.
2007
afb67dc2
SB
20082010-05-25 Steven Bosscher <steven@gcc.gnu.org>
2009
2010 * attribs.c: Do not include rtl.h.
2011 * Makefile.in: Update dependencies.
2012
e233a3b2
AS
20132010-05-25 Anatoly Sokolov <aesok@post.ru>
2014
2015 * double-int.h (double_int_and): New.
2016 * combine.c (try_combine): Clean up, use double_int_* and
2017 immed_double_int_const functions.
2018
bc492e47
RO
20192010-05-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2020
2021 * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
2022 stderr to /dev/null instead of grep -q.
2023 * configure: Regenerate.
2024
245763e3
SB
20252010-05-25 Steven Bosscher <steven@gcc.gnu.org>
2026
2027 * Makefile.in (EXCEPT_H): Fix typo.
2028
4ac293e2
VM
20292010-05-25 Vladimir Makarov <vmakarov@redhat.com>
2030
2031 * ira-build.c (update_conflict_hard_reg_costs): New.
2032 (ira_build): Call update_conflict_hard_reg_costs.
2033
60a5d78a
JJ
20342010-05-25 Jakub Jelinek <jakub@redhat.com>
2035
bb9862c6
JJ
2036 PR debug/41371
2037 * var-tracking.c (find_loc_in_1pdv): Guard asserts with
2038 ENABLE_CHECKING.
2039 (intersect_loc_chains): Walk the s2var's loc_chain together
2040 with s1node chain as long as the locations are equal, don't
2041 call find_loc_in_1pdv in that case.
2042
60a5d78a
JJ
2043 PR debug/42801
2044 * tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here...
2045 (copy_bind_expr): ... instead of here.
2046 (copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK
2047 if the block hasn't been remapped.
2048 * dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When
2049 emitting concrete instance of abstract VLA, add DW_AT_type attribute.
2050
c946a318
RG
20512010-05-25 Richard Guenther <rguenther@suse.de>
2052
2053 PR middle-end/44069
2054 * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
2055 out-of-bounds array accesses.
2056
50ee30d5
RG
20572010-05-25 Richard Guenther <rguenther@suse.de>
2058
2059 * lto-wrapper.c (nr, input_names, output_names, makefile): Globalize.
2060 (lto_wrapper_exit): Unlink all LTRANS temporary files on error.
2061 (run_gcc): Re-organize to make cleanup easier.
2062
ca1930ce
AK
20632010-05-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2064
2065 * config/s390/s390.c (optimization_options): Fix and move the
2066 flag_prefetch_loop_arrays override ...
2067 (override_options): ... here.
2068
a13812e2
JM
20692010-05-25 Joseph Myers <joseph@codesourcery.com>
2070
2071 * diagnostic.c: Don't include plugin.h.
2072 (diagnostic_report_diagnostic): Don't handle plugins specially
2073 here. Pass context to internal_error callback.
2074 * diagnostic.h (struct diagnostic_context): Add context parameter
2075 to internal_error callback.
ade52657 2076 * plugin.c (warn_if_plugins, plugins_internal_error_function): New.
a13812e2
JM
2077 * plugin.h (struct diagnostic_context): Declare.
2078 (warn_if_plugins, plugins_internal_error_function): Declare.
2079 * toplev.c (general_init): Set global_dc->internal_error.
2080 * Makefile.in (diagnostic.o): Update dependencies.
2081
9a2d05e0
IS
20822010-05-25 Iain Sandoe <iains@gcc.gnu.org>
2083
2084 * config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
2085 * config/rs6000/t-darwin64: New.
2086 * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
2087 build crt2.
2088
8fde8b40
CB
20892010-05-25 Christian Borntraeger <borntraeger@de.ibm.com>
2090
2091 PR 44203
2092 * tree-ssa-loop-prefetch.c: Fix logic for step calculation to
2093 match the original (and intended) behaviour before r159557. This
2094 changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong
2095 in two ways.
2096
be6d3f0e
RG
20972010-05-25 Richard Guenther <rguenther@suse.de>
2098
2099 * doc/invoke.texi: Document -Ofast.
2100 * target.h (struct gcc_target): Add handle_ofast.
2101 * target-def.h (TARGET_HANDLE_OFAST): Add.
2102 (TARGET_INITIALIZER): Adjust.
ade52657 2103 * opts.c (decode_options): Handle -Ofast. Enable -ffast-math with it.
be6d3f0e
RG
2104 * common.opt (Ofast): Add.
2105
ac5eda13
PB
21062010-05-25 Paolo Bonzini <bonzini@gnu.org>
2107
2108 * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
2109 * doc/md.texi (cstoreXX4): Update for cond-optab changes.
2110
21112010-05-25 Paolo Bonzini <bonzini@gnu.org>
6597fd0b
PB
2112
2113 PR target/43610
2114 * optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
2115 even if !FLOAT_LIB_COMPARE_RETURNS_BOOL. Always compute true_rtx and
2116 false_rtx. Use false_rtx to compute the correct *ptest for reversed
2117 comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
2118
9d4545b2
JJ
21192010-05-25 Jakub Jelinek <jakub@redhat.com>
2120
2121 * dwarf2out.c (loc_descr_plus_const): When offset is negative, use
2122 DW_OP_minus with negated offset instead of DW_OP_plus.
ade52657 2123 (loc_list_from_tree): Don't test whether second operand is INTEGER_CST.
9d4545b2 2124
ee4e1706
WG
21252010-05-25 Wei Guozhi <carrot@google.com>
2126
2127 * config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
2128 tst instruction and a new alternative.
2129 * config/arm/constraints.md (Pu): New constraint.
2130
427188d5
SP
21312010-05-24 Sebastian Pop <sebastian.pop@amd.com>
2132
2133 * function.c (assign_stack_local_1): Initialize variable
2134 to avoid warning when bootstrapping at -O3.
2135
96ee6e08
SB
21362010-05-24 Steven Bosscher <steven@gcc.gnu.org>
2137
2138 * configure.ac (all_lang_makefiles): Remove everything related to it.
2139 * configure: Regenerate.
2140 * Makefile.in: Fix reference to ada Make-lang.in.
2141 Remove support for LANG_MAKEFILES.
2142
1ab55d69
MK
21432010-05-24 Daniel Jacobowitz <dan@codesourcery.com>
2144 Sandra Loosemore <sandra@codesourcery.com>
2145
2146 * config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
2147 * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
2148 description. Add arm_neon_fp16_ok.
2149 (Add Options): Add arm_neon and arm_neon_fp16.
2150
243fbddd
JM
21512010-05-24 Joseph Myers <joseph@codesourcery.com>
2152
2153 * diagnostic.c: Don't include flags.h.
2154 (pedantic_warning_kind, permissive_error_kind): Take diagnostic
ade52657 2155 context parameters. Check flags in the context passed as a parameter.
243fbddd
JM
2156 (diagnostic_build_prefix): Add context parameter. Check
2157 show_column flag in context.
ade52657
UB
2158 (diagnostic_action_after_output): Check fatal_errors flag in context.
2159 (diagnostic_report_current_module): Check show_column flag in context.
243fbddd
JM
2160 (default_diagnostic_starter): Update call to
2161 diagnostic_build_prefix.
ade52657 2162 (diagnostic_report_diagnostic): Pass context to pedantic_warning_kind.
243fbddd
JM
2163 (emit_diagnostic): Pass context to permissive_error_kind.
2164 (permerror): Pass context to permissive_error_kind.
2165 * diagnostic.h (struct diagnostic_context): Add show_column,
2166 pedantic_errors, permissive and fatal_errors fields.
2167 (diagnostic_build_prefix): Update prototype.
2168 * langhooks.c
2169 * toplev.c (process_options): Set flags in global_dc from
2170 flag_show_column, flag_pedantic_errors, flag_permissive,
2171 flag_fatal_errors.
2172 * tree-diagnostic.c (default_tree_diagnostic_starter): Update call
2173 to diagnostic_build_prefix.
2174 * Makefile.in (diagnostic.o): Update dependencies.
2175
42f40af4
L
21762010-05-24 H.J. Lu <hongjiu.lu@intel.com>
2177
2178 * config/i386/ia32intrin.h (__crc32q): Define only if
2179 __SSE4_2__ is defined.
2180
1db0429a
IS
21812010-05-24 Iain Sandoe <iains@gcc.gnu.org>
2182
2183 PR target/44132
2184 PR middle-end/43602
2185 * varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P,
2186 DECL_VISIBILITY_SPECIFIED.
2187 (emutls_decl): Set DECL_PRESERVE_P and copy
2188 DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P.
2189 (emutls_finalize_control_var): New callback.
2190 (emutls_finish): Finalize emutls control variables.
ade52657 2191 * toplev.c (compile_file): Move the call to emutls_finish ()
1db0429a
IS
2192 before varpool_assemble_pending_decls ().
2193
e72e2da4
DG
21942010-05-24 Daniel Gutson <dgutson@codesourcery.com>
2195
2196 * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
2197 added to the preprocessor condition.
2198
b748fbd6
PB
21992010-05-24 Paul Brook <paul@codesourcery.com>
2200
2201 * gengtype-lex.l: Add HARD_REG_SET.
2202 * expr.c (expand_expr_real_1): Record writes to hard registers.
2203 * function.c (rtl_data): Add asm_clobbers.
2204 * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
2205 (ira_setup_eliminable_regset): Remove regs_asm_clobbered.
2206 Use crtl->asm_clobbers.
2207
9888e9cf
RW
22082010-05-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2209
2210 * doc/makefile.texi (Makefile): Mention stages 'profile'
2211 and 'feedback' for profiledbootstrap.
2212
cf5b989e
L
22132010-05-23 H.J. Lu <hongjiu.lu@intel.com>
2214
2215 PR target/44245
2216 * config/i386/i386.c (def_builtin): Properly check
2217 OPTION_MASK_ISA_64BIT.
2218
dc5027f4
JM
22192010-05-23 Joseph Myers <joseph@codesourcery.com>
2220
2221 * c-decl.c (diagnose_mismatched_decls): Give error for duplicate
2222 typedefs with different but compatible types. Allow duplicate
2223 typedefs with the same type except for pedantic non-C1X, but give
2224 warning for variably modified types.
2225 * c-typeck.c (tagged_types_tu_compatible_p,
2226 function_types_compatible_p, type_lists_compatible_p,
2227 comptypes_internal): Add parameter different_types_p; set
2228 *different_types_p for different but compatible types. All
2229 callers changed.
2230 (comptypes_check_different_types): New.
2231 * c-tree.h (comptypes_check_different_types): Declare.
2232
2d1a4cc1
SB
22332010-05-23 Steven Bosscher <steven@gcc.gnu.org>
2234
ade52657 2235 * regs.h: Do not include obstack.h, basic-block.h. Include machmode.h.
2d1a4cc1
SB
2236 * jump.c: Include basic-block.h.
2237 * profile.c: Likewise.
2238 * tree-profile.c: Likewise.
2239 * coverage.c: Likewise.
2240 * basic-block.h (optimize_function_for_size_p): Move to function.h.
2241 (optimize_function_for_speed_p): Likewise.
2242 * function.h (optimize_function_for_size_p,
2243 optimize_function_for_speed_p): Moved here from basic-block.h.
539bac37 2244 * Makefile.in: Update dependencies.
2d1a4cc1 2245
5767217f
RW
22462010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2247
2248 * lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS
2249 before calling make; allow override through $MAKE.
2250 * doc/invoke.texi (Optimize Options): Document override.
2251
7a955d62
AS
22522010-05-23 Anatoly Sokolov <aesok@post.ru>
2253
2254 * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New.
2255 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
2256 (rs6000_mode_dependent_address_ptr): Make static.
2257 * config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
2258 * config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr):
2259 Remove.
2260
362ff46e 22612010-05-23 Maarten Lankhorst <mlankhorst@codeweavers.com>
7b37a805
ML
2262
2263 PR target/43869
2264 * config/i386/i386.c: Make sure that the correct regparm is passed.
2265
9ecb1730
SB
22662010-05-23 Steven Bosscher <steven@gcc.gnu.org>
2267
2268 * sbitmap.h (sbitmap_ptr, const_sbitmap_ptr): Move from here...
2269 * sbitmap.c: ...to here to internalize sbitmap element access.
2270 Do not include tm.h, rtl.h, flags.h, hard-reg-set.h, and obstack.h.
2271 Explain why basic-block.h is included.
2272 * function.h: Include tm.h for CUMULATIVE_ARGS.
2273 * Makefile.in: Update dependencies.
2274
7a8cba34
SB
22752010-05-22 Steven Bosscher <steven@gcc.gnu.org>
2276
2277 * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
2278 New core types.
2279 * sbitmap.h (struct sbitmap_def): Do not typedef here.
2280 * sbitmap.c: Include sbitmap.h.
2281 * basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
2282 hard-reg-set.h. Split everything related to regsets out from here...
2283 * regset.h: ...to here. New file.
2284 * df.h: Include regset.h and sbitmap.h.
2285 * tree-flow.h: Likewise.
2286 * cfgloop.h: Likewise.
2287 * except.h: Do not include sbitmap.h. Include hashtab.h.
2288 * cgraph.h: Include vec.h and function.h.
2289 * reload.h (struct insn_chain): Change types of live_throughout
2290 and dead_or_set from regset_head to bitmap_head.
2291 (compute_use_by_pseudos): Be defined also if regset.h is not included.
2292 * ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
2293 spilled_regs from regset_head to bitmap_head to avoid dependency
2294 in regset.h.
2295 * sel-sched-ir.h: Include regset.h.
2296 * reload.c: Include df.h before reload.h.
2297 * caller-save.c: Likewise.
2298 * reload1.c: Likewise.
2299 * ira.c: Likewise.
2300 (mark_elimination): Update type of r to bitmap, consistent with
2301 DF_LR_IN.
2302 * dominance.c: Include bitmap.h.
2303 * modulo-sched.c: Include df.h.
2304 * cfganal.c: Include bitmap.h and sbitmap.h.
2305 * cfgbuild.c: Include sbitmap.h.
2306 * lcm.c: Include sbitmap.h.
2307 * gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
2308 * domwalk.c: Include sbitmap.h, exclude ggc.h.
2309 * cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
2310 * cselib.c: Include bitmap.h.
2311 * tree-optimize.c: Include regset.h.
2312 * stmt.c: Include bitmap.h.
2313 * Makefile.in: Update dependencies.
2314
9f90e80a
JH
23152010-05-22 Jan Hubicka <jh@suse.cz>
2316
2317 * cgraph.h (struct varpool_node): Add same_comdat_group.
2318 * lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group
2319 pointer.
2320 (output_varpool): Update call of lto_output_varpool_node.
2321 (input_varpool): Read same_comdat_group pointer.
2322 (input_varpool_1): Fixup same_comdat_group pointer.
2323 * ipa.c (cgraph_remove_unreachable_nodes): WHen one of same comdat
2324 group is needed, all are.
2325 * varpool.c (varpool_remove_node): Remove node from same comdat group
2326 linklist too.
2327 (varpool_analyze_pending_decls): Walk same comdat groups.
2328
a2c9fe42
SB
23292010-05-22 Steven Bosscher <steven@gcc.gnu.org>
2330
2331 * rtl.h (union rtunion_def): Remove rt_bit member.
2332 (XBITMAP, X0BITMAP, XCBITMAP): Remove.
2333 * print-rtl (print_rtx): Do not print the member.
2334 * gengtype.c (adjust_field_rtx_def): Do not handle it.
2335 * gengenrtl.c (type_from_format): Likewise.
2336 (accessor_from_format): Likewise.
2337
3b2ce251
JM
23382010-05-22 Joseph Myers <joseph@codesourcery.com>
2339
2340 * dbgcnt.c: Include toplev.h instead of errors.h.
2341 * ira-emit.c: Don't include errors.h.
2342 * ira.c: Include toplev.h instead of errors.h.
2343 * lto-compress.c: Include toplev.h instead of errors.h.
2344 * Makefile.in (lto-compress.o, lto-streamer-out.o, ira-emit.o,
2345 ira.o, dbgcnt.o): Update dependencies.
2346
bd9eb5da
RG
23472010-05-22 Richard Guenther <rguenther@suse.de>
2348
2349 * gimple.c (gimple_types_compatible_p): Check type qualifications
2350 before merging pointer to complete and pointer to incomplete type.
2351 * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure
2352 we use our own resolution algorithm. The gold linker plugin
2353 doesn't do the job we want it to do here.
2354
277e2873
AS
23552010-05-22 Anatoly Sokolov <aesok@post.ru>
2356
2357 * config/sparc/sparc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
2358 * config/sparc/sparc.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
2359 (sparc_mode_dependent_address_p): New function.
2360
613b1547
SB
23612010-05-21 Steven Bosscher <steven@gcc.gnu.org>
2362
2363 * Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars.
2364
2365 * timevar.c: Do not include any core headers.
2366 (timevar_print): De-i18n-ize.
2367 (print_time): Likewise.
2368 * timevar.h (timevar_push, timevar_pop): Make inline functions.
2369
cf835838
JM
23702010-05-21 Joseph Myers <joseph@codesourcery.com>
2371
2372 * diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
2373 langhooks-def.h.
2374 (diagnostic_initialize): Initialize x_data not last_function.
2375 (diagnostic_report_current_function): Move to tree-diagnostic.c.
2376 (default_diagnostic_starter): Call
2377 diagnostic_report_current_module not
2378 diagnostic_report_current_function.
2379 (diagnostic_report_diagnostic): Initialize x_data not
2380 abstract_origin.
2381 (verbatim): Likewise.
2382 * diagnostic.h (struct diagnostic_info): Change abstract_origin to
2383 x_data.
2384 (struct diagnostic_context): Change last_function to x_data.
2385 (diagnostic_auxiliary_data): Replace with
2386 diagnostic_context_auxiliary_data and
2387 diagnostic_info_auxiliary_data.
2388 (diagnostic_last_function_changed, diagnostic_set_last_function,
2389 diagnostic_report_current_function): Move to tree-diagnostic.h.
2390 (print_declaration, dump_generic_node, print_generic_stmt,
2391 print_generic_stmt_indented, print_generic_expr,
2392 print_generic_decl, debug_c_tree, dump_omp_clauses,
2393 print_call_name, debug_generic_expr, debug_generic_stmt,
2394 debug_tree_chain, default_tree_printer): Move to
2395 tree-pretty-print.h.
2396 (debug_gimple_stmt, debug_gimple_seq, print_gimple_seq,
2397 print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to
2398 gimple-pretty-print.h.
2399 * pretty-print.c: Don't include tree.h
2400 (pp_base_format): Don't handle %K here.
2401 (pp_base_tree_identifier): Move to tree-pretty-print.c.
2402 * pretty-print.h (text_info): Change abstract_origin to x_data.
2403 (pp_tree_identifier, pp_unsupported_tree,
2404 pp_base_tree_identifier): Move to tree-pretty-print.h.
2405 * gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h,
2406 tree-pretty-print.h: New files.
2407 * tree-pretty-print.c: Include tree-pretty-print.h.
2408 (percent_K_format): New. Moved from pretty-print.c.
2409 (pp_base_tree_identifier): Move from pretty-print.c.
2410 * c-objc-common.c: Include tree-pretty-print.h.
2411 (c_tree_printer): Handle %K here.
2412 * langhooks.c: Include tree-diagnostic.h.
2413 (lhd_print_error_function): Use diagnostic_abstract_origin macro.
2414 * toplev.c: Include tree-diagnostic.h and tree-pretty-print.h.
2415 (default_tree_printer): Handle %K using percent_K_format.
2416 (general_init): Use default_tree_diagnostic_starter.
2417 * tree.c: Include tree-diagnostic.h and tree-pretty-print.h.
2418 (free_lang_data): Use default_tree_diagnostic_starter.
2419 * c-pretty-print.c: Include tree-pretty-print.h.
ade52657
UB
2420 * cfgexpand.c: Include tree-pretty-print.h and gimple-pretty-print.h.
2421 * cgraphunit.c: Include tree-pretty-print.h and gimple-pretty-print.h.
cf835838
JM
2422 * dwarf2out.c: Include tree-pretty-print.h.
2423 * except.c: Include tree-pretty-print.h.
2424 * gimple-pretty-print.c: Include tree-pretty-print.h and
2425 gimple-pretty-print.h.
2426 * gimplify.c: Include tree-pretty-print.h.
2427 * graphite-poly.c: Include tree-pretty-print.h and
2428 gimple-pretty-print.h.
2429 * ipa-cp.c: Include tree-pretty-print.h.
2430 * ipa-inline.c: Include gimple-pretty-print.h.
ade52657 2431 * ipa-prop.c: Include tree-pretty-print.h and gimple-pretty-print.h.
cf835838
JM
2432 * ipa-pure-const.c: Include gimple-pretty-print.h.
2433 * ipa-struct-reorg.c: Include tree-pretty-print.h and
2434 gimple-pretty-print.h.
2435 * ipa-type-escape.c: Include tree-pretty-print.h.
2436 * print-rtl.c: Include tree-pretty-print.h.
2437 * print-tree.c: Include gimple-pretty-print.h.
2438 * sese.c: Include tree-pretty-print.h.
2439 * tree-affine.c: Include tree-pretty-print.h.
2440 * tree-browser.c: Include tree-pretty-print.h.
2441 * tree-call-cdce.c: Include gimple-pretty-print.h.
ade52657 2442 * tree-cfg.c: Include tree-pretty-print.h and gimple-pretty-print.h.
cf835838
JM
2443 * tree-chrec.c: Include tree-pretty-print.h.
2444 * tree-data-ref.c: Include tree-pretty-print.h and
2445 gimple-pretty-print.h.
2446 * tree-dfa.c: Include tree-pretty-print.h.
2447 * tree-if-conv.c: Include tree-pretty-print.h and
2448 gimple-pretty-print.h.
2449 * tree-inline.c: Include tree-pretty-print.h.
2450 * tree-into-ssa.c: Include tree-pretty-print.h and
2451 gimple-pretty-print.h.
2452 * tree-nrv.c: Include tree-pretty-print.h.
2453 * tree-object-size.c: Include tree-pretty-print.h and
2454 gimple-pretty-print.h.
2455 * tree-outof-ssa.c: Include tree-pretty-print.h and
2456 gimple-pretty-print.h.
2457 * tree-parloops.c: Include tree-pretty-print.h and
2458 gimple-pretty-print.h.
2459 * tree-predcom.c: Include tree-pretty-print.h and
2460 gimple-pretty-print.h.
2461 * tree-scalar-evolution.c: Include tree-pretty-print.h and
2462 gimple-pretty-print.h.
2463 * tree-sra.c: Include tree-pretty-print.h.
2464 * tree-ssa-address.c: Include tree-pretty-print.h.
2465 * tree-ssa-alias.c: Include tree-pretty-print.h.
2466 * tree-ssa-ccp.c: Include tree-pretty-print.h and
2467 gimple-pretty-print.h.
2468 * tree-ssa-coalesce.c: Include tree-pretty-print.h.
2469 * tree-ssa-copy.c: Include tree-pretty-print.h and
2470 gimple-pretty-print.h.
2471 * tree-ssa-copyrename.c: Include tree-pretty-print.h.
2472 * tree-ssa-dce.c: Include tree-pretty-print.h and
2473 gimple-pretty-print.h.
2474 * tree-ssa-dom.c: Include tree-pretty-print.h and
2475 gimple-pretty-print.h.
2476 * tree-ssa-dse.c: Include gimple-pretty-print.h.
2477 * tree-ssa-forwprop.c: Include tree-pretty-print.h.
2478 * tree-ssa-ifcombine.c: Include tree-pretty-print.h.
2479 * tree-ssa-live.c: Include tree-pretty-print.h and
2480 gimple-pretty-print.h.
2481 * tree-ssa-loop-im.c: Include tree-pretty-print.h and
2482 gimple-pretty-print.h.
2483 * tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and
2484 gimple-pretty-print.h.
2485 * tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and
2486 gimple-pretty-print.h.
2487 * tree-ssa-loop-niter.c: Include tree-pretty-print.h and
2488 gimple-pretty-print.h.
2489 * tree-ssa-loop-prefetch.c: Include tree-pretty-print.h.
2490 * tree-ssa-math-opts.c: Include gimple-pretty-print.h.
2491 * tree-ssa-operands.c: Include tree-pretty-print.h and
2492 gimple-pretty-print.h.
2493 * tree-ssa-phiprop.c: Include tree-pretty-print.h and
2494 gimple-pretty-print.h.
2495 * tree-ssa-pre.c: Include tree-pretty-print.h and
2496 gimple-pretty-print.h.
2497 * tree-ssa-propagate.c: Include gimple-pretty-print.h.
2498 * tree-ssa-reassoc.c: Include tree-pretty-print.h and
2499 gimple-pretty-print.h.
2500 * tree-ssa-sccvn.c: Include tree-pretty-print.h and
2501 gimple-pretty-print.h.
2502 * tree-ssa-sink.c: Include gimple-pretty-print.h.
2503 * tree-ssa-ter.c: Include tree-pretty-print.h and
2504 gimple-pretty-print.h.
2505 * tree-ssa-uninit.c: Include gimple-pretty-print.h.
2506 * tree-ssa.c: Include tree-pretty-print.h and
2507 gimple-pretty-print.h.
2508 * tree-stdarg.c: Include gimple-pretty-print.h.
2509 * tree-switch-conversion.c: Include gimple-pretty-print.h.
2510 * tree-tailcall.c: Include tree-pretty-print.h and
2511 gimple-pretty-print.h.
2512 * tree-vect-data-refs.c: Include tree-pretty-print.h and
2513 gimple-pretty-print.h.
2514 * tree-vect-loop-manip.c: Include tree-pretty-print.h and
2515 gimple-pretty-print.h.
2516 * tree-vect-loop.c: Include tree-pretty-print.h and
2517 gimple-pretty-print.h.
2518 * tree-vect-patterns.c: Include gimple-pretty-print.h.
2519 * tree-vect-slp.c: Include tree-pretty-print.h and
2520 gimple-pretty-print.h.
2521 * tree-vect-stmts.c: Include tree-pretty-print.h and
2522 gimple-pretty-print.h.
2523 * tree-vectorizer.c: Include tree-pretty-print.h.
2524 * tree-vrp.c: Include tree-pretty-print.h and
2525 gimple-pretty-print.h.
2526 * value-prof.c: Include tree-pretty-print.h and
2527 gimple-pretty-print.h.
2528 * var-tracking.c: Include tree-pretty-print.h.
2529 * Makefile.in (OBJS-common): Add tree-diagnostic.o.
2530 (tree-diagnostic.o): New dependencies.
2531 (c-objc-common.o, c-pretty-print.o, langhooks.o, tree.o,
2532 tree-inline.o, print-tree.o, stor-layout.o, tree-ssa-uninit.o,
2533 tree-ssa.o, tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o,
2534 tree-outof-ssa.o, tree-ssa-forwprop.o, tree-ssa-phiprop.o,
2535 tree-ssa-ifcombine.o, tree-nrv.o, tree-ssa-copy.o,
2536 tree-ssa-propagate.o, tree-ssa-dom.o, tree-ssa-uncprop.o,
2537 tree-ssa-live.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
2538 tree-ssa-sccvn.o, tree-vrp.o, tree-cfg.o, tree-tailcall.o,
2539 tree-ssa-sink.o, tree-if-conv.o, tree-dfa.o, tree-ssa-operands.o,
2540 tree-ssa-address.o, tree-ssa-loop-niter.o,
2541 tree-ssa-loop-ivcanon.o, tree-ssa-loop-prefetch.o, tree-predcom.o,
2542 tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-im.o,
2543 tree-ssa-math-opts.o, tree-ssa-alias.o, tree-ssa-reassoc.o,
2544 gimplify.o, tree-browser.o, tree-chrec.o, tree-scalar-evolution.o,
2545 tree-data-ref.o, sese.o, graphite-poly.o, tree-vect-loop.o,
2546 tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o,
2547 tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o,
2548 tree-parloops.o, tree-stdarg.o, tree-object-size.o,
2549 gimple-pretty-print.o, tree-pretty-print.o, diagnostic.o,
2550 toplev.o, print-rtl.o, except.o, dwarf2out.o, cgraphunit.o,
2551 ipa-prop.o, ipa-cp.o, ipa-inline.o, ipa-pure-const.o,
2552 ipa-type-escape.o, ipa-struct-reorg.o, tree-ssa-dce.o,
2553 tree-call-cdce.o, tree-ssa-ccp.o, tree-sra.o,
2554 tree-switch-conversion.o, var-tracking.o, value-prof.o,
2555 cfgexpand.o, pretty-print.o): Update dependencies.
2556
cf4f4175
AT
25572010-05-22 Andreas Tobler <andreast@fgznet.ch>
2558
2559 * tree-ssa-structalias.c: Remove tm_p.h from include.
2560
c6d0f11a
JL
25612010-05-21 Jeff Law <law@redhat.com>
2562
2563 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Fix typo.
2564
d3f28910
JM
25652010-05-21 Jason Merrill <jason@redhat.com>
2566
2567 * tree-eh.c (cleanup_is_dead_in): New.
2568 (lower_try_finally): Don't generate a dead cleanup region.
2569 (lower_cleanup): Likewise.
2570
14db98d4
JJ
25712010-05-21 Jakub Jelinek <jakub@redhat.com>
2572
2573 PR debug/44223
2574 * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
2575 unchain each use from the cyclic next_regno_use chain first.
2576
d49b6e1e
SB
25772010-05-21 Steven Bosscher <steven@gcc.gnu.org>
2578
2579 * real: Do not include gmp.h, mpfr.h, and mpc.h.
2580 (REAL_VALUE_NEGATE, REAL_VALUE_ABS, real_arithmetic2): Remove.
2581 (real_value_negate, real_value_abs): New prototypes.
2582 (do_mpc_arg2, real_from_mpfr, mpfr_from_real): Move from here...
2583 * realmpfr.h (do_mpc_arg2, real_from_mpfr, mpfr_from_real): ...to here,
2584 new include file for interface between MPFR and REAL_VALUE_TYPE.
2585 * real.c: Include realmpfr.h.
2586 (real_arithmetic2): Remove legacy function.
2587 (real_value_negate): New.
2588 (real_value_abs): New.
2589 (mfpr_from_real, real_from_mpfr): Move from here...
2590 * realmpfr.c (mpfr_from_real, real_from_mpfr): ...to here, new file.
2591 * builtins.c: Include realmpfr.h.
2592 * fold-const.c: Include realmpfr.h.
2593 (fold_comparison): Use real_value_negate instead of REAL_VALUE_NEGATE.
2594 (fold_negate_const): Likewise.
2595 (fold_abs_const): Use real_value_abs instead of REAL_VALUE_ABS.
2596 * toplev.c: Include realmpfr.h.
2597 * simplify-rtx.c (simplify_const_unary_operation): Use real_value_abs
2598 and real_value_negate.
2599 * fixed-value.c (check_real_for_fixed_mode): Likewise.
2600 * config/arm/arm.c (neg_const_double_rtx_ok_for_fpa): Likewise.
2601 (vfp3_const_double_index): Likewise.
2602 (arm_print_operand): Likewise.
2603 * Makefile.in: Update dependencies.
2604
5b4b1c9a
AK
26052010-05-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2606
2607 * config/s390/s390.c (override_options): Increase the default
2608 of max-completely-peel-times.
2609
7c19c715
JB
26102010-05-21 Julian Brown <julian@codesourcery.com>
2611 Mark Mitchell <mark@codesourcery.com>
2612
2613 * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
2614 sibling calls for Thumb-1.
2615 * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
2616 * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
2617 Thumb-2.
2618 (*call_insn, *call_value_insn): Don't use for Thumb-2.
2619 (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
2620 for Thumb-2.
2621 (return): New expander.
2622 (*arm_return): New name for ARM return insn.
2623 * config/arm/thumb2.md (*thumb2_return): New insn pattern.
2624
3943fe02
JS
26252010-05-19 Joel Sherrill <joel.sherrill@oarcorp.com>
2626
2627 * config.gcc (sparc64-*-rtems*): New target.
2628
95f6e526
NF
26292010-05-21 Nathan Froyd <froydnj@codesourcery.com>
2630
2631 * tree.c (build_function_decl_skip_args): Fix grammar.
2632 (build_function_type_list_1): Fix typos, adjust formatting.
2633
40013784
SB
26342010-05-21 Steven Bosscher <steven@gcc.gnu.org>
2635
2636 * tree.h: Include real.h and fixed-value.h as basic datatypes.
2637 * dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
2638 tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
2639 tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
2640 tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
2641 genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
2642 tree-pretty-print.c, tree-loop-distribution.c,
2643 tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
2644 tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
2645 tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
2646 tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
2647 tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
2648 tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
2649 tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
2650 tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
2651 tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
2652 tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
2653 genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
2654 tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
2655 gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
2656 tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
2657 tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
2658 store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
2659 tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
2660 tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
2661 tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
2662 tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
2663 fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
2664 tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
2665 config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
2666 config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
2667 config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
2668 config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
2669 config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
2670 config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
2671 config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
2672 config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
2673 config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
2674 config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
2675 config/score/score7.c, config/score/score.c, config/arm/arm.c,
2676 config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
2677 config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
ade52657 2678 config/bfin/bfin.c: Clean up redundant includes.
40013784
SB
2679 * Makefile.in: Update accordingly.
2680
0a7561b7
NF
26812010-05-21 Nathan Froyd <froydnj@codesourcery.com>
2682
2683 PR middle-end/44204
2684 * builtins.c (fold_call_stmt): Pass &error_mark_node if the call
2685 statement has no arguments.
2686
e1935569
KT
26872010-05-21 Kai Tietz <kai.tietz@onevision.com>
2688
2689 PR/44139
2690 * varasm.c (emutls_decl): Merge attributes to new decl.
2691
46314d3e
EB
26922010-05-21 Eric Botcazou <ebotcazou@adacore.com>
2693
2694 PR middle-end/44101
2695 * gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
2696 around the uniquized constructor if its type requires a conversion.
2697
f99fcb3b
JJ
26982010-05-21 Jakub Jelinek <jakub@redhat.com>
2699
2700 PR debug/44205
2701 * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
2702 at -O0 goto_locus of any of the incoming edges differs from
2703 goto_locus of outgoing edge, or gimple_location of any of the
2704 labels differs.
2705
0583835c
VM
27062009-09-14 Vladimir Makarov <vmakarov@redhat.com>
2707
2708 * ira.c (ira_non_ordered_class_hard_regs): Define.
ade52657 2709 (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs.
0583835c
VM
2710 * ira-int.h (ira_non_ordered_class_hard_regs): Declare.
2711 * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase
2712 cost of unaligned hard regs when allocating multi-reg pseudos.
2713
9f946bc1
RS
27142010-05-20 Richard Sandiford <rdsandiford@googlemail.com>
2715
2716 * config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
2717 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float
2718 for TARGET_NO_FLOAT.
2719 * config/mips/mips.c (mips_file_start): Expand conditional expression
2720 into "if" statements. Use .gnu_attribute 4,0 for TARGET_NO_FLOAT.
2721 (mips_override_options): Move -mno-float override -msoft-float and
2722 -mhard-float.
2723 * config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add
2724 Condition(TARGET_SUPPORTS_NO_FLOAT).
2725 * config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set
2726 __mips_no_float here.
2727 (SUBTARGET_OVERRIDE_OPTIONS): Delete.
2728 (TARGET_SUPPORTS_NO_FLOAT): Define.
2729 * config/mips/sdemtk.opt: Delete.
2730
69610617
SB
27312010-05-20 Segher Boessenkool <segher@kernel.crashing.org>
2732
ade52657 2733 * ipa-prop.c (compute_complex_ancestor_jump_func): Bail out if !cond.
69610617 2734
953c29f7
UB
27352010-05-20 Uros Bizjak <ubizjak@gmail.com>
2736
2737 PR target/43733
2738 * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
2739 * configure: Regenerate.
2740 * config.in: Regenerate.
2741 * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
2742 instead of sahf only for 64bit targets.
2743
69b45d71
JJ
27442010-05-20 Jakub Jelinek <jakub@redhat.com>
2745
2746 PR debug/44178
2747 * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
2748 setup_ref_regs for DEBUG_INSNs.
2749
a14f1878
JH
27502010-05-20 Jan Hubicka <jh@suse.cz>
2751
2752 PR middle-end/44197
2753 * varpool.c (varpool_remove_node): Handle in-varpool aliases.
2754
5797be12
KZ
27552010-05-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2756
2757 PR bootstrap/43870
2758 * df-scan.c (df_ref_compare): Stabilize sort.
2759
f1ca3117
JJ
27602010-05-20 Jakub Jelinek <jakub@redhat.com>
2761
2762 * dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
2763 argument. Don't use DW_OP_piece if offset is non-zero,
2764 put offset into second DW_OP_bit_piece argument.
2765 (dw_sra_loc_expr): Adjust callers. For memory expressions
2766 compute offset.
2767
d8ec9c14
HPN
27682010-05-20 Hans-Peter Nilsson <hp@axis.com>
2769
2770 PR target/44202
2771 * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
2772 settings for 16-bit-constant "addo" alternative.
2773
951771dc
JW
27742010-05-19 James E. Wilson <wilson@codesourcery.com>
2775
9af157ac
JW
2776 * config/mips/mips-dsp.md (add<DSPV:mode>3,
2777 mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.
2778
951771dc
JW
2779 PR target/43764
2780 * mips.c (mips_call_expr_from_insn): New arg second_call. Set it.
2781 (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
2782 Use it.
2783
676dd4d4
JM
27842010-05-19 Joseph Myers <joseph@codesourcery.com>
2785
2786 * diagnostic.c (FLOAT, FFS): Don't undefine.
2787 * passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
2788 * cse.c, regmove.c: Remove comments about stdio.h and rtl.h
2789 include ordering.
2790
caba7aaa
RS
27912010-05-19 Richard Sandiford <rdsandiford@googlemail.com>
2792
2793 * combine.c (propagate_for_debug): Call make_compound_operation
2794 on the source value.
2795 (try_combine): When implementing a split chosen by find_split_point,
2796 either copy i2src or set it to null. Assert that i2src is not null
2797 before substituting into CALL_INSN_FUNCTION_USAGE.
2798
1961ffb8
AS
27992010-05-19 Anatoly Sokolov <aesok@post.ru>
2800
2801 * double-int.h (double_int_ior): New function.
2802 * tree.h (build_int_cst_wide_type): Remove.
2803 * tree.c (build_int_cst_wide_type): Remove.
2804 * fold-const.c (native_interpret_int): Use double_int_to_tree instead
2805 of build_int_cst_wide_type.
2806 * stor-layout.c (set_sizetype): (Ditto.).
2807 * dojump.c (do_jump): Use build_int_cstu instead of
2808 build_int_cst_wide_type.
2809
616f1431
EB
28102010-05-19 Eric Botcazou <ebotcazou@adacore.com>
2811
2812 * langhooks.h (struct lang_hooks): Add new field deep_unsharing.
2813 * langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
2814 (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
ade52657 2815 * gimplify.c (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
616f1431
EB
2816 TARGET_EXPR nodes, but only once, if instructed to do so. Do not
2817 propagate the 'data' argument to copy_tree_r.
2818 (copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
2819 Propagate 'data' argument to walk_tree.
2820 (copy_if_shared): New function.
2821 (unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
2822 (unmark_visited): New function.
2823 (unshare_body): Call copy_if_shared instead of doing it manually.
2824 (unvisit_body): Call unmark_visited instead of doing it manually.
2825
f311c3b4
NF
28262010-05-19 Nathan Froyd <froydnj@codesourcery.com>
2827
2828 * hooks.h (hook_tree_tree_tree_bool_null): Rename to...
2829 (hook_tree_tree_int_treep_bool_null): ...this. Update signature.
2830 * hooks.c: Likewise.
2831 * target-def.h (TARGET_FOLD_BUILTIN): Define to
2832 hook_tree_tree_int_treep_bool_null.
ade52657 2833 * target.h (struct gcc_target): Update signature of fold_builtin
f311c3b4
NF
2834 field.
2835 * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
2836 * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
2837 instead of the call expression.
2838 (fold_builtin_call_array): Pass n and argarray directly.
2839 (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
2840 consing a list.
2841 * config/alpha/alpha.c (alpha_fold_builtin): Update signature. Lift
2842 MAX_ARGS check out of the loop. Delete declaration of `arity', declare
2843 `i' and use it in place of `arity'.
2844 * config/sparc/sparc.c (sparc_fold_builtin): Update signature.
2845 Dereference `args' directly.
2846 * config/xtensa/xtensa (xtensa_fold_builtin): Likewise.
2847
40f1bdd9
RO
28482010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2849
2850 * doc/sourcebuild.texi (Effective-Target Keywords): Document
2851 3dnow, sse3, sse2.
2852 (Directives): Document optional dg-require-effective-target
2853 selector.
2854
817c2996
RG
28552010-05-19 Richard Guenther <rguenther@suse.de>
2856
2857 PR lto/44196
2858 * tree.c (find_decls_types_r): Walk BLOCKs and its vars.
2859
c04b6b38
RG
28602010-05-19 Richard Guenther <rguenther@suse.de>
2861
2862 * doc/invoke.texi (-fwhopr): Document new optional jobs argument.
2863 * common.opt (fwhopr=): New.
2864 * opts.c (common_handle_option): Handle OPT_fwhopr.
2865 * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
2866 * collect2.c (main): Match -fwhopr*.
2867 * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
2868 Execute ltrans stage in parallel when jobs is bigger than 1.
2869
ed104137
RO
28702010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2871
2872 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
2873 pentiumpro on Solaris 8/x86 with Sun as.
2874 * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
2875 hidden alias bug.
2876 (gcc_cv_as_ix86_quad): Check for .quad directive.
2877 * configure: Regenerate.
2878 * config.in: Regenerate.
2879 * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
2880
749aa96d
MJ
28812010-05-19 Martin Jambor <mjambor@suse.cz>
2882
2883 * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
2884 also for indirect edges. Actual printing moved...
2885 (ipa_print_node_jump_functions_for_edge): ...here.
2886 (ipa_compute_jump_functions): Renamed to
2887 ipa_compute_jump_functions_for_edge and made static.
2888 (ipa_compute_jump_functions): New function.
2889 (make_edge_direct_to_target): Check if the number of arguments on
2890 the newly direct edge is the same as the number of parametrs of
2891 the callee.
2892 * ipa-cp.c (ipcp_init_stage): Most functionality moved to new
2893 ipa_compute_jump_functions. Call ipa_analyze_params_uses.
2894 * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
2895 analysis functions unconditionally, call the new
2896 ipa_analyze_params_uses on the node instead of every edge.
2897
81f32326
CB
28982010-05-19 Christian Borntraeger <borntraeger@de.ibm.com>
2899
431043bd 2900 * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
81f32326 2901 to tree.
431043bd 2902 (dump_mem_ref): Adopt debug code to handle a tree as step. This
81f32326
CB
2903 also checks for a constant int vs. non-constant but
2904 loop-invariant steps.
431043bd 2905 (find_or_create_group): Change the sort algorithm to only consider
81f32326 2906 steps that are constant ints.
431043bd 2907 (idx_analyze_ref): Adopt code to handle a tree instead of a
81f32326 2908 HOST_WIDE_INT for step.
431043bd 2909 (gather_memory_references_ref): Handle tree instead of int and be
81f32326 2910 prepared to see a NULL_TREE.
431043bd 2911 (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
81f32326 2912 prefetches if the step cannot be calculated at compile time.
431043bd 2913 (issue_prefetch_ref): Issue prefetches for non-constant but
81f32326
CB
2914 loop-invariant steps.
2915
39b27b3a
NF
29162010-05-18 Nathan Froyd <froydnj@codesourcery.com>
2917
2918 Revert:
2919 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
2920
2921 * tree.h (build_call_list): Remove.
2922 * tree.c (build_call_list): Remove.
2923
3fcb9d1b
NF
29242010-05-18 Nathan Froyd <froydnj@codesourcery.com>
2925
2926 * tree.h (build_call_list): Remove.
2927 * tree.c (build_call_list): Remove.
2928
58efc3ac
JH
29292010-05-18 Jan Hubicka <jh@suse.cz>
2930
2931 * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
2932
0495bafc
VM
29332010-05-18 Vladimir Makarov <vmakarov@redhat.com>
2934
2935 PR rtl-optimization/43332
2936 * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
2937
abdbbf16
AS
29382010-05-18 Anatoly Sokolov <aesok@post.ru>
2939
2940 * tree.h (build_int_cstu): Implement as static inline.
2941 * tree.c (build_int_cstu): Remove function.
2942 (double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
2943 sign extended.
2944
cf96bae7
RG
29452010-05-18 Richard Guenther <rguenther@suse.de>
2946
2947 PR lto/44143
2948 * lto-wrapper.c (verbose): New variable. Initialize from -v.
2949 (debug): Initialize from -save-temps.
2950 (collect_execute): Print command-line when verbose.
2951 (run_gcc): Always use COLLECT_GCC_OPTIONS. Use fork_execute
2952 for ltrans invocation. Produce -dumpbase flag again.
2953 (process_args): Remove.
2954 (main): Simplify.
2955 * collect2.c (maybe_run_lto_and_relink): Only pass object
2956 files to lto-wrapper.
2957 * gcc.c (LINK_COMMAND_SPEC): Likewise.
2958
80e2a014
JH
29592010-05-18 Jan Hubicka <jh@suse.cz>
2960
2961 * opts.c (decode_options): Do not disable whopr at ipa_cp.
2962 * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
2963
174f391c
SB
29642010-05-18 Steven Bosscher <steven@gcc.gnu.org>
2965
2966 PR lto/44184
2967 * lto-streamer-out.c (output_gimple_stmt): Output number of labels
2968 in a GIMPLE_ASM.
2969 * lto-streamer-in.c (input_gimple_stmt): Read number of labels
2970 in a GIMPLE_ASM.
2971
13077931
JJ
29722010-05-18 Jakub Jelinek <jakub@redhat.com>
2973
2974 PR debug/41371
2975 * var-tracking.c (find_loc_in_1pdv): Add a few checks from
2976 rtx_equal_p inline.
2977
02540df4
SB
29782010-05-18 Steven Bosscher <steven@gcc.gnu.org>
2979
2980 * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
2981 lto-macho as lto_binary_reader.
2982
2983 * darwin.c (darwin_asm_named_section): Do not add assembler comment
2984 after .section directive; just print it before the directive instead.
2985
36576655
JH
29862010-05-17 Jan Hubicka <jh@suse.cz>
2987
2988 * cgraph.c (cgraph_create_virtual_clone): Only check
2989 versionable_function_p when not in wpa and checking is enabled.
2990 * cgraphunit.c (cgraph_materialize_all_clones): Stabilize after
2991 there are no more functions to materialize.
2992
922f15c2
JH
29932010-05-17 Jan Hubicka <jh@suse.cz>
2994
2995 * cgraph.h (struct ipa_replace_map): Add parm_num parameter.
2996 * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
2997 New functions.
2998 (output_cgraph): Call output_cgraph_opt_summary.
2999 (input_cgrpah): Call input_cgraph_opt_summary.
3000 (output_cgraph_opt_summary_p, output_node_opt_summary,
3001 input_node_opt_summary, input_cgraph_opt_section): New functions.
3002 * lto-section-in.c (lto_section_name): Add cgraphopt.
3003 * tree-inline.c (tree_function_versioning): Handle parm_num.
3004 * lto-streamer.c (lto_get_section_name): Handle cgraphopt.
3005 * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
3006
d3a9b459
CF
30072010-05-17 Changpeng Fang <changpeng.fang@amd.com>
3008
3009 * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
3010 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
3011 the insn to prefetch ratio heuristic to loops with known trip count.
3012
8532678c
CF
30132010-05-17 Changpeng Fang <changpeng.fang@amd.com>
3014
3015 * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
3016 (schedule_prefetches): Do not generate a prefetch if the unroll factor
3017 is far from what is required by the prefetch.
3018
339f49ec
JH
30192010-05-17 Jan Hubicka <jh@suse.cz>
3020
3021 * ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
3022 (ipcp_estimate_growth): Likewise.
3023 (ipcp_const_param_count): Likewise.
3024 (ipcp_insert_stage): Likewise.
3025 * ipa-prop.c (visit_load_for_mod_analysis): New function.
3026 (visit_store_addr_for_mod_analysis): Set used flag.
3027 (ipa_detect_param_modifications): Set used flag for SSE params;
3028 update use of walk_stmt_load_store_addr_ops.
3029 (ipa_print_node_params): Print used flag.
3030 (ipa_write_node_info): Stream used flag.
3031 (ipa_read_node_info): Likewise.
3032 * ipa-prop.h (struct ipa_param_descriptor): Add used field.
3033 (ipa_is_param_used): New function.
3034 (lto_ipa_fixup_call_notes): Remove unused declaration.
3035
2433310d
RO
30362010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3037
3038 PR target/44074
3039 * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
3040 * configure: Regenerate.
3041 * config.in: Regenerate.
431043bd 3042 * config/i386/i386.c (print_operand) <case ;>: Also print ";" if
2433310d
RO
3043 !HAVE_AS_IX86_REP_LOCK_PREFIX.
3044 Don't emit whitespace.
3045 * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
3046 (*rep_movsi): Likewise.
3047 (*rep_movsi_rex64): Likewise.
3048 (*rep_movqi): Likewise.
3049 (*rep_movqi_rex64): Likewise.
3050 (*rep_stosdi_rex64): Likewise.
3051 (*rep_stossi): Likewise.
3052 (*rep_stossi_rex64): Likewise.
3053 (*rep_stosqi): Likewise.
3054 (*rep_stosqi_rex64): Likewise.
3055 (*cmpstrnqi_nz_1): Use {%;} after repz.
3056 (*cmpstrnqi_nz_rex_1): Likewise.
3057 (*cmpstrnqi_1): Likewise.
3058 (*cmpstrnqi_rex_1): Likewise.
3059 (*strlenqi_1): Use {%;} after repnz.
3060 (*strlenqi_rex_1): Likewise.
3061 * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
3062 (*sync_compare_and_swap<mode>): Likewise.
3063 (sync_double_compare_and_swap<mode>): Likewise.
3064 (*sync_double_compare_and_swapdi_pic): Likewise.
3065 (sync_old_add<mode>): Likewise.
3066 (sync_add<mode>): Likewise.
3067 (sync_sub<mode>): Likewise.
3068 (sync_<code><mode>): Likewise.
3069
b258210c
MJ
30702010-05-17 Martin Jambor <mjambor@suse.cz>
3071
3072 * cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
3073 otr_token and polymorphic.
3074 * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
3075 (cgraph_clone_edge): Copy the above fields.
3076 * tree.c (get_binfo_at_offset): New function.
3077 * tree.h (get_binfo_at_offset): Declare.
3078 * ipa-prop.h (enum jump_func_type): Added known_type jump function
3079 type, reordered items, updated comments.
3080 (union jump_func_value): Added base_type field, reordered fields.
3081 (enum ipa_lattice_type): Moved down in the file.
3082 (struct ipa_param_descriptor): New field polymorphic.
3083 (ipa_is_param_polymorphic): New function.
3084 * ipa-prop.c: Include gimple.h and gimple-fold.h.
3085 (ipa_print_node_jump_functions): Print known type jump functions.
3086 (compute_complex_pass_through): Renamed to...
3087 (compute_complex_assign_jump_func): this.
3088 (compute_complex_ancestor_jump_func): New function.
3089 (compute_known_type_jump_func): Likewise.
3090 (compute_scalar_jump_functions): Create known type and complex ancestor
3091 jump functions.
3092 (ipa_note_param_call): New parameter polymorphic, set the corresponding
3093 flag in the call note accordingly.
3094 (ipa_analyze_call_uses): Renamed to...
3095 (ipa_analyze_indirect_call_uses): this. New parameter target, define
3096 variable var only in the block where it is used.
3097 (ipa_analyze_virtual_call_uses): New function.
3098 (ipa_analyze_call_uses): Likewise.
3099 (combine_known_type_and_ancestor_jfs): Likewise.
3100 (update_jump_functions_after_inlining): Implemented handling of a
3101 number of new jump function types combination.
3102 (print_edge_addition_message): Removed.
3103 (make_edge_direct_to_target): New function.
3104 (try_make_edge_direct_simple_call): Likewise.
3105 (try_make_edge_direct_virtual_call): Likewise.
3106 (update_call_notes_after_inlining): Renamed to...
3107 (update_indirect_edges_after_inlining): this. Moved edge creation for
3108 indirect calls to try_make_edge_direct_simple_call, also calls
3109 try_make_edge_direct_virtual_call for virtual calls.
3110 (ipa_print_node_params): Changed the header message.
3111 (ipa_write_jump_function): Stream also known type jump functions.
3112 (ipa_read_jump_function): Likewise.
3113 (ipa_write_indirect_edge_info): Stream new fields in
3114 cgraph_indirect_call_info.
3115 (ipa_read_indirect_edge_info): Likewise.
3116 * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
3117 GIMPLE_FOLD_H.
3118
d5d74497
RO
31192010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3120
3121 * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
3122
58a11859
NF
31232010-05-17 Nathan Froyd <froydnj@codesourcery.com>
3124
3125 * tree.h (CALL_EXPR_ARGS): Delete.
3126 (call_expr_arglist): Delete.
3127 * tree.c (call_expr_arglist): Delete.
3128 * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
3129 targetm.fold_builtin.
3130 * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
3131 Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
3132 * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
3133 arglist parameter. Use CALL_EXPR_ARG.
3134 (picochip_expand_builtin_3op): Likewise.
3135 (picochip_expand_builtin_2opvoid): Likewise.
3136 (picochip_expand_array_get): Likewise.
3137 (picochip_expand_array_put): Likewise.
3138 (picochip_expand_array_testport): Likewise.
3139 (picochip_expand_builtin): Don't call CALL_EXPR_ARGS. Pass exp
3140 rather than arglist.
3141 * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
3142 CALL_EXPR_ARGS.
3143 * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
3144 than TREE_VALUE and TREE_CHAIN.
3145 * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
3146 * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
3147 the arglist.
3148
f1de5107
JJ
31492010-05-17 Jakub Jelinek <jakub@redhat.com>
3150
f145213f
JJ
3151 PR bootstrap/42347
3152 * cfglayout.c (fixup_reorder_chain): Allow returnjump_p
3153 to have no fallthru edge.
3154
f1de5107
JJ
3155 PR middle-end/44102
3156 * cfgcleanup.c (try_optimize_cfg): When removing trivially empty
3157 bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
3158 mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
3159 add BARRIER after previous bb if needed.
3160
b64fca63 31612010-05-17 Nathan Froyd <froydnj@codesourcery.com>
431043bd 3162
b64fca63 3163 * tree.c (build_function_type_list_1): Remove bogus assert condition.
431043bd 3164
2882bfcc
AM
31652010-05-17 Alan Modra <amodra@gmail.com>
3166
3167 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
3168 unnecessary prototype. Replace copy_r12 and copy_r11 flag params
3169 with copy_reg rtx param.
3170 (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
3171 Correct cases where code for ABI_V4 did not initialise the reg
3172 used to access frame. Also leave frame_reg_rtx as sp for large
3173 frames that save no regs.
3174
5feb49f0
MJ
31752010-05-17 Martin Jambor <mjambor@suse.cz>
3176
3177 PR middle-end/44133
3178 * tree-sra.c (create_access_replacement): New parameter rename, mark
3179 the replaement for renaming only when it is true.
3180 (get_access_replacement): Pass true in the rename parameter of
3181 create_access_replacement.
3182 (get_unrenamed_access_replacement): New function.
3183 (replace_uses_with_default_def_ssa_name): New parameter racc, get the
3184 replacement declaration from it.
3185
56731d64
BS
31862010-05-17 Bernd Schmidt <bernds@codesourcery.com>
3187
3188 * function.c (try_fit_stack_local, add_frame_space): New static
3189 functions.
3190 (assign_stack_local_1): Use them. Look for opportunities to use
3191 space previously wasted on alignment.
3192 * function.h (struct frame_space): New.
3193 (struct rtl_data): Add FRAME_SPACE_LIST member.
3194 * reload1.c (something_was_spilled): New static variable.
3195 (alter_reg): Set it.
3196 (reload): Test it in addition to testing if the frame size changed.
3197
24a235c8
CB
31982010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
3199
431043bd
UB
3200 * config/s390/s390.c: Define sane prefetch settings and activate
3201 flag_prefetch_loop_arrays on -O3.
3202 * config/s390/s390.h: Declare that read can use write prefetch.
24a235c8 3203
18252dcf
JJ
32042010-05-17 Jakub Jelinek <jakub@redhat.com>
3205
3206 * lto-streamer-out.c (lto_output): Fix --enable-checking=release
3207 build.
3208
199f1dc4
JH
32092010-05-16 Jan Hubicka <jh@suse.cz>
3210
3211 * ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
3212 function body; do not check stdarg field of struct function.
3213
ccbbf8a2
JH
32142010-05-16 Jan Hubicka <jh@suse.cz>
3215
3216 * cgraph.c (dump_cgraph_node): Dump versionable flag.
3217 * cgraph.h (cgraph_local_info): Add versionable flag.
3218 * ipa-cp.c (ipcp_analyze_node): Set versionable flag.
3219 (ipcp_versionable_function_p): Use it.
3220 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
3221 versionable flag.
3222
91fbf0c7
JH
32232010-05-16 Jan Hubicka <jh@suse.cz>
3224
3225 * cgraph.c (cgraph_clone_node): Take decl argument and insert
3226 clone into hash when it is different from orig.
3227 (cgraph_create_virtual_clone): Update use of cgraph_clone_node.
3228 * cgraph.h (cgraph_clone_node): Update prototype.
3229 * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
3230 (lto_cgraph_encoder_delete): Delete body map.
3231 (lto_cgraph_encoder_size): Move to header.
ccbbf8a2
JH
3232 (lto_cgraph_encoder_encode_body_p,
3233 lto_set_cgraph_encoder_encode_body): New.
91fbf0c7
JH
3234 (lto_output_node): Do not take written_decls argument; output clone_of
3235 pointer.
3236 (add_node_to): Add include_body_argument; call
3237 lto_set_cgraph_encoder_encode_body on master of the clone.
3238 (add_references): Update use of add_node_to.
3239 (compute_ltrans_boundary): Likewise.
3240 (output_cgraph): Do not create written_decls bitmap.
3241 (input_node): Take nodes argument; stream in clone_of correctly.
3242 (input_cgraph_1): Update use of input_node.
3243 * lto-streamer-out.c (lto_output): Use encoder info to decide
3244 what bodies to output.
3245 * ipa-inline.c (cgraph_clone_inlined_nodes,
3246 cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
3247 * lto-streamer.h (lto_cgraph_encoder_d): Add body.
3248 (lto_cgraph_encoder_size): Define here.
3249 (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
3250 Declare.
3251
6b87d1b4
RG
32522010-05-16 Richard Guenther <rguenther@suse.de>
3253
3254 * doc/invoke.texi (-fipa-struct-reorg): Do not mention
3255 -fipa-type-escape.
3256 * ipa-type-escape.c (gate_type_escape_vars): Run when
3257 -fipa-struct-reorg runs.
3258 * opts.c (decode_options): Do not unset flag_ipa_type_escape.
3259 * common.opt (fipa-type-escape): Remove.
3260
203a92e3
EB
32612010-05-16 Eric Botcazou <ebotcazou@adacore.com>
3262
3263 * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
3264 (decode_options): Likewise.
3265 * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
3266
e419f710
JH
32672010-05-16 Jan Hubicka <jh@suse.cz>
3268
3269 * ipa.c (function_and_variable_visibility): Also bring local all
3270 aliases.
3271
2e0c984c
RG
32722010-05-16 Richard Guenther <rguenther@suse.de>
3273
3274 * alias.c (nonoverlapping_memrefs_p): Remove use of
3275 IPA type-escape information.
3276
32912286
JM
32772010-05-16 Joseph Myers <joseph@codesourcery.com>
3278
3279 * c-common.c (c_common_reswords): Add _Static_assert for C.
3280 * c-parser.c (c_token_starts_declaration,
3281 c_parser_next_token_starts_declaration,
3282 c_parser_static_assert_declaration_no_semi,
3283 c_parser_static_assert_declaration): New.
3284 (c_parser_declaration_or_fndef): Add parameter static_assert_ok.
3285 Handle static assertions if static_assert_ok.
3286 (c_parser_external_declaration, c_parser_declaration_or_fndef,
3287 c_parser_compound_statement_nostart, c_parser_label,
3288 c_parser_for_statement, c_parser_objc_methodprotolist,
3289 c_parser_omp_for_loop): All callers of
3290 c_parser_declaration_or_fndef changed.
3291 (c_parser_struct_declaration): Handle static assertions.
3292 (c_parser_compound_statement_nostart): Use
3293 c_parser_next_token_starts_declaration and
3294 c_token_starts_declaration to detect start of declarations.
3295 (c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
3296 Likewise.
3297
a3ca07e3
AS
32982010-05-16 Anatoly Sokolov <aesok@post.ru>
3299
3300 * config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
3301 LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
3302 * config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
3303 TARGET_FUNCTION_VALUE_REGNO_P): Define.
3304 (mmix_function_outgoing_value): Rename to...
3305 (mmix_function_value): ...this. Make static. Add 'outgoing' argument.
3306 (mmix_function_value_regno_p): Make static.
3307 (mmix_libcall_value): New function.
3308 * config/mmix/mmix-protos.h (mmix_function_outgoing_value,
3309 mmix_function_value_regno_p): Remove declaration.
3310
29d17485
EB
33112010-05-16 Eric Botcazou <ebotcazou@adacore.com>
3312
3313 * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
3314 BUILT_IN_ALLOCA if stack checking is enabled.
3315
a6590c31
RG
33162010-05-16 Richard Guenther <rguenther@suse.de>
3317
3318 * var-tracking.c (vars_copy_1): Inline ...
3319 (vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT.
3320 (variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts.
3321 (variable_merge_over_cur): Adjust. Merge asserts.
3322 (variable_merge_over_src): Likewise.
3323 (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
3324 (variable_post_merge_new_vals): Merge asserts.
3325 (variable_post_merge_perm_vals): Likewise.
3326 (find_mem_expr_in_1pdv): Likewise.
3327 (dataflow_set_different_value): Remove.
3328 (onepart_variable_different_p): Merge asserts.
3329 (variable_different_p): Likewise.
3330 (dataflow_set_different_1): Inline ...
3331 (dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT.
3332 (emit_notes_for_differences_1): Merge asserts.
3333
6456e26e
RG
33342010-05-16 Richard Guenther <rguenther@suse.de>
3335
3336 * lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
3337 * optabs.c (libfunc_decl_hash): Likewise.
3338 * varasm.c (emutls_decl): Likewise.
3339
1d4c5fe9
SB
33402010-05-16 Steven Bosscher <steven@gcc.gnu.org>
3341
3342 * c-decl.c: Don't include gimple.h.
3343 (merge_decls): Do not copy gimple_body.
3344
9feb3d6a
JM
33452010-05-15 Jason Merrill <jason@redhat.com>
3346
3347 * c.opt: Add -fnothrow-opt.
3348
9b3cf76a
JH
33492010-05-15 Jan Hubicka <jh@suse.cz>
3350
29d17485
EB
3351 * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is
3352 analyzed.
9b3cf76a
JH
3353 * passes.c (ipa_write_summaries): Write all analyzed nodes.
3354
f4ce02c5
SB
33552010-05-15 Steven Bosscher <steven@gcc.gnu.org>
3356
3357 * vecir.h: New file with VEC primitives for tree, gimple, and rtl.
3358 * Makefile.in: Add it.
3359 Fix all other Makefile dependencies for changes below.
3360 * tree.h: Include it instead of defining VEC primitives here.
3361 * gimple.h: Likewise.
3362 * rtl.h: Likewise.
3363 * tree-inline.h: Inlclude vecir.h instead of gimple.h.
3364 * except.h: Include vecir.h, break dependence on tree.h.
3365
3366 * gimplify.c (append_to_statement_list_1, append_to_statement_list):
3367 Move from here...
3368 * tree-iterator.c: ...to here.
3369 * tree-iterator.h: Fix file introduction comment. Add extern markers.
3370
3371 * c-lex.c: Include fixed-value.h instead of rtl.h. Do not include
3372 tm_p.h.
3373 * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
3374 * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
3375 integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
3376 tree-mudflap.h, and target.h.
3377 * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
3378 predict.h, tree-inline.h, gimple.h, and langhooks.h.
3379 * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
3380 Add FIXME for why gimple.h is still included (should be unnecessary
3381 since GCC 4.5 gimplification unit-at-a-time).
3382 * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
3383 * c-pragma.c: Add FIXME for why function.h needs to be included just
3384 for cfun, at front-end level.
3385 Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
3386 Do not include ggc.h, but include vecprim.h for VEC(char).
3387 * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
3388 Explain why target.h is included.
3389 * c-omp.h: Do not include tm.h, function.h, and bitmap.h.
3390 Explain why gimple.h is included.
3391 * c-ppoutput.c: Do not include tm.h.
3392 * c-common.c: Do not include gimple.h. Explain why expr.h is included.
3393 * c-parses.c: Explain why rtl.h is included, and that this (and only
3394 this) is also why tm.h must be included.
3395 Do not include except.h.
3396 * c-lang.c: Do not include ggc.h.
3397
12201e48
UB
33982010-05-15 Uros Bizjak <ubizjak@gmail.com>
3399
3400 * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
3401
4bdd0a60
JM
34022010-05-15 Joseph Myers <joseph@codesourcery.com>
3403
3404 * c-decl.c (grokfield): Allow typedefs for anonymous structs and
3405 unions by default if those structs and unions have no tags. Do
3406 not condition anonymous struct and unions handling on flag_iso.
3407 Allow anonymous structs and unions for C1X.
3408 (finish_struct): Do not diagnose lack of named fields when
3409 anonymous structs and unions present for C1X. Accept flexible
3410 array members in structure with anonymous structs or unions but no
3411 directly named fields.
3412 * doc/extend.texi (Unnamed Fields): Update.
3413
d025732d
EB
34142010-05-15 Eric Botcazou <ebotcazou@adacore.com>
3415
3416 * gimple.h (compare_field_offset): Rename into...
3417 (gimple_compare_field_offset): ...this.
3418 * gimple.c (compare_field_offset): Rename into...
3419 (gimple_compare_field_offset): ...this. Compare the full access if
3420 the offset is self-referential.
3421 (gimple_types_compatible_p): Adjust for above renaming.
3422 * lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the
3423 DECL_NONADDRESSABLE_P flag of fields before merging them.
3424
b75bdd29
NF
34252010-05-15 Nathan Froyd <froydnj@codesourcery.com>
3426
3427 * tree.h (ctor_to_list): Delete.
3428 * tree.c (ctor_to_list): Delete.
3429
f3380641
JH
34302010-05-15 Jan Hubicka <jh@suse.cz>
3431
3432 * ipa-reference.c: Include toplev.h
3433 (is_proper_for_analysis): Only add to all_module_statics
3434 if it is allocated.
3435 (write_node_summary_p, stream_out_bitmap,
3436 ipa_reference_write_optimization_summary,
3437 ipa_reference_read_optimization_summary): New.
3438 (struct ipa_opt_pass_d pass_ipa_reference): Add
3439 optimization summary streaming.
12201e48 3440 * lto-cgraph.c (referenced_from_this_partition_p,
f3380641
JH
3441 reachable_from_this_partition_p): New functions.
3442 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
3443 call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
3444 * opts.c (decode_options): Enable ipa_reference.
3445 * Makefile.in (ipa-reference.o): Add toplev.h dependency.
3446 * lto-streamer.h (referenced_from_this_partition_p,
3447 reachable_from_this_partition_p): Declare.
3448
9d0baae1
RG
34492010-05-15 Richard Guenther <rguenther@suse.de>
3450
3451 PR tree-optimization/44038
3452 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
3453 taking the address of a V_C_E of a constant.
3454
46c30019
JH
34552010-05-14 Jan Hubicka <jh@suse.cz>
3456
3457 * tree.h (memory_identifier_string): Remove.
3458 * ipa-reference.c: Update comment; do not include gt-ipa-reference.h
3459 (ipa_reference_global_vars_info_d): Remove statics_not_read and
3460 statics_not_written.
3461 (ipa_reference_optimization_summary_d): New structure.
3462 (ipa_reference_optimization_summary_t): New type and vector.
3463 (ipa_reference_vars_info_d): Embedd structures instead of using
3464 pointers.
3465 (reference_vars_to_consider): Remove out of GGC space.
3466 (module_statics_escape): Remove.
3467 (global_info_obstack): Rename to ...
3468 (optimization_summary_obstack): ... this one.
3469 (initialization_status_t): Remove.
3470 (memory_identifier_string): Remove.
3471 (get_reference_vars_info): Fix indenting.
3472 (set_reference_vars_info): Likewise.
3473 (get_reference_optimization_summary): New.
3474 (set_reference_optimization_summary): New.
3475 (get_global_reference_vars_info): Remove.
3476 (ipa_reference_get_read_global): Remove.
3477 (ipa_reference_get_written_global): Remove.
3478 (ipa_reference_get_not_read_global): Update.
3479 (ipa_reference_get_not_written_global): Update.
3480 (is_proper_for_analysis): Outlaw addressable.
3481 (propagate_bits): Update for new datastructures.
3482 (analyze_variable): Remove.
3483 (init_function_info): Update for new datastructures.
3484 (clean_function_local_data): Remove.
3485 (clean_function): Remove.
3486 (copy_global_bitmap): Use optimizations_summary_obstack.
3487 (duplicate_node_data): Duplicate optimization summary only.
3488 (remove_node_data): Remove optimization summary only.
3489 (generate_summary): Do not analyze variables; do not compute
3490 module_statics_escape; do not prune solutions by it.
3491 (read_write_all_from_decl): Fix typos in comments.
3492 (propagate): Doscover readonly and nonaddressable first;
3493 update for new datastructures; share global bitmaps.
3494 * ipa-reference.h (ipa_reference_get_read_global,
3495 ipa_reference_get_written_global): Remove.
3496 * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
3497 * Makefile.in: Remove ipa-refereference from GT files.
3498
22bf7d17
JJ
34992010-05-14 Jakub Jelinek <jakub@redhat.com>
3500
3501 PR debug/44112
3502 * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
3503 for all SYMBOL_REF_DECLs.
3504
4a444e58
JH
35052010-05-14 Jan Hubicka <jh@suse.cz>
3506
3507 * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
3508 (varpool_all_refs_explicit_p): New inline function.
3509 * ipa-reference.c: Update comment.
3510 (module_statics_written): Remove.
3511 (get_static_decl): Remove.
3512 (ipa_init): Do not initialize module_statics_written.
3513 (analyze_function): Likewise.
3514 (generate_summary): Likewise; do not compute module_statics_readonly
3515 and do not update variable flags.
3516 (propagate): Call ipa_discover_readonly_nonaddressable_vars.
3517 * ipa.c: Inlucde flags.h
3518 (cgraph_local_node_p): New.
3519 (cgraph_remove_unreachable_nodes): Return early when not optimizing;
3520 promote functions to local.
3521 (ipa_discover_readonly_nonaddressable_vars): New function.
3522 (function_and_variable_visibility): Use cgraph_local_node_p.
3523 * varpool.c (varpool_finalize_decl): Set force_output for
3524 DECL_PRESERVE_P vars.
3525
bc8ddfe6
JH
35262010-05-14 Jan Hubicka <jh@suse.cz>
3527
3528 * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
3529
4d2ab9e3
RG
35302010-05-14 Richard Guenther <rguenther@suse.de>
3531
3532 PR tree-optimization/44119
3533 * tree-ssa-pre.c (eliminate): Properly mark replacement of
3534 a PHI node necessary.
3535
9e87b842
EB
35362010-05-14 Eric Botcazou <ebotcazou@adacore.com>
3537
3538 * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
3539
786f715d
JM
35402010-05-14 Jason Merrill <jason@redhat.com>
3541
9bb1a81b
JM
3542 PR c++/44127
3543 * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
3544 (gimple_call_set_nothrow): New.
3545 * gimple.c (gimple_build_call_from_tree): Call it.
3546 (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
3547
786f715d
JM
3548 PR c++/44127
3549 * gimplify.c (gimplify_seq_add_stmt): No longer static.
3550 * gimple.h: Declare it.
3551 * gimple.c (gimple_build_eh_filter): No ops.
3552
19fb0b86
JH
35532010-05-14 Jan Hubicka <jh@suse.cz>
3554
3555 * ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
3556 nodes already in queue.
9e87b842
EB
3557 (cgraph_remove_unreachable_nodes): Cleanup; fix problem with
3558 re-enqueueing node.
19fb0b86 3559
88c04a5d
JJ
35602010-05-14 Jakub Jelinek <jakub@redhat.com>
3561
3562 PR debug/44136
3563 * cfgexpand.c (expand_debug_expr): If non-memory op0
3564 has BLKmode, return NULL.
3565
1133125e
HJ
35662010-05-14 Harsha Jagasia <harsha.jagasia@amd.com>
3567
3568 * config.gcc: Add support for --with-cpu option for bdver1.
3569 * config/i386/i386.h (TARGET_BDVER1): New macro.
3570 (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
3571 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
3572 (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
3573 to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
3574 Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
3575 (TARGET_CPU_DEFAULT_NAMES): Add bdver1.
3576 (processor_type): Add PROCESSOR_BDVER1.
3577 * config/i386/i386.md: Add bdver1 as a new cpu attribute to match
3578 processor_type in config/i386/i386.h.
3579 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
3580 movaps <reg, reg> instead of movapd <reg, reg> when replacing
3581 movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
3582 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
3583 to emit packed xor instead of packed double/packed integer
3584 xor for SSE and AVX when moving a zero value.
9e87b842
EB
3585 * config/i386/sse.md: Add check for
3586 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of
3587 movapd/movdqa for SSE and AVX.
3588 Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed
3589 single logical operations i.e and, or and xor instead of packed double
3590 logical operations for SSE and AVX.
12201e48
UB
3591 * config/i386/i386-c.c (ix86_target_macros_internal):
3592 Add PROCESSOR_BDVER1.
1133125e
HJ
3593 * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
3594 (has_fma4, has_xop): New.
3595 * config/i386/i386.c (bdver1_cost): New variable.
3596 (m_BDVER1): New macro.
3597 (m_AMD_MULTIPLE): Add m_BDVER1.
3598 (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
9e87b842
EB
3599 x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
3600 x86_tune_use_simode_fiop, x86_tune_promote_qimode,
3601 x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
3602 x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
3603 x86_tune_sse_partial_reg_dependency,
3604 x86_tune_sse_unaligned_load_optimal,
3605 x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
3606 x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
3607 x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
3608 x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
3609 x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
1133125e
HJ
3610 Enable/disable for bdver1.
3611 (processor_target_table): Add bdver1_cost.
3612 (cpu_names): Add bdver1.
3613 (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
3614 processor_alias_table.
9e87b842
EB
3615 (ix86_expand_vector_move_misalign): Change.
3616 TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
3617 Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
3618 Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
3619 of movupd/movdqu for SSE and AVX.
1133125e
HJ
3620 (ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
3621 (ix86_tune_adjust_cost): Add code for bdver1.
3622 (standard_sse_constant_opcode): Add check for
3623 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
3624 of packed double xor for SSE and AVX.
3625
e972cc7e
PH
36262010-05-14 Pat Haugen <pthaugen@us.ibm.com>
3627
3628 * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
3629 result to unsigned.
3630
6a080096
TG
36312010-05-14 Tristan Gingold <gingold@adacore.com>
3632
3633 * toplev.c (default_debug_hooks): Remove this variable.
3634 (process_options): Remove assignments to default_debug_hooks.
3635
b5023f3c
MJ
36362010-05-14 Martin Jambor <mjambor@suse.cz>
3637
3638 * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
3639 (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
3640 * langhooks.h (struct lang_hooks_for_decls): Removed field
3641 fold_obj_type_ref.
3642 * tree.c (free_lang_data): Remove assignment to
3643 lang_hooks.fold_obj_type_ref.
3644 * tree.def (OBJ_TYPE_REF): Update comment.
3645
6141b7db
RG
36462010-05-14 Richard Guenther <rguenther@suse.de>
3647
3648 PR tree-optimization/44124
3649 * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
3650
e15a8cbe
AM
36512010-05-14 Alan Modra <amodra@gmail.com>
3652
3653 PR target/44075
3654 * config/rs6000/rs6000.c (struct machine_function): Reorder
3655 fields for better packing. Add lr_save_state.
3656 (rs6000_ra_ever_killed): Return lr_save_state if set.
3657 (rs6000_emit_eh_reg_restore): Set lr_save_state.
3658
da405c74
JH
36592010-05-13 Jan Hubicka <jh@suse.cz>
3660
3661 * varpool.c (decide_is_variable_needed): Drop code checking
3662 TREE_SYMBOL_REFERENCED.
3663
152464d2
JH
36642010-05-13 Jan Hubicka <jh@suse.cz>
3665
3666 * final.c (output_addr_const): Do not call mark_decl_referenced.
3667 * cgraphunit.c (process_function_and_variable_attributes): Use
3668 mark_needed_node dirrectly.
3669 (assemble_thunk): Do not call mark_decl_referenced.
3670
32cbdf00
AS
36712010-05-13 Anatoly Sokolov <aesok@post.ru>
3672
3673 * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
3674
e4f36d31
JL
36752010-05-13 Jeff Law <law@redhat.com>
3676
3677 * ira-conflicts.c (print_allocno_conflicts): New function broken out
3678 from...
3679 (print_conflicts): Call print_allocno_conflicts.
3680
1fcebc11
JJ
36812010-05-13 Jakub Jelinek <jakub@redhat.com>
3682
3683 PR debug/44104
3684 * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
3685 if it is NULL.
3686
917ed773
KT
36872010-05-13 Kai Tietz <kai.tietz@onevision.com>
3688
3689 * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
3690 t-mingw-w64 or t-mingw-w32 for multilib configuration.
3691 * config/i386/t-mingw-w32: New.
3692 * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
12201e48 3693
1ae6fe9b
MJ
36942010-05-13 Martin Jambor <mjambor@suse.cz>
3695
3696 * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
3697 gimple-fold.c).
3698 * gimple-fold.c (get_base_binfo_for_type): New function.
3699 (gimple_get_relevant_ref_binfo): Likewise.
3700 (gimple_fold_obj_type_ref_known_binfo): Likewise.
3701 (gimple_fold_obj_type_ref): Likewise.
3702 (fold_gimple_call): Simplify condition for folding virtual calls
3703 and call gimple_fold_obj_type_ref.
3704 * gimple.h (gimple_get_relevant_ref_binfo): Declare.
3705 (gimple_fold_obj_type_ref_known_binfo): Likewise.
3706
78c7cabb
AS
37072010-05-13 Andreas Schwab <schwab@linux-m68k.org>
3708
3709 * config/rs6000/rs6000-protos.h
3710 (rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
3711 * config/rs6000/rs6000.c (rs6000_mode_dependent_address)
3712 (rs6000_debug_mode_dependent_address)
3713 (rs6000_mode_dependent_address_ptr): Likewise.
3714
823e9473
JJ
37152010-05-13 Jakub Jelinek <jakub@redhat.com>
3716
3717 PR debug/43983
3718 * var-tracking.c (track_expr_p): Allow tracking of variables optimized
3719 by SRA.
3720 * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
3721 * tree-sra.c (create_access_replacement): Call unshare_expr before
12201e48 3722 passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it.
823e9473
JJ
3723 * dwarf2out.c: Include tree-flow.h.
3724 (struct var_loc_node): Rename var_loc_note field to loc, add comment.
3725 (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
3726 Handle DW_OP_bit_piece.
3727 (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
3728 construct_piece_list, adjust_piece_list): New functions.
3729 (add_var_loc_to_decl): Handle SRA optimized variables.
3730 Adjust for var_loc_note to loc field renaming.
3731 (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
3732 in VAR_LOCATION note.
3733 (new_loc_descr_op_bit_piece): New function.
3734 (dw_sra_loc_expr): New function.
3735 (dw_loc_list): Use it. Don't handle the last range after the
3736 loop, handle it inside of the loop. Adjust for var_loc_note
3737 to loc field renaming.
3738 (add_location_or_const_value_attribute): Only special case
3739 single entry loc lists if loc is NOTE_P. Adjust for
3740 var_loc_note to loc field renaming.
3741 (dwarf2out_var_location): Don't set newloc->var_loc_note
3742 and newloc->next here.
3743
bd3cdcc0
JH
37442010-05-12 Jan Hubicka <jh@suse.cz>
3745
c46a5e28
EB
3746 * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed
3747 flag.
bd3cdcc0
JH
3748 * cgraph.h (cgraph_only_called_directly_p,
3749 cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
3750 (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
3751 * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
3752 (assemble
3753 * ipa.c (cgraph_remove_unreachable_nodes): Use
c46a5e28
EB
3754 cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken
3755 flags.
bd3cdcc0
JH
3756 * tree-inline.c (copy_bb): Check address_taken flag.
3757 * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
3758 externally_visible flag.
3759
5116acc6
JM
37602010-05-12 Jason Merrill <jason@redhat.com>
3761
3762 PR bootstrap/44048
3763 PR target/44099
3764 * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
3765 * sdbout.c (plain_type_1): Likewise.
3766 * dwarf2out.c (is_base_type): Likewise.
3767 (gen_type_die_with_usage): Likewise. Generate
3768 DW_TAG_unspecified_type for any LANG_TYPE.
3769
5f902d76
JH
37702010-05-12 Jan Hubicka <jh@suse.cz>
3771
3772 * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
3773 indrect edges too.
3774 * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
3775 (cgraph_clone_edge): Update.
3776 (cgraph_node_remove_callees): Remove indirect calls too.
3777 * cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
3778 (cgraph_create_indirect_edge): Update prototype.
3779 * ipa-reference.c (has_proper_scope_for_analysis): Rename to
3780 is_proper_for_analysis.
3781 (add_new_function, visited_nodes, function_insertion_hook_holder,
3782 get_local_reference_vars_info, mark_address_taken, mark_address,
3783 mark_load, mark_store, check_asm_memory_clobber, check_call,
3784 scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
3785 (ipa_init): Do not initialize visited_nodes;
3786 function_insertion_hook_holder.
3787 (analyze_variable): Rewrite.
3788 (analyze_function): Rewrite.
3789 (copy_local_bitmap): Remove.
3790 (duplicate_node_dat): Do not duplicate local info.
3791 (generate_summary): Simplify to only walk cgraph.
3792 (write_node_summary_p, ipa_reference_write_summary,
3793 ipa_reference_read_summary): Remove.
3794 (propagate): Do not remove function insertion;
3795 generate summary.
3796 (pass_ipa_reference): NULLify summary handling fields.
3797 * lto-cgraph.c (lto_output_edge): Output ecf_flags.
3798 (input_edge): Input ecf_flags.
3799 * ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
3800 (update_indirect_edges_after_inlining): Ignore edges with unknown
3801 param.
3802
87a0ebfd
ST
38032010-05-12 Sriraman Tallam <tmsriram@google.com>
3804
3805 * implicit-zee.c: New file.
3806 * tree-pass.h (pass_implicit_zee): Declare.
3807 * passes.c (init_optimization_passes): Add zee pass.
3808 * common.opt (fzee): New flag.
3809 * timevar.def (TV_ZEE): Define.
3810 * config/i386/i386.c (optimization_options): Turn on ZEE for level 2
3811 and beyond.
3812 * Makefile.in (implicit-zee.o): Add new build file.
3813
01f0a9dc
KH
38142010-05-12 Kazu Hirata <kazu@codesourcery.com>
3815 Nathan Froyd <froydnj@codesourcery.com>
3816
3817 * c-common.c (sync_resolve_params): Remove write-only variable.
3818
cbda7dc6
AS
38192010-05-12 Anatoly Sokolov <aesok@post.ru>
3820
3821 * target.h (struct gcc_target): Add mode_dependent_address_p field.
3822 * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
3823 (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
3824 * targhooks.c (default_mode_dependent_address_p): New function.
3825 * targhooks.h (default_mode_dependent_address_p): Declare function.
3826 * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
3827 (GO_IF_MODE_DEPENDENT_ADDRESS): Update.
ade52657 3828 * recog.c (mode_dependent_address_p): Call mode_dependent_address_p
cbda7dc6 3829 target hook. Change return type to bool.
ade52657 3830 * recog.h (mode_dependent_address_p): Change return type to bool.
cbda7dc6 3831
1df43907
KH
38322010-05-12 Kazu Hirata <kazu@codesourcery.com>
3833 Nathan Froyd <froydnj@codesourcery.com>
3834
3835 * tree-mudflap.c (build_function_type_0, build_function_type_1,
3836 build_function_type_2, build_function_type_3): Remove.
3837 (mudflap_init): Use build_function_type_list.
3838
f9b36bb3
KH
38392010-05-12 Kazu Hirata <kazu@codesourcery.com>
3840 Nathan Froyd <froydnj@codesourcery.com>
3841
3842 * coverage.c (build_fn_info_value): Call build_constructor instead of
3843 build_constructor_from_list.
3844 (build_ctr_info_value): Likewise.
3845 (build_gcov_info): Likewise.
3846
f88203b0
NF
38472010-05-12 Nathan Froyd <froydnj@codesourcery.com>
3848
3849 * tree.c (build_constructor): Compute TREE_CONSTANT for the
3850 resultant constructor.
3851 (build_constructor_single): Don't set TREE_CONSTANT.
3852 (build_constructor_from_list): Don't compute TREE_CONSTANT.
3853
b34fd25c
JH
38542010-05-12 Jan Hubicka <jh@suse.cz>
3855
3856 * cgraph.h (struct varpool_node): Add aux.
3857 * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
3858 * varpool.c (varpool_remove_node): Do not remove initializer.
3859 (varpool_reset_queue): Export.
3860 (varpool_finalize_decl): Volatile vars are forced to be output.
3861 * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
3862 replaced decl.
3863 * ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
3864 process_references, varpool_can_remove_if_no_refs): New functions.
3865 (cgraph_remove_unreachable_nodes): Handle variables too.
3866
49f19b1c
L
38672010-05-12 H.J. Lu <hongjiu.lu@intel.com>
3868
3869 PR target/44088
3870 * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
3871
7c2db0d3
JJ
38722010-05-12 Jakub Jelinek <jakub@redhat.com>
3873
f22f4340
JJ
3874 PR middle-end/44085
3875 * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
3876 change value of ORT_TASK.
3877 (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
3878 (omp_notice_threadprivate_variable): New function.
3879 (omp_notice_variable): Call it for threadprivate variables.
3880 If enclosing ctx is a task, print enclosing task rather than
3881 enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK.
3882 (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
3883 if task has untied clause.
3884
7c2db0d3
JJ
3885 PR debug/42278
3886 * dwarf2out.c (base_type_die): Don't add name attribute here.
3887 (modified_type_die): Instead of sizetype use
3888 its underlying original type. If a DW_TAG_base_type doesn't
3889 have name added, add __unknown__.
3890 (dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
3891 always call force_type_die instead.
3892
623a6941
MK
38932010-05-12 Maxim Kuvyrkov <maxim@codesourcery.com>
3894
3895 * targhooks.c (default_stack_protect_guard): Avoid sharing RTL
3896 for __stack_chk_guard.
3897
056928b2
JJ
38982010-05-11 Jakub Jelinek <jakub@redhat.com>
3899
9d000e83
JJ
3900 * c-opts.c (c_common_parse_file): If start_end_main_source_file,
3901 don't call start_source_file debug hook here...
3902 (finish_options): ... but here, after outputting predefined and
3903 command line defines and undefs.
3904
3b5fda81
JJ
3905 PR middle-end/44071
3906 * cfglayout.c (fixup_reorder_chain): Allow asm goto to have
3907 no fallthru edge.
3908 * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
3909 optimizing away empty bb with no successors, move over its
3910 footer chain to fallthru predecessor.
3911 * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
3912 (rtl_split_edge): For asm goto call patch_jump_insn even if
3913 splitting fallthru edge.
3914
3895ec53
JJ
3915 PR c++/44059
3916 * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
3917 even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
3918 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
3919 * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
3920 on DW.ref.* decls.
3921
056928b2
JJ
3922 PR c++/44062
3923 * c-parser.c (c_parser_expression): Mark LHS of a comma
3924 expression as read if it is a decl, handled component or
3925 COMPOUND_EXPR with that on the RHS.
3926 * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
3927 if it is a decl or handled component.
3928
9a809897
JH
39292010-05-11 Jan Hubicka <jh@suse.cz>
3930
3931 * lto-symtab.c (lto_symtab_free): New function.
3932 * lto-streamer.h (lto_symtab_free): Declare.
3933
39342010-05-11 Jan Hubicka <jh@suse.cz>
3935
3936 * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
3937 that if function is needed it is reachable.
3938 (lto_output_node): See if it the function is reachable or referenced.
3939 (output_cgraph): Update call of lto_output_node.
3940 * lto-streamer.h (reachable_from_other_partition_p): Declare.
3941
b8053194
JH
39422010-05-11 Jan Hubicka <jh@suse.cz>
3943
3944 * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
3945 Mark as used.
3946
1aa14195
JH
39472010-05-11 Jan Hubicka <jh@suse.cz>
3948
3949 PR tree-optimize/44063
c46a5e28
EB
3950 * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of
3951 queue.
1aa14195
JH
3952 (cgraph_decide_inlining_of_small_function): Skip check when disrgarding
3953 limits.
3954 (estimate_function_body_sizes): Compute sizes even when disregarding.
3955
f088f0ae
KT
39562010-05-11 Kai Tietz <kai.tietz@onevision.com>
3957
3958 * collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
3959
dcda03f4
JH
39602010-05-11 Jan Hubicka <jh@suse.cz>
3961
3962 * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
3963 into every boundary.
3964
ece02605
JH
39652010-05-11 Jan Hubicka <jh@suse.cz>
3966
3967 * matrix-reorg.c (matrix_reorg): Rebuild edges.
3968
cc56d170
JH
39692010-05-11 Jan Hubicka <jh@suse.cz>
3970
3971 * lto-streamer.c (lto_streamer_cache_add_to_node_array,
3972 lto_streamer_cache_delete): Put nodes into heap.
979aeb33
JH
3973 * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
3974 heap.
cc56d170 3975
99b766fc
JH
39762010-05-11 Jan Hubicka <jh@suse.cz>
3977
3978 * cgraphbuild.c (cgraph_rebuild_references): New.
a2acdf1f
JH
3979 * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
3980 out extern inlines.
99b766fc
JH
3981 * cgraph.h (cgraph_rebuild_references): Declare.
3982 * tree-inline.c (tree_function_versioning): Use it.
3983 * ipa-struct-reorg.c (do_reorg_for_func): Likewise.
3984
a940b4d9
JH
39852010-05-11 Jan Hubicka <jh@suse.cz>
3986
3987 * cgraph.c: Include ipa-utils.h
3988 (cgraph_create_virtual_clone): Update references.
3989 * Makefile.in (cgraph.o): Add dependency at ipa-utils.h
3990
57762e97
CB
39912010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
3992
78c7cabb 3993 * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
57762e97
CB
3994 prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
3995 cache size.
3996
a8beb3a7
CB
39972010-05-11 Christian Borntraeger <borntraeger@de.ibm.com>
3998
78c7cabb 3999 * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
a8beb3a7 4000
3f592b38
JJ
40012010-05-11 Jakub Jelinek <jakub@redhat.com>
4002
09b201fc
JJ
4003 * gcc.c (execute): For -### don't quote arguments that
4004 contain just alphanumerics and _/-. characters.
4005 * doc/invoke.texi: Document that change for -###.
4006
3f592b38
JJ
4007 PR debug/44023
4008 * df-problems.c (struct dead_debug): Add to_rescan field.
4009 (dead_debug_init): Clear to_rescan field.
4010 (dead_debug_finish): Rescan all debug insns in to_rescan
4011 bitmap and free the bitmap.
4012 (dead_debug_insert_before): Instead of rescanning debug insns
4013 immediately queue their rescanning until dead_debug_finish.
4014 (df_note_bb_compute): After dead_debug_add do continue instead
4015 of break.
4016
1de12eab
JJ
40172010-05-10 Jakub Jelinek <jakub@redhat.com>
4018
4019 PR debug/44028
4020 * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
4021 clear also INSN_REG_USE_LIST.
4022
e472d6bf
RO
40232010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4024
4025 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
4026
6cd174f6
JH
40272010-05-10 Jan Hubicka <jh@suse.cz>
4028
c46a5e28
EB
4029 * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally
4030 commited change.
6cd174f6 4031
5c4f225f
JH
40322010-05-10 Jan Hubicka <jh@suse.cz>
4033
c46a5e28
EB
4034 * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries):
4035 Allocate encoders.
5c4f225f
JH
4036 * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
4037 * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
4038 (lto_streamer_cache_create): Init alloc pool.
4039 (lto_streamer_cache_delete): Free alloc pool.
4040 * lto-streamer.h: Include alloc pool.
4041 (lto_streamer_cache_d): Use alloc pool.
4042 * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
4043
de61f467
JH
40442010-05-10 Jan Hubicka <jh@suse.cz>
4045
4046 * Makefile.in (cgraphbuild.o): Add dependency on except.h.
4047 * cgraphbuild.c: Include except.h
4048 (record_type_list, record_eh_tables): New function.
4049 (build_cgraph_edges, rebuild_cgraph_edges): Use it.
4050
e4fa83d3
JH
40512010-05-10 Jan Hubicka <jh@suse.cz>
4052
4053 * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
4054 __frame_dummy_init_array_entry, force_to_data): Attribute as used
4055 rather than unused.
4056
8a9ecffd
MM
40572010-05-10 Michael Matz <matz@suse.de>
4058
4059 * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
4060 (can_reassociate_p): Use FLOAT_TYPE_P.
4061 * tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
4062 (vect_force_simple_reduction): ... this.
62e59133 4063 * tree-parloops.c (gather_scalar_reductions): Use
8a9ecffd
MM
4064 vect_force_simple_reduction.
4065 * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
4066 vect_is_simple_reduction, add modify argument, if true rewrite
4067 "a-b" into "a+(-b)".
4068 (vect_is_simple_reduction, vect_force_simple_reduction): New
4069 functions.
4070 (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
4071
40722010-05-10 H.J. Lu <hongjiu.lu@intel.com>
4073 Vladimir Makarov <vmakarov@redhat.com>
46044dd9
L
4074
4075 PR rtl-optimization/44012
4076 * ira-build.c (remove_unnecessary_allocnos): Nullify
4077 regno_allocno_map of the removed allocno.
4078
2e2b183b
RO
40792010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4080
4081 * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
4082 to /dev/null.
4083 * configure: Regenerate.
4084
a93e1899
RO
40852010-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4086
4087 * config/sol2.c (solaris_assemble_visibility): Declare decl, vis
4088 unused.
4089 Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
4090 * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
4091 support in Sun ld.
4092 * configure: Regenerate.
4093
571943de
RG
40942010-05-10 Richard Guenther <rguenther@suse.de>
4095
4096 * lto-symtab.c (lto_symtab_entry_marked_p): Make entry
4097 marked if the entry identifier is marked.
4098
0b7b376d
RG
40992010-05-10 Richard Guenther <rguenther@suse.de>
4100
4101 * c-common.c (struct c_common_attributes): Add fnspec attribute.
4102 (handle_fnspec_attribute): New function.
4103 * gimple.h (gimple_call_return_flags): Declare.
4104 (gimple_call_arg_flags): Likewise.
4105 * gimple.c (gimple_call_arg_flags): New function.
4106 (gimple_call_return_flags): Likewise.
4107 * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
4108 New argument flags.
4109 (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
4110 return value flags.
4111 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
4112 * tree-ssa-structalias.c (make_constraint_from_heapvar): Split
4113 main work to ...
4114 (make_heapvar_for): ... this new function.
4115 (handle_rhs_call): Handle fnspec attribute argument specifiers.
4116 (handle_lhs_call): Likewise.
4117 (find_func_aliases): Adjust.
4118
1755aad0
RG
41192010-05-10 Richard Guenther <rguenther@suse.de>
4120
4121 PR tree-optimization/44050
62e59133 4122 * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag.
1755aad0 4123
333b67a9
WG
41242010-05-10 Wei Guozhi <carrot@google.com>
4125
4126 PR target/42879
4127 * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
4128
0fb96aa4
JM
41292010-05-09 Joseph Myers <joseph@codesourcery.com>
4130
4131 PR c/10676
4132 * c-typeck.c (lookup_field): Take a type directly. Update
4133 recursive calls.
4134 (build_component_ref): Update call to lookup_field.
4135 (set_init_label): Use lookup_field to find initialized field.
4136 Handle returned list of fields like a sequence of designators.
4137
3d7a712a
RG
41382010-05-09 Richard Guenther <rguenther@suse.de>
4139
4140 PR middle-end/44024
4141 * fold-const.c (tree_single_nonzero_warnv_p): Properly
4142 handle &FUNCTION_DECL.
4143
492fc0ee
JM
41442010-05-09 Joseph Myers <joseph@codesourcery.com>
4145
4146 PR c/4784
4147 * c-decl.c (detect_field_duplicates_hash): New. Handle anonymous
4148 structures and unions recursively.
4149 (detect_field_duplicates): Move duplicate detection with a hash to
4150 detect_field_duplicates_hash. Always use a hash if anonymous
4151 structures or unions are present.
4152 * doc/extend.texi (Unnamed Fields): Document that duplicate fields
4153 give errors.
4154
44f276c6
L
41552010-05-09 H.J. Lu <hongjiu.lu@intel.com>
4156
4157 PR target/44046
4158 * config/i386/driver-i386.c (host_detect_local_cpu): Properly
4159 detect Atom, Core 2 and Core i7.
4160
d6205185
RG
41612010-05-09 Richard Guenther <rguenther@suse.de>
4162
4163 * gcc.c (store_arg): Handle temporary file deletion for
4164 joined arguments.
4165
5588864d
RG
41662010-05-09 Richard Guenther <rguenther@suse.de>
4167
4168 PR middle-end/44043
4169 * ipa-inline.c (estimate_function_body_sizes): Return after
4170 disregarding inline limits.
4171
aa34f42c
RG
41722010-05-09 Richard Guenther <rguenther@suse.de>
4173
4174 * gcc.c (store_arg): Revert last change.
4175
844381e5
SL
41762010-05-08 Sandra Loosemore <sandra@codesourcery.com>
4177
4178 PR middle-end/28685
4179 * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
4180 (optimize_ops_list): Call it.
4181
43896afb
RG
41822010-05-08 Richard Guenther <rguenther@suse.de>
4183
4184 PR tree-optimization/44030
4185 * tree-ssa-pre.c (eliminate): Copy NECESSARY flag. Set
4186 NECESSARY flag if we propagate from a inserted expression.
4187
f56000ed
EB
41882010-05-08 Eric Botcazou <ebotcazou@adacore.com>
4189
4190 * gimple.c (gimple_types_compatible_p) <ARRAY_TYPE>: Treat bounds of
4191 domain types as equal if they are both PLACEHOLDER_EXPRs.
4192
1522167d
RG
41932010-05-08 Richard Guenther <rguenther@suse.de>
4194
4195 * lto-wrapper.c (run_gcc): Remove linker output from
4196 command line for LTRANS invocation.
4197
c082f9f3
SB
41982010-05-07 Steven Bosscher <steven@gcc.gnu.org>
4199
4200 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
4201 lto-macho as lto_binary_reader.
4202 * target.h (struct gcc_target): New hooks lto_start and lto_end.
4203 * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
4204 * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
4205 in lto_start and lto_end calls.
4206 (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O
4207 magic numbers.
4208 (scan_prog_file): Update is_elf_or_coff call.
4209 * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
4210
4211 * collect2.c (main): Fix enum comparison.
4212
4213 * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
4214 Add prototypes.
4215 * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
4216 * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START
4217 and TARGET_ASM_LTO_END.
4218 * darwin.c: Include obstack.h and lto-streamer.h.
4219 (lto_section_names_offset, lto_section_names_obstack,
4220 lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
4221 global variables.
4222 (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
4223 (darwin_asm_lto_start): New function. Redirect output to asm_out_file
4224 to a temporary file.
4225 (darwin_asm_lto_end): New function. Restore asm_out_file.
4226 (darwin_asm_named_section): For LTO sections, replace the name with
4227 the offset of the section name in a string table, and build this
4228 table.
4229 (darwin_file_start): Initialize global vars for LTO support.
4230 (darwin_file_end): If output to asm_out_file was redirected, append it
4231 to the proper asm_out_file here. Add the section names section.
4232
18bc5398
SB
42332010-05-07 Steven Bosscher <steven@gcc.gnu.org>
4234
4235 * c-pragma.c (pending_weak_d, pending_weak): New.
4236 (pending_weaks): Change the type to VEC((pending_weak,gc) *.
4237 (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks,
4238 handle_pragma_weak): Update the uses of pending_weaks.
4239
0f590a2d
RW
42402010-05-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4241
4242 PR documentation/44016
4243 * doc/standards.texi (Standards): Link to unversioned
4244 cxx0x_status.html page.
4245
3bd5cdeb
IS
42462010-05-07 Iain Sandoe <iains@gcc.gnu.org>
4247
4248 PR target/43708
4249 * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P
4250 in addition to TREE_USED, to avoid "set but unused" warnings.
4251
9bf4598b
CF
42522010-05-07 Changpeng Fang <changpeng.fang@amd.com>
4253
4254 * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New.
4255 (is_loop_prefetching_profitable): Do not insert prefetches
4256 when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO
4257 times the prefetch ahead distance.
4258
ccacf0e1
CF
42592010-05-07 Changpeng Fang <changpeng.fang@amd.com>
4260
4261 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable):
4262 Account for loop unrolling in the insn-to-prefetch ratio heuristic.
4263 (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable
4264 the unroll_factor.
4265
55e5a2eb
CF
42662010-05-07 Changpeng Fang <changpeng.fang@amd.com>
4267
4268 * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump
4269 a diagnostic info when the insn-to-mem ratio is too small.
4270
5cd0e96b
RG
42712010-05-07 Richard Guenther <rguenther@suse.de>
4272
4273 * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to
4274 the linker plugin.
4275 (store_arg): Queue temp_filename for deletion instead of
4276 the whole argument.
4277
48cf395b
RB
42782010-05-07 Richard Guenther <rguenther@suse.de>
4279
4280 * lto-wrapper.c (DUMPBASE_SUFFIX): Define.
4281 (run_gcc): Handle LTRANS phase invocation.
62e59133 4282 * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS.
48cf395b 4283
86b2c5b6
JJ
42842010-05-07 Jakub Jelinek <jakub@redhat.com>
4285
4286 * tree.h (TREE_ADDRESSABLE): Adjust comment to say that
4287 this is also meaningful on PARM_DECLs and RESULT_DECLs.
4288
c4e1e0b1
RO
42892010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4290
4291 * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.
4292
a7d4562a
RG
42932010-05-07 Richard Guenther <rguenther@suse.de>
4294
4295 PR tree-optimization/44020
4296 * tree-ssa-pre.c (execute_pre): Do not remove dead inserted
4297 code when PRE is not yet initialized.
4298
a6b02ef3
RO
42992010-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4300
4301 * config/mips/dbxmdebug.h: Remove.
4302 * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h.
4303
d42ba3b8
SZ
43042010-05-07 Shujing Zhao <pearly.zhao@oracle.com>
4305
4306 * c-typeck.c (build_binary_op): Warn ordered comparison of pointer
4307 with null pointer and also warn about ordered comparison of zero with
4308 pointer if -Wextra.
4309
a6733c71
AS
43102010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
4311
4312 * graphite-blocking.c
4313 (pbb_strip_mine_profitable_p): Replace Value with mpz_t.
4314 * graphite-clast-to-gimple.c
4315 (clast_to_gcc_expression): Same.
4316 (precision_for_value): Same.
4317 (precision_for_interval): Same.
4318 (gcc_type_for_interval): Same.
4319 (graphite_create_new_guard): Same.
4320 (compute_bounds_for_level): Same.
4321 (graphite_create_new_loop_guard): Same.
4322 * graphite-interchange.c
4323 (build_linearized_memory_access): Same.
4324 (pdr_stride_in_loop): Same.
4325 (memory_strides_in_loop_1): Same.
4326 (memory_strides_in_loop): Same.
4327 (extend_scattering): Same.
4328 (psct_scattering_dim_for_loop_depth): Same.
4329 (pbb_number_of_iterations): Same.
4330 * graphite-poly.h
4331 (debug_iteration_domains): Same.
4332 * graphite-ppl.c
4333 (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
4334 (ppl_set_inhomogeneous_gmp): Same.
4335 (ppl_strip_loop): Same.
4336 (ppl_lexico_compare_linear_expressions): Same.
4337 (ppl_read_polyhedron_matrix): Same.
4338 (ppl_max_for_le_pointset): Same.
4339 * graphite-ppl.h
4340 (ppl_read_polyhedron_matrix): Same.
4341 (tree_int_to_gmp): Same.
4342 (gmp_cst_to_tree): Same.
4343 (ppl_set_inhomogeneous): Same.
4344 (ppl_set_inhomogeneous_tree): Same.
4345 (ppl_set_coef): Same.
4346 (ppl_set_coef_tree): Same.
4347 * graphite-sese-to-poly.c
4348 (build_pbb_scattering_polyhedrons): Same.
4349 (build_scop_scattering): Same.
4350 (scan_tree_for_params_right_scev): Same.
4351 (scan_tree_for_params): Same.
4352 (find_params_in_bb): Same.
4353 (find_scop_parameters): Same.
4354 (add_upper_bounds_from_estimated_nit): Same.
4355 (build_loop_iteration_domains): Same.
4356 (add_condition_to_domain): Same.
4357 (pdr_add_memory_accesses): Same.
4358
43592010-05-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
4360
4361 * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve
4362 CLooG's value_* macros to their respective mpz_* counterparts.
4363 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same.
4364 (graphite_create_new_loop_guard): Same.
4365 * graphite-interchange.c (build_linearized_memory_access): Same.
4366 (pdr_stride_in_loop): Same.
4367 (memory_strides_in_loop_1): Same.
4368 (1st_interchange_profitable_p): Same.
4369 * graphite-poly.c (extend_scattering): Same.
4370 (psct_scattering_dim_for_loop_depth): Same.
4371 (pbb_number_of_iterations): Same.
4372 (pbb_number_of_iterations_at_time): Same.
4373 * graphite-poly.h (new_1st_loop): Same.
4374 * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same.
4375 (oppose_constraint): Same.
4376 (insert_constraint_into_matrix): Same.
4377 (ppl_set_inhomogeneous_gmp): Same.
4378 (ppl_set_coef_gmp): Same.
4379 (ppl_strip_loop): Same.
4380 (ppl_lexico_compare_linear_expressions): Same.
4381 (ppl_max_for_le_pointset): Same.
4382 (ppl_min_for_le_pointset): Same.
4383 (ppl_build_realtion): Same.
4384 * graphite-ppl.h (gmp_cst_to_tree): Same.
4385 (ppl_set_inhomogeneous): Same.
4386 (ppl_set_inhomogeneous_tree): Same.
4387 (ppl_set_coef): Same.
4388 (ppl_set_coef_tree): Same.
4389 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
4390 (build_scop_scattering): Same.
4391 (add_value_to_dim): Same.
4392 (scan_tree_for_params_right_scev): Same.
4393 (scan_tree_for_params_int): Same.
4394 (scan_tree_for_params): Same.
4395 (find_params_in_bb): Same.
4396 (find_scop_parameters): Same.
4397 (add_upper_bounds_from_estimated_nit): Same.
4398 (build_loop_iteration_domains): Same.
4399 (create_linear_expr_from_tree): Same.
4400 (add_condition_to_domain): Same.
4401 (pdr_add_memory_accesses): Same.
4402
14c2101d
JM
44032010-05-06 Magnus Fromreide <magfr@lysator.liu.se>
4404 Jason Merrill <jason@redhat.com>
4405
4406 * c-common.c (c_common_reswords): Add nullptr.
4407 * c-common.h: Add RID_NULLPTR. Reorganize C++0x rids.
4408 * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE.
4409 (gen_type_die_with_usage): Likewise.
4410 * dbxout.c (dbxout_type): Likewise.
4411 * sdbout.c (plain_type_1): Likewise.
4412
ebad5233
JM
44132010-05-06 Jason Merrill <jason@redhat.com>
4414
941f78d1
JM
4415 * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.
4416 Don't change GS_OK to GS_ALL_DONE. Make sure that all cases set
4417 ret appropriately.
4418 (gimplify_compound_lval): Return GS_ALL_DONE as appropriate.
4419
ebad5233
JM
4420 * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for
4421 stripping WITH_SIZE_EXPR.
4422 (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't
4423 change.
4424
9aaa1ee8
RO
44252010-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4426
4427 * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from
4428 list of obsolete configurations.
4429 Disabled check for obsolete configurations.
4430 (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
4431 Removed support for previous versions.
4432 * config/mips/iris.h: Removed.
4433 * config/mips/iris5.h: Removed.
4434 * config/mips/iris6.h: Merged old iris.h contents.
4435 (TARGET_IRIX): Removed.
4436 (DRIVER_SELF_SPECS): Removed mabi=32.
4437 (IDENT_ASM_OP): Removed undef.
4438 (STARTFILE_SPEC): Removed mabi=32.
4439 (ENDFILE_SPEC): Likewise.
4440 (IRIX_SUBTARGET_LINK_SPEC): Likewise.
4441 (MACHINE_TYPE): Update for IRIX 6.5.
4442 * config/mips/mips.c (mips_build_builtin_va_list): Replaced
4443 TARGET_IRIX by TARGET_IRIX6.
4444 (mips_file_start): Likewise.
4445 (mips_output_external): Remove IRIX 5/6 O32 support.
4446 (mips_output_function_prologue): Likewise.
4447 * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by
4448 TARGET_IRIX6.
4449 (TARGET_CPU_CPP_BUILTINS): Likewise.
4450 (TARGET_IRIX): Removed.
4451 * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
4452 (MULTILIB_DIRNAMES): Removed 32.
4453 (MULTILIB_OSDIRNAMES): Removed ../lib.
62e59133 4454 * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5.
9aaa1ee8 4455 (Specific, mips-sgi-irix5): Document removal.
62e59133 4456 (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal.
9aaa1ee8
RO
4457 Remove references to older IRIX 6 releases and the O32 ABI.
4458
5b8bd3d5
JJ
44592010-05-06 Jakub Jelinek <jakub@redhat.com>
4460
4461 PR bootstrap/43994
4462 * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
4463 instead of DF_REF_REAL_REG.
4464
e97580ce
DK
44652010-05-06 Dave Korn <dave.korn.cygwin@gmail.com>
4466
4467 PR target/43888
4468 * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
4469 handling to still return true for x64 targets.
4470
f24d84cc
MK
44712010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
4472
4473 * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.
4474
ef38b551
JH
44752010-05-06 Jan Hubicka <jh@suse.cz>
4476
4477 PR tree-optimization/43791
4478 * ipa-inline.c (update_caller_keys): Remove bogus
4479 disregard_inline_limits check.
4480
0ab555de
MM
44812010-05-06 Michael Matz <matz@suse.de>
4482
4483 PR tree-optimization/43984
4484 * tree-ssa-pre.c (inserted_phi_names): Remove.
4485 (inserted_exprs): Change to bitmap.
4486 (create_expression_by_pieces): Set bits, don't append to vector.
4487 (insert_into_preds_of_block): Don't handle inserted_phi_names.
4488 (eliminate): Don't look at inserted_phi_names, remove deleted
4489 insns from inserted_exprs.
62e59133 4490 (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors.
0ab555de
MM
4491 (init_pre, fini_pre): Allocate and free bitmaps.
4492 (execute_pre): Insert insns on edges before elimination.
4493
315a02da
MK
44942010-05-06 Maxim Kuvyrkov <maxim@codesourcery.com>
4495
4496 * tree.c (initializer_zerop): Handle STRING_CST.
4497
3734d960
MLI
44982010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
4499
4500 PR 40989
4501 * doc/invoke.texi (Wimplicit): Document as C only.
4502 * opts.c (common_handle_option): Add argument kind.
4503 (handle_option): Rename as read_cmdline_option. Factor out code to...
4504 (handle_option): ... here. New.
4505 (handle_options): Rename as read_cmdline_options.
4506 (decode_options): Update call.
4507 (set_option): Use option index instead of option pointer. Classify
4508 diagnostics correctly.
4509 (enable_warning_as_error): Call handle_option.
4510 * opts.h (set_option): Update declaration.
4511 (handle_option): Declare.
62e59133 4512 * langhooks.h (struct lang_hooks): Add argument kind to handle_option.
3734d960
MLI
4513 * c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
4514 * c-opts.c (set_Wimplicit): Delete.
4515 (c_family_lang_mask): New static constant.
4516 (c_common_handle_option): Add argument kind. Use handle_option
4517 instead of set_Wimplicit.
4518 (c_common_post_options): warn_implicit and warn_implicit_int
4519 are disabled by default.
4520 * c-common.c (warn_implicit): Do not define here.
4521 * c-common.h (warn_implicit): Do not declare here.
4522 (c_common_handle_option): Update declaration.
4523 * lto-opts.c (lto_reissue_options): Update call to set_option.
4524
2b90475a
RG
45252010-05-06 Richard Guenther <rguenther@suse.de>
4526
4527 PR tree-optimization/43571
4528 * domwalk.c (walk_dominator_tree): Walk the dominator
4529 sons in more optimal order.
4530
e3bdfed6
RG
45312010-05-06 Richard Guenther <rguenther@suse.de>
4532
4533 PR tree-optimization/43934
4534 * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
4535 (stmt_cost): Likewise.
4536 (extract_true_false_args_from_phi): New helper.
4537 (determine_max_movement): For PHI nodes verify we can hoist them
4538 and compute their cost.
4539 (determine_invariantness_stmt): Handle PHI nodes.
4540 (move_computations_stmt): Likewise. Hoist PHI nodes in
4541 if-converted form using COND_EXPRs.
62e59133 4542 (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes.
e3bdfed6
RG
4543 (tree_ssa_lim): Likewise.
4544 * tree-flow.h (tree_ssa_lim): Adjust prototype.
4545 * tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
4546
a81b065a
RG
45472010-05-06 Richard Guenther <rguenther@suse.de>
4548
4549 PR tree-optimization/43987
4550 * tree-ssa-structalias.c (could_have_pointers): For possibly
4551 address-taken variables force pointers to be recorded.
4552 (create_variable_info_for_1): Likewise.
4553 (push_fields_onto_fieldstack): Pass in wheter all fields
4554 must have pointers.
4555 (find_func_aliases): Query types instead of vars whether
4556 they contain pointers where appropriate.
4557
369451ec
JH
45582010-05-06 Jan Hubicka <jh@suse.cz>
4559
4560 * cgraphbuild.c (record_reference_ctx): Add varpool_node.
4561 (record_reference, mark_address, mark_load, mark_store): Record
4562 references.
4563 (record_references_in_initializer): Update call of record_references.
4564 (rebuild_cgraph_edges): Remove all references before rebuiding.
4565 * cgraph.c (cgraph_create_node): Clear ref list.
4566 (cgraph_remove_node): Remove references.
4567 (dump_cgraph_node): Dump references.
4568 (cgraph_clone_node): Clone references.
4569 * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
4570 (struct cgraph_node, varpool_node): Add ref_lst.
4571 * ipa-ref.c: New file.
4572 * ipa-ref.h: New file.
4573 * ipa-ref-inline.h: New file.
4574 * lto-cgraph.c (output_varpool): Take cgrag node set argument.
4575 (referenced_from_other_partition_p): New function.
4576 (lto_output_varpool_node): Take set arugment; call
4577 referenced_from_other_partition.
4578 (lto_output_ref): New.
4579 (add_references): New.
4580 (output_refs): New.
62e59133 4581 (output_cgraph): Compute boundary based on references; output refs.
369451ec
JH
4582 (output_varpool): Accept cgraph_node_set argument.
4583 (input_ref): New.
4584 (input_refs): New.
4585 (input_cgraph): Call input_refs.
4586 * lto-section-in.c (lto_section_name): Add refs.
ade52657 4587 * Makefile.in (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
369451ec
JH
4588 (ipa-ref.o): New file.
4589 * varpool.c (varpool_node): Clear ipa ref list.
4590 (varpool_remove_node): Remove references.
4591 (dump_varpool_node): Dump references.
4592 (varpool_assemble_decl): Only compile finalized ones.
4593 (varpool_extra_name_alias): Initialize ref list.
4594 * lto-streamer.c (lto-get_section_name): Add .refs section.
4595 * lto-streamer.h (lto_section_type): Add LTO_section_refs.
4596 (referenced_from_other_partition_p): Declared.
4597
7d8930a0
IR
45982010-05-06 Ira Rosen <irar@il.ibm.com>
4599
4600 PR tree-optimization/43901
4601 * tree-vect-stmts.c (vectorizable_call): Assert that vector
4602 type is not NULL if it's transformation phase, and return
4603 FALSE if it's analysis.
62e59133
UB
4604 (vectorizable_conversion, vectorizable_operation,
4605 vectorizable_type_demotion, vectorizable_type_promotion): Likewise.
7d8930a0 4606
a1c4f19f
AP
46072010-05-05 Andrew Pinski <andrew.pinski@caviumnetworks.com>
4608
4609 * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
4610 Delete.
4611 * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
4612 New define.
4613 * config/mips/mips-protos.h
4614 (mips_small_register_classes_for_mode_p): Delete prototype.
4615
93b338c3
BS
46162010-05-06 Bernd Schmidt <bernds@codesourcery.com>
4617
4618 * config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
4619 * config/arm/arm.c (multiple_operation_profitable_p,
4620 compute_offset_order): New static functions.
4621 (load_multiple_sequence, store_multiple_sequence): Use them.
4622 Replace constant 4 with MAX_LDM_STM_OPS. Compute order[0] from
4623 memory offsets, not register numbers.
4624 (emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
4625
50701474
SB
46262010-05-05 Steven Bosscher <steven@gcc.gnu.org>
4627
62e59133 4628 * stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
50701474
SB
4629 (get_pending_sizes, put_pending_size, put_pending_sizes):
4630 Update the uses of pending_sizes.
4631 * c-decl.c (store_parm_decls): Likewise.
4632 * c-tree.h (struct c_arg_info): Likewise.
4633 * tree.h: Update the prototype for get_pending_sizes and
4634 put_pending_sizes.
4635
564a129d
JM
46362010-05-05 Jason Merrill <jason@redhat.com>
4637
0f559c16
JM
4638 PR debug/43370
4639 * c-common.c (handle_aligned_attribute): Respect
4640 ATTR_FLAG_TYPE_IN_PLACE.
4641
564a129d
JM
4642 PR testsuite/43758
4643 * target.h (struct gcc_target): Add attribute_takes_identifier_p.
4644 * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
4645 (TARGET_INITIALIZER): Use it.
4646 * c-common.c (attribute_takes_identifier_p): Call it.
4647 * c-common.h: Update prototype.
4648 * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
4649 (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
4650
58c13acc
JJ
46512010-05-05 Jakub Jelinek <jakub@redhat.com>
4652
4653 PR debug/43950
4654 * dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
4655 DW_ID_down_case for Fortran compilation units.
4656
5b042919
JH
46572010-05-05 Jan Hubicka <jh@suse.cz>
4658
4659 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
4660 handle aliases.
4661
ca361dec
EB
46622010-05-05 Eric Botcazou <ebotcazou@adacore.com>
4663
4664 * gimplify.c (gimplify_return_expr): Gimplify the size expressions of
4665 a variable-sized RESULT_DECL.
4666
fa6aeae1
MK
46672010-05-05 Maxim Kuvyrkov <maxim@codesourcery.com>
4668
4669 * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
4670
6d729f28
JM
46712010-05-05 Jason Merrill <jason@redhat.com>
4672
4673 PR c++/43787
4674 * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
4675 returns GS_OK.
4676 (gimplify_modify_expr_rhs): Return GS_OK if anything changed.
4677
e972a1d3
AO
46782010-05-05 Alexandre Oliva <aoliva@redhat.com>
4679 Jakub Jelinek <jakub@redhat.com>
4680
4681 PR debug/43478
4682 * df-problems.c (struct dead_debug_use, struct dead_debug): New.
4683 (dead_debug_init, dead_debug_finish): New functions.
4684 (dead_debug_add, dead_debug_insert_before): Likewise.
4685 (df_note_bb_compute): Initialize a dead_debug object, add dead
4686 debug uses to it, insert debug bind insns before death insns,
4687 reset debug insns that refer to pending uses at the end.
4688 * rtl.h (make_debug_expr_from_rtl): New prototype.
4689 * varasm.c (make_debug_expr_from_rtl): New function.
4690
2f41ecf5
JH
46912010-05-05 Jan Hubicka <jh@suse.cz>
4692
4693 * lto-cgraph.c (output_varpool): Forward declare; work on encoder.
62e59133
UB
4694 (lto_varpool_encoder_new, lto_varpool_encoder_delete,
4695 lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
4696 lto_varpool_encoder_deref, lto_varpool_encoder_size,
2f41ecf5
JH
4697 lto_varpool_encoder_encode_initializer_p,
4698 lto_set_varpool_encoder_encode_initializer): New functions.
4699 (lto_output_cgraph): Take vset parameter too; compute varpool encoder;
4700 call output_varpool.
4701 (input_varpool_node): Do not always set analyzed.
4702 (input_cgraph_1): Return vector of cgraph nodes.
4703 (input_varpool_1): Return vector of varpools.
4704 (input_cgraph): Free the vectors.
4705 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
4706 output only initializers needed.
4707 (lto_output): Only call output_cgraph.
4708 (produce_asm_for_decls): Call lto_varpool_encoder_delete.
4709 * lto-section-out.c (lto_new_out_decl_state): Initialize
4710 state->varpool_node_encoder.
4711 * lto-streamer.h (lto_varpool_encoder_d): New.
62e59133 4712 (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
2f41ecf5
JH
4713 (lto_cgraph_encoder_delete, output_cgraph): Update prototype.
4714 (lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
4715 lto_varpool_encoder_encode, lto_varpool_encoder_delete,
4716 lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
4717 Declare.
4718 (output_varpool, input_varpool): Remove declarations.
4719
9e0546ef
JH
47202010-05-05 Jan Hubicka <jh@suse.cz>
4721
4722 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
4723 with body can prevail.
4724
47252010-05-05 Jan Hubicka <jh@suse.cz>
4726
4727 * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
4728 size.
4729
0277fabf
LB
47302010-05-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4731
62e59133 4732 * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
0277fabf
LB
4733
4734 * gengtype.h (erro_at_line): Constify pos argument.
4735
4736 * gengtype.c: Include hashtab.h.
4737 (enum gc_used): Document GC_MAYBE_POINTED_TO.
4738 (error_at_line): Constify pos argument.
4739 (do_typedef): Initialize p->opt field.
4740 (get_file_gtfilename): Fix comment typo.
4741 (struct walk_type_data): Constify line field.
4742 (get_output_file_for_structure): New function.
4743 (write_local_func_for_structure): Constify orig_s argument.
4744 Use get_output_file_for_structure.
4745 (write_func_for_structure): Use get_output_file_for_structure.
4746 (INDENT): New define.
4747 (dump_pair, dump_type, dump_type_list, dump_typekind)
4748 (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
4749 (dump_type_u_a, dump_type_u_param_struct, dump_everything): New
4750 functions.
4751 (seen_types): New variable.
4752 (main): New variable do_dump. Process "-d" command line option.
4753 Call dump_everything if dump requested.
4754
dbb2a2cb
JJ
47552010-05-05 Jakub Jelinek <jakub@redhat.com>
4756
4757 * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
4758 in a temporary instead of invoking the macro multiple times.
4759 (track_expr_p): Likewise.
4760
650cfcab
NV
47612010-05-04 Neil Vachharajani <nvachhar@google.com>
4762
4763 * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
4764 per new semantics.
4765 * opts.c (decode_options): Enable -Werror=coverage-mismatch.
4766 * coverage.c (get_coverage_counts): Always emit a warning. Adjust
4767 conditions for printing notes.
4768 * common.opt (-Wcoverage-mismatch): Allow negative, default to
4769 true, update documentation.
4770 * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
650cfcab 4771
97e3c923
JJ
47722010-05-04 Jakub Jelinek <jakub@redhat.com>
4773
4774 PR c/43981
4775 * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
4776 on dimen.
4777
ade6a9ac
L
47782010-05-04 H.J. Lu <hongjiu.lu@intel.com>
4779
4780 PR target/43799
62e59133 4781 * config/i386/i386.md (sse_prologue_save): Clobber CC register.
ade6a9ac
L
4782 (*sse_prologue_save_insn1): Likewise.
4783 (SSE prologue save splitter): Likewise.
4784
7ef5e86c
EB
47852010-05-04 Eric Botcazou <ebotcazou@adacore.com>
4786
4787 * tree.c (free_lang_data_in_one_sizepos): New inline function.
4788 (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
4789 types. Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
4790 (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
4791 all decls. Call it on DECL_FIELD_OFFSET of fields.
4792 (find_decls_types_r): Follow DECL_VALUE_EXPR.
4793 (iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
4794
6cbd3b6a
MJ
47952010-05-04 Martin Jambor <mjambor@suse.cz>
4796
4797 * tree-sra.c (build_access_from_expr_1): The first parameter type
4798 changed to simple tree.
4799 (build_access_from_expr): Likewise, gsi parameter was eliminated.
4800 (scan_assign_result): Renamed to assignment_mod_result, enum elements
4801 renamed as well.
4802 (build_accesses_from_assign): Removed all parameters except for a
4803 simple gimple statement. Now returns a simple bool.
4804 (scan_function): All non-analysis parts moved to separate functions
4805 sra_modify_function_body and ipa_sra_modify_function_body. Removed all
4806 parameters and updated both callers.
4807 (sra_modify_expr): Removed parameter data.
4808 (sra_modify_function_body): New function.
4809 (perform_intra_sra): Call sra_modify_function_body to modify the
4810 function body.
4811 (replace_removed_params_ssa_names): Parameter data changed into
4812 adjustments vector.
4813 (sra_ipa_modify_expr): Likewise. Also removed unused parameter gsi and
4814 changed the parameter dont_convert to convert with the opposite
4815 meaning.
4816 (sra_ipa_modify_assign): Parameter data changed into adjustments
4817 vector, return value changed to bool.
4818 (ipa_sra_modify_function_body): New function.
4819 (sra_ipa_reset_debug_stmts): Updated a comment.
4820 (modify_function): Use ipa_sra_modify_function_body to modify function
4821 body.
4822
2147c71c
L
48232010-05-04 H.J. Lu <hongjiu.lu@intel.com>
4824
4825 PR middle-end/43671
4826 * alias.c (true_dependence): Handle the same VALUE in x and mem.
4827 (canon_true_dependence): Likewise.
4828 (write_dependence_p): Likewise.
4829
85912441
JH
48302010-05-04 Jan Hubicka <jh@suse.cz>
4831
4832 * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
4833 * cgraphbuild.c: Include ipa-utils.h
4834 (record_reference_ctx): New struct.
4835 (record_reference): Simplify to work on initializers; not statements.
4836 (mark_address, mark_load, mark_store): New.
4837 (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
4838 walk PHI nodes too.
4839 (record_references_in_initializer): Update use of record_reference.
4840 (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
4841 walk PHI nodes too.
4842
688a10c2
JH
48432010-05-04 Jan Hubicka <jh@suse.cz>
4844
4845 * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
4846 node will be removed anyway.
4847 (lto_varpool_replace_node): Allow also unanalyzed nodes;
4848 relink aliases of node into prevailing node.
4849 * varpool.c (varpool_remove_node): Remove aliases properly;
4850 when removing node, remove all its aliases too; remove DECL_INITIAL
4851 of removed node; ggc_free the varpool node.
4852
27c2cfa6
RG
48532010-05-04 Richard Guenther <rguenther@suse.de>
4854
4855 PR tree-optimization/43879
4856 * tree-ssa-structalias.c (alias_get_name): Use
4857 DECL_ASSEMBLER_NAME if available.
4858 (create_function_info_for): Return the varinfo node.
4859 (ipa_pta_execute): Associate same-body aliases and extra names
4860 with their origin nodes varinfo. Dump DECL_ASSEMBLER_NAME.
4861
9c265c4d
KK
48622010-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
4863
62e59133 4864 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static.
9c265c4d 4865
a5c011cd
MP
48662010-05-04 Mikael Pettersson <mikpe@it.uu.se>
4867
4868 PR bootstrap/43964
4869 * ira-color.c (assign_hard_reg): Declare rclass and add_cost
4870 only if HONOR_REG_ALLOC_ORDER is not defined.
4871
622d360e
RG
48722010-05-04 Richard Guenther <rguenther@suse.de>
4873
4874 PR tree-optimization/43949
4875 * tree-vrp.c (extract_range_from_binary_expr): Only handle
4876 TRUNC_MOD_EXPR.
4877
cbb4feb3
JM
48782010-04-26 Jason Merrill <jason@redhat.com>
4879
4880 * c.opt (-fstrict-enums): New.
4881 * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
4882
67e67979
DU
48832010-05-03 David Ung <davidu@mips.com>
4884 James E. Wilson <wilson@codesourcery.com>
4885
e492f63b 4886 * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS,
67e67979
DU
4887 emit the trap instruction before the divide for TUNE_74K.
4888
42db504c
SB
48892010-05-03 Steven Bosscher <steven@gcc.gnu.org>
4890
4891 * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
4892 (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
4893 based on the above, for new target hook.
4894
4895 * hooks.c (hook_bool_mode_true): New generic hook.
4896 * hooks.h (hook_bool_mode_true): Add prototype.
4897
4898 * target.h (struct gcc_target): Add small_register_classes_for_mode_p
4899 target hook.
4900 * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
4901 target hook, set to hook_bool_mode_false.
4902 * regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
4903 * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
4904 with targetm.small_register_classes_for_mode_p.
4905 (find_reusable_reload): Likewise.
4906 (combine_reloads): Likewise.
4907 * reload1.c (reload_as_needed): Likewise.
4908 * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
4909 * ifcvt.c (noce_process_if_block, check_cond_move_block,
4910 dead_or_predicable): Likewise.
4911 * regmove.c (optimize_reg_copy_1): Likewise.
4912 * calls.c (prepare_call_address): Likewise.
4913 (precompute_register_parameters): Likewise.
4914
4915 * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
4916 hook definition.
4917 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
4918 implementation of the hook that considers all register classes
4919 small except for SH64.
4920 (sh_override_options): Use the new hook.
4921 * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
4922 Add prototype.
4923
4924 * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
4925 hook definition.
4926 * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
4927 implementation of the hook that considers all register classes
4928 small for THUMB1.
4929 * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
4930 Add prototype.
4931
4932 * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
4933 hook definition.
4934 * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
4935 implementation of the hook that considers all register classes
4936 small for MIPS16.
4937 * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
4938 Add prototype.
4939
4940 * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
4941 hook definition.
4942 * config/m32c/m32c.h: Likewise.
4943 * config/pdp11/pdp11.h: Likewise.
4944 * config/avr/avr.h: Likewise.
4945 * config/xtensa/xtensa.h: Likewise.
4946 * config/m68hc11/m68hc11.h: Likewise.
4947 * config/mn10300/mn10300.h: Likewise.
4948 * config/mcore/mcore.h: Likewise.
4949 * config/h8300/h8300.h: Likewise.
4950 * config/bfin/bfin.h: Likewise.
4951
4952 * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
4953 * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
4954
e6693cfa
AS
49552010-05-03 Anatoly Sokolov <aesok@post.ru>
4956
4957 * double-int.h (tree_to_double_int): Remove macro.
4958 (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
4959 * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
4960 (tree_to_double_int): New function.
4961 * double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
4962 Move ...
4963 * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
4964
8eb7bc3c
RG
49652010-05-03 Richard Guenther <rguenther@suse.de>
4966
4967 PR tree-optimization/43971
4968 * tree-ssa-structalias.c (get_constraint_for_1): Fix
4969 constraints in the !flag_delete_null_pointer_checks case.
4970
c4e26da1
JJ
49712010-05-03 Jakub Jelinek <jakub@redhat.com>
4972
4973 PR debug/43972
4974 * config/i386/i386.c (ix86_delegitimize_address): Make sure the
4975 result mode matches original rtl mode.
4976
2dfccd83
DK
49772010-05-03 Dave Korn <dave.korn.cygwin@gmail.com>
4978
2385a470 4979 PR target/43888
2dfccd83
DK
4980 * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
4981
18fdef20
UB
49822010-05-02 Uros Bizjak <ubizjak@gmail.com>
4983
4984 * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
4985 when processing flag options.
4986
7c393241
UB
49872010-05-02 Uros Bizjak <ubizjak@gmail.com>
4988
4989 * gcov-iov.c (main): Change format string placeholder
4990 from %#08x to 0x%08x.
4991 * genchecksum.c (dosum): Change format string placeholder
4992 from %#02x to 0x%02x.
4993
52c307ba
RG
49942010-05-02 Richard Guenther <rguenther@suse.de>
4995
4996 PR tree-optimization/43879
7c393241 4997 * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls.
52c307ba 4998
4896c7b8
BH
49992010-05-02 Bruno Haible <bruno@clisp.org>
5000
5001 * doc/extend.texi (Function Attributes): Fix a typo.
5002
34a47f6f
UB
50032010-05-02 Uros Bizjak <ubizjak@gmail.com>
5004
5005 Revert:
5006 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
5007 placeholder from 0x%x to %#x.
5008 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
7c393241
UB
5009 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
5010 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
5011 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
5012 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
5013 * config/i386/i386.c (ix86_target_string): Ditto.
34a47f6f 5014 * config/i386/i386.c (output_pic_addr_const): Ditto.
7c393241 5015 (print_operand): Ditto.
34a47f6f 5016
35c59d9c
UB
50172010-05-02 Uros Bizjak <ubizjak@gmail.com>
5018
5019 * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
5020 placeholder from 0x%x to %#x.
5021 (ASM_OUTPUT_DEBUG_DATA1): Ditto.
5022 (ASM_OUTPUT_DEBUG_DATA4): Ditto.
5023 (ASM_OUTPUT_DEBUG_DATA): Ditto.
5024 (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
5025 (ASM_OUTPUT_DEBUG_DATA8): Ditto.
5026 * optc-gen.awk: Ditto.
5027 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
5028 (HOST_WIDE_INT_PRINT_HEX): Ditto.
5029 (HOST_WIDEST_INT_PRINT_HEX): Ditto.
5030 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
35c59d9c 5031
82f81f18
AS
50322010-05-01 Anatoly Sokolov <aesok@post.ru>
5033
5034 * target.h (struct calls): Add function_value_regno_p field.
5035 * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
5036 (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
5037 * targhooks.c (default_function_value_regno_p): New function.
5038 * targhooks.h (default_function_value_regno_p): Declare function.
5039 * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
5040 * builtins.c. (apply_result_size): (Ditto.).
5041 * combine.c. (likely_spilled_retval_p): (Ditto.).
5042 * mode-switching.c. Include 'target.h'.
5043 (create_pre_exit): Use function_value_regno_p hook.
5044 * Makefile.in (mode-switching.o): Add dependency on TARGET_H.
5045 * doc/tm.texi (FUNCTION_VALUE_REGNO_P,
5046 TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
5047
5048 * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
5049 * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
5050 (ix86_function_value_regno_p): Declare as static, change argument
5051 type to const unsigned int.
5052 * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
5053
bab4d587
RG
50542010-05-01 Richard Guenther <rguenther@suse.de>
5055
5056 PR tree-optimization/43949
5057 * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
5058 types.
5059 (extract_range_from_binary_expr): Handle *_MOD_EXPR.
5060
3e93ff81
AS
50612010-05-01 Anatoly Sokolov <aesok@post.ru>
5062
5063 * rtl.h (CONST_DOUBLE_P): Define.
5064 (rtx_to_double_int): Declare.
5065 * emit-rtl.c (rtx_to_double_int): New function.
5066 * dwarf2out.c (insert_double): New function.
5067 (loc_descriptor, add_const_value_attribute): Clean up, use
5068 rtx_to_double_int and insert_double functions.
5069
bcbc9564
JW
50702010-05-01 Jonathan Wakely <jwakely.gcc@gmail.com>
5071
5072 * doc/extend.texi (Inline): Add missing return keyword to examples.
5073 (Function Attributes, Variable Attributes, Pragmas): Hyphenate
5074 "command-line".
5075
ce276b61
EB
50762010-04-30 Eric Botcazou <ebotcazou@adacore.com>
5077
5078 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
5079 the variable part of the offset as well. Use highest_pow2_factor for
5080 all alignment checks.
5081
82677400
RB
50822010-04-30 Richard Guenther <rguenther@suse.de>
5083
5084 PR tree-optimization/43879
5085 * tree-ssa-structalias.c (type_could_have_pointers): Functions
5086 can have pointers.
5087
cd71491e
JH
50882010-04-30 Jan Hubicka <jh@suse.cz>
5089
82677400
RB
5090 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with
5091 varpool.
cd71491e
JH
5092 (lto_symtab_merge_decls_1): Remove logic looking for an initializer.
5093
ace72c88
JH
50942010-04-30 Jan Hubicka <jh@suse.cz>
5095
82677400
RB
5096 * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p):
5097 New.
ace72c88
JH
5098 * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
5099 * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
5100 (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
5101 cgraph_node_set_needs_ltrans_p): Remove.
5102
b6feb796
SB
51032010-04-30 Steven Bosscher <steven@gcc.gnu.org>
5104
5105 * sdbout.c: Include vec.h, do not include varray.h.
5106 (deferred_global_decls, sdbout_global_decl,
5107 sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
5108 * toplev.c: Do not include varray.h.
5109 (dump_memory_report): Do not dump VARRAY statistics.
5110 * gengtype.c (open_base_file): Ignore varray.h.
5111 * Makefile.in: Update for abovementioned changes.
5112 Remove all traces of varray.c and varray.h.
5113 * varray.c: Remove file.
5114 * varray.h: Remove file.
5115
05575e07
JH
51162010-04-30 Jan Hubicka <jh@suse.cz>
5117
5118 * lto-cgraph.c (lto_output_varpool_node): Always output constant pool
5119 references.
5120
9c6e0798
JH
51212010-04-30 Jan Hubicka <jh@suse.cz>
5122
5123 * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
5124 needed.
5125
47d8a903
RG
51262010-04-30 Richard Guenther <rguenther@suse.de>
5127
5128 * tree-ssa-structalias.c (get_constraint_for_1): Generate
5129 constraints for CONSTRUCTOR.
5130
b6050cb7
RG
51312010-04-30 Richard Guenther <rguenther@suse.de>
5132
5133 PR lto/43946
5134 * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
5135 first after all lowering passes.
5136
9aae8d16
SB
51372010-04-30 Steven Bosscher <steven@gcc.gnu.org>
5138
5139 * toplev.c: Include varray.h for statistics dumping.
5140 * tree.h: Do not declare varray_head_tag.
5141 * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
5142 regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
5143 c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
5144 gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
5145 lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
5146 tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
5147 c-common.c, c-common.h, reg-stack.c, basic-block.h,
5148 tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
5149 include varray.h.
5150 * Makefile.in: Update for abovementioned changes.
5151
a07ecd2b
JJ
51522010-04-30 Jakub Jelinek <jakub@redhat.com>
5153
5154 PR debug/43942
5155 * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
5156
41700fc3
HS
51572010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
5158
5159 * config/picochip/picochip.c (picochip_legitimize_address): Define.
5160 Use this function to do machine-specific conversion.
5161 (picochip_legitimize_reload_address): Likewise.
5162 (picochip_legitimate_address_p): Check valid base register only if
5163 strict.
5164 (picochip_check_conditional_copy): Check for modw only if opnd is
5165 register.
5166 * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
5167 to call the function in c.
5168 * config/picochip/picochip-protos.h
5169 (picochip_legitimize_reload_address): Define.
5170 * config/picochip/picochip.md (supported_compare1): Define.
5171
8b4765bf
JH
51722010-04-30 Jan Hubicka <jh@suse.cz>
5173
5174 * cgraph.h (cgraph_local_info): Remove for_functions_valid.
5175 (cgraph_global_info): Remove inlined.
5176 (LTO_cgraph_tag_names): Remove.
5177 (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
5178 * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
5179 simplify cgraph tags and document.
5180 (lto_output_node): Use only LTO_cgraph_unavail_node and
5181 LTO_cgraph_analyzed_node; Do not save analzed, reachable,
35c59d9c 5182 for_functions_valid, global info, process and output flags.
8b4765bf 5183 (input_overwrite_node): Initialize estimated stack size and
35c59d9c 5184 estimated growth. Do not read flags we no longer store.
8b4765bf
JH
5185 (input_node): Likewise do not read info no longer stored.
5186 * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
5187 flag.
5188
4be68d9a
RG
51892010-04-30 Richard Guenther <rguenther@suse.de>
5190
5191 PR tree-optimization/43879
5192 * tree-ssa-structalias.c (get_constraint_for_1): Properly
5193 handle non-zero initializers.
5194
06468254
RG
51952010-04-30 Richard Guenther <rguenther@suse.de>
5196
5197 * builtins.c (fold_builtin_1): Delete free (0).
5198
8b4765bf 51992010-04-29 Jan Hubicka <jh@suse.cz>
49ba8180
JH
5200
5201 * gengtype.c (open_base_files): Add lto-streamer.h
5202 * cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
5203 (pass_ipa_cp): GGC collect.
5204 * toplev. (compile_file): Do not output symbols.
5205 * ipa-inline.c (pass_ipa_inline): Add ggc collect.
5206 * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
5207 TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
5208 * lto-section-in.c: Include ggc.h
5209 (lto_new_in_decl_state): Alloc in GGC.
5210 (lto_delete_in_decl_state): Likewise.
35c59d9c
UB
5211 * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program):
5212 Collect.
49ba8180 5213
5a733826
BS
52142010-04-29 Bernd Schmidt <bernds@codesourcery.com>
5215
5216 PR target/42895
5217 * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
5218 ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed.
5219 (HONOR_REG_ALLOC_ORDER): Describe new macro.
5220 * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
5221 * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
5222 account only if HONOR_REG_ALLOC_ORDER is not defined.
5223 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
5224 * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
35c59d9c
UB
5225
52262010-04-29 Jon Grant <04@jguk.org>
5227
7c6d86cc
JG
5228 * collect2.c (vflag): Change type from int to bool.
5229 (debug): Likewise.
5230 (helpflag): New global bool.
35c59d9c
UB
5231 (main): Set vflag and debug with boolean, not integer truth values.
5232 Accept new "--help" option and output usage text if found.
7c6d86cc
JG
5233 * collect2.h (vflag): Update prototype.
5234 (debug): Likewise.
35c59d9c 5235
55040b34
L
52362010-04-29 H.J. Lu <hongjiu.lu@intel.com>
5237
716a3481 5238 PR bootstrap/43936
35c59d9c 5239 * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks.
55040b34 5240
46e70c4e
RG
52412010-04-29 Richard Guenther <rguenther@suse.de>
5242
5243 PR bootstrap/43935
5244 * plugin.h (invoke_plugin_callbacks): Annotate arguments
5245 with ATTRIBUTE_UNUSED.
5246
0d0539f0
L
52472010-04-29 H.J. Lu <hongjiu.lu@intel.com>
5248
5249 PR target/43921
5250 * config/i386/i386.c (get_some_local_dynamic_name): Replace
5251 INSN_P with NONDEBUG_INSN_P.
5252 (distance_non_agu_define): Likewise.
5253 (distance_agu_use): Likewise.
5254
8e5f0b49
BS
52552010-04-29 Bernd Schmidt <bernds@codesourcery.com>
5256
5257 From Dominique d'Humieres <dominiq@lps.ens.fr>
5258 PR bootstrap/43858
5259 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
5260 test_set.
5261
35c59d9c 52622010-04-29 Brian Hackett <bhackett1024@gmail.com>
efda3807
BH
5263
5264 * plugin.h (invoke_plugin_callbacks): New inline function.
5265 * plugin.c (flag_plugin_added): New global flag.
5266 (add_new_plugin): Initialize above flag.
5267 (invoke_plugin_callbacks): Rename to ...
5268 (invoke_plugin_callbacks_full): ... this.
5269
2942c502
JH
52702010-04-28 Jan Hubicka <jh@suse.cz>
5271
5272 * lto-symtab.c (lto_symtab_entry_def) Add vnode.
5273 (lto_varpool_replace_node): New.
5274 (lto_symtab_resolve_symbols): Resolve varpool nodes.
5275 (lto_symtab_merge_decls_1): Prefer decls with varpool node.
5276 (lto_symtab_merge_cgraph_nodes_1): Merge varpools.
5277 * cgraph.h (varpool_node_ptr): New type.
5278 (varpool_node_ptr): New vector.
5279 (varpool_node_set_def): New structure.
5280 (varpool_node_set): New type.
5281 (varpool_node_set): New vector.
5282 (varpool_node_set_element_def): New structure.
5283 (varpool_node_set_element, const_varpool_node_set_element): New types.
5284 (varpool_node_set_iterator): New type.
5285 (varpool_node): Add prev pointers, add used_from_other_partition,
5286 in_other_partition.
5287 (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
5288 varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
5289 varpool_get_node, varpool_remove_node): Declare.
5290 (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
5291 varpool_node_set_size): New inlines.
5292 * cgraph.c (dump_cgraph_node): Dump asm names of aliases.
5293 * tree-pass.h (varpool_node_set_def): Forward declare.
5294 (ipa_opt_pass_d): Summary writting takes vnode sets too.
5295 (ipa_write_optimization_summaries): Update prototype.
5296 * ipa-cp.c (ipcp_write_summary): Update.
5297 * ipa-reference.c (ipa_reference_write_summary): Update.
5298 * lto-cgraph.c (lto_output_varpool_node): New static function.
5299 (output_varpool): New function.
5300 (input_varpool_node): New static function.
5301 (input_varpool_1): New function.
5302 (input_cgraph): Input varpool.
5303 * ipa-pure-const.c (pure_const_write_summary): Update.
5304 * lto-streamer-out.c (lto_output): Update, output varpool too.
5305 (write_global_stream): Kill WPA hack.
5306 (produce_asm_for_decls): Update.
5307 (output_alias_pair_p): Handle variables.
5308 (output_unreferenced_globals): Output only needed partition of varpool.
5309 * ipa-inline.c (inline_write_summary): Update.
35c59d9c
UB
5310 * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build
5311 cgraph.
2942c502
JH
5312 * lto-section-in.c (lto_section_name): Add varpool and jump funcs.
5313 * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
5314 varpool_node_set_new, varpool_node_set_add,
5315 varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
5316 debug_varpool_node_set): New functions.
5317 * passes.c (rest_of_decl_compilation): when in LTO do not finalize.
5318 (execute_one_pass): Process new decls too.
5319 (ipa_write_summaries_2): Pass around vsets.
5320 (ipa_write_summaries_1): Likewise.
5321 (ipa_write_summaries): Build vset; be more selective about cgraph nodes
5322 to add.
5323 (ipa_write_optimization_summaries_1): Pass around vsets.
5324 (ipa_write_optimization_summaries): Likewise.
5325 * varpool.c (varpool_get_node): New.
5326 (varpool_node): Update doubly linked lists.
5327 (varpool_remove_node): New.
5328 (dump_varpool_node): More dumping.
5329 (varpool_enqueue_needed_node): Update doubly linked lists.
5330 (decide_is_variable_needed): Kill ltrans hack.
5331 (varpool_finalize_decl): Kill lto hack.
5332 (varpool_assemble_decl): Skip decls in other partitions.
5333 (varpool_assemble_pending_decls): Update doubly linkes lists.
5334 (varpool_empty_needed_queue): Likewise.
5335 (varpool_extra_name_alias): Likewise.
5336 * lto-streamer.c (lto_get_section_name): Add vars section.
5337 * lto-streamer.h (lto_section_type): Update.
5338 (output_varpool, input_varpool): Declare.
5339
da7f2697
MS
53402010-04-28 Mike Stump <mikestump@comcast.net>
5341
74ca3393 5342 * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
da7f2697 5343
91eace2b
EB
53442010-04-28 Eric Botcazou <ebotcazou@adacore.com>
5345
5346 * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
5347 record or union type with RECORD_OR_UNION_TYPE_P predicate.
5348 (lto_input_ts_type_tree_pointers): Likewise.
5349 * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
5350 (lto_output_ts_type_tree_pointers): Likewise.
5351
8478130d
EB
53522010-04-28 Eric Botcazou <ebotcazou@adacore.com>
5353
5354 Uniquization of constants at the Tree level
20225a9b 5355 * tree.h (DECL_IN_CONSTANT_POOL): New macro.
8478130d
EB
5356 (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
5357 bit to the end.
5358 (tree_output_constant_def): Declare.
20225a9b 5359 * gimplify.c (gimplify_init_constructor): When using block copy, first
8478130d 5360 uniquize the constant constructor on the RHS.
20225a9b
EB
5361 * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
5362 DECL_IN_CONSTANT_POOL flag.
8478130d 5363 * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
20225a9b
EB
5364 * varasm.c (make_decl_rtl): Deal with variables belonging to the global
5365 constant pool.
8478130d
EB
5366 (assemble_variable): Deal with symbols belonging to the tree constant
5367 pool.
5368 (get_constant_section): Add ALIGN parameter and simplify.
5369 (build_constant_desc): Build a VAR_DECL and attach it to the symbol.
5370 (assemble_constant_contents): Use the expression of the VAR_DECL.
5371 (output_constant_def_contents): Use the alignment of the VAR_DECL.
5372 (tree_output_constant_def): New global function.
5373 (mark_constant): Use the expression of the VAR_DECL.
20225a9b
EB
5374 (place_block_symbol): Use the alignment of the VAR_DECL and the size of
5375 its expression.
8478130d
EB
5376 (output_object_block): Likewise and assemble the expression.
5377
331c7fcd
EB
53782010-04-28 Eric Botcazou <ebotcazou@adacore.com>
5379
5380 * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
5381 hash_tree, eq_tree): New tree hash table.
5382 (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
5383 [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
5384 lto_orig_address_remove): Reimplement.
5385
34f97b94
XDL
53862010-04-28 Xinliang David Li <davidxl@google.com>
5387
5388 PR c/42643
5389 * tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
5390 (compute_uninit_opnds_pos): New function.
5391 (is_non_loop_exit_postdominating): New function.
5392 (compute_control_dep_chain): New function.
5393 (find_pdom): New function.
5394 (convert_control_dep_chain_into_preds): New function.
5395 (find_predicates): New function.
5396 (find_control_equiv_block): New function.
5397 (collect_phi_def_edges): New function.
5398 (find_def_preds): New function.
5399 (find_dom): New function.
5400 (dump_predicates): New function.
5401 (get_cmp_code): New function.
5402 (is_value_included_in): New function.
5403 (find_matching_predicate_in_rest_chains): New function.
5404 (use_pred_not_overlap_with_undef_path_pred): New function.
5405 (is_use_properly_guarded): New function.
5406 (normalize_cond_1): New function.
5407 (is_and_or_or): New function.
5408 (normalize_cond): New function.
5409 (is_gcond_subset_of): New function.
5410 (is_subset_of_any): New function.
5411 (is_or_set_subset_of): New function.
5412 (is_and_set_subset_of): New function.
5413 (is_norm_cond_subset_of): New function.
5414 (is_pred_expr_subset_of): New function.
5415 (is_pred_chain_subset_of): New function.
5416 (is_included_in): New function.
5417 (is_superset_of): New function.
5418 (find_uninit_use): New function.
5419 (warn_uninitialized_phi): New function.
5420 (compute_possibly_undefined_names): New function.
5421 (ssa_undefined_value_p): New function.
5422 (execute_late_warn_uninitialized): New function.
5423 * tree-ssa.c (ssa_undefined_value_p): Removed.
5424 (warn_uninit): Changed to extern.
5425 (warn_uninitialized_phi): Removed.
5426 (warn_uninitialized_vars): Changed to extern.
5427 (execute_late_warn_uninitialized): Removed
5428 * tree-flow.h: Add new prototypes.
5429 * timevar.def: Add new time variable.
5430 * Makefile.in: Add new build file.
5431
85fac79c
UB
54322010-04-28 Uros Bizjak <ubizjak@gmail.com>
5433
5434 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
5435 type if available.
5436
902a51a1
RO
54372010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5438
5439 PR target/22224
5440 * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.
5441
e33c6cd6
MJ
54422010-04-28 Martin Jambor <mjambor@suse.cz>
5443
5444 * cgraph.h (struct cgraph_node): New field indirect_calls.
5445 (struct cgraph_indirect_call_info): New type.
5446 (struct cgraph_edge): Removed field indirect_call. New fields
5447 indirect_info, indirect_inlining_edge and indirect_unknown_callee.
5448 (cgraph_create_indirect_edge): Declare.
5449 (cgraph_make_edge_direct): Likewise.
5450 (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
5451 * ipa-prop.h (struct ipa_param_call_note): Removed.
5452 (struct ipa_node_params): Removed field param_calls.
5453 (ipa_create_all_structures_for_iinln): Declare.
5454 * cgraph.c: Described indirect edges and uids in initial comment.
5455 (cgraph_add_edge_to_call_site_hash): New function.
5456 (cgraph_edge): Search also among the indirect edges, use
5457 cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
5458 (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
5459 one, use cgraph_add_edge_to_call_site_hash to add edges to the call
5460 site hash.
5461 (initialize_inline_failed): Assign a reason to indirect edges.
5462 (cgraph_create_edge_1): New function.
5463 (cgraph_create_edge): Moved some functionality to
5464 cgraph_create_edge_1.
5465 (cgraph_create_indirect_edge): New function.
5466 (cgraph_edge_remove_callee): Add an assert checking for
5467 non-indirectness.
5468 (cgraph_edge_remove_caller): Special-case indirect edges.
5469 (cgraph_remove_edge): Likewise.
5470 (cgraph_set_edge_callee): New function.
5471 (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
5472 (cgraph_make_edge_direct): New function.
5473 (cgraph_update_edges_for_call_stmt_node): Do nothing only when also
5474 the declaration of the call statement matches.
5475 (cgraph_node_remove_callees): Special-case indirect edges.
5476 (cgraph_clone_edge): Likewise.
5477 (cgraph_clone_node): Clone also the indirect edges.
5478 (dump_cgraph_node): Dump indirect_inlining_edge flag instead of
5479 indirect_call, dump count of indirect_calls edges.
5480 * ipa-prop.c (iinlining_processed_edges): New variable.
5481 (ipa_note_param_call): Create indirect edges instead of
5482 creating notes. New parameter node.
5483 (ipa_analyze_call_uses): New parameter node, pass it on to
5484 ipa_note_param_call.
5485 (ipa_analyze_stmt_uses): Likewise.
5486 (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
5487 (print_edge_addition_message): Work on edges rather than on notes.
5488 (update_call_notes_after_inlining): Likewise, renamed to
5489 update_indirect_edges_after_inlining.
5490 (ipa_create_all_structures_for_iinln): New function.
5491 (ipa_free_node_params_substructures): Do not free notes.
5492 (ipa_edge_duplication_hook): Propagate bits within
5493 iinlining_processed_edges bitmap.
5494 (ipa_node_duplication_hook): Do not duplicate notes.
5495 (free_all_ipa_structures_after_ipa_cp): Renamed to
5496 ipa_free_all_structures_after_ipa_cp.
5497 (free_all_ipa_structures_after_iinln): Renamed to
62e59133 5498 ipa_free_all_structures_after_iinln.
e33c6cd6
MJ
5499 (ipa_write_param_call_note): Removed.
5500 (ipa_read_param_call_note): Removed.
5501 (ipa_write_indirect_edge_info): New function.
5502 (ipa_read_indirect_edge_info): Likewise.
5503 (ipa_write_node_info): Do not stream notes, do stream information
5504 in indirect edges.
5505 (ipa_read_node_info): Likewise.
5506 (lto_ipa_fixup_call_notes): Removed.
5507 * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
5508 * ipa-inline.c (pass_ipa_inline): Likewise.
5509 * cgraphunit.c (verify_cgraph_node): Check also indirect edges.
5510 * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
5511 * tree-inline.c (copy_bb): Removed an unnecessary double check for
5512 is_gimple_call.
5513 * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
5514 edges.
5515 * lto-cgraph.c (output_outgoing_cgraph_edges): New function.
5516 (output_cgraph): Stream also indirect edges.
5517 (lto_output_edge): Added capability to stream indirect edges.
5518 (input_edge): Likewise.
5519 (input_cgraph_1): Likewise.
f3d1b157
MJ
5520 * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
5521 of indirect edges.
e33c6cd6 5522
18abb35e
RG
55232010-04-28 Richard Guenther <rguenther@suse.de>
5524
5525 PR tree-optimization/43879
5526 PR tree-optimization/43909
5527 * tree-ssa-structalias.c (struct variable_info): Add
5528 only_restrict_pointers flag.
5529 (new_var_info): Initialize it. Increment stats.total_vars here.
62e59133 5530 (create_function_info_for): Do not increment stats.total_vars here.
18abb35e
RG
5531 (get_function_part_constraint): Fix build with C++.
5532 (insert_into_field_list): Remove.
5533 (push_fields_onto_fieldstack): Properly merge fields.
5534 (create_variable_info_for): Split and simplify.
5535 (create_variable_info_for_1): New piece.
5536 (intra_create_variable_infos): Properly make restrict constraints
5537 from parameters.
5538
c718820a
RG
55392010-04-28 Richard Guenther <rguenther@suse.de>
5540
5541 PR c++/43880
35c59d9c 5542 * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs.
c718820a 5543
5dc16b19
MLI
55442010-04-27 Manuel López-Ibáñez <manu@gcc.gnu.org>
5545 Jan Hubicka <hubicka@ucw.cz>
5546
5547 * doc/invoke.texi (-Wsuggest-attribute=const,
5548 -Wsuggest-attribute=pure): Document.
5549 * ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
5550 (function_always_visible_to_compiler_p,
5551 suggest_attribute, warn_function_pure, warn_function_const):
5552 New functions.
5553 (check_call): Improve debug info.
5554 (analyze_function): Do not check availability.
5555 (add_new_function): Check availability.
5556 (propagate): Output warnings.
5557 (skip_function_for_local_pure_const): New function.
5558 (local_pure_const): Use it; output warnings.
5559 * common.opt (Wsuggest-attribute=const,
5560 Wsuggest-attribute=pure): New.
5561
78b41ae2
JJ
55622010-04-27 Jakub Jelinek <jakub@redhat.com>
5563
5564 * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
5565 force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
5566 or DW_CFA_def_cfa_offset{,_sf}.
5567
62107106
EB
55682010-04-27 Eric Botcazou <ebotcazou@adacore.com>
5569
5570 * tree.h: Fix truncated long macros.
5571
ad211091
KT
55722010-04-27 Kai Tietz <kai.tietz@onevision.com>
5573
5574 * collect2.c (TARGET_64BIT): Redefine to target's default.
5575 * tlink.c: Likewise.
5576 * config/i386/cygming.h (USER_LABEL_PREFIX): Define
5577 dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
5578 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
5579 for underscoring __USER_LABEL_PREFIX__.
5580 * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
5581 (SUB_LINK_ENTRY32): New.
5582 (SUB_LINK_ENTRY64): New.
85fac79c 5583 (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
ad211091
KT
5584 * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
5585 (SUB_LINK_ENTRY64): New.
5586 (SUB_LINK_ENTRY): New.
5587 (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
5588 (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
5589 x64 target is choosen.
5590 * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
5591 * configure: Regenerated.
5592 * configure.ac (leading-mingw64-underscores): Option added.
5593
e65bb9be
JH
55942010-04-27 Jan Hubicka <jh@suse.cz>
5595
5596 * doc/invoke.texi (-fipa-profile): Document.
5597 * opts.c (decode_options): Enable ipa-profile at -O1.
5598 * timevar.def (TV_IPA_PROFILE): Define.
5599 * common.opt (fipa-profile): Add.
62107106
EB
5600 * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
5601 flag for clones.
e65bb9be
JH
5602 (cgraph_propagate_frequency): Handle only local ones.
5603 * tree-pass.h (pass_ipa_profile): Declare.
5604 * ipa-profile.c (gate_profile): Use flag_ipa_profile.
5605 (pass_ipa_profile): Use TV_IPA_PROFILE.
5606 * ipa.c (ipa_profile): New function.
5607 (gate_ipa_profile): Likewise.
5608 (pass_ipa_profile): New global variable.
5609 * passes.c (pass_ipa_profile): New.
5610
8606c81d
NF
56112010-04-27 Nathan Froyd <froydnj@codesourcery.com>
5612
5613 * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
5614
78eaf7bf
MJ
56152010-04-27 Martin Jambor <mjambor@suse.cz>
5616
5617 PR middle-end/43812
5618 * ipa.c (dissolve_same_comdat_group_list): New function.
5619 (function_and_variable_visibility): Call
5620 dissolve_same_comdat_group_list when comdat group contains external or
5621 newly local nodes.
5622 * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
5623 lists are circular and that they contain only DECL_ONE_ONLY nodes.
5624
5b56d3bb
EB
56252010-04-27 Eric Botcazou <ebotcazou@adacore.com>
5626
5627 * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
5628 (const_hash_1) <VECTOR_CST>: New case.
5629 (compare_constant) <VECTOR_CST>: Likewise.
5630 <ADDR_EXPR>: Deal with LABEL_REFs.
5631 (copy_constant) <VECTOR_CST>: New case.
5632
fa5f5e27
JH
56332010-04-27 Jan Hubicka <jh@suse.cz>
5634
5635 * cgraph.c (cgraph_propagate_frequency): New function.
5636 * cgraph.h (cgraph_propagate_frequency): Declare.
5637 * ipa-inline.c (cgraph_clone_inlined_nodes): Call
5638 cgraph_propagate_frequency.
5639
934f5b42
JJ
56402010-04-27 Jakub Jelinek <jakub@redhat.com>
5641
5642 * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
5643
cb751cbd
BS
56442010-04-27 Bernd Schmidt <bernds@codesourcery.com>
5645
5646 PR target/40657
5647 * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
5648 (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
5649 here to determine which regs to push and how much stack to reserve.
5650
a5027830
JZ
56512010-04-27 Jie Zhang <jie@codesourcery.com>
5652
5653 * doc/gimple.texi (gimple_statement_with_ops): Remove
5654 addresses_taken field.
5655 (gimple_statement_with_memory_ops): Likewise.
5656
d89488ec
JH
56572010-04-27 Jan Hubicka <jh@suse.cz>
5658
5659 * tree-inline.c (eni_inlining_weights): Remove.
5660 (estimate_num_insns): Special case more builtins.
5661
637f1455 56622010-04-27 Shujing Zhao <pearly.zhao@oracle.com>
85fac79c 5663
637f1455
SZ
5664 PR c/32207
5665 * c-typeck.c (build_binary_op): Move forward check for comparison
5666 pointer with null pointer constant and adjust the diagnostic message.
5667
f0423078
DK
56682010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
5669
5670 PR lto/42776
5671 * configure.ac (gcc_cv_as_section_has_align): Set if installed
5672 binutils supports extended .section directive needed by LTO, or
5673 warn if older binutils found.
5674 (LTO_BINARY_READER): New AC_SUBST'd variable.
5675 (LTO_USE_LIBELF): Likewise.
5676 * gcc/config.gcc (lto_binary_reader): New target-specific configure
5677 variable.
5678 * gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
5679 (LTO_USE_LIBELF): Likewise.
5680 * configure: Regenerate.
5681
5682 * collect2.c (is_elf): Rename from this ...
5683 (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
5684 object files in addition to ELF-formatted ones.
5685 (scan_prog_file): Caller updated. Also allow for LTO info marker
5686 symbol to be prefixed or not by an extra underscore.
5687
5688 * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
5689 * config/i386/winnt.c: Also #include lto-streamer.h
5690 (i386_pe_asm_named_section): Specify 1-byte section alignment for
5691 LTO named sections.
5692 (i386_pe_asm_output_aligned_decl_common): Add comment.
5693 (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
5694
68e87fc9
HPN
56952010-04-27 Hans-Peter Nilsson <hp@bitrange.com>
5696
45c384e3 5697 PR target/43889
68e87fc9
HPN
5698 * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
5699 Add missing earlyclobber for second alternative.
5700
823ff7b4
BS
57012010-04-26 Bernd Schmidt <bernds@codesourcery.com>
5702
5703 * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
5704 bits for artificial defs at the top of the block.
5705 * fwprop.c (single_def_use_enter_block): Don't call it.
5706
1637c2e1 57072010-04-26 Jack Howarth <howarth@bromo.med.uc.edu>
9ec69d2e
JH
5708
5709 PR 43715
5710 * gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin
5711 instead of "$gcc_cv_objdump -T".
5712 Use "-undefined dynamic_lookup" on darwin.
5713 * gcc/configure: Regenerate.
5714
b83a701b
JJ
57152010-04-26 Jakub Jelinek <jakub@redhat.com>
5716
5717 PR c/43893
5718 * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
5719
8415f317
NF
57202010-04-26 Nathan Froyd <froydnj@codesourcery.com>
5721
5722 * c-parser.c (struct c_token): Move location field up.
5723 * c-tree.h (struct c_typespec): Move expr_const_operands field up.
5724 (struct c_declspecs): Convert typespec_word, storage_class, and
5725 default_int_p into bitfields.
5726 (struct c_declarator): Move loc field up.
5727
448f65db
NF
57282010-04-26 Nathan Froyd <froydnj@codesourcery.com>
5729
5730 * cfgloop.h (struct loop): Move can_be_parallel field up.
5731 * ipa-prop.h (struct ip_node_params): Move bitfields up.
5732 * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
5733 down.
5734 (struct iv_cand): Convert pos field into a bitfield.
5735 * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
5736 field up.
5737 (struct _stmt_vec_info): Shuffle fields for better packing.
5738
736865e1
EB
57392010-04-26 Eric Botcazou <ebotcazou@adacore.com>
5740
5741 * varasm.c (IN_NAMED_SECTION): Remove guard.
5742 * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
5743 (IN_NAMED_SECTION_P): ...this.
5744 (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
5745 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
5746
06ec59e6
EB
57472010-04-26 Eric Botcazou <ebotcazou@adacore.com>
5748
5749 * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
5750 Use VOID_TYPE_P for all void type tests. Adjust TYPE variable instead
5751 of shadowing it. Fix comments.
5752
5fefcf92
JH
57532010-04-26 Jan Hubicka <jh@suse.cz>
5754
5755 * cgraph.c (cgraph_create_node): Set node frequency to normal.
5756 (cgraph_clone_node): Copy function frequency.
5757 * cgraph.h (node_frequency): New enum
5758 (struct cgraph_node): Add.
5759 * final.c (rest_of_clean_state): Update.
5760 * lto-cgraph.c (lto_output_node): Output node frequency.
5761 (input_overwrite_node): Input node frequency.
5762 * tre-ssa-loop-ivopts (computation_cost): Update.
06ec59e6
EB
5763 * lto-streamer-out.c (output_function): Do not output function
5764 frequency.
5765 * predict.c (maybe_hot_frequency_p): Update and handle functions
5766 executed once.
5fefcf92
JH
5767 (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
5768 attribute lookup.
5769 (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
06ec59e6
EB
5770 (compute_function_frequency): Set noreturn functions to be executed
5771 once.
5fefcf92
JH
5772 (choose_function_section): Update.
5773 * lto-streamer-in.c (input_function): Do not input function frequency.
06ec59e6
EB
5774 * function.c (allocate_struct_function): Do not initialize function
5775 frequency.
5fefcf92
JH
5776 * function.h (function_frequency): Remove.
5777 (struct function): Remove function frequency.
5778 * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
5779 (try_update): Update.
5780 * tree-inline.c (initialize_cfun): Do not update function frequency.
5781 * passes.c (pass_init_dump_file): Update.
5782 * i386.c (ix86_compute_frame_layout): Update.
5783 (ix86_pad_returns): Update.
5784
330af32c
JZ
57852010-04-26 Jie Zhang <jie@codesourcery.com>
5786
5787 PR tree-optimization/43833
5788 * tree-vrp.c (range_int_cst_p): New.
5789 (range_int_cst_singleton_p): New.
5790 (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
5791 when both operands are constants. Use range_int_cst_p in
5792 BIT_IOR_EXPR case.
5793
ae2b0888
JH
57942010-04-26 Jan Hubicka <jh@suse.cz>
5795
5796 * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
5797
98b2dfbb
RG
57982010-04-26 Richard Guenther <rguenther@suse.de>
5799
5800 PR lto/43080
5801 * gimple.c (gimple_decl_printable_name): Deal gracefully
5802 with a NULL DECL_NAME.
5803
1ae3075b
RG
58042010-04-26 Richard Guenther <rguenther@suse.de>
5805
5806 PR lto/42425
5807 * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
5808 if emitting debug information and it is either a function
5809 or a namespace decl.
5810
4b5caab7
IR
58112010-04-26 Ira Rosen <irar@il.ibm.com>
5812
85fac79c
UB
5813 * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
5814 determine if the statement is vectorizable, and a macro to access it.
5815 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
5816 Skip statements that can't be vectorized. If the analysis fails,
5817 mark the statement as unvectorizable if vectorizing basic block.
4b5caab7 5818 (vect_compute_data_refs_alignment): Likewise.
85fac79c 5819 (vect_verify_datarefs_alignment): Skip statements marked as
4b5caab7 5820 unvectorizable. Add print.
85fac79c
UB
5821 (vect_analyze_group_access): Skip statements that can't be
5822 vectorized. If the analysis fails, mark the statement as
4b5caab7 5823 unvectorizable if vectorizing basic block.
85fac79c
UB
5824 (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
5825 * tree-vect-stmts.c (vectorizable_store): Fix the number of
4b5caab7
IR
5826 generated stmts for SLP.
5827 (new_stmt_vec_info): Initialize the new field.
85fac79c 5828 * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
4b5caab7
IR
5829 statements marked as unvectorizable.
5830
2778d766
JM
58312010-04-25 Joseph Myers <joseph@codesourcery.com>
5832
5833 * c-common.c (flag_isoc1x): New.
5834 (flag_isoc99): Update comment.
5835 * c-common.h (flag_isoc1x): New.
5836 (flag_isoc99): Update comment.
5837 * c-cppbuiltin.c (builtin_define_float_constants): Also define
5838 __<type>_DECIMAL_DIG__.
5839 * c-opts.c (set_std_c1x): New.
5840 (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
5841 (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
5842 * c.opt (-std=c1x, -std=gnu1x): New options.
5843 * doc/cpp.texi: Mention -std=c1x.
5844 * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
5845 * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
5846 * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
5847 * doc/standards.texi: Mention C1X.
5848 * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
5849 LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
5850 LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
5851 Define for C1X.
5852
3d416346
UB
58532010-04-25 Uros Bizjak <ubizjak@gmail.com>
5854
5855 * config/i386/gmon-sol2.c (_mcleanup): Change format string
5856 placeholder from 0x%x to %#x.
5857 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
5858 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
5859 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
5860 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
5861 * config/i386/i386.c (ix86_target_string): Ditto.
5862 (output_pic_addr_const): Ditto.
5863 (print_operand): Ditto.
5864
910ed7dc
PB
58652010-04-25 Paolo Bonzini <bonzini@gnu.org>
5866
5867 * combine.c (find_split_point): Add third argument. Use it
5868 to find nested multiply-accumulate instructions. Adjust calls.
5869 (try_combine): Adjust call to find_split_point.
5870
423b2799
GP
58712010-04-24 Gerald Pfeifer <gerald@pfeifer.com>
5872
5873 * doc/contrib.texi (Contributors): Add Dodji Seketeli.
5874
27d0d96a
BS
58752010-04-24 Bernd Schmidt <bernds@codesourcery.com>
5876
5877 PR tree-optimization/41442
5878 * fold-const.c (merge_truthop_with_opposite_arm): New function.
5879 (fold_binary_loc): Call it.
5880
c7d0de89
MLI
58812010-04-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
5882
3d416346 5883 * toplev.c (general_init): Set default for fdiagnostics-show-option.
c7d0de89 5884 * opts.c (common_handle_option): Allow disabling it.
3d416346
UB
5885 * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
5886
915f5921
EB
58872010-04-23 Eric Botcazou <ebotcazou@adacore.com>
5888
5889 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
5890 between modes if both types are integral.
5891
4e708ff7
RG
58922010-04-23 Richard Guenther <rguenther@suse.de>
5893
5894 PR tree-optimization/43572
5895 * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
5896
8fd8a06f
RG
58972010-04-23 Richard Guenther <rguenther@suse.de>
5898
5899 PR lto/43455
5900 * tree-inline.c (tree_can_inline_p): Also check compatibility
5901 of return types.
5902
77620011
MJ
59032010-04-23 Martin Jambor <mjambor@suse.cz>
5904
5905 PR tree-optimization/43846
5906 * tree-sra.c (struct access): New flag grp_assignment_read.
5907 (build_accesses_from_assign): Set grp_assignment_read.
5908 (sort_and_splice_var_accesses): Propagate grp_assignment_read.
5909 (enum mark_read_status): New type.
5910 (analyze_access_subtree): Propagate grp_assignment_read, create
5911 accesses also if both direct_read and root->grp_assignment_read.
5912
5c20baf1
MJ
59132010-04-23 Martin Jambor <mjambor@suse.cz>
5914
5915 PR middle-end/43835
5916 * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
5917 function does not have type attributes.
5918
c67f69a3
RG
59192010-04-23 Richard Guenther <rguenther@suse.de>
5920
5921 PR lto/42653
5922 * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
5923 of FUNCTION_DECLs.
5924
086058c2
LB
59252010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
5926
5927 * sese.h (create_if_region_on_edge): Remove.
5928
5929 * sese.c (create_if_region_on_edge): Make static.
5930
5931 * tree-inline.c: Do not include ggc.h.
5932
5933 * expr.c: Do not include ggc.h.
5934
5935 * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
5936 dependencies.
5937
fc9c984d
KK
59382010-04-22 Kaz Kojima <kkojima@gcc.gnu.org>
5939
5940 PR target/43744
5941 * config/sh/sh.c (find_barrier): Don't emit a constant pool
5942 in the middle of insns for casesi_worker_2.
5943
cf42f095
DE
59442010-04-22 David Edelsohn <edelsohn@gnu.org>
5945
5946 * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
5947
59482010-04-22 Ira Rosen <irar@il.ibm.com>
74500b3e 5949
5bdd895c 5950 PR tree-optimization/43842
d5dceab8 5951 * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
74500b3e
IR
5952 loop unrolling in update of exit phis. Fix comment.
5953 * tree-vect-slp.c (vect_analyze_slp): Check that there are at
d5dceab8 5954 least two reduction statements in the loop before starting SLP
74500b3e
IR
5955 analysis.
5956
d5f4a527
NC
59572010-04-22 Nick Clifton <nickc@redhat.com>
5958
5959 * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
5960
44741f03
AM
59612010-04-22 Alexander Monakov <amonakov@ispras.ru>
5962
5963 * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
5964 to simplify a + ~a.
5965
f873b205
LB
59662010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
5967
5968 * tree-parloops.c (loop_parallel_p): New argument
5969 parloop_obstack. Pass it down.
5970 (parallelize_loops): New variable parloop_obstack. Initialize it,
5971 pass it down, free it.
5972
5973 * tree-loop-linear.c (linear_transform_loops): Pass down
5974 lambda_obstack.
5975
5976 * tree-data-ref.h (lambda_compute_access_matrices): New argument
5977 of type struct obstack *.
5978
5979 * tree-data-ref.c (analyze_subscript_affine_affine): New variable
5980 scratch_obstack. Initialize it, pass down, free it.
5981
5982 * lambda.h (lambda_loop_new): Remove.
5983 (lambda_matrix_new, lambda_matrix_inverse)
5984 (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
5985 argument of type struct obstack *.
5986
5987 * lambda-trans.c (lambda_trans_matrix_new): New argument
5988 lambda_obstack. Pass it down, use obstack allocation for ret.
5989 (lambda_trans_matrix_inverse): New argument lambda_obstack. Pass
5990 it down.
5991
5992 * lambda-mat.c (lambda_matrix_get_column)
5993 (lambda_matrix_project_to_null): Remove.
5994 (lambda_matrix_new): New argument lambda_obstack. Use obstack
5995 allocation for mat.
5996 (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
5997 lambda_obstack.
5998
5999 * lambda-code.c (lambda_loop_new): New function.
6000 (lambda_lattice_new, compute_nest_using_fourier_motzkin)
6001 (lambda_compute_auxillary_space, lambda_compute_target_space)
6002 (lambda_loopnest_transform, gcc_loop_to_lambda_loop)
6003 (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
6004 (build_access_matrix): New argument lambda_obstack. Use obstack
6005 allocation for am.
6006 (lambda_compute_step_signs, lambda_compute_access_matrices): New
6007 argument lambda_obstack. Pass it down.
6008
b99279f3
BS
60092010-04-22 Bernd Schmidt <bernds@codesourcery.com>
6010
6011 * optabs.h (expand_widening_mult): Declare.
6012
b3be2694
RG
60132010-04-22 Richard Guenther <rguenther@suse.de>
6014
6015 PR tree-optimization/43845
6016 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
6017 lookup the CALL_EXPR function and arguments.
6018
038eab67
NC
60192010-04-22 Nick Clifton <nickc@redhat.com>
6020
6021 * config/stormy16/stormy16.c
d5dceab8 6022 (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
038eab67
NC
6023 * config/stormy16/stormy16.h: Tidy up formatting.
6024 (DONT_USE_BUILTIN_SETJMP): Remove definition.
6025 * config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
6026 (ineqbranchsi): Delete pattern.
6027 * config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
6028 * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
6029 * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
6030 stormy16-lib2-ucmpsi2.c.
6031
907deb1a
BS
60322010-04-22 Bernd Schmidt <bernds@codesourcery.com>
6033
6034 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
6035 df_simulate_find_noclobber_defs as appropriate. Keep track of an
6036 extra set merge_set_noclobber, and use it to relax the final test
6037 slightly.
6038 * df.h (df_simulate_find_noclobber_defs): Declare.
6039 * df-problems.c (df_simulate_find_defs): Don't ignore partial or
6040 conditional defs.
6041 (df_simulate_find_noclobber_defs): New function.
6042
6a0447ba
UB
60432010-04-22 Uros Bizjak <ubizjak@gmail.com>
6044
6045 * config/i386/i386.md: Use {} around multi-line preparation statements.
6046
a1e3b3d9
LB
60472010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
6048
6049 * c-tree.h (push_init_level, pop_init_level, set_init_index)
6050 (process_init_element): New argument of type struct obstack *.
6051
6052 * c-typeck.c (push_init_level, pop_init_level, set_designator)
6053 (set_init_index, set_init_label, set_nonincremental_init)
6054 (set_nonincremental_init_from_string, find_init_member)
6055 (output_init_element, output_pending_init_elements)
6056 (process_init_element): New argument braced_init_obstack. Pass it
6057 down.
6058 (push_range_stack, add_pending_init): New argument
6059 braced_init_obstack. Use obstack allocation.
6060
6061 * c-parser.c (c_parser_initelt, c_parser_initval): New argument
6062 braced_init_obstack. Pass it down.
6063 (c_parser_braced_init): New variables ret, braced_init_obstack.
6064 Initialize obstack, pass it down and finally free it.
6065
5b58b39b
BS
60662010-04-22 Bernd Schmidt <bernds@codesourcery.com>
6067
6068 PR middle-end/29274
5b58b39b
BS
6069 * tree-pass.h (pass_optimize_widening_mul): Declare.
6070 * tree-ssa-math-opts.c (execute_optimize_widening_mul,
6071 gate_optimize_widening_mul): New static functions.
6072 (pass_optimize_widening_mul): New.
3d416346 6073 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
5b58b39b
BS
6074 <case MULT_EXPR>: Remove support for widening multiplies.
6075 * tree.def (WIDEN_MULT_EXPR): Tweak comment.
6076 * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
6077 simplify_gen_unary rather than directly building extensions.
6078 * tree-cfg.c (verify_gimple_assign_binary): Add tests for
6079 WIDEN_MULT_EXPR.
6080 * expmed.c (expand_widening_mult): New function.
6081 * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
6082
bc58d7e1
JH
60832010-04-21 Jan Hubicka <jh@suse.cz>
6084
6085 * timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
6086 * lto-section-in.c (lto_section_name): Remove wpa_fixup.
6087 * lto-wpa-fixup.c: Remove.
6088 * Makefile.in (lto-wpa-fixup.o): Remove.
6089 * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
6090 (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
6091 * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
6092
e792884f
JH
60932010-04-21 Jan Hubicka <jh@suse.cz>
6094
6095 * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
6096 add write_optimization_summary, read_optimization_summary.
6097 (ipa_write_summaries_of_cgraph_node_set): Remove.
6098 (ipa_write_optimization_summaries): Declare.
6099 (ipa_read_optimization_summaries): Declare.
6100 * ipa-cp.c (pass_ipa_cp): Update.
6101 * ipa-reference.c (pass_ipa_reference): Update.
6102 * ipa-pure-const.c (pass_ipa_pure_const): Update.
6103 * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
6104 Update.
6105 * ipa-inline.c (pass_ipa_inline): Update.
6106 * ipa.c (pass_ipa_whole_program): Update.
6107 * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
6108 * passes.c (ipa_write_summaries_1): Do not test wpa.
6109 (ipa_write_optimization_summaries_1): New.
6110 (ipa_write_optimization_summaries): New.
6111 (ipa_read_summaries): Do not test ltrans.
6112 (ipa_read_optimization_summaries_1): New.
6113 (ipa_read_optimization_summaries): New.
6114
ecd03d10
JH
61152010-04-21 Jan Hubicka <jh@suse.cz>
6116
6117 * lto-cgraph.c (lto_output_node): Do not output comdat groups
6118 for boundary nodes.
6119 (output_cgraph): Do not arrange comdat groups for boundary nodes.
6120
71a810c3
JJ
61212010-04-21 Jakub Jelinek <jakub@redhat.com>
6122
6123 PR debug/40040
6124 * dwarf2out.c (add_name_and_src_coords_attributes): Add
6125 DW_AT_{,MIPS_}linkage_name even for Fortran decls.
6126
dd6d1ad7
JH
61272010-04-21 Jan Hubicka <jh@suse.cz>
6128
6129 * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
6130
c9945504
JH
61312010-04-21 Jan Hubicka <jh@suse.cz>
6132
6133 * varpool.c (decide_is_variable_needed): Variable is always needed
6134 during ltrans.
6135
e7cfce71
JH
61362010-04-21 Jan Hubicka <jh@suse.cz>
6137
6138 * opts.c (decode_options): Enable pure-const pass for whopr.
6139
0115e6c7
JH
61402010-04-21 Jan Hubicka <jh@suse.cz>
6141
6142 * cgraph.c (dump_cgraph_node): Dump also assembler name.
6143 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
6144 at WPA dumping.
6145 (cgraph_decide_inlining): Do not expect callee to be removed in all
6146 cases.
6147
96c2a0d6
EW
61482010-04-21 Eric B. Weddington <eric.weddington@atmel.com>
6149
6150 * config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
6151
656ef6bb
UB
61522010-04-21 Uros Bizjak <ubizjak@gmail.com>
6153
6154 * config/i386/i386.md (x86_shrd): Add athlon_decode and
6155 amdfam10_decode attributes.
6156
78db7d92
JJ
61572010-04-21 Jakub Jelinek <jakub@redhat.com>
6158
6159 PR middle-end/43570
6160 * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
6161 OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
6162 (lower_copyprivate_clauses): Use private var in outer
6163 context instead of original var. Make sure the types
6164 are correct for VLAs.
6165
11152c95
RG
61662010-04-21 Richard Guenther <rguenther@suse.de>
6167
6168 * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
6169 to non-pointer objects.
6170
8f65940d
JJ
61712010-04-21 Jakub Jelinek <jakub@redhat.com>
6172
0f2f44c0
JJ
6173 * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument. Drop
6174 last chain entry if it starts with the still current label.
6175 (add_location_or_const_value_attribute): Check that
6a0447ba 6176 loc_list->first->next is NULL instead of comparing ->first with ->last.
0f2f44c0
JJ
6177 (dwarf2out_var_location): Pass last_label resp. last_postcall_label
6178 to add_var_loc_to_decl.
6179
8f65940d 6180 * dwarf2out.c (output_call_frame_info): For dw_cie_version
6a0447ba 6181 >= 4 add also address size and segment size fields into CIE header.
8f65940d
JJ
6182
6183 * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
6184 long as address size is the same as sizeof (void *) and
6185 segment size is 0.
6186 * unwind-dw2-fde.c (get_cie_encoding): Likewise. If
6187 address size or segment size is unexpected, return DW_EH_PE_omit.
6188 (classify_object_over_fdes): If get_cie_encoding returned
6189 DW_EH_PE_omit, return -1.
6190 (init_object): If classify_object_over_fdes returned -1,
6191 pretend there were no FDEs at all.
6192
2d2d5a91
UB
61932010-04-21 Uros Bizjak <ubizjak@gmail.com>
6194
6195 * config/i386/i386.md (bswap<mode>2): Macroize expander from
6196 bswap{si,di}2 using SWI48 mode iterator.
6197 (*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
6198 SWI48 mode iterator. Set type attribute of bswap insn to bitmanip,
6199 set modrm attribute of bswap insn to 0 and remove length attribute.
6200 (*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
6201 iterator. Set type attribute to bitmanip, set modrm attribute to 0,
6202 set mode attribute to <MODE> and remove length attribute.
6203
4811db8d
JW
62042010-04-20 James E. Wilson <wilson@codesourcery.com>
6205
6206 PR rtl-optimization/43520
6207 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
6208 zero available registers.
6209
3c642f92
KG
62102010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6211
6212 * builtins.c (fold_builtin_cproj): Fold more cases.
6213
43272bf5
KG
62142010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6215
6216 * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
6217 (fold_builtin_1): Fold builtin cproj.
6218 * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
6219 Use ATTR_CONST_NOTHROW_LIST.
6220
e96ccb30
UB
62212010-04-20 Uros Bizjak <ubizjak@gmail.com>
6222
6223 * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
6224 and ffsdi2 using SWI48 mode iterator. Expand SImode insn through
6225 ffsi2_no_cmove for !TARGET_CMOVE.
6226 (ffssi2_no_cmove): Rename from *ffs_no_cmove. Make public.
6227 (ffssi2): Remove expander.
6228 (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
6229 mode iterator.
6230 (ctz<mode>2): Ditto from ctz{si,di}2.
6231 (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
6232 mode iterator.
6233 (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
6234 mode iterator.
6235
4c0ab69d
JJ
62362010-04-20 Jakub Jelinek <jakub@redhat.com>
6237
6238 * dwarf2out.c (AT_linkage_name): Define.
6239 (clone_as_declaration): Handle DW_AT_linkage_name.
6240 (add_name_and_src_coords_attributes): Use AT_linkage_name instead
6241 of DW_AT_MIPS_linkage_name.
6242 (move_linkage_attr): Likewise.
6243 (dwarf2out_finish): Likewise.
6244
94e85e0a
XDL
62452010-04-20 Xinliang David Li <davidxl@gcc.gnu.org>
6246
6247 PR middle-end/41952
e96ccb30 6248 * fold-const.c (fold_comparison): New folding rule.
94e85e0a 6249
4c0ab69d 62502010-04-20 Anatoly Sokolov <aesok@post.ru>
54fb1ae0
AS
6251
6252 * double-int.h (double_int_setbit): Declare.
6253 * double-int.c (double_int_setbit): New function.
6254 * rtl.h (immed_double_int_const): Declare.
6255 * emit-rtl.c (immed_double_int_const): New function.
6256 * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
6257 and immed_double_int_const functions.
6258 * optabs.c (expand_absneg_bit, expand_copysign_absneg,
6259 expand_copysign_bit): (Ditto.).
6260 * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
6261 * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
6262 * dojump.c (prefer_and_bit_test): (Ditto.).
6263 * expr.c (convert_modes, reduce_to_bit_field_precision,
6264 const_vector_from_tree): (Ditto.).
6265 * expmed.c (mask_rtx, lshift_value): (Ditto.).
6266
a837268b
JH
62672010-04-20 Jan Hubicka <jh@suse.cz>
6268
6269 * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
6270 (dump_cgraph_node): Dump new flags.
e96ccb30
UB
6271 * cgraph.h (struct cgraph_node): Add flags
6272 reachable_from_other_partition and in_other_partition.
6273 (cgraph_can_remove_if_no_direct_calls_p): Functions used by
6274 other partition can not be removed.
6275 * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
6276 the other partition must be output; silence sanity checking on
6277 leaking functions bodies from other paritition.
a837268b
JH
6278 * lto-cgraph.c (reachable_from_other_partition_p): New function.
6279 (lto_output_node): Output new flags; do not sanity check that inline
6280 clones are output; drop lto_forced_extern_inline_p code; do not mock
6281 visibility flags at partition boundaries.
6282 (add_node_to): New function.
6283 (output_cgraph): Use it to sort functions so masters appear before
6284 clones.
6285 (input_overwrite_node): Input new flags.
6286 * passes.c (ipa_write_summaries): Do not call
6287 lto_new_extern_inline_states.
74ca3393
EB
6288 * lto-section-out.c (forced_extern_inline,
6289 lto_new_extern_inline_states lto_delete_extern_inline_states,
6290 lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
a837268b
JH
6291 * lto-streamer.h (lto_new_extern_inline_states,
6292 * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
6293 lto_forced_extern_inline_p): Kill.
6294
3c323b52
RG
62952010-04-20 Richard Guenther <rguenther@suse.de>
6296
6297 * tree-ssa-structalias.c (do_sd_constraint): Add edges only
6298 from vars that can have pointers.
6299 (process_constraint): Dump useless constraints.
6300
b28ae58f
RG
63012010-04-20 Richard Guenther <rguenther@suse.de>
6302
e96ccb30 6303 * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
b28ae58f
RG
6304 (dump_sa_points_to_info): Remove asserts.
6305 (init_base_vars): nothing_id isn't an escape point nor does it
6306 have pointers.
6307
1197ce8e
JJ
63082010-04-20 Jakub Jelinek <jakub@redhat.com>
6309
6310 * tree.h (TYPE_REF_IS_RVALUE): Define.
6311 * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
6312 should_move_die_to_comdat, prune_unused_types_walk): Handle
6313 DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
6314 (modified_type_die, gen_reference_type_die): Emit
6315 DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
6316 if TYPE_REF_IS_RVALUE and -gdwarf-4.
6317
72e2cf16
AK
63182010-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6319
6320 PR target/43635
6321 * config/s390/s390.c (s390_emit_call): Turn direct into indirect
6322 calls for -fpic -m31 if they have been sibcall optimized.
6323
810d71d0
JW
63242010-04-19 James E. Wilson <wilson@codesourcery.com>
6325
4a863f3a
JW
6326 * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
6327 ar.lc fixed and call-used.
6328
810d71d0
JW
6329 * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
6330
3ee2243c
JH
63312010-04-19 Jan Hubicka <jh@suse.cz>
6332
6333 * opts.c (decode_options): Disable whpr incompatible passes.
6334 * lto/lto.c (lto_1_to_1_map): Skip clones.
6335 (read_cgraph_and_symbols): Do not mark everything as needed.
6336 (do_whole_program_analysis): Do map only after optimizing;
6337 set proper cgraph_state; use passmanager.
6338
576319a7
DD
63392010-04-19 DJ Delorie <dj@redhat.com>
6340
6341 * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
6342 POINTER_PLUS_EXPR and fix them.
6343
578ad141
EW
63442010-04-19 Eric B. Weddington <eric.weddington@atmel.com>
6345
6346 * config/avr/avr-devices.c (avr_mcu_types): Add support for new
6347 devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
6348 attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
6349 atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
6350 atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
6351 atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
6352 atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
6353 atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
6354 m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
6355 atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
6356 * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
6357
d321bd2d
EB
63582010-04-19 Eric Botcazou <ebotcazou@adacore.com>
6359
6360 * ifcvt.c (noce_try_cmove_arith): Fix long lines.
6361 (check_cond_move_block): Likewise.
6362 (cond_move_process_if_block): Likewise.
6363 (noce_find_if_block): Improve formatting.
6364 (find_if_header): Pass 0 to memset and tweak conditions.
6365 (cond_exec_find_if_block): Fix long lines and tweak conditions.
6366
74e27d0d
JJ
63672010-04-19 Jakub Jelinek <jakub@redhat.com>
6368
e96ccb30
UB
6369 * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
6370 for -gdwarf-4.
74e27d0d 6371
fd2e4e99
JJ
6372 PR middle-end/43337
6373 * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
6374 with non-local decl doesn't need chain.
6375
ec995732
VM
63762010-04-19 Vladimir Makarov <vmakarov@redhat.com>
6377
6378 * ira-color.c (allocno_reload_assign): Avoid accumulating
6379 reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
6380
acd63801
MJ
63812010-04-19 Martin Jambor <mjambor@suse.cz>
6382
6383 * gimple.h (create_tmp_reg): Declare.
6384 * gimplify.c (create_tmp_reg): New function.
6385 (gimplify_return_expr): Use create_tmp_reg.
6386 (gimplify_omp_atomic): Likewise.
6387 (gimple_regimplify_operands): Likewise.
6388 * tree-dfa.c (make_rename_temp): Likewise.
6389 * tree-predcom.c (predcom_tmp_var): Likewise.
6390 (reassociate_to_the_same_stmt): Likewise.
6391 * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
6392 (get_replaced_param_substitute): Likewise.
6393 * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
6394 * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
6395 * tree-ssa-pre.c (get_representative_for): Likewise.
6396 (create_expression_by_pieces): Likewise.
6397 * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
6398 (create_tailcall_accumulator): Likewise.
6399
0b6e2868
MJ
64002010-04-19 Martin Jambor <mjambor@suse.cz>
6401
6402 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
6403 new_stmt.
6404 (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
6405
1936a7d4
RG
64062010-04-19 Richard Guenther <rguenther@suse.de>
6407
6408 PR tree-optimization/43796
6409 * tree-vrp.c (adjust_range_with_scev): Lookup init and step
6410 from SCEV in the lattice.
6411 (vrp_visit_phi_node): Dump change.
6412
479881c3
RG
64132010-04-19 Richard Guenther <rguenther@suse.de>
6414
6415 * configure.ac: Fix quoting around elf_getshstrndx ABI check.
6416 * configure: Re-generated.
6417
d53bed0b
RG
64182010-04-19 Richard Guenther <rguenther@suse.de>
6419
6420 PR tree-optimization/43783
6421 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
6422 constant ARRAY_REF operands two and three if possible.
6423
90f775a9
UB
64242010-04-19 Uros Bizjak <ubizjak@gmail.com>
6425
6426 PR target/43766
6427 * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
6428
8d9b7be5
JZ
64292010-04-19 Jie Zhang <jie@codesourcery.com>
6430
6431 PR target/43662
90f775a9 6432 * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
8d9b7be5 6433
d5dceab8 64342010-04-19 Ira Rosen <irar@il.ibm.com>
b5aeb3bb
IR
6435
6436 PR tree-optimization/37027
e96ccb30 6437 * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
b5aeb3bb
IR
6438 and macro to access it.
6439 (vectorizable_reduction): Add argument.
6440 (vect_get_slp_defs): Likewise.
6441 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
6442 statements for possible use in SLP.
6443 (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
6444 (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
6445 (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
6446 add new argument.
6447 (vectorizable_reduction): Likewise.
e96ccb30 6448 * tree-vect-stmts.c (vect_get_vec_defs): Update call to
b5aeb3bb
IR
6449 vect_get_slp_defs.
6450 (vectorizable_type_demotion, vectorizable_type_promotion,
6451 vectorizable_store): Likewise.
6452 (vect_analyze_stmt): Update call to vectorizable_reduction.
6453 (vect_transform_stmt): Likewise.
6454 * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
6455 (vect_build_slp_tree): Fix indentation. Check that there are no loads
6456 from different interleaving chains in same node.
6457 (vect_slp_rearrange_stmts): New function.
e96ccb30 6458 (vect_supported_load_permutation_p): Allow load permutations for
b5aeb3bb
IR
6459 reductions. Call vect_slp_rearrange_stmts() to rearrange statements
6460 inside SLP nodes if necessary.
6461 (vect_analyze_slp_instance): Handle reductions.
6462 (vect_analyze_slp): Try to build SLP instances originating from groups
6463 of reductions.
6464 (vect_detect_hybrid_slp_stmts): Skip reduction statements.
6465 (vect_get_constant_vectors): Create initial vectors for reductions
6466 according to reduction code. Add new argument.
e96ccb30 6467 (vect_get_slp_defs): Add new argument, pass it to
b5aeb3bb
IR
6468 vect_get_constant_vectors.
6469 (vect_schedule_slp_instance): Remove SLP tree root statements.
6470
5a2fa9e8
JJ
64712010-04-19 Jakub Jelinek <jakub@redhat.com>
6472
6473 * tree.h (ENUM_IS_SCOPED): Define.
6474 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
6475 for ENUM_IS_SCOPED enums.
6476
3b9e5d95
EB
64772010-04-18 Eric Botcazou <ebotcazou@adacore.com>
6478
6479 * fold-const.c (fold_comparison): Use ssizetype.
6480 * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
6481 * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
6482 * tree-loop-distribution.c (build_size_arg_loc): Likewise.
6483 * tree-object-size.c (compute_object_sizes): Use size_type_node.
6484
6485 * tree.h (initialize_sizetypes): Remove parameter.
6486 (build_common_tree_nodes): Remove second parameter.
6487 * stor-layout.c (initialize_sizetypes): Remove parameter.
6488 Always create an unsigned type.
6489 (set_sizetype): Assert that the passed type is unsigned and simplify.
6490 * tree.c (build_common_tree_nodes): Remove second parameter.
6491 Adjust call to initialize_sizetypes.
6492 * c-decl.c (c_init_decl_processing): Remove second argument in call to
6493 build_common_tree_nodes.
6494
b3c35965
MK
64952010-04-18 Matthias Klose <doko@ubuntu.com>
6496
6497 * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
6498
d5dceab8 64992010-04-18 Ira Rosen <irar@il.ibm.com>
59eefaa6
IR
6500
6501 PR tree-optimization/43771
6502 * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
6503 load permutation doesn't have gaps.
6504
07b3ef2e
JH
65052010-04-18 Jan Hubicka <jh@suse.cz>
6506
6507 * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
6508 (sse_prologue_save_insn expander): Use new pattern.
6509 (sse_prologue_save_insn1): New pattern and splitter.
6510 (sse_prologue_save_insn): Update to deal also with 64bit aligned
6511 blocks.
90f775a9
UB
6512 * i386.c (setup_incoming_varargs_64): Do not compute jump
6513 destination here.
07b3ef2e 6514 (ix86_gimplify_va_arg): Update alignment needed.
90f775a9 6515 (ix86_local_alignment): Do not align all local arrays to 128bit.
07b3ef2e 6516
6a8cd100
JH
65172010-04-17 Jan Hubicka <jh@suse.cz>
6518
6519 * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
6520
9e315505
RE
65212010-04-17 Richard Earnshaw <rearnsha@arm.com>
6522
6523 * arm.md (negdi2): Remove redundant code to force values into a
6524 register.
6525
6f0668cf
RE
65262010-04-17 Richard Earnshaw <rearnsha@arm.com>
6527
6528 * arm/bpabi.S: Add EABI alignment attributes to objects.
6529 * arm/bpabi-v6m.S: Likewise.
6530 * arm/crti.asm: Likewise.
6531 * arm/crtn.asm: Likewise.
6532 * arm/lib1funcs.asm: Likewise.
6533 * arm/libunwind.S: Likewise.
6534
1b78f575
RE
65352010-04-17 Richard Earnshaw <rearnsha@arm.com>
6536
6537 * arm-protos.h (tune_params): New structure.
6538 * arm.c (current_tune): New variable.
6539 (arm_constant_limit): Delete.
6540 (struct processors): Add pointer to the tune parameters.
6541 (arm_slowmul_tune): New tuning option.
6542 (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
6543 (all_cores): Adjust to pick up the tuning model.
6544 (arm_constant_limit): New function.
6545 (arm_override_options): Select the appropriate tuning model. Delete
6546 initialization of arm_const_limit.
6547 (arm_split_constant): Use the new constant-limit model.
6548 (arm_rtx_costs): Pick up the current tuning model.
6549 * arm.md (is_strongarm, is_xscale): Delete.
6550 * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
6551 for Xscale variant architectures.
6552 (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
6553
80d56d04
RR
65542010-04-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6555
1b78f575
RE
6556 * config/arm/arm.c (arm_gen_constant): Remove unused variable
6557 can_shift.
80d56d04
RR
6558 (arm_rtx_costs_1): Remove unused variable extra_cost.
6559 (arm_unwind_emit_set): Use variable offset.
6560 (thumb1_output_casesi): Remove unused variable flags.
6561
6190446b
JL
65622010-04-16 Jeff Law <law@redhat.com>
6563
6564 * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
016f9d9d
JL
6565 needing assignment rather than doing a two-phase assignment. Remove
6566 unused variable 'm'.
6190446b 6567
24f8d71e
JJ
65682010-04-16 Jakub Jelinek <jakub@redhat.com>
6569
6570 PR bootstrap/43767
6571 * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
6572
f1665f5c
DK
65732010-04-16 Doug Kwan <dougkwan@google.com>
6574
6575 * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
6576 (next_operand_entry_id): New static variable.
6577 (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
6578 (add_to_ops_vec): Assigned unique ID to operand entry.
6579 (struct oecount_s): New field ID.
6580 (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
6581 (undistribute_ops_list): Assign unique IDs to oecounts.
6582 (init_reassoc): reset next_operand_entry_id.
6583
f638261a
DK
65842010-04-16 Doug Kwan <dougkwan@google.com>
6585
6586 * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
6587 missing left parenthesis.
e96ccb30 6588
4a81b412
UB
65892010-04-16 Uros Bizjak <ubizjak@gmail.com>
6590
6591 * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
6592 *btdi_rex64 using SWI48 mode iterator.
6593 (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
6594 (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
6595 *jcc_btdi_mask_rex64.
6596
9d4d1f8e
AS
65972010-04-16 Anatoly Sokolov <aesok@post.ru>
6598
6599 * double-int.h (tree_to_double_int): Convert to macro.
6600 * double-int.c (tree_to_double_int): Remove.
6601
835eb810
JJ
66022010-04-16 Jakub Jelinek <jakub@redhat.com>
6603
6604 PR debug/43762
6605 * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
6606 with want_address 2 and in case a single element list might be
6607 possible, call it again with want_address 0.
6608
66092010-04-12 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
db624ecb 6610
0f6b820c
KP
6611 * config/h8300/h8300.c (print_operand) : Modify case 'V' and
6612 case 'W' print operands for HI mode.
6613 * config/h8300/h8300.h (Y0, Y2) : New constraints.
6614 * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
6615 (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
6616 * config/h8300/predicate.md (bit_register_indirect_operand): New.
6617
a7494d9e
KP
6618 * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
6619
e96ccb30 6620 * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
8cb81753
KP
6621 cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
6622 #xx:3 and #xx:4 mode.
6623
60744089
KP
6624 * config/h8300/h8300.md (inverted load with HImode dest): Add
6625 support for H8300SX.
6626
db624ecb
KP
6627 * config/h8300/predicate.md (bit_operand): Allow immediate values that
6628 satisfy 'U' constraint.
6629
8ccb78f2
RO
66302010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6631
e96ccb30 6632 * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
8ccb78f2
RO
6633 * configure: Regenerate.
6634 * config.in: Regenerate.
6635 * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
6636 works.
6637
bc9c331d
RG
66382010-04-16 Richard Guenther <rguenther@suse.de>
6639
6640 * tree.h (struct tree_decl_minimal): Move pt_uid ...
6641 (struct tree_decl_common): ... here.
6642 (DECL_PT_UID): Adjust.
6643 (SET_DECL_PT_UID): Likewise.
6644 (DECL_PT_UID_SET_P): Likewise.
6645
12de6355
RG
66462010-04-16 Richard Guenther <rguenther@suse.de>
6647
6648 PR tree-optimization/43572
6649 * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
6650 * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
6651 * tree-flow.h (is_call_clobbered): Remove.
6652 * tree-flow-inline.h (is_call_clobbered): Likewise.
6653 * tree-dfa.c (dump_variable): Do not dump call clobber state.
6654 * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
6655 (execute_return_slot_opt): Adjust.
6656 * tree-tailcall.c (suitable_for_tail_opt_p): Remove
6657 check for call clobbered vars here.
6658 (find_tail_calls): Move tailcall verification to the
6659 proper place.
6660
6ab643b5
DN
66612010-04-16 Diego Novillo <dnovillo@google.com>
6662
e96ccb30 6663 * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
6ab643b5 6664
f0c6475a
BS
66652010-04-16 Bernd Schmidt <bernds@codesourcery.com>
6666
6667 PR target/40603
6668 * config/arm/arm.md (cbranchqi4): New pattern.
6669 * config/arm/predicates.md (const0_operand,
6670 cbranchqi4_comparison_operator): New predicates.
6671
f0107145
RG
66722010-04-16 Richard Guenther <rguenther@suse.de>
6673
6674 * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
6675 (dump_gimple_stmt): Likewise.
6676
f0c6475a 66772010-04-16 Bernd Schmidt <bernds@codesourcery.com>
6ddfdb0f
BS
6678
6679 * recog.h (struct recog_data): New field is_operator.
6680 (struct insn_operand_data): New field is_operator.
6681 * recog.c (extract_insn): Set recog_data.is_operator.
6682 * genoutput.c (output_operand_data): Emit code to set the
6683 is_operator field.
6684 * reload.c (find_reloads): Use it rather than testing for an
6685 empty constraint string.
6686
6ea007e4
BS
6687 PR target/41514
6688 * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
6689 If the previous insn is a cbranchsi4_insn with the same arguments,
6690 omit the compare instruction.
6691
3302cfa1
BS
6692 * config/arm/arm.md (addsi3_cbranch): If destination is a high
6693 register, inputs must be low registers and we need a low register
6694 scratch. Handle alternative 2 like alternative 3.
6695
5312b066
JJ
66962010-04-16 Jakub Jelinek <jakub@redhat.com>
6697
6698 * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
6699 don't call get_addr on both. If one expression is a VALUE and
6700 the other a REG, check VALUE's locs if the REG isn't among them.
6701
7a296495
CB
67022010-04-16 Christian Bruel <christian.bruel@st.com>
6703
6704 * config/sh/sh.h (sh_frame_pointer_required): New function.
6705 * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
6706 (flag_omit_frame_pointer) Set.
6707 (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
6708 (rounded_frame_size): Adjust size with outgoing_args_size.
6709 (sh_set_return_address): Must return from stack pointer.
6710 * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
6711 (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
6712 (ACCUMULATE_OUTGOING_ARGS): Define.
6713 * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
ade52657 6714 * gcc/config/sh/sh.opt (maccumulate-outgoing-args): New option.
7a296495 6715
7140f0f9
KK
67162010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
6717
6718 PR target/43471
6719 * config/sh/sh.c (sh_legitimize_reload_address): Use
6720 MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
6721 Remove a unneeded check for offset_base.
6722
bafaef55
L
67232010-04-15 H.J. Lu <hongjiu.lu@intel.com>
6724
6725 * configure: Regenerated.
6726
e8de8fea
AK
67272010-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6728
6729 * config/s390/s390.c (s390_call_save_register_used): Switch back
6730 to HARD_REGNO_NREGS.
6731
038a39d1
RG
67322010-04-15 Richard Guenther <rguenther@suse.de>
6733
6734 * alias.c (alias_set_subset_of): Handle alias-set zero
6735 child properly.
6736
28907f9a
MS
67372010-04-15 Mark Shinwell <shinwell@codesourcery.com>
6738 Julian Brown <julian@codesourcery.com>
6739
6740 * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
6741 alternatives according to use of high and low regs.
6742 * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
6743 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
6744 optimizing for size on Thumb-2.
6745
3f56ef8b
TS
67462010-04-15 Thomas Schwinge <tschwinge@gnu.org>
6747
6748 * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
6749
25a6a873
RG
67502010-04-15 Richard Guenther <rguenther@suse.de>
6751
6752 * tree-ssa-structalias.c (struct variable_info): Add
6753 is_fn_info flag.
6754 (new_var_info): Initialize it.
6755 (dump_constraints): Support printing last added constraints.
6756 (debug_constraints): Adjust.
6757 (dump_constraint_graph): Likewise.
6758 (make_heapvar_for): Check for NULL cfun.
6759 (get_function_part_constraint): New function.
6760 (get_fi_for_callee): Likewise.
6761 (find_func_aliases): Properly implement IPA PTA constraints.
6762 (process_ipa_clobber): New function.
6763 (find_func_clobbers): Likewise.
6764 (insert_into_field_list_sorted): Remove.
6765 (create_function_info_for): Properly allocate vars for IPA mode.
6766 Do not use insert_into_field_list_sorted.
6767 (create_variable_info_for): Properly generate constraints for
6768 global vars in IPA mode.
6769 (dump_solution_for_var): Always dump the solution.
6770 (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
6771 (find_what_var_points_to): Adjust.
6772 (pt_solution_set): Change.
6773 (pt_solution_ior_into): New function.
6774 (pt_solution_empty_p): Export.
6775 (pt_solution_includes_global): Adjust.
6776 (pt_solution_includes_1): Likewise.
6777 (pt_solutions_intersect_1): Likewise.
6778 (dump_sa_points_to_info): Check some invariants.
6779 (solve_constraints): Move constraint dumping ...
6780 (compute_points_to_sets): ... here.
6781 (ipa_pta_execute): ... and here.
6782 (compute_may_aliases): Do not re-compute points-to info
6783 locally if IPA info is available.
6784 (ipa_escaped_pt): New global var.
6785 (ipa_pta_execute): Properly implement IPA PTA.
6786 * tree-into-ssa.c (dump_decl_set): Support dumping
6787 decls not in referenced-vars.
6788 * tree-flow.h (struct gimple_df): Add ipa_pta flag.
6789 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
6790 (dump_points_to_solution): Likewise.
6791 * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
6792 * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
e96ccb30 6793 (remap_gimple_stmt): Reset call clobber/use information if necessary.
25a6a873
RG
6794 (copy_decl_to_var): Copy DECL_PT_UID.
6795 (copy_result_decl_to_var): Likewise.
6796 * tree.c (make_node_stat): Initialize DECL_PT_UID.
6797 (copy_node_stat): Copy it.
6798 * tree.h (DECL_PT_UID): New macro.
6799 (SET_DECL_PT_UID): Likewise.
6800 (DECL_PT_UID_SET_P): Likewise.
6801 (struct tree_decl_minimal): Add pt_uid member.
6802 * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
6803 (pt_solution_empty_p): Declare.
6804 (pt_solution_set): Adjust.
6805 (ipa_escaped_pt): Declare.
6806 * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
6807 * gimple-pretty-print.c (pp_points_to_solution): New function.
6808 (dump_gimple_call): Dump call clobber/use information.
6809 * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
6810 * tree-pass.h (TDF_ALIAS): New dump option.
6811 * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
6812 * doc/invoke.texi (-fipa-pta): Update documentation.
6813
cbdd87d4
RG
68142010-04-15 Richard Guenther <rguenther@suse.de>
6815
6816 * Makefile.in (OBJS-common): Add gimple-fold.o.
6817 (gimple-fold.o): New rule.
6818 * tree.h (maybe_fold_offset_to_reference,
6819 maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
6820 prototypes ...
6821 * gimple.h: ... here.
6822 * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
6823 may_propagate_address_into_dereference): Move prototypes ...
6824 * gimple.h: ... here.
6825 * tree-ssa-ccp.c (get_symbol_constant_value,
6826 may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
6827 maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
6828 maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
6829 maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
6830 ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
6831 fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
6832 gimplify_and_update_call_from_tree): Move ...
6833 * gimple-fold.c: ... here. New file.
6834 (ccp_fold_builtin): Rename to ...
6835 (gimple_fold_builtin): ... this.
6836 * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
6837
330db1e3
RG
68382010-04-15 Richard Guenther <rguenther@suse.de>
6839
6840 * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
6841 fit_double_type, force_fit_type_double, add_double_with_sign,
6842 neg_double, mul_double_with_sign, lshift_double, rshift_double,
6843 lrotate_double, rrotate_double, div_and_round_double): Move ...
6844 * double-int.c: ... here.
6845 * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
6846 add_double, neg_double, mul_double_with_sign, mul_double,
6847 lshift_double, rshift_double, lrotate_double, rrotate_double,
6848 div_and_round_double): Move prototypes ...
6849 * double-int.h: ... here.
6850
f0c6475a 68512010-04-15 Bernd Schmidt <bernds@codesourcery.com>
077668e3
BS
6852
6853 PR target/43742
6854 * config/sh/sh.md (doloop_end_split, dect): Undo previous patch. Use
6855 matching constraints to ensure inputs match the output.
6856
fa66fc40
KK
68572010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
6858
6859 PR target/43742
6860 * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
e96ccb30 6861 in an input-only operand.
fa66fc40 6862
2bd1333d
AS
68632010-04-15 Anatoly Sokolov <aesok@post.ru>
6864
6865 * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
6866 (double_int_not, double_int_lshift, double_int_rshift): Declare.
6867 (double_int_negative_p): Convert to static inline function.
74ca3393 6868 * double-int.c (double_int_lshift, double_int_lshift): New functions.
2bd1333d 6869 (double_int_negative_p): Remove.
e96ccb30 6870 * tree.h (lshift_double, rshift_double):
2bd1333d
AS
6871 * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
6872 * fold-const.c (fold_convert_const_int_from_real,
6873 fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
6874 (lshift_double): Change type of arith argument to bool.
6875 (rshift_double): Change type of arith argument to bool. Correct
6876 comment.
6877 * expmed.c (mask_rtx, lshift_value): (Ditto.).
6878
f0c6475a 68792010-04-14 Bernd Schmidt <bernds@codesourcery.com>
e96ccb30 6880
31ce8a53
BS
6881 PR target/21803
6882 * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
6883 at the start and end of the then/else blocks, and omit them from the
6884 conversion.
6885 * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE
6886 argument; all callers changed. Pass zero to old_insns_match_p instead.
6887 (flow_find_head_matching_sequence): New function.
6888 (old_insns_match_p): Check REG_EH_REGION notes for calls.
6889 * basic-block.h (flow_find_cross_jump,
6890 flow_find_head_matching_sequence): Declare functions.
6891
943f82e7
JM
68922010-04-14 Jason Merrill <jason@redhat.com>
6893
6894 PR c++/36625
6895 * c-common.c (attribute_takes_identifier_p): New fn.
6896 * c-common.h: Declare it.
6897
feeb8c52
UB
68982010-04-14 Uros Bizjak <ubizjak@gmail.com>
6899
6900 * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
6901 splitter condition.
6902 (*udivmod<mode>4): Ditto.
6903
4a5528cc
UB
69042010-04-14 Uros Bizjak <ubizjak@gmail.com>
6905
6906 * config/i386/i386.md (maxmin_int): Rename code attribute from
6907 maxminiprefix and update all users.
6908 (maxmin_float): Ditto from maxminfprefix.
6909 (logic): Ditto from logicprefix.
6910 (absneg_mnemonic): Ditto from absnegprefix.
6911 * config/i386/mmx.md: Update all users of maxminiprefix,
4a81b412 6912 maxminfprefix and logicprefix for rename.
4a5528cc
UB
6913 * config/i386/sse.md: Ditto.
6914 * config/i386/sync.md (sync_<code><mode>): Update for
6915 logicprefix rename.
6916
289fcbbd
MLI
69172010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
6918
6919 PR 42966
6920 * diagnostics.c (diagnostic_report_diagnostic): Mark specially
6921 warnings converted to errors.
6922
d58770e7
UB
69232010-04-14 Uros Bizjak <ubizjak@gmail.com>
6924
6925 * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
6926 used insn_type variable.
6927 (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
6928 to avoid set-but-not-used warning.
6929
a3f1cee4
UB
69302010-04-14 Uros Bizjak <ubizjak@gmail.com>
6931
6932 * df-core.c (df_ref_debug): Change format string placeholder
6933 from 0x%x to %#x.
6934 * dwarf2asm.c (dw2_asm_output_data_raw,
6935 dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
6936 dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
6937 * dwarf2out.c (output_cfi, output_cfi_directive,
6938 dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
6939 output_cfa_loc_raw, output_die, output_ranges, output_file_names):
6940 Ditto.
6941 * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
6942 * print-rtl.c (print_rtx): Ditto.
6943
3eb4dbe3
MM
69442010-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
6945
6946 PR middle-end/42694
6947 * builtins.c (expand_builtin_pow_root): New function to expand pow
6948 calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
6949 series of sqrt and cbrt calls under -ffast-math.
6950 (expand_builtin_pow): Call it.
6951
fc249fe5
MM
69522010-04-14 Michael Matz <matz@suse.de>
6953
6954 PR tree-optimization/42963
6955 * tree-cfg.c (touched_switch_bbs): New static variable.
6956 (group_case_labels_stmt): New function broken out from ...
6957 (group_case_labels): ... here, use the above.
6958 (start_recording_case_labels): Allocate touched_switch_bbs.
6959 (end_recording_case_labels): Deallocate it, call
6960 group_case_labels_stmt.
6961 (gimple_redirect_edge_and_branch): Remember index of affected BB.
6962
0fcbf3ed
UB
69632010-04-14 Uros Bizjak <ubizjak@gmail.com>
6964
6965 * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
6966 from insn template.
6967
3f529c2c
UB
69682010-04-14 Uros Bizjak <ubizjak@gmail.com>
6969
6970 * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
6971
1ce18dc8
JH
69722010-04-13 Jan Hubicka <jh@suse.cz>
6973
6974 * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
6975 of optimized out static functions.
6976 (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
6977 cost computation. Also sanity check for overflows.
6978 (update_caller_keys): Update cgraph_edge_badness call; properly
6979 update fibheap and sanity check that it is up to date.
6980 (add_new_edges_to_heap): Update cgraph_edge_badness.
6981 (cgraph_decide_inlining_of_small_function): Likewise;
6982 add sanity checking that badness in heap is up to date;
6983 improve dumping of reason; Update badness of calls to the
6984 offline copy of function currently inlined; dump badness
6985 of functions not inlined because of unit growth limits.
6986
9e9ef331
EB
69872010-04-13 Eric Botcazou <ebotcazou@adacore.com>
6988
6989 PR middle-end/32628
6990 * c-common.c (pointer_int_sum): Disregard overflow that occured only
6991 because of sign-extension change when converting to sizetype here...
6992 * fold-const.c (fold_convert_const_int_from_int): ...and not here.
6993
6994 * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
6995 the folding to constants. Remove redundant final conversion.
6996 (fold_binary) <associate>: Do not associate if the re-association of
6997 constants alone overflows.
6998 (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
6999 to the end of the list.
7000 (multiple_of_p) <COND_EXPR>: New case.
7001
9db94baa
MLI
70022010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
7003
7004 * opt-functions.awk (opt_sanitized_name): New.
7005 (opt_enum): New.
7006 * optc-gen.awk: Use it
7007 * opth-gen.awk: Use it.
7008
0f2ffb9a
MJ
70092010-04-13 Martin Jambor <mjambor@suse.cz>
7010
7011 * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
7012 (sra_modify_assign): Delete stmts loading dead data even if racc has no
7013 children. Call replace_uses_with_default_def_ssa_name to handle
7014 SSA_NAES on lhs.
7015
f78b86c0
MM
70162010-04-13 Michael Matz <matz@suse.de>
7017
7018 PR middle-end/43730
7019 * builtins.c (expand_builtin_interclass_mathfn): Also create
7020 a register if the predicate doesn't match.
7021
0e6229c2
DN
70222010-04-13 Diego Novillo <dnovillo@google.com>
7023
7024 * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
7025 * c-pch.c: Include timevar.h.
7026 (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
3f529c2c 7027 (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
0e6229c2 7028 * ggc-common.c: Include timevar.h.
3f529c2c 7029 (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
0e6229c2
DN
7030 * timevar.def (TV_PCH_SAVE): Define.
7031 (TV_PCH_CPP_SAVE): Define.
7032 (TV_PCH_PTR_REALLOC): Define.
7033 (TV_PCH_PTR_SORT): Define.
7034 (TV_PCH_RESTORE): Define.
7035 (TV_PCH_CPP_RESTORE): Define.
7036
143597ff
MM
70372010-04-13 Michael Matz <matz@suse.de>
7038
7039 * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
7040 into MINUS_EXPRs.
7041 (can_reassociate_p): New function.
7042 (break_up_subtract_bb, reassociate_bb): Use it.
7043
54c5ec4f
RG
70442010-04-13 Richard Guenther <rguenther@suse.de>
7045
7046 PR bootstrap/43737
7047 * builtins.c (c_readstr): Fix assert.
7048
719938ae
UB
70492010-04-13 Uros Bizjak <ubizjak@gmail.com>
7050
7051 * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
7052 when generating cltd insn.
7053
7054 (*ashl<mode>3_1): Remove special handling for register operand 2.
7055 (*ashlsi3_1_zext): Ditto.
7056 (*ashlhi3_1): Ditto.
7057 (*ashlhi3_1_lea): Ditto.
7058 (*ashlqi3_1): Ditto.
7059 (*ashlqi3_1_lea): Ditto.
7060 (*<shiftrt_insn><mode>3_1): Ditto.
7061 (*<shiftrt_insn>si3_1_zext): Ditto.
7062 (*<shiftrt_insn>qi3_1_slp): Ditto.
7063 (*<rotate_insn><mode>3_1): Ditto.
7064 (*<rotate_insn>si3_1_zext): Ditto.
7065 (*<rotate_insn>qi3_1_slp): Ditto.
7066
3e8542ca
RG
70672010-04-13 Richard Guenther <rguenther@suse.de>
7068
7069 * tree-ssa-structalias.c (callused_id): Remove.
7070 (call_stmt_vars): New.
7071 (get_call_vi): Likewise.
7072 (lookup_call_use_vi): Likewise.
7073 (lookup_call_clobber_vi): Likewise.
7074 (get_call_use_vi): Likewise.
7075 (get_call_clobber_vi): Likewise.
7076 (make_transitive_closure_constraints): Likewise.
7077 (handle_const_call): Adjust to do per-call call-used handling.
7078 (handle_pure_call): Likewise.
7079 (find_what_var_points_to): Remove general callused handling.
7080 (init_base_vars): Likewise.
7081 (init_alias_vars): Initialize call_stmt_vars.
7082 (compute_points_to_sets): Process call-used and call-clobbered
7083 vars for call statements.
7084 (delete_points_to_sets): Free call_stmt_vars.
7085
777e1f09
RG
70862010-04-13 Richard Guenther <rguenther@suse.de>
7087
7088 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
7089 Only add RW dependence for dependence distance zero.
7090 Adjust maximal vectorization factor according to dependences.
7091 Move alignment handling ...
7092 (vect_find_same_alignment_drs): ... here. New function.
7093 (vect_analyze_data_ref_dependences): Adjust.
7094 (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
7095 (vect_analyze_data_refs): Adjust minimal vectorization factor
7096 according to data references.
7097 * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
7098 dependences before determining the vectorization factor.
7099 Analyze alignment after determining the vectorization factor.
7100 * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
7101 dependences before alignment.
7102 * tree-vectorizer.h (vect_analyze_data_ref_dependences):
7103 Adjust prototype.
7104 (vect_analyze_data_refs): Likewise.
7105 (MAX_VECTORIZATION_FACTOR): New define.
7106
1a710808
DS
71072010-04-13 Duncan Sands <baldrick@free.fr>
7108
7109 * except.h (lang_eh_type_covers): Remove.
7110 * except.c (lang_eh_type_covers): Likewise.
7111
9602b6a1 71122010-04-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3f529c2c
UB
7113 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7114
9602b6a1
AK
7115 * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
7116 * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
3f529c2c 7117 UNITS_PER_LONG where it is ABI relevant.
9602b6a1
AK
7118 (s390_return_addr_rtx): Likewise.
7119 (s390_back_chain_rtx): Likewise.
7120 (s390_frame_area): Likewise.
7121 (s390_frame_info): Likewise.
7122 (s390_initial_elimination_offset): Likewise.
7123 (save_gprs): Likewise.
7124 (s390_emit_prologue): Likewise.
7125 (s390_emit_epilogue): Likewise.
7126 (s390_function_arg_advance): Likewise.
7127 (s390_function_arg): Likewise.
7128 (s390_va_start): Likewise.
7129 (s390_gimplify_va_arg): Likewise.
7130 (s390_function_profiler): Likewise.
7131 (s390_optimize_prologue): Likewise.
7132 (s390_rtx_costs): Likewise.
7133 (s390_secondary_reload): Likewise.
7134 (s390_promote_function_mode): Likewise.
7135 (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
7136 (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
7137 registers available.
7138 (s390_unwind_word_mode): New function.
7139 (s390_function_value): Split 64 bit values into register pair if
7140 used as return value.
7141 (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
7142 function call parameters. Handle parallels.
7143 (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
7144 (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
7145 (DWARF_CIE_DATA_ALIGNMENT): New macro.
7146 (s390_expand_setmem): Remove unused variable src_addr.
7147 * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
3f529c2c 7148 deal with 64 bit registers.
9602b6a1
AK
7149 * gcc/config/s390/s390.h: Define __zarch__ predefined macro.
7150 Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
7151 (UNITS_PER_LONG): New macro.
7152 * libjava/include/s390-signal.h: Define extended ucontext
7153 structure containing the upper halfs of the 64 bit registers.
7154
3b123595
SB
71552010-04-13 Simon Baldwin <simonb@google.com>
7156
7157 * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
7158
cb3d597d
EB
71592010-04-13 Eric Botcazou <ebotcazou@adacore.com>
7160
7161 * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
7162 rvalue on the RHS if the LHS is of a non-renamable type.
7163 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
7164
4adbd5dd
MK
71652010-04-13 Matthias Klose <doko@ubuntu.com>
7166
7167 * gcc.c (cc1_options): Handle -iplugindir before processing
7168 the cc1 spec. Only add -iplugindir once.
7169 (cpp_unique_options): Add -iplugindir option if -fplugin* options
7170 found.
7171 * common.opt (iplugindir): Remove `Separate' property, initialize.
7172 * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
7173 option.
7174 * Makefile.in (check-%, check-parallel-%): Create plugin dir.
7175 (distclean): Remove plugin dir.
7176 * doc/invoke.texi: Document -iplugindir.
7177
71782010-04-13 Basile Starynkevitch <basile@starynkevitch.net>
7179
7180 * doc/plugins.texi (Loading Plugins): Document short
7181 -fplugin=foo option.
7182 (Plugin API): Mention default_plugin_dir_name function.
7183
7184 * gcc.c (find_file_spec_function): Add new declaration.
7185 (static_spec_func): Use it for "find-file".
7186 (find_file_spec_function): Add new function.
7187 (cc1_options): Add -iplugindir option if -fplugin* options found.
7188
7189 * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
7190
7191 * plugin.c (add_new_plugin): Updated comment, and handle short
7192 plugin name.
7193 (default_plugin_dir_name): Added new function.
7194
719938ae 7195 * common.opt (iplugindir): New option to set the plugin directory.
4adbd5dd 7196
e0db9cc6
UB
71972010-04-12 Uros Bizjak <ubizjak@gmail.com>
7198
7199 * config/i386/i386.md (any_rotate): New code iterator.
7200 (rotate_insn): New code attribute.
7201 (rotate): Ditto.
7202 (SWIM124): New mode iterator.
7203 (<rotate_insn>ti3): New expander.
7204 (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
7205 any_rotate code iterator.
7206 (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
7207 using any_rotate code iterator and SWIM124 mode iterator.
7208 (ix86_rotlti3): New insn_and_split pattern.
7209 (ix86_rotrti3): Ditto.
7210 (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
7211 ix86_rotl{di,ti}3 patterns.
7212 (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
7213 (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
7214 and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
7215 *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
7216 code iterator and SWI mode iterator.
7217 (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
7218 Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
7219 code iterator.
7220 (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
7221 Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
7222 (bswap rotatert splitter): Add splitter.
7223 (bswap splitter): Macroize splitter using any_rotate code iterator.
7224 Add insn predicate to split only for TARGET_USE_XCHGB or when
7225 optimizing function for size.
7226
077c8ada
SE
72272010-04-12 Steve Ellcey <sje@cup.hp.com>
7228
7229 * config/pa/pa.c (emit_move_sequence): Remove use of
7230 deleted variable flag_argument_noalias.
7231
c7392d11
RO
72322010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7233
7234 * config.gcc: Removed *-*-solaris2.7* from list of obsolete
7235 configurations.
7236 Add to unsupported targets list.
7237 * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
7238 sparc*-sun-solaris2.[567]* from target lists.
7239 * configure: Regenerate.
7240 * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
7241 removal.
7242 Remove Solaris 7 patch references.
7243 (Specific, sparc-sun-solaris2.7): Removed.
7244 (sparc-sun-solaris2*): Update Solaris 7 example.
7245 (sparc64-*-solaris2*): Likewise.
7246
8c200350
RO
72472010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7248
7249 * config.build (alpha*-dec-osf4*): Remove.
7250 * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
7251 of obsolete configurations.
7252 (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
7253 support.
7254 * config/alpha/t-osf4: Renamed to ...
7255 * config/alpha/t-osf5: ... this.
7256 * config/alpha/osf.h: Renamed to ...
7257 * config/alpha/osf5.h: ... this.
7258 Merged old osf5.h contents.
7259 Update comments.
7260 (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
7261 (EXTRA_SPECS): Removed.
7262 * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
7263 reflect removal of Tru64 UNIX V4.0/V5.0 support.
7264 Document that.
7265
887204da
RO
72662010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7267
7268 * doc/contrib.texi (Contributors, Rainer Orth): Update.
7269
c1b8e139
KT
72702010-04-12 Kai Tietz <kai.tietz@onevision.com>
7271
7272 PR/43702
7273 * config/i386/i386.c (x86_this_parameter): Handle aggregate for
7274 __thiscall convention.
7275
b38bccca
SE
72762010-04-12 Steve Ellcey <sje@cup.hp.com>
7277
7278 * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
7279 orig_base.
7280 * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
7281
fc2f1f53
SE
72822010-04-12 Steve Ellcey <sje@cup.hp.com>
7283
7284 * function.c (assign_parms_initialize_all): Add unused attribute
7285 to fntype.
7286
d086d311
RG
72872010-04-12 Richard Guenther <rguenther@suse.de>
7288
7289 * gsstruct.def (GSS_CALL): New.
7290 * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
7291 * gimple.h: Include tree-ssa-alias.h.
7292 (struct gimple_statement_call): New.
7293 (union gimple_statement_struct_d): Add gimple_call member.
7294 (gimple_call_reset_alias_info): Declare.
7295 (gimple_call_use_set): New function.
7296 (gimple_call_clobber_set): Likewise.
7297 * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
7298 * gimple.c (gimple_call_reset_alias_info): New function.
7299 (gimple_build_call_1): Call it.
7300 * lto-streamer-in.c (input_gimple_stmt): Likewise.
7301 * tree-inline.c (remap_gimple_stmt): Likewise.
7302 (expand_call_inline): Remove callused handling.
7303 * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
7304 * tree-dfa.c (dump_variable): Likewise.
7305 * tree-parloops.c (parallelize_loops): Likewise.
7306 * tree-ssa.c (init_tree_ssa): Likewise.
7307 (delete_tree_ssa): Likewise.
7308 * tree-flow-inline.h (is_call_used): Remove.
7309 * tree-flow.h (struct gimple_df): Remove callused member.
7310 * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
7311 * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
7312 (ref_maybe_used_by_call_p_1): Simplify.
7313 (call_may_clobber_ref_p_1): Likewise.
7314 * tree-ssa-structalias.c (compute_points_to_sets): Set
7315 the call stmt used and clobbered sets.
7316 * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
7317 (find_tail_calls): Verify the tail call.
7318
af961c7f
RG
73192010-04-12 Richard Guenther <rguenther@suse.de>
7320
7321 * ipa.c (cgraph_postorder): Adjust postorder to guarantee
7322 single-iteration always-inline inlining.
7323 * ipa-inline.c (cgraph_mark_inline): Do not return anything.
e0db9cc6 7324 (cgraph_decide_inlining): Do not handle always-inline specially.
af961c7f
RG
7325 (try_inline): Remove always-inline cycle detection special case.
7326 Do not recurse on always-inlines.
7327 (cgraph_early_inlining): Do not iterate if not optimizing.
7328 (cgraph_gate_early_inlining): remove.
7329 (pass_early_inline): Run unconditionally.
7330 (gate_cgraph_decide_inlining): New function.
7331 (pass_ipa_inline): Use it. Do not run the IPA inliner if
7332 not inlining or optimizing.
7333 (cgraph_decide_inlining_of_small_functions): Also consider
7334 always-inline functions.
7335 (cgraph_default_inline_p): Return true for nodes which should
7336 disregard inline limits.
7337 (estimate_function_body_sizes): Assume zero size and time for
7338 nodes which are marked as disregarding inline limits.
7339 (cgraph_decide_recursive_inlining): Do not perform recursive
7340 inlining on always-inline nodes.
7341
fa8351f8
JJ
73422010-04-12 Jakub Jelinek <jakub@redhat.com>
7343
7344 PR bootstrap/43699
7345 * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
7346 for exprs satisfying handled_component_p.
7347
675c873b
EB
73482010-04-12 Eric Botcazou <ebotcazou@adacore.com>
7349
7350 * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
7351 non-constant aggregate elements.
7352
7353 * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
7354 is a real initialization.
7355
c4712597
SZ
73562010-04-12 Shujing Zhao <pearly.zhao@oracle.com>
7357
7358 PR c/36774
7359 * c-decl.c (start_function): Move forward check for nested function.
7360
6f50eb9c
KK
73612010-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
7362
7363 * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
7364 * config/sh/sh.c: Include reload.h.
7365 (sh_legitimize_reload_address): New.
7366 * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
7367 sh_legitimize_reload_address.
7368
c11c09f9
KP
73692010-04-11 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
7370
7371 * config/sh/sh.md (*movqi_pop): New insn pattern.
7372 * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
7373
d72ebc16
UB
73742010-04-11 Uros Bizjak <ubizjak@gmail.com>
7375
7376 * config/i386/i386.md (any_shiftrt): New code iterator.
7377 (shiftrt_insn): New code attribute.
7378 (shiftrt): Ditto.
e0db9cc6
UB
7379 (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
7380 using any_shiftrt code iterator.
d72ebc16 7381 (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
e0db9cc6 7382 *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
d72ebc16
UB
7383 (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
7384 pattern from corresponding peephole2 patterns.
e0db9cc6
UB
7385 (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
7386 using any_shiftrt code iterator.
7387 (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
7388 (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
7389 (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
7390 (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
7391 *{ashr,lshr}<mode>3_cmp_zext.
7392 (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
d72ebc16 7393
59caab22
UB
73942010-04-11 Uros Bizjak <ubizjak@gmail.com>
7395
7396 * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
7397 scratch register.
7398 (*lshr<mode>3_cconly): Ditto.
7399
9200ac72
UB
74002010-04-11 Uros Bizjak <ubizjak@gmail.com>
7401
7402 * config/i386/i386.md (lshr<mode>3): Macroize expander from
7403 lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
7404 (*lshr<mode>3_doubleword): New insn_and_split_pattern. Macroize
7405 pattern from *lshr{di,ti}3_1 and corresponding splitters using
7406 DWI mode iterator.
7407 (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
7408 from corresponding peephole2 patterns.
7409 (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
e0db9cc6
UB
7410 *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
7411 and *lshrdi3_1_rex64 using SWI mode iterator.
d72ebc16 7412 (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
9200ac72
UB
7413 (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
7414 (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
7415 *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
7416 and *lshrdi3_cmp_rex64 using SWI mode iterator.
7417 (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
7418 (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
7419 *lshrdi3_one_bit_cconly_rex64. Macroize insn from
7420 *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
7421 SWI mode iterator.
7422
27431d88
UB
74232010-04-10 Uros Bizjak <ubizjak@gmail.com>
7424
7425 * config/i386/i386.md (ashr<mode>3): Macroize expander from
7426 ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
7427 (*ashr<mode>3_doubleword): New insn_and_split_pattern. Macroize
7428 pattern from *ashr{di,ti}3_1 and corresponding splitters using
7429 DWI mode iterator.
7430 (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
7431 from corresponding peephole2 patterns.
7432 (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
7433 (ashrsi3_cvt): Rename from ashrsi3_31.
7434 (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
7435 (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
7436 and x86_64_shift_adj_3 using SWI48 mode iterator.
7437 (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
e0db9cc6
UB
7438 *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
7439 and *ashrdi3_1_rex64 using SWI mode iterator.
d72ebc16 7440 (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
27431d88
UB
7441 (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
7442 (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
7443 *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
7444 and *ashrdi3_cmp_rex64 using SWI mode iterator.
7445 (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
7446 (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
7447 *ashrdi3_one_bit_cconly_rex64. Macroize insn from
7448 *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
7449 SWI mode iterator.
59caab22 7450 (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
27431d88 7451 * config/i386/i386.c (ix86_split_ashr): Update for renamed
9200ac72 7452 x86_shift<mode>_adj_3 expanders.
27431d88 7453
85c9bcd4
WG
74542010-04-10 Wei Guozhi <carrot@google.com>
7455
7456 PR target/42601
7457 * config/arm/arm.c (arm_pic_static_addr): New function.
7458 (legitimize_pic_address): Call arm_pic_static_addr when it detects
7459 a static symbol.
7460 (arm_output_addr_const_extra): Output expression for new pattern.
7461 * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
7462
f0c6475a 74632010-04-10 Bernd Schmidt <bernds@codesourcery.com>
979740a0
BS
7464
7465 * ira-costs.c (record_reg_classes): Ignore alternatives that are
7466 not enabled.
4143fd36
BS
7467
7468 * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
7469 * web.c: Include "insn-config.h" and "recog.h".
7470 (union_match_dups): New function.
7471 (web_main): Call it.
7472 (union_defs): Don't try to recognize match_dups.
7473
52c1d580
BS
7474 * reload1.c (eliminate_regs_in_insn): Don't restore an operand
7475 if doing so would replace the entire pattern.
7476
ef0f4a03
UB
74772010-04-09 Uros Bizjak <ubizjak@gmail.com>
7478
7479 PR target/43707
7480 PR target/43709
7481 * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
7482 and splitter pattern. Change splitter operand 1 predicate to
7483 nonmemory_operand.
7484
add5d998
MJ
74852010-04-09 Martin Jambor <mjambor@suse.cz>
7486
7487 * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
7488 lattices are addresses of CONST_DECLs with the same initial value.
7489 (ipcp_print_all_lattices): Print values of CONST_DECLs.
7490 * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
7491
43ba743c 74922010-04-09 Eric Botcazou <ebotcazou@adacore.com>
f0c6475a 7493 Bernd Schmidt <bernds@codesourcery.com>
43ba743c
EB
7494
7495 * loop-invariant.c (replace_uses): New static function.
7496 (move_invariant_reg): Use it to ensure we can replace the uses.
7497
74982010-04-09 Hariharan Sandanagobalane <hariharan@picochip.com>
c3fd7b4d 7499
27431d88
UB
7500 * config/picochip/picochip.c (picochip_rtx_costs): Use correct
7501 function template.
43ba743c 7502 (picochip_override_options): Enable section anchors only above -O1.
c3fd7b4d
HS
7503 (picochip_reorg): Fixed a couple of build warnings.
7504
fcf52686
RO
75052010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7506
7507 * configure.ac (plugin -rdynamic test): Log result.
7508 * configure: Regenerate.
7509 * config/sol2.h (LINK_SPEC): Handle -rdynamic.
7510 (RDYNAMIC_SPEC): Define.
7511 * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
7512
55c4f715
RO
75132010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7514
7515 * configure.ac: Determine Sun ld version numbers.
7516 (comdat_group): Restrict GNU ld version checks to gld.
7517 (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
7518 (enable_comdat): Support --enable-comdat.
7519 * configure: Regenerate.
7520 * doc/install.texi (Configuration): Document --enable-comdat.
7521
62e08523
RO
75222010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7523
ef0f4a03 7524 * config/sparc/sol2-gld.h: Remove SPARC reference. Rename ...
62e08523
RO
7525 * config/sol2-gld.h: ... here.
7526 * config.gcc (sparc*-*-solaris2*): Reflect this.
7527 (i[34567]86-*-solaris2*): Use it.
7528
034288ef
SE
75292010-04-09 Steve Ellcey <sje@cup.hp.com>
7530
7531 * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
7532 setup_clocks_p.
7533 (final_emit_insn_group_barriers): Remove unused variable prev_insn.
7534
d0b8780d
MLI
75352010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7536
7537 PR 42965
7538 * diagnostic.c (diagnostic_initialize): Initialize
7539 some_warnings_are_errors.
7540 (diagnostic_finish): New.
7541 (diagnostic_action_after_output): Call it before exiting.
7542 (diagnostic_report_diagnostic): Do not print message here. Set
7543 some_warnings_are_errors.
7544 * diagnostic.h (diagnostic_context): Delete
7545 issue_warnings_are_errors_message. Add some_warnings_are_errors.
7546 (diagnostic_finish): Declare.
7547 * toplev.c (toplev_main): Call it before exit.
7548
93e9807a
JM
75492010-04-09 Jason Merrill <jason@redhat.com>
7550
cb6addf4
JM
7551 PR c++/42623
7552 * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
7553 for incomplete type.
7554
93e9807a
JM
7555 PR c++/41788
7556 * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
7557 based on a warning flag.
7558
74367220
RG
75592010-04-09 Richard Guenther <rguenther@suse.de>
7560
43ba743c 7561 * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
74367220 7562
8351bca7
IS
75632010-04-09 Iain Sandoe <iains@gcc.gnu.org>
7564
7565 PR bootstrap/43684
ef0f4a03 7566 * varasm.c (default_assemble_visibility): Wrap vars that are
8351bca7 7567 set, but unused, by targets without GAS.
ade52657 7568 * config/rs6000/rs6000.c (paired_emit_vector_compare):
8351bca7
IS
7569 Remove set, but unused, vars.
7570 (rs6000_legitimize_tls_address): Likewise.
7571 (altivec_expand_dst_builtin): Likewise.
7572 * config/darwin.c (machopic_classify_symbol): Likewise.
7573 (machopic_indirection_name): Likewise.
ef0f4a03 7574
014753cc
UB
75752010-04-09 Uros Bizjak <ubizjak@gmail.com>
7576
7577 * config/i386/i386.md (DWI): New mode iterator.
7578 (S): New mode attribute.
7579 (shift_operand): Ditto.
7580 (shift_immediate_operand): Ditto.
7581 (ashl_input_operand): Ditto.
7582 (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
7583 using SDWIM mode iterator.
7584 (*ashl<mode>3_doubleword): New insn_and_split_pattern. Macroize
7585 pattern from *ashl{di,ti}3_1 and corresponding splitters using
7586 DWI mode iterator.
7587 (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
7588 from corresponding peephole2 patterns.
7589 (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
7590 and x86_64_shift_adj_1 using SWI48 mode iterator.
7591 (x86_shift<mode>_adj_2): Ditto.
7592 (*ashldi3_1_rex64): Split TYPE_LEA pattern.
7593 (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
7594 using SWI48 mode iterator.
7595 (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
7596 *ashldi3_cmp_rex64 using SWI mode iterator.
7597 (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
7598 *ashldi3_cconly_rex64 using SWI mode iterator.
7599 * config/i386/i386.c (ix86_split_ashl): Update for renamed
7600 x86_shift<mode>_adj_{1,2}.
7601 (ix86_split_ashr): Ditto.
7602 (ix86_split_lshr): Ditto.
7603
88dd7150
RG
76042010-04-09 Richard Guenther <rguenther@suse.de>
7605
7606 * target.h (builtin_conversion): Pass in input and output types.
7607 * targhooks.c (default_builtin_vectorized_conversion): Adjust.
7608 * targhooks.h (default_builtin_vectorized_conversion): Likewise.
7609 * tree-vect-stmts.c (vectorizable_conversion): Adjust.
7610 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
7611
7612 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
7613 Handle AVX modes.
7614 * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
7615
3f2060fd
RG
76162010-04-09 Richard Guenther <rguenther@suse.de>
7617
7618 PR target/43152
7619 * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
7620
b690cc0f
RG
76212010-04-09 Richard Guenther <rguenther@suse.de>
7622
7623 * tree-vectorizer.h (struct _stmt_vec_info): Document
7624 that vectype is the type of the LHS.
59caab22 7625 (supportable_widening_operation, supportable_narrowing_operation):
b690cc0f
RG
7626 Get both input and output vector types as arguments.
7627 (vect_is_simple_use_1): Declare.
7628 (get_same_sized_vectype): Likewise.
7629 * tree-vect-loop.c (vect_determine_vectorization_factor):
7630 Set STMT_VINFO_VECTYPE to the vector type of the def.
7631 (vectorizable_reduction): Adjust.
7632 * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
7633 Adjust. Specify the output vector type.
7634 (vect_pattern_recog_1): Adjust.
7635 * tree-vect-stmts.c (get_same_sized_vectype): New function.
7636 (vectorizable_call): Adjust.
7637 (vectorizable_conversion): Likewise.
7638 (vectorizable_operation): Likewise.
7639 (vectorizable_type_demotion): Likewise.
7640 (vectorizable_type_promotion): Likewise.
7641 (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
7642 the def.
7643 (vect_is_simple_use_1): New function.
7644 (supportable_widening_operation): Get both input and output
7645 vector types.
7646 (supportable_narrowing_operation): Likewise.
7647 * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
7648
3e65f251
KT
76492010-04-09 Kai Tietz <kai.tietz@onevision.com>
7650
7651 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
7652 __thiscall and _thiscall as predefined macros.
7653 * config/i386/i386.c (ix86_handle_cconv_attribute): Add
7654 thiscall attribute handling.
7655 (ix86_comp_type_attributes): Likewise.
7656 (ix86_function_regparm): Likewise.
7657 (ix86_return_pops_args): Likewise.
7658 (init_cumulative_args): Likewise.
7659 (find_drap_reg): Likewise.
7660 (ix86_static_chain): Likewise.
7661 (x86_this_parameter): Likewise.
7662 (x86_output_mi_thunk): Likewise.
7663 (ix86_attribute_table): Add description for thiscall attribute.
014753cc 7664 * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
3e65f251 7665 * doc/extend.texi: Add documentation for thiscall.
27431d88 7666
dc8d2739
MLI
76672010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7668
7669 PR c++/28584
7670 * c.opt (Wint-to-pointer-cast): Available in C++.
7671 * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
7672
d47d0a8d
EB
76732010-04-08 Eric Botcazou <ebotcazou@adacore.com>
7674
7675 * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
7676 * calls.c (expand_call): Pass the function type to aggregate_value_p.
7677 * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
7678 the target function of a CALL_EXPR. Honor TREE_ADDRESSABLE on the
7679 function type instead. Reorder and simplify checks.
7680
7681 * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
7682
dc5ee869
JY
76832010-04-08 Jing Yu <jingyu@google.com>
7684 Zdenek Dvorak <ook@ucw.cz>
7685
7686 PR tree-optimization/42720
7687 * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
014753cc
UB
7688 loop unswitch conditions here from ...
7689 (tree_unswitch_single_loop): ... here.
dc5ee869 7690
98c07c54
SP
76912010-04-08 Sebastian Pop <sebastian.pop@amd.com>
7692
7693 * tree-if-conv.c: Fix comments and simplify logic.
7694
6cbcfa9d
SP
76952010-04-08 Sebastian Pop <sebastian.pop@amd.com>
7696
7697 * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
7698 (tree_if_conversion): Same. Update call to if_convertible_loop_p.
7699 (main_tree_if_conversion): Update call to tree_if_conversion.
7700
1401cf37
MLI
77012010-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
7702
7703 PR 42485
7704 * doc/invoke.texi (-b,-V): Delete.
7705 * doc/tm.texi: Do not mention -b.
7706 * gcc.c (display_help): Delete -b and -V.
7707 (process_command): Delete -b and -V.
7708 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
6cbcfa9d 7709
40ac4f73 77102010-04-08 Christian Borntraeger <borntraeger@de.ibm.com>
27431d88 7711 Wolfgang Gellerich <gellerich@de.ibm.com>
40ac4f73 7712
014753cc
UB
7713 Implement target hook for loop unrolling
7714 * target.h (loop_unroll_adjust): Add a new target hook function.
7715 * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
7716 * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
7717 * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
7718 (s390_loop_unroll_adjust): Implement the new target hook for s390.
7719 * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
7720 target hook.
7721 (decide_unroll_stupid): Likewise.
40ac4f73 7722
07c60ef7
RO
77232010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7724
7725 PR target/43643
7726 * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
7727
dd178909
RO
77282010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7729
7730 * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
7731 (Specific, *-*-solaris2*): Likewise.
7732 Don't prefer Sun as over GNU as.
7733
cc6ae6a1
WG
77342010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
7735
c46a5e28
EB
7736 * config/s390/s390.c (override_options): Adjust the z10 defaults
7737 for max-unroll-times, max-completely-peeled-insns
7738 and max-completely-peel-times.
cc6ae6a1 7739
adfa3cd3
AK
77402010-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7741
7742 * config/s390/s390.c (s390_expand_movmem): Issue prefetch
7743 instructions for z10.
7744 (s390_expand_setmem): Likewise.
7745 (s390_expand_cmpmem): Likewise.
7746
84ae6d7b
RG
77472010-04-08 Richard Guenther <rguenther@suse.de>
7748
7749 PR tree-optimization/43679
7750 * tree-ssa-pre.c (eliminate): Only propagate copies.
7751
5a905a2b
JJ
77522010-04-08 Jakub Jelinek <jakub@redhat.com>
7753
7754 PR bootstrap/43681
7755 * expr.c (block_move_libcall_safe_for_call_parm): Avoid
7756 set but not used variable warning.
7757
7548c1be
WG
77582010-04-08 Wei Guozhi <carrot@google.com>
7759
7760 PR target/41653
7761 * config/arm/arm.c (thumb1_size_rtx_costs): New function.
7762 (arm_size_rtx_costs): Call the new function when optimized for size.
7763
aa847cc8
JJ
77642010-04-08 Jakub Jelinek <jakub@redhat.com>
7765
7766 PR debug/43670
7767 * cfgexpand.c (expand_debug_expr): If for non-NULL offset
7768 op0 is not a MEM, just return NULL instead of assertion
7769 failure.
7770 (discover_nonconstant_array_refs): Don't walk debug stmts.
7771
1dcc82c2
DK
77722010-04-08 Doug Kwan <dougkwan@google.com>
7773
7774 * configure.ac: Recognize gold and do not use its version number
7775 to test ld features.
7776 * configure: Regenerate.
7777
b0aef8a8
MK
77782010-04-08 Maxim Kuvyrkov <maxim@codesourcery.com>
7779
7780 PR middle-end/40815
7781 * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
7782 (negate_value): Move code to push elements to broken_up_substracts ...
7783 (eliminate_plus_minus_pair): ... here. Push operands that have no
7784 negative pair to plus_negates.
7785 (repropagate_negates, init_reassoc, fini_reassoc): Update.
7786
7a50adb7
RW
77872010-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7788
2d413304
RW
7789 * doc/install.texi (Configuration): Move description of
7790 --enable-lto, --with-libelf*, --enable-gold from Java section to
7791 general section.
7792
7a50adb7
RW
7793 * doc/generic.texi (Working with declarations)
7794 (Function Properties, C and C++ Trees): Fix typos.
7795 * doc/sourcebuild.texi (Top Level): Likewise.
7796
60d3aec4
JJ
77972010-04-07 Jakub Jelinek <jakub@redhat.com>
7798
ebfbbdc5
JJ
7799 PR c/18624
7800 * tree.h (DECL_READ_P): Define.
7801 (struct tree_decl_common): Add decl_read_flag.
7802 * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
7803 a set but not used warning.
7804 (merge_decls): Merge DECL_READ_P flag.
7805 (finish_decl, build_compound_literal): Set DECL_READ_P flag.
7806 (finish_function): Issue -Wunused-but-set-parameter diagnostics.
7807 * c-common.c (handle_used_attribute, handle_unused_attribute):
7808 Likewise.
7809 * c-tree.h (default_function_array_read_conversion, mark_exp_read):
7810 New prototypes.
7811 * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
7812 New functions.
7813 (default_conversion, c_process_expr_stmt): Call mark_exp_read.
7814 * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
7815 c_parser_binary_expression, c_parser_cast_expression,
7816 c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
7817 Call default_function_array_read_conversion instead of
7818 default_function_array_conversion where needed.
7819 (c_parser_unary_expression, c_parser_conditional_expression,
7820 c_parser_postfix_expression_after_primary, c_parser_initelt):
7821 Likewise. Call mark_exp_read where needed.
7822 (c_parser_statement_after_labels, c_parser_asm_operands,
7823 c_parser_typeof_specifier, c_parser_sizeof_expression,
7824 c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
7825 where needed.
7826 * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
7827 New.
7828 * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
7829 (warn_unused_but_set_parameter): Default to warn_unused
7830 && extra_warnings.
7831 * doc/invoke.texi: Document -Wunused-but-set-variable and
7832 -Wunused-but-set-parameter.
7833
60d3aec4
JJ
7834 * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
7835 used count variable.
7836 * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
7837 when operandN variables aren't used in the body of the expander
7838 or splitter.
7839 * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
7840 FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
7841 * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
7842 * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
7843 FOR_EACH_IMM_USE_ON_STMT): Likewise.
7844 * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
7845 * tree.c (PROCESS_ARG): Likewise.
7846
87cf0651
SB
78472010-04-07 Simon Baldwin <simonb@google.com>
7848
7849 * diagnostic.h (diagnostic_override_option_index): New macro to
7850 set a diagnostic's option_index.
7851 * c-tree.h (c_cpp_error): Add warning reason argument.
7852 * opts.c (_warning_as_error_callback): New.
7853 (register_warning_as_error_callback): Store callback for
7854 warnings enabled via enable_warning_as_error.
7855 (enable_warning_as_error): Call callback, minor code tidy.
7856 * opts.h (register_warning_as_error_callback): Declare.
7857 * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
7858 response to -Werror=.
7859 (c_common_init_options): Register warning_as_error_callback in opts.c.
7860 * common.opt: Add -Wno-cpp option.
7861 * c-common.c (struct reason_option_codes_t): Map cpp warning
7862 reason codes to gcc option indexes.
7863 * (c_option_controlling_cpp_error): New function, lookup the gcc
7864 option index for a cpp warning reason code.
7865 * (c_cpp_error): Add warning reason argument, call
7866 c_option_controlling_cpp_error for diagnostic_override_option_index.
7867 * doc/invoke.texi: Document -Wno-cpp.
7868
2ea9dc64
RG
78692010-04-07 Richard Guenther <rguenther@suse.de>
7870
7871 * ipa-reference.c (mark_load): Use get_base_address.
7872 (mark_store): Likewise.
7873
7874 * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
7875 inserting GIMPLE_NOPs into the IL.
7876 * tree-ssa-structalias.c (get_constraint_for_component_ref):
7877 Explicitly strip handled components and indirect references.
59caab22 7878
2ea9dc64
RG
7879 * fold-const.c (fold_unary_loc): Do not strip qualifiers when
7880 folding address expressions.
7881 * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
7882 * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
7883 operand_equal_p to compare decls.
7884 (ptr_deref_may_alias_decl_p): Likewise.
7885 * tree-ssa-operands.c (get_asm_expr_operands): Simplify
7886 * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
7887 Handle reversed comparison ops.
7888 * tree-sra.c (asm_visit_addr): Use get_base_address.
014753cc 7889 * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
2ea9dc64
RG
7890 * ipa-reference.c (mark_address): Use get_base_address.
7891
95d938ee
RG
78922010-04-07 Richard Guenther <rguenther@suse.de>
7893
7894 * tree-ssa-forwprop.c (forward_propagate_addr_expr):
7895 Propagate constants everywhere.
7896
1a299ae4
JJ
78972010-04-07 Jakub Jelinek <jakub@redhat.com>
7898
7899 PR debug/43516
7900 * tree.c (MAX_INT_CACHED_PREC): Define.
7901 (nonstandard_integer_type_cache): New array.
7902 (build_nonstandard_integer_type): Cache results for precision
7903 <= MAX_INT_CACHED_PREC.
7904
0d3c82d6
RG
79052010-04-07 Richard Guenther <rguenther@suse.de>
7906
7907 * doc/invoke.texi (-fargument-alias, -fargument-noalias,
7908 -fargument-noalias-global, -fargument-noalias-anything): Remove.
7909 * common.opt: Likewise.
014753cc
UB
7910 * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
7911 * alias.c (base_alias_check): Remove flag_argument_noalias handling.
0d3c82d6
RG
7912 (nonoverlapping_memrefs_p): Likewise.
7913 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
7914 * opts.c (common_handle_option): Handle OPT_fargument_alias,
7915 OPT_fargument_noalias, OPT_fargument_noalias_anything and
7916 OPT_fargument_noalias_global for backward compatibility.
7917
12bd5a1e
RG
79182010-04-07 Richard Guenther <rguenther@suse.de>
7919
7920 PR tree-optimization/43270
014753cc 7921 * tree-vrp.c (check_array_ref): Fix flexible array member detection.
12bd5a1e
RG
7922 * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
7923 * tree-ssa-pre.c (phi_translate_1): Adjust.
7924 (fully_constant_expression): Split out vn_reference handling to ...
7925 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
7926 Fold reads from constant strings.
7927 (vn_reference_lookup): Handle fully constant references.
7928 (vn_reference_lookup_pieces): Likewise.
7929 * Makefile.in (expmed.o-warn): Add -Wno-error.
7930
a7752396
MJ
79312010-04-07 Martin Jambor <mjambor@suse.cz>
7932
7933 * tree-sra.c (find_param_candidates): Allow scalar va_list types.
7934
6392bea6
IS
79352010-04-07 Iain Sandoe <iains@gcc.gnu.org>
7936
7937 PR driver/41594
7938 * gcc.c: Add -static-libstdc++ to list of recognized options.
7939
9af27220
RO
79402010-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7941
014753cc 7942 * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
9af27220 7943
83a416b0
RG
79442010-04-07 Richard Guenther <rguenther@suse.de>
7945
7946 PR middle-end/42617
014753cc
UB
7947 * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
7948 bases build simple mem attributes to retain points-to information.
83a416b0 7949
366f945f
RG
79502010-04-07 Richard Guenther <rguenther@suse.de>
7951
7952 PR middle-end/42617
7953 * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
7954 preserve points-to related information.
7955
56c47f22
RG
79562010-04-07 Richard Guenther <rguenther@suse.de>
7957
7958 PR middle-end/42617
7959 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
7960 discard plain indirect references.
014753cc 7961 * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
56c47f22
RG
7962 * tree.c (tree_nop_conversion): Likewise.
7963
a42f1217
DS
79642010-04-07 Dodji Seketeli <dodji@redhat.com>
7965
7966 PR debug/43628
7967 * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
7968
b97b2634
KT
79692010-04-06 Kai Tietz <kai.tietz@onevision.com>
7970
7971 * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
7972 calling convention attributes on METHOD_TYPEs for w64 ABI, too.
7973
62ef2431
SP
79742010-04-07 Sebastian Pop <sebastian.pop@amd.com>
7975
7976 * tree-if-conv.c: Fix indentation and comments.
7977
baaa8e96
SP
79782010-04-07 Sebastian Pop <sebastian.pop@amd.com>
7979
7980 * tree-if-conv.c: Sort static functions in topological order.
7981
b6779d81
SP
79822010-04-07 Sebastian Pop <sebastian.pop@amd.com>
7983
7984 * tree-if-conv.c: Fix indentation and comments.
7985
9310a3e2
SP
79862010-04-06 Sebastian Pop <sebastian.pop@amd.com>
7987
7988 PR middle-end/43519
7989 * graphite-clast-to-gimple.c (max_signed_precision_type): Use
014753cc
UB
7990 lang_hooks.types.type_for_size instead of
7991 build_nonstandard_integer_type.
9310a3e2
SP
7992 When converting an unsigned type to signed, double its precision.
7993 (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
7994 (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
014753cc
UB
7995 (graphite_create_new_loop_guard): When ub + 1 wraps around,
7996 use lb <= ub.
9310a3e2
SP
7997
79982010-04-06 Sebastian Pop <sebastian.pop@amd.com>
7999
8000 PR middle-end/43519
8001 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
8002 POINTER_PLUS_EXPR for pointer types.
8003
80042010-04-06 Sebastian Pop <sebastian.pop@amd.com>
8005
8006 PR middle-end/43519
8007 * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
8008 * graphite-clast-to-gimple.c: Include langhooks.h.
8009 (max_signed_precision_type): New.
8010 (max_precision_type): Takes two types as arguments.
8011 (precision_for_value): New.
8012 (precision_for_interval): New.
8013 (gcc_type_for_interval): New.
8014 (gcc_type_for_value): New.
8015 (gcc_type_for_clast_term): New.
8016 (gcc_type_for_clast_red): New.
8017 (gcc_type_for_clast_bin): New.
8018 (gcc_type_for_clast_expr): Split up into several functions.
8019 (gcc_type_for_clast_eq): Rewritten.
8020 (compute_bounds_for_level): New.
8021 (compute_type_for_level_1): New.
8022 (compute_type_for_level): New.
8023 (gcc_type_for_cloog_iv): Removed.
8024 (gcc_type_for_iv_of_clast_loop): Rewritten.
8025 (graphite_create_new_loop): Compute the lower and upper bound types
8026 with gcc_type_for_clast_expr.
8027 (graphite_create_new_loop_guard): Same.
8028 (find_cloog_iv_in_expr): Removed.
8029 (compute_cloog_iv_types_1): Removed.
8030 (compute_cloog_iv_types): Removed.
8031 (gloog): Do not call compute_cloog_iv_types.
8032 * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
8033 GBB_CLOOG_IV_TYPES.
8034 (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
8035 * sese.h (struct gimple_bb): Removed field cloog_iv_types.
8036 (GBB_CLOOG_IV_TYPES): Removed.
8037
80382010-04-06 Sebastian Pop <sebastian.pop@amd.com>
8039
8040 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
8041 gimple_phi_num_args of the loop close SSA phi node is equal to 1.
8042 (detect_commutative_reduction): Same.
8043
a3b9e73c
SP
80442010-04-06 Sebastian Pop <sebastian.pop@amd.com>
8045
8046 * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
8047 call to verify_ssa. Invoke verify_loop_closed_ssa with an extra
8048 argument.
8049 * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
8050 * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
8051 (rewrite_commutative_reductions_out_of_ssa): Same.
8052 * passes.c (execute_function_todo): Call verify_ssa for every pass
8053 in the LNO. Invoke verify_loop_closed_ssa with an extra argument.
8054 * tree-flow.h (verify_loop_closed_ssa): Update declaration.
8055 * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
8056 with an extra argument.
8057 * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same. Call
8058 verify_ssa only when the extra argument is true.
8059 (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
8060 with an extra argument.
8061 (tree_transform_and_unroll_loop): Same.
8062
98b6e9dd
SP
80632010-04-06 Sebastian Pop <sebastian.pop@amd.com>
8064
8065 * passes.c (execute_function_todo): Call verify_loop_closed_ssa
8066 for all the passes of the LNO having LOOP_CLOSED_SSA.
8067 * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
8068 * tree-loop-distribution.c (pass_loop_distribution): Same.
8069 * tree-pass.h (TODO_verify_loops): Removed.
8070 * tree-ssa-loop.c (pass_tree_loop_init): Same.
8071 (pass_lim): Same.
8072 (pass_tree_unswitch): Same.
8073 (pass_predcom): Same.
8074 (pass_vectorize): Same.
8075 (pass_linear_transform): Same.
8076 (pass_graphite_transforms): Same.
8077 (pass_iv_canon): Same.
8078 (pass_complete_unroll): Same.
8079 (pass_complete_unrolli): Same.
8080 (pass_parallelize_loops): Same.
8081 (pass_loop_prefetch): Same.
8082 (pass_iv_optimize): Same.
8083
c86a3947
CF
80842010-04-06 Changpeng Fang <changpeng.fang@amd.com>
8085
8086 PR middle-end/32824
8087 * passes.c (init_optimization_passes): Move pass_lim before
8088 pass_copy_prop and pass_dce_loop.
8089
37794981
JJ
80902010-04-06 Jakub Jelinek <jakub@redhat.com>
8091
8092 PR target/43667
8093 * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
8094 instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
8095 (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
8096 MULTI_* defines for 4 argument vpermil2p* builtins.
8097
d079b87f
UB
80982010-04-06 Uros Bizjak <ubizjak@gmail.com>
8099
8100 * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
8101 * config/i386/i386.c (x86_maybe_negate_const_int): New.
8102 (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
8103 * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
8104 *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
8105 *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
8106 *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
8107 Use x86_maybe_negate_const_int to output insn mnemonic.
8108 (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto. Remove overflow
8109 check from instruction predicate. Update comments.
8110 * config/i386/sync.md (sync_add<mode>): Use
8111 x86_maybe_negate_const_int to output insn mnemonic.
b1a0b3b4 8112
d079b87f
UB
81132010-04-06 Jan Hubicka <jh@suse.cz>
8114
8115 PR tree-optimization/42906
8116 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
8117 IGNORE_SELF argument. Set visited_control_parents for fully
8118 processed BBs.
b1a0b3b4
JH
8119 (find_obviously_necessary_stmts): Update call of
8120 mark_control_dependent_edges_necessary.
d079b87f 8121 (propagate_necessity): Likewise. Handle PHI edges more curefully.
b1a0b3b4 8122
6593d123
UB
81232010-04-06 Uros Bizjak <ubizjak@gmail.com>
8124
8125 * config/i386/i386.md: Remove comment about 'e' and 'E'
8126 operand modifier.
8127
56186ac2
RG
81282010-04-06 Richard Guenther <rguenther@suse.de>
8129
8130 PR tree-optimization/43627
8131 * tree-vrp.c (extract_range_from_unary_expr): Widenings
8132 of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
8133 not varying.
8134
7d11d368
JJ
81352010-04-06 Jakub Jelinek <jakub@redhat.com>
8136
d3bccded
JJ
8137 * BASE-VER: Change to 4.6.0.
8138
7d11d368
JJ
8139 PR target/43638
8140 * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
8141 handling.
8142
eb12d0ae
RG
81432010-04-06 Richard Guenther <rguenther@suse.de>
8144
8145 PR middle-end/43661
8146 * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
8147
53b79425
RW
81482010-04-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8149
8150 * doc/invoke.texi (Optimize Options): Document that LTO
8151 won't remove object access purely due to incompatible
8152 declarations.
8153
7e0ec110
MK
81542010-04-04 Matthias Klose <doko@ubuntu.com>
8155
8156 * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
8157 Initialize variable.
8158
2b22e382
RG
81592010-04-03 Richard Guenther <rguenther@suse.de>
8160
8161 PR middle-end/42509
8162 * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
8163 require a non-NULL MEM_OFFSET.
8164
c75c517d
SB
81652010-04-02 Steven Bosscher <steven@gcc.gnu.org>
8166
d079b87f 8167 * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
c75c517d
SB
8168 basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
8169 collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
8170 config/alpha/predicates.md, config/arm/arm.md,
8171 config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
8172 config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
8173 config/darwin9.h, config/darwin.c, config/darwin.h,
8174 config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
8175 config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
8176 config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
8177 config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
8178 config/mips/mips.md, config/mn10300/mn10300.c,
8179 config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
8180 config/rs6000/aix.h, config/rs6000/dfp.md,
8181 config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
8182 config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
8183 config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
8184 config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
8185 config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
8186 config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
8187 c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
8188 diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
8189 doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
8190 doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
8191 fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
8192 gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
8193 graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
8194 graphite-dependences.c, graphite-poly.c, graphite-poly.h,
8195 graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
8196 graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
8197 intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
8198 ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
8199 ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
8200 loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
8201 objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
8202 opt-functions.awk, opth-gen.awk, params.def, passes.c,
8203 postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
8204 rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
8205 store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
8206 tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
8207 tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
8208 tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
8209 tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
8210 tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
8211 tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
8212 tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
8213 tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
8214 tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
8215 tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
8216 unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
8217
4d9e8446
RW
82182010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8219
8220 PR other/43620
8221 * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
8222 * aclocal.m4: Regenerate.
8223
1cdaa211
RG
82242010-04-02 Richard Guenther <rguenther@suse.de>
8225
8226 PR tree-optimization/43629
8227 * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
8228 if we have seen a constant value.
8229
d33da5cd
JM
82302010-04-02 Joseph Myers <joseph@codesourcery.com>
8231
014753cc 8232 * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
d33da5cd 8233
2e5505a4
RE
82342010-04-02 Richard Earnshaw <rearnsha@arm.com>
8235
8236 PR target/43469
d079b87f 8237 * arm.c (legitimize_tls_address): Adjust call to
2e5505a4
RE
8238 gen_tls_load_dot_plus_four.
8239 (arm_note_pic_base): New function.
8240 (arm_cannot_copy_insn_p): Use it.
8241 * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
8242 constraint.
8243
bdfbd9df
RW
82442010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8245
8246 PR bootstrap/43531
8247
8248 Revert:
8249 2009-09-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8250
8251 * Makefile.in ($(out_object_file)): Depend on
8252 gt-$(basename $(notdir $(out_file))).h.
8253
2bc40daa
RC
82542010-04-01 Ralf Corsépius <ralf.corsepius@rtems.org>
8255
014753cc 8256 * config.gcc (lm32-*-rtems*): Add t-lm32.
2bc40daa
RC
8257
82582010-04-01 Joel Sherrill <joel.sherrill@oarcorp.com>
8259
014753cc
UB
8260 * config.gcc: Add lm32-*-rtems*.
8261 * config/lm32/rtems.h: New file.
2bc40daa 8262
abfb38d7
DK
82632010-04-01 Dave Korn <dave.korn.cygwin@gmail.com>
8264
8265 PR target/42609
8266 * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
8267
2f43d500
JJ
82682010-04-01 Jakub Jelinek <jakub@redhat.com>
8269
8270 * dwarf2out.c (output_compilation_unit_header): For
8271 -gdwarf-4 use version 4 instead of version 3.
8272 (output_line_info): For version 4 and above emit additional
8273 maximum ops per insn header field.
8274 (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
8275
8276 * dwarf2out.c (is_c_family, is_java): Remove.
8277 (lower_bound_default): New function.
8278 (add_bound_info, gen_descr_array_type_die): Use it.
8279
777351a5
DS
82802010-04-01 Dodji Seketeli <dodji@redhat.com>
8281
8282 PR debug/43325
8283 * dwarf2out.c (gen_variable_die): Allow debug info for variable
8284 re-declaration when it happens in a function.
8285
6544865a
AH
82862010-04-01 Aldy Hernandez <aldyh@redhat.com>
8287
8288 * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
8289 (cgraph_remove_function_insertion_hook): Same.
8290 (cgraph_call_function_insertion_hooks): Same.
8291
5e9fb3db
RG
82922010-04-01 Richard Guenther <rguenther@suse.de>
8293
8294 PR middle-end/43614
8295 * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
8296 and TREE_THIS_VOLATILE.
8297 (copy_ref_info): Likewise.
8298 * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
8299 * tree.c (build6_stat): Ignore side-effects of all but arg5
8300 for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of
8301 TARGET_MEM_REF.
8302
eb258d7f
RG
83032010-04-01 Richard Guenther <rguenther@suse.de>
8304
8305 PR tree-optimization/43607
8306 * ipa-type-escape.c (check_call): Do not access non-existing
8307 arguments.
8308
aa8bfcad
RG
83092010-04-01 Richard Guenther <rguenther@suse.de>
8310
8311 PR middle-end/43602
8312 Revert
8313 2010-03-30 Seongbae Park <seongbae.park@gmail.com>
014753cc 8314 Jack Howarth <howarth@bromo.med.uc.edu>
aa8bfcad
RG
8315
8316 * tree-profile.c (tree_init_ic_make_global_vars): Make static
8317 variables TLS.
8318
8c5cfa89
RO
83192010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8320
8321 * doc/install.texi (Prerequisites): Document libelf usability on
8322 IRIX 5/6 and Solaris 2.
8323 (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
8324 Update GNU as, GNU ld requirements.
8325 (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
8326 Document Sun Studio compiler download.
8327 Update and simplify as, ld recommendations.
8328 (Specific, *-*-solaris2.7): Note obsoletion, removal.
8329
ddcc3550
RO
83302010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8331
9af27220 8332 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
ddcc3550
RO
8333 with_tune_32 to pentium4.
8334
93234e58
UB
83352010-04-01 Uros Bizjak <ubizjak@gmail.com>
8336
8337 * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
8338
ef369ad8
RO
83392010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8340
8341 * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
8342 obsoletion, removal.
8343 Update IDO URL.
8344 Document GNU as requirement.
8345 Update configure requirements.
014753cc 8346 (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
ef369ad8
RO
8347 Recomment IRIX 6.5.18+.
8348 Document IDF/IDL requirement.
8349 Document GNU as requirement.
8350 Document GNU ld bootstrap failure.
8351 Remove freeware.sgi.com reference.
8352
92d80770
RO
83532010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8354
8355 * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
8356 UNIX V4.0, V5.0 obsoletion, removal.
8357 Remove --with-gc=simple reference.
8358 Update VM requirements during bootstrap.
8359 Remove -oldas bootstrap description.
8360 Update binutils reference.
8361 Remove comparison failure note.
8362
25d635d9
SP
83632010-03-31 Richard Guenther <rguenther@suse.de>
8364 Zdenek Dvorak <ook@ucw.cz>
8365 Sebastian Pop <sebastian.pop@amd.com>
8366
8367 PR middle-end/43464
8368 * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
8369 with multiple arguments.
8370 (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
8371
83722010-03-31 Sebastian Pop <sebastian.pop@amd.com>
8373
8374 * graphite-dependences.c (print_pddr): Call print_pdr with an
8375 extra argument.
8376 * graphite-poly.c (debug_pdr): Add an extra argument for the
8377 verbosity level.
8378 (print_pdr): Same.
8379 (print_pbb_domain): Same.
8380 (print_pbb): Same.
8381 (print_scop_context): Same.
8382 (print_scop): Same.
8383 (print_cloog): Same.
8384 (debug_pbb_domain): Same.
8385 (debug_pbb): Same.
8386 (print_pdrs): Same.
8387 (debug_pdrs): Same.
8388 (debug_scop_context): Same.
8389 (debug_scop): Same.
8390 (debug_cloog): Same.
8391 (print_scop_params): Same.
8392 (debug_scop_params): Same.
8393 (print_iteration_domain): Same.
8394 (print_iteration_domains): Same.
8395 (debug_iteration_domain): Same.
8396 (debug_iteration_domains): Same.
8397 (print_scattering_function): Same.
8398 (print_scattering_functions): Same.
8399 (debug_scattering_function): Same.
8400 (debug_scattering_functions): Same.
8401 * graphite-poly.h (debug_pdr): Update declaration.
8402 (print_pdr): Same.
8403 (print_pbb_domain): Same.
8404 (print_pbb): Same.
8405 (print_scop_context): Same.
8406 (print_scop): Same.
8407 (print_cloog): Same.
8408 (debug_pbb_domain): Same.
8409 (debug_pbb): Same.
8410 (print_pdrs): Same.
8411 (debug_pdrs): Same.
8412 (debug_scop_context): Same.
8413 (debug_scop): Same.
8414 (debug_cloog): Same.
8415 (print_scop_params): Same.
8416 (debug_scop_params): Same.
8417 (print_iteration_domain): Same.
8418 (print_iteration_domains): Same.
8419 (debug_iteration_domain): Same.
8420 (debug_iteration_domains): Same.
8421 (print_scattering_function): Same.
8422 (print_scattering_functions): Same.
8423 (debug_scattering_function): Same.
8424 (debug_scattering_functions): Same.
8425
84262010-03-31 Sebastian Pop <sebastian.pop@amd.com>
8427
8428 * graphite-poly.c (print_scattering_function_1): New.
8429 (print_scattering_function): Call it.
8430 (print_scop_params): Remove spaces at the end of lines.
8431 (print_cloog): New.
8432 (debug_cloog): New.
8433 * graphite-poly.h (print_cloog): Declared.
8434 (debug_cloog): Declared.
8435
84362010-03-31 Sebastian Pop <sebastian.pop@amd.com>
8437
8438 * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
8439 in loop->header.
8440 * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
8441 * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
8442 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
8443 to switch between adding the IV bump in loop->latch or in loop->header.
8444
84452010-03-31 Sebastian Pop <sebastian.pop@amd.com>
8446
8447 * graphite-poly.c (print_scattering_function): Pretty print following
8448 the scoplib format.
8449 (print_pdr): Same.
8450 (print_pbb_domain): Same.
8451 (dump_gbb_cases): Same.
8452 (dump_gbb_conditions): Same.
8453 (print_pdrs): Same.
8454 (print_pbb): Same.
8455 (print_scop_params): Same.
8456 (print_scop_context): Same.
8457 (print_scop): Same.
8458 (print_pbb_body): New.
8459 (lst_indent_to): New.
8460 (print_lst): Start new lines with a #.
8461 * graphite-poly.h (pbb_bb): New.
8462 (pbb_index): Use pbb_bb.
8463 * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
8464 disjuncts.
8465 * tree-data-ref.c (dump_data_reference): Start new lines with a #.
8466
2080bd29
JJ
84672010-03-31 Jakub Jelinek <jakub@redhat.com>
8468
290d8971
JJ
8469 * dwarf2out.c (size_of_die): For -gdwarf-4 use
8470 uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
8471 and 0 instead of 1 for dw_val_class_flag.
8472 (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
8473 dw_val_class_range_list, dw_val_class_loc_list,
8474 dw_val_class_lineptr and dw_val_class_macptr, use
8475 DW_FORM_flag_present for dw_val_class_flag and
8476 DW_FORM_exprloc for dw_val_class_loc.
8477 (output_die): For -gdwarf-4 print dw_val_class_loc
8478 size as uleb128 instead of 1 or 2 bytes and don't print
8479 anything for dw_val_class_flag.
8480
109f4af3
JJ
8481 * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
8482 instead of cselib_lookup following by tweaking locs->setting_insn.
8483
2080bd29
JJ
8484 PR bootstrap/43596
8485 * cselib.c (cselib_process_insn): Clear cselib_current_insn
8486 even before returning from label, setjmp call or volatile asm
8487 handling.
8488
33283dad
RG
84892010-03-31 Richard Guenther <rguenther@suse.de>
8490
8491 PR middle-end/43600
8492 * cgraphunit.c (cgraph_output_in_order): Do not allocate
8493 temporary data on stack.
8494
a0c21029
RO
84952010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8496
8497 * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
8498 (PUSHSECTION_ASM_OP): Remove.
8499 (POPSECTION_ASM_OP): Remove.
8500 (PUSHSECTION_FORMAT): Remove.
8501 * config/sol2.h (PUSHSECTION_FORMAT): Define.
8502 * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
8503 * config/sol2.c (solaris_output_init_fini): Use it.
8504
a3f410a2
JZ
85052010-03-31 Jie Zhang <jie@codesourcery.com>
8506
8507 PR 43574
8508 * opt-functions.awk (var_type_struct): Use signed char type
8509 for simple variables.
8510
f0c01ffd
RO
85112010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8512
8513 * config/sol2.c: Include output.h.
8514 (solaris_assemble_visibility): New function.
8515 * config/t-sol2 (sol2.o): Add output.h dependency.
8516 * config/sol2-protos.h (solaris_assemble_visibility): Declare.
8517 * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
8518 Redefine.
8519
132b4e82
JJ
85202010-03-31 Jakub Jelinek <jakub@redhat.com>
8521
d8d55ac0
JJ
8522 PR target/43580
8523 * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
8524 V2SImode or XFmode on PRE_DEC.
8525
132b4e82
JJ
8526 PR debug/43557
8527 * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
8528 BLKmode.
8529
dc12b70e
JZ
85302010-03-31 Jie Zhang <jie@codesourcery.com>
8531
8532 PR 43562
8533 * reload.h (caller_save_initialized_p): Declare.
8534 * toplev.c (backend_init_target): Don't call
93234e58 8535 init_caller_save but set caller_save_initialized_p to false.
dc12b70e
JZ
8536 * caller-save.c (caller_save_initialized_p): Define.
8537 (init_caller_save): Check caller_save_initialized_p.
8538 * ira.c (ira): Call init_caller_save if flag_caller_saves.
8539
4a2f22ff
RO
85402010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8541
8542 PR target/39048
8543 * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
8544 and soft-fp/t-softfp to tmake_file.
8545 * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
8546 (LIBGCC2_TF_CEXT): Define.
8547 (TF_SIZE): Define.
8548
5847e8da
AO
85492010-03-30 Alexandre Oliva <aoliva@redhat.com>
8550
8551 PR debug/42977
8552 * cselib.c (n_useless_values): Document handling of debug locs.
8553 (n_useless_debug_values, n_debug_values): New variables.
8554 (new_elt_loc_list): Don't add to debug values, keep count.
8555 (promote_debug_loc): New.
8556 (cselib_reset_table): Zero new variables.
8557 (entry_and_rtx_equal_p): Promote debug locs.
8558 (discard_useless_locs): Increment n_useless_debug_values for
8559 debug values.
8560 (remove_useless_values): Adjust n_useless_values and n_debug_values
8561 with n_useless_debug_values.
8562 (add_mem_for_addr): Promote debug locs.
8563 (cselib_lookup_mem): Likewise.
8564 (cselib_lookup_addr): Renamed to...
93234e58 8565 (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call...
5847e8da
AO
8566 (cselib_log_lookup): ... this. Turn into...
8567 (cselib_lookup_addr): ... new wrapper.
8568 (cselib_lookup_from_insn): New.
8569 (cselib_invalidate_regno): Increment n_useless_debug_values for
8570 debug values.
8571 (cselib_invalidate_mem): Likewise.
8572 (cselib_process_insn): Take n_deleted and n_debug_values into
8573 account to guard remove_useless_value call.
8574 (cselib_finish): Zero n_useless_debug_values.
8575 * cselib.h (cselib_lookup_from_insn): Declare.
8576 * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
8577 (sched_analyze_2): Likewise.
8578
03a5f060
JJ
85792010-03-30 Jakub Jelinek <jakub@redhat.com>
8580
e9e00885
JJ
8581 * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
8582 functions.
8583 (adjust_mems): Replace narrowing SUBREG of expression containing
8584 just PLUS, MINUS, MULT and ASHIFT of registers and constants
8585 with operations in the narrower mode.
8586
03a5f060 8587 PR debug/43593
93234e58
UB
8588 * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
8589 regs_invalidated_by_call instead all call_used_reg_set registers.
03a5f060 8590
8533c9d8
SP
85912010-03-30 Sebastian Pop <sebastian.pop@amd.com>
8592
8593 PR middle-end/43430
8594 * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
8595 pointer comparisons with types_compatible_p.
8596 * tree-vect-stmts.c (vectorizable_call): Same.
8597 (vectorizable_condition): Same.
8598
a3e7e012
AK
85992010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8600
8601 * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
8602 stack check if the mask would be zero.
8603
40ae6799
SP
86042010-03-30 Seongbae Park <seongbae.park@gmail.com>
8605 Jack Howarth <howarth@bromo.med.uc.edu>
8606
8607 * tree-profile.c (tree_init_ic_make_global_vars): Make static
8608 variables TLS.
8609
2bcba94b
JM
86102010-03-30 Joseph Myers <joseph@codesourcery.com>
8611
8612 PR other/25232
8613 * libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2
8614 and __unordtf2.
8615 * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
8616 Include ___unordxf2 and ___unordtf2.
8617 * config/i386/libgcc-glibc.ver: Do not define inheritance from
8618 GCC_4.4.0 here.
8619
15baf7f8
TG
86202010-03-30 Tarik Graba <tarik.graba@telecom-paristech.fr>
8621
8622 * config/lm32/t-lm32: New file.
8623 * config.gcc: Use the above file when targetting lm32.
8624
fba48836
DS
86252010-03-28 Duncan Sands <baldrick@free.fr>
8626
93234e58 8627 * Makefile.in (PLUGIN_HEADERS): Add except.h.
fba48836 8628
49a71bc8
SP
86292010-03-29 Sebastian Pop <sebastian.pop@amd.com>
8630
8631 PR middle-end/43431
8632 * tree-vect-loop.c (vect_estimate_min_profitable_iters):
8633 Improve vectorization cost model diagnostic.
8634
22a8be9e
SP
86352010-03-29 Sebastian Pop <sebastian.pop@amd.com>
8636
8637 PR middle-end/43436
8638 * tree-vect-data-refs.c (vect_analyze_data_refs): When
8639 compute_data_dependences_for_loop returns false, early exit
8640 and output an extra diagnostic for the failed data reference
8641 analysis.
8642
58adb739
RG
86432010-03-29 Richard Guenther <rguenther@suse.de>
8644
8645 PR tree-optimization/43560
93234e58
UB
8646 * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
8647 (can_sm_ref_p): Treat stores to readonly locations as trapping.
58adb739 8648
3b34d92c
JZ
86492010-03-29 Jie Zhang <jie@codesourcery.com>
8650
8651 PR 43564
8652 * toplev.c (process_options): Set optimization_default_node
8653 and optimization_current_node.
8654 * opts.c (decode_options): Don't set optimization_default_node
8655 and optimization_current_node.
8656
090f6087
RC
86572010-03-29 Ralf Corsépius <ralf.corsepius@rtems.org>
8658
8659 * config/rtems.h: Abandon -qrtems_debug.
8660
88cc1e04
JH
86612010-03-28 Jan Hubicka <jh@suse.cz>
8662
8663 PR tree-optimization/43505
8664 * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
8665 map should not be copied.
8666
b932b8b1
JDA
86672010-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8668
8669 PR middle-end/41674
8670 * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
8671 cdtors, set DECL_PRESERVE_P.
8672 * ipa.c (cgraph_externally_visible_p): Return true if declaration
8673 should be preseved.
8674
fb6807b8
UB
86752010-03-27 Uros Bizjak <ubizjak@gmail.com>
8676
8677 PR tree-optimization/43528
8678 * stor-layout.c (place_field): Check that constant fits into
8679 unsigned HWI when skipping calculation of MS bitfield layout.
8680
a9deb256
JH
86812010-03-27 Jan Hubicka <jh@suse.cz>
8682
8683 PR middle-end/43391
8684 * varasm.c (make_decl_rtl): Deal with COMMON flag to make
8685 notice_global_symbol work.
8686
5a9c8a1b
JJ
86872010-03-27 Jakub Jelinek <jakub@redhat.com>
8688
8689 * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
8690 instead of dwarf2out_decl.
8691 (struct var_loc_node): Remove section_label field.
8692 (dwarf2out_function_decl): New function.
8693 (dwarf2out_var_location): Don't set section_label field.
8694 (dwarf2out_begin_function): Don't empty decl_loc_table here.
8695
62f7fd21
MM
86962010-03-26 Michael Meissner <meissner@linux.vnet.ibm.com>
8697
8698 PR tree-optimization/43544
8699 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
8700 First argument for builtin vectorized function hook is now a
8701 tree to be able to distinguish between machine specific and
8702 standard builtins.
8703 * targhooks.c (default_builtin_vectorized_function): Ditto.
8704 * targhooks.h (default_builtin_vectorized_function): Ditto.
8705 * target.h (struct gcc_target): Ditto.
8706 * tree-vect-stmts.c (vectorizable_function): Ditto.
8707 * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
8708 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
8709 Ditto.
8710
10e76c1a
JM
87112010-03-26 Joseph Myers <joseph@codesourcery.com>
8712
8713 PR c/43381
8714 * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
8715 nested binding iff it is a FUNCTION_DECL.
8716 (store_parm_decls_newstyle): Pass nested=true to bind for
8717 FUNCTION_DECLs amongst parameters.
8718
89245ef2
JJ
87192010-03-26 Jakub Jelinek <jakub@redhat.com>
8720
2155f963
JJ
8721 * var-tracking.c (vt_expand_loc_callback): Don't run
8722 cselib_expand_value_rtx_cb in dummy mode if
8723 cselib_dummy_expand_value_rtx_cb returned false.
8724
e80691a0
JJ
8725 * var-tracking.c (emit_note_insn_var_location): For one part
8726 notes with offset 0, don't add EXPR_LIST around the location.
8727 * dwarf2out.c (loc_descriptor, dw_loc_list_1,
8728 add_location_or_const_value_attribute): Adjust for that change.
8729
89245ef2
JJ
8730 PR debug/43540
8731 * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
8732 into first operand and location into second.
8733 (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
8734 dw_cfi_oprnd_loc for DW_CFA_expression.
8735 (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
8736 (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
8737 assume first argument is regnum and second argument is location.
8738
c5e43cc4
UB
87392010-03-26 Uros Bizjak <ubizjak@gmail.com>
8740
8741 PR target/42113
8742 * config/alpha/alpha.md (*cmp_sadd_si): Change mode
8743 of scratch register to DImode. Split to DImode comparison operator.
8744 Use SImode subreg of scratch register in the multiplication.
8745 (*cmp_sadd_sidi): Ditto.
8746 (*cmp_ssub_si): Ditto.
8747 (*cmp_ssub_sidi): Ditto.
8748
fb04bb84
UB
87492010-03-26 Uros Bizjak <ubizjak@gmail.com>
8750
8751 PR target/43524
8752 * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
8753 Remove invalid assert and wrong comment.
8754
6ca5d1f6
JJ
87552010-03-26 Jakub Jelinek <jakub@redhat.com>
8756
8757 PR debug/43516
8758 * flags.h (final_insns_dump_p): New extern.
8759 * final.c (final_insns_dump_p): New variable.
8760 (rest_of_clean_state): Set it before -fdump-final-insns=
8761 dumping, clear afterwards.
8762 * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
8763 MEM_ALIAS_SET on MEMs.
8764
46bc665f
DM
87652010-03-26 David S. Miller <davem@davemloft.net>
8766
8767 * configure.ac: Fix sparc GOTDATA_OP bug check.
8768 * configure: Rebuild.
8769
9fa195b8
AM
87702010-03-26 Alan Modra <amodra@gmail.com>
8771
8772 * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
8773
9b7e6950
RO
87742010-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8775
8776 * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
8777 TLS_SECTION_ASM_FLAG.
8778
d53c73e0
JJ
87792010-03-25 Jakub Jelinek <jakub@redhat.com>
8780
935ec2c9
JJ
8781 PR bootstrap/43511
8782 * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
8783 Clear first_function_block_is_cold.
8784
d53c73e0
JJ
8785 PR c/43385
8786 * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
8787 argument if the argument is truth_value_p.
8788
871c9abb
MM
87892010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com>
8790
fb04bb84 8791 * config/rs6000/constraints.md: Update copyright year for my changes.
94ad7adc 8792
871c9abb
MM
8793 PR target/43484
8794 * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
8795 used in reg+reg addressing, swap registers.
8796
81ef7e24
JJ
87972010-03-24 Jakub Jelinek <jakub@redhat.com>
8798
6d217c32
JJ
8799 PR debug/43293
8800 * target.h (struct gcc_target): Add code_end hook.
8801 * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
8802 if not yet defined.
8803 (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
8804 * toplev.c (compile_file): Call targetm.asm_out.code_end
8805 hook before unwind info/debug info output.
8806 * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
8807 * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
8808 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
8809 * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
8810 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
8811 * config/i386/i386.c (ix86_file_end): Renamed to...
8812 (ix86_code_end): ... this. Make static. Don't call
8813 file_end_indicate_exec_stack. Emit unwind info using
8814 final_start_function/final_end_function.
8815 (darwin_x86_file_end): Remove.
8816 (TARGET_ASM_CODE_END): Define.
8817 * config/i386/i386.h (TARGET_ASM_FILE_END,
8818 NEED_INDICATE_EXEC_STACK): Don't define.
8819 * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
8820 (TARGET_ASM_FILE_END): Define to darwin_file_end.
8821 * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
8822 * doc/tm.texi (TARGET_ASM_CODE_END): Document.
8823
81ef7e24
JJ
8824 PR target/43498
8825 * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
8826 at the beginning and final_end_function at the end.
8827 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
8828
f1c26cad
RO
88292010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8830
8831 * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
8832 and Sun as TLS syntax.
8833 (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
8834 * configure: Regenerate.
8835 * config.in: Regenerate.
8836 * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
8837 (default_elf_asm_named_section): Use it.
8838 * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
8839 (i386_output_dwarf_dtprel): Likewise.
8840 (output_addr_const_extra): Likewise.
8841 (output_pic_addr_const): Lowercase @GOTTPOFF.
8842 (output_addr_const_extra): Likewise.
8843 (output_pic_addr_const): Lowercase @GOTNTPOFF.
8844 (output_addr_const_extra): Likewise.
8845 (output_pic_addr_const): Lowercase @INDNTPOFF.
8846 (output_addr_const_extra): Likewise.
8847 (output_pic_addr_const): Lowercase @NTPOFF.
8848 (output_addr_const_extra): Likewise.
8849 (output_pic_addr_const): Lowercase @TPOFF.
8850 (output_addr_const_extra): Likewise.
fb04bb84 8851 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
f1c26cad
RO
8852 (*tls_global_dynamic_64): Likewise.
8853 (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
8854 (*tls_local_dynamic_base_64): Lowercase @TLSLD.
8855
8856 * defaults.h (TLS_COMMON_ASM_OP): Provide default.
8857 (ASM_OUTPUT_TLS_COMMON): Use it.
8858 * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
8859
8860 PR target/38118
fb04bb84 8861 * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
f1c26cad
RO
8862 * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
8863 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
8864 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
8865 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
8866 (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
8867
d2af65b9
RO
88682010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8869
8870 * config/i386/i386.c (override_options): Don't accept
8871 -mtls-dialect=sun any longer.
8872 * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
8873 * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
8874 (*tls_local_dynamic_base_32_sun): Likewise.
8875 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
8876
d0ed412a
JJ
88772010-03-24 Jakub Jelinek <jakub@redhat.com>
8878
1db0ea00
JJ
8879 PR debug/43508
8880 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
8881 VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
8882
3a6191b1
JJ
8883 PR debug/43479
8884 * ira.c (adjust_cleared_regs): New function.
8885 (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
8886
d0ed412a
JJ
8887 PR debug/19192
8888 PR debug/43479
8889 * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
8890 from gimple_block.
8891 * expr.c (expand_expr_real): Restore previous
8892 curr_insn_source_location and curr_insn_block after
8893 expand_expr_real_1 call.
8894 (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
8895 instead of expand_expr_real_1.
8896
478ab26d
VM
88972010-03-23 Vladimir Makarov <vmakarov@redhat.com>
8898
8899 PR rtl-optimization/43413
8900 * ira-color.c (setup_allocno_available_regs_num): Count prohibited
8901 hard regs too.
8902
67b476d1
JW
89032010-03-22 James E. Wilson <wilson@codesourcery.com>
8904
8905 PR target/43348
8906 * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
fb04bb84 8907 call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
67b476d1 8908
99eaa2e7
L
89092010-03-22 H.J. Lu <hongjiu.lu@intel.com>
8910
fb04bb84
UB
8911 * config/i386/i386.c (ix86_target_string): Add -mfma.
8912 Fix a typo in comment.
99eaa2e7 8913
212066e6
MS
89142010-03-22 Mike Stump <mikestump@comcast.net>
8915
8916 PR target/23071
8917 * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
8918 Don't overly align based upon packed packed fields.
8919
ce30e6fd
JM
89202010-03-22 Jason Merrill <jason@redhat.com>
8921
8922 * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
8923 Use () rather than [], and move before the element type.
8924
3a1ef68a
RO
89252010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8926
8927 * doc/configfiles.texi (Configuration Files): Removed
8928 fixinc/Makefile*, intl/Makefile.*.
fb04bb84
UB
8929 * doc/makefile.texi: Fixed markup. Abstract from version
8930 control system used.
3a1ef68a
RO
8931 (Makefile): Removed obsolete gcc/java/parse.y example.
8932 * doc/sourcebuild.texi: Likewise.
8933 (Top Level): Added config, gnattools, libdecnumber, libgcc,
fb04bb84 8934 libgomp, libssp. Removed fastjar.
3a1ef68a
RO
8935 (Miscellaneous Docs): Clarify location.
8936 Added COPYING3, COPYING3.LIB.
fb04bb84 8937 (Front End Directory): Moved Make-lang.in entry to new subsubsection.
3a1ef68a 8938
7f5441df
RO
89392010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8940
8941 PR target/38085
8942 * config/i386/i386.c (x86_function_profiler)
8943 [!NO_PROFILE_COUNTERS]: Fix typo.
8944 * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
8945 instead of callq.
8946
d4f3924a
JJ
89472010-03-22 Janis Johnson <janis187@us.ibm.com>
8948 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8949
8950 * doc/sourcebuild.texi (Test Directives): Split into six
8951 subsections, with most of the current text in new subsections
8952 Directives, Selectors, and Final Actions.
8953 (Directives): Split list of test directives into multiple
8954 subsubsections.
8955 (Selectors): Describe use and syntax of selectors.
8956 (Effective-Target Keywords): Describe all existing keywords.
8957 (Add Options): Describe features for dg-add-options.
8958 (Require Support): Describe variants of dg-require-support.
8959 (Final Actions): Describe commands to use in dg-final.
8960
047550e9
MM
89612010-03-22 Michael Matz <matz@suse.de>
8962
8963 PR middle-end/43475
8964 * recog.c (validate_replace_rtx_group): Replace also in
8965 REG_EQUAL and REG_EQUIV notes.
8966
6d7971b8
RG
89672010-03-22 Richard Guenther <rguenther@suse.de>
8968
8969 PR tree-optimization/43390
8970 * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
8971 sure vector extracts are type correct.
8972
6af84c85
RG
89732010-03-22 Richard Guenther <rguenther@suse.de>
8974
8975 PR middle-end/40106
8976 * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
8977 x * sqrt (x) even when optimizing for size if the target
8978 has native support for sqrt.
8979
539eb459
JJ
89802010-03-22 Jakub Jelinek <jakub@redhat.com>
8981
be36dd85
JJ
8982 * varasm.c (make_decl_rtl_for_debug): Also clear
8983 flag_mudflap for the duration of make_decl_rtl call.
8984
539eb459
JJ
8985 PR debug/43443
8986 * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
8987 locs from preserved VALUEs.
8988
19c1be39
JDA
89892010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8990
8991 PR middle-end/42718
8992 * pa.md (movmemsi): Set align to one if zero.
8993 (movmemdi): Likewise.
8994
f8b68ed3
RE
89952010-03-21 Richard Earnshaw <rearnsha@arm.com>
8996
8997 PR target/42321
8998 * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
8999 with their corresponding prologue pushes.
9000
941ce52b
AP
90012010-03-20 Andrew Pinski <pinskia@gmail.com>
9002
9003 PR target/43156
9004 * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
9005 at the begining or end.
9006 (spu_expand_epilogue): Likewise.
9007
d491d2af
RG
90082010-03-20 Richard Guenther <rguenther@suse.de>
9009
9010 PR rtl-optimization/43438
9011 * combine.c (make_extraction): Properly zero-/sign-extend an
9012 extraction of the low part of a CONST_INT. Also handle
9013 CONST_DOUBLE.
9014
4dd9ee92
MS
90152010-03-19 Mike Stump <mikestump@comcast.net>
9016
9017 * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
9018 * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
9019 (override_options): Use SUBTARGET32_DEFAULT_CPU.
9020
e49a760f
AP
90212010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
9022
6644642e 9023 PR c/43211
fb04bb84
UB
9024 * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
9025 an error.
e49a760f 9026
f0c6475a 90272010-03-19 Bernd Schmidt <bernds@codesourcery.com>
002b2dee
BS
9028
9029 PR rtl-optimization/42258
9030 * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
9031 use that may match DEF.
9032
c99102b8
BS
9033 PR target/40697
9034 * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
9035 the cost of loading the constant rather than assuming
9036 COSTS_N_INSNS (1).
9037 * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
9038 outer code is AND, do the same tests as the andsi3 expander and
9039 return COSTS_N_INSNS (1) if and is cheap.
fdb2c684
BS
9040
9041 * optabs.c (avoid_expensive_constant): Fix formatting.
9042
f9ceed32
MM
90432010-03-19 Michael Matz <matz@suse.de>
9044
9045 PR c++/43116
9046 * attribs.c (decl_attributes): When rebuilding a function pointer
9047 type use the same qualifiers as the original pointer type.
9048
3795eae6
MJ
90492010-03-19 Martin Jambor <mjambor@suse.cz>
9050
9051 * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
9052 and is_gimple_ip_invariant_address.
9053
ae0bef88
RR
90542010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9055
9056 Revert
9057 2009-10-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9058
9059 * config/arm/arm.c (arm_override_options): Turn off
9060 flag_dwarf2_cfi_asm for AAPCS variants.
9061
9abf5d7b
RR
90622010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9063
9064 PR target/43399
9065 * config/arm/arm.c (emit_multi_reg_push): Update comments.
9066 Use PRE_MODIFY instead of PRE_DEC.
9067 (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
9068 (vfp_emit_fstmd): Likewise.
9069
8a0b1aa4
MM
90702010-03-19 Michael Matz <matz@suse.de>
9071
9072 PR target/43305
9073 * builtins.c (expand_builtin_interclass_mathfn,
9074 expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
9075 if that fails.
9076
3e999e7b
RG
90772010-03-19 Richard Guenther <rguenther@suse.de>
9078
9079 PR tree-optimization/43415
9080 * tree-ssa-pre.c (phi_translate): Split out worker to ...
9081 (phi_translate_1): ... this.
9082 (phi_translate): Move all caching here. Cache all NARY
9083 and REFERENCE translations.
9084
9fd52c6c
DM
90852010-03-19 David S. Miller <davem@davemloft.net>
9086
9087 With help from Eric Botcazou.
9088 * config/sparc/sparc.c: Include dwarf2out.h.
9089 (emit_pic_helper): Delete.
9090 (pic_helper_symbol_name): Delete.
9091 (pic_helper_emitted_p): Delete.
9092 (pic_helper_needed): New.
9093 (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
9094 (get_pc_thunk_name): New.
9095 (load_pic_register): Remove 'delay_pic_helper' arg. Use
9096 get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
9097 Set pic_helper_needed to true. Don't call emit_pic_helper.
9098 (sparc_expand_prologue): Update load_pic_register call.
9099 (sparc_output_mi_thunk): Likewise.
9100 (sparc_file_end): Emit a hidden comdat symbol for the PIC
9101 thunk if possible. Output CFI information as needed.
9102
a29d9e20 91032010-03-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
b6010cab
FXC
9104 Jack Howarth <howarth@bromo.med.uc.edu>
9105
9106 PR target/36399
48019e3d 9107 * config/i386/i386.h: Fix ABI on darwin x86-32.
b6010cab 9108
b1aa0655
AH
91092010-03-18 Aldy Hernandez <aldyh@redhat.com>
9110
9111 * tree.h: Declare make_decl_rtl_for_debug.
9112 * varasm.c (make_decl_rtl_for_debug): New.
9113 * dwarf2out.c (rtl_for_decl_location): Call it.
9114 * cfgexpand.c (expand_debug_expr): Call it.
9115
f0c12fcc
JJ
91162010-03-18 Jakub Jelinek <jakub@redhat.com>
9117
9a05b749
JJ
9118 PR bootstrap/43399
9119 * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
9120 mem_mode.
9121
f0c12fcc
JJ
9122 PR bootstrap/43403
9123 * var-tracking.c (vt_init_cfa_base): Do nothing if
fb04bb84 9124 cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
f0c12fcc 9125
e999b0c9
AO
91262010-03-18 Alexandre Oliva <aoliva@redhat.com>
9127
9128 PR debug/42873
9129 * var-tracking.c (canonicalize_vars_star): New.
9130 (dataflow_post_merge_adjust): Use it.
9131
5644a3d0
JJ
91322010-03-18 Jakub Jelinek <jakub@redhat.com>
9133
9134 PR debug/43058
9135 * var-tracking.c (non_suitable_const): New function.
9136 (add_uses): For DEBUG_INSNs with constants, don't record any
9137 value, instead just the constant value itself.
9138 (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
9139 is not VAR_LOC_UNKNOWN_P, set var to the constant.
9140 (emit_notes_in_bb): Likewise.
9141 (emit_note_insn_var_location): For onepart variables if
9142 cur_loc is a VOIDmode constant, use DECL_MODE.
9143
8132a837
MJ
91442010-03-18 Martin Jambor <mjambor@suse.cz>
9145
9146 PR middle-end/42450
9147 * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
9148 * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
9149 all non-clones. Moved call redirection...
fb04bb84 9150 (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
8132a837
MJ
9151 (cgraph_materialize_all_clones): Dispose of all
9152 combined_args_to_skip bitmaps.
9153 (verify_cgraph_node): Do not check for edges pointing to wrong
9154 nodes in inline clones.
9155 * tree-inline.c (copy_bb): Call
9156 cgraph_redirect_edge_call_stmt_to_callee.
9157 * ipa.c (cgraph_remove_unreachable_nodes): Call
9158 cgraph_node_remove_callees even when there are used clones.
9159
7893d7ac
L
91602010-03-18 H.J. Lu <hongjiu.lu@intel.com>
9161
9162 * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
9163
cdfedab1
L
91642010-03-18 H.J. Lu <hongjiu.lu@intel.com>
9165
9166 PR target/43383
9167 * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
9168 for 32bit.
9169
c21372c4
MM
91702010-03-18 Michael Matz <matz@suse.de>
9171
9172 PR middle-end/43419
9173 * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
9174 into sqrt(x) if we need to preserve signed zeros.
9175
82fa5f8a
L
91762010-03-18 Steven Bosscher <steven@gcc.gnu.org>
9177 Eric Botcazou <ebotcazou@adacore.com>
9178
9179 PR rtl-optimization/43360
9180 * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
9181 note if we don't know its invariant status.
9182
eb45755f
MM
91832010-03-18 Michael Matz <matz@suse.de>
9184
9185 PR tree-optimization/43402
9186 * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
9187 PHI chains of ssa names registered for update.
9188
60936b22
PB
91892010-03-17 Peter Bergner <bergner@vnet.ibm.com>
9190
9191 PR target/42427
9192 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
9193 non-offsettable and pre_modify update addressing.
9194 * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
9195 and "2" alternatives "#".
9196 (*movdd_softfloat32): Make all alternatives "#";
9197 * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
9198 (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
9199 (*movdf_softfloat32): Make all alternatives "#";
9200 (movdi): Use the new DIFD mode iterator to create a common splitter
9201 for movdi, movdf and movdd patterns.
9202
316fc112
SZ
92032010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
9204
9205 * common.opt (dumpdir): Remove redundant tab.
9206
ec24771f
MJ
92072010-03-17 Martin Jambor <mjambor@suse.cz>
9208
9209 PR tree-optimization/43347
9210 * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
9211 original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
9212
e33c42db
BS
92132010-03-17 Bernd Schmidt <bernd.schmidt@analog.com>
9214
9215 PR rtl-optimization/42216
9216 * regrename.c (create_new_chain): New function, broken out from...
9217 (scan_rtx_reg): ... here. Call it. Handle the case where we are
9218 appending a use to an empty chain.
9219 (build_def_use): Remove previous changes that convert OP_INOUT to
9220 OP_OUT operands; instead detect the case where an OP_INOUT operand
fb04bb84 9221 uses a previously untracked register and create an empty chain for it.
e33c42db 9222
4c4177dc
RW
92232010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9224
9225 * doc/extend.texi (Function Attributes): Rewrite unfinished
9226 sentence in ms_abi documentation.
9227
60ac9511
AM
92282010-03-17 Alan Modra <amodra@gmail.com>
9229
9230 * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
9231 * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
9232 (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
9233 * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
9234
e19d1f06
RH
92352010-03-16 Richard Henderson <rth@redhat.com>
9236
9237 PR middle-end/43365
9238 * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
9239 (lower_try_finally): Save and restore eh_seq around the expansion
9240 of the try-finally.
9241
c36fed0c
AH
92422010-03-16 Aldy Hernandez <aldyh@redhat.com>
9243
9244 * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
9245 statements before splitting block.
9246
17a7cb4e
RO
92472010-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9248
9249 * doc/sourcebuild.texi (Testsuites): Fix markup.
9250 Use pathnames relative to gcc/testsuite.
9251 (Test Directives): Move description of how timeout is determined.
9252 (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
9253 (C Tests): Correct gcc.misc-tests directory.
9254 Framework tests now live in gcc.test-framework.
9255
7686fb74
RG
92562010-03-16 Richard Guenther <rguenther@suse.de>
9257
9258 PR middle-end/43379
fb04bb84
UB
9259 * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
9260 operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
7686fb74 9261
7a181764
AH
92622010-03-16 Aldy Hernandez <aldyh@redhat.com>
9263 Alexandre Oliva <aoliva@redhat.com>
9264
9265 PR tree-optimization/42917
9266 * lambda-code.c (remove_iv): Skip debug statements.
9267 (lambda_loopnest_to_gcc_loopnest): Likewise.
9268 (not_interesting_stmt): Debug statements are not interesting.
9269
457eeaae
JJ
92702010-03-16 Jakub Jelinek <jakub@redhat.com>
9271
9272 PR debug/43051
9273 PR debug/43092
9274 * cselib.c (cselib_preserve_constants,
9275 cfa_base_preserved_val): New static variables.
9276 (preserve_only_constants): New function.
9277 (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
fb04bb84 9278 clear its REG_VALUES. If cselib_preserve_constants, don't
457eeaae
JJ
9279 empty the whole hash table, but preserve there VALUEs with constants,
9280 cfa_base_preserved_val and cfa_base_preserved_val plus constant.
9281 (cselib_preserve_cfa_base_value): New function.
9282 (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
9283 (cselib_init): Change argument to int bitfield. Set
9284 cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
9285 is in it.
9286 (cselib_finish): Clear cselib_preserve_constants and
9287 cfa_base_preserved_val.
9288 * cselib.h (enum cselib_record_what): New enum.
9289 (cselib_init): Change argument to int.
9290 (cselib_preserve_cfa_base_value): New prototype.
9291 * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
9292 * dse.c (dse_step1): Likewise.
9293 * cfgcleanup.c (thread_jump): Likewise.
9294 * sched-deps.c (sched_analyze): Likewise.
9295 * gcse.c (local_cprop_pass): Likewise.
9296 * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
9297 If FN is non-NULL, call the callback always and whenever it returns
9298 non-NULL just return that. Only do rtx_equal_p if FN is NULL.
9299 * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
9300 * combine.c (propagate_for_debug_subst): Add old_rtx argument,
9301 compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
9302 * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
9303 * var-tracking.c: Include recog.h.
9304 (bb_stack_adjust_offset): Remove.
9305 (vt_stack_adjustments): Don't call it, instead just gather the
9306 adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
9307 (adjust_stack_reference): Remove.
9308 (compute_cfa_pointer): New function.
9309 (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
9310 (struct adjust_mem_data): New type.
9311 (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
9312 functions.
9313 (get_address_mode): New function.
9314 (replace_expr_with_values): Use it.
9315 (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
9316 Use get_address_mode. For cfa_base_rtx return MO_CLOBBER.
9317 (adjust_sets): Remove.
9318 (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
9319 Use get_address_mode.
9320 (get_adjusted_src): Remove.
9321 (add_stores): Don't call it. Never reuse expr SET. Don't add extra
9322 MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode.
9323 (add_with_sets): Don't call adjust_sets.
9324 (fp_setter, vt_init_cfa_base): New functions.
9325 (vt_initialize): Change return type to bool. Move most of pool etc.
9326 initialization to the beginning of the function from end. Pass
9327 CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
9328 If !frame_pointer_needed, call vt_stack_adjustment before mos
9329 vector is filled, call vt_init_cfa_base if argp/framep has been
9330 eliminated to sp. If frame_pointer_needed and argp/framep has
9331 been eliminated to hard frame pointer, set
9332 hard_frame_pointer_adjustment and call vt_init_cfa_base after
9333 encountering fp setter in the prologue. For MO_ADJUST, call
9334 log_op_type before pusing the op into mos vector, not afterwards.
9335 Call adjust_insn before cselib_process_insn/add_with_sets,
9336 call cancel_changes (0) afterwards.
9337 (variable_tracking_main_1): Adjust for vt_initialize calling
9338 vt_stack_adjustments and returning whether it succeeded or not.
9339
7dee65d8
AH
93402010-03-15 Aldy Hernandez <aldyh@redhat.com>
9341
9342 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
9343 debug statements.
9344
6019a098
JJ
93452010-03-15 Jakub Jelinek <jakub@redhat.com>
9346
9347 * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
9348 has been set.
9349 (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
9350 drap_reg has not been set.
9351
c2172338
MM
93522010-03-15 Michael Matz <matz@suse.de>
9353
9354 PR middle-end/43300
9355 * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
9356 use it to expand block copies.
9357 (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
9358 insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
9359 (insert_value_copy_on_edge): Use store_expr for BLKmode values.
9360
610b64e2
RG
93612010-03-15 Richard Guenther <rguenther@suse.de>
9362
9363 PR tree-optimization/43367
9364 * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
9365 elimination check.
9366
610de68d
RB
93672010-03-15 Richard Guenther <rguenther@suse.de>
9368
9369 PR tree-optimization/43317
9370 * ipa-struct-reorg.c (create_new_general_access): Update stmt.
9371
932e2e64
MJ
93722010-03-15 Martin Jambor <mjambor@suse.cz>
9373
610de68d 9374 PR tree-optimization/43141
932e2e64
MJ
9375 * tree-sra.c (create_abstract_origin): New function.
9376 (modify_function): Call create_abstract_origin.
9377
c8c520dd
CD
93782010-03-15 Chris Demetriou <cgd@google.com>
9379
9380 * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
9381 wasn't copied.
9382
7f931500
SP
93832010-03-13 Sebastian Pop <sebastian.pop@amd.com>
9384
9385 PR middle-end/43354
9386 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
9387 call insert_out_of_ssa_copy for default definitions.
9388
93892010-03-13 Sebastian Pop <sebastian.pop@amd.com>
9390
9391 * graphite-clast-to-gimple.c (my_long_long): Defined.
9392 (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
9393 * graphite-sese-to-poly.c (my_long_long): Defined.
9394 (scop_ivs_can_be_represented): Use it.
9395
93962010-03-13 Sebastian Pop <sebastian.pop@amd.com>
9397
9398 * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
9399 graphite-max-bbs-per-function, and loop-block-tile-size.
9400 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
9401 with "maximum".
9402 (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
9403
94042010-03-13 Sebastian Pop <sebastian.pop@amd.com>
9405
9406 * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
9407 forward declaration.
9408 * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
9409 (add_upper_bounds_from_estimated_nit): New.
9410 (build_loop_iteration_domains): Use it.
9411
94122010-03-13 Sebastian Pop <sebastian.pop@amd.com>
9413
9414 * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
9415
94162010-03-13 Sebastian Pop <sebastian.pop@amd.com>
9417
9418 PR middle-end/43306
9419 * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
9420 should be an INTEGER_CST. Also handle CASE_CONVERT.
9421
94222010-03-13 Sebastian Pop <sebastian.pop@amd.com>
9423
9424 * graphite.c (graphite_initialize): To bound the number of bbs per
9425 function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
9426 * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
9427 * doc/invoke.texi: Document it.
9428
94292010-03-13 Sebastian Pop <sebastian.pop@amd.com>
9430
9431 * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
9432 * graphite-sese-to-poly.h (build_poly_scop): Same.
9433
94342010-03-13 Sebastian Pop <sebastian.pop@amd.com>
9435
9436 * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
9437 the number of parameters in the scop. Use as an upper bound
9438 PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
9439 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
9440 * doc/invoke.texi: Document it.
9441
929769f4
JQ
94422010-03-13 Jerry Quinn <jlquinn@optonline.net>
9443
9444 * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
9445 * doc/c-tree.texi: Remove.
9446 * doc/generic.texi: Merge c-tree.texi here.
9447 * doc/gccint.texi (Trees): Remove menu entry.
9448 (c-tree.texi): Remove @include.
9449 * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
9450 * doc/languages.texi (Reading RTL): Ditto.
9451
9c8cab44
SE
94522010-03-12 Steve Ellcey <sje@cup.hp.com>
9453
9454 PR target/42869
9455 * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
9456
08f9d725
MM
94572010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
9458
9459 PR middle-end/42431
9460 * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
9461 code added to work around reload clobbering CONST insns.
9462
70235ab9
JJ
94632010-03-12 Jakub Jelinek <jakub@redhat.com>
9464
0de3e43f
JJ
9465 * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
9466 (cselib_preserve_definitely, cselib_clear_preserve): Remove.
9467 (cselib_preserve_only_values): Remove retain argument, don't
9468 traverse hash table with cselib_{preserve_definitely,clear_preserve}.
9469 * cselib.h (cselib_preserve_only_values): Remove retain argument.
9470 * var-tracking.c (micro_operation): Move insn field before union.
9471 Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
9472 (struct variable_tracking_info_def): Remove n_mos field, change
9473 mos into a vector of micro_operations.
9474 (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
9475 (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
9476 compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
9477 changing into a vector.
9478 (add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores
9479 come before all other uops generated by add_stores.
9480 (vt_add_function_parameters): Adjust for cselib_preserve_only_values
9481 argument removal.
9482 (vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into
9483 a vector. Run just one pass over the bbs instead of separate counting
9484 and computation phase.
9485 (vt_finalize): Free VTI (bb)->mos vector instead of array.
9486
70235ab9
JJ
9487 PR debug/43329
9488 * tree-inline.c (remap_decls): Put old_var rather than origin_var
9489 into *nonlocalized_list vector.
9490 * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
9491 even if origin is non-NULL.
9492 (gen_variable_die): Likewise.
9493 (process_scope_var): Don't change origin.
9494 (gen_decl_die): Likewise.
9495 * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
9496 before adding new edges instead of after it, fix moving over
9497 debug stmts.
9498
7ac22e17
DM
94992010-03-11 David S. Miller <davem@davemloft.net>
9500
77514c73
UB
9501 * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
9502 of four.
7ac22e17
DM
9503 * configure: Rebuild.
9504
0e0a1359
MJ
95052010-03-11 Martin Jambor <mjambor@suse.cz>
9506
9507 PR tree-optimization/43257
9508 * tree.c (assign_assembler_name_if_neeeded): New function.
9509 (free_lang_data_in_cgraph): Assembler name assignment moved to the
9510 above new function.
9511 * tree.h (assign_assembler_name_if_neeeded): Declare.
9512 * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
9513 the function if needed.
9514
1d9edd01
CD
95152010-03-11 Chris Demetriou <cgd@google.com>
9516
9517 * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
9518 include/stdint-gcc.h, and include/stdint.h world-readable.
9519
ff0a0c1d
RG
95202010-03-11 Richard Guenther <rguenther@suse.de>
9521
9522 PR tree-optimization/43255
9523 * tree-vrp.c (process_assert_insertions_for): Do not insert
9524 asserts for trivial conditions.
9525
b509e1fc
AK
95262010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9527
9528 PR tree-optimization/43280
77514c73
UB
9529 * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
9530 generation. Move calculation of size out of the if branch.
b509e1fc
AK
9531 (find_bswap): Modify compare number generation.
9532
108ba00b
RG
95332010-03-11 Richard Guenther <rguenther@suse.de>
9534
9535 PR lto/43200
9536 * lto-streamer-in.c (maybe_fixup_decls): Simplify.
9537 (input_gimple_stmt): Fixup handled component types during
9538 operand read. Also fix up decls in ADDR_EXPRs.
9539
f37f5bb9
EB
95402010-03-10 Eric Botcazou <ebotcazou@adacore.com>
9541
9542 * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
9543 * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
9544
e9fecf0e
JH
95452010-03-10 Jan Hubicka <jh@suse.cz>
9546
9547 PR c/43288
9548 * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
9549 * varasm.c (get_variable_section): Don't do that here...
9550 (make_decl_rtl): ... and here.
9551 (do_assemble_alias): Produce decl RTL.
9552 (assemble_alias): Likewise.
9553
23f39b37
JJ
95542010-03-10 Jakub Jelinek <jakub@redhat.com>
9555
9556 PR debug/43290
9557 * reg-notes.def (REG_CFA_SET_VDRAP): New note.
9558 * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
9559 of fde->vdrap_reg.
9560 (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
9561 (based_loc_descr): Only express drap or vdrap regno based expressions
9562 using DW_OP_fbreg when not optimizing.
9563 * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
9564 make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
9565 REG_CFA_SET_VDRAP note.
9566
6edd8198
AM
95672010-03-10 Alexander Monakov <amonakov@ispras.ru>
9568
9569 PR tree-optimization/43236
9570 * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
9571 error in calculation of base address in reverse iteration case.
9572 (generate_builtin): Take number of latch executions if the statement
9573 is in the latch.
9574
9f698956
AB
95752010-03-10 Andrey Belevantsev <abel@ispras.ru>
9576
9577 PR middle-end/42859
9578 * tree-eh.c: Include pointer-set.h.
9579 (lower_eh_dispatch): Filter out duplicate case labels and
9580 remove the unneeded edge when the label is unused. Return
9581 true when some edges are removed.
9582 (execute_lower_eh_dispatch): When any lowering resulted in
9583 removing an edge, also delete unreachable blocks.
9584
ff4f03c3
JJ
95852010-03-10 Jakub Jelinek <jakub@redhat.com>
9586
9587 PR bootstrap/43287
9588 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
9589 UNSPEC_MACHOPIC_OFFSET.
9590
7b0f476d
AS
95912010-03-09 Andreas Schwab <schwab@linux-m68k.org>
9592
9593 PR target/43294
9594 * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
9595 (m68k_delegitimize_address): New function.
9596
3b7998ea
JJ
95972010-03-09 Jakub Jelinek <jakub@redhat.com>
9598
eb1fcdaa
JJ
9599 PR debug/43299
9600 * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
9601
69b89883
JJ
9602 PR debug/43299
9603 * var-tracking.c (adjust_sets): New function.
9604 (count_with_sets, add_with_sets): Use it.
9605 (get_adjusted_src): New inline function.
9606 (add_stores): Use it.
9607
3b7998ea
JJ
9608 PR debug/43304
9609 * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
9610 call cselib_dummy_expand_value_rtx_cb instead of
9611 cselib_expand_value_rtx_cb.
bded9b70
JJ
9612
9613 PR debug/43293
9614 * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
9615 * config/i386/i386.c: Include debug.h and dwarf2out.h.
9616 (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
9617 and .cfi_endproc around the pic thunks.
9618 (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
9619 all queued unwind info register saves are saved before the call.
9620 For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
9621 considered as sp-=4 for unwind info and the pop as sp+=4 which
9622 also clobbers dest, but doesn't actually restore it.
4398467a
JJ
9623
9624 PR debug/43290
9625 * config/i386/i386.c (ix86_get_drap_rtx): Don't set
9626 RTX_FRAME_RELATED_P.
9627
81ad4ac0
JZ
96282010-03-09 Jie Zhang <jie@codesourcery.com>
9629
9630 * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
9631 whitespaces in output template.
9632
dc344e87
JZ
96332010-03-09 Jie Zhang <jie@codesourcery.com>
9634
9635 * ira-lives.c (check_and_make_def_use_conflict): Don't fall
9636 out array boundary.
9637
ff12d3a6
JJ
96382010-03-08 Jakub Jelinek <jakub@redhat.com>
9639
9640 * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
9641 builtins.exp in a separate job.
9642
b58543c3
SP
96432010-03-08 Sebastian Pop <sebastian.pop@amd.com>
9644
9645 * graphite-sese-to-poly.c (add_param_constraints): Use
9646 lower_bound_in_type and upper_bound_in_type.
9647
96482010-03-08 Sebastian Pop <sebastian.pop@amd.com>
9649
9650 * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
9651 instead of unsigned_type_node.
9652
96532010-03-08 Sebastian Pop <sebastian.pop@amd.com>
9654 Reza Yazdani <reza.yazdani@amd.com>
9655
9656 PR middle-end/43065
9657 * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
9658 on pointer type parameters.
9659
96602010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
9661
9662 PR middle-end/42644
9663 PR middle-end/42130
9664 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
9665 handle conversions from pointer to integers.
9666 (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
77514c73 9667 induction variable, to be able to work with code generated by CLooG.
b58543c3
SP
9668 * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
9669 (build_poly_scop): Bail out if we cannot codegen a loop.
9670
96712010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
9672
9673 * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
9674 code generation with gloog_error.
9675
96762010-03-08 Sebastian Pop <sebastian.pop@amd.com>
9677
9678 * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
9679 Call fold_convert on all the returned values.
77514c73
UB
9680 (expand_scalar_variables_expr): Pass to
9681 expand_scalar_variables_ssa_name the type of the resulting expression.
b58543c3
SP
9682
96832010-03-08 Sebastian Pop <sebastian.pop@amd.com>
9684
9685 * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
77514c73
UB
9686 ppl_min_for_le_pointset.
9687 Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
b58543c3
SP
9688 * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
9689
96902010-03-08 Sebastian Pop <sebastian.pop@amd.com>
9691
9692 * graphite-dependences.c (map_into_dep_poly): Removed.
9693 (dependence_polyhedron_1): Use combine_context_id_scat.
9694
96952010-03-08 Sebastian Pop <sebastian.pop@amd.com>
9696
9697 * graphite-poly.h (struct poly_scattering): Add layout documentation.
9698 (struct poly_bb): Same.
9699 (combine_context_id_scat): New.
9700
97012010-03-08 Sebastian Pop <sebastian.pop@amd.com>
9702
9703 PR middle-end/42326
9704 * sese.c (name_defined_in_loop_p): Return false for default
9705 definitions.
9706
97072010-03-08 Sebastian Pop <sebastian.pop@amd.com>
9708
9709 * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
9710 and clean up the logic.
9711
97122010-03-08 Sebastian Pop <sebastian.pop@amd.com>
9713
9714 * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
9715 early return.
9716
1feb8238
JJ
97172010-03-08 Jakub Jelinek <jakub@redhat.com>
9718
9719 * var-tracking.c (remove_cselib_value_chains): Define only for
9720 ENABLE_CHECKING.
9721 (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
9722 delete_slot_part, emit_notes_for_differences_1): Don't call
9723 remove_cselib_value_chains here.
9724 (set_slot_part, emit_notes_for_differences_2): Don't call
9725 add_cselib_value_chains here.
9726 (preserved_values): New vector.
9727 (preserve_value): New function.
9728 (add_uses, add_stores, vt_add_function_parameters): Use it
9729 instead of cselib_preserve_value.
9730 (changed_values_stack): New vector.
9731 (check_changed_vars_0): New function.
9732 (check_changed_vars_1, check_changed_vars_2): Use it.
9733 (emit_notes_for_changes): Call set_dv_changed (*, false) on all
9734 changed_values_stack VALUEs.
9735 (vt_emit_notes): For all preserved_values call
9736 add_cselib_value_chains. If ENABLE_CHECKING call
9737 remove_cselib_value_chains before verifying value_chains is empty.
9738 Initialize and free changed_values_stack.
9739 (vt_initialize): Initialize preserved_values.
9740 (vt_finalize): Free preserved_values.
9741
cc788fcc
RG
97422010-03-08 Richard Guenther <rguenther@suse.de>
9743
9744 PR tree-optimization/43269
9745 * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
9746 region detection.
9747
69c103c7
MJ
97482010-03-08 Martin Jambor <mjambor@suse.cz>
9749
9750 * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
9751 (ipa_is_param_called): Removed.
9752 * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
9753 (ipa_print_node_params): Do not print the called flag.
9754 (ipa_write_node_info): Do not stream the called flag.
9755 (ipa_read_node_info): Likewise.
9756
864ddef7
JJ
97572010-03-07 Jakub Jelinek <jakub@redhat.com>
9758
9759 PR debug/43176
9760 * Makefile.in (var-tracking.o): Depend on pointer-set.h.
9761 * cselib.c (struct expand_value_data): Add dummy field.
9762 (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
9763 dummy to false.
9764 (cselib_dummy_expand_value_rtx_cb): New function.
9765 (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
9766 any rtl.
9767 * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
9768 * var-tracking.c: Include pointer-set.h.
9769 (variable): Change n_var_parts to char from int. Add
9770 cur_loc_changed and in_changed_variables fields.
9771 (variable_canonicalize): Remove.
9772 (shared_var_p): New inline function.
9773 (unshare_variable): Maintain cur_loc_changed and
9774 in_changed_variables fields. If var was in changed_variables,
9775 replace it there with new_var. Just copy cur_loc instead of
9776 resetting it to something else.
9777 (variable_union): Don't recompute cur_loc. Use shared_var_p.
9778 (dataflow_set_union): Don't call variable_canonicalize.
9779 (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
9780 of their DEBUG_EXPR_TREE_DECLs.
9781 (canonicalize_loc_order_check): Verify that cur_loc is NULL
9782 and in_changed_variables and cur_loc_changed is false.
9783 (variable_merge_over_cur): Clear cur_loc, in_changed_variables
9784 and cur_loc_changed. Don't update cur_loc here.
9785 (variable_merge_over_src): Don't call variable_canonicalize.
9786 (dataflow_set_preserve_mem_locs): Use shared_var_p. When
9787 removing loc that is equal to cur_loc, clear cur_loc,
9788 set cur_loc_changed and ensure variable_was_changed is called.
9789 (dataflow_set_remove_mem_locs): Use shared_var_p. Only
9790 compare pointers in cur_loc check, if it is equal to loc,
9791 clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here.
9792 (variable_different_p): Remove compare_current_location argument,
9793 don't compare cur_loc.
9794 (dataflow_set_different_1): Adjust variable_different_p caller.
9795 (variable_was_changed): If dv had some var in changed_variables
9796 already, reset in_changed_variables flag for it and propagate
9797 cur_loc_changed over to the new variable. On empty var
9798 always set cur_loc_changed. Set in_changed_variables on whatever
9799 var is added to changed_variables.
9800 (set_slot_part): Clear cur_loc_changed and in_changed_variables.
9801 Use shared_var_p. When removing loc that is equal to cur_loc,
9802 clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the
9803 end, don't set it to something else, just call variable_was_changed.
9804 (delete_slot_part): Use shared_var_p. When cur_loc equals to
9805 loc being removed, clear cur_loc and set cur_loc_changed.
9806 Set cur_loc_changed if all locations have been removed.
9807 (struct expand_loc_callback_data): New type.
9808 (vt_expand_loc_callback): Add dummy mode in which no rtxes are
9809 allocated. Always create SUBREGs if simplify_subreg failed.
9810 Prefer to use cur_loc, when that fails and still in
9811 changed_variables (and seen first time) recompute it. Set
9812 cur_loc_changed of variables which had to change cur_loc and
9813 compute elcd->cur_loc_changed if any of the subexpressions used
9814 had to change cur_loc.
9815 (vt_expand_loc): Adjust to pass arguments in
9816 expand_loc_callback_data structure.
9817 (vt_expand_loc_dummy): New function.
9818 (emitted_notes): New variable.
9819 (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
9820 that weren't used for any other decl in current
9821 emit_notes_for_changes call call vt_expand_loc_dummy to update
9822 cur_loc. For -fno-var-tracking-assignments, set cur_loc to
9823 first loc_chain location if NULL before. Always use just
9824 cur_loc instead of first loc_chain location. When cur_loc_changed
9825 is false, when not --enable-checking=rtl just don't emit any note.
9826 When rtl checking, compute the note and assert it is the same
9827 as previous note. Clear cur_loc_changed and in_changed_variables
9828 at the end before removing from changed_variables.
9829 (check_changed_vars_3): New function.
9830 (emit_notes_for_changes): Traverse changed_vars to call
9831 check_changed_vars_3 on each changed var.
9832 (emit_notes_for_differences_1): Clear cur_loc_changed and
9833 in_changed_variables. Recompute cur_loc of new_var.
77514c73 9834 (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
864ddef7
JJ
9835 (vt_emit_notes): Initialize and destroy emitted_notes.
9836
c4137918
BS
98372010-03-07 Bernd Schmidt <bernd.schmidt@analog.com>
9838
9839 PR rtl-optimization/42220
9840 * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
9841 Use verify_reg_tracked to determine if we should use OP_OUT rather
9842 than OP_INOUT.
9843 (build_def_use): If we see an in-out operand for a register that we
9844 know nothing about, treat is an output if possible, fail the block if
9845 not.
9846
cd6549e8
AO
98472010-03-06 Alexandre Oliva <aoliva@redhat.com>
9848
9849 PR debug/42897
9850 * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
9851 permanently.
9852
aba09491
AO
98532010-03-06 Alexandre Oliva <aoliva@redhat.com>
9854
9855 PR debug/42897
9856 * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
9857 uses of relevant DEFs that are dead outside the loop too.
9858
60d7a09b
AO
98592010-03-06 Alexandre Oliva <aoliva@redhat.com>
9860
9861 * var-tracking.c (dataflow_set_merge): Swap src and src2.
9862 Reverted:
9863 2010-01-13 Jakub Jelinek <jakub@redhat.com>
9864 PR debug/41371
9865 * var-tracking.c (values_to_unmark): New variable.
9866 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
9867 values_to_unmark vector. Moved body to...
9868 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
9869 instead queue it into values_to_unmark vector.
9870 (vt_find_locations): Free values_to_unmark vector.
9871
eeb971c9
EB
98722010-03-05 Eric Botcazou <ebotcazou@adacore.com>
9873
9874 * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
9875 (site.exp): Export them when plugins are enabled.
9876
ccc5b640
SP
98772010-03-05 Sebastian Pop <sebastian.pop@amd.com>
9878
9879 PR middle-end/42326
9880 * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
9881 that contain scevs.
9882 (chrec_fold_multiply): Same.
9883
3e23fb2e
AP
98842010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
9885
9886 PR c/43248
9887 * c-decl.c (build_compound_literal): Return early if init is
9888 an error_mark_node.
9889
76f76cd0
MJ
98902010-03-04 Martin Jambor <mjambor@suse.cz>
9891
9892 PR tree-optimization/43164
9893 PR tree-optimization/43191
9894 * tree-sra.c (type_consists_of_records_p): Reject records with
9895 zero-size bit-fields at the end.
9896
b2d244d1
MS
98972010-03-04 Mike Stump <mikestump@comcast.net>
9898
9899 * Makefile.in (TAGS): Remove *.y.
9900
9ca87236
RB
99012010-03-04 Richard Guenther <rguenther@suse.de>
9902
9903 PR tree-optimization/40761
9904 * tree-ssa-pre.c (compute_antic): Walk reverse postorder
9905 in reverse order.
9906 (my_rev_post_order_compute): New function.
9907 (init_pre): Call it.
9908
572ae476
CF
99092010-03-04 Changpeng Fang <changpeng.fang@amd.com>
9910
8c0386a4 9911 PR middle-end/43209
9ca87236
RB
9912 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
9913 decrease the cost of an IV candidate when the cost is infinite.
572ae476 9914
f8723eb6
RW
99152010-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9916
9917 * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
9918 Use '3DNow!' for the extension of that name, ensure normal space
9919 after the string.
9920 * doc/invoke.texi (i386 and x86-64 Options): Likewise.
9921
d8a60d24
JL
99222010-03-03 Jeff Law <law@redhat.com>
9923
9924 * PR middle-end/32693
9925 * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
9926 than gen_rtx_SUBREG.
9927 (extract_bit_field_1): Likewise.
9928
8ec49cff
JJ
99292010-03-03 Janis Johnson <janis187@us.ibm.com>
9930
9931 * doc/sourcebuild.texi (Test directives): Document that arguments
9932 include-opts and exclude-opts are now optional for dg-skip-if,
9933 dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
9934
2c71ac78
JM
99352010-03-03 Jason Merrill <jason@redhat.com>
9936
9937 PR c++/12909
9938 * cgraph.h (varpool_node): Add extra_name field.
9939 * varpool.c (varpool_extra_name_alias): New.
9940 (varpool_assemble_decl): Emit extra name aliases.
9941 (varpool_mark_needed_node): Look past an extra name alias.
1d5053d6
JM
9942 * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
9943 * lto-streamer-in.c (lto_input_tree): Read it.
9944 * lto-streamer-out.c (output_unreferenced_globals): Write it.
2c71ac78 9945
2587aa3b
EB
99462010-03-03 Eric Botcazou <ebotcazou@adacore.com>
9947
9948 * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
9949 (sparc*-*-solaris2*): ...this.
9950
db51bb34
JJ
99512010-03-03 Jakub Jelinek <jakub@redhat.com>
9952
7ece48b1
JJ
9953 PR debug/43229
9954 * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
9955 WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without
9956 ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
9957 FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
9958
0508bed7
JJ
9959 PR debug/43237
9960 * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
9961 fallthrough to default handling, just with want_address 0 instead of 2.
9962 For single element lists, add_AT_loc directly, otherwise create an
9963 artificial variable DIE and stick location list to it.
9964
db51bb34
JJ
9965 PR debug/43177
9966 * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
9967 (VAL_EXPR_HAS_REVERSE): Define.
9968 (reverse_op): New function.
9969 (add_stores): For reversible operations add an extra MO_VAL_USE.
9970
7428bc26
JM
99712010-03-02 Jason Merrill <jason@redhat.com>
9972
9973 * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
9974
d1ced155
EB
99752010-03-02 Eric Botcazou <ebotcazou@adacore.com>
9976
9977 * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
9978 (sparc64-*-linux*): Likewise.
9979 (sparc64-*-solaris2*): Include assembler files before linker ones.
9980 (sparc-*-solaris2*): Simplify and reorder to match previous case.
9981 * config/sparc/gas.h: Delete.
9982 * config/sparc/sol2-64.h: Add copyright notice.
9983 * config/sparc/sol2-gas-bi.h: Likewise.
9984 * config/sparc/sol2-gld.h: Likewise.
9985 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
9986 * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
9987 * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
9988 * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
9989 (sparc_elf_asm_named_section): Rename into...
9990 (sparc_solaris_elf_asm_named_section): ...this. Always define.
9991
02d43000
UB
99922010-03-02 Uros Bizjak <ubizjak@gmail.com>
9993
9994 * config/alpha/alpha.c (override_options): Fix -mtune error message.
9995
f6c86fab
JL
99962010-03-02 Jeff Law <law@redhat.com>
9997
4e222e63 9998 PR middle-end/42431
f6c86fab
JL
9999 * reload1.c (rtx_p, substitute_stack): Declare.
10000 (substitute): Record addresses of changed rtxs.
10001 (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
10002 Restore the original rtx when complete.
10003 (reload): Free subsitute_stack when complete.
10004
500cdcb0
JJ
100052010-03-02 Janis Johnson <janis187@us.ibm.com>
10006
10007 * doc/gccint.texi (menu): Add Testsuites as a chapter.
10008 * doc/sourcebuild.texi (Testsuites): Move up a level to be a
10009 new chapter.
10010 (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
10011 LTO Testing, gcov Testing, profopt Testing, compat Testing,
10012 Torture Tests): Change from subsection to section.
10013
d9a6979d
JJ
100142010-03-02 Jakub Jelinek <jakub@redhat.com>
10015 Steven Bosscher <steven@gcc.gnu.org>
10016
02d43000
UB
10017 * var-tracking.c (vt_initialize): Scan insns in ebb chunks
10018 instead of bb.
d9a6979d 10019
61226dc8
SP
100202010-03-02 Reza Yazdani <reza.yazdani@amd.com>
10021
10022 PR middle-end/42640
10023 * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
10024 the assignment from the new induction variable to the assignment
10025 of the value from the original loop PHI function.
10026
15e7a617
JJ
100272010-03-01 Janis Johnson <janis187@us.ibm.com>
10028 Daniel Jacobowitz <dan@codesourcery.com>
10029
10030 * doc/sourcebuild.texi (Test directives): Clarify options to
10031 dg-skip-if.
10032
eb2573ee
RO
100332010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10034
10035 * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
10036 Disable cfi directives unless GCC and gas agree on using read-only
10037 .eh_frame sections for 64-bit.
10038 * configure: Regenerate.
10039
12f9ddbc
RG
100402010-03-01 Richard Guenther <rguenther@suse.de>
10041
10042 PR tree-optimization/43220
10043 * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
10044 BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
10045
f0c10f0f 100462010-03-01 Richard Guenther <rguenther@suse.de>
02d43000 10047 Martin Jambor <mjambor@suse.cz>
f0c10f0f
RG
10048
10049 PR middle-end/41250
10050 * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
10051 gimplified parameters.
10052
c40b5400
CB
100532010-03-01 Christian Bruel <christian.bruel@st.com>
10054
10055 * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
61226dc8 10056
3c775d2d
L
100572010-03-01 H.J. Lu <hongjiu.lu@intel.com>
10058
10059 * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
10060
434c8f4b
RG
100612010-03-01 Richard Guenther <rguenther@suse.de>
10062
10063 PR middle-end/43213
10064 * expr.c (expand_assignment): Use the alias-oracle to tell
10065 if the rhs aliases the result decl.
10066
291c0a12
RO
100672010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10068
10069 PR pch/14940
10070 * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
10071 to sol_gt_pch_get_address.
10072 (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
10073 64-bit, SPARC and x86.
10074 (sol_gt_pch_get_address): New function.
10075
61226dc8 100762010-03-01 Marco Poletti <poletti.marco@gmail.com>
894e2652
SZ
10077
10078 * toplev.h (inform_n, error_n): Declare.
10079 * diagnostic.c (inform_n, error_n): New function.
10080
6c6366f6
JJ
100812010-03-01 Jakub Jelinek <jakub@redhat.com>
10082
10083 * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
10084 has no rtl yet when processing local_decls, queue it and recheck
10085 if deferred stack allocation hasn't assigned it rtl.
10086
826159e5
KK
100872010-02-28 Kaz Kojima <kkojima@gcc.gnu.org>
10088
10089 * config/sh/sh.c (unspec_bbr_uid): New.
10090 (gen_block_redirect): Use it instead of INSN_UID.
10091 (gen_far_branch): Likewise.
10092
746ecbcd
L
100932010-02-28 H.J. Lu <hongjiu.lu@intel.com>
10094
10095 * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
10096 it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
10097
02a9370c
RW
100982010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10099
10100 * doc/invoke.texi (Warning Options, RX Options): Fix typos.
10101 (Warning Options): -Wno-conversion-null is valid for
10102 Objective-C++ as well.
10103 * doc/tm.texi (Named Address Spaces): Likewise.
10104 * doc/plugins.texi (Plugins): Replace TABs with spaces.
10105 * doc/tree-ssa.texi (Tree SSA): Likewise.
10106
91ad7e13
L
101072010-02-27 H.J. Lu <hongjiu.lu@intel.com>
10108
10109 PR bootstrap/43202
10110 * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
10111 by default. Don't set the default arch for
10112 i[34567]86-*-darwin*|x86_64-*-darwin*.
10113
55c4eeaa
L
101142010-02-27 H.J. Lu <hongjiu.lu@intel.com>
10115
10116 PR bootstrap/43202
10117 * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
10118 default. Set the default 32bit/64bit archs with $with_arch
10119 instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
10120
30bc1dca
RG
101212010-02-27 Richard Guenther <rguenther@suse.de>
10122
10123 PR tree-optimization/43186
10124 * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
10125 * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
10126 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
10127 unroller iterations.
10128
c6b9174f
L
101292010-02-27 H.J. Lu <hongjiu.lu@intel.com>
10130
10131 * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
10132 required and i[34567]86-*-* targets don't support 64bit ISA.
10133
2743db69
EB
101342010-02-26 Eric Botcazou <ebotcazou@adacore.com>
10135
10136 PR ada/43096
10137 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
10138 the same alias set.
10139
4d16c0dc
L
101402010-02-26 H.J. Lu <hongjiu.lu@intel.com>
10141
10142 * config.gcc: Set the default arch at least to Prescott for
10143 i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
10144 if SSE math is enabled.
10145
0e94b750
MLI
101462010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
10147
10148 * diagnostic.c (diagnostic_initialize): Update.
10149 (diagnostic_report_diagnostic): Test inhibit_notes_p for
10150 informative notes.
10151 * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
10152 (diagnostic_inhibit_notes): New.
10153 * toplev.c (process_options): inhibit notes with -fcompare-debug.
10154
7e1542b9
MLI
101552010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
10156
10157 PR c/20631
10158 * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
10159 * doc/standards.texi: Likewise.
10160 * doc/extend.texi: Likewise.
10161 * doc/trouble.texi: Likewise.
61226dc8 10162 * doc/cppopts.texi: Likewise.
7e1542b9
MLI
10163 * doc/install.texi: Likewise.
10164 * c.opt (std=c90,std=gnu90): New options.
10165 * c-opts.c (c_common_handle_option): Handle them.
10166
0b901e4c
MLI
101672010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
10168
10169 PR c/24577
10170 * c-decl.c (undeclared_variable): Use an informative note.
10171
37530014
RG
101722010-02-26 Richard Guenther <rguenther@suse.de>
10173
10174 PR tree-optimization/43186
10175 * gimple.h (gimple_fold): Remove.
10176 * gimple.c (gimple_fold): Remove. Inline into single user ...
10177 * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
10178 Try harder for conditions.
10179
095c7b3c
JJ
101802010-02-26 Jakub Jelinek <jakub@redhat.com>
10181
10182 PR debug/43190
10183 * function.c (used_types_insert): Don't skip through named pointer
10184 types. Don't use TYPE_MAIN_VARIANT if the original type has a name
10185 and it is different from the main variant's type.
10186
a1e205cf
NC
101872010-02-26 Nick Clifton <nickc@redhat.com>
10188
10189 * config/rx/rx.md (sminsi3): Remove bogus alternative.
10190
a3af5e26
L
101912010-02-26 H.J. Lu <hongjiu.lu@intel.com>
10192
10193 * config.gcc: Support --with-fpmath=sse for x86.
10194
10195 * config/i386/ssemath.h: New.
10196
10197 * doc/install.texi (--with-fpmath=sse): Documented.
10198
2f816591
RG
101992010-02-26 Richard Guenther <rguenther@suse.de>
10200
10201 PR tree-optimization/43188
10202 * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
10203 vector types of over-aligned element type.
10204
7ce321b3
L
102052010-02-26 Uros Bizjak <ubizjak@gmail.com>
10206
10207 PR target/43175
10208 * config/i386/i386.c (expand_vec_perm_blend): Use correct
02d43000 10209 operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx.
7ce321b3 10210
b55b184a
JK
102112010-02-26 Jan Kratochvil <jan.kratochvil@redhat.com>
10212
10213 * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
10214
e7140c8d
JJ
102152010-02-26 Jakub Jelinek <jakub@redhat.com>
10216
6764d92c
JJ
10217 * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
10218 * var-tracking.c: Include diagnostic.h.
10219 (debug_dv): New function.
10220 (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
10221
5a309965
JJ
10222 PR debug/43160
10223 * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
10224 (add_value_chain, add_value_chains, remove_value_chain,
10225 remove_value_chains): Handle DEBUG_EXPRs.
10226 (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
10227
e7140c8d
JJ
10228 PR debug/43161
10229 * regcprop.c (struct queued_debug_insn_change): New type.
10230 (struct value_data_entry): Add debug_insn_changes field.
10231 (struct value_data): Add n_debug_insn_changes field.
10232 (debug_insn_changes_pool): New variable.
10233 (free_debug_insn_changes, apply_debug_insn_changes,
10234 cprop_find_used_regs_1, cprop_find_used_regs): New functions.
10235 (kill_value_one_regno): Call free_debug_insn_changes if needed.
10236 (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
10237 fields.
10238 (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
10239 changes for them.
10240 (copyprop_hardreg_forward_1): Don't call apply_change_group for
10241 DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN
10242 changes, call cprop_find_used_regs via note_stores.
10243 (copyprop_hardreg_forward): When copying vd from predecessor
10244 which has any queued DEBUG_INSN changes, make sure the pointers are
10245 cleared. At the end call df_analyze and then if there are any
10246 DEBUG_INSN changes queued at the end of some basic block for still
10247 live registers, apply them.
10248 (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
10249
894b386f
UB
102502010-02-25 Uros Bizjak <ubizjak@gmail.com>
10251
10252 * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
10253 (arm*-*-*): Ditto.
10254
3fd77630
L
102552010-02-25 H.J. Lu <hongjiu.lu@intel.com>
10256
10257 * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
10258 targets. Set the default with_cpu/with_arch from arch/cpu.
10259 Allow x86-64 and native for with_cpu/with_arch.
10260
4b9c6075
NB
102612010-02-25 Nicolas Benoit <nbenoit@tuxfamily.org>
10262
10263 * ebitmap.c: Change calls to verify_popcount with calls to
10264 sbitmap_verify_popcount.
10265 (ebitmap_clear_bit): Fixed map->cacheindex test and
10266 map>cache update when bit clearing results in an empty
10267 element.
10268
2fcd8e02
MM
102692010-02-25 Michael Meissner <meissner@linux.vnet.ibm.com>
10270
10271 PR target/43154
10272 * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
10273 (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
10274 and support both V2DF and V2DI modes.
10275 (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
10276 support both V2DF and V2DI modes.
10277 (general): Delete trailing whitespace from a few patterns.
10278
10279 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
10280 V2DF/V2DI interleave high/low builtins.
10281
10282 * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
10283 new VSX builtins.
10284
10285 * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
10286 interleave high/low functions.
10287
f61ae065
GP
102882010-02-25 Gerald Pfeifer <gerald@pfeifer.com>
10289
10290 * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
10291 #pragma extern_prefix.
10292
7d5d39bb
JJ
102932010-02-25 Jakub Jelinek <jakub@redhat.com>
10294
06796564
JJ
10295 PR debug/43166
10296 * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
10297 BLKmode, assert op0 is a MEM and just adjust its mode.
10298
7d5d39bb
JJ
10299 PR debug/43165
10300 * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
10301 if bitpos isn't multiple of mode's bitsize.
10302
124e0d27
MLI
103032010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
10304
10305 * c.opt (-ftemplate-depth=): New.
10306 (-ftemplate-depth-): Deprecate.
10307 * optc-gen.awk: Handle -ftemplate-depth=.
10308 * opth-gen.awk: Likewise.
10309 * c-opts.c (c_common_handle_option): Likewise.
02d43000 10310 * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
124e0d27 10311
0e7750a0
JM
103122010-02-24 Jason Merrill <jason@redhat.com>
10313
10314 * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
10315
c26238f4
RO
103162010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10317
10318 * cfg.c (alloc_aux_for_block): Remove inline.
10319 (alloc_aux_for_edge): Likewise.
10320
bef64e0f
RO
103212010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10322
10323 * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
10324
68ba2afe
RO
103252010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10326
10327 * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
10328 * config/i386/sol2-gas.h: New file.
10329 * config.gcc (i[34567]86-*-solaris2*): Use it.
10330
2d2e923f
MLI
103312010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
10332
10333 PR c/43128
10334 * c-typeck.c (ep_convert_and_check): New.
10335 (build_conditional_expr): Use it.
10336 (build_binary_op): Likewise.
10337
2e957792
JJ
103382010-02-24 Jakub Jelinek <jakub@redhat.com>
10339
a46368b2
JJ
10340 * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
10341
2e957792
JJ
10342 PR debug/43150
10343 * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
10344 bounds even for -O+.
10345 * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
10346 expr needs to have DECL_NAME set.
10347
12a54f54
NC
103482010-02-24 Nick Clifton <nickc@redhat.com>
10349
10350 * config/mep/mep.c: Include gimple.h.
10351 (mep_function_uses_sp): Delete unused function.
10352 (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
10353 parameters. Use unsigned integers to count args. Return a
10354 NULL_RTX instead of an error_mark_node. Toidy up formatting.
10355
8f40ad50
JJ
103562010-02-23 Jakub Jelinek <jakub@redhat.com>
10357
10358 PR target/43107
10359 * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
10360 greater or equal to nelt instead of 2 * nelt.
10361 (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
10362 with nelt - 1.
10363
a3b20e90
JM
103642010-02-23 Jason Merrill <jason@redhat.com>
10365
3adcf52c
JM
10366 PR debug/42800
10367 * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
10368 in cfun->local_decls even if they have register types.
10369
a3b20e90
JM
10370 PR c++/42837
10371 * stor-layout.c (place_field): Don't warn about unnecessary
10372 DECL_PACKED if the type is packed.
10373
5ead99fa
JJ
103742010-02-23 Jakub Jelinek <jakub@redhat.com>
10375
10376 PR target/43139
10377 * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
10378 GOTOFF relocs, even when the base reg isn't pic pointer.
10379
2a8e30fb
MM
103802010-02-23 Michael Matz <matz@suse.de>
10381
10382 PR debug/43077
10383 * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
10384 (expand_gimple_basic_block): Generate and use debug temps if there
10385 are debug uses left after the last real use of TERed ssa names.
10386 Unlink debug immediate uses when they are expanded.
10387
38170f34
MLI
103882010-02-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
10389
10390 PR 43123
10391 * config/i386/i386.c (override_options): Reorganise to provide
10392 better error messages.
10393
0f9c8f56
SP
103942010-02-22 Sebastian Pop <sebastian.pop@amd.com>
10395
10396 PR middle-end/43083
10397 * graphite-scop-detection.c (create_single_exit_edge): Move
10398 the call to find_single_exit_edge to....
10399 (create_sese_edges): ...here. Don't handle multiple edges
10400 exiting the function.
10401 (build_graphite_scops): Don't handle multiple edges
10402 exiting the function.
10403
104042010-02-22 Sebastian Pop <sebastian.pop@amd.com>
10405
10406 PR middle-end/43097
10407 * sese.c (get_rename): Assert that old_name is an SSA_NAME.
10408 (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
10409
104102010-02-22 Sebastian Pop <sebastian.pop@amd.com>
10411
10412 PR middle-end/43026
10413 * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
10414
a98c2819
MLI
104152010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
10416
10417 PR c++/43126
10418 * c-typeck.c (convert_arguments): Print declaration location.
10419 * c-common.c (validate_nargs): Rename as
10420 builtin_function_validate_nargs.
10421 (check_builtin_function_arguments): Update.
10422
ea2edf88
RG
104232010-02-22 Richard Guenther <rguenther@suse.de>
10424
10425 PR lto/43045
10426 * tree-inline.c (declare_return_variable): Use the type of
10427 the call stmt lhs if available.
10428
669887fc
DS
104292010-02-22 Duncan Sands <baldrick@free.fr>
10430
10431 * passes.c (register_pass): Always consider all pass lists when
10432 ref_pass_instance_number is zero.
10433
9efc83f4
RG
104342010-02-22 Richard Guenther <rguenther@suse.de>
10435
10436 PR tree-optimization/42749
10437 * tree-tailcall.c (adjust_return_value_with_ops): Drop update
10438 parameter. Do arithmetic in the original type.
10439 (update_accumulator_with_ops): Likewise.
10440 (adjust_accumulator_values): Adjust.
10441
0a88561f
AK
104422010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10443
10444 * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
10445 (QI to BLKmode splitter): New splitter.
10446
5c91eb02
L
104472010-02-22 H.J. Lu <hongjiu.lu@intel.com>
10448
10449 * config/i386/i386.c (initial_ix86_tune_features): Turn on
10450 X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
10451
69e3b47f
RG
104522010-02-22 Richard Guenther <rguenther@suse.de>
10453
10454 * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
5c91eb02 10455
45df0e43
HPN
104562010-02-22 Hans-Peter Nilsson <hp@bitrange.com>
10457
10458 Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
10459 * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
10460 ($(T)crti.o, $(T)crtn.o): Remove rules.
10461
72bd130e
TB
104622010-02-21 Tobias Burnus <burnus@net-b.de>
10463
10464 PR fortran/35259
10465 * doc/invoke.texi (-fassociative-math): Document that this
10466 option is automatically enabled for Fortran.
10467
878ee0ab
DM
104682010-02-20 David S. Miller <davem@davemloft.net>
10469
10470 * configure.ac: Test if linker and assembler properly support
10471 GOTDATA_OP relocations.
10472 * configure: Rebuild.
10473 * config.in: Likewise.
10474 * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
10475 (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
10476 (movsi_high_pic): Likewise.
10477 (movdi_lo_sum_pic): Likewise.
10478 (movdi_high_pic): Likewise.
10479 (movsi_pic_gotdata_op): New pattern.
10480 (movdi_pic_gotdata_op): Likewise.
10481 * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
10482 emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
02d43000 10483
78c201a4
UB
104842010-02-20 Uros Bizjak <ubizjak@gmail.com>
10485
10486 PR target/43067
10487 * config/i386/sse.md (xop_mulv2div2di3_low): Change type
10488 attribute to ssemul.
10489 (xop_mulv2div2di3_high): Ditto.
10490
17251338
MLI
104912010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
10492
10493 PR c++/35669
10494 * c.opt (Wconversion-null): New option.
10495 * doc/invoke.texi (Wconversion-null): Document.
10496
e7a84854
MLI
104972010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
10498
10499 * common.opt (Wlarger-than-): Add Undocumented.
78c201a4 10500
f233f7ed
MS
105012010-02-19 Mike Stump <mikestump@comcast.net>
10502
10503 * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
10504
d88900d7
JM
105052010-02-19 Jason Merrill <jason@redhat.com>
10506
10507 PR target/40332
10508 * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
10509 * configure: Likewise.
10510
715a4e08
AM
105112010-02-20 Alan Modra <amodra@gmail.com>
10512
10513 PR middle-end/42344
10514 * cgraph.h (cgraph_make_decl_local): Declare.
10515 * cgraph.c (cgraph_make_decl_local): New function.
10516 (cgraph_make_node_local): Use it.
10517 * cgraphunit.c (cgraph_function_versioning): Likewise.
10518 * ipa.c (function_and_variable_visibility): Likewise.
10519
ad3b056c
JJ
105202010-02-19 Jakub Jelinek <jakub@redhat.com>
10521
10522 PR bootstrap/43121
10523 * except.c (sjlj_emit_function_enter): Don't call
10524 add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
10525 directly.
10526 * rtl.h (add_reg_br_prob_note): Remove prototype.
10527
58076e21
MLI
105282010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
10529
10530 PR 41779
10531 * c-common.c (conversion_warning): Remove widening conversions
10532 before checking the conversion of integers to reals.
10533
b42186f1
MS
105342010-02-19 Mike Stump <mikestump@comcast.net>
10535
c387e067
MS
10536 PR middle-end/43125
10537 * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
10538
b42186f1
MS
10539 PR objc/43061
10540 * cgraphunit.c (process_function_and_variable_attributes): Check
10541 DECL_PRESERVE_P instead of looking up attribute "used".
10542 * ipa-pure-const.c (check_decl): Likewise.
10543 * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
10544 * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
10545 * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
10546 instead of attribute "used".
10547 * config/sol2-c.c (solaris_pragma_init): Likewise.
10548 (solaris_pragma_fini): Likewise.
10549
8ac074e8
JJ
105502010-02-19 Jakub Jelinek <jakub@redhat.com>
10551
25c0cad4
JJ
10552 * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
10553 Use XCNEW instead of xcalloc.
10554 (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
10555 XNEW instead of xmalloc.
10556 (get_fields): Use XNEWVEC instead of xmalloc.
10557
e19bcb67
JJ
10558 PR debug/43084
10559 * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
10560 populate vars array.
10561 (create_new_general_access): For debug stmts just reset value.
10562 (get_stmt_accesses): For accesses within debug stmts just record them
10563 using add_access_to_acc_sites instead of preventing the peeling or
10564 counting them as accesses.
10565
8ac074e8
JJ
10566 PR middle-end/42233
10567 * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
10568
c7da0354
RG
105692010-02-19 Richard Guenther <rguenther@suse.de>
10570
10571 PR tree-optimization/42916
10572 * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
10573 instructions.
10574
e5dfb95f
AS
105752010-02-19 Andreas Schwab <schwab@linux-m68k.org>
10576
10577 * configure.ac: Replace all uses of changequote in macro arguments
10578 with proper quoting.
10579
2bdd49f4
JJ
105802010-02-19 Jakub Jelinek <jakub@redhat.com>
10581
10582 PR middle-end/42233
10583 * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
10584
604d0dbc
RG
105852010-02-19 Richard Guenther <rguenther@suse.de>
10586
10587 PR tree-optimization/42944
10588 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
10589 test for aliasing with errno.
10590
554cf330
JJ
105912010-02-19 Jakub Jelinek <jakub@redhat.com>
10592
40e90eac
JJ
10593 PR middle-end/42233
10594 * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
10595 do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
10596 * dojump.c: Include output.h.
10597 (inv): New inline function.
10598 (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
10599 do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
10600 do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
10601 do_jump_by_parts_equality, do_compare_and_jump): Add PROB
10602 argument, pass it down to other calls.
10603 (do_compare_rtx_and_jump): Likewise. If PROB is not -1,
10604 add REG_BR_PROB note to the conditional jump.
10605 * cfgexpand.c (add_reg_br_prob_note): Removed.
10606 (expand_gimple_cond): Don't call it, add the probability
10607 as last argument to jumpif_1/jumpifnot_1.
10608 * Makefile.in (dojump.o): Depend on output.h.
10609 * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
10610 callers.
10611 * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
10612 * stmt.c (do_jump_if_equal): Likewise.
10613 * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
10614 * loop-unswitch.c (compare_and_jump_seq): Likewise.
10615 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
10616 Likewise.
10617 * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
10618 * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
10619 jumpifnot_1 callers.
10620 (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
10621 callers.
10622 (store_expr): Adjust jumpifnot caller.
10623 (store_constructor): Adjust jumpif caller.
10624
554cf330
JJ
10625 PR middle-end/42233
10626 * gimplify.c (gimple_boolify): For __builtin_expect call
10627 gimple_boolify also on its first argument.
10628
1a242e3c
UB
106292010-02-18 Uros Bizjak <ubizjak@gmail.com>
10630
10631 * configure.ac (gnu-unique-object): Wrap regexps using [] in
10632 changequote block.
10633 (__stack_chk_fail): Ditto. Remove quadrigraphs.
10634 * configure: Regenerated.
10635
86866b28
UW
106362010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10637
10638 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
10639 lang_hooks.types_compatible_p instead of comptypes.
10640
8168ccc0
SH
106412010-02-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
10642
10643 * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
10644 (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
10645 if __prefer_thumb__ is defined.
10646
746e119f
MJ
106472010-02-18 Martin Jambor <mjambor@suse.cz>
10648
10649 PR tree-optimization/43066
10650 * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
10651 array with zero-sized element type.
10652
82cf0c8c
JJ
106532010-02-18 Jakub Jelinek <jakub@redhat.com>
10654
10655 * dwarf2out.c (add_var_loc_to_decl): Change last argument to
10656 rtx, allocate struct var_loc_node here and return it to the
10657 caller, and only if it is actually needed.
10658 (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
10659 move it earlier and return immediately if it returns NULL.
10660
ccb265d6
MP
106612010-02-17 Mikael Pettersson <mikpe@it.uu.se>
10662
10663 * config/sparc/gas.h: New file. Restore
10664 TARGET_ASM_NAMED_SECTION to its ELF default.
10665 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
10666 check !HAVE_GNU_AS.
10667 * config/sparc/sparc.c (sparc_elf_asm_named_section):
10668 Likewise. Add ATTRIBUTE_UNUSED to prototype.
10669 * config.gcc (sparc*-*-linux*): Include sparc/gas.h
10670 after sparc/sysv4.h.
10671
a30f3def
DK
106722010-02-17 Dave Korn <dave.korn.cygwin@gmail.com>
10673
10674 * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
10675
2f6c5b27
SB
106762010-02-17 Steven Bosscher <steven@gcc.gnu.org>
10677
10678 * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
10679 patterns from predicated pattern.
10680
b5e33e04
UB
106812010-02-17 Uros Bizjak <ubizjak@gmail.com>
10682
10683 PR target/43103
10684 * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
10685 for insn mnemonic suffix.
10686
a95740b3
RG
106872010-02-17 Richard Guenther <rguenther@suse.de>
10688
10689 * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
10690 to loop PHI nodes.
10691
169e464e
JJ
106922010-02-17 Jakub Jelinek <jakub@redhat.com>
10693
10694 PR debug/42918
10695 * caller-save.c (save_call_clobbered_regs): If BB ends with
10696 a DEBUG_INSN, move any notes in between last real insn and the last
10697 DEBUG_INSN after the last DEBUG_INSN.
10698
5498b6d2
JR
106992010-02-16 Joern Rennecke <joern.rennecke@embecosm.com>
10700
10701 * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
10702 Fix return type. Fix argument type. Explain meaning of return value.
10703
b09bae68
RG
107042010-02-16 Richard Guenther <rguenther@suse.de>
10705
10706 PR tree-optimization/41043
b5e33e04 10707 * tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops.
b09bae68
RG
10708 (vrp_visit_assignment_or_call): Do not ask SCEV for regular
10709 statements ...
10710 (vrp_visit_phi_node): ... but only for loop PHI nodes.
10711
d5dceab8 107122010-02-16 Ira Rosen <irar@il.ibm.com>
99f51320
IR
10713
10714 PR tree-optimization/43074
10715 * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
10716 * tree-vect-loop.c (vect_analyze_loop_operations): Add
10717 vectorizable cycles in hybrid SLP check.
10718 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
10719
f47e08d9
RG
107202010-02-16 Richard Guenther <rguenther@suse.de>
10721
b5e33e04 10722 * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
f47e08d9
RG
10723 (true_dependence): If memrefs_conflict_p computes must-alias
10724 trust it. Move TBAA check after offset-based disambiguation.
10725 (canon_true_dependence): Likewise.
10726
ec8c3978
JJ
107272010-02-16 Alexandre Oliva <aoliva@redhat.com>
10728
10729 * params.def (PARAM_MAX_VARTRACK_SIZE): New.
10730 * doc/invoke.texi: Document it.
10731 * var-tracking.c: Include toplev.h and params.h.
10732 (vt_find_locations): Return bool indicating success. Compute
10733 hash sizes unconditionally. Check new parameter, report.
10734 (variable_tracking_main_1): Check vt_find_locations results and
10735 retry. Renamed from...
10736 (variable_tracking_main): ... this. New wrapper to preserve
10737 flag_var_tracking_assignments.
10738 * Makefile.in (var-tracking.o): Adjust dependencies.
10739
3bf6b403 107402010-02-16 Jack Howarth <howarth@bromo.med.uc.edu>
b5e33e04 10741 Jakub Jelinek <jakub@redhat.com>
3bf6b403
JH
10742
10743 PR target/42854
10744 * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
10745 if weak_import attribute is present.
10746 * config/darwin.c (machopic_select_section): Likewise.
10747
a934eb2d
JR
107482010-02-15 Joern Rennecke <joern.rennecke@embecosm.com>
10749
10750 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
10751 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
10752 (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
10753 (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
10754
74ca3393
EB
10755 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
10756 types.
a934eb2d
JR
10757
10758 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
10759 Fix argument types.
10760
10761 * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
10762 Rewrite text to refer to the names.
10763
02edd2f6
SP
107642010-02-15 Sebastian Pop <sebastian.pop@amd.com>
10765
10766 * config/i386/i386-builtin-types.def
10767 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
10768 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
10769 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
10770 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
10771 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
10772 IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
10773 IX86_BUILTIN_VPERMIL2PS256.
10774 (MULTI_ARG_4_DF2_DI_I): Defined.
10775 (MULTI_ARG_4_DF2_DI_I1): Defined.
10776 (MULTI_ARG_4_SF2_SI_I): Defined.
10777 (MULTI_ARG_4_SF2_SI_I1): Defined.
10778 (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
10779 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
10780 __builtin_ia32_vpermil2ps256.
10781 (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
10782 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
10783 MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments.
10784 (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
10785 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
10786 MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3,
10787 CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
10788 CODE_FOR_xop_vpermil2v8sf3.
10789 * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
10790 * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
10791 * config/i386/xopintrin.h (_mm_permute2_pd): New.
10792 (_mm256_permute2_pd): New.
10793 (_mm_permute2_ps): New.
10794 (_mm256_permute2_ps): New.
10795
ac447f25
NC
107962010-02-15 Nick Clifton <nickc@redhat.com>
10797
d079b87f 10798 * config/h8300/h8300.c (h8300_push_pop): Use bool type for
ac447f25
NC
10799 boolean parameters. Use emit_jump_insn when emitting a pop
10800 instruction containing a return insn.
b5e33e04
UB
10801 (push): Use 'true' rather than '1' as second parameter to F.
10802 (h8300_expand_prologue): Likewise.
10803 Use 'true' and 'false' for boolean parameters to h8300_push_pop.
10804 (h8300_expand_epilogue): Likewise.
ac447f25 10805
313333a6
RG
108062010-02-15 Richard Guenther <rguenther@suse.de>
10807
10808 PR middle-end/43068
10809 * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
10810 if that is zero.
10811
653958e8
NC
108122010-02-15 Nick Clifton <nickc@redhat.com>
10813
10814 * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
10815 delta.
10816
0f667308
MP
108172010-02-14 Marco Poletti <poletti.marco@gmail.com>
10818
10819 * intl.c (fake_ngettext): New function.
10820 * intl.h (fake_ngettext): Declare.
10821 (ngettext): Define macro.
10822 * collect2.c (notice_translated): New function.
10823 (main): Use notice_translated and ngettext.
10824 * collect2.h (notice_translated): Declare.
10825
912eb5a4
SB
108262010-02-14 Steven Bosscher <steven@gcc.gnu.org>
10827
10828 * reorg.c (delete_computation): Comment fixes.
10829 * caller-save.c (setup_save_areas): Idem.
10830 * sel-sched-dump.c (dump_lv_set): Idem.
10831 * rtl.def: Idem.
10832
244e6c5c
AK
108332010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10834
10835 * config/s390/s390.c (s390_sched_init): New function.
10836 (TARGET_SCHED_INIT): Target hook defined.
10837
9ab99933
DK
108382010-02-12 Dave Korn <dave.korn.cygwin@gmail.com>
10839 Jack Howarth <howarth@bromo.med.uc.edu>
10840 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10841
10842 PR target/42982
10843 Partial revert of unintended change in fix for PR41605.
10844 * config/darwin.h: Fix typo.
10845 * config/darwin9.h: Same.
10846
ed5bdeb6
JJ
108472010-02-11 Jakub Jelinek <jakub@redhat.com>
10848
10849 * c-pch.c (pch_init): Clear v.
10850
f432760f
SP
108512010-02-11 Sebastian Pop <sebastian.pop@amd.com>
10852
10853 PR middle-end/42930
10854 * graphite-scop-detection.c (graphite_can_represent_scev): Call
10855 graphite_can_represent_init for MULT_EXPR.
10856
108572010-02-11 Sebastian Pop <sebastian.pop@amd.com>
10858
10859 PR middle-end/42914
10860 PR middle-end/42530
10861 * graphite-sese-to-poly.c (remove_phi): New.
10862 (translate_scalar_reduction_to_array): Call remove_phi.
10863
108642010-02-11 Sebastian Pop <sebastian.pop@amd.com>
10865
10866 PR middle-end/42771
10867 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
10868 * graphite-clast-to-gimple.h (gloog): Update declaration.
10869 * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
10870 * graphite-poly.h (struct poly_bb): Add missing comments.
10871 (struct scop): Add poly_scop_p field.
10872 (POLY_SCOP_P): New.
10873 * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
10874 * graphite.c (graphite_transform_loops): Build the polyhedral
10875 representation for each scop before code generation.
10876 * sese.c (rename_variables_in_operand): Removed.
10877 (rename_variables_in_expr): Return the renamed expression.
10878 (rename_sese_parameters): New.
10879 * sese.h (rename_sese_parameters): Declared.
10880
6d892147
RG
108812010-02-11 Richard Guenther <rguenther@suse.de>
10882
10883 PR tree-optimization/42998
10884 * tree-ssa-pre.c (create_expression_by_pieces): Treat
10885 POINTER_PLUS_EXPR properly.
10886
04eadb13
SP
108872010-02-11 Sebastian Pop <sebastian.pop@amd.com>
10888 Changpeng Fang <changpeng.fang@amd.com>
10889
10890 PR middle-end/40886
10891 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
10892 the cost of an IV candidate when the IV is used in a test against zero.
10893
10894 * gcc.dg/tree-ssa/ivopts-3.c: New.
10895
91753e21
RG
108962010-02-11 Richard Guenther <rguenther@suse.de>
10897
10898 PR lto/41664
10899 * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
10900 pointer-vs-decl case by swapping refs. Handle some cases
10901 of pointer-vs-decl disambiguations more conservatively.
10902 * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
10903 to false after expanding.
10904
f68df07c
RG
109052010-02-11 Richard Guenther <rguenther@suse.de>
10906
10907 PR driver/43021
10908 * gcc.c (process_command): Handle LTO file@offset case more
10909 appropriately.
10910
d2d36740
JJ
109112010-02-11 Jakub Jelinek <jakub@redhat.com>
10912
8f6aedba
JJ
10913 * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
10914 modifications outside of the DEBUG_INSN. Accept CLOBBERs inside
10915 of DEBUG_INSNs.
10916 (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
10917
d2d36740
JJ
10918 * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
10919 if MEM's mode size isn't DWARF2_ADDR_SIZE.
10920 (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
10921 Optimize eq/ne comparisons when both arguments are known to be
10922 zero-extended.
10923 (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
10924 Don't mask operands unnecessarily if they are known to be already
10925 zero-extended.
10926
56592e03
VM
109272010-02-10 Vladimir Makarov <vmakarov@redhat.com>
10928
10929 * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
10930 instead of loop.
10931
5418fe84
RG
109322010-02-10 Richard Guenther <rguenther@suse.de>
10933
10934 PR tree-optimization/43017
10935 * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
10936 for wrapping signed arithmetic.
10937
92e8e53a
JJ
109382010-02-10 Jakub Jelinek <jakub@redhat.com>
10939
10940 PR debug/43010
10941 * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
10942 if no debug info should be emitted for it.
10943
bd55b817
KK
109442010-02-10 Kaz Kojima <kkojima@gcc.gnu.org>
10945
10946 * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
10947 note when flag_exceptions is set.
10948
2ab43a52
DS
109492010-02-10 Duncan Sands <baldrick@free.fr>
10950
10951 * Makefile.in (PLUGIN_HEADERS): Add debug.h.
10952
d977cb9c
RG
109532010-02-10 Richard Guenther <rguenther@suse.de>
10954
10955 PR c/43007
10956 * tree.c (get_unwidened): Handle constants.
10957 * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
10958
563cb662
MJ
109592010-02-10 Martin Jambor <mjambor@suse.cz>
10960
10961 PR lto/42985
10962 * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
10963 check for variable argument counts independently.
10964
9e3c399e
CB
109652010-02-10 Christian Bruel <christian.bruel@st.com>
10966
10967 PR target/42841
10968 * config/sh/sh.c (find_barrier): Increase length for non delayed
10969 conditional branches.
01305d24 10970
e938feb4
CB
109712010-02-10 Christian Bruel <christian.bruel@st.com>
10972
10973 * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
01305d24 10974
cbb1ab10
JJ
109752010-02-10 Jakub Jelinek <jakub@redhat.com>
10976
10977 * builtins.c (set_builtin_user_assembler_name): Also handle
10978 ffs if int is smaller than word.
10979
b09495c1
VM
109802010-02-09 Vladimir Makarov <vmakarov@redhat.com>
10981
10982 PR middle-end/42973
10983 * ira-conflicts.c (get_dup): Remove.
10984 (process_reg_shuffles): Add new parameter. Use it as an
10985 additional guard for copy generation.
10986 (add_insn_allocno_copies): Rewrite.
10987
57257f0d
AM
109882010-02-09 Alexander Monakov <amonakov@ispras.ru>
10989
10990 * common.opt (fsched2-use-traces): Preserved for backward
10991 compatibility.
10992 * doc/invoke.texi: Remove the documentation about option
10993 -fsched2-use-traces.
10994 * sched-rgn.c (rest_of_handle_sched2): Remove usage of
10995 flag_sched2_use_traces.
10996 * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
10997 the backward compatibility flag section.
10998
72d182d3
RG
109992010-02-09 Richard Guenther <rguenther@suse.de>
11000
11001 PR tree-optimization/43008
11002 * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
11003 make HEAP variables initialized from global memory if they
11004 are not known builtin functions.
11005 (find_func_aliases): Adjust.
11006
9605a606
RG
110072010-02-09 Richard Guenther <rguenther@suse.de>
11008
11009 PR tree-optimization/43000
11010 * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
11011 arithmetic manually.
11012
8d9eca14
JJ
110132010-02-08 Jakub Jelinek <jakub@redhat.com>
11014
11015 PR tree-optimization/42931
11016 * tree-loop-linear.c (try_interchange_loops): Don't call
11017 double_int_mul if estimated_loop_iterations failed.
11018
d3545524
MJ
110192010-02-08 Martin Jambor <mjambor@suse.cz>
11020
11021 PR middle-end/42898
11022 * tree-sra.c (build_accesses_from_assign): Do not mark in
11023 should_scalarize_away_bitmap if stmt has volatile ops.
11024 (sra_modify_assign): Do not process assigns piecemeal if if stmt
11025 has volatile ops.
11026
8a9a2486
JR
110272010-02-08 Joern Rennecke <joern.rennecke@embecosm.com>
11028
11029 * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
11030
7bf25dd6
AN
110312010-02-07 Adam Nemet <adambnmet@gmail.com>
11032
11033 * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
11034 before the pattern.
11035
a46edbff
AP
110362010-02-07 Andrew Pinski <pinskia@gmail.com>
11037
11038 PR middle-end/42946
11039 * df-core.c (df_finish_pass): Change type of saved_flags to int.
11040
86da963e
SP
110412010-02-07 Sebastian Pop <sebastian.pop@amd.com>
11042
11043 PR middle-end/42988
11044 * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
11045 to unknown_dependence.
11046 (graphite_legal_transform_dr): Handle the unknown_dependence.
11047 (graphite_carried_dependence_level_k): Same.
11048
110492010-02-07 Sebastian Pop <sebastian.pop@amd.com>
11050
11051 * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
11052
997ac87b
RG
110532010-02-07 Richard Guenther <rguenther@suse.de>
11054
11055 PR middle-end/42991
11056 * expr.c (get_inner_reference): Always initialize *pbitsize.
11057
cb6b911a
RG
110582010-02-07 Richard Guenther <rguenther@suse.de>
11059
11060 PR middle-end/42956
11061 * gimplify.c (gimple_fold_indirect_ref): Avoid generating
11062 new ARRAY_REFs on variable size element or minimal index arrays.
11063 Complete.
11064 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
11065 gimple_fold_indirect_ref.
11066
b761dbe6
RE
110672010-02-06 Richard Earnshaw <rearnsha@arm.com>
11068
11069 PR target/42957
11070 * arm.c (arm_override_options): Just return if the user has specified
11071 an invalid fpu name.
11072
b2469a9b
JM
110732010-02-03 Jason Merrill <jason@redhat.com>
11074
11075 PR c++/42870
11076 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
11077 i386_pe_maybe_record_exported_symbol.
11078
1f65437d
SE
110792010-02-05 Steve Ellcey <sje@cup.hp.com>
11080
11081 PR target/42924
11082 * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
11083 (pa_delegitimize_address): New function.
11084
126edba2
OS
110852010-02-05 Ozkan Sezer <sezeroz@gmail.com>
11086
11087 * config/i386/msformat-c.c (ms_printf_length_specs): Set the
11088 scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
11089
532df904
RG
110902010-02-05 Richard Guenther <rguenther@suse.de>
11091
11092 PR lto/42762
11093 * lto-streamer-in.c (get_resolution): Deal with references
11094 to undefined functions.
11095
5c95f07b
RG
110962010-02-05 Richard Guenther <rguenther@suse.de>
11097
b5e33e04 11098 * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
5c95f07b
RG
11099 (fold_const_aggregate_ref): Likewise.
11100 (ccp_fold_stmt): Substitute loads.
11101 (maybe_fold_reference): Verify types before substituting.
11102 Unshare properly.
11103 (fold_gimple_assign): Unshare properly.
b5e33e04 11104 (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
5c95f07b 11105
64aa00b1
NF
111062010-02-05 Nathan Froyd <froydnj@codesourcery.com>
11107
11108 * config/rs6000/rs6000.c (rs6000_override_options): Invert check
11109 for rs6000_gen_cell_microcode.
11110
b0f19292
RG
111112010-02-04 Richard Guenther <rguenther@suse.de>
11112
11113 PR rtl-optimization/42952
11114 * dse.c (const_or_frame_p): Remove MEM handling.
11115
f7eb48b5
NC
111162010-02-04 Nick Clifton <nickc@redhat.com>
11117
11118 * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
11119 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
11120 (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
11121 (mn10300_asm_output_mi_thunk): New function.
11122 (mn10300_can_output_mu_thunk): New function.
11123 * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
11124 (FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1.
11125 (FUNCTION_ARG): Delete incorrect comment.
11126
2aac1924
JM
111272010-02-03 Jason Merrill <jason@redhat.com>
11128
11129 PR c++/40138
11130 * fold-const.c (operand_equal_p): Handle erroneous types.
11131
3e5f930f 111322010-02-03 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
07738b87
KP
11133
11134 * config/h8300/h8300.md (can_delay): Fix attibute condition.
11135
a7f3e500
VM
111362010-02-03 Vladimir Makarov <vmakarov@redhat.com>
11137
3e5f930f 11138 PR rtl-optimization/42941
a7f3e500
VM
11139 * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
11140 of xmalloc.
11141
59d49708
JM
111422010-02-03 Jason Merrill <jason@redhat.com>
11143
11144 PR c++/35652
11145 * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
11146
5440c0e7
AO
111472010-02-03 Alexandre Oliva <aoliva@redhat.com>
11148
11149 PR debug/42896
02d43000 11150 * cselib.h (struct cselib_val_struct): Add uid. Rename value to hash.
5440c0e7
AO
11151 (cselib_reset_table): Renamed from...
11152 (cselib_reset_table_with_next_value): ... this.
11153 (cselib_get_next_uid): Renamed from...
11154 (cselib_get_next_unknown_value): ... this.
11155 * cselib.c (next_uid): Renamed from...
11156 (next_unknown_value): ... this.
11157 (cselib_clear_table): Adjust.
11158 (cselib_reset_table): Adjust. Renamed from...
11159 (cselib_reset_table_with_next_value): ... this.
11160 (cselib_get_next_uid): Adjust. Renamed from...
11161 (cselib_get_next_unknown_value): ... this.
11162 (get_value_hash): Use hash.
11163 (cselib_hash_rtx): Likewise.
11164 (new_cselib_val): Adjust. Set and dump uid.
11165 (cselib_lookup_mem): Pass next_uid as hash.
11166 (cselib_subst_to_values): Likewise.
11167 (cselib_log_lookup): Dump uid.
11168 (cselib_lookup): Pass next_uid as hash. Adjust.
11169 (cselib_process_insn): Adjust.
11170 (cselib_init): Initialize next_uid.
11171 (cselib_finish): Adjust.
11172 (dump_cselib_table): Likewise.
11173 * dse.c (canon_address): Dump value uid.
11174 * print-rtl.c (print_rtx): Print value uid.
11175 * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
11176 (dvuid): New type.
11177 (dv_uid): New function, sort of renamed from...
11178 (dv_htab_hash): ... this, reimplemented in terms of it and...
11179 (dv_uid2hash): ... this. New.
11180 (variable_htab_eq): Drop excess assertions.
11181 (tie_break_pointers): Removed.
11182 (canon_value_cmp): Compare uids.
11183 (variable_post_merge_New_vals): Print uids.
11184 (vt_add_function_parameters): Adjust.
11185 (vt_initialize): Reset table. Adjust.
11186
e3c70387
RG
111872010-02-03 Richard Guenther <rguenther@suse.de>
11188
11189 PR tree-optimization/42944
b5e33e04 11190 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
e3c70387
RG
11191 (call_may_clobber_ref_p_1): Likewise. Properly handle
11192 malloc and calloc clobbering errno.
11193
4cad6dba
SB
111942010-02-03 Steven Bosscher <steven@gcc.gnu.org>
11195
11196 * doc/invoke.texi: Fix name of sched1 dump.
11197
11198 * opts.c (decode_options): Set flag_tree_switch_conversion
11199 only conditionally on optimize >= 2.
11200
11201 * gcse.c: Assorted comment fixes in pass description.
11202
693ee8cf
AG
112032010-02-03 Anthony Green <green@moxielogic.com>
11204
11205 * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
11206 nop padding in order to maintain alignment of storage location of
11207 target function address.
11208 (moxie_trampoline_init): Store target function address at newly
11209 aligned location.
11210 * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
11211 to 32.
11212 (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
11213
bf8e3b77
RG
112142010-02-03 Richard Guenther <rguenther@suse.de>
11215
11216 PR middle-end/42927
11217 * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
11218
bde17fdc
RO
112192010-02-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11220
11221 * config.gcc: Reenable check for obsolete targets.
11222 Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
11223 mips-sgi-irix6.[0-4]*.
11224
c9c27b72
NC
112252010-02-02 Nick Clifton <nickc@redhat.com>
11226
11227 * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
11228 constant size of 4 as being the same as 0.
11229 * doc/invoke.texi (RX Options): Document that -mmax-constant-size
11230 can take values in the range 0..4.
11231
fc15bd03
JH
112322010-02-02 Jack Howarth <howarth@bromo.med.uc.edu>
11233
11234 PR java/41991
11235 * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
11236 as _darwin10_Unwind_FindEnclosingFunction().
11237 * libgcc-libsystem.ver: New.
11238
6eeea7a7
VM
112392010-02-01 Vladimir Makarov <vmakarov@redhat.com>
11240
11241 PR target/41399
11242 * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
11243 implicitly set registers.
11244
87d05b44
RE
112452010-02-01 Richard Earnshaw <rearnsha@arm.com>
11246
11247 * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
11248 (arm_override_options): Allow automatic selection of the thread
11249 pointer register if thumb2.
11250 (legitimize_pic_address): Improve code sequences for Thumb2.
11251 (arm_call_tls_get_addr): Likewise.
11252 (legitimize_tls_address): Likewise.
11253 * arm.md (pic_load_addr_arm): Delete. Replace with ...
11254 (pic_load_addr_32bit): ... this. New named pattern.
11255 * thumb2.md (pic_load_addr_thumb2): Delete.
11256 (pic_load_dot_plus_four): Delete.
11257 (tls_load_dot_plus_four): New named pattern.
11258
cb717ac4
RO
112592010-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11260
11261 PR libgomp/29986
11262 * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
11263 Document fix for TLS bug.
11264
44f89620
RG
112652010-01-31 Richard Guenther <rguenther@suse.de>
11266
11267 * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
11268 conservatively correct.
11269
747b0aed
JDA
112702010-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11271
11272 PR target/42850
11273 Revert:
11274 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11275
11276 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
11277
362c6d2f
KG
112782010-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11279
11280 * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
11281
8370a62a
KT
112822010-01-31 Kai Tietz <kai.tietz@onevision.com>
11283
11284 * config.gcc: Adjust order of makefile fragments for mingw targets.
11285
61c7cbf8
RG
112862010-01-31 Richard Guenther <rguenther@suse.de>
11287
11288 PR middle-end/42898
11289 * gimplify.c (gimplify_init_constructor): For volatile LHS
11290 initialize a temporary.
11291
b0a69d20
MK
112922010-01-31 Matthias Klose <doko@ubuntu.com>
11293
11294 * configure.ac: Fix __stack_chk_fail check for cross builds configured
11295 --with-headers
11296 * configure: Regenerate.
11297
55eb4dab
EB
112982010-01-29 Eric Botcazou <ebotcazou@adacore.com>
11299
11300 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
11301 the same alias set and their sizes different constantness.
11302 (aliasing_component_refs_p): Revert 2009-10-24 change.
11303
f9e06dbc
RO
113042010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11305
11306 * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
11307 unused.
11308
eb6b98c7
RG
113092010-01-29 Richard Guenther <rguenther@suse.de>
11310
11311 * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
11312 Assert we successfully updated the call.
11313
c23cd1d6
JJ
113142010-01-29 Jakub Jelinek <jakub@redhat.com>
11315
11316 PR rtl-optimization/42889
11317 * df.h (df_set_bb_dirty_nonlr): New prototype.
11318 * df-core.c (df_set_bb_dirty_nonlr): New function.
11319 * df-scan.c (df_insn_rescan): Call it instead of
11320 df_set_bb_dirty for DEBUG_INSNs.
11321
38bc76da
RG
113222010-01-29 Richard Guenther <rguenther@suse.de>
11323
11324 PR middle-end/37448
11325 * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
11326 quadratic behavior in most cases.
11327
d819472d
UB
113282010-01-28 Uros Bizjak <ubizjak@gmail.com>
11329
11330 PR target/42891
11331 * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
11332 in the call to gen_x86_movsicc_0_m1.
11333
3ed7d068
RG
113342010-01-28 Richard Guenther <rguenther@suse.de>
11335
11336 PR tree-optimization/42871
01305d24 11337 * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
3ed7d068 11338
830bc550
RG
113392010-01-28 Richard Guenther <rguenther@suse.de>
11340
11341 * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
11342 into call arguments.
11343
28e5ca15
RB
113442010-01-28 Richard Guenther <rguenther@suse.de>
11345
11346 PR middle-end/42883
11347 * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
11348 the forwarder if the destination is an EH landing pad.
11349
113502010-01-28 Razya Ladelsky <razya@il.ibm.com>
8adfe01d 11351
d819472d 11352 * tree-parloops.c (transform_to_exit_first_loop): Update the basic
8adfe01d
RL
11353 block list passed to gimple_duplicate_sese_tail.
11354 (parallelize_loops): Avoid parallelization when the function
11355 has_nonlocal_label.
11356 Avoid parallelization when the preheader is IRREDUCIBLE.
11357 Try to optimize when estimated_loop_iterations_int is unresolved.
11358 Add the loop's location to the dump file.
28e5ca15 11359 * tree-cfg.c (add_phi_args_after_redirect): Remove.
8adfe01d
RL
11360 (gimple_duplicate_sese_tail): Remove the check for the latch.
11361 Redirect nexits to the exit block.
11362 Remove handling of the incoming edges to the latch.
11363 Redirect the backedge from the copied latch to the exit bb.
11364
3d952fb7
MM
113652010-01-28 Michael Matz <matz@suse.de>
11366
11367 PR target/42881
11368 * config/i386/i386.c (ix86_expand_vector_init_duplicate):
11369 Wrap force_reg into a sequence, emit it before user.
11370
4fc2b1aa
ST
113712010-01-28 Stephen Thomas <stephen.thomas@arm.com>
11372
11373 * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
11374 (arm_rev): New.
11375 (arm_legacy_rev): Likewise.
11376 (thumb_legacy_rev): Likewise.
11377
0f277ad4
JJ
113782010-01-27 Jakub Jelinek <jakub@redhat.com>
11379
11380 * dwarf2out.c (mem_loc_descriptor): Remove special casing of
11381 CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call
11382 on MEM's address failed, try avoid_constant_pool_reference and
11383 recurse if it returned something different.
11384 (loc_descriptor): If for MEM mem_loc_descriptor failed on the
11385 address, try avoid_constant_pool_reference and recurse if it
11386 returned something different.
11387 (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
11388 address and avoid_constant_pool_reference returned something
11389 different, don't set have_address.
11390
fb4cbb9f
AO
113912010-01-27 Alexandre Oliva <aoliva@redhat.com>
11392
11393 PR debug/42861
11394 * var-tracking.c (val_store): Add modified argument, obey it.
11395 Adjust callers.
11396 (count_uses): Move down logging of main.
11397 (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
11398 don't need resolution.
11399 (emit_notes_in_bb): Likewise.
11400
e87da263
RG
114012010-01-27 Richard Guenther <rguenther@suse.de>
11402
11403 PR middle-end/42878
11404 * tree-inline.c (remap_decl): Delay remapping of SSA name
11405 default definitions until we need them.
11406
c6d99cad
JJ
114072010-01-27 Jakub Jelinek <jakub@redhat.com>
11408
9a78eb71
JJ
11409 * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
11410 (rs6000_delegitimize_address): New function.
11411
e8d8f497
JJ
11412 * config/s390/s390.c (s390_delegitimize_address): Call
11413 delegitimize_mem_from_attrs.
11414
c6d99cad
JJ
11415 PR middle-end/42874
11416 * tree-inline.c (cannot_copy_type_1): Removed.
11417 (copy_forbidden): Don't forbid copying of functions containing
11418 records/unions with variable length fields.
11419
4f6fee0f
CB
114202010-01-27 Christian Bruel <christian.bruel@st.com>
11421
11422 Revert:
11423 PR target/42841
11424 * config/sh/sh.c (find_barrier): Increase length for non delayed
11425 conditional branches.
d819472d 11426
cdf6bfb7
MK
114272010-01-27 Matthias Klose <doko@ubuntu.com>
11428
11429 * configure.ac (gnu-unique-object): Fix ldd version check.
11430 * configure: Regenerate.
11431
31b21739
RO
114322010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11433
11434 * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
11435 HAVE_GNU_AS value.
11436 * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
11437 Test for HAVE_GNU_AS value.
11438
dc4f0670
RO
114392010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11440
11441 * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
11442 * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
11443 INT64_TYPE): Define.
11444 (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
11445 (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
11446 INT_LEAST64_TYPE): Define.
11447 (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
11448 UINT_LEAST64_TYPE): Define.
11449 (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
11450 INT_FAST64_TYPE): Define.
11451 (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
11452 UINT_FAST64_TYPE): Define.
11453 (INTMAX_TYPE, UINTMAX_TYPE): Define.
11454 (INTPTR_TYPE, UINTPTR_TYPE): Define.
11455 (SIG_ATOMIC_TYPE): Define.
11456
a099f7d4
RG
114572010-01-26 Richard Guenther <rguenther@suse.de>
11458
11459 * df-scan.c (df_scan_set_bb_info): Remove assert.
11460 (df_insn_rescan_debug_internal): Merge asserts.
11461 (df_install_ref): Likewise.
11462 (df_mark_reg): Use bitmap_set_range.
11463 (df_hard_reg_used_p): Remove assert.
11464 (df_hard_reg_used_count): Likewise.
11465
0d9b0371
RG
114662010-01-26 Richard Guenther <rguenther@suse.de>
11467
11468 PR rtl-optimization/42685
11469 * web.c (web_main): Ignore DEBUG_INSNs.
11470
7a241624
JR
114712010-01-26 Joern Rennecke <amylaar@spamcop.net>
11472
11473 * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
11474
11475 (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
11476 Fix types of fndecl and arglist parameters.
11477
3333cd50
RG
114782010-01-26 Richard Guenther <rguenther@suse.de>
11479
11480 PR middle-end/42806
11481 * tree-eh.c (unsplit_eh): Skip debug insns.
11482
7f657dde
RG
114832010-01-26 Richard Guenther <rguenther@suse.de>
11484
11485 PR tree-optimization/42250
11486 * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
11487
057dd91d
JJ
114882010-01-26 Jakub Jelinek <jakub@redhat.com>
11489
11490 PR fortran/42866
11491 * omp-low.c (expand_omp_sections): Only use single_pred if
11492 l2_bb is single_pred_p.
11493
69b18163
CB
114942010-01-25 Christian Bruel <christian.bruel@st.com>
11495
11496 PR target/42841
11497 * config/sh/sh.c (find_barrier): Increase length for non delayed
11498 conditional branches.
11499 (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
11500
00f88f07
DM
115012010-01-24 David S. Miller <davem@davemloft.net>
11502
31b21739 11503 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
00f88f07 11504 define if not using GAS.
31b21739 11505 * config/sparc/sparc.c (sparc_elf_asm_named_section):
00f88f07
DM
11506 Likewise. Delete SECTION_MERGE code, which is only applicable
11507 when using GAS.
11508
d147cbd9
MM
115092010-01-24 Mark Mitchell <mark@codesourcery.com>
11510
11511 PR c++/42748
11512 * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
11513 mangling of va_list in system headers.
11514
a90352a0
TM
115152010-01-23 Toon Moene <toon@moene.org>
11516
11517 * tree-predcom.c (combine_chains): Return NULL, not false.
11518
e96d7dd7
JR
115192010-01-23 Joern Rennecke <amylaar@spamcop.net>
11520
11521 * tree-loop-distribution.c (distribute_loop): Fix declaration and
11522 initialization of variable res to agree with return type.
11523
65c0a517
SE
115242010-01-22 Steve Ellcey <sje@cup.hp.com>
11525
11526 * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
11527 * tree-sra.c: Add include of expr.h.
11528
c47987fa
JJ
115292010-01-22 Jakub Jelinek <jakub@redhat.com>
11530
11531 * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
11532 insert the debug stmt on the single non-EH edge from the stmt.
11533
002cda0a
RH
115342010-01-22 Richard Henderson <rth@redhat.com>
11535
11536 PR tree-opt/42833
11537 * tree-sra.c (sra_modify_assign): Delay re-gimplification of
11538 the RHS until after generate_subtree_copies has insertted its
11539 code before the current statement.
11540
728d406c
JR
115412010-01-22 Joern Rennecke <amylaar@spamcop.net>
11542
11543 * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
11544
45bbb86d
JR
11545 * gcc-plugin.h (plugin_init): Use "C" likage for c++.
11546
7744b697
MJ
115472010-01-21 Martin Jambor <mjambor@suse.cz>
11548
11549 PR tree-optimization/42585
11550 * tree-sra.c (struct access): New field grp_total_scalarization.
11551 (dump_access): Dump the new field.
11552 (should_scalarize_away_bitmap): New variable.
11553 (cannot_scalarize_away_bitmap): Likewise.
11554 (sra_initialize): Allocate new bitmaps.
11555 (sra_deinitialize): Free new bitmaps.
11556 (create_access_1): New function.
11557 (create_access): Parts moved to create_access_1.
11558 (type_consists_of_records_p): New function.
11559 (completely_scalarize_record): Likewise.
11560 (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
11561 (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
11562 (sort_and_splice_var_accesses): Hint groups with a total_scalarization
11563 access.
11564 (analyze_all_variable_accesses): Completely scalarize small eligible
11565 records.
11566
fff08961
MJ
115672010-01-21 Martin Jambor <mjambor@suse.cz>
11568
11569 * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
11570
a288b143
AH
115712010-01-21 Andrew Haley <aph@redhat.com>
11572
d819472d
UB
11573 * gcc.c (process_command): Move lang_specific_driver before
11574 setting cc_libexec_prefix.
a288b143 11575
4e62a017
RG
115762010-01-21 Richard Guenther <rguenther@suse.de>
11577
11578 PR middle-end/19988
11579 * fold-const.c (negate_expr_p): Pretend only negative
11580 real constants are easily negatable.
11581
ebf0bf7f
JJ
115822010-01-20 Janis Johnson <janis187@us.ibm.com>
11583 Jason Merrill <jason@redhat.com>
11584
11585 * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
11586 (TYPE_TRANSPARENT_AGGR): this, for union and record.
11587 * calls.c (initialize argument_information): Handle it.
11588 * c-common.c (handle_transparent_union_attribute): Use new name.
11589 * c-decl.c (finish_struct): Ditto.
11590 * c-typeck.c (type_lists_compatible_p): Ditto.
11591 (convert_for_assignment): Use new name and also handle record.
11592 * function.c (aggregate_value_p): Handle it.
11593 (pass_by_reference): Ditto.
11594 (assign_parm_data_types): Ditto.
11595 * print-tree.c (print_node): Ditto.
11596 * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
11597 * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
11598 * tree.c (first_field): New fn.
11599
907c6efd
DK
116002010-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
11601
11602 PR target/42818
11603 * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
11604 even when linking statically, for now.
11605
f827f659
AO
116062010-01-20 Alexandre Oliva <aoliva@redhat.com>
11607
11608 PR debug/42715
11609 * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
11610 without a cselib val.
11611 (count_uses): Accept MO_VAL_SET with no val on stores.
11612 (add_stores): Likewise.
11613
a85caf9e
JJ
116142010-01-20 Jakub Jelinek <jakub@redhat.com>
11615
11616 * var-tracking.c (check_value_val): Add a compile time assertion.
11617 (dv_is_decl_p): Simplify.
11618 (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
11619 gcc_assert if ENABLE_CHECKING.
11620
4a4d4c08
AO
116212010-01-20 Alexandre Oliva <aoliva@redhat.com>
11622
11623 PR debug/42782
11624 * var-tracking.c: Include tree-flow.h.
11625 (mem_dies_at_call): New.
11626 (dataflow_set_preserve_mem_locs): Use it.
11627 (dataflow_set_remove_mem_locs): Likewise.
11628 (dump_var): Renamed from dump_variable. Adjust all callers.
11629 (dump_var_slot): Renamed from dump_variable_slot. Likewise.
11630 * Makefile.in (var-tracking.o): Adjust deps.
11631
50e87e30
JR
116322010-01-20 Joern Rennecke <amylaar@spamcop.net>
11633
11634 * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
11635
e9a8afaa
RG
116362010-01-20 Richard Guenther <rguenther@suse.de>
11637
11638 PR tree-optimization/42717
11639 * tree-ssa-dce.c (get_live_post_dom): Remove.
11640 (forward_edge_to_pdom): Take an arbitrary edge to copy
11641 degenerate PHI args from.
11642 (remove_dead_stmt): Use the first post-dominator even if it
11643 does not contain live statements as redirection destination.
11644
be2fd187
RG
116452010-01-20 Richard Guenther <rguenther@suse.de>
11646
11647 * tree-inline.c (estimate_num_insns): Handle EH builtins.
11648
1124098b
JJ
116492010-01-20 Jakub Jelinek <jakub@redhat.com>
11650
11651 * sel-sched.c (create_speculation_check): Remove set but not used
11652 variable twin.
11653 (try_transformation_cache): Remove set but not used variable ds.
11654 (calculate_privileged_insns): Remove set but not used variables
11655 cur_insn and min_spec_insn.
11656 (find_best_expr): Remove set but not used variable avail_n.
11657 * tree-predcom.c (base_names_in_chain_on): Remove set but not used
11658 variable e.
11659 * cgraphunit.c (assemble_thunk): Remove set but not used variable
11660 false_label.
11661 * haifa-sched.c (remove_notes): Remove set but not used variable prev.
11662 * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
11663 new_scop_exit_edge.
11664
83a5ef25
FW
116652010-01-20 Felyza Wishbringer <fwishbringer@gmail.com>
11666
11667 PR bootstrap/42786
11668 * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
11669 cpu types. Add support for *-sse3 cpu types.
11670 (x86_64-*-*): Ditto.
11671
b5c0899b
JJ
116722010-01-20 Jakub Jelinek <jakub@redhat.com>
11673
11674 PR middle-end/42803
11675 * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
11676 argument, call initializer_constant_valid_p_1 instead of
11677 initializer_constant_valid_p, pass CACHE to it, return NULL
11678 immediately if first call returns NULL.
11679 (initializer_constant_valid_p_1): New function.
11680 (initializer_constant_valid_p): Use it.
11681
5f8f3f94
TQ
116822010-01-20 Thomas Quinot <quinot@adacore.com>
11683
11684 * tree.def (PLACEHOLDER_EXPR): Fix comment.
11685
80c35b40
JJ
116862010-01-20 Jakub Jelinek <jakub@redhat.com>
11687
11688 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
11689 of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
11690 (loc_list_from_tree): Don't handle unsigned division. Handle
11691 signed modulo using DW_OP_{over,over,div,mul,minus}.
11692 * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
11693 modulo instead of signed.
11694
c72ea086
DD
116952010-01-20 DJ Delorie <dj@redhat.com>
11696
11697 * config/h8300/h8300.c (F): Add "in_epilogue" flag.
11698 (Fpa): Pass it
11699 (h8300_emit_stack_adjustment): Propogate it.
11700 (push): Pass it.
11701 (h8300_expand_prologue): Likewise.
11702 (h8300_expand_epilogue): Likewise.
11703
b61b1f17
MM
117042010-01-19 Michael Matz <matz@suse.de>
11705
11706 PR tree-optimization/41783
11707 * tree-data-ref.c (toplevel): Include flags.h.
11708 (dump_data_dependence_relation): Also dump the inputs if the
11709 result will be unknown.
11710 (split_constant_offset_1): Look through some conversions.
11711 * tree-predcom.c (determine_roots_comp): Restart a new chain if
11712 the offset from last element is too large.
11713 (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
11714 (reassociate_to_the_same_stmt): Handle vector registers.
11715 * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
11716 (e.g. conversions).
31b21739 11717 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
b61b1f17
MM
11718 wide_prolog_niters argument, emit widening instructions.
11719 (vect_do_peeling_for_alignment): Adjust caller, use widened
11720 variant of the iteration cound.
11721 * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
11722
b3d7e191
RR
117232010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11724
b61b1f17
MM
11725 PR target/38697
11726 * config/arm/neon-testgen.m (emit_automatics): New parameter
b3d7e191
RR
11727 features. Adjust for Fixed_return_reg feature.
11728 (test_intrinsic): Call emit_automatics with new feature.
b61b1f17 11729 * config/arm/neon.ml: Update copyright years.
b3d7e191
RR
11730 (features): New Fixed_return_reg feature.
11731 (ops): Update feature for Vget_low.
11732
2178b0f9
JJ
117332010-01-19 Jakub Jelinek <jakub@redhat.com>
11734
d6600130
JJ
11735 PR tree-optimization/42719
11736 * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
11737 stmt uses.
11738
2178b0f9
JJ
11739 PR debug/42728
11740 * fwprop.c (all_uses_available_at): Return false if def_set dest
11741 is a REG that is used in def_insn.
11742
ab7e224a
JR
117432010-01-19 Joern Rennecke <amylaar@spamcop.net>
11744
11745 * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
11746
11747 (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
11748 Add argument names.
11749
11750 (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
11751
f7154d49
JR
11752 * target.h (struct gcc_target) <secondary_reload>: Change type
11753 of last argument to secondary_reload_info *.
11754
f249b405
UB
117552010-01-18 Uros Bizjak <ubizjak@gmail.com>
11756
11757 PR target/42774
11758 * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
11759 memory references with unaligned offsets. Remove CQImode handling.
11760 (unaligned_memory_operand): Return 1 for memory references with
11761 unaligned offsets. Remove CQImode handling.
11762
e23817b3
RG
117632010-01-18 Richard Guenther <rguenther@suse.de>
11764
11765 PR middle-end/39954
11766 * cfgexpand.c (expand_call_stmt): TER pointer arguments in
11767 builtin calls.
11768
1cfd38be
RG
117692010-01-18 Richard Guenther <rguenther@suse.de>
11770
11771 PR tree-optimization/42781
11772 * tree-ssa-structalias.c (find_what_var_points_to): Skip
b5e33e04 11773 restrict processing only if the original variable was artificial.
1cfd38be 11774
72392b81
JR
117752010-01-18 Joern Rennecke <amylaar@spamcop.net>
11776
11777 * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
11778 find number of popped argument bytes.
11779
11780 (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
11781 Fix the text that describes the return value for invalid insns.
11782
11783 (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list.
11784
11785 (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
11786 Clarify what 'cost of the -dependence' is. Fix quoting.
11787
0678ade0
JR
11788 * toplev.c (default_get_pch_validity): Rename argument to "sz".
11789 * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
11790
e5165811
JJ
117912010-01-17 Jakub Jelinek <jakub@redhat.com>
11792
11793 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
11794 {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
11795
3b3f318a
RG
117962010-01-17 Richard Guenther <rguenther@suse.de>
11797
11798 PR middle-end/42248
11799 * function.c (split_complex_args): Take a VEC to modify.
11800 (assign_parms_augmented_arg_list): Build a VEC instead of
11801 a chain of PARM_DECLs.
11802 (assign_parms_unsplit_complex): Take a VEC of arguments.
11803 Do not fixup unmodified parms.
11804 (assign_parms): Deal with the VEC.
11805 (gimplify_parameters): Likewise.
11806
8eacd016
RG
118072010-01-17 Richard Guenther <rguenther@suse.de>
11808
11809 * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
11810 node existence check.
11811 * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
11812 * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
11813 * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
11814 * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
11815 (gimple_execute_on_growing_pred): Likewise.
11816
9adf0570
RG
118172010-01-17 Richard Guenther <rguenther@suse.de>
11818
11819 PR tree-optimization/42773
11820 * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
11821 (compute_antic_aux): Likewise.
11822 (compute_partial_antic_aux): Likewise.
11823
a90110c3
JZ
118242010-01-17 Jie Zhang <jie.zhang@analog.com>
11825
11826 PR debug/42767
11827 * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
11828 and US_TRUNCATE.
11829
914d25dc
JR
118302010-01-17 Joern Rennecke <amylaar@spamcop.net>
11831
11832 * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
11833 appearance.
11834
11835 (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
11836 Fix markup for strict argument.
11837
11838 (TARGET_SCHED_REORDER2): Fix argument types.
11839
11840 (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
11841 (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
11842
11843 (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
11844 (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
11845
11846 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
11847 Add argument name.
11848
11849 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
11850 (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
11851 (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
11852 (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
11853 (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
11854
11855 (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
11856
11857 (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
11858
11859 (TARGET_ASM_RELOC_RW_MASK): Add return type.
11860 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
11861
11862 (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
11863
11864 (TARGET_ASM_FILE_START): Put @findex before paragraph start.
11865 Use prototype.
11866
11867 (TARGET_ASM_NAMED_SECTION): Fix argument list.
11868
11869 (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
11870 (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
11871
11872 (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
11873
11874 (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
11875
11876 (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
11877 referring to it. Fix language.
11878
11879 (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
11880
11881 (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
11882
11883 (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
11884
11885 (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
11886
11887 (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
11888 '@var{stream}. Remove stray 'and'.
11889
11890 (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
11891
11892 (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
11893
11894 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
11895
31b21739 11896 (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
914d25dc
JR
11897 misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
11898
11899 (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
11900 Fix description of return value.
11901 Rename argument "sz" to "len."
11902
11903 (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
11904 Clarify meaning of 'true' return value.
11905
11906 (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
11907
11908 (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
11909 rep_mode versus mode_rep.
11910
11911 (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
11912
11913 (TARGET_BUILTIN_DECL): Fix name.
11914
11915 (TARGET_COMMUTATIVE_P): Fix type of first argument.
11916
11917 (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
11918
11919 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
11920
11921 (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
11922
11923 (TARGET_RELAXED_ORDERING): Use @deftypevr.
11924
11925 (TARGET_GET_DRAP_RTX): Note that this is a hook.
11926 Clarify language.
11927
5eb7ce91
JR
11928 (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
11929 Rename argument tm_fn to md_fn.
11930
d2143a2f
JR
11931 (TARGET_OPTION_PRINT): Fix argument list.
11932
8f7fd2da
HJ
119332010-01-16 Harsha Jagasia <harsha.jagasia@amd.com>
11934
11935 PR target/42664
11936 * config/i386/i386.c (ix86_fixup_binary_operands):
11937 Revert FMA4 fixup of operands.
11938
2fdb618d
RW
119392010-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11940
11941 PR gcc/42525
11942 * Makefile.in (write_entries_to_file, install-plugin):
11943 Use \012 instead of \n with tr.
11944
636cf8b1
RS
119452010-01-16 Richard Sandiford <r.sandiford@uk.ibm.com>
11946
11947 * configure.ac (HAVE_AS_REF): New C macro.
11948 * configure: Regenerate.
11949 * config.in: Likewise.
11950 * collect2.c (main): Only postpone SCAN_DWEH to the second pass
11951 if HAVE_AS_REF.
11952 * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
11953 if HAVE_AS_REF.
11954
b6fd8800
JR
119552010-01-16 Joern Rennecke <amylaar@spamcop.net>
11956
11957 * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
11958
11959 (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
11960
11961 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
11962
11963 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
11964
11965 (TARGET_IN_SMALL_DATA_P): Fix argument type.
11966
11967 (TARGET_BINDS_LOCAL_P): Fix argument type.
11968
11969 (TARGET_ASM_FILE_END): Use prototype.
11970
11971 (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
11972
11973 (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
11974
11975 (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
11976
11977 (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
11978
11979 (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
11980 (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
11981
11982 (TARGET_PCH_VALID_P): Put 'const char *' in braces.
11983 (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
11984
11985 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
11986 (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
11987 (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
11988 (TARGET_ADDR_SPACE_CONVERT): Likewise.
11989
11990 (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
11991
11992 (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
11993
11994 (TARGET_INIT_BUILTINS): Use prototype.
11995
11996 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
11997 Put 'const char *' in braces. Fix parameter types.
11998 (TARGET_INVALID_CONVERSION): Fix parameter types.
11999 (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
12000 (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
12001
12002 (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
12003 Fix argument type.
12004
12005 (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
12006
12007 (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
12008
9ddb66ef
JR
120092010-01-15 Joern Rennecke <amylaar@spamcop.net>
12010
12011 * doc/tm.texi (TARGET_HELP): Fix return type.
12012
12013 (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
12014 in braces. Fix argument types.
12015
12016 (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
12017
12018 (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
12019
12020 (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
12021
12022 (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
12023 (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
12024
12025 (TARGET_MANGLE_TYPE): Fix argument types.
12026
12027 (TARGET_IRA_COVER_CLASSES): Use prototype.
12028
12029 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype.
12030
12031 (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
12032
12033 (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
12034
12035 (TARGET_MUST_PASS_IN_STACK): Fix argument type.
12036
12037 (TARGET_CALLEE_COPIES): Fix argument types.
12038
12039 (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
12040
12041 (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
12042
12043 (TARGET_FUNCTION_VALUE): Fix argument types.
12044
12045 (TARGET_RETURN_IN_MSB): Fix argument type.
12046
12047 (TARGET_RETURN_IN_MEMORY): Fix argument types.
12048
12049 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
12050
12051 (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
12052
12053 (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
12054 agree with return type.
12055
12056 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
12057
4a62494d
JY
120582010-01-15 Jing Yu <jingyu@google.com>
12059
12060 PR rtl-optimization/42691
12061 * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
12062 a pseudo to a constant and are merged, and adjust comments.
12063
a1b5171b
EB
120642010-01-15 Eric Botcazou <ebotcazou@adacore.com>
12065
12066 * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
12067
1197e789
RG
120682010-01-15 Richard Guenther <rguenther@suse.de>
12069
12070 PR middle-end/42739
12071 * tree-cfgcleanup.c (remove_forwarder_block): Move destination
12072 labels of computed or non-local gotos to the destination.
12073 * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
12074 landing pad label is the first label.
12075
cbe80ff8
RG
120762010-01-15 Richard Guenther <rguenther@suse.de>
12077
12078 * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
12079
c919858d
MM
120802010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
12081
12082 PR target/42747
12083 * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
12084 to allow generation of the xssqrtdp instruction on power7.
12085 (sqrtdf2_fpr): Ditto.
12086
5b1cbe14
JJ
120872010-01-14 Jakub Jelinek <jakub@redhat.com>
12088
ef5d1181
JJ
12089 PR middle-end/42674
12090 * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
12091 functions with noreturn attribute.
12092
5b1cbe14
JJ
12093 PR c++/42608
12094 * varasm.c (declare_weak): Add weak attribute to decl if it
12095 doesn't have one already.
12096 (assemble_external): Only add decls to weak_decls if they also
12097 have weak attribute.
12098
7d2a8452
AO
120992010-01-14 Alexandre Oliva <aoliva@redhat.com>
12100
12101 * var-tracking.c (var_reg_delete): Don't delete the association
12102 between REGs and values or one-part variables if the register
12103 isn't clobbered.
12104
d17af147
JJ
121052010-01-14 Jakub Jelinek <jakub@redhat.com>
12106
12107 PR debug/42657
12108 * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
12109 because its first operand is a non-localized variable.
12110
2f3cdcf5
MJ
121112010-01-14 Martin Jambor <mjambor@suse.cz>
12112
12113 PR tree-optimization/42706
12114 * tree-sra.c (encountered_recursive_call): New variable.
12115 (encountered_unchangable_recursive_call): Likewise.
12116 (sra_initialize): Initialize both new variables.
12117 (callsite_has_enough_arguments_p): New function.
12118 (scan_function): Call decl and flags check only for IPA-SRA, check
12119 whether there is a recursive call and whether it has enough arguments.
12120 (all_callers_have_enough_arguments_p): New function.
12121 (convert_callers): Look for recursive calls only when
12122 encountered_recursive_call is set.
12123 (ipa_early_sra): Bail out either if
12124 !all_callers_have_enough_arguments_p or
12125 encountered_unchangable_recursive_call.
12126
c02e2d5c
AM
121272010-01-14 Alexander Monakov <amonakov@ispras.ru>
12128
12129 * sel-sched.c: Add 2010 to copyright years.
12130 * sel-sched-ir.c: Likewise.
12131 * sel-sched-ir.h: Likewise.
12132
92e97cdd
MJ
121332010-01-14 Martin Jambor <mjambor@suse.cz>
12134
12135 PR tree-optimization/42714
12136 * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
12137 constructors specially.
12138
a0463099
AK
121392010-01-14 Andi Kleen <ak@linux.intel.com>
12140
12141 * config/i386/drivers-i386.c (detect_caches_intel):
12142 Add l2sizekb parameter and fill in.
12143 (host_detect_local_cpu): Add l2sizekb, fill in.
12144 Add Atom small cache heuristic.
12145
121462010-01-14 Andi Kleen <ak@linux.intel.com>
12147
12148 * config/i386/drivers-i386.c (detect_caches_cpuid4):
12149 Add level3 parameter and fill in.
12150 (detect_caches_intel): Handle level3 cache.
12151
121522010-01-14 Andi Kleen <ak@linux.intel.com>
12153
12154 * config/i386/drivers-i386.c (host_detect_local_cpu):
12155 Fix core duo detection.
12156
121572010-01-14 Andi Kleen <ak@linux.intel.com>
12158
12159 * config/i386/drivers-i386.c (host_detect_local_cpu):
12160 Fix Atom detection.
12161
dd6739e3
AM
121622010-01-14 Alexander Monakov <amonakov@ispras.ru>
12163
12164 * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
12165 (rs6000_variable_issue_1): this. Use...
12166 (rs6000_variable_issue): here. Reimplement. Print debug info.
12167
7898b93b
AM
121682010-01-14 Alexander Monakov <amonakov@ispras.ru>
12169
a0463099
AK
12170 * sel-sched-ir.c (sel_restore_other_notes): Rename to
12171 sel_restore_notes. Update all callers. Call reemit_notes
12172 for all insns.
7898b93b 12173
65b659ff
AB
121742010-01-14 Andrey Belevantsev <abel@ispras.ru>
12175
12176 PR rtl-optimization/42246
12177 * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
12178 loops.
12179
c6486552
AB
121802010-01-14 Andrey Belevantsev <abel@ispras.ru>
12181
12182 * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
12183 all successors is the same as number of successors in current region.
12184
f07013eb
AM
121852010-01-14 Alexander Monakov <amonakov@ispras.ru>
12186
12187 * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
12188 to rename is not separable. Otherwise check that its LHS is not NULL.
12189
a9ced68b
AM
121902010-01-14 Alexander Monakov <amonakov@ispras.ru>
12191
12192 * sel-sched.c (choose_best_reg_1): Loop over all regs for mode.
12193
0c94f956
AM
121942010-01-14 Alexander Monakov <amonakov@ispras.ru>
12195
12196 * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
12197 available registers when failed to discover LHS register class.
12198 Fix indentation. Update comment.
12199
136e01a3
AB
122002010-01-14 Andrey Belevantsev <abel@ispras.ru>
12201 Alexander Monakov <amonakov@ispras.ru>
12202
12203 PR rtl-optimization/42389
12204 * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
12205 to can_issue_more.
12206 (advance_state_on_fence): Likewise.
12207 (sel_target_adjust_priority): Print debug output only when
12208 sched_verbose >= 4, not 2.
12209 (get_expr_cost): Do not issue all unique insns on the next cycle.
12210 (fill_insns): Initialize can_issue_more from the value saved
12211 with the fence.
12212 * sel-sched-ir.c (flist_add): New parameter issue_more.
12213 Init FENCE_ISSUE_MORE with it.
12214 (merge_fences): Likewise.
12215 (init_fences): Update call to flist_add.
12216 (add_to_fences, add_clean_fence_to_fences)
12217 (add_dirty_fence_to_fences): Likewise.
12218 (move_fence_to_fences): Update call to merge_fences.
12219 (invoke_reorder_hooks): Do not reset can_issue_more on insns from
12220 sched groups.
12221 * sel-sched-ir.h (struct _fence): New field issue_more.
12222 (FENCE_ISSUE_MORE): New accessor macro.
12223
762bffba
AB
122242010-01-14 Andrey Belevantsev <abel@ispras.ru>
12225
12226 PR rtl-optimization/42388
12227 * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
12228 that have no predecessors nor successors. Do not call move_bb_info
12229 for empty blocks outside of current region.
12230
14f30b87
AM
122312010-01-14 Alexander Monakov <amonakov@ispras.ru>
12232
12233 PR rtl-optimization/42294
12234 * sel-sched-ir.h (struct _sel_insn_data): Update comment.
12235 * sel-sched.c (move_exprs_to_boundary): Transitively add all
12236 originators' originators.
12237
8ec4d0ad
AM
122382010-01-14 Alexander Monakov <amonakov@ispras.ru>
12239
12240 PR rtl-optimization/39453
12241 PR rtl-optimization/42246
12242 * sel-sched-ir.c (considered_for_pipelining_p): Do not test
12243 for pipelining_p.
12244 (sel_add_loop_preheaders): Add preheader to last_added_blocks.
12245
b59ab570
AM
122462010-01-14 Andrey Belevantsev <abel@ispras.ru>
12247 Alexander Monakov <amonakov@ispras.ru>
12248
12249 PR middle-end/42245
12250 * sel-sched-ir.c (sel_recompute_toporder): New. Use it...
12251 (maybe_tidy_empty_bb): ... here. Make static. Add new
12252 argument. Update all callers.
12253 (tidy_control_flow): ... and here. Recompute topological order
12254 of basic blocks in region if necessary.
12255 (sel_redirect_edge_and_branch): Change return type. Return true
12256 if topological order might have been invalidated.
12257 (purge_empty_blocks): Export and move from...
12258 * sel-sched.c (purge_empty_blocks): ... here.
12259 * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
c02e2d5c 12260 (maybe_tidy_empty_bb): Delete prototype.
b59ab570
AM
12261 (purge_empty_blocks): Declare.
12262
0666ff4e
AB
122632010-01-14 Andrey Belevantsev <abel@ispras.ru>
12264
b59ab570 12265 PR rtl-optimization/42249
0666ff4e
AB
12266 * sel-sched.c (try_replace_dest_reg): When chosen register
12267 and original register is the same, do not bail out early, but
12268 still check all original insns for validity of replacing destination
12269 register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function
12270 in this case.
12271
5f8d5023
JJ
122722010-01-14 Jakub Jelinek <jakub@redhat.com>
12273
12274 PR c/42721
a0463099 12275 Port from no-undefined-overflow branch:
5f8d5023
JJ
12276 2009-03-09 Richard Guenther <rguenther@suse.de>
12277
a0463099 12278 * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
5f8d5023 12279
429c98c9
RG
122802010-01-14 Richard Guenther <rguenther@suse.de>
12281
12282 PR lto/42665
b5e33e04 12283 * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
429c98c9 12284
cd481d83
IR
122852010-01-14 Ira Rosen <irar@il.ibm.com>
12286
12287 PR tree-optimization/42709
12288 * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
12289 as scalar type in creation of constant vector operand.
12290
453897b4
RW
122912010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12292
12293 PR testsuite/42414
12294 * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
12295 (check-parallel-%): Match `testsuite' directory component only
12296 at the end.
12297
5bc69b92
SZ
122982010-01-14 Shujing Zhao <pearly.zhao@oracle.com>
12299
12300 PR translation/39521
12301 * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
12302 strings with _().
12303
5db959b6
RG
123042010-01-13 Richard Guenther <rguenther@suse.de>
12305
12306 PR tree-optimization/42730
12307 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
12308 offset zero.
12309
9540f5ef
SE
123102010-01-13 Steve Ellcey <sje@cup.hp.com>
12311
12312 PR target/pr42542
12313 * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
12314 for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
12315 them signed.
12316
84fb8ff5
BS
123172010-01-13 Bernd Schmidt <bernd.schmidt@analog.com>
12318
12319 * config/bfin/libgcc-bfin.ver: Regenerate based on current
12320 libgcc-std.ver. Add entries for ___smulsi3_highpart and
12321 ___umulsi3_highpart.
12322
6cca15ea
BS
12323 * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
12324 rather than schedule_insns if the pass is enabled.
12325
19656178
MJ
123262010-01-13 Martin Jambor <mjambor@suse.cz>
12327
12328 PR tree-optimization/42704
12329 * tree-sra.c (sra_modify_assign): Do not delete assignments to
12330 SSA_NAMEs.
12331
6dc93b16
MJ
123322010-01-13 Martin Jambor <mjambor@suse.cz>
12333
12334 PR tree-optimization/42703
12335 * tree-sra.c (analyze_access_subtree): Check that we can build a
12336 reference to the original data within the aggregate.
12337
1d21a8e5
RG
123382010-01-13 Richard Guenther <rguenther@suse.de>
12339
12340 PR tree-optimization/42705
b5e33e04 12341 * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
1d21a8e5 12342
48f30f62
RG
123432010-01-13 Richard Guenther <rguenther@suse.de>
12344
12345 PR middle-end/42716
12346 * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
12347
9e73c690
JJ
123482010-01-13 Jakub Jelinek <jakub@redhat.com>
12349
12350 PR debug/41371
12351 * var-tracking.c (values_to_unmark): New variable.
12352 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
12353 values_to_unmark vector. Moved body to...
12354 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
12355 instead queue it into values_to_unmark vector.
12356 (vt_find_locations): Free values_to_unmark vector.
12357
dc2f28c5
WG
123582010-01-13 Wolfgang Gellerich <gellerich@de.ibm.com>
12359
12360 * config/s390/s390.c (override_options): Set
12361 default of max-pending-list-length to 256
12362
688a482d
RG
123632010-01-13 Richard Guenther <rguenther@suse.de>
12364
12365 PR lto/42678
12366 * tree-pass.h (PROP_gimple_lcx): New.
12367 * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
12368 * passes.c (init_optimization_passes): Move pass_lower_complex_O0
12369 before the final cleanup_eh.
12370 (dump_properties): Dump PROP_gimple_lcx.
12371 * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
12372 (tree_lower_complex_O0): Remove.
12373 (gate_no_optimization): Run if PROP_gimple_lcx is not set.
12374 (pass_lower_complex_O0): Provide PROP_gimple_lcx. Run
12375 tree_lower_complex, schedule TODO_update_ssa.
12376 * lto-streamer-out.c (output_function): Stream the functions
12377 properties.
12378 * lto-streamer-in.c (input_function): Likewise.
12379 (lto_read_body): Do not override them here.
12380
e616f54d
JM
123812010-01-12 Joseph Myers <joseph@codesourcery.com>
12382
12383 PR c/42708
12384 * c-typeck.c (build_c_cast): Fold value cast to union type before
12385 wrapping it in a CONSTRUCTOR.
12386
b4ab701f
JJ
123872010-01-12 Jakub Jelinek <jakub@redhat.com>
12388
12389 PR rtl-optimization/42699
12390 * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
12391 involved.
12392
4dde664f
RO
123932010-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12394
12395 * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
12396 SUBTARGET_WARN_UNUSED_SPEC): Move ...
12397 config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
12398 SUBTARGET_WARN_UNUSED_SPEC): ... here
12399 * config/mips/iris5.h (LIBGCC_SPEC): Define.
12400
24fe19c3
JB
124012010-01-12 Julian Brown <julian@codesourcery.com>
12402
a0463099 12403 * config/arm/neon-schedgen.ml (Utils): Don't try to
24fe19c3 12404 open missing module.
a0463099 12405 (find_with_result): New.
24fe19c3 12406
082ab5ff
JJ
124072010-01-12 Jakub Jelinek <jakub@redhat.com>
12408
4942b76b
JJ
12409 PR debug/42662
12410 * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
12411 sharing when canonicalizing ({lt,ge}u (plus a b) b).
12412
082ab5ff
JJ
12413 PR tree-optimization/42645
12414 * tree-inline.c (processing_debug_stmt): Move earlier. Make static.
12415 (remap_ssa_name): If processing_debug_stmt and name wasn't found in
12416 decl_map, set processing_debug_stmt to -1 and return name without
12417 any remapping.
12418
977f7997
DK
124192010-01-11 Dave Korn <dave.korn.cygwin@gmail.com>
12420
12421 * doc/install.texi (Specific#x-x-cygwin): Document minimum required
12422 binutils version, and reword target configuration description.
12423
2685baa1
AH
124242010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
12425
a0463099 12426 * config/avr/avr.h (LINKER_NAME): Remove.
2685baa1 12427
3767f512
JJ
124282010-01-11 Janis Johnson <janis187@us.ibm.com>
12429
12430 PR target/42416
12431 * config/rs6000/rs6000.c (rs6000_override_options): On targets
12432 that support VSX, warn for -mno-altivec if vsx is not disabled,
12433 and disable vsx.
12434
f94e1d66
JM
124352010-01-11 Joseph Myers <joseph@codesourcery.com>
12436 Shujing Zhao <pearly.zhao@oracle.com>
a0463099 12437
f94e1d66
JM
12438 PR translation/42469
12439 * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
12440 fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
12441 character between option name and help text.
12442 * c.opt (imultilib): Likewise.
12443
06bfe1d0
RAE
124442010-01-10 Rafael Avila de Espindola <espindola@google.com>
12445
12446 * lto-streamer-out.c (output_unreferenced_globals): Output static
12447 variables.
12448
c21f33b6
SB
124492010-01-10 Steven Bosscher <steven@gcc.gnu.org>
12450
12451 PR rtl-optimization/42621
12452 * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
12453 optimizing for size.
12454 (duplicate_computed_gotos): Remove now-redundant check.
12455
30ce157e
SE
124562010-01-10 Steve Ellcey <sje@cup.hp.com>
12457
12458 PR target/37454
12459 * configure.ac: Save and restore LDFLAGS and LIBS
12460 * configure: Regenerate.
12461
ab996409
RG
124622010-01-10 Richard Guenther <rguenther@suse.de>
12463
12464 PR middle-end/42667
12465 * builtins.c (fold_builtin_strlen): Add type argument and
12466 convert the resulting length to it.
12467 (fold_builtin_1): Adjust.
12468
7234a615
JJ
124692010-01-09 Jakub Jelinek <jakub@redhat.com>
12470
12471 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
12472 sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
12473 1 insn.
12474 (num_insns_constant_wide): Adjust for that change.
12475
994ae26c
AO
124762010-01-09 Alexandre Oliva <aoliva@redhat.com>
12477
12478 PR debug/42631
12479 * web.c (union_defs): Add used argument, to combine uses of
12480 uninitialized regs.
12481 (entry_register): Adjust type and tests of used argument.
12482 (web_main): Widen used for new use. Pass it to union_defs.
12483 * df.h (union_defs): Adjust prototype.
12484
60c48e4c
AO
124852010-01-09 Alexandre Oliva <aoliva@redhat.com>
12486
12487 PR debug/42630
12488 * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
12489 uses in new incoming argument. Free body.
12490 (reset_debug_uses_in_loop): New.
12491 (analyze_insn_to_expand_var): Call the latter if the former found
12492 anything. Fix whitespace. Reject invalid dest overlaps before
12493 going through all insns in the loop.
12494
bb956f3e
AO
124952010-01-09 Alexandre Oliva <aoliva@redhat.com>
12496
12497 PR debug/42629
12498 * haifa-sched.c (dying_use_p): Debug insns don't count.
12499
5de8da9b
AO
125002010-01-09 Alexandre Oliva <aoliva@redhat.com>
12501
12502 PR middle-end/42363
12503 * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
12504 * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
12505 (verify_gimple_call): Reject LHS in noreturn calls.
12506
684f25f4
AO
125072010-01-09 Alexandre Oliva <aoliva@redhat.com>
12508
12509 PR debug/42604
12510 PR debug/42395
12511 * tree-vect-loop-manip.c (adjust_info): New type.
12512 (adjust_vec): New pointer to vector.
12513 (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
12514 (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
12515 (slpeel_update_phis_for_duplicate_loop): Use them.
12516 (slpeel_update_phi_nodes_for_guard1): Likewise.
12517 (slpeel_update_phi_nodes_for_guard2): Likewise.
12518 (slpeel_tree_peel_loop_to_edge): Likewise.
12519 (vect_update_ivs_after_vectorizer): Likewise.
12520
0e00563c
AO
125212010-01-09 Alexandre Oliva <aoliva@redhat.com>
12522
12523 * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
12524 (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
12525
0ce659eb
AO
125262010-01-09 Alexandre Oliva <aoliva@redhat.com>
12527
12528 * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
12529 bogus uninitialized warning.
12530
73c865fa
RG
125312010-01-09 Richard Guenther <rguenther@suse.de>
12532
12533 PR middle-end/42512
12534 * tree-scalar-evolution.c (interpret_loop_phi): Make sure
12535 the evolution is compatible with the initial condition.
12536
bd5c3aa5
JJ
125372010-01-09 Jakub Jelinek <jakub@redhat.com>
12538
12539 * gcc.c (process_command): Update copyright notice dates.
12540 * gcov.c (print_version): Likewise.
12541 * gcov-dump.c (print_version): Likewise.
12542 * mips-tfile.c (main): Likewise.
12543 * mips-tdump.c (main): Likewise.
12544
58f0ea2f
AH
125452010-01-08 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
12546
12547 PR target/41885
2685baa1 12548 * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
58f0ea2f
AH
12549 (rotlhi3): Delete.
12550 (rotlhi3_8): Delete.
12551 (rotlsi3): Delete.
12552 (rotlsi3_8): Delete.
12553 (rotlsi3_16): Delete.
12554 (rotlsi3_24): Delete.
12555 (rotl<mode>3): New.
12556 (*rotw<mode>3): New.
12557 (*rotb<mode>3): New.
2685baa1 12558 * config/avr/avr.c (avr_rotate_bytes): New function.
a0463099 12559 * config/avr/avr-proto.h (avr_rotate_bytes): New function.
58f0ea2f 12560
601fc26e
SE
125612010-01-08 Steve Ellcey <sje@cup.hp.com>
12562
12563 PR target/37454
12564 * configure.ac: Modify -rdynamic check.
12565 * configure: Regenerate.
12566
6a62ca52
DD
125672010-01-08 DJ Delorie <dj@redhat.com>
12568
12569 * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
12570 register popping order.
12571
c59449fa
RG
125722010-01-08 Richard Guenther <rguenther@suse.de>
12573
12574 PR lto/42528
12575 * c.opt (fsigned-char): Also let LTO handle this option.
12576 (funsigned-char): Likewise.
12577
f68a75df
RG
125782010-01-07 Richard Guenther <rguenther@suse.de>
12579
12580 * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
12581 (gimple_op): Likewise.
12582 (gimple_op_ptr): Likewise.
12583 (gimple_assign_set_lhs): Remove gcc_assert.
12584 (gimple_assign_set_rhs1): Likewise.
12585 (gimple_assign_set_rhs2): Likewise.
12586 (gimple_call_set_lhs): Likewise.
12587 (gimple_call_set_fn): Likewise.
12588 (gimple_call_set_fndecl): Likewise.
12589 (gimple_call_fndecl): Likewise.
12590 (gimple_call_return_type): Likewise.
12591 (gimple_call_set_chain): Likewise.
12592 (gimple_call_num_args): Likewise.
12593 (gimple_call_set_arg): Likewise.
12594 (gimple_cond_set_code): Likewise.
12595 (gimple_cond_set_lhs): Likewise.
12596 (gimple_cond_set_rhs): Likewise.
12597 (gimple_cond_set_true_label): Likewise.
12598 (gimple_cond_set_false_label): Likewise.
12599 (gimple_label_set_label): Likewise.
12600 (gimple_goto_set_dest): Likewise.
12601 (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
12602 (gimple_debug_bind_get_value): Likewise.
12603 (gimple_debug_bind_get_value_ptr): Likewise.
12604 (gimple_debug_bind_set_var): Likewise.
12605 (gimple_debug_bind_set_value): Likewise.
12606 (gimple_debug_bind_reset_value): Likewise.
12607 (gimple_debug_bind_has_value_p): Likewise.
12608 (gimple_return_retval_ptr): Remove gcc_assert.
12609 (gimple_return_retval): Likewise.
12610 (gimple_return_set_retval): Likewise.
12611 * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
12612 (safe_referenced_var_iterator): Remove.
12613 (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
12614 * tree-flow-inline.h (gimple_nonlocal_all): Remove.
12615 (fill_referenced_var_vec): Remove.
12616 (first_readonly_imm_use): Remove redundant gcc_assert.
12617 (phi_arg_index_from_use): Combine gcc_asserts.
12618 (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
12619 (first_imm_use_stmt): Remove redundant gcc_assert.
12620 * tree-cfg.c (verify_gimple_call): Verify function and chain
12621 operands. Verify arguments.
12622 (verify_types_in_gimple_stmt): Verify condition code and labels.
12623
617531d9
RG
126242010-01-07 Richard Guenther <rguenther@suse.de>
12625
12626 PR tree-optimization/42641
12627 * sese.c (rename_map_elt_info): Use the SSA name version, do
12628 not hash pointers.
12629
4139c7ef
JJ
126302010-01-07 Jakub Jelinek <jakub@redhat.com>
12631
12632 PR tree-optimization/42625
12633 * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
b5e33e04 12634 TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
4139c7ef 12635
01094033
DS
126362010-01-07 Duncan Sands <baldrick@free.fr>
12637
12638 * Makefile.in (PLUGIN_HEADERS): Add version.h.
12639
4b9ed9aa
UB
126402010-01-07 Uros Bizjak <ubizjak@gmail.com>
12641
12642 PR target/42511
12643 * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
12644 note itself is not function_invariant_p.
12645
f50f5566
SB
126462009-01-07 Steven Bosscher <steven@gcc.gnu.org>
12647
12648 * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
12649 Do not add the DF_NOTE problem.
12650 * store-motion.c (execute_rtl_store_motion): Likewise.
12651
d05fe940
MJ
126522010-01-07 Martin Jambor <mjambor@suse.cz>
12653
12654 PR tree-optimization/42157
12655 * tree-sra.c (compare_access_positions): Stabilize sort if both
12656 accesses have integer types, return zero immediately if they are the
12657 same.
12658
e67271bd
RH
126592010-01-06 Richard Henderson <rth@redhat.com>
12660
12661 PR middle-end/41883
12662 * haifa-sched.c (add_to_note_list): Merge into ...
12663 (concat_note_lists): ... here, and ...
12664 (unlink_other_notes, rm_other_notes): Merge into...
12665 (remove_notes): ... here. Create REG_SAVE_NOTEs for
a0463099 12666 NOTE_INSN_EPILOGUE_BEG.
e67271bd 12667
6209a13e
RG
126682010-01-06 Richard Guenther <rguenther@suse.de>
12669
12670 * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
12671 not inline regular functions into always-inline functions.
12672
5f75e477
NC
126732010-01-06 Nick Clifton <nickc@redhat.com>
12674
12675 * config/rx/rx.h (enum rx_cpu_type): Add RX200.
12676 (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
12677 used together.
12678 (OVERRIDE_OPTIONS): Delete.
12679 (OPTIMIZATION_OPTIONS): Define.
12680 (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
12681 * config/rx/rx.c (rx_handle_option): Issue an error message if
12682 -mcpu=rx200 and -fpu are used together.
12683 (rx_set_optimization_options): New function. Issue an error
12684 message if an optimization attribute attempts to reset the FPU/
12685 math optimization pairing.
12686 * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
12687 * config/rx/rx.opt: Set the default to 32-bit doubles.
12688 * config/rx/t-rx: Add multilibs for -nofpu option.
12689 * doc/invoke.texi: Update documentation of RX options.
12690
13de9095
RG
126912010-01-06 Richard Guenther <rguenther@suse.de>
12692
12693 * tree-ssa-pre.c (name_to_id): New global.
12694 (alloc_expression_id): Simplify SSA name handling.
12695 (lookup_expression_id): Likewise.
12696 (init_pre): Zero name_to_id.
12697 (fini_pre): Free it.
12698
786c3fbc
UB
126992010-01-06 Uros Bizjak <ubizjak@gmail.com>
12700
12701 * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
12702
fa1a4144
L
127032010-01-05 H.J. Lu <hongjiu.lu@intel.com>
12704
12705 PR target/42542
12706 * config/i386/sse.md (smaxv2di3): New.
12707 (umaxv2di3): Likewise.
12708 (sminv2di3): Likewise.
12709 (uminv2di3): Likewise.
12710
208384fd
EB
127112010-01-05 Eric Botcazou <ebotcazou@adacore.com>
12712
12713 PR target/42564
12714 * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
12715 * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
12716 (legitimize_tls_address): Likewise.
12717 (sparc_tls_referenced_p): Likewise.
12718 * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
12719 and adjust calls to legitimize_pic_address.
12720 (legitimate_constant_p) Use sparc_tls_referenced_p.
12721 (legitimate_pic_operand_p): Likewise.
12722 (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
12723 (sparc_tls_symbol_ref_1): Delete.
12724 (sparc_tls_referenced_p): Make static, recognize specific patterns.
12725 (legitimize_tls_address): Make static, handle CONST patterns.
12726 (legitimize_pic_address): Make static, remove unused parameter and
12727 adjust recursive calls.
12728 (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
12729 and adjust call to legitimize_pic_address.
12730 (sparc_output_mi_thunk): Likewise.
12731
4b9ed9aa 127322010-01-05 Paolo Bonzini <bonzini@gnu.rg>
43d4b97d
L
12733 H.J. Lu <hongjiu.lu@intel.com>
12734
12735 PR target/42542
12736 * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
12737 for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
12738 operands to make them signed.
12739
931c6b3e
UB
12740 Revert:
12741 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
12742
12743 PR target/42542
12744 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
12745 GTU to GT for V4SI and V2DI.
12746
12747 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
12748 (umin<mode>3): Removed.
12749 (uminv8hi3): New.
43d4b97d
L
12750 (uminv4si3): Likewise.
12751
9bf4cdf5
MJ
127522010-01-05 Martin Jambor <mjambor@suse.cz>
12753
12754 PR tree-optimization/42462
12755 * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
12756 current_function_decl to helper functions and macros.
12757
6a4d4e8a
RO
127582010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12759
12760 PR bootstrap/41771
12761 * flags.h: Don't include real.h.
12762 (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
12763 HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
12764 * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
12765 HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
12766 * dominance.c: Update copyright.
12767 * gimple.c (walk_gimple_op): Remove inline.
12768 * tree-ssa-reassoc.c: Include real.h.
12769 * Makefile.in (FLAGS_H): Remove $(REAL_H).
12770 (tree-ssa-reassoc.o): Depend on $(REAL_H).
12771
105249d1
NC
127722010-01-05 Nick Clifton <nickc@redhat.com>
12773
12774 * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
12775 register to push into the stack frame when the accumulator has to
12776 be saved during interrupts.
12777
bc3c12a2
EF
127782010-01-05 Eric Fisher <joefoxreal@gmail.com>
12779
12780 * doc/invoke.texi: Remove the documentation about option
12781 -Wunreachable-code.
12782 * common.opt (Wunreachable-code): Preserved for backward
12783 compatibility.
12784 * tree-cfg.c: Remove the implementation of -Wunreachable-code.
12785 * opts.c (common_handle_option): Add OPT_Wunreachable_code to
12786 the backward compatibility flag section.
12787
1befacc8
RG
127882010-01-05 Richard Guenther <rguenther@suse.de>
12789
12790 * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
12791
566f27e4
JJ
127922010-01-05 Jakub Jelinek <jakub@redhat.com>
12793
7604eb4e
JJ
12794 PR other/42611
12795 * cfgexpand.c (expand_one_var): Diagnose too large variables.
12796
566f27e4
JJ
12797 PR tree-optimization/42508
12798 * tree-sra.c (convert_callers): Check for recursive call
12799 by comparing cgraph nodes instead of decls.
12800 (modify_function): Call ipa_modify_formal_parameters also
12801 on all same_body aliases.
12802
12803 * cgraphunit.c (cgraph_materialize_all_clones): Compare
12804 cgraph nodes when checking for same_body aliases.
12805
5f5126d6
RG
128062010-01-05 Richard Guenther <rguenther@suse.de>
12807
12808 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
12809 allocation and lookup.
12810 (get_or_alloc_expr_for_constant): Likewise.
12811 (phi_translate): Sink allocation.
12812
a7d04a53
RG
128132010-01-04 Richard Guenther <rguenther@suse.de>
12814
12815 * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
12816 a new entry only if needed.
12817 * tree-ssa-dom.c (lookup_avail_expr): Likewise.
12818 * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
12819 hashtable lookup.
12820 * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
12821 the result array.
12822 (phi_translate): Handle CONSTANTs early.
12823
caee6ca1
MJ
128242010-01-04 Martin Jambor <mjambor@suse.cz>
12825
12826 PR tree-optimization/42398
12827 * tree-sra.c (struct access): Removed flag grp_different_types.
12828 (dump_access): Do not dump the removed flag.
12829 (sort_and_splice_var_accesses): Do not set the removed flag.
12830 (sra_modify_expr): Check for type compatibility directly.
12831
438789ff
MJ
128322010-01-04 Martin Jambor <mjambor@suse.cz>
12833
12834 PR tree-optimization/42366
12835 * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
12836 edges with variable number of parameters.
12837 * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
12838 flag instead of asserting it.
12839 (ipa_read_node_info): Read uses_analysis_done flag.
12840
9708c51d
RG
128412010-01-04 Richard Guenther <rguenther@suse.de>
12842
12843 * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
12844 iterative_hash_* as intended.
12845 (vn_reference_compute_hash): Likewise. Simplify hashing
12846 SSA names.
12847 (vn_reference_lookup_2): Likewise.
12848 (vn_nary_op_compute_hash): Likewise.
12849 (vn_phi_compute_hash): Likewise.
12850 (expressions_equal_p): Remove strange code.
12851 * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
12852 (pre_expr_hash): Likewise. Simplify hashing SSA names.
12853 (bitmap_insert_into_set_1): Take value-id as parameter.
12854 (add_to_value): Pass it.
12855 (bitmap_insert_into_set): Likewise.
12856 (bitmap_value_insert_into_set): Likewise. Remove redundant check.
12857
94b90527
JJ
128582010-01-04 Jakub Jelinek <jakub@redhat.com>
12859
12860 PR driver/42442
12861 * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
12862 (do_self_spec): For switches with SWITCH_IGNORE set set also
12863 SWITCH_IGNORE_PERMANENTLY.
12864 (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
12865 of SWITCH_IGNORE.
12866
785ca514
RAE
128672010-01-04 Rafael Avila de Espindola <espindola@google.com>
12868
12869 * lto-streamer-out.c (output_unreferenced_globals): Output the full
12870 tree of an unreferenced global var.
12871
22554cf9
L
128722010-01-04 H.J. Lu <hongjiu.lu@intel.com>
12873
12874 PR target/42542
12875 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
12876 GTU to GT for V4SI and V2DI.
12877
12878 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
12879 (umin<mode>3): Removed.
12880 (uminv8hi3): New.
12881 (uminv4si3): Likewise.
12882
7152f51e
L
128832010-01-04 H.J. Lu <hongjiu.lu@intel.com>
12884
12885 PR lto/42581
12886 * collect2.c (main): Turn on trace in collect2 if -v is passed
12887 to gcc with LTO.
12888
f4262155
JQ
128892010-01-03 Jerry Quinn <jlquinn@optonline.net>
12890
12891 * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update
12892 description of expression operand.
12893
55bcd32b
AJ
128942010-01-03 Andrew Jenner <andrew@codesourcery.com>
12895
12896 * configure.ac: Add install-html to target_list for Make-hooks.
12897 * configure: Regenerate.
12898 * fortran/Make-lang.in (F95_HTMLFILES): New.
12899 (fortran.html): Use it.
12900 (fortran.install-html): New.
12901 * Makefile.in (install-html): Add lang.install-html.
12902 * java/Make-lang.in (JAVA_HTMLFILES): New.
12903 (java.html): Use it.
12904 (java.install-html): New.
12905 * objc/Make-lang.in (objc.install-html): New.
12906 * objcp/Make-lang.in (obj-c++.install-html): New.
12907 * cp/Make-lang.in (c++.install-html): New.
12908 * ada/gcc-interface/Make-lang.in (ada.install-html): New.
12909 * lto/Make-lang.in (lto.install-html): New.
12910
f0d61983
L
129112010-01-03 H.J. Lu <hongjiu.lu@intel.com>
12912
12913 PR lto/42520
12914 * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
12915
2ad1dda0
SB
129162009-01-03 Steven Bosscher <steven@gcc.gnu.org>
12917
12918 PR rtl-optimization/41862
12919 * store-motion.c (store_killed_in_insn, compute_store_table,
12920 remove_reachable_equiv_notes, replace_store_insn,
12921 build_store_vectors): Ignore all DEBUG_INSNs.
12922
d7fb0a6d
L
129232010-01-03 H.J. Lu <hongjiu.lu@intel.com>
12924
12925 PR lto/41564
12926 * common.opt: Add dumpdir.
12927
12928 * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
12929 isn't specified.
12930 (option_map): Add --dumpdir.
12931
12932 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
12933
12934 * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
12935
12936 * opts.c (decode_options): Try dump_dir_name first if
12937 dump_base_name isn't an absolute path.
12938 (common_handle_option): Handle OPT_dumpdir.
12939
12940 * toplev.c (dump_dir_name): New.
12941 (print_switch_values): Also ignore -dumpdir.
12942
12943 * toplev.h (dump_dir_name): New.
12944
ba1ee228
RG
129452010-01-03 Richard Guenther <rguenther@suse.de>
12946
12947 PR tree-optimization/42589
12948 * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
12949 double-word expansion of bswap32.
12950
b0de17ef
SB
129512010-01-03 Steven Bosscher <steven@gcc.gnu.org>
12952
12953 * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
12954 with BLOCK_FOR_INSN.
12955 * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
12956 * ifcvt.c (noce_get_alt_condition, noce_try_abs,
12957 noce_process_if_block): Likewise.
12958 * gcse.c (compute_local_properties, insert_expr_in_table,
12959 insert_set_in_table, canon_list_insert, find_avail_set,
12960 pre_insert_copy_insn): Likewise.
12961
12962 * basic-block.h (BLOCK_NUM): Move from here...
12963 * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
12964
a19eb9d2
RG
129652010-01-03 Richard Guenther <rguenther@suse.de>
12966
12967 PR tree-optimization/42438
12968 * tree-ssa-pre.c (struct bb_bitmap_sets): Add
12969 contains_may_not_return_call flag.
12970 (BB_MAY_NOTRETURN): New.
12971 (valid_in_sets): Trapping nary operations are not valid
12972 in blocks that may not return.
b5e33e04 12973 (insert_into_preds_of_block): Remove check for trapping expressions.
a19eb9d2
RG
12974 (compute_avail): Compute also BB_MAY_NOTRETURN.
12975
c41b7b13
GP
129762010-01-03 Gerald Pfeifer <gerald@pfeifer.com>
12977
12978 * doc/invoke.texi: Add 2010 to copyright years.
12979
4900aa61
EB
129802010-01-03 Eric Botcazou <ebotcazou@adacore.com>
12981
12982 * config/sparc/sparc.c: Fix formatting nits.
12983
711a778c 129842010-01-02 Gerald Pfeifer <gerald@pfeifer.com>
77102854 12985 Alexander Monakov <amonakov@ispras.ru>
711a778c
GP
12986
12987 * doc/invoke.texi (Optimize Options): Reword introduction a bit.
12988
1d86f5e9
RG
129892010-01-02 Richard Guenther <rguenther@suse.de>
12990
12991 PR middle-end/42577
12992 * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
12993 (simplify_switch_using_ranges): Mark to be removed edges
12994 as non-executable.
12995
91e1a80a
JDA
129962010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12997
b86799ba
JDA
12998 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
12999
91e1a80a
JDA
13000 * collect2.c (scan_libraries): Add missing argument in call to
13001 scan_prog_file.
13002
130032010-01-02 Uros Bizjak <ubizjak@gmail.com>
13004
13005 PR target/42448
13006 * config/alpha/predicates.md (aligned_memory_operand): Return false
13007 for CQImode.
13008 (unaligned_memory_operand): Return true for CQImode.
13009 * config/alpha/alpha.c (get_aligned_mem): Assert that location
13010 doesn not cross aligned SImode word boundary.
13011
130122010-01-02 Anatoly Sokolov <aesok@post.ru>
13013
13014 * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
13015 Remove.
13016 * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
13017 avr_change_section, avr_reg_class_from_letter) : Remove declaration.
13018
130192010-01-02 Richard Guenther <rguenther@suse.de>
13020
13021 PR lto/41597
13022 * toplev.c (compile_file): Emit LTO marker properly. Change
13023 it to __gnu_lto_v1.
13024 * collect2.c (scan_prog_file): Adjust for changed LTO marker.
5a013dc4 13025
aecd4d81
RG
130262010-01-01 Richard Guenther <rguenther@suse.de>
13027
13028 PR debug/42455
02143d0b 13029 * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
aecd4d81 13030
e4a95933
RG
130312010-01-01 Richard Guenther <rguenther@suse.de>
13032
13033 PR c/42570
13034 * c-decl.c (grokdeclarator): For zero-size arrays force
13035 structural equality checks as layout_type does.
13036
0bdf1263
L
130372010-01-01 H.J. Lu <hongjiu.lu@intel.com>
13038
13039 * builtins.c: Update copyright to 2010.
13040
91539475 130412010-01-01 H.J. Lu <hongjiu.lu@intel.com>
8589115b
DK
13042
13043 PR lto/42531
91539475 13044 * lto-streamer-out.c (produce_asm): Revert the last change.
8589115b
DK
13045 (copy_function): Likewise.
13046
91539475
L
13047 * lto-streamer.c (lto_get_section_name): Skip any leading
13048 asterisk in name.
20cdc2be 13049
91539475 130502010-01-01 Richard Guenther <rguenther@suse.de>
cf9eb565 13051
91539475
L
13052 PR middle-end/42559
13053 * builtins.c (get_object_alignment): Do not use DECL_ALIGN
13054 for LABEL_DECLs.
ad41bd84
JM
13055
13056\f
91539475 13057Copyright (C) 2010 Free Software Foundation, Inc.
ad41bd84
JM
13058
13059Copying and distribution of this file, with or without modification,
13060are permitted in any medium without royalty provided the copyright
13061notice and this notice are preserved.