]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
Revert "Fix PR debug/49047"
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
2e87621c
RG
12011-05-31 Richard Guenther <rguenther@suse.de>
2
3 * tree-ssa-forwprop.c (forward_propagate_into_comparison): Rename
4 to ...
5 (forward_propagate_into_comparison_1): ... this.
6 (forward_propagate_comparison): Rename to ...
7 (forward_propagate_into_comparison): ... this. Split out
8 real forward propagation code to ...
9 (forward_propagate_comparison): ... this.
10 (forward_propagate_into_gimple_cond): Remove looping.
11 (forward_propagate_into_cond): Likewise.
12 (simplify_not_neg_expr): Return whether we have done something.
13 (simplify_gimple_switch): Likewise.
14 (tree_ssa_forward_propagate_single_use_vars): Rename to ...
15 (ssa_forward_propagate_and_combine): ... this. Re-structure
16 to do a forward forward-propagation walk on BBs and a backward
17 stmt combining walk on BBs. Consistently re-scan changed
18 statements.
19 (pass_forwprop): Adjust.
20
5a880d5d
ILT
212011-05-30 Ian Lance Taylor <iant@google.com>
22
23 * godump.c (go_format_type): Correct length of name added to
24 obstack for anonymous field.
25
5f133038
KK
262011-05-30 Kaz Kojima <kkojima@gcc.gnu.org>
27
28 PR target/49186
29 * config/sh/sh.c (expand_cbranchdi4): Set msw_skip when the high
30 part of the second operand is 0.
31
b17d5426
UB
322011-05-30 Uros Bizjak <ubizjak@gmail.com>
33
34 * config/i386/i386.md (*movxf_internal): Penalize FYx*r->o alternative
35 to prevent partial memory stalls. Do not move CONST_DOUBLEs directly
36 to memory for !TARGET_MEMORY_MISMATCH_STALL.
37 (*movdf_internal_rex64): Do not penalize F->r alternative.
38 (*movdf_internal): Penalize FYd*r->o alternative to prevent partial
39 memory stalls. Generate SSE and x87 CONST_DOUBLE immediates only
40 when optimizing function for size. Do not move CONST_DOUBLEs
41 directly to memory for !TARGET_MEMORY_MISMATCH_STALL.
42 (FP move splitters): Merge {TF,XF,DF}mode move splitters. Do not
43 handle SUBREGs. Do not check for MEM_P operands in the insn condition,
44 check for ANY_FP_REGNO_P instead.
45 * config/i386/constraints.md (Yd): Enable GENERAL_REGS for
46 TARGET_64BIT and for TARGET_INTEGER_DFMODE_MOVES when optimizing
47 function for speed.
48 * config/i386/i386.c (ix86_option_override_internal): Do not
49 set TARGET_INTEGER_DFMODE_MOVES here.
50
a0cd843f
L
512011-05-30 H.J. Lu <hongjiu.lu@intel.com>
52
53 PR target/49168
54 * config/i386/i386.md (*movtf_internal): Handle misaligned
55 load/store.
56
006a5f38
JJ
572011-05-30 Jakub Jelinek <jakub@redhat.com>
58
59 * dwarf2out.c (modified_type_die, gen_reference_type_die): Use
60 DW_TAG_rvalue_reference_type even for
61 -gdwarf-4 -fno-debug-types-section.
62
6e96f98a
BS
632011-05-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
64
65 PR tree-optimization/46728
66 * tree-ssa-math-opts.c (build_and_insert_call): Reorder parms.
67 (build_and_insert_binop): New.
68 (gimple_expand_builtin_pow): Reorder args for
69 build_and_insert_call; use build_and_insert_binop; add more
70 optimizations for fractional exponents.
b17d5426 71
4f60111f
NF
722011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
73
74 PR bootstrap/49190
75
76 Revert:
77 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
78
79 * tree.h (struct tree_identifier): Inherit from tree_typed, not
80 tree_common.
81 (HT_IDENT_TO_GCC_IDENT): Adjust for said change.
82 * tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
83 TS_BASE instead of TS_COMMON.
84 * varasm.c (assemble_name): Remove assert.
85
3fd7879d
RS
862011-05-30 Richard Sandiford <rdsandiford@googlemail.com>
87
88 * config.gcc: Keep obselete list sorted.
89
80060f7a
JJ
902011-05-30 Jakub Jelinek <jakub@redhat.com>
91 Eric Botcazou <ebotcazou@adacore.com>
92
93 * var-tracking.c (vt_add_function_parameter): Remap incoming MEMs with
94 crtl->args.internal_arg_pointer based address to arg_pointer_rtx if
95 there is a DRAP register and arg_pointer_rtx is the CFA pointer.
96 (vt_init_cfa_base): Don't equate cfa_base_rtx if stack was realigned.
97 (vt_initialize): Initialize cfa_base_rtx if there is a DRAP register.
98
17e99cdb
RG
992011-05-30 Richard Guenther <rguenther@suse.de>
100
101 * gimple.c (gimple_types_compatible_p_1): Compare record
102 and union type members properly.
103
42b05b6e
RG
1042011-05-30 Richard Guenther <rguenther@suse.de>
105
106 PR tree-optimization/49210
107 * ipa-split.c (split_function): Care for the case where the
108 call result is not trivially convertible to the result holding
109 variable.
110
f3321158
RG
1112011-05-30 Richard Guenther <rguenther@suse.de>
112
113 PR tree-optimization/49218
114 * tree-vrp.c (adjust_range_with_scev): Properly check whether
115 overflow occured.
116
d12d8efe
RG
1172011-05-30 Richard Guenther <rguenther@suse.de>
118
119 * tree-ssa-forwprop.c (forward_propagate_into_comparison):
120 New function split out from ...
121 (forward_propagate_into_gimple_cond): ... here. Adjust.
122 (forward_propagate_into_cond): Likewise.
123 (forward_propagate_comparison): Also propagate into
124 comparisons on assignment RHS. Change return value to
125 behave similar to forward_propagate_into_cond.
126 (tree_ssa_forward_propagate_single_use_vars): Handle
127 strict-overflow warnings properly for forward_propagate_comparison.
128
df33b41f
RO
1292011-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
130
131 * configure.ac (gcc_cv_lto_plugin): Determine lto plugin support
132 from plugin linker.
133 * configure: Regenerate.
134
69940d4d
IR
1352011-05-30 Ira Rosen <ira.rosen@linaro.org>
136
137 PR tree-optimization/49199
138 * tree-vect-loop.c (vect_is_slp_reduction): Check that the
b17d5426 139 non-reduction operands are either defined in the loop or by induction.
69940d4d 140
226c52aa
XDL
1412011-05-29 Xinliang David Li <davidxl@google.com>
142
143 * opts-global.c (handle_common_deferred_options): Handle new options.
144 * passes.c (register_one_dump_file): Call register_pass_name.
145 (execute_one_pass): Check explicit enable/disable flag.
146 (passr_hash): New function.
147 (passr_eq): Ditto.
148 (register_pass_name): Ditto.
149 (get_pass_by_name): Ditto.
150 (pass_hash): Ditto.
151 (pass_eq): Ditto.
152 (enable_pass): Ditto.
153 (disable_pass): Ditto.
154 (is_pass_explicitly_enabled_or_disabled): Ditto.
155
491d8eed
UB
1562011-05-29 Uros Bizjak <ubizjak@gmail.com>
157
158 * config/i386/i386.md (*movoi_internal_avx): Use
159 standard_sse_constant_opcode for alternative 0.
160 (*movti_internal_sse): Ditto.
161 (*movti_internal_rex64): Use standard_sse_constant_opcode for
162 alternative 2.
163 (*movdi_internal_rex64): Use standard_sse_constant_opcode for
164 sselog1 type moves.
165 (*movsi_internal): Ditto.
166 (*movdi_internal): Ditto. Add ssecvt type moves.
167
eb93b31f
EB
1682011-05-29 Eric Botcazou <ebotcazou@adacore.com>
169
170 PR target/48830
171 * rtlanal.c (simplify_subreg_regno): Adjust comment.
172
3f831b7d
JJ
1732011-05-29 Jakub Jelinek <jakub@redhat.com>
174
175 PR rtl-optimization/49095
176 * config/i386/predicates.md (plusminuslogic_operator): New predicate.
177 * config/i386/i386.md: Add peepholes for mem {+,-,&,|,^}= x; mem != 0.
178
ee3ee488
RS
1792011-05-29 Richard Sandiford <rdsandiford@googlemail.com>
180
181 PR target/43995
182 * config/mips/mips.c (mips_pic_call_symbol_from_set): Add a
183 recurse_p argument. Only follow register copies if it is set,
184 and prevent mips_find_pic_call_symbol from recursing.
185 (mips_find_pic_call_symbol): Add a recurse_p argument.
186 Pass it to mips_pic_call_symbol_from_set.
187 (mips_annotate_pic_calls): Update accordingly.
188
65f3dedb
RS
1892011-05-29 Richard Sandiford <rdsandiford@googlemail.com>
190
191 * emit-rtl.c (try_split): Use a loop to search for
192 NOTE_INSN_CALL_ARG_LOCATIONs.
193
61e374ab
RG
1942011-05-29 Richard Guenther <rguenther@suse.de>
195
196 PR tree-optimization/49217
197 * ipa-pure-const.c (propagate_pure_const): Fix typos.
198
fac009a8
JH
1992011-05-28 Jan Hubicka <jh@suse.cz>
200
201 * lto-streamer-out.c (hash_string_slot_node): Hash string based on its
202 length.
203 (string_slot_free): Remove
204 (create_output_block): Initialize obstack.
205 (destroy_output_block): Free obstack.
206 (lto_string_index): Add PERSISTENT parameter; do not duplicate
207 the string unless it needs to be added into the hash.
208 (lto_output_string_with_length): Add persistent attribute;
209 handle NULL strings.
210 (lto_output_string): Add PERSISTENT parameter.
211 (output_string_cst, output_identifier): Simplify.
212 (lto_output_location_bitpack): Update.
213 (lto_output_builtin_tree): Update.
214 * lto-streamer.h (struct output_block): Add obstack.
491d8eed
UB
215 (lto_output_string, lto_output_string_with_length): Remove
216 declarations; functions are static now.
fac009a8 217
fa766006
JH
2182011-05-28 Jan Hubicka <jh@suse.cz>
219
220 * lto-streamer-out.c (pack_ts_fixed_cst_value_fields,
221 pack_ts_decl_common_value_fields, pack_ts_decl_with_vis_value_fields,
222 pack_ts_function_decl_value_fields, lto_output_builtin_tree,
223 output_cfg, output_gimple_stmt): Use enum and variable length i/o.
224 * lto-streamer-in.c (input_cfg, input_gimple_stmt,
225 unpack_ts_fixed_cst_value_fields, unpack_ts_decl_common_value_fields,
226 unpack_ts_decl_with_vis_value_fields,
227 unpack_ts_type_common_value_fields, unpack_ts_block_value_fields,
228 lto_get_builtin_tree): Use enum and variable length i/o.
229 * basic-block.h (profile_status_d): Add PROFILE_LAST.
230 * lto-streamer.h (bp_pack_int_in_range, bp_unpack_int_in_range):
231 New functions.
232 (bp_pack_enum, bp_unpack_enum): New macros.
233
e092158b
RS
2342011-05-28 Richard Sandiford <rdsandiford@googlemail.com>
235
236 * genrecog.c: Remove redundant forward declarations.
237
7ca2afa0
RS
2382011-05-28 Richard Sandiford <rdsandiford@googlemail.com>
239
240 * config.gcc: Deprecate mips*-*-openbsd*.
241
a601a53a
RS
2422011-05-28 Richard Sandiford <rdsandiford@googlemail.com>
243
244 PR bootstrap/49195
245 * genrecog.c (add_to_sequence): Use XEXP rather than XVECEXP
246 for match_op_dup.
247
fc64b448
AP
2482011-05-27 Andrew Pinski <pinskia@gmail.com>
249
250 PR middle-end/48981
251 * gengtype.c (vec_prefix_type): New function.
252 (note_def_vec): Use vec_prefix_type and change the length
253 attribute to be based on the prefix.
254 * vec.c: Include coretypes.h before vec.h.
255 (struct vec_prefix): Remove.
256 (vec_gc_p_reserve): Change the offsetof to sizeof.
257 (vec_gc_p_reserve_exact): Likewise.
258 (vec_heap_p_reserve): Likewise.
259 (vec_heap_p_reserve_exact): Likewise.
260 (vec_stack_o_reserve_1): Copy from +1 instead of from vec.
261 (vec_stack_p_reserve): Change the offsetof to sizeof.
262 (vec_stack_p_reserve_exact): Likewise.
263 * vec.h (struct vec_prefix): New struct definition.
264 (VEC_T(T,B)): Use vec_prefix instead of having num/alloc fields.
265 (VEC_T_GTY(T,B)): Likewise.
266 (DEF_VEC_FUNC_P(T)): Use prefix field.
267 (DEF_VEC_NONALLOC_FUNCS_O(T,A)): Likewise.
268 (DEF_VEC_NONALLOC_FUNCS_I(T,A)): Likewise.
269
ba869341
BS
2702011-05-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
271
272 PR tree-optimization/46728
273 * tree-ssa-math-opts.c (powi_as_mults_1): Add gimple_set_location.
274 (powi_as_mults): Add gimple_set_location.
275 (build_and_insert_call): New.
276 (gimple_expand_builtin_pow): Add handling for pow(x,y) when y is
277 0.5, 0.25, 0.75, 1./3., or 1./6.
491d8eed 278
d296760d
AM
2792011-05-27 Alexander Monakov <amonakov@ispras.ru>
280
281 * doc/contrib.texi: Update copyright years.
282 (Contributors): Add Zdenek Sojka.
283
38e01f9e
NF
2842011-05-27 Nathan Froyd <froydnj@codesourcery.com>
285
286 * c-decl.c (c_push_function_context): Copy the current statement
287 list stack.
288 (add_stmt): Check building_stmt_list_p and push_stmt if necessary.
289 (finish_struct): Call building_stmt_list_p instead of checking
290 cur_stmt_list.
291 * c-parser.c (c_parser_postfix_expression): Likewise.
292 * c-typeck.c (c_end_compound_stmt): Likewise.
293 * print-tree.c (print_node) [STATEMENT_LIST]: Don't print TREE_CHAIN.
294 * tree-iterator.c (stmt_list_cache): Change to a VEC.
295 (alloc_stmt_list): Adjust for stmt_list_cache's new type.
296 (free_stmt_list): Likewise.
297 * tree.h (struct tree_statement_list): Include typed_tree instead
298 of tree_common.
299 * tree.c (initialize_tree_contains_struct): Mark TS_STATEMENT_LIST
300 as TS_TYPED instead of TS_COMMON.
301
8950516e
RO
3022011-05-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
303 Uros Bizjak <ubizjak@gmail.com>
304
305 * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check for @tlsgdplt
306 (HAVE_AS_IX86_TLSGDPTL): Define.
307 (gcc_cv_as_ix86_tlsldmplt): Check for @tlsldmplt.
308 (HAVE_AS_IX86_TLSLDMPLT): Define.
309 * configure: Regenerate.
310 * config.in: Regenerate.
311 * config/i386/i386.c (ix86_print_operand): Handle code 'p'.
312 * config/i386/i386.md (*tls_global_dynamic_32_gnu): If
313 TARGET_SUN_TLS, use @tlsgdplt or @plt.
314 (*tls_global_dynamic_64): Use @plt if TARGET_SUN_TLS.
315 (*tls_local_dynamic_base_32_gnu): If TARGET_SUN_TLS, use
316 @tlsldmplt or @plt.
317 (*tls_local_dynamic_base_64): Use @plt if TARGET_SUN_TLS.
318
b0bd15f7
BS
3192011-05-27 Bernd Schmidt <bernds@codesourcery.com>
320
321 * sched-int.h (struct _haifa_deps_insn_data): New members cond
322 and reverse_cond.
323 (INSN_COND, INSN_REVERSE_COND): New macros.
324 * sched-deps.c (deps_analyze_insn): Call sched_get_condition_with_rev
325 once.
326 (sched_get_condition_with_rev): Cache the results, and look them up
327 if possible.
328 (sched_analyze_insn): Destroy INSN_COND of previous insns if they
329 are clobbered by the current insn.
330 * target.def (exposed_pipline): New sched data hook.
331 * doc/tm.texi.in: TARGET_SCHED_EXPOSED_PIPELINE: Add hook.
332 * doc/tm.texi: Regenerate.
333
fa65a9cf
BS
3342011-05-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
335
336 PR tree-optimization/49170
337 * tree-ssa-math-opts.c (execute_cse_sincos): Add checks for
338 sincos or cexp.
b0bd15f7 339
c2299dfe
RG
3402011-05-27 Richard Guenther <rguenther@suse.de>
341
342 PR middle-end/49189
343 * fold-const.c (fold_unary_loc): Do not re-fold folding conversions
344 of comparisons.
345
a95b23b4
BS
3462011-05-27 Bernd Schmidt <bernds@codesourcery.com>
347
348 * haifa-sched.c (sched_scan_info): Remove.
349 (schedule_block): Call sched_extend_luids rather than sched_init_luids
350 with NULL args.
351 (extend_bb, init_bb, extend_insn, init_insn, init_insns_in_bb):
352 Remove functions.
353 (sched_scan): Remove.
354 (sched_extend_luids): Renamed from luids_extend_insn and no longer
355 static. All callers changed.
356 (sched_init_insn_luid): Renamed from luids_init_insn and no longer
357 static. All callers changed.
358 (sched_init_luids): Remove all arguments except the first. All
359 callers changed. Don't use sched_scan.
360 (haifa_init_h_i_d): Likewise.
361 (haifa_init_insn): Call sched_extend_luids and sched_init_insn_luid
362 manually rather than using sched_init_luids. Likewise with
363 extend_h_i_d, init_h_i_d and haifa_init_h_i_d.
364 * sel-sched.c (sel_region_target_finish): Call sched_extend_luids
365 rather than sched_init_luids with NULL args.
366 * sel-sched-ir.c (new_insns): Remove variable.
367 (sched_scan): New static function, previously in haifa-sched.c. Remove
368 all arguments but the first two; all callers changed.
369 (sel_init_new_insn): Call sched_extend_luids and sched_init_insn_luid
370 rather than sched_init_luids.
371 (sel_init_bbs): Remove second argument. All callers changed.
372 (sel_add_bb): Call sched_extend_luids rather than sched_init_luids
373 with NULL arguments.
374 (create_insn_rtx_from_pattern): Likewise.
375 * sel-sched-ir.h (sel_init_bbs): Adjust declaration.
376 * sched-int.h (sched_init_luids, haifa_init_h_i_d): Likewise.
377 (sched_init_insn_luid, sched_extend_luids): Declare.
378 (sched_scan_info_def, sched_scan_info, sched_scan): Remove
379 declarations.
380
f8f972fc
RB
3812011-05-27 Richard Guenther <rguenther@suse.de>
382
383 PR middle-end/49177
384 * fold-const.c (fold_unary_loc): Fold (T)(A CMP B) to
385 A CMP B ? (T) true : (T) false for non-integral types T again.
386
51a9ed47
JH
3872011-05-27 Jan Hubicka <jh@suse.cz>
388
389 * lto-streamer-out.c (lto_string_index): break out from...; offset by 1
390 so 0 means NULL string.
391 (lto_output_string_with_length): ... here.
f8f972fc
RB
392 (lto_output_string, output_string_cst, output_identifier): Update
393 handling of NULL strings.
51a9ed47
JH
394 (lto_output_location_bitpack): New function.
395 (lto_output_location): Use it.
396 (lto_output_tree_ref): Use output_record_start.
f8f972fc
RB
397 (pack_ts_type_common_value_fields): Pack aliagn & alias set in var
398 len values.
399 * lto-streamer-in.c (string_for_index): Break out from ...; offset
400 values by 1.
491d8eed 401 (input_string_internal): ... here;
f8f972fc
RB
402 (input_string_cst, input_identifier, lto_input_string): Update handling
403 of NULL strings.
51a9ed47
JH
404 (lto_input_location_bitpack): New function
405 (lto_input_location): Use it.
f8f972fc
RB
406 (unpack_ts_type_common_value_fields): Pack align & alias in var len
407 values.
51a9ed47
JH
408 * lto-streamer.h (bp_pack_val_len_unsigned, bp_pack_val_len_int,
409 bp_unpack_val_len_unsigned, bp_unpack_val_len_int): Declare.
410 (bp_pack_value): Sanity check the value range.
411 * lto-section-in.c (bp_unpack_val_len_unsigned, bp_unpack_val_len_int):
412 New functions.
413 * lto-section-out.h (bp_pack_val_len_unsigned, bp_pack_val_len_int):
414 New functions.
415
dc38fc2e
HS
4162011-05-27 Hariharan Sandanagobalane <hariharan@picochip.com>
417
418 * config/picochip/picochip.c (reorder_var_tracking_notes): Drop
419 call_arg_location instructions down the floor.
420
574e418a
VM
4212011-05-26 Vladimir Makarov <vmakarov@redhat.com>
422
423 PR rtl-optimization/49154
424 * ira.c (setup_pressure_classes): Process class without sublcasses
425 as a candidate for pressure classes.
426
6a1a787e
RS
4272011-05-26 Richard Sandiford <rdsandiford@googlemail.com>
428
429 PR rtl-optimization/48575
430 * genrecog.c (position_type): New enum.
431 (position): New structure.
432 (decision): Use position structure instead of a string.
433 (root_pos, peep2_insn_pos_list): New variables.
434 (next_position, compare_positions): New functions.
435 (new_decision): Use position structures instead of strings.
436 (maybe_both_true): Likewise.
437 (change_state): Likewise.
438 (write_tree): Likewise.
439 (make_insn_sequence): Likewise.
440
92e948a8
NF
4412011-05-26 Nathan Froyd <froydnj@codesourcery.com>
442
443 * tree.c (initialize_tree_contains_struct): Mark TS_BLOCK as
444 TS_BASE instead of TS_COMMON.
445 (find_decls_types_r): Check for TS_TYPED structure before looking at
446 TREE_TYPE.
447 * tree.h (struct tree_block): Inherit from tree_base, not tree_common.
448 Add chain field.
449 (BLOCK_CHAIN): Use new chain field.
450
c61e40d3
PH
4512011-05-26 Pat Haugen <pthaugen@us.ibm.com>
452
453 * config/rs6000/rs6000.c (rs6000_register_move_cost): Make LR/CTR
454 moves expensive on Power7 also.
455
1f498652
RG
4562011-05-26 Richard Guenther <rguenther@suse.de>
457
458 * fold-const.c (fold_unary_loc): Remove bogus code.
459
a2fc3e63
NF
4602011-05-26 Nathan Froyd <froydnj@codesourcery.com>
461
462 * tree.h (struct tree_identifier): Inherit from tree_typed, not
463 tree_common.
464 (HT_IDENT_TO_GCC_IDENT): Adjust for said change.
465 * tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
466 TS_BASE instead of TS_COMMON.
467 * varasm.c (assemble_name): Remove assert.
468
d11bf18f
BS
4692011-05-26 Bernd Schmidt <bernds@codesourcery.com>
470
471 * Makefile.in (srcdirify): Change order so that libgcc_objdir is
472 substituted first.
473 * libgcc-std.ver: Delete file.
474
ac8e1875
RG
4752011-05-26 Richard Guenther <rguenther@suse.de>
476
477 PR tree-optimization/48702
478 * tree-ssa-address.c (create_mem_ref_raw): Create MEM_REFs
479 only when we know the base address is within bounds.
480 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Do not
481 assume the base address of TARGET_MEM_REFs is in bounds.
482
7e32e652
RO
4832011-05-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
484
485 PR target/49099
486 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Wrap
487 declaration in TARGET_SOLARIS.
488
43660e0b
HS
4892011-05-26 Hariharan Sandanagobalane <hariharan@picochip.com>
490
491 * config/picochip/picochip.md (cbranchhi4): No :CC for match_operator.
491d8eed 492 The instruction is then expanded explicitly.
43660e0b
HS
493 (supported_compare): Callable instruction.
494 (compare): Likewise.
495
1537737f
JJ
4962011-05-26 Jakub Jelinek <jakub@redhat.com>
497
498 PR c++/49165
499 * gimplify.c (shortcut_cond_r): Don't special case
500 COND_EXPRs if they have void type on one of their arms.
501
7b1ac803
BS
5022011-05-26 Bernd Schmidt <bernds@codesourcery.com>
503
504 * haifa-sched.c (schedule-block): Reorder the inner scheduling loop
505 to reduce duplication, and to achieve a slightly more logical order
506 of operations.
507
1aa9438f
JJ
5082011-05-26 Jakub Jelinek <jakub@redhat.com>
509
510 PR tree-optimization/49161
511 * tree-vrp.c (struct case_info): New type.
512 (compare_case_labels): Sort case_info structs instead of
513 trees, and not primarily by CASE_LABEL uids but by
514 label_for_block indexes.
515 (find_switch_asserts): Put case labels into struct case_info
516 array instead of TREE_VEC, adjust sorting, compare label_for_block
517 values instead of CASE_LABELs.
518
50fed7bf
RR
5192011-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
520
521 * config/arm/neon.md ("orn<mode>3_neon"): Canonicalize not.
522 ("orndi3_neon"): Likewise.
523 ("bic<mode>3_neon"): Likewise.
524
48df3fa6
IR
5252011-05-26 Ira Rosen <ira.rosen@linaro.org>
526
527 PR tree-optimization/49038
528 * tree-vect-loop-manip.c (vect_generate_tmps_on_preheader):
529 Ensure at least one epilogue iteration if required by data
530 accesses with gaps.
531 * tree-vectorizer.h (struct _loop_vec_info): Add new field
532 to mark loops that require peeling for gaps.
533 * tree-vect-loop.c (new_loop_vec_info): Initialize new field.
534 (vect_get_known_peeling_cost): Take peeling for gaps into
535 account.
536 (vect_transform_loop): Generate epilogue if required by data
537 access with gaps.
538 * tree-vect-data-refs.c (vect_analyze_group_access): Mark the
539 loop as requiring an epilogue if there are gaps in the end of
540 the strided group.
541
53febcba
ILT
5422011-05-25 Ian Lance Taylor <iant@google.com>
543
544 * godump.c (go_format_type): Output the first field with a usable
545 Go type, if any.
546
dbbc4d4c
ILT
5472011-05-25 Ian Lance Taylor <iant@google.com>
548
549 * godump.c (go_format_type): Check for invalid type names, pointer
550 target types, and struct field types.
551
f03a5402
JM
5522011-05-25 Jason Merrill <jason@redhat.com>
553
554 * print-tree.c (print_node): Only look at TREE_TYPE if TS_TYPED.
555
c497c412
UB
5562011-05-25 Uros Bizjak <ubizjak@gmail.com>
557
558 * config/i386/sse.md (*<sse>_maskcmp<mode>3_comm): New pattern.
559
e470affe
L
5602011-05-25 H.J. Lu <hongjiu.lu@intel.com>
561
562 * config/i386/i386.md (*movqi_extv_1)): Put back
563 "register_operand" check in "type" calculation.
564 (*movqi_extzv_2): Likewise.
565
6c81b2bc
L
5662011-05-25 H.J. Lu <hongjiu.lu@intel.com>
567
c497c412 568 * doc/extend.texi (X86 Built-in Functions): Update pause intrinsic.
6c81b2bc 569
0c007eb2
BS
5702011-05-25 Bernd Schmidt <bernds@codesourcery.com>
571
572 PR bootstrap/49160
573 * libgcc2.h (__powisf2, __powidf2, __powitf2, __powixf2,
574 __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3,
575 __divxc3, __divtc3): Wrap definitions in #ifndef.
576
521ca78e
L
5772011-05-25 H.J. Lu <hongjiu.lu@intel.com>
578
579 PR target/49142
580 * config/i386/i386.md (*movqi_extv_1_rex64): Remove
581 "register_operand" check and replace q_regs_operand with
582 QIreg_operand in "type" calculation.
583 (*movqi_extv_1): Likewise.
584 (*movqi_extzv_2_rex64): Likewise.
585 (*movqi_extzv_2): Likewise.
586
587 * config/i386/predicates.md (QIreg_operand): New.
588
29f8b844
RG
5892011-05-25 Richard Guenther <rguenther@suse.de>
590
591 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix
592 type-based offset disambiguation, streamline MEM_REF and
593 TARGET_MEM_REF handling.
594
74838de3
L
5952011-05-25 H.J. Lu <hongjiu.lu@intel.com>
596
597 * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_PAUSE.
598 (bdesc_special_args): Add pause intrinsic.
599
600 * config/i386/i386.md (UNSPEC_PAUSE): New.
601 (pause): Likewise.
602 (*pause): Likewise.
603 * config/i386/ia32intrin.h (__pause): Likewise.
604
605 * doc/extend.texi (X86 Built-in Functions): Add documentation for
606 pause intrinsic.
607
d24ad7d6
BS
6082011-05-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
609
610 PR tree-optimization/46728
611 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): New.
612 (execute_cse_sincos): Add switch case for BUILT_IN_POW.
c497c412 613
d9f8303f
NF
6142011-05-25 Nathan Froyd <froydnj@codesourcery.com>
615
616 * tree.h (struct tree_exp): Inherit from struct tree_typed.
617 * tree.c (initialize_tree_contains_struct): Mark TS_EXP as TS_TYPED
618 instead of TS_COMMON.
619
cdbf4541
BS
6202011-05-25 Bernd Schmidt <bernds@codesourcery.com>
621
622 * libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if
623 LIBGCC2_GNU_PREFIX is defined.
624 (__N): New macro.
625 (__powisf2, __powidf2, __powitf2, __powixf2, __bswapsi2, __bswapdi2,
626 __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3,
627 __divtc3, __udiv_w_sdiv, __clear_cache, __enable_execute_stack,
628 __clz_tab): Define using __N.
629 (__absvsi2, __negvsi2, __addvsi3, __subvsi3, __mulvsi3): Likewise if
630 COMPAT_SIMODE_TRAPPING_ARITHMETIC.
631 * target.def (libfunc_gnu_prefix): New hook.
632 * doc/tm.texi.in (LIBGCC2_GNU_PREFIX): Document.
633 (TARGET_LIBFUNC_GNU_PREFIX): Add hook.
634 * doc/tm.texi: Regenerate.
635 * system.h (LIBGCC2_GNU_PREFIX): Poison.
636 * optabs.c (gen_libfunc): Take the libfunc_gnu_prefix hook into
637 account.
638 (gen_interclass_conv_libfunc, gen_intraclass_conv_libfunc): Likewise.
639 (init_optabs): Likewise for the bswap libfuncs.
640 * tree.c (build_common_builtin_nodes): Likewise for complex multiply
641 and divide.
642 * config/t-slibgcc-elf-ver (SHLIB_MAPFILES): Use $$(libgcc_objdir).
643 * config/t-slibgcc-sld (SHLIB_MAPFILES): Likewise.
644 * libgcc-std.ver: Remove.
645 * Makefile.in (srcdirify): Handle $$(libgcc_objdir).
646 * config/frv/t-linux (SHLIB_MAPFILES): Use $$(libgcc_objdir) for
647 libgcc-std.ver.
648 * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
649 * config/mips/t-slibgcc-irix (SHLIB_MAPFILES): Likewise.
650 * config/rs6000/t-aix43 (SHLIB_MAPFILES): Likewise.
651 * config/rs6000/t-aix52 (SHLIB_MAPFILES): Likewise.
652 * config/sparc/t-linux (SHLIB_MAPFILES): Likewise.
653 * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
654 * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
655 * config/fixed-bit.h (FIXED_OP): Define differently depending on
656 LIBGCC2_GNU_PREFIX. All uses changed not to pass leading underscores.
657 (FIXED_CONVERT_OP, FIXED_CONVERT_OP2): Likewise.
658
f242c0a5
JH
6592011-05-25 Jan Hubicka <jh@suse.cz>
660
661 * lto-streamer-out.c (output_record_start): Use lto_output_enum
662 (lto_output_tree): Use output_record_start.
663 * lto-streamer-in.c (input_record_start): Use lto_input_enum
664 (lto_get_pickled_tree): Use input_record_start.
665 * lto-section-in.c (lto_section_overrun): Turn into fatal error.
666 (lto_value_range_error): New function.
667 * lto-streamer.h (lto_value_range_error): Declare.
668 (lto_output_int_in_range, lto_input_int_in_range): New functions.
669 (lto_output_enum, lto_input_enum): New macros.
670
a11e0df4
EB
6712011-05-25 Eric Botcazou <ebotcazou@adacore.com>
672
673 * common.opt (flag_stack_usage_info): New variable.
674 (-Wstack-usage): New option.
675 * doc/invoke.texi (Warning options): Document -Wstack-usage.
676 * opts.c (common_handle_option) <OPT_Wstack_usage_>: New case.
677 <OPT_fstack_usage>: Likewise.
678 * toplev.c (output_stack_usage): Handle -Wstack-usage.
679 * calls.c (expand_call): Test flag_stack_usage_info variable instead
680 of flag_stack_usage.
681 (emit_library_call_value_1): Likewise.
682 * explow.c (allocate_dynamic_stack_space): Likewise.
683 * function.c (instantiate_virtual_regs ): Likewise.
684 (prepare_function_start): Likewise.
685 (rest_of_handle_thread_prologue_and_epilogue): Likewise.
686 * config/alpha/alpha.c (alpha_expand_prologue): Likewise.
687 * config/arm/arm.c (arm_expand_prologue): Likewise.
688 (thumb1_expand_prologue): Likewise.
689 * config/avr/avr.c (expand_prologue): Likewise.
690 * config/i386/i386.c (ix86_expand_prologue): Likewise.
691 * config/ia64/ia64.c (ia64_expand_prologue): Likewise.
692 * config/m68k/m68k.c (m68k_expand_prologue): Likewise.
693 * config/mips/mips.c (mips_expand_prologue): Likewise.
694 * config/pa/pa.c (hppa_expand_prologue): Likewise.
695 * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
696 * config/s390/s390.c (s390_emit_prologue): Likewise.
697 * config/sh/sh.c (sh_expand_prologue): Likewise.
698 * config/sparc/sparc.c (sparc_expand_prologue): Likewise.
699 * config/spu/spu.c (spu_expand_prologue): Likewise.
700
e7cfe241
RG
7012011-05-25 Richard Guenther <rguenther@suse.de>
702
703 * gimple.c (iterative_hash_canonical_type): Skip non-FIELD_DECLs.
704 (gimple_canonical_types_compatible_p): Likewise.
705
c5235f4c
JH
7062011-05-25 Jan Hubicka <jh@suse.cz>
707
708 PR middle-end/49062
709 * ipa.c (function_and_variable_visibility): Only add to same
710 comdat group list if DECL_ONE_ONLY.
711
8242a0f6
AB
7122011-05-25 Andrey Belevantsev <abel@ispras.ru>
713
714 PR rtl-optimization/49014
715 * config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi.
716
642a011d
JJ
7172011-05-25 Jakub Jelinek <jakub@redhat.com>
718
719 PR target/49128
720 * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.
721
30a435d8
VM
7222011-05-24 Vladimir Makarov <vmakarov@redhat.com>
723
724 PR rtl-optimization/48757
725 * ira-build.c (loop_with_eh_edge_p): Rename to
726 loop_with_complex_edge_p, check edges on complexity, make function
727 conditional.
728 (mark_loops_for_removal): Make call of loop_with_complex_edge_p
729 conditional.
730
24d1bbc7
EB
7312011-05-24 Eric Botcazou <ebotcazou@adacore.com>
732
733 * config/sparc/sparc.c (sparc_option_override): If not set by the user,
734 force flag_ira_share_save_slots to 0.
735
65773087
EB
7362011-05-24 Eric Botcazou <ebotcazou@adacore.com>
737
738 * var-tracking.c (compute_cfa_pointer): Adjust head comment.
739 (vt_initialize): Set PROLOGUE_BB unconditionally.
740 Add block comment about CFA_BASE_RTX machinery.
741 Reset FP_CFA_OFFSET to -1 on all invalid paths.
742 Call vt_init_cfa_base only if FP_CFA_OFFSET isn't equal to -1.
743
4e26ba90
NP
7442011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>
745
746 PR objc/48187
747 * c-parser.c (c_parser_objc_class_instance_variables): More robust
748 parsing of syntax error in ObjC instance variable lists. In
749 particular, avoid an infinite loop if there is a stray ']'.
750 Updated error message.
751
936fd13c
ILT
7522011-05-24 Ian Lance Taylor <iant@google.com>
753
754 * godump.c (go_define): Don't accept a string immediately after
755 another operand.
756
f17333e3
ILT
7572011-05-24 Ian Lance Taylor <iant@google.com>
758
759 * godump.c (struct godump_container): Add invalid_hash field.
760 (go_format_type): Return false if type is found in invalid_hash.
761 (go_output_typedef): Add invalid type to invalid_hash.
762 (go_finish): Create and delete invalid_hash.
763
d24ad7d6 7642011-05-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
c497c412 765
78be79d5
BS
766 PR tree-optimization/46728
767 * tree-ssa-math-opts.c (powi_table): New.
768 (powi_lookup_cost): New.
769 (powi_cost): New.
770 (powi_as_mults_1): New.
771 (powi_as_mults): New.
772 (gimple_expand_builtin_powi): New.
773 (execute_cse_sincos): Add switch case for BUILT_IN_POWI.
774 (gate_cse_sincos): Remove sincos/cexp restriction.
f17333e3 775
caee412b
RO
7762011-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
777
778 PR target/3746
779 * config.gcc (alpha*-dec-osf5.1*): Only build mips-tfile,
780 mips-tdump native.
781 * mips-tfile.c: Remove CROSS_DIRECTORY_STRUCTURE handling.
782 * mips-tdump.c: Likewise.
783
5eed4f27
L
7842011-05-24 H.J. Lu <hongjiu.lu@intel.com>
785
786 PR target/49128
787 * config/i386/driver-i386.c (host_detect_local_cpu): Always
788 add -mno-XXX. Handle FMA.
789
8c5fdaae
VM
7902011-05-24 Vladimir Makarov <vmakarov@redhat.com>
791
792 PR rtl-optimization/48633
793 * ira-build.c (loop_with_eh_edge_p): New function.
794 (mark_loops_for_removal): Use it.
795
7962011-05-24 Vladimir Makarov <vmakarov@redhat.com>
113a5be6
VM
797
798 PR rtl-optimization/48971
799 * ira.c (setup_pressure_classes): Don't check register move cost
800 for classes with one registers. Don't add pressure class if there
801 is a pressure class with the same available hard registers.
802 Check contains_reg_of_mode. Fix a typo in collecting
803 temp_hard_regset. Ignore hard registers not belonging to a class.
804
df1f7315
UB
8052011-05-24 Uros Bizjak <ubizjak@gmail.com>
806
807 PR target/49133
808 * config/i386/sse.md (sse2_loadhpd): Remove shufpd alternative.
809
ee0cb37c
EB
8102011-05-24 Eric Botcazou <ebotcazou@adacore.com>
811 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
812
813 PR gcov-profile/48845
814 * config/sol2.h (LIB_SPEC): Link TLS support for tree profiling.
815
6a20ce76
RG
8162011-05-24 Richard Guenther <rguenther@suse.de>
817
818 * gimple.c (compare_type_names_p): Remove for_completion_p arg.
819 (gimple_compatible_complete_and_incomplete_subtype_p): Remove.
820 (gimple_types_compatible_p_1): Adjust.
821 (iterative_hash_canonical_type): Do not bother about complete vs.
822 incomplete types.
823 (gimple_canonical_types_compatible_p): Likewise.
824
2fcb858c
RO
8252011-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
826
827 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Remove.
828
96d91dcf
RG
8292011-05-24 Richard Guenther <rguenther@suse.de>
830
831 PR bootstrap/49078
832 * gimple.c (gimple_register_canonical_type): Revert
833 previous change.
834 * alias.c (get_alias_set): Only assert that TYPE_CANONICAL
835 does not for a tree for the case where it matters. Cache
836 pointer-type alias-sets.
837
1ed1641d
JM
8382011-05-24 Joseph Myers <joseph@codesourcery.com>
839
840 * Makefile.in (GCC_OBJS): Remove opts-common.o and options.o.
841 (OBJS): Remove options.o, opts-common.o and prefix.o.
842 (OBJS-libcommon-target): New.
843 (ALL_HOST_BACKEND_OBJS): Include $(OBJS-libcommon-target).
844 (BACKEND): Include libcommon-target.a.
845 (MOSTLYCLEANFILES): Include libcommon-target.a.
846 (libcommon-target.a): New.
847 (xgcc$(exeext), cpp$(exeext)): Use libcommon-target.a instead of
848 prefix.o.
849
57dfdff0
JM
8502011-05-23 Joseph Myers <joseph@codesourcery.com>
851
852 * optc-save-gen.awk: New. Based on optc-gen.awk. Don't generate
853 parts of output shared with the driver.
854 * optc-gen.awk: Don't generate parts of output not shared with the
855 driver.
856 * opth-gen.awk: Remove GCC_DRIVER conditionals.
857 * doc/options.texi (SourcerInclude): Mention options-save.c.
858 * Makefile.in (GCC_OBJS): Use options.o instead of gcc-options.o.
859 (OBJS): Add options-save.o.
860 (options-save.c, options-save.o): New.
861 (options.o): Update dependencies.
862 (gcc-options.o): Remove.
863 (mostlyclean): Remove options-save.c.
864
0e0d82a7
JJ
8652011-05-23 Jakub Jelinek <jakub@redhat.com>
866
9166988f
JJ
867 PR debug/49032
868 * dbxout.c: Include cgraph.h.
869 (dbxout_expand_expr): If a VAR_DECL is TREE_STATIC, not written
870 and without value expr, return NULL if no varpool node exists for
871 it or if it is not needed.
872 * Makefile.in (dbxout.o): Depend on $(CGRAPH_H).
873
0e0d82a7
JJ
874 PR c/49120
875 * c-decl.c (start_decl): Convert expr to void_type_node.
876
65712d5c
RS
8772011-05-23 Richard Sandiford <rdsandiford@googlemail.com>
878
879 PR rtl-optimization/48826
880 * emit-rtl.c (try_split): When splitting a call that is followed
881 by a NOTE_INSN_CALL_ARG_LOCATION, move the note after the new call.
882
9025085e
JJ
8832011-05-23 Jakub Jelinek <jakub@redhat.com>
884
885 * cfgexpand.c (expand_debug_expr): For unused non-addressable
886 parameters passed in memory prefer using DECL_INCOMING_RTL over
887 the pseudos it will be copied into.
888
34a061be
L
8892011-05-23 H.J. Lu <hongjiu.lu@intel.com>
890
891 PR target/47315
892 * config/i386/i386.c (ix86_option_override_internal): Save the
893 initial options after checking vzeroupper.
894
c375a3a4
DL
8952011-05-23 David Li <davidxl@google.com>
896
897 PR tree-optimization/48988
898 * tree-ssa-uninit.c (convert_control_dep_chain_into_preds):
899 Initialize has_valid_pred for each pred chain.
900
e1caba18
RG
9012011-05-23 Richard Guenther <rguenther@suse.de>
902
903 * gimple.c (gimple_types_compatible_p_1): Always compare type names.
904 (iterative_hash_gimple_type): Always hash type names.
905
dde05067
NF
9062011-05-23 Nathan Froyd <froydnj@codesourcery.com>
907
908 * c-typeck.c (build_function_call_vec): Tweak call to
909 check_function_arguments.
910
094f6ab3
RG
9112011-05-23 Richard Guenther <rguenther@suse.de>
912
913 PR tree-optimization/49115
914 * tree-ssa-alias.c (stmt_kills_ref_p_1): If the assignment
915 is not necessarily carried out, do not claim it kills the ref.
916 * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
917
9a9822e1
RG
9182011-05-23 Richard Guenther <rguenther@suse.de>
919
920 PR middle-end/15419
921 * builtins.c (fold_builtin_memory_op): Be less restrictive about
922 what pointer types we accept for folding.
923
c8028650
RO
9242011-05-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
925
926 * gthr-gnat.c: Remove.
927 * gthr-gnat.h: Remove.
928 * Makefile.in (LIB2ADDEH): Remove $(srcdir)/gthr-gnat.c.
929 * config/t-freebsd (LIB2ADDEH): Likewise.
930 * config/t-linux (LIB2ADDEH): Likewise.
931 * config/t-sol2 (LIB2ADDEH): Likewise.
932 * config/ia64/t-vms (LIB2ADDEH): Likewise.
933 * configure.ac (target_thread_file): Remove gnat handling.
934 * configure: Regenerate.
935 * doc/install.texi (Configuration, --enable-threads): Remove gnat.
936
15882fe9
TG
9372011-05-23 Tristan Gingold <gingold@adacore.com>
938 Eric Botcazou <ebotcazou@adacore.com>
939
940 * gcov.c (create_file_names): If no object directory is specified,
941 keep the directory of the file.
942
da90c957
RO
9432011-05-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
944
945 * configure.ac (enable_threads): Remove irix; add lynx, tpf; sort list.
946 * configure: Regenerate.
947
7bba408b
JJ
9482011-05-23 Jakub Jelinek <jakub@redhat.com>
949
950 PR middle-end/48973
951 * expr.c (expand_expr_real_2) <case LT_EXPR>: If do_store_flag
952 failed and the comparison has a single bit signed type, use
953 constm1_rtx instead of const1_rtx for true value.
954 (do_store_flag): If ops->type is single bit signed type, disable
955 signel bit test optimization and pass -1 instead of 1 as last
956 parameter to emit_store_flag_force.
957
bc69f7ff
TV
9582011-05-23 Tom de Vries <tom@codesourcery.com>
959
960 PR target/45098
961 * tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith): New
962 function.
963 (infer_loop_bounds_from_undefined): Use new function.
964
29cedf8e
RS
9652011-05-22 Richard Sandiford <rdsandiford@googlemail.com>
966
967 * config/mips/mips.h (SUBTARGET_ASM_OPTIMIZING_SPEC): Delete.
968 (ASM_SPEC): Add a -O* option here. Pass -O0 for -noasmopt,
969 -O1 for -fno-delayed-branch, -O2 if optimization is enabled,
970 and -O0 otherwise.
971 (EXTRA_SPECS): Remove subtarget_asm_optimizing_spec.
972
afe8b6ec
EB
9732011-05-22 Eric Botcazou <ebotcazou@adacore.com>
974
975 * cfgcleanup.c (try_forward_edges): Do not update BB_FORWARDER_BLOCK.
976 (try_optimize_cfg): Update BB_FORWARDER_BLOCK if try_forward_edges
977 returns true.
978
872dab53
RS
9792011-05-22 Richard Sandiford <rdsandiford@googlemail.com>
980
981 * config/mips/mips.c (mips_default_arch): Honor MIPS_ISA_DEFAULT.
982
145f6c5b
EB
9832011-05-22 Eric Botcazou <ebotcazou@adacore.com>
984
985 * config/sparc/sparc.c (sparc_delegitimize_address): Handle
986 UNSPEC_MOVE_PIC pattern.
987
8ac79835
EB
9882011-05-22 Eric Botcazou <ebotcazou@adacore.com>
989
990 * config.gcc (sparc-*-elf*): Add sparc/t-crtin.
991 (sparc-*-rtems*): Likewise.
992 (sparc64-*-elf*): Likewise.
993 (sparc64-*-rtems*): Likewise.
994 (sparc*-*-solaris2*): Likewise. Remove crti.o crtn.o extra parts.
995 * config/sparc/t-crtin: New file.
996 * config/sparc/t-sol2 (crti.o): Delete rule.
997 (crtn.o): Likewise.
998 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Delete.
999 * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Likewise.
1000 * config/sparc/sp64-elf.h (STARTFILE_SPEC): Tidy and add crti.o.
1001 (ENDFILE_SPEC): Add crtn.o.
1002
5fb43dd8
TV
10032011-05-22 Tom de Vries <tom@codesourcery.com>
1004
1005 PR middle-end/48689
1006 * fold-const.c (fold_checksum_tree): Guard TREE_CHAIN use with
1007 CODE_CONTAINS_STRUCT (TS_COMMON).
1008
ccb1b17b
JJ
10092011-05-22 Jakub Jelinek <jakub@redhat.com>
1010
1011 PR middle-end/49029
1012 * expmed.c (extract_fixed_bit_field): Test whether target can be used
1013 only after deciding which mode to use.
1014
50ad7db2
TV
10152011-05-22 Tom de Vries <tom@codesourcery.com>
1016
1017 PR target/45098
dc0a3366 1018 * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Fix const test
50ad7db2
TV
1019 for call to get_shiftadd_cost.
1020
ef230b38
UB
10212011-05-22 Uros Bizjak <ubizjak@gmail.com>
1022
1023 PR target/49104
1024 * config/i386/cpuid.h (bit_MMXEXT): New define.
1025
15f072f9
NC
10262011-05-22 Nick Clifton <nickc@redhat.com>
1027
1028 * config/stormy16/stormy16.c (xstormy16_init_builtins): prevent
1029 initialisation of non-existant args[2] element. Use args[] array
1030 not arg[] array to pass arguments to build_function_type_list.
1031
e38fdc94
IR
10322011-05-22 Ira Rosen <ira.rosen@linaro.org>
1033
1034 PR tree-optimization/49087
ef230b38 1035 * tree-vect-loop.c (vect_is_slp_reduction): Fail if LHS has no uses.
e38fdc94 1036
5b018c65
JM
10372011-05-21 Jason Merrill <jason@redhat.com>
1038
1039 PR c++/49092
1040 * dwarf2out.c (tree_add_const_value_attribute_for_decl): Check for
1041 static storage duration.
1042
abd9a770
EB
10432011-05-21 Eric Botcazou <ebotcazou@adacore.com>
1044
1045 * config/sparc/sparc.md (setjmp): Handle PIC mode and use the hard
1046 frame pointer.
1047
bd9a3248
EB
10482011-05-21 Eric Botcazou <ebotcazou@adacore.com>
1049
1050 * config/sparc/sparc.c (eligible_for_return_delay): Do not return
1051 false if there are call-saved registers here...
1052 (sparc_can_use_return_insn_p): ...but here instead.
1053 (save_or_restore_regs): Fix thinko.
1054 (sparc_expand_prologue): Use current_function_is_leaf.
1055 (sparc_frame_pointer_required): Likewise.
1056
a5dfec9a
NC
10572011-05-21 Nick Clifton <nickc@redhat.com>
1058
1059 PR target/49098
1060 * config/rx/rx.c (rx_memory_move_cost): Note unused parameters.
1061
555c3771
NP
10622011-05-21 Nicola Pero <nicola.pero@meta-innovation.com>
1063
1064 * gengtype.c (walk_type): Implemented "atomic" GTY option.
1065 * doc/gty.texi (GTY Options): Document "atomic" GTY option.
1066
86fa5de4
JM
10672011-05-21 Joseph Myers <joseph@codesourcery.com>
1068
1069 * opt-read.awk: New. Split out of optc-gen.awk and opth-gen.awk.
1070 * optc-gen.awk: Move common code to opt-read.awk.
1071 * opth-gen.awk: Likewise.
ef230b38 1072 * Makefile.in (options.c, s-options-h): Update to use opt-read.awk.
86fa5de4 1073
bce33ab2
NF
10742011-05-20 Nathan Froyd <froydnj@codesourcery.com>
1075
1076 * godump.c (go_format_type): Don't use TYPE_ARG_TYPES.
1077
e6450c11
TV
10782011-05-20 Tom de Vries <tom@codesourcery.com>
1079
1080 PR target/45098
1081 * tree-ssa-loop-ivopts.c: Include expmed.h.
1082 (get_shiftadd_cost): New function.
1083 (force_expr_to_var_cost): Declare forward. Use get_shiftadd_cost.
1084
0e8b84ec
JJ
10852011-05-20 Jakub Jelinek <jakub@redhat.com>
1086
1087 PR bootstrap/49086
1088 * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL
1089 for PHI args that are SSA_NAME_IS_DEFAULT_DEF.
1090
946bdf67
JM
10912011-05-20 Joseph Myers <joseph@codesourcery.com>
1092
1093 * Makefile.in: Update comment referring to $(OBJS-common).
1094
c53aafdf
ILT
10952011-05-20 Ian Lance Taylor <iant@google.com>
1096
1097 * godump.c (go_output_typedef): Put enum constants in the macro
1098 hash table to avoid duplicate Go const definitions.
1099
2691e6d7
JM
11002011-05-20 Joseph Myers <joseph@codesourcery.com>
1101
1102 * Makefile.in (LIBDEPS): Add libcommon.a.
1103 (LIBS): Likewise.
1104 (GCC_OBJS): Remove diagnostic.o, pretty-print.o and input.o.
1105 (OBJS-common): Remove diagnostic.o, input.o, intl.o,
1106 pretty-print.o and version.o.
1107 (OBJS-libcommon): New.
1108 (ALL_HOST_BACKEND_OBJS): Add $(OBJS-libcommon).
1109 (BACKEND): Add libcommon.a.
1110 (MOSTLYCLEANFILES): Likewise.
1111 (libcommon.a): New.
1112 (xgcc$(exeext)): Don't explicitly use version.o and intl.o.
1113 (cpp$(exeext)): Likewise.
1114 (COLLECT2_OBJS): Remove intl.o, version.o, diagnostic.o,
1115 pretty-print.o and input.o.
1116 (lto-wrapper$(exeext)): Don't explicitly use intl.o.
1117 (lto-wrapper.o): Depend on $(DIAGNOSTIC_H).
1118 (errors.o): Remove.
1119 (mips-tfile): Don't explicitly use version.o.
1120 (mips-tdump): Likewise.
1121 (gcov.o): Depend on $(DIAGNOSTIC_H).
1122 (gcov-dump.o): Depend on intl.h and $(DIAGNOSTIC_H).
1123 (GCOV_OBJS): Remove intl.o, version.o and errors.o.
1124 (GCOV_DUMP_OBJS): Remove version.o and errors.o.
1125 * gcov-dump.c: Include intl.h and diagnostic.h.
1126 (main): Initialize diagnostics.
1127 * gcov.c: Include diagnostic.h.
1128 (fnotice): Remove.
1129 (main): Initialize diagnostics.
1130 * lto-wrapper.c: Include diagnostic.h.
1131 (main): Initialize diagnostics.
1132
252b3e8c
MM
11332011-05-20 Michael Matz <matz@suse.de>
1134
1135 * Makefile.in (OBJS-common, OBJS-md, OBJS-archive): Merge into OBJS.
1136
2ee36ba6
MM
11372011-05-20 Michael Matz <matz@suse.de>
1138 Richard Guenther <rguenther@suse.de>
1139
1140 * lto-streamer.c (lto_record_common_node): Don't track seen nodes,
1141 use lto_streamer_cache_append directly instead of returning a VEC.
1142 (preload_common_node): Remove.
1143 (lto_get_common_nodes): Rename to lto_preload_common_nodes, don't
1144 track seen nodes.
1145 (lto_streamer_cache_create): Call lto_preload_common_nodes.
1146
90ff582f
RG
11472011-05-20 Richard Guenther <rguenther@suse.de>
1148
1149 PR tree-optimization/49079
1150 * tree-dfa.c (get_ref_base_and_extent): Handle view-converting
1151 MEM_REFs correctly for the trailing array access detection.
1152 Special case constants the same way as decls for overall size
1153 constraining.
1154
3cda91d8
UB
11552011-05-20 Uros Bizjak <ubizjak@gmail.com>
1156
1157 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Fix macro
1158 argument expansion.
1159
6c66f733
JJ
11602011-05-20 Jakub Jelinek <jakub@redhat.com>
1161
1162 PR tree-optimization/49073
3cda91d8
UB
1163 * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL if
1164 PHI argument is SSA_NAME, whose def_stmt is dominated by the PHI.
6c66f733
JJ
1165 * tree-ssa-ifcombine.c (tree_ssa_ifcombine): Calculate dominators.
1166
0ea80a16
RG
11672011-05-20 Richard Guenther <rguenther@suse.de>
1168
1169 PR middle-end/48849
1170 * gimple.c (gimple_register_canonical_type): Compute TYPE_CANONICAL
1171 of pointer types the same way the middle-end does.
1172
fb291a1e
RG
11732011-05-20 Richard Guenther <rguenther@suse.de>
1174
3cda91d8
UB
1175 * gimple.c (gimple_register_type_1): Do not fiddle with main-variant
1176 or pointer-to chains. Delay all fixup to uniquify_nodes.
fb291a1e 1177
37cb25ed
QN
11782011-05-19 Quentin Neill <quentin.neill@amd.com>
1179
1180 * config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
1181 (fma4_fmaddsub): Likewise
1182
a30726a4
JH
11832011-05-19 Jan Hubicka <jh@suse.cz>
1184
1185 * gimple.c (gtc_visited, gtc_ob, type_pair_hash, type_pair_eq): Remove.
1186 (GIMPLE_TYPE_PAIR_SIZE): New macro.
1187 (type_pair_cache): New static var.
1188 (lookup_type_pair): Use fixed sized custom hash; make inline.
1189 (gtc_visit, gimple_types_compatible_p, gimple_register_type_1): Update
1190 calls of lookup_type_pair.
1191 (print_gimple_types_stats): Remove cache stats.
1192 (free_gimple_type_tables): Free type_pair_cache instead of gtc_visited
1193 and gtc_ob.
1194
0955cf61
UB
11952011-05-19 Uros Bizjak <ubizjak@gmail.com>
1196
1197 * config/i386/i386.c (option_override_internal): Enable TARGET_CMOVE
1198 when TARGET_RDRND is active.
1199 (ix86_expand_builtin) <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>:
1200 Generate dummy SImode target register when target is NULL.
1201
12d844c8
JM
12022011-05-19 Joseph Myers <joseph@codesourcery.com>
1203
1204 * config/arm/arm-fpus.def: New.
1205 * config/arm/genopt.sh: Generate Enum and EnumValue entries from
1206 arm-fpus.def.
1207 * config/arm/arm-tables.opt: Regenerate.
1208 * config/arm/arm.c (all_fpus): Move contents to arm-fpus.def.
1209 (arm_option_override): Don't decode FPU name to string here.
1210 * config/arm/arm.opt (mfpu=): Use Enum.
1211 * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt, arm.o):
1212 Update dependencies.
1213
9e350e99
JM
12142011-05-19 Joseph Myers <joseph@codesourcery.com>
1215
1216 * collect2.c: Include diagnostic.h.
1217 (fatal_perror, fatal, error, fancy_abort): Remove.
1218 (main): Set progname. Call xmalloc_set_program_name and
1219 diagnostic_initialize.
1220 (maybe_run_lto_and_relink, main, collect_execute, scan_prog_file,
1221 scan_libraries, resolve_lib_name): Call fatal_error instead of
1222 fatal and fatal_perror.
1223 * collect2.h (error, fatal, fatal_perror): Don't declare.
1224 * tlink.c: Include diagnostic-core.h.
1225 (recompile_files): Call fatal_error instead of fatal_perror.
1226 * Makefile.in (COLLECT2_OBJS): Include diagnostic.o,
1227 pretty-print.o and input.o.
1228 (collect2.o, tlink.o): Update dependencies.
1229
86ff4081
RO
12302011-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1231
1232 * config/i386/i386.md (tls_initial_exec_64_sun): Add semicolon.
1233
2ca48caa
RO
12342011-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1235
1236 PR target/40483
1237 * configure.ac (gcc_cv_as_comdat_group_group): Check for Sun as
1238 COMDAT group syntax, both SPARC and x86 variants.
1239 (HAVE_COMDAT_GROUP): Also define if gcc_cv_as_comdat_group_group.
1240 * configure: Regenerate.
1241 * config/sol2.h (TARGET_SOLARIS): Define.
1242 (PUSHSECTION_FORMAT): Remove.
1243 (SECTION_NAME_FORMAT): Define.
1244 * config/sol2.c: Include hashtab.h.
1245 (solaris_output_init_fini): Replace PUSHSECTION_FORMAT by its
1246 expansion, using SECTION_NAME_FORMAT.
1247 (solaris_comdat_htab): New variable.
1248 (struct comdat_entry): Define.
1249 (comdat_hash): New function.
1250 (comdat_eq): New function.
1251 (solaris_elf_asm_comdat_section): New function.
1252 (solaris_define_comdat_signature): New function.
1253 (solaris_code_end): New function.
1254 * config/sol2-protos.h (solaris_elf_asm_comdat_section): Declare.
1255 (solaris_code_end): Declare.
1256 * config/t-sol2 (sol2.o): Add $HASHTAB_H dependency.
1257 * config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Call
1258 solaris_code_end.
1259 (i386_solaris_elf_named_section): Wrap in TARGET_SOLARIS.
1260 Remove ATTRIBUTE_UNUSED.
1261 [!USE_GAS]: Call solaris_elf_asm_comdat_section for
1262 SECTION_LINKONCE sections if HAVE_COMDAT_GROUP.
0955cf61 1263 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Likewise.
2ca48caa
RO
1264 * config/i386/sol2-10.h (TARGET_ASM_NAMED_SECTION): Moved ...
1265 * config/i386/sol2.h (TARGET_ASM_NAMED_SECTION): ... here.
1266 * config/sparc/sol2.h (TARGET_ASM_CODE_END): Redefine.
1267 (PUSHSECTION_FORMAT): Remove.
1268 (SECTION_NAME_FORMAT): Redefine.
1269
da5fb469
KT
12702011-05-19 Kai Tietz <ktietz@redhat.com>
1271
1272 * tree-cfg.c (verify_gimple_assign_binary): Barf on
1273 TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR.
1274 (gimplify_expr): Move TRUTH_AND|OR|XOR_EXPR to its binary form.
1275
1651e703 12762011-05-19 Anatoly Sokolov <aesok@post.ru>
0967b228
AS
1277 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1278
1279 * config/t-sol2 (sol2.o): Add $(TARGET_H) dependency.
1280
e497b9bd
RG
12812011-05-19 Richard Guenther <rguenther@suse.de>
1282
1283 PR middle-end/48985
1284 * tree-object-size.c (addr_object_size): If the pointed-to
1285 variable is a decl use DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT.
1286
31b3ca64
RG
12872011-05-19 Richard Guenther <rguenther@suse.de>
1288
1289 * gimple.c (gimple_types_compatible_p_1): Compare names of
1290 the types themselves.
1291 (iterative_hash_gimple_type): And hash them that way.
1292 (gimple_register_type_1): If we register a main variant properly
1293 initialize the leader to ourselves.
1294
bb8d292d
TV
12952011-05-19 Tom de Vries <tom@codesourcery.com>
1296
1297 PR target/45098
1298 * tree-ssa-loop-ivopts.c (get_expr_id): Factored new function out of
1299 get_loop_invariant_expr_id.
1300 (get_loop_invariant_expr_id): Use get_expr_id.
1301 (parm_decl_cost): New function.
1302 (determine_use_iv_cost_condition): Use get_expr_id and parm_decl_cost.
1303 Improve bound cost estimation. Use different inv_expr_id for elim and
1304 express cases.
1305
a53c5024
TV
13062011-05-19 Tom de Vries <tom@codesourcery.com>
1307
1308 PR target/45098
1309 * tree-ssa-loop-ivopts.c (determine_iv_cost): Prevent
1310 cost_base.cost == 0.
1311
31f9eb59
L
13122011-05-18 H.J. Lu <hongjiu.lu@intel.com>
1313
1314 PR target/49002
1315 * config/i386/sse.md (avx_<ssemodesuffix><avxsizesuffix>_<ssemodesuffix>):
1316 Properly handle load cast.
1317
681056ae
JJ
13182011-05-18 Jakub Jelinek <jakub@redhat.com>
1319
1320 PR tree-optimization/49039
1321 * tree-vrp.c (extract_range_from_binary_expr): For
1322 MIN_EXPR <~[a, b], ~[c, d]> and MAX_EXPR <~[a, b], ~[c, d]>
1323 return ~[MAX_EXPR <a, c>, MIN_EXPR <b, d>].
1324
b5ee6752
TV
13252011-05-18 Tom de Vries <tom@codesourcery.com>
1326
1327 PR target/45098
1328 * tree-ssa-loop-ivopts.c (computation_cost): Prevent cost of 0.
1329
0bda47a3
UB
13302011-05-18 Uros Bizjak <ubizjak@gmail.com>
1331
1332 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Split asm template.
1333 (*tls_global_dynamic_64): Ditto.
1334 (*tls_local_dynamic_base_32_gnu): Ditto.
1335 (*tls_local_dynamic_base_64): Ditto.
1336 (tls_initial_exec_64_sun): Ditto.
1337
033b0805
SH
13382011-05-18 Stuart Henderson <shenders@gcc.gnu.org>
1339
1340 * doc/invoke.texi (Blackfin Options): -mcpu accepts bf592.
1341 * config/bfin/t-bfin-elf (MULTILIB_MATCHES): Select bf532-none for
1342 bf592-none.
1343 * config/bfin/t-bfin-linux (MULTILIB_MATCHES): Likewise.
1344 * config/bfin/t-bfin-uclinux (MULTILIB_MATCHES): Likewise.
1345 * config/bfin/bfin.c (bfin_cpus): Add bf592.
1346 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
0bda47a3 1347 __ADSPBF592__ and __ADSPBF59x__ for BFIN_CPU_BF592.
033b0805
SH
1348 * config/bfin/bfin-opts.h (bfin_cpu_type): Add BFIN_CPU_BF592.
1349 * config/bfin/elf.h (LIB_SPEC): Add bf592.
1350
ba163417
JM
13512011-05-18 Joseph Myers <joseph@codesourcery.com>
1352
1353 * config/arm/arm-opts.h (enum arm_fp16_format_type, enum
0bda47a3 1354 arm_abi_type, enum float_abi_type, enum arm_tp_type): Move from arm.h.
ba163417
JM
1355 * config/arm/arm.c (arm_float_abi, arm_fp16_format, arm_abi,
1356 target_thread_pointer, arm_structure_size_boundary, struct
1357 float_abi, all_float_abis, struct fp16_format, all_fp16_formats,
1358 struct abi_name, arm_all_abis): Remove.
0bda47a3
UB
1359 (arm_option_override) Don't process most enumerated option values here.
1360 Don't process target_fpe_name here. Work with integer not string for
1361 structure size boundary; use separate diagnostics for each case.
ba163417
JM
1362 * config/arm/arm.h (enum float_abi_type, enum
1363 arm_fp16_format_type, enum arm_abi_type, enum arm_tp_type): Move
1364 to arm-opts.h.
1365 (arm_float_abi, arm_fp16_format, arm_abi, target_thread_pointer,
1366 arm_structure_size_boundary): Remove.
1367 * config/arm/arm.opt (mabi=): Use Enum and Init.
1368 (arm_abi_type): New Enum and EnumValue entries.
1369 (mfloat-abi=): Use Enum and Init.
1370 (float_abi_type): New Enum and EnumValue entries.
0bda47a3 1371 (mfp=, mfpe=): Replace by separate Alias entries for each argument.
ba163417
JM
1372 (mfp16-format=): Use Enum and Init.
1373 (arm_fp16_format_type): New Enum and EnumValue entries.
1374 (mstructure-size-boundary=): Use UInteger and Init.
1375 (mtp=): Use Enum and Init.
1376 (arm_tp_type): New Enum and EnumValue entries.
1377
179184e3
RG
13782011-05-18 Richard Guenther <rguenther@suse.de>
1379
1380 PR tree-optimization/49018
1381 * gimple.c (gimple_has_side_effects): Volatile asms have side-effects.
1382 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Use
1383 gimple_has_side_effects.
1384
93b2a207
RG
13852011-05-18 Richard Guenther <rguenther@suse.de>
1386
1387 * gimple.c (gimple_register_type_1): New function, split out from ...
1388 (gimple_register_type): ... here. Avoid infinite recursion.
1389
b010117a
IR
13902011-05-18 Ira Rosen <ira.rosen@linaro.org>
1391
1392 PR tree-optimization/41881
1393 * tree-vectorizer.h (struct _loop_vec_info): Add new field
1394 reduction_chains along with a macro for its access.
1395 * tree-vect-loop.c (new_loop_vec_info): Initialize reduction chains.
1396 (destroy_loop_vec_info): Free reduction chains.
1397 (vect_analyze_loop_2): Return false if vect_analyze_slp() returns false.
1398 (vect_is_slp_reduction): New function.
1399 (vect_is_simple_reduction_1): Call vect_is_slp_reduction.
1400 (vect_create_epilog_for_reduction): Support SLP reduction chains.
1401 * tree-vect-slp.c (vect_get_and_check_slp_defs): Allow different
1402 definition types for reduction chains.
1403 (vect_supported_load_permutation_p): Don't allow permutations for
1404 reduction chains.
1405 (vect_analyze_slp_instance): Support reduction chains.
1406 (vect_analyze_slp): Try to build SLP instance from reduction chains.
1407 (vect_get_constant_vectors): Handle reduction chains.
1408 (vect_schedule_slp_instance): Mark the first statement of the
1409 reduction chain as reduction.
1410
e14c1050
IR
14112011-05-18 Ira Rosen <ira.rosen@linaro.org>
1412
1413 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use new
1414 names for group elements access.
1415 * tree-vectorizer.h (struct _stmt_vec_info): Use interleaving info for
1416 reduction chains as well. Remove data reference and interleaving
1417 related words from the fields names.
1418 * tree-vect-loop.c (vect_transform_loop): Use new names for group
1419 elements access.
1420 * tree-vect-data-refs.c (vect_get_place_in_interleaving_chain,
1421 vect_insert_into_interleaving_chain, vect_update_interleaving_chain,
1422 vect_update_interleaving_chain, vect_same_range_drs,
1423 vect_analyze_data_ref_dependence, vect_update_misalignment_for_peel,
1424 vect_verify_datarefs_alignment, vector_alignment_reachable_p,
1425 vect_peeling_hash_get_lowest_cost, vect_enhance_data_refs_alignment,
1426 vect_analyze_group_access, vect_analyze_data_ref_access,
1427 vect_create_data_ref_ptr, vect_transform_strided_load,
1428 vect_record_strided_load_vectors): Likewise.
1429 * tree-vect-stmts.c (vect_model_simple_cost, vect_model_store_cost,
1430 vect_model_load_cost, vectorizable_store, vectorizable_load,
1431 vect_remove_stores, new_stmt_vec_info): Likewise.
1432 * tree-vect-slp.c (vect_build_slp_tree,
1433 vect_supported_slp_permutation_p, vect_analyze_slp_instance): Likewise.
1434
51c213f7
RG
14352011-05-18 Richard Guenther <rguenther@suse.de>
1436
1437 PR middle-end/48989
1438 * tree-cfg.c (verify_gimple_assign_unary): Adjust TRUTH op
1439 operand verification.
1440 (verify_gimple_assign_binary): Likewise.
1441 * tree-ssa.c (useless_type_conversion_p): Preserve conversions
1442 to non-1-precision BOOLEAN_TYPEs.
1443
8f5e5434
TV
14442011-05-18 Tom de Vries <tom@codesourcery.com>
1445
1446 PR target/45098
1447 * tree-ssa-loop-ivopts.c (seq_cost): Fix call to rtx_cost.
1448
116bc3a4
JJ
14492011-05-18 Jakub Jelinek <jakub@redhat.com>
1450
1451 PR tree-optimization/49000
1452 * tree-ssa.c (execute_update_addresses_taken): Call
1453 maybe_rewrite_mem_ref_base on debug stmt value. If it couldn't
1454 be rewritten and decl has been marked for renaming, reset
1455 the debug stmt.
1456
26a8964c
JM
14572011-05-17 Joseph Myers <joseph@codesourcery.com>
1458
1459 * config/i386/i386.c (ix86_valid_target_attribute_tree): Use
1460 enum_opts_set when testing if attributes have set -mfpmath=.
1461
82bd45d7
RS
14622011-05-17 Richard Sandiford <rdsandiford@googlemail.com>
1463
1464 * config/mips/mips.c (mips_handle_option): Remove unused variable.
1465
267ffce3
UB
14662011-05-17 Uros Bizjak <ubizjak@gmail.com>
1467
1468 * ipa-inline-analysis.c (inline_node_duplication_hook): Initialize
1469 info->entry with 0
1470 * tree-inline.c (maybe_inline_call_in_expr): Initialize
1471 id.transform_lang_insert_block with NULL.
1472
14732011-05-17 Uros Bizjak <ubizjak@gmail.com>
d9403b0d
UB
1474
1475 * config/i386/i386-protos.h (output_fix_trunc): Change arg 3 to bool.
1476 (output_fp_compare): Change args 3 and 4 to bool.
1477 (ix86_expand_call): Change arg 6 to bool.
1478 (ix86_attr_length_immediate_default): Change arg 2 to bool.
1479 (ix86_attr_length_vex_default): Change arg 3 to bool.
1480 * config/i386/i386.md: Update all uses.
1481 * config/i386/i386.c: Ditto.
1482 (ix86_flags_dependent): Change return type to bool.
1483
5beaf664
RG
14842011-05-17 Richard Guenther <rguenther@suse.de>
1485
1486 * gimple.c (type_hash_pair_compare): Fix comparison.
1487
008bad7a
RG
14882011-05-17 Richard Guenther <rguenther@suse.de>
1489
1490 * gimple.c (iterative_hash_gimple_type): Simplify singleton
1491 case some more, fix final hash value of the non-singleton case.
1492
36461340
RG
14932011-05-17 Richard Guenther <rguenther@suse.de>
1494
1495 PR bootstrap/49013
1496 Revert
1497 2011-05-16 Richard Guenther <rguenther@suse.de>
1498
1499 * gimple.c (gimple_types_compatible_p_1): Use names of the
1500 type itself, not its main variant.
1501 (iterative_hash_gimple_type): Likewise.
1502
6b6a59f3
RG
15032011-05-17 Richard Guenther <rguenther@suse.de>
1504
1505 * gimple.c (gimple_register_canonical_type): Use the main-variant
1506 leader for computing the canonical type.
1507
4ffc4134
NC
15082011-05-17 Nick Clifton <nickc@redhat.com>
1509
a1d8754e
NC
1510 * config/rx/rx.c (rx_memory_move_cost): Include cost of register
1511 moves.
1512
4ffc4134
NC
1513 * config/rx/rx.md: Add peephole to remove redundant extensions
1514 after loads.
39960f7a
NC
1515 (bitset_in_memory): Use rx_restricted_mem_operand.
1516 (bitinvert_in_memory): Likewise.
1517 (bitclr_in_memory): Likewise.
4ffc4134 1518
b3db92ac
KI
15192011-05-17 Kazuhio Inaoka <kazuhiro.inaoka.ud@renesas.com>
1520 Nick Clifton <nickc@redhat.com>
1521
1522 * config/rx/rx.md: Add peepholes to match a register move followed
1523 by a comparison of the moved register. Replace these with an
1524 addition of zero that does both actions in one instruction.
1525
8637e32a
JJ
15262011-05-17 Jakub Jelinek <jakub@redhat.com>
1527
1528 PR target/48986
1529 * config/i386/sync.md (sync_old_add<mode>): Relax operand 2
1530 predicate to allow CONST_INT.
1531 (*sync_old_add_cmp<mode>): New insn and peephole2 for it.
1532
8023568e
JM
15332011-05-16 Joseph Myers <joseph@codesourcery.com>
1534
1535 * opts-common.c (opt_enum_arg_to_value): New.
1536 * opts.h (opt_enum_arg_to_value): Declare.
1537 * config/i386/i386.opt (fpmath): Remove.
1538 (mfpmath=): Use Enum, Init and Save.
1539 (fpmath_unit): New Enum and EnumValue entries.
1540 * config/i386/i386-c.c (ix86_pragma_target_parse): Update field
1541 name for function fpmath state.
1542 * config/i386/i386-opts.h (enum fpmath_unit): Move from i386.h.
1543 * config/i386/i386.c: Include diagnostic.h.
1544 (ix86_fpmath, IX86_FUNCTION_SPECIFIC_FPMATH): Remove.
d9403b0d 1545 (ix86_target_string): Take enum fpmath_unit value instead of string.
8023568e 1546 (ix86_debug_options): Update call to ix86_target_string.
d9403b0d 1547 (ix86_option_override_internal): Don't process fpmath strings here.
8023568e
JM
1548 (x86_function_specific_save, ix86_function_specific_restore):
1549 Don't handle fpmath state specially.
1550 (ix86_function_specific_print): Pass fpmath state to
1551 ix86_target_string instead of printing in this function.
1552 (ix86_valid_target_attribute_inner_p): Take gcc_options pointer.
1553 Handle enum attributes.
1554 (IX86_ATTR_ENUM, ix86_opt_enum): New.
1555 (ix86_valid_target_attribute_tree): Update option_strings
1556 handling. Handle fpmath as enum option.
1557 (ix86_can_inline_p): Update field names for function fpmath state.
1558 (ix86_expand_builtin): Update call to ix86_target_string.
1559 * config/i386/i386.h (enum fpmath_unit): Move to i386-opts.h.
1560 (ix86_fpmath): Remove.
1561 * config/i386/t-i386 (i386.o): Update dependencies.
1562
9e8d926e
JM
15632011-05-16 Joseph Myers <joseph@codesourcery.com>
1564
1565 PR preprocessor/48677
1566 * cppspec.c (lang_specific_driver): Set new_decoded_options[0]
1567 from decoded_options[0], not from itself.
1568
f6449011
UB
15692011-05-16 Uros Bizjak <ubizjak@gmail.com>
1570
1571 * config/i386/constraints.md (z): New constraint.
1572 * config/i386/i386.c (c): New mode attribute.
1573 (*call): Merge insn pattern from *call_0, *call_1, *call_1_rex64 and
1574 *call_1_rex64_large patterns using "P" mode iterator. Use "<c>zm"
1575 constraint for operand 0.
1576 (*call_vzeroupper): Ditto.
1577 (*call_rex64_ms_sysv): Ditto. Use "rzm" constraint for operand 0.
1578 (*call_rex64_ms_sysv_vzeroupper): Ditto.
1579 (*call_pop): Merge insn pattern from *call_pop_0 and *call_pop_1.
1580 Use "lzm" constraint for operand 0.
1581 (*call_pop_vzeroupper): Ditto.
1582 (*sibcall): Merge insn pattern from *sibcall_0, *sibcall_1 and
1583 *sibcall_1_rex64 patterns using "P" mode iterator. Use "Uz"
1584 constraint for operand 0.
1585 (*sibcall_vzeroupper): Ditto.
1586 (*sibcall_rex64_ms_sysv): Ditto.
1587 (*sibcall_rex64_ms_sysv_vzeroupper): Ditto.
1588 (*sibcall_pop): Merge insn pattern from *sibcall_pop_0 and
1589 *sibcall_pop_1. Use "Uz" constraint for operand 0.
1590 (*sibcall_pop_vzeroupper): Ditto.
1591 (*call_value): Merge insn pattern from *call_value_0, *call_value_1,
1592 *call_value_1_rex64 and *call_value_1_rex64_large patterns using "P"
1593 mode iterator. Use "<c>zm" constraint for operand 1.
1594 (*call_value_vzeroupper): Ditto.
1595 (*call_value_rex64_ms_sysv): Ditto. Use "rzm" constraint
d9403b0d 1596 for operand 1.
f6449011
UB
1597 (*call_value_rex64_ms_sysv_vzeroupper): Ditto.
1598 (*call_value_pop): Merge insn pattern from *call_value_pop_0 and
1599 *call_value_pop_1. Use "lzm" constraint for operand 1.
1600 (*call_value_pop_vzeroupper): Ditto.
1601 (*sibcall_value): Merge insn pattern from *sibcall_value_0,
1602 *sibcall_value_1 and *sibcall_value_1_rex64 patterns using "P"
1603 mode iterator. Use "Uz" constraint for operand 1.
1604 (*sibcall_value_vzeroupper): Ditto.
1605 (*sibcall_value_rex64_ms_sysv): Ditto.
1606 (*sibcall_value_rex64_ms_sysv_vzeroupper): Ditto.
1607 (*sibcall_value_pop): Rename from *sibcall_pop_1. Use "Uz"
1608 constraint for operand 1.
1609 (*sibcall_value_pop_vzeroupper): Ditto.
1610 (*tls_global_dynamic_64): Use constant_call_address_operand predicate
1611 and "z" constraint for operand 2.
1612 (*tls_global_dynamic_32_gnu): Ditto.
1613 (*tls_local_dynamic_base_32_gnu): Ditto.
1614 (*tls_local_dynamic_base_64): Ditto.
1615 (*tls_local_dynamic_32_once): Ditto.
1616 * config/i386/i386.c (ix86_output_call_insn): Remove int_addr argument.
1617 Update all callers.
1618 * config/i386/i386-protos.h (ix86_output_call_insn): Update prototype.
1619
c11b6902
RG
16202011-05-16 Richard Guenther <rguenther@suse.de>
1621
1622 * gimple.c (gimple_types_compatible_p_1): Use names of the
1623 type itself, not its main variant.
1624 (iterative_hash_gimple_type): Likewise.
1625
1e83b5f1
RG
16262011-05-16 Richard Guenther <rguenther@suse.de>
1627
f6449011
UB
1628 * gimple.c (iterative_hash_gimple_type): Re-instantiate change to
1629 always visit pointer target and function result and argument types.
1e83b5f1 1630
62e36382
JM
16312011-05-16 Jason Merrill <jason@redhat.com>
1632
1633 PR c++/48999
1634 * tree-inline.c (copy_statement_list): Put back recursion.
1635
687027a4
GJL
16362011-05-16 Georg-Johann Lay <avr@gjlay.de>
1637
1638 PR target/27663
1639 PR target/41076
1640 * config/avr/predicates.md (const_8_16_24_operand): New predicate.
1641 * config/avr/avr.md ("*ior<mode>qi.byte0",
1642 "*ior<mode>qi.byte1-3"): New define_insn_and_split patterns.
1643
f24a5190
GJL
16442011-05-16 Georg-Johann Lay <avr@gjlay.de>
1645
1646 PR target/45099
1647 * config/avr/avr.c (avr_function_arg_advance): Error if a fixed
1648 register is needed for a function argument.
1649
3066f593
RG
16502011-05-16 Richard Guenther <rguenther@suse.de>
1651
1652 * gimple.c (struct type_hash_pair): New type.
1653 (type_hash_pair_compare): New function.
f6449011 1654 (iterative_hash_gimple_type): Mix in SCC member hashes in hash-order.
3066f593 1655
b2ab2cf4
RE
16562011-05-16 Revital Eres <revital.eres@linaro.org>
1657
f6449011 1658 * modulo-sched.c (doloop_register_get): Check !DEBUG_INSN_P first.
b2ab2cf4 1659
dfb737fc
UB
16602011-05-15 Uros Bizjak <ubizjak@gmail.com>
1661
1662 * config/i386/i386.md (floating point move splitters): Fix
1663 usage of standard_80387_constant_p.
f6449011 1664 * config/i386/i386.c (ix86_preferred_reload_class): Ditto.
dfb737fc 1665
8caa1de0
UB
16662011-05-15 Uros Bizjak <ubizjak@gmail.com>
1667
1668 * config/i386/i386.md (*movdf_internal): Simplify insn condition.
1669
8a519095
EB
16702011-05-14 Eric Botcazou <ebotcazou@adacore.com>
1671
1672 * tree-ssa-loop-im.c (SET_ALWAYS_EXECUTED_IN): New macro.
1673 (fill_always_executed_in): Use [SET_]ALWAYS_EXECUTED_IN.
1674 (tree_ssa_lim_finalize): Likewise.
1675
479fecd3
UB
16762011-05-14 Uros Bizjak <ubizjak@gmail.com>
1677
1678 * config/i386/constraint.md (Yd, Yx): New register constraints.
1679 * config/i386/i386.md (*pushdf): Merge with *pushdf_nointeger. Use
1680 Yd conditional register constraint.
1681 (*movtf_internal): Use standard_sse_constant_opcode.
1682 (*movxf_internal): Merge with *movxf_internal_nointeger. Use
1683 Yx conditional register constraint.
1684 (*movdf_internal): Merge with *movdf_internal_nointeger. Use
1685 Yd conditional register constraint. Use standard_sse_constant_p to
1686 check for valid SSE constants and call standard_sse_constant_opcode to
1687 output SSE insn.
1688 (*movsf_internal): Use standard_sse_constant_p to check for valid SSE
1689 constants and call standard_sse_constant_opcode to output SSE insn.
1690 * config/i386/i386.c (ix86_option_ovverride_internal): Set
1691 TARGET_INTEGER_DFMODE_MOVES for 64bit targets. Clear it when
1692 optimize_size is set.
1693 (standard_sse_constant_opcode): Output conditional AVX insn templates.
1694
2d8c9ad5
TB
16952011-05-14 Tobias Burnus <burnus@net-b.de>
1696
1697 * doc/invoke.texi (-Ofast): Also enables -fstack-arrays.
1698
411a20d6
MJ
16992011-05-13 Martin Jambor <mjambor@suse.cz>
1700
1701 * ipa-prop.c (ipa_cst_from_jfunc): New function.
1702 * ipa-prop.h (ipa_cst_from_jfunc): Declare.
1703 * ipa-inline-analysis.c (evaluate_conditions_for_edge): Use it.
1704 (evaluate_conditions_for_ipcp_clone): Removed.
1705 (estimate_ipcp_clone_size_and_time): Accept vector of known constants.
1706 * ipa-cp.c (ipcp_estimate_growth): Build vector of known constants.
1707 * ipa-inline.h (estimate_ipcp_clone_size_and_time): Update.
1708
dc764d10
EB
17092011-05-13 Eric Botcazou <ebotcazou@adacore.com>
1710
1711 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Adjust dump message.
1712 * regcprop.c (copyprop_hardreg_forward): Test MAY_HAVE_DEBUG_INSNS in
1713 lieu of MAY_HAVE_DEBUG_STMTS.
1714 * tree-cfgcleanup.c (remove_forwarder_block): Do not attempt to move
1715 debug statements if !MAY_HAVE_DEBUG_STMTS.
1716
9f47a24e
MT
17172011-05-13 Martin Thuresson <martint@google.com>
1718
1719 PR gcov-profile/47793
1720 * libgcov.c (gcov_exit): Support relative profile paths.
1721 * doc/invoke.texi (-fprofile-dir): Update for above change.
1722
b8a71aed
RG
17232011-05-13 Richard Guenther <rguenther@suse.de>
1724
1725 * gimple.c (gimple_canonical_types_compatible_p): Do not use
1726 type-pair caching, do not compare hashes.
1727
eb9f9259
NF
17282011-05-13 Nathan Froyd <froydnj@codesourcery.com>
1729
1730 PR middle-end/48965
1731 * tree-cfg.c (edge_to_cases_cleanup): Return true.
1732 (verify_expr) [CASE_LABEL_EXPR]: Add checking.
1733
3c6cbf7a
KT
17342011-05-13 Kai Tietz <ktietz@redhat.com>
1735
1736 * gimplify.c (gimplify_expr): Make sure operand is boolified.
1737 * tree-cfg.c (verify_gimple_assign_unary): Check for boolean
1738 compatible type for TRUTH_NOT_EXPR.
1739
2e7f5dc0
L
17402011-05-13 H.J. Lu <hongjiu.lu@intel.com>
1741
dc764d10 1742 * config/i386/i386.c (ix86_save_reg): Change return type to bool.
2e7f5dc0
L
1743 (ix86_hard_regno_mode_ok): Change return value to bool. Use
1744 can_create_pseudo_p ().
1745
e834e95c
RG
17462011-05-13 Richard Guenther <rguenther@suse.de>
1747
1748 PR lto/48978
1749 * gimple.c (iterative_hash_gimple_type): Revert change in
1750 pointer target and function result and argument hashing.
1751
34203483
UB
17522011-05-13 Uros Bizjak <ubizjak@gmail.com>
1753
1754 * config/i386/i386.md (*movxf_internal): Use !can_create_pseudo ().
1755 (*movxf_internal_nointeger): Ditto.
1756 (*movdf_internal_rex64): Ditto.
1757 (*movdf_internal): Ditto.
1758 (*movdf_internal_nointeger): Ditto.
1759 (*movsf_internal): Ditto.
1760 (sincos splitters): Use can_create_pseudo ().
1761
7eb68c06
JM
17622011-05-13 Joseph Myers <joseph@codesourcery.com>
1763
1764 * config/i386/i386-opts.h: New.
1765 * gcc/config/i386/i386.c (stringop_alg, ix86_cmodel,
1766 ix86_asm_dialect, ix86_regparm, ix86_abi, ix86_branch_cost,
1767 ix86_section_threshold): Remove.
1768 (ix86_handle_option): Move MAX_CODE_ALIGN define here. Handle
1769 OPT_malign_loops_, OPT_malign_jumps_, OPT_malign_functions_ and
1770 OPT_mbranch_cost_.
1771 (ix86_option_override_internal): Don't decode strings for options
1772 other than -march=, -mtune= and -mfpmath=. Don't allow for
1773 __attribute__ uses in remaining diagnostics for options with
34203483 1774 string arguments. Don't check for integer arguments being negative.
7eb68c06 1775 * gcc/config/i386/i386.h (enum stringop_alg, enum calling_abi,
34203483 1776 enum tls_dialect, enum cmodel, enum asm_dialect): Move to i386-opts.h.
7eb68c06
JM
1777 (ix86_abi, ix86_tls_dialect, ix86_cmodel, ix86_asm_dialect,
1778 ix86_branch_cost, ix86_section_threshold): Remove.
1779 * gcc/config/i386/i386.opt (config/i386/i386-opts.h): New
1780 HeaderInclude.
1781 (malign-functions=, malign-jumps=, malign-loops=): Use UInteger
1782 but not Var.
1783 (masm=): Use Enum and Init.
1784 (asm_dialect): New Enum and EnumValue entries.
1785 (mbranch-cost=): Use UInteger.
1786 (mlarge-data-threshold=): Use UInteger and Init.
1787 (mcmodel=): Use Enum and Init.
1788 (cmodel): New Enum and EnumValue entries.
1789 (mpc): Replace with separate mpc32, mpc64 and mpc80 entries.
1790 (mpreferred-stack-boundary=, mincoming-stack-boundary=,
1791 mregparm=): Use UInteger.
1792 (mstringop-strategy=): Use Enum and Init.
1793 (stringop_alg): New Enum and EnumValue entries.
1794 (mtls-dialect=): Use Enum and Init.
1795 (tls_dialect): New Enum and EnumValue entries.
1796 (mabi=): Use Enum and Init.
1797 (calling_abi): New Enum and EnumValue entries.
1798 (mveclibabi=): Use Enum and Init.
1799 (ix86_veclibabi): New Enum and EnumValue entries.
1800
f67e203c
NC
18012011-05-13 Nick Clifton <nickc@redhat.com>
1802
34203483
UB
1803 * config/rx/rx.md (mov expander): Fix use of rx_legitimate_constant_p.
1804 * config/rx/rx-protos.h (rx_legitimate_constant_p): Rename prototype.
f67e203c 1805
221df0b6
KT
18062011-05-13 Kai Tietz <ktietz@redhat.com>
1807
1808 PR middle-end/48984
1809 * gimplify.c (gimplify_expr): Check for boolean_type_node instead
1810 for BOOLEAN_TYPE for TRUTH-NOT/AND/OR/XOR.
1811 (gimple_boolify): Check for cast for boolean_type_node instead for
1812 BOOLEAN_TYPE.
1813
208cb8cb
RG
18142011-05-13 Richard Guenther <rguenther@suse.de>
1815
1816 PR tree-optimization/48172
1817 * tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid
1818 multiplying by number of iterations for equal step.
1819 (vect_create_cond_for_alias_checks): Likewise.
1820
b88ecf55
AS
18212011-05-13 Andreas Schwab <schwab@redhat.com>
1822
1823 * configure.ac: Use AS_HELP_STRING throughout.
1824 * configure: Regenerate.
1825
569b527e
L
18262011-05-12 H.J. Lu <hongjiu.lu@intel.com>
1827
34203483 1828 * config/i386/i386.c (ix86_save_reg): Change maybe_eh_return to bool.
569b527e
L
1829 (ix86_emit_restore_regs_using_mov): Likewise.
1830 (ix86_emit_restore_sse_regs_using_mov): Likewise.
1831
8b9a1428
AS
18322011-05-12 Anatoly Sokolov <aesok@post.ru>
1833
1834 * config/sparc/sparc.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P,
1835 SYMBOLIC_CONST, RTX_OK_FOR_BASE_P, RTX_OK_FOR_INDEX_P): Remove.
1836 (RTX_OK_FOR_OFFSET_P, RTX_OK_FOR_OLO10_P): Move to...
1837 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P,
1838 RTX_OK_FOR_OLO10_P): ...here.
1839 (sparc_mode_dependent_address_p): Use symbolic_operand instead of
1840 SYMBOLIC_CONST.
1841
1d15f620
KT
18422011-05-12 Kai Tietz <ktietz@redhat.com>
1843
1844 * gimplify.c (gimple_boolify): Re-boolify expression
1845 arguments even if expression type is of kind BOOLEAN_TYPE.
1846 (gimplify_boolean_expr): Removed.
1847 (gimplify_expr): Boolify truth opcodes AND, ANDIF, OR, ORIF,
1848 and XOR. Additional take care that we keep expression's type.
1849 * tree-cfg.c (verify_gimple_assign_binary): Adjust check for type
1850 of TRUTH_AND|OR|XOR_EXPR.
1851
c2b5fc8d
JJ
18522011-05-12 Jakub Jelinek <jakub@redhat.com>
1853
1854 PR tree-optimization/48975
1855 * tree-if-conv.c (combine_blocks): Call free_bb_predicate
1856 on all bbs here and free and clear ifc_bbs at the end.
1857
61332f77
RG
18582011-05-12 Richard Guenther <rguenther@suse.de>
1859
1860 * gimple.c (gtc_visit): Compare TREE_ADDRESSABLE, handle
1861 NULLPTR_TYPE similar to VOID_TYPE. Defer type-leader lookup
1862 until after simple checks.
1863 (gimple_types_compatible_p): Likewise.
1864 (iterative_hash_gimple_type): Always hash pointer targets
1865 and function return and argument types.
1866 (iterative_hash_canonical_type): Do not hash TYPE_QUALS,
1867 hash TYPE_ALIGN. Do not hash TYPE_MIN/MAX_VALUE.
1868 (gimple_canonical_types_compatible_p): Compare TREE_ADDRESSABLE,
1869 handle NULLPTR_TYPE similar to VOID_TYPE. Handle non-aggregates
1870 completely in the simple compare section.
1871 (gimple_register_canonical_type): Query the cache again after
1872 registering.
1873
e2a3a5f1
RG
18742011-05-12 Richard Guenther <rguenther@suse.de>
1875
1876 PR tree-optimization/48172
1877 * tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
1878 the number of iterations from the segment size calculation.
1879 (vect_create_cond_for_alias_checks): Adjust.
1880
2c703f3a
JJ
18812011-05-12 Jakub Jelinek <jakub@redhat.com>
1882
1883 PR debug/48967
1884 * var-tracking.c (use_narrower_mode_test) <case REG>: Return 1
1885 if validate_subreg fails.
1886
18872011-05-12 Hariharan Sandanagobalane <hariharan@picochip.com>
b27981e0
HS
1888
1889 * ira.c (clarify_prohibited_class_mode_regs): Prevent the function from
1890 accessing beyond the end of REGNO_REG_CLASS array by stopping the loop
1891 early.
1892
87e91fca
DD
18932011-05-12 DJ Delorie <dj@redhat.com>
1894
d53903d6 1895 * config/rx/rx.c (rx_builtins): New arrays - holds builtin functions.
87e91fca
DD
1896 (ADD_RX_BUILTIN1, ADD_RX_BUILTIN2, ADD_RX_BUILTIN3): Install
1897 created builtin into rx_builtins array.
1898 (rx_builtin_decl): New function.
34203483 1899 (TARGET_BUITLIN_DECL): Define. Include gt-rx.h.
87e91fca 1900
5f2f13fd
DD
19012011-05-12 DJ Delorie <dj@redhat.com>
1902 Nick Clifton <nickc@redhat.com>
1903
1904 * config/rx/rx.h (HAVE_PRE_DECREMENT): Fix typo.
1905 * config/rx/rx.c (CC_FLAG_FP): Fix comment.
1906 (rx_is_legitimate_address): Add pre-decrement and post-increment
1907 addressing in HImode and QImode. Fix test for out of range
1908 REG+INT addressing.
87e91fca 1909 (rx_legitimate_constant_p): Rename to rx_is_legitimate_constant.
34203483 1910 (rx_align_for_label): Test label before extracting its usage count.
5f2f13fd 1911 (rx_adjust_insn_lengths): Fix selection of insn codes.
87e91fca 1912 (TARGET_LEGITIMATE_CONSTANT_P): Use renamed function.
5f2f13fd 1913
57421f45
JM
19142011-05-11 Jason Merrill <jason@redhat.com>
1915
1916 * tree.c (type_hash_canon): Use struct tree_type_non_common.
1917
898c90c0
EB
19182011-05-11 Eric Botcazou <ebotcazou@adacore.com>
1919
1920 * cfgrtl.c (commit_one_edge_insertion): Remove always-true test and
1921 reindent the subsequent block.
1922
79bec923
ST
19232011-05-11 Satoru Takabayashi <satorux@google.com>
1924 Paul Pluzhnikov <ppluzhnikov@google.com>
1925
34203483 1926 * doc/install.texi (Configuration): Document --with-linker-hash-style.
e77e2cbb
PP
1927 * gcc.c (init_spec): Handle LINKER_HASH_STYLE.
1928 * config.in: Add LINKER_HASH_STYLE.
1929 * configure.ac: Add --with-linker-hash-style.
1930 * configure: Regenerate.
79bec923 1931
d0340959
RG
19322011-05-11 Richard Guenther <rguenther@suse.de>
1933
1934 PR middle-end/48964
1935 * gimple.c (iterative_hash_canonical_type): Fix typo.
1936
cb032fee
UB
19372011-05-11 Uros Bizjak <ubizjak@gmail.com>
1938
1939 * config/i386/i386.c (legitimize_tls_address)
479fecd3 1940 <case TLS_MODEL_GLOBAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
cb032fee
UB
1941 expanders directly for TARGET_GNU2_TLS. Determine pic and
1942 __tls_get_addr symbol reference here. Update call to
1943 gen_tls_global_dynamic_{32,64} for added arguments.
479fecd3 1944 <case TLS_MODEL_LOCAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
cb032fee
UB
1945 expanders directly for TARGET_GNU2_TLS. Determine
1946 __tls_get_addr symbol reference here. Update call to
1947 gen_tls_local_dynamic_base_{32,64} for added arguments. Attach
1948 unique UNSPEC REG_EQUIV to libcall block.
1949 (ix86_tls_get_addr): Declare static.
1950 * config/i386/i386-protos.h (ix86_tls_get_addr): Remove declaration.
1951 * config/i386/i386.md (tls_global_dynamic_32): Add operand 2 and 3.
1952 Do not determine pic and __tls_get_addr symbol reference here. Do not
1953 call gen_tls_dynamic_gnu2_32 for TARGET_GNU2_TLS.
1954 (tls_local_dynamic_base_32): Ditto for operands 1 and 2.
1955 (tls_global_dynamic_64): Add operand 2. Do not determine
1956 __tls_get_addr symbol reference here. Do not call
1957 gen_tls_dynamic_gnu2_64 for TARGET_GNU2_TLS here.
1958 (tls_local_dynamic_base64): Ditto for operand 1.
1959
6d3cc8f0
EB
19602011-05-11 Eric Botcazou <ebotcazou@adacore.com>
1961
1962 * function.c (expand_function_start): Initialize stack_check_probe_note
1963 only if the generic stack checking mechanism is used.
1964
51e020fc
RG
19652011-05-11 Richard Guenther <rguenther@suse.de>
1966
1967 PR tree-optimization/15256
1968 * tree-ssa-forwprop.c (simplify_bitwise_binary): Canonicalize
1969 (A & B) | C, combine (A op CST1) op CST2.
1970 (tree_ssa_forward_propagate_single_use_vars): Only bother to
1971 visit assigns that have uses.
1972
51545682
NF
19732011-05-11 Nathan Froyd <froydnj@codesourcery.com>
1974
cb032fee 1975 * ggc-page.c (extra_order_size_table): Use struct tree_type_non_common.
51545682
NF
1976 * lto-streamer-in.c (unpack_ts_type_value_fields): Rename to...
1977 (unpack_ts_type_common_value_fields): ...this. Update comment.
1978 (unpack_value_fields): Adjust for renaming.
1979 (lto_input_ts_type_tree_pointers): Split into...
1980 (lto_input_ts_type_common_tree_pointer): ...this and...
1981 (lto_input_ts_type_non_common_tree_pointers): ...this.
1982 (lto_input_tree_pointers): Adjust for above split.
1983 * lto-streamer-out.c (pack_ts_type_value_fields): Rename to...
1984 (pack_ts_type_common_value_fields): ...this. Update comment.
1985 (lto_output_ts_type_tree_pointers): Split into...
1986 (lto_output_ts_type_common_tree_pointers): ...this and...
1987 (lto_output_ts_type_non_common_tree_pointers): ...this.
1988 (lto_output_tree_pointers): Adjust for above split.
1989 * lto-streamer.c (check_handled_ts_structures): Mark TS_TYPE_COMMON,
1990 TS_TYPE_WITH_LANG_SPECIFIC, and TS_TYPE_NON_COMMON as handled.
1991 * stor-layout.c (vector_type_mode): Adjust location of mode field.
1992 * tree.h (MARK_TS_TYPE_COMMON, MARK_TS_TYPE_WITH_LANG_SPECIFIC):
1993 Define.
1994 (struct tree_type): Split into...
1995 (struct tree_type_common: ...this and...
1996 (struct tree_type_with_lang_specific): ...this and...
1997 (struct tree_type_non_common): ...this. Adjust accessor macros
1998 accordingly.
1999 (TYPE_VALUES_RAW): Define.
2000 (union tree_node): Update for above changes.
2001 * tree.c (tree_node_structure_for_code) [tcc_type]: Return
2002 TS_TYPE_NON_COMMON.
2003 (initialize_tree_contains_struct) [TS_TYPE]: Use TS_TYPE_COMMON.
2004 Add TS_TYPE_WITH_LANG_SPECIFIC and TS_TYPE_NON_COMMON.
2005 (tree_code_size) [tcc_type]: Use struct tree_type_non_common.
2006 * treestructu.def (TS_TYPE): Remove.
2007 (TS_TYPE_COMMON, TS_TYPE_WITH_LANG_SPECIFIC, TS_TYPE_NON_COMMON):
2008 Define.
2009
b03c3082
JJ
20102011-05-11 Jakub Jelinek <jakub@redhat.com>
2011
2012 PR debug/48159
2013 * tree-ssa.c (reset_debug_uses): New function.
2014 * tree-flow.h (reset_debug_uses): New prototype.
2015 * tree-data-ref.c (stmts_from_loop): Ignore debug stmts.
2016 * tree-loop-distribution.c (generate_loops_for_partition): Call
2017 reset_debug_uses on the stmts that will be removed. Keep around
2018 all debug stmts, don't count them as bits in partition bitmap.
2019 (generate_builtin): Don't count debug stmts or labels as bits in
2020 partition bitmap.
2021
b5e04de5
RG
20222011-05-11 Richard Guenther <rguenther@suse.de>
2023
2024 * gimple.c (gimple_type_hash_1): Merge with ...
2025 (gimple_type_hash): ... this.
2026 (gtc_visit): Remove mode parameter and simplify accordingly.
2027 (gimple_types_compatible_p_1): Likewise.
2028 (gimple_types_compatible_p): Likewise.
2029 (iterative_hash_gimple_type): Likewise.
2030 (visit): Likewise.
2031 (gimple_type_eq): Adjust.
2032
fc6970e4
RE
20332011-05-11 Revital Eres <revital.eres@linaro.org>
2034
2035 * ddg.c (create_ddg_dep_from_intra_loop_link): If a true dep edge
2036 enters the branch create an anti edge in the opposite direction
2037 to prevent the creation of reg-moves.
2038 * modulo-sched.c: Adjust comment to reflect the fact we are
2039 scheduling closing branch.
2040 (PS_STAGE_COUNT): Rename to CALC_STAGE_COUNT and redefine.
2041 (stage_count): New field in struct partial_schedule.
2042 (calculate_stage_count): New function.
2043 (normalize_sched_times): Rename to reset_sched_times and handle
2044 incrementing the sched time of the nodes by a constant value
2045 passed as parameter.
2046 (duplicate_insns_of_cycles): Skip closing branch.
2047 (sms_schedule_by_order): Schedule closing branch.
2048 (ps_insn_find_column): Handle closing branch.
2049 (sms_schedule): Call reset_sched_times and adjust the code to
2050 support scheduling of the closing branch.
2051 (ps_insert_empty_row): Update calls to normalize_sched_times
2052 and rotate_partial_schedule functions.
2053
41a58a92
RG
20542011-05-11 Richard Guenther <rguenther@suse.de>
2055
2056 PR middle-end/48953
2057 * tree-inline.c (remap_gimple_op_r): Also remap types of MEM_REFs.
2058
e9f8dcf9
JM
20592011-05-11 Joseph Myers <joseph@codesourcery.com>
2060
cb032fee
UB
2061 * opts.c (finish_options): Move warning settings from process_options.
2062 * toplev.c (process_options): Move warning settings to finish_options.
e9f8dcf9 2063
10c224a9
RG
20642011-05-11 Richard Guenther <rguenther@suse.de>
2065
2066 PR tree-optimization/18041
2067 * tree-ssa-forwprop.c (simplify_bitwise_and): Rename to ...
2068 (simplify_bitwise_binary): ... this. Handle operand conversions
2069 by applying them to the result instead.
2070 (tree_ssa_forward_propagate_single_use_vars): Adjust. CSE tree code.
2071
825b27de
RG
20722011-05-11 Richard Guenther <rguenther@suse.de>
2073
2074 * gimple.c (gimple_canonical_types_compatible_p): Split out
2075 from gimple_types_compatible_p and friends. Do not recurse
2076 to pointed-to types.
2077 (gimple_canonical_type_eq): Use it.
2078 (iterative_hash_canonical_type): Split out from
2079 iterative_hash_gimple_type and friends. Do not recurse
2080 to pointed-to types.
2081 (gimple_canonical_type_hash): Use it, allocate the hash here.
2082
ca756625
RE
20832011-05-11 Revital Eres <revital.eres@linaro.org>
2084
2085 * modulo-sched.c (doloop_register_get): Ignore DEBUG_INSNs while
2086 recognizing doloop.
2087
b8abece3
RE
20882011-05-11 Revital Eres <revital.eres@linaro.org>
2089
2090 * loop-doloop.c (doloop_condition_get): Use prev_nondebug_insn
2091 instead of PREV_INSN.
2092
ce7b3761
RE
20932011-05-11 Revital Eres <revital.eres@linaro.org>
2094
2095 * modulo-sched.c (sms_schedule): Support new form of doloop pattern
2096 * loop-doloop.c (doloop_condition_get): Likewise.
2097 * config/arm/thumb2.md (*thumb2_addsi3_compare0): Remove "*".
2098 (doloop_end): New.
2099 * config/arm/arm.md (*addsi3_compare0): Remove "*".
2100
a9dc9d37
NF
21012011-05-10 Nathan Froyd <froydnj@codesourcery.com>
2102
2103 * tree.def (CASE_LABEL_EXPR): Add an operand.
2104 * tree.h (CASE_CHAIN): Use TREE_OPERAND instead of TREE_CHAIN.
2105
96703596
JM
21062011-05-10 Joseph Myers <joseph@codesourcery.com>
2107
2108 * c-decl.c (c_override_global_bindings_to_false): Remove.
2109 (global_bindings_p): Don't check
2110 c_override_global_bindings_to_false.
2111 * c-tree.h (c_override_global_bindings_to_false): Remove.
2112 * c-typeck.c (composite_type): Don't set
2113 c_override_global_bindings_to_false.
2114
dbcc9f08
MM
21152011-05-10 Michael Meissner <meissner@linux.vnet.ibm.com>
2116
2117 PR target/48857, 48495
2118 * config/rs6000/rs6000.h (VSX_SCALAR_MODE): Delete.
2119 (VSX_MODE): Ditto.
2120 (VSX_MOVE_MODE): Ditto.
2121 (ALTIVEC_OR_VSX_VECTOR_MODE): New macro, combine all Altivec and
2122 VSX vector types. Add V2DImode.
2123 (HARD_REGNO_CALLER_SAVE_MODE): Use it instead of
2124 ALTIVEC_VECTOR_MODE and VSX_VECTOR_MODE calls.
2125 (MODES_TIEABLE_P): Ditto.
2126
2127 * config/rs6000/rs6000.c (rs6000_emit_move): Use
2128 ALTIVEC_OR_VSX_MODE instead of ALTIVEC_VECTOR_MODE and
2129 VSX_VECTOR_MODE.
2130 (init_cumulative_args): Ditto.
2131 (rs6000_function_arg_boundary): Ditto.
2132 (rs6000_function_arg_advance_1): Ditto.
2133 (rs6000_function_arg): Ditto.
2134 (rs6000_function_ok_for_sibcall): Ditto.
2135 (emit_frame_save): Ditto.
2136 (rs6000_function_value): Ditto.
2137 (rs6000_libcall_value): Ditto.
2138
4a68b4ca
JM
21392011-05-10 Joseph Myers <joseph@codesourcery.com>
2140
2141 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
2142 i386/darwin-lib.h to $libgcc_tm_file.
2143 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Remove.
2144
bcb521e9
JM
21452011-05-10 Joseph Myers <joseph@codesourcery.com>
2146
2147 * doc/sourcebuild.texi (Back End): Mention contrib/config-list.mk.
2148
f10d3ac9
JM
21492011-05-10 Joseph Myers <joseph@codesourcery.com>
2150
cb032fee 2151 * config/rs6000/genopt.sh, config/rs6000/rs6000-cpus.def: New files.
f10d3ac9
JM
2152 * config/rs6000/rs6000-tables.opt: New file (generated).
2153 * config.gcc (powerpc*-*-*, rs6000*-*-*): Add
2154 rs6000/rs6000-tables.opt to extra_options.
2155 * config/rs6000/rs6000-opts.h (RS6000_CPU_OPTION_NATIVE): Define.
2156 * config/rs6000/rs6000.c (rs6000_select): Remove.
2157 (processor_target_table): Move contents to rs6000-cpus.def.
2158 (darwin_rs6000_override_options): Check
2159 global_options_set.x_rs6000_cpu_index instead of
2160 rs6000_select[1].string.
2161 (rs6000_option_override_internal): Likewise.
2162 (rs6000_handle_option): Don't assert that global structures are in
2163 use. Don't handle OPT_mcpu_ and OPT_mtune_ here.
2164 (rs6000_default_cpu): New variable.
2165 (rs6000_file_start): Set it instead of local default_cpu. Check
2166 rs6000_default_cpu, global_options_set.x_rs6000_cpu_index and
2167 global_options_set.x_rs6000_tune_index instead of rs6000_select.
2168 (rs6000_darwin_file_start): Check rs6000_default_cpu and
2169 global_options_set.x_rs6000_cpu_index instead of rs6000_select.
2170 * config/rs6000/rs6000.h (struct rs6000_cpu_select,
2171 rs6000_select): Remove.
2172 * config/rs6000/rs6000.opt (rs6000_cpu_index, rs6000_tune_index):
2173 Remove.
2174 (mcpu=, mtune=): Use Var, Init, Enum and Save.
2175 * config/rs6000/t-rs6000
2176 ($(srcdir)/config/rs6000/rs6000-tables.opt): New.
2177 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
2178 global_options_set.x_rs6000_cpu_index instead of
2179 rs6000_select[1].string.
2180 * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
2181 global_options_set.x_rs6000_cpu_index instead of
2182 rs6000_select[1].string.
2183
80cf2e08
JM
21842011-05-10 Joseph Myers <joseph@codesourcery.com>
2185
2186 * config.gcc (libgcc_tm_file): Define instead of including files
2187 from ../../libgcc/config/ in tm_file.
cb032fee 2188 * configure.ac (libgcc_tm_file_list, libgcc_tm_include_list): Define.
80cf2e08
JM
2189 * configure: Regenerate.
2190 * Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list,
2191 libgcc_tm.h, cs-libgcc_tm.h): New.
2192 (TM_H): Include libgcc_tm.h and $(libgcc_tm_file_list).
2193 (clean): Remove libgcc_tm.h.
2194 * config/arm/symbian.h (RENAME_LIBRARY): Remove.
2195 * mkconfig.sh: Include libgcc_tm.h in tm.h if USED_FOR_TARGET.
2196 * system.h (DECLARE_LIBRARY_RENAMES): Poison.
2197
fd01a351
GJL
21982011-05-10 Georg-Johann Lay <avr@gjlay.de>
2199
2200 PR target/48896
2201 * config/avr/avr.c (avr_ret_register): Return unsigned int
2202 instead of int.
2203 (avr_function_value): Mark fn_decl_or_type as unused, don't pass
2204 it to avr_libcall_value.
2205 avr_expand_builtin): Use EXPAND_NORMAL as arg 4 in calls to
2206 expand_expr.
2207 (avr_expand_binop_builtin): Ditto.
2208 (avr_expand_unop_builtin): Ditto.
2209
34cc3c86
DD
22102011-05-10 DJ Delorie <dj@redhat.com>
2211
2212 * config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define.
2213 (LABEL_ALIGN_AFTER_BARRIER): Pass label to rx_align_for_label
2214 * config/rx/rx.c (rx_align_for_label): Add label and
2215 uses_threshold parameters. Do not align when the label is not
2216 used enough.
2217 * config/rx/rx-protos.h (rx_align_for_label): Update prototype.
2218
be173289
RG
22192011-05-10 Richard Guenther <rguenther@suse.de>
2220
2221 * tree-ssa-forwprop.c (combine_conversions): Pattern-match
2222 a series of conversions and apply foldings similar to what
2223 fold-const does.
2224 (tree_ssa_forward_propagate_single_use_vars): Call it.
2225
e7f78021
JJ
22262011-05-10 Jakub Jelinek <jakub@redhat.com>
2227
6ae70ea2
JJ
2228 PR tree-optimization/48611
2229 PR tree-optimization/48794
2230 * tree-eh.c (remove_unreachable_handlers): Don't remove regions
2231 referenced from RESX or EH_DISPATCH arguments.
2232
e7f78021
JJ
2233 PR debug/48928
2234 * dfp.c (decimal_to_decnumber): Handle conversion from
2235 dconst{1,2,m1,half}.
2236
fca132b9
UB
22372011-05-09 Uros Bizjak <ubizjak@gmail.com>
2238
2239 * config/i386/i386.c (ix86_autovectorize_vector_sizes): Return 0
2240 for !flag_prefer_avx128.
2241 (ix86_preferred_simd_mode): Return word_mode for DFmode without SSE2.
2242
e4c03378
EB
22432011-05-09 Eric Botcazou <ebotcazou@adacore.com>
2244
2245 * fold-const.c (fold_range_test): Pass LOC to build_range_check.
2246 (fold_ternary_loc): Use expr_location_or.
2247
805d6a75
L
22482011-05-09 H.J. Lu <hongjiu.lu@intel.com>
2249
2250 PR debug/48853
2251 * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: If
2252 POINTERS_EXTEND_UNSIGNED is defined, don't give up if mode is
2253 Pmode and mem_mode is not VOIDmode.
2254
e4c03378 22552011-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
b5da71d4 2256
e4c03378
EB
2257 * tree.h (TYPE_UNQUALIFIED, TYPE_QUAL_CONST, TYPE_QUAL_VOLATILE,
2258 TYPE_QUAL_RESTRICT): Convert to enum.
b5da71d4 2259
51e7f377
UB
22602011-05-09 Uros Bizjak <ubizjak@gmail.com>
2261
2262 * config/i386/predicates.md (const_pow2_1_to_2_operand): Remove.
2263 (const_pow2_1_to_8_operand): Ditto.
2264 (const_pow2_1_to_128_operand): Ditto.
2265 (const_pow2_1_to_32768_operand): Ditto.
2266 * config/i386/mmx.md (*mmx_pinsrw): Use const_int_operand instead of
2267 const_pow2_1_to_8_operand for operand 3 predicate. Use exact_log2
2268 in insn constraint to check integer value of operand 3.
2269 * config/i386/sse.md (*vec_setv4sf_sse4_1): Ditto.
2270
2271 (PINSR_MODE): New mode iterator.
2272 (sse2p4_1): New mode attribute.
2273 (<sse2p4_1>_pinsr<ssemodesuffix>): Merge insn from sse4_1_pinsrb,
2274 sse2_pinsrw, sse4_1_pinsrd and sse4_1_pinsrq using PINSR_MODE mode
2275 iterator. Use const_int_operand instead of
2276 const_pow2_1_to_{2,8,128,32768}_operand for operand 3 predicate. Use
2277 exact_log2 in insn constraint to check integer value of operand 3.
2278
22792011-05-09 Uros Bizjak <ubizjak@gmail.com>
2280
2281 * config/i386/sse.md (blendbits): Remove mode attribute.
2282 (<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand
2283 instead of const_0_to_<blendbits>_operand for operand 3 predicate.
2284 Check integer value of operand 3 in insn constraint.
2285
0ca8de87
RG
22862011-05-09 Richard Guenther <rguenther@suse.de>
2287
2288 * lto-symtab.c (lto_cgraph_replace_node): Use types_compatible_p
2289 for diagnostics.
2290 (lto_symtab_merge): Likewise. Do not register types here.
2291 (lto_symtab_merge_decls_2): Likewise.
2292 (lto_symtab_merge_decls_1): Likewise.
2293 * gimple.h (enum gtc_mode, gimple_types_compatible_p): Do not declare.
2294 * gimple.c (enum gtc_mode): Declare.
2295 (gimple_types_compatible_p): Make static.
2296
a9e6994a
AK
22972011-05-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2298
2299 * config/s390/s390.md (TD/TF mem to reg move splitter): Make the
2300 temporary register to match Pmode.
2301
fb55d62e
UB
23022011-05-09 Uros Bizjak <ubizjak@gmail.com>
2303
2304 * config/i386/sse.md (*vec_concatv4si): Merge from *vec_concatv4si_1
2305 and *vec_concatv4si_1_avx.
2306
eb1485a6
UB
23072011-05-09 Uros Bizjak <ubizjak@gmail.com>
2308
2309 PR rtl-optimization/48927
2310 * ira-conflicts.c (commutative_constraint_p): Use
2311 recog_data.alternative_enabled_p to disable alternatives where
2312 "enabled" attribute is false.
2313 (get_dup_num): Ditto.
2314 * ira-lives.c (single_reg_class): Ditto.
2315 (ira_implicitly_set_insn_hard_regs): Ditto.
2316
c46d001a
EB
23172011-05-09 Eric Botcazou <ebotcazou@adacore.com>
2318
2319 * var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
2320 (dataflow_set_preserve_mem_locs): Likewise.
2321
23222011-05-09 Philipp Thomas <pth@suse.de>
2323
6d9e7c41
PT
2324 * config/mep/mep.c (mep_validate_vliw): Syntax description
2325 should not be translated.
2326
d371df6f
JM
23272011-05-09 Joseph Myers <joseph@codesourcery.com>
2328
2329 * config/mips/genopt.sh, config/mips/mips-cpus.def: New files.
2330 * config/mips/mips-tables.opt: New file (generated).
eb1485a6 2331 * config.gcc (mips*-*-*): Add mips/mips-tables.opt to extra_options.
d371df6f
JM
2332 * config/mips/mips-opts.h (MIPS_ARCH_OPTION_FROM_ABI,
2333 MIPS_ARCH_OPTION_NATIVE): Define.
2334 * config/mips/mips.c (mips_cpu_info_table): Move contents to
2335 mips-cpus.def.
2336 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p,
2337 mips_parse_cpu): Remove.
2338 (mips_cpu_info_from_opt, mips_default_arch): New.
2339 (mips_handle_option): Don't assert that global structures are in
2340 use. Don't handle OPT_march_, OPT_mtune_ and OPT_mips here.
2341 (mips_option_override): Use new variables and functions to set
eb1485a6 2342 state of these options. Use strcmp to check for individual CPU names.
d371df6f
JM
2343 * config/mips/mips.h (MIPS_CPU_STRING_DEFAULT): Remove default
2344 definition.
2345 * config/mips/mips.opt (march=): Use ToLower and Enum.
2346 (mips): Use ToLower, Enum and Var.
2347 (mtune=): Use ToLower and Enum.
2348 * config/mips/t-mips ($(srcdir)/config/mips/mips-tables.opt): New.
2349
4fc07af9
JH
23502011-05-08 Jan Hubicka <jh@suse.cz>
2351
2352 * gimple.c (type_pair_hash, type_pair_eq, lookup_type_pair):
2353 Arrange type pairs to be UID ordered.
2354 (gimple_lookup_type_leader): Make inline.
2355
2cf320a8
NC
23562011-05-09 Nick Clifton <nickc@redhat.com>
2357
61d6def5
NC
2358 PR target/48899
2359 * config/iq2000/iq2000.opt (iq2000_tune): Initialise to
2360 PROCESSOR_DEFAULT.
2361
2cf320a8
NC
2362 PR target/48897
2363 * config/mn10300/mn10300.c (extract_bundle): Remove spurious local
2364 variable 's'.
2365
4f82319d
CLT
23662011-05-08 Chung-Lin Tang <cltang@codesourcery.com>
2367
2368 * combine.c (simplify_comparison): Abstract out parts into...
2369 (simplify_compare_const): ... new function.
2370 (try_combine): Generalize parallel arithmetic/compare combining
2371 to call simplify_compare_const() and CANONICALIZE_COMPARE().
2372
74605a11
JH
23732011-05-08 Jan Hubicka <jh@suse.cz>
2374
2375 * cgraph.c (cgraph_clone_node): Add call_duplication_hook parameter.
eb1485a6
UB
2376 (cgraph_create_virtual_clone): Call hooks once virtual clone
2377 is finished.
74605a11 2378 * cgraph.h (cgraph_clone_node): Update prototype.
eb1485a6
UB
2379 * ipa-cp.c (ipcp_estimate_growth): Use
2380 estimate_ipcp_clone_size_and_time.
74605a11
JH
2381 * ipa-inline-transform.c (clone_inlined_nodes): Update.
2382 * lto-cgraph.c (input_node): Update.
2383 * ipa-inline.c (recursive_inlining): Update.
2384 * ipa-inline.h (estimate_ipcp_clone_size_and_time): New function.
2385 (evaluate_conditions_for_known_args): Break out from ...
2386 (evaluate_conditions_for_edge): ... here.
2387 (evaluate_conditions_for_ipcp_clone): New function.
2388 (inline_node_duplication_hook): Update clone summary based
2389 on parameter map.
2390 (estimate_callee_size_and_time): Rename to ...
2391 (estimate_node_size_and_time): take NODE instead of EDGE;
2392 take POSSIBLE_TRUTHS as argument.
2393 (estimate_callee_size_and_time): Update.
2394 (estimate_ipcp_clone_size_and_time): New function.
2395 (do_estimate_edge_time): Update.
2396
5c049507
RG
23972011-05-08 Richard Guenther <rguenther@suse.de>
2398
2399 PR middle-end/48908
2400 PR middle-end/48905
2401 * expmed.c (expand_shift_1): Compute adjusted constant shift
2402 amount manually.
2403
f64c36ba
EB
24042011-05-08 Eric Botcazou <ebotcazou@adacore.com>
2405
2406 * config/avr/avr.c (print_operand_address): Fix invalid RTL access.
2407
c461a957
EB
24082011-05-08 Eric Botcazou <ebotcazou@adacore.com>
2409
2410 * config/rs6000/rs6000.c (output_profile_hook): Fix thinko.
2411
7c74e556
JW
24122011-05-08 Jonathan Wakely <jwakely.gcc@gmail.com>
2413
2414 * doc/invoke.texi (-fuse-linker-plugin): Improve grammar.
2415
b4c0a884
JH
24162011-05-07 Jan Hubicka <jh@suse.cz>
2417
a9bcb3f0
EB
2418 * ipa-inline-transform.c (inline_call): Account when program size
2419 decreases.
b4c0a884 2420 * ipa-inline.c (relative_time_benefit): New function.
a9bcb3f0
EB
2421 (edge_badness): Reorganize to be power 2 based; fix thinko when
2422 computing badness for negative growth; update comments to match
2423 reality; better dumps.
b4c0a884 2424
c99c0026
EB
24252011-05-07 Eric Botcazou <ebotcazou@adacore.com>
2426
2427 * langhooks.h (lang_hooks_for_types): Change global_bindings_p's return
2428 type to bool and adjust comment.
2429 * fold-const.c (fold_range_test): Adjust call to global_bindings_p.
2430 (fold_mathfn_compare): Remove calls to global_bindings_p.
2431 (fold_inf_compare): Likewise.
2432 * stor-layout.c (variable_size): Adjust call to global_bindings_p.
2433 * c-tree.h (global_bindings_p): Adjust prototype.
2434 * c-decl.c (global_bindings_p): Return bool and simplify.
2435
1400c8e5
ZD
24362011-05-07 Zdenek Dvorak <ook@ucw.cz>
2437
2438 PR tree-optimization/48837
2439 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls
2440 when accumulator transformation is performed.
2441
5d0878e7
JH
24422011-05-06 Jan Hubicka <jh@suse.cz>
2443
a9bcb3f0
EB
2444 * i386.h (ix86_tune_indices): Add
2445 X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL.
eb1485a6 2446 (TARGET_SOFTWARE_PREFETCHING_BENEFICIAL): New macro.
a9bcb3f0
EB
2447 * i386.c (initial_ix86_tune_features): Add
2448 X86_SOFTARE_PREFETCHING_BENEFICIAL.
5d0878e7
JH
2449 (software_prefetching_beneficial_p): Remove predicate.
2450 (ix86_option_override_internal): Use new macro.
2451
58696ce5
JH
24522011-05-06 Jan Hubicka <jh@suse.cz>
2453
2454 * ipa-inline.c (update_callee_keys): Don't reset node growth cache.
2455
c47d0034
JH
24562011-05-06 Jan Hubicka <jh@suse.cz>
2457
2458 * cgraph.c (cgraph_add_thunk): Create real function node instead
2459 of alias node; finalize it and mark needed/reachale; arrange visibility
2460 to be right and add it into the corresponding same comdat group list.
2461 (dump_cgraph_node): Dump thunks.
2462 * cgraph.h (cgraph_first_defined_function, cgraph_next_defined_function,
a9bcb3f0
EB
2463 cgraph_function_with_gimple_body_p,
2464 cgraph_first_function_with_gimple_body,
c47d0034
JH
2465 cgraph_next_function_with_gimple_body): New functions.
2466 (FOR_EACH_FUNCTION_WITH_GIMPLE_BODY, FOR_EACH_DEFINED_FUNCTION):
2467 New macros.
2468 * ipa-cp.c (ipcp_need_redirect_p): Thunks can't be redirected.
2469 (ipcp_generate_summary): Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
2470 * cgraphunit.c (cgraph_finalize_function): Only look into possible
2471 devirtualization when optimizing.
2472 (verify_cgraph_node): Verify thunks.
2473 (cgraph_analyze_function): Analyze thunks.
2474 (cgraph_mark_functions_to_output): Output thunks only in combination
2475 with function they are assigned to.
2476 (assemble_thunk): Turn thunk into non-thunk; don't try to turn
2477 alias into normal node.
2478 (assemble_thunks): New functoin.
2479 (cgraph_expand_function): Use it.
2480 * lto-cgraph.c (lto_output_node): Stream thunks.
2481 (input_overwrite_node): Stream in thunks.
2482 * ipa-pure-const.c (analyze_function): Thunks do nothing interesting.
2483 * lto-streamer-out.c (lto_output): Do not try to output thunk's body.
2484 * ipa-inline.c (inline_small_functions): Use FOR_EACH_DEFINED_FUNCTION.
2485 * ipa-inline-analysis.c (compute_inline_parameters): "Analyze" thunks.
2486 (inline_analyze_function): Do not care about thunk jump functions.
2487 (inline_generate_summary):Use FOR_EACH_DEFINED_FUNCTION.
a9bcb3f0
EB
2488 * ipa-prop.c (ipa_prop_write_jump_functions): Use
2489 cgraph_function_with_gimple_body_p.
2490 * passes.c (do_per_function_toporder): Use
2491 cgraph_function_with_gimple_body_p.
c47d0034
JH
2492 (execute_one_pass);Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
2493 (ipa_write_summaries): Use cgraph_function_with_gimple_body_p.
2494 (function_called_by_processed_nodes_p): Likewise.
2495
d8f426ec
JM
24962011-05-06 Joseph Myers <joseph@codesourcery.com>
2497
2498 * config/rs6000/rs6000.opt (rs6000_ieeequad, rs6000_altivec_abi,
2499 rs6000_spe_abi, rs6000_darwin64_abi): Remove TargetVariable
2500 entries.
2501 (mabi=): Replace with separate entries for mabi=altivec,
2502 mabi=no-altivec, mabi=spe, mabi=no-spe, mabi=d64, mabi=d32,
2503 mabi=ieeelongdouble and mabi=ibmlongdouble.
2504 * config/rs6000/rs6000.c (rs6000_option_override_internal): Move
2505 check for -mabi=spe without SPE ABI support here.
2506 (rs6000_handle_option): Replace OPT_mabi_ handling with
2507 OPT_mabi_altivec and OPT_mabi_spe handling.
2508
80bde45b
CC
25092011-05-06 Cary Coutant <ccoutant@google.com>
2510
2511 * dwarf2out.c (contains_subprogram_definition): New function.
2512 (should_move_die_to_comdat): Call it.
2513
a91926b9
JL
25142011-05-06 Jeff Law <law@redhat.com>
2515
2516 * tree-ssa-threadupdate.c (create_block_for_threading): Do not call
2517 remove_ctrl_stmt_and_useless_edges.
2518 (create_duplicates): Call remove_ctrl_stmt_and_useless_edges.
2519 (fixup_template_block, thread_single_edge): Likewise.
2520 (mark_threaded_blocks): Use THREAD_TARGET.
2521
1fc1b66d
AM
25222011-05-06 Alan Modra <amodra@gmail.com>
2523
2524 PR target/48900
2525 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
2526 const0_rtx as the arg to the dummy __tls_get_addr libcall.
2527
e194de64
UB
25282011-05-06 Uros Bizjak <ubizjak@gmail.com>
2529
2530 * config/i386/i386.md (*movdf_internal_nointeger): Apply "*"
2531 constraint modifier to "r".
2532
d740dc9e
JM
25332011-05-06 Joseph Myers <joseph@codesourcery.com>
2534
2535 * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle and
2536 fall through for OPT_mcmodel_.
2537
cab78b15
AK
25382011-05-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2539
2540 * config/s390/s390.c (s390_asm_trampoline_template): Comment
2541 instruction sizes.
e194de64 2542 (s390_trampoline_init): Replace UNITS_PER_WORD with UNITS_PER_LONG.
cab78b15 2543
ee6824ae
RR
25442011-05-06 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
2545
eb1485a6
UB
2546 PR target/47930
2547 * config/arm/arm.opt (marm): Document it.
2548 (mthumb): Reject negative variant.
ee6824ae 2549
9ef58464
UB
25502011-05-06 Uros Bizjak <ubizjak@gmail.com>
2551
2552 PR target/48898
2553 * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
2554 Fix typo in "ccvt" variable name.
2555
155b6176
TG
25562011-05-06 Tristan Gingold <gingold@adacore.com>
2557
2558 PR target/48895
2559 * config/vms/vms-ar.c (main): Remove cwd variable.
2560
3becc47b
JJ
25612011-05-06 Jakub Jelinek <jakub@redhat.com>
2562
2563 PR debug/48902
2564 * var-tracking.c (prepare_call_arguments): Move else before #endif.
2565
3d528853
NF
25662011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2567
2568 * except.c (sjlj_emit_dispatch_table): Call build_case_label.
2569 * gimplify.c (gimplify_switch_expr): Likewise.
2570 * omp-low.c (expand_omp_sections): Likewise.
2571 * tree-eh.c (lower_try_finally_switch): Likewise.
2572 (lower_eh_dispatch): Likewise.
2573 * tree.h (build_case_label): Declare.
2574 * tree.c (build_case_label): Define.
2575
deb5046b
JM
25762011-05-05 Jason Merrill <jason@redhat.com>
2577
2578 PR c++/40975
2579 * tree-inline.c (copy_tree_r): Use copy_statement_list.
2580 (copy_statement_list): Don't recurse.
2581 * stor-layout.c (copy_self_referential_tree_r): Don't allow
2582 STATEMENT_LIST.
2583
013c0411
JM
25842011-05-05 Joseph Myers <joseph@codesourcery.com>
2585
2586 * config/rs6000/rs6000.c (rs6000_handle_option): Don't fall
2587 through from -mfpu= handling.
2588 * config/rs6000/rs6000.opt (mfpu=): Use Var and Init.
2589
a0905f8b
BS
25902011-05-05 Bernd Schmidt <bernds@codesourcery.com>
2591
2592 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 10]: Handle
2593 POST_MODIFY.
2594
fc4538e4
SE
25952011-05-05 Steve Ellcey <sje@cup.hp.com>
2596
2597 * config.gcc (hppa*64*-*-hpux11*): Modify tm_file and extra_options
2598 for 11.31.
2599 (hppa[12]*-*-hpux11*): Ditto.
2600 (ia64*-*-hpux*): Add ia64/hpux-unix2003.h to tm_file.
2601 * config/ia64/hpux-unix2003.h: New.
2602 * config/pa/pa-hpux1131.opt: New.
2603 * config/pa/pa-hpux1131.h: New.
2604 * config/pa/pa64-hpux.h (STARTFILE_SPEC): Use unix2003.o if requested.
2605 * config/pa/pa-hpux.opt (flag_pa_unix): Check TARGET_HPUX_11_31 value.
4eec64ff 2606 * config/pa/pa.h (TARGET_HPUX_11_31): Provide default (0) value.
fc4538e4 2607
1e30c578
JJ
26082011-05-05 Jakub Jelinek <jakub@redhat.com>
2609
2610 PR debug/48853
2611 * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: Pass mem_mode
2612 instead of mode as 3rd argument to recursive call.
2613 (mem_loc_descriptor) <case REG>: If POINTERS_EXTEND_UNSIGNED, don't
2614 emit DW_OP_GNU_regval_type if mode is Pmode and mem_mode is not
2615 VOIDmode.
2616 (mem_loc_descriptor) <case SYMBOL_REF>: If POINTERS_EXTEND_UNSIGNED,
2617 don't give up if mode is Pmode and mem_mode is not VOIDmode.
2618 (mem_loc_descriptor) <case CONST_INT>: If POINTERS_EXTEND_UNSIGNED,
2619 use int_loc_descriptor if mode is Pmode and mem_mode is not VOIDmode.
2620
d19eb620
JB
26212011-05-05 Julian Brown <julian@codesourcery.com>
2622
2623 * config/arm/neon.md (vec_set<mode>_internal): Fix misplaced
2624 parenthesis in D-register case.
2625
c860fe8c
JM
26262011-05-05 Joseph Myers <joseph@codesourcery.com>
2627
2628 * opt-functions.awk (var_type_struct): Handle Enum options.
2629 * optc-gen.awk: Don't check range of variables of character type.
2630 * config/rs6000/rs6000.c (rs6000_sched_insert_nops_str,
2631 rs6000_sched_costly_dep_str, rs6000_recip_name, rs6000_abi_name,
2632 rs6000_sdata_name, rs6000_explicit_options): Remove.
2633 (rs6000_option_override_internal): Check for -malign-power here.
2634 Use global_options_set instead of rs6000_explicit_options.
2635 (rs6000_parse_fpu_option): Remove.
2636 (rs6000_handle_option): Access variables via opts and opts_set
2637 pointers. Use error_at and warning_at. Add fall-through
2638 comments. Don't handle OPT_mcmodel_, OPT_maix_struct_return,
2639 OPT_msvr4_struct_return, OPT_mvrsave, OPT_mspe, OPT_mcall_,
2640 OPT_msdata_, OPT_mtls_size_, OPT_mtraceback_, OPT_mfloat_gprs_,
2641 OPT_msched_costly_dep_, OPT_malign_ or OPT_mrecip_ explicitly
2642 here. Don't use rs6000_parse_fpu_option.
2643 * config/rs6000/rs6000.h (fpu_type): Remove declaration.
2644 * config/rs6000/rs6000.opt (rs6000_long_double_type_size,
2645 rs6000_spe, rs6000_float_gprs): Remove TargetVariable entries.
2646 (mrecip=): Use Var.
2647 (mspe): Use Var and Save.
2648 (mtraceback=): Use Enum and Var.
2649 (rs6000_traceback_type): New Enum and EnumValue entries.
2650 (mfloat-gprs=): Use Enum, Var and Save.
2651 (rs6000_float_gprs): New Enum and EnumValue entries.
2652 (mlong-double-): use Var and Save.
2653 (msched-costly-dep=, minsert-sched-nops=): Use Var.
2654 (malign-): Use Enum and Var.
2655 (rs6000_alignment_flags): New Enum and EnumValue entries.
2656 (mfpu=): Use Enum.
2657 (fpu_type_t): New Enum and EnumValue entries.
2658 * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Use
2659 global_options_set instead of rs6000_explicit_options.
2660 * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Use
2661 global_options_set instead of rs6000_explicit_options.
2662 * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Use
2663 global_options_set instead of rs6000_explicit_options.
2664 * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Use
2665 global_options_set instead of rs6000_explicit_options.
2666 * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Use
2667 global_options_set instead of rs6000_explicit_options.
2668 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
2669 global_options_set instead of rs6000_explicit_options.
2670 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Remove commented-out
2671 definition.
2672 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
2673 global_options_set instead of rs6000_explicit_options.
2674 * config/rs6000/linux64.opt (mcmodel=): Use Enum and Var.
2675 (rs6000_cmodel): New Enum and EnumValue entries.
2676 * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
2677 global_options_set instead of rs6000_explicit_options.
2678 * config/rs6000/sysv4.opt (mcall-, msdata=): Use Var.
2679 (mtls-size=): Use Enum and Var.
2680 (rs6000_tls_size): New Enum and EnumValue entries.
2681
0691dde9
MM
26822011-05-05 Michael Matz <matz@suse.de>
2683
2684 * config/alpha/elf.h (ENDFILE_SPEC): Add Ofast.
2685 * config/alpha/osf5.h (ENDFILE_SPEC): Add Ofast.
2686 * config/alpha/netbsd.h (ENDFILE_SPEC): Add Ofast.
2687 * config/sparc/linux.h (ENDFILE_SPEC): Add Ofast.
2688 * config/sparc/sp64-elf.h (ENDFILE_SPEC): Add Ofast.
2689 * config/sparc/sp-elf.h (ENDFILE_SPEC): Add Ofast.
2690 * config/sparc/linux64.h (ENDFILE_SPEC): Add Ofast.
2691 * config/sparc/freebsd.h (ENDFILE_SPEC): Add Ofast.
2692 * config/sparc/sol2.h (ENDFILE_SPEC): Add Ofast.
2693 * config/i386/cygwin.h (ENDFILE_SPEC): Add Ofast.
2694 * config/i386/gnu-user.h (ENDFILE_SPEC): Add Ofast.
2695 * config/i386/gnu-user64.h (ENDFILE_SPEC): Add Ofast.
2696 * config/i386/darwin.h (ENDFILE_SPEC): Add Ofast.
2697 * config/i386/mingw32.h (ENDFILE_SPEC): Add Ofast.
2698 * config/ia64/linux.h (ENDFILE_SPEC): Add Ofast.
2699 * config/mips/linux.h (ENDFILE_SPEC): Add Ofast.
2700
86529a49
RG
27012011-05-05 Richard Guenther <rguenther@suse.de>
2702
2703 * expmed.c (expand_variable_shift): Rename to ...
2704 (expand_shift_1): ... this. Take an expanded shift amount.
2705 For rotates recurse directly not building trees for the shift amount.
2706 (expand_variable_shift): Wrap around expand_shift_1.
2707 (expand_shift): Adjust.
2708
d0228c2e
JJ
27092011-05-05 Jakub Jelinek <jakub@redhat.com>
2710
2711 * gimplify.c (create_tmp_var_raw): Don't call build_type_variant.
2712
907a08d9
EB
27132011-05-05 Eric Botcazou <ebotcazou@adacore.com>
2714
2715 * tree.h (get_pending_sizes): Remove prototype.
2716 (put_pending_size): Likewise.
2717 (put_pending_sizes): Likewise.
2718 * stor-layout.c (pending_sizes): Delete.
2719 (get_pending_sizes): Likewise.
2720 (put_pending_size): Likewise.
2721 (put_pending_sizes): Likewise.
2722 (variable_size): Do not call put_pending_size and tidy up.
2723 * function.h (struct function): Remove dont_save_pending_sizes_p.
2724 * lto-streamer-in.c (input_function): Do not stream it.
2725 * lto-streamer-out.c (output_function): Likewise.
2726 * tree-inline.c (initialize_cfun): Do not copy it.
2727 * c-decl.c (store_parm_decls): Do not set it.
2728 * omp-low.c (create_task_copyfn): Likewise.
2729 * tree-optimize.c (tree_rest_of_compilation): Likewise.
2730
386d9c57
UB
27312011-05-05 Uros Bizjak <ubizjak@gmail.com>
2732
2733 * config/i386/i386.md (*movdf_internal_rex64): Simplify nested "if"
2734 conditions.
2735 (*movdf_internal): Ditto.
2736 (*movdf_internal_nointeger): Ditto.
2737 (*movsf_internal): Ditto.
2738
a04a722b
JM
27392011-05-05 Joseph Myers <joseph@codesourcery.com>
2740
2741 * c-decl.c (finish_decl): Don't call get_pending_sizes.
2742 (grokparm): Add parameter expr. Pass it to grokdeclarator.
2743 (push_parm_decl): Add parameter expr. Pass it to grokdeclarator.
2744 (c_variable_size): Remove.
2745 (grokdeclarator): Use save_expr instead of c_variable_size. Don't
2746 call put_pending_sizes.
2747 (get_parm_info): Add parameter expr. Use it to set
2748 arg_info->pending_sizes.
2749 (store_parm_decls): Use arg_info->pending_sizes instead or calling
2750 get_pending_sizes.
2751 * c-parser.c (c_parser_parms_declarator): Update call to
2752 c_parser_parms_list_declarator.
2753 (c_parser_parms_list_declarator): Take parameter expr. Update
2754 call to push_parm_decl. Update recursive call. Don't call
2755 get_pending_sizes. Update calls to get_parm_info.
2756 (c_parser_objc_method_definition): Update calls to
2757 c_parser_objc_method_decl and objc_start_method_definition.
386d9c57 2758 (c_parser_objc_methodproto): Update call to c_parser_objc_method_decl.
a04a722b
JM
2759 (c_parser_objc_method_decl): Add parameter expr. Update call to
2760 grokparm.
386d9c57 2761 (c_parser_objc_try_catch_finally_statement): Update call to grokparm.
a04a722b
JM
2762 * c-tree.h (struct c_arg_info.pending_sizes): Change to a tree.
2763 (get_parm_info, grokparm, push_parm_decl): Update prototypes.
2764
c92a6f97
MH
27652011-05-05 Michael Hope <michael.hope@linaro.org>
2766
386d9c57
UB
2767 PR pch/45979
2768 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for
2769 __ARM_EABI__ hosts.
c92a6f97 2770
07ea0048
UW
27712011-05-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2772
2773 * config/spu/spu.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
2774 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
2775 (spu_output_mi_thunk): New function.
2776
d634bfa1
RO
27772011-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2778
2779 * config/sparc/sol2.h (ASM_OUTPUT_CALL): Use
2780 targetm.asm_out.print_operand.
2781 * config/sol2.c: Include target.h.
2782
40fda55b
JH
27832011-05-04 Jan Hubicka <jh@suse.cz>
2784
2785 * ipa-inline.c (reset_edge_caches): New function.
2786 (update_caller_keys): Add check_inlinablity_for; do not
2787 reset edge caches; remove now unnecesary loop.
386d9c57 2788 (update_callee_keys): Add comments; reset node_growth_cache of callee.
40fda55b
JH
2789 (update_all_callee_keys): Likewise.
2790 (inline_small_functions): Sanity check cache; update code
2791 recomputing it.
2792
0360f70d
BS
27932011-05-04 Bernd Schmidt <bernds@codesourcery.com>
2794
2795 PR rtl-optimization/47612
2796 * df-problems.c (can_move_insns_across): Don't pick a cc0 setter
2797 as the last insn of the sequence to be moved.
2798
7a994646
TB
27992011-05-04 Tobias Burnus <burnus@net-b.de>
2800
2801 PR fortran/48864
2802 * doc/invoke.texi (Ofast): Document that it
2803 enables Fortran's -fno-protect-parens.
2804
7a2f7208
UB
28052011-05-04 Uros Bizjak <ubizjak@gmail.com>
2806
2807 * config/i386/i386.c (ix86_reorg): Run move_or_delete_vzeroupper first.
2808
a2d42931
EB
28092011-05-04 Eric Botcazou <ebotcazou@adacore.com>
2810
2811 * stor-layout.c (variable_size): Do not issue errors.
2812
f81b1a3d
RG
28132011-05-04 Richard Guenther <rguenther@suse.de>
2814
2815 * coverage.c (tree_coverage_counter_ref): Use integer_type_node
2816 for array-ref indices.
2817 (tree_coverage_counter_addr): Likewise.
2818 (build_fn_info_type): Use size_int for index types.
2819 (build_gcov_info): Likewise.
2820
c62c040f
RG
28212011-05-04 Richard Guenther <rguenther@suse.de>
2822
2823 * c-decl.c (check_bitfield_type_and_width): Do not pass NULL
2824 to build_int_cst.
2825 * c-typeck.c (really_start_incremental_init): Use bitsize_int
2826 for constructor indices.
2827 (push_init_level): Likewise.
2828
1e3287d0
RG
28292011-05-04 Richard Guenther <rguenther@suse.de>
2830
2831 * explow.c (promote_mode): Move variable declarations before code.
2832
6c32445b
NF
28332011-05-04 Nathan Froyd <froydnj@codesourcery.com>
2834
2835 * tree.h (build_function_type_array): Declare.
2836 (build_varargs_function_type_array): Declare.
2837 (build_function_type_vec, build_varargs_function_type_vec): Define.
2838 * tree.c (build_function_type_array_1): New function.
2839 (build_function_type_array): New function.
2840 (build_varargs_function_type_array): New function.
2841
fdabf269
RS
28422011-05-04 Richard Sandiford <richard.sandiford@linaro.org>
2843
2844 * tree-vect-loop.c (vectorizable_reduction): Check reduction cost
2845 before setting STMT_VINFO_TYPE.
2846
a207915a
UW
28472011-05-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2848
2849 * config/spu/spu.c (spu_gimplify_va_arg_expr): Call pass_by_reference
2850 instead of spu_pass_by_reference.
2851
5e617be8
AK
28522011-05-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2853
2854 * calls.c (emit_library_call_value_1): Invoke
2855 promote_function_mode hook on libcall arguments.
2856 * explow.c (promote_function_mode, promote_mode): Handle TYPE
2857 argument being NULL.
2858 * targhooks.c (default_promote_function_mode): Lisewise.
2859 * config/s390/s390.c (s390_promote_function_mode): Likewise.
2860 * config/sparc/sparc.c (sparc_promote_function_mode): Likewise.
2861
2862 * doc/tm.texi: Document that TYPE argument might be NULL.
2863
486d04be
SH
28642011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
2865
2866 * config/bfin/bfin.c (bfin_cpus): Update silicon revisions.
2867
9b19b026
SH
28682011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
2869
2870 From Bernd Schmidt
2871 * config/bfin/bfin.md (addsi3): Add an alternative for IREGS.
2872
502bc3df
RO
28732011-05-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2874
2875 * config/alpha/alpha.h (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB)
2876 (MIPS_UNMARK_STAB, SHASH_SIZE, THASH_SIZE, ALIGN_SYMTABLE_OFFSET):
2877 Move ...
2878 * mips-tfile.c: ... here.
2879 Don't include coretypes.h, tm.h, filenames.h.
2880 (saber_stop): Remove definition and all calls.
2881 [__SABER__]: Remove.
2882 (__LINE__): Remove default.
2883 (Size_t, Ptrdiff_t): Remove definitions.
2884 Replace by size_t, ptrdiff_t.
2885 [!MIPS_DEBUGGING_INFO]: Remove.
2886 (SHASH_SIZE, THASH_SIZE): Remove defaults.
2887 (progname): Add const.
2888 (STATIC): Remove.
2889 Replace all uses by static.
2890 (ALIGN_SYMTABLE_OFFSET): Remove default.
2891 * mips-tdump.c: Don't include coretypes.h, tm.h.
2892 Remove !MIPS_IS_STAB guard.
2893 * Makefile.in (mips-tfile.o): Remove $(RTL_H), coretypes.h,
2894 $(TM_H), filenames.h dependencies.
2895 (mips-tdump.o): Remove $(RTL_H), coretypes.h, $(TM_H) dependencies.
2896
991eb6ef
SH
28972011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
2898
2899 From Jie Zhang
2900 *config/bfin/bfin.c (bfin_extra_live_on_entry): New.
2901 (TARGET_EXTRA_LIVE_ON_ENTRY): Define.
2902
420ccc84
SH
29032011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
2904
2905 From Bernd Schmidt
2906 * config/bfin/bfin.h (FUNCTION_PROFILER): Take TARGET_LONG_CALLS into
2907 account and save/restore RETS.
2908 (PROFILE_BEFORE_PROLOGUE): Define.
2909 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Add tab character. Correct
2910 the push insn to use predecrement.
2911
9f8d69ee
SH
29122011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
2913
2914 From Jie Zhang
2915 * config/bfin/bfin.c (bfin_expand_prologue): Don't clobber P2.
2916
662c03f4
NC
29172011-05-04 Nick Clifton <nickc@redhat.com>
2918
2919 * config/mn10300/mn10300.c: Include cfgloop.h.
2920 (DUMP): New macro.
2921 (mn10300_insert_setlb_lcc): New function. Inserts a SETLB and a
2922 Lcc or a FLcc insn into the instruction stream.
2923 (mn10300_block_contains_call): New function. Returns true if the
2924 given basic block contains a CALL insn.
2925 (mn10300_loop_contains_call_insn): New function. Returns true if
2926 the given loop contains a CALL insn.
2927 (mn10300_scan_for_setlb_lcc): New function. Finds opportunities
2928 to use the SETLB and Lcc or FLcc insns.
2929 (mn10300_reorg): Invoke mn10300_scan_for_setlb_lcc when optimizing.
2930 (TARGET_FLAGS): Add MASK_ALLOW_SETLB.
2931 * config/mn10300/mn10300.opt (msetlb): New option. Used to
2932 disable the SETLB optimization.
2933 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
2934 __SETLB__ or __NO_SETLB__.
2935 * config/mn10300/mn10300.md (UNSPEC_SETLB): New constant.
2936 (movsf_internal): Handle MDR register.
2937 (cmpsi): Make visible.
2938 (setlb): New pattern.
2939 (Lcc): New pattern.
2940 (FLcc): New pattern.
2941
843b6915
UB
29422011-05-04 Uros Bizjak <ubizjak@gmail.com>
2943
2944 PR target/48860
2945 * config/i386/i386.md (*movdi_internal_rex64) Use %vmovd
2946 for reg<->xmm moves.
2947 * config/i386/sse.md (*vec_concatv2di_rex64_sse4_1): Ditto.
2948 (vec_concatv2di_rex64_sse): Ditto.
2949 (*sse2_storeq_rex64): Do not emit %v prefix for mov{q} mnemonic.
2950 (*vec_extractv2di_1_rex64): Ditto.
2951
2952 Revert:
2953 2011-05-02 Uros Bizjak <ubizjak@gmail.com>
2954
2955 * config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
2956 reg<->xmm moves.
2957 (*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves.
2958
d35936ab
RG
29592011-05-04 Richard Guenther <rguenther@suse.de>
2960
2961 * tree.h (int_const_binop): Remove notrunc argument.
2962 * fold-const.c (int_const_binop): Remove notrunc argument. Always
2963 create integer constants that are properly truncated.
2964 (extract_muldiv_1): Expand one notrunc int_const_binop caller.
2965 (const_binop): Remove zero notrunc argument to int_const_binop.
2966 (size_binop_loc): Likewise.
2967 (fold_div_compare): Likewise.
2968 (maybe_canonicalize_comparison_1): Likewise.
2969 (fold_comparison): Likewise.
2970 (fold_binary_loc): Likewise.
2971 (multiple_of_p): Likewise.
2972 * expr.c (store_constructor): Likewise.
2973 * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
2974 (maybe_fold_stmt_addition): Likewise.
2975 * ipa-prop.c (ipa_modify_call_arguments): Likewise.
2976 * stor-layout.c (layout_type): Likewise.
2977 * tree-data-ref.c (tree_fold_divides_p): Likewise.
2978 * tree-sra.c (build_ref_for_offset): Likewise.
2979 (build_user_friendly_ref_for_offset): Likewise.
2980 * tree-ssa-address.c (maybe_fold_tmr): Likewise.
2981 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
2982 * tree-ssa-loop-niter.c (inverse): Likewise.
2983 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
2984 * tree-ssa.c (maybe_rewrite_mem_ref_base): Likewise.
2985 * tree-switch-conversion.c (check_range): Likewise.
2986 (build_constructors): Likewise.
2987 * tree-vect-generic.c (expand_vector_piecewise): Likewise.
2988 * tree-vrp.c (set_and_canonicalize_value_range): Likewise.
2989 (extract_range_from_assert): Likewise.
2990 (vrp_int_const_binop): Likewise.
2991 (extract_range_from_binary_expr): Likewise.
2992 (extract_range_from_unary_expr): Likewise.
2993 (check_array_ref): Likewise.
2994 (find_case_label_range): Likewise.
2995 (simplify_div_or_mod_using_ranges): Likewise.
2996 * tree-cfg.c (group_case_labels_stmt): Use double-ints for
2997 comparing case labels for merging.
2998
8992c063
MW
29992011-05-03 Mark Wielaard <mjw@redhat.com>
3000
3001 * dwarf2out.c (debug_str_hash_forced): Removed.
3002 (gen_label_for_indirect_string): Removed.
3003 (get_debug_string_label): Removed.
3004 (AT_string_form): Generate label directly.
3005 (output_indirect_string): Test indirect_string_node for
3006 DW_FORM_strp instead of checking label and refcount.
3007 (prune_indirect_string): Removed.
3008 (prune_unused_types): Don't check debug_str_hash_forced or
3009 call prune_indirect_string.
3010
4868e6ea
AO
30112011-05-04 Alexandre Oliva <aoliva@redhat.com>
3012
3013 PR other/48093
3014 * doc/invoke.texi: Document -mtls-dialect and GCC_COMPARE_DEBUG.
3015
01a5c0ab
AO
30162011-05-04 Alexandre Oliva <aoliva@redhat.com>
3017
3018 PR debug/47994
3019 PR debug/47919
3020 * combine.c (try_combine): Skip debug insns at m_split tests.
3021
6ac00218
MW
30222011-04-26 Mark Wielaard <mjw@redhat.com>
3023
3024 PR42288
3025 * dwarf2out.c (dwarf2out_finish): Always call output_aranges ()
3026 when info_section_emitted.
3027
3af42a7b
JM
30282011-05-03 Joseph Myers <joseph@codesourcery.com>
3029
3030 * config/mips/mips-opts.h: New.
3031 * config/mips/mips.c (enum mips_r10k_cache_barrier_setting): Move
3032 to mips-opts.h.
3033 (mips_abi, mips_code_readable, mips_r10k_cache_barriee): Remove.
3034 (mips_handle_option): Don't handle OPT_mabi_, OPT_mcode_readable_
3035 or OPT_mr10k_cache_barrier_ here. Access mips_cache_flush_func
3036 via opts pointer.
3037 * config/mips/mips.h (enum mips_code_readable_setting): Move to
3038 mips-opts.h.
3039 (mips_abi, mips_code_readable): Don't declare.
843b6915 3040 * config/mips/mips.opt (config/mips/mips-opts.h): New HeaderInclude.
3af42a7b
JM
3041 (mabi=): Use Enum and Var.
3042 (mips_abi): New Enum and EnumValue entries.
3043 (mcode-readable=): Use Enum and Var.
3044 (mips_code_readable_setting): New Enum and EnumValue entries.
3045 (mr10k-cache-barrier=): Use Enum and Var.
3046 (mips_r10k_cache_barrier_setting): New Enum and EnumValue entries.
3047
1cb1a99f
JH
30482011-05-03 Jan Hubicka <jh@suse.cz>
3049
3050 * cgraph.h (cgraph_node_set_def, varpool_node_set_def): Move out of GTY;
3051 replace hash by pointer map.
3052 (cgraph_node_set_element_def, cgraph_node_set_element,
3053 const_cgraph_node_set_element, varpool_node_set_element_def,
3054 varpool_node_set_element, const_varpool_node_set_element): Remove.
3055 (free_cgraph_node_set, free_varpool_node_set): New function.
3056 (cgraph_node_set_size, varpool_node_set_size): Use vector size.
3057 * tree-emutls.c: Free varpool node set.
3058 * ipa-utils.c (cgraph_node_set_new, cgraph_node_set_add,
3059 cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
3060 debug_cgraph_node_set, free_cgraph_node_set, varpool_node_set_new,
3061 varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
3062 dump_varpool_node_set, free_varpool_node_set, debug_varpool_node_set):
3063 Move here from ipa.c; implement using pointer_map
3064 * ipa.c (cgraph_node_set_new, cgraph_node_set_add,
3065 cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
3066 debug_cgraph_node_set, varpool_node_set_new,
3067 varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
3068 dump_varpool_node_set, debug_varpool_node_set):
3069 Move to ipa-uitls.c.
3070 * passes.c (ipa_write_summaries): Update.
3071
7f31f4db
SH
30722011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
3073
7a2f7208
UB
3074 From Mike Frysinger:
3075 * config/bfin/bfin.c (bfin_cpus[]): Add 0.4 for
3076 bf542/bf544/bf547/bf548/bf549.
7f31f4db 3077
b70fce6d
UB
30782011-05-03 Uros Bizjak <ubizjak@gmail.com>
3079
3080 * expmed.c (extract_bit_field_1): Remove write-only variable "icode".
3081
265b1d82
SH
30822011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
3083
3084 From Bernd Schmidt:
3085 * config/bfin/bfin.md (MOVCC): New mode_macro.
3086 (mov<mode>cc_insn1, mov<mode>cc_insn2, mov<mode>cc): Renamed from
3087 movsicc_insn1, movsicc_insn2 and movsicc and macroized. Remove
3088 comments from generated assembly.
3089
f0b568f3
SH
30902011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
3091
3092 From Bernd Schmidt
3093 * config/bfin/t-bfin (LIB1ASMFUNCS): Add muldi3 and umulsi3_highpart.
3094 * config/bfin/t-bfin-elf (LIB1ASMFUNCS): Add muldi3.
3095 * config/bfin/t-bfin-linux (LIB1ASMFUNCS): Add muldi3.
3096 * config/bfin/t-bfin-uclinux (LIB1ASMFUNCS): Add muldi3.
3097 * config/bfin/lib1funcs.asm (___muldi3): New function.
3098
2c67cf6e
NF
30992011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3100
3101 * config/stormy16/stormy16 (xstormy16_init_builtins): Call
3102 build_function_type_list instead of build_function_type.
3103 Rearrange initialization of `args' to do so.
3104
f9ac28ad
NF
31052011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3106
3107 * config/i386/i386.c (ix86_code_end): Call build_function_type_list
3108 instead of build_function_type.
3109
22b8798c
NF
31102011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3111
3112 * config/rs6000/rs6000.c (spe_init_builtins): Call
3113 build_function_type_list instead of build_function_type.
3114 (paired_init_builtins, altivec_init_builtins): Likewise.
3115 (builtin_function_type): Likewise.
3116
4cb44528
NF
31172011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3118
3119 * config/sh/sh.c (sh_media_init_builtins): Call
3120 build_function_type_list instead of build_function_type.
3121
4c203a6a
NF
31222011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3123
3124 * config/sparc/sparc.c (sparc_file_end): Call
3125 build_function_type_list instead of build_function_type.
3126
d6a3d62b
NF
31272011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3128
3129 * config/alpha/alpha.c (alpha_init_builtins): Call
3130 build_function_type_list instead of build_function_type.
3131
de530b86
NF
31322011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3133
3134 * config/xtensa/xtensa.c (xtensa_init_builtins): Call
3135 build_function_type_list instead of build_function_type.
3136
baeec5f2
NF
31372011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3138
3139 * config/iq2000/i2000.c (iq2000_init_builtins): Call
3140 build_function_type_list instead of build_function_type.
3141 Delete `endlink' variable.
3142
c19afe52
NF
31432011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3144
3145 * config/avr/avr.c (avr_init_builtins): Call
3146 build_function_type_list instead of build_function_type.
3147
a341df0a
NF
31482011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3149
3150 * config/picochip/picochip.c (picochip_init_builtins): Call
3151 build_function_type_list instead of build_function_type.
3152 Delete `endlink' variable.
3153
2102b1e1
NF
31542011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3155
3156 * config/bfin/bfin.c (bfin_init_builtins): Call
3157 build_function_type_list instead of build_function_type.
3158
9f111209
SH
31592011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
3160
3161 From Bernd Schmidt
3162 * config/bfin/bfin.md (rotrsi, rotlsi): Don't take INTVAL of anything
3163 that's not CONST_INT. Seemingly redundant check is due to PR39768.
3164
7071d064
SH
31652011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
3166
3167 From Jie Zhang:
3168 * config/bfin/uclinux.h (LINK_GCC_C_SEQUENCE_SPEC): Make sure
3169 libbffastfp overrides libgcc when -mfast-fp.
3170
748f7574 31712011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
44fb48ef
SH
3172
3173 Originally from Bernd Schmidt
3174 * config/bfin/uclinux.h (SUBTARGET_FDPIC_NOT_SUPPORTED): New macro.
3175 * config/bfin/bfin.c (override_options): Test it and error if
3176 TARGET_FDPIC.
3177
1a3a9152
SH
31782011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
3179
3180 Originally From Bernd Schmidt
3181 * config/bfin/bfin.c (override_options): Disable -fstack-limit for
3182 FD-PIC.
3183
7134c090
JL
31842011-05-03 Jeff Law <law@redhat.com>
3185
3186 * tree-ssa-threadupdate.c (THREAD_TARGET): define.
3187 (remove_ctrl_stmt_and_useless_edges): Clear AUX field of outgoing edges.
3188 (craete_edge_and_update_destination_phis): Use THREAD_TARGET rather
b70fce6d
UB
3189 than accessing AUX field directly. Free the AUX field before
3190 clearing it.
7134c090
JL
3191 (thread_block, thread_through_loop_header): Likewise.
3192 (thread_single_edge, mark_threaded_blocks): Likewise.
3193 (redirect_edges): Delay clearing the AUX field. Free the AUX field.
3194 (register_jump_thread): Do not attempt to thread to a NULL edge.
b70fce6d 3195
2c7eebae
BS
31962011-05-03 Bernd Schmidt <bernds@codesourcery.com>
3197
3198 * function.c (init_function_start): Call decide_function_section.
3199 * varasm.c (decide_function_section): New function.
3200 (assemble_start_function): When not using
3201 flag_reorder_blocks_and_partition, don't compute in_cold_section_p
3202 or first_function_block_is_cold.
3203 * rtl.h (decide_function_section): Declare.
3204
17038fcf
JJ
32052011-05-03 Uros Bizjak <ubizjak@gmail.com>
3206 Jakub Jelinek <jakub@redhat.com>
3207
3208 PR target/48774
3209 * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode
3210 only succeed if req_mode is the same as set_mode.
3211
3810076b
BS
32122011-05-03 Bernd Schmidt <bernds@codesourcery.com>
3213
3214 * gengenrtl.c (special_rtx): PC, CC0 and RETURN are special.
3215 * genemit.c (gen_exp): Handle RETURN.
3216 * emit-rtl.c (verify_rtx_sharing): Likewise.
3217 (init_emit_regs): Create pc_rtx, ret_rtx and cc0_rtx specially.
3218 * rtl.c (copy_rtx): RETURN is shared.
3219 * rtl.h (enum global_rtl_index): Add GR_RETURN.
3220 (ret_rtx): New.
3221 * jump.c (redirect_exp_1): Don't use gen_rtx_RETURN.
3222 * config/s390/s390.c (s390_emit_epilogue): Likewise.
3223 * config/rx/rx.c (gen_rx_rtsd_vector): Likewise.
3224 * config/cris/cris.c (cris_expand_return): Likewise.
3225 * config/m68k/m68k.c (m68k_expand_epilogue): Likewise.
3226 * config/rs6000/rs6000.c (rs6000_make_savres_rtx,
3227 rs6000_emit_epilogue, rs6000_output_mi_thunk): Likewise.
3228 * config/picochip/picochip.c (picochip_expand_epilogue): Likewise.
3229 * config/h8300/h8300.c (h8300_push_pop, h8300_expand_epilogue):
3230 Likewise.
3231 * config/v850/v850.c (expand_epilogue): Likewise.
3232 * config/bfin/bfin.c (bfin_expand_call): Likewise.
3233 * config/arm/arm.md (epilogue): Likewise.
3234 * config/mn10300/mn10300.c (mn10300_expand_epilogue): Likewise.
3235 * config/sparc/sparc.c (sparc_struct_value_rtx): Rename ret_rtx
3236 variable to ret_reg.
3237
9efdb4ad
RG
32382011-05-03 Richard Guenther <rguenther@suse.de>
3239
3240 PR lto/48846
3241 * lto-streamer-in.c (unpack_ts_decl_common_value_fields):
3242 Stream decl_common.off_align instead of the derived DECL_OFFSET_ALIGN.
3243 * lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
3244
60a45536
RG
32452011-05-03 Richard Guenther <rguenther@suse.de>
3246
3247 * c-decl.c (grokdeclarator): Instead of looking at
3248 TREE_OVERFLOW check if the constant fits in the index type.
3249
3188ed59
RS
32502011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
3251
3252 * config/arm/neon.md (vec_load_lanes<mode><mode>): New expanders,
3253 (vec_store_lanes<mode><mode>): Likewise.
3254
272c6793
RS
32552011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
3256
3257 * doc/md.texi (vec_load_lanes, vec_store_lanes): Document.
3258 * optabs.h (COI_vec_load_lanes, COI_vec_store_lanes): New
3259 convert_optab_index values.
3260 (vec_load_lanes_optab, vec_store_lanes_optab): New convert optabs.
3261 * genopinit.c (optabs): Initialize the new optabs.
3262 * internal-fn.def (LOAD_LANES, STORE_LANES): New internal functions.
3263 * internal-fn.c (get_multi_vector_move, expand_LOAD_LANES)
3264 (expand_STORE_LANES): New functions.
3265 * tree.h (build_array_type_nelts): Declare.
3266 * tree.c (build_array_type_nelts): New function.
3267 * tree-vectorizer.h (vect_model_store_cost): Add a bool argument.
3268 (vect_model_load_cost): Likewise.
3269 (vect_store_lanes_supported, vect_load_lanes_supported)
3270 (vect_record_strided_load_vectors): Declare.
3271 * tree-vect-data-refs.c (vect_lanes_optab_supported_p)
3272 (vect_store_lanes_supported, vect_load_lanes_supported): New functions.
3273 (vect_transform_strided_load): Split out statement recording into...
3274 (vect_record_strided_load_vectors): ...this new function.
3275 * tree-vect-stmts.c (create_vector_array, read_vector_array)
3276 (write_vector_array, create_array_ref): New functions.
3277 (vect_model_store_cost): Add store_lanes_p argument.
3278 (vect_model_load_cost): Add load_lanes_p argument.
3279 (vectorizable_store): Try to use store-lanes functions for
3280 interleaved stores.
3281 (vectorizable_load): Likewise load-lanes and loads.
3282 * tree-vect-slp.c (vect_get_and_check_slp_defs): Update call
3283 to vect_model_store_cost.
3284 (vect_build_slp_tree): Likewise vect_model_load_cost.
3285
0f6d54f7
RS
32862011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
3287
3288 * hooks.h (hook_bool_mode_uhwi_false): Declare.
3289 * hooks.c (hook_bool_mode_uhwi_false): New function.
3290 * target.def (array_mode_supported_p): New hook.
3291 * doc/tm.texi.in (TARGET_ARRAY_MODE_SUPPORTED_P): Add @hook.
3292 * doc/tm.texi: Regenerate.
3293 * stor-layout.c (mode_for_array): New function.
3294 (layout_type): Use it.
3295 * config/arm/arm.c (arm_array_mode_supported_p): New function.
3296 (TARGET_ARRAY_MODE_SUPPORTED_P): Define.
3297
b15eacc7
EB
32982011-05-03 Eric Botcazou <ebotcazou@adacore.com>
3299
3300 PR target/48723
3301 * config/i386/i386.c (ix86_expand_prologue): Do not probe the stack
3302 for -fstack-check if the size to allocate is negative.
3303
575bfb00
LC
33042011-05-02 Lawrence Crowl <crowl@google.com>
3305
3306 * timevar.h (timevar_cond_start): Remove unused POP_TIMEVAR_AND_RETURN.
3307 (timevar_cond_start): New for starting a timer only when it is not
3308 already running.
3309 (timevar_cond_stop): New for stopping a timer when it was not already
3310 running.
3311
3312 * timevar.c (timevar_stop): Enable start/stop timers to start again.
3313 (timevar_cond_start): New as above.
3314 (timevar_cond_stop): New as above.
3315
3316 * timevar.def: Add start/stop timers for compiler phases,
3317 TV_PHASE_SETUP, TV_PHASE_PARSING, TV_PHASE_DEFERRED, TV_PHASE_CGRAPH,
3318 TV_PHASE_DBGINFO (C), TV_PHASE_CHECK_DBGINFO (C++), TV_PHASE_GENERATE,
3319 and TV_PHASE_FINALIZE.
3320 Change push/pop timer TV_PARSE to TV_PARSE_GLOBAL.
3321 Add push/pop timers TV_PARSE_STRUCT, TV_PARSE_ENUM, TV_PARSE_FUNC,
3322 TV_PARSE_INLINE, TV_PARSE_INMETH, TV_TEMPLATE_INST.
3323 Change push/pop timer TV_NAME_LOOKUP into a start/stop timer.
3324 Make unused TV_OVERLOAD into a start/stop timer.
3325
3326 Remove unused timers TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION.
3327 Mark the strings for TV_NAME_LOOKUP and TV_OVERLOAD with a "|"
3328 to indicate that they are start/stop timers.
3329
3330 * toplev.c (compile_file): Change TV_PARSE to TV_PARSE_GLOBAL.
3331 Add start/stop timers TV_PHASE_PARSING and TV_PHASE_GENERATE.
3332 Move initialization to do_compile.
3333 (do_compile): Add initialization from above.
3334 Add start/stop timers TV_PHASE_SETUP and TV_PHASE_FINALIZE.
3335
3336 * c-decl.c (c_write_global_declarations): Add start/stop of
3337 TV_PHASE_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_DBGINFO.
3338
3339 * c-parser.c (c_parser_declaration_or_fndef): Push/pop TV_PARSE_FUNC
3340 or TV_PARSE_INLINE, as appropriate.
3341 (c_parser_enum_specifier): Push/pop TV_PARSE_ENUM.
3342 (c_parser_struct_or_union_specifier): Push/pop TV_PARSE_STRUCT.
3343
3533b943
JM
33442011-05-02 Jason Merrill <jason@redhat.com>
3345
3346 PR c++/40975
3347 * tree-inline.c (copy_tree_r): Handle STATEMENT_LIST.
3348
2609a0ce
SM
33492011-05-02 Simon Martin <simartin@users.sourceforge.net>
3350
3351 PR c/35445
3352 * c-decl.c (finish_decl): Only create a composite if the types are
3353 compatible.
3354
6b0e4cbb
JM
33552011-05-02 Joseph Myers <joseph@codesourcery.com>
3356
3357 * config/fr30/fr30-protos.h (Mmode): Don't define.
3358 * config/m32r/m32r-protos.h (Mmode): Don't define. Expand
3359 definition where used.
3360 * config/mn10300/mn10300-protos.h (Mmode, Cstar, Rclas): Don't
3361 define. Expand definitions where used.
3362 * config/rx/rx-protos.h (Mmode, Fargs, Rcode): Don't define.
3363 Expand definitions where used.
3364 * config/rx/rx.c (rx_is_legitimate_address, rx_function_arg_size,
3365 rx_function_arg, rx_function_arg_advance,
3366 rx_function_arg_boundary): Expand definitions of those macros.
3367 * config/v850/v850-protos.h (Mmode): Don't define. Expand
3368 definition where used.
3369
4e938ce6
UB
33702011-05-02 Uros Bizjak <ubizjak@gmail.com>
3371
3372 * config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
3373 reg<->xmm moves.
3374 (*mov<mode>_internal): Merge with *mov<mode>_internal_avx.
3375 (*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves. Merge
3376 with *movv2sf_internal_rex64_avx.
3377 (*movv2sf_internal): Merge with *movv2sf_internal_avx.
3378 * config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>:
3379 Use %v prefix in insn mnemonic to handle TARGET_AVX.
3380 (*movdi_internal): Add "isa" attribute. Use "maybe_vex" instead of
3381 "vex" in "prefix" attribute calculation.
3382 (*movdf_internal): Output AVX mnemonics. Add "prefix" attribute.
3383
36019c19
SH
33842011-05-02 Stuart Henderson <shenders@gcc.gnu.org>
3385
7a2f7208
UB
3386 PR target/47951
3387 * config/bfin/bfin.md (loop_end): Use matching constraints to ensure
3388 inputs match the output.
36019c19 3389
f69ea688
AS
33902011-05-02 Andreas Schwab <schwab@linux-m68k.org>
3391
3392 PR target/47955
3393 * config/m68k/m68k.c (m68k_expand_prologue): Set
3394 current_function_static_stack_size.
3395
c33406f5
JH
33962011-05-02 Jan Hubicka <jh@suse.cz>
3397
3398 * lto-streamer.c (lto_streamer_cache_insert_1,
3399 lto_streamer_cache_lookup, lto_streamer_cache_create,
3400 lto_streamer_cache_delete): Use pointer map instead of hashtable.
3401 * lto-streamer.h (lto_streamer_cache_d): Turn node_map into pointer_map.
3402
47c94d21
JM
34032011-05-02 Joseph Myers <joseph@codesourcery.com>
3404
3405 * config/m68k/genopt.sh, config/m68k/m68k-isas.def,
3406 config/m68k/m68k-microarchs.def, config/m68k/m68k-opts.h,
3407 config/m68k/t-opts: New files.
3408 * config/m68k/m68k-tables.opt: New file (generated).
3409 * config.gcc (fido-*-*, m68k-*-*): Add m68k/m68k-tables.opt to
3410 extra_options and m68k/t-opts to tmake_file.
3411 * config/m68k/m68k.c (m68k_library_id_string): More to m68k.opt.
3412 (all_isas): Initialize using m68k-isas.def.
3413 (all_microarchs): Initialize using m68k-microarchs.def.
3414 (m68k_find_selection): Remove.
3415 (m68k_handle_option): Don't assert that global structures are in
3416 use. Use error_at. Access variables via opts pointer. Don't
3417 handle -march=, -mcpu= and -mtune= here. Set gcc_options fields
3418 directly for -m68020-40 and -m68020-60.
3419 (m68k_option_override): Set m68k_arch_entry, m68k_cpu_entry and
3420 m68k_tune_entry here.
3421 * config/m68k/m68k.h (enum uarch_type, enum target_device): Move
3422 to m68k-opts.h.
3423 (m68k_library_id_string): Remove declaration.
4e938ce6 3424 * config/m68k/m68k.opt (config/m68k/m68k-opts.h): New HeaderInclude.
47c94d21
JM
3425 (m68k_library_id_string): New Variable.
3426 (march=, mcpu=, mtune=): Use Enum and Var.
3427
e562bf36
RG
34282011-05-02 Richard Guenther <rguenther@suse.de>
3429
3430 * varasm.c (output_constructor_regular_field): Compute zero-based
3431 index with double-ints. Make sure to ICE instead of producing
3432 wrong code.
3433 * cgraph.c (cgraph_add_thunk): Do not create new tree nodes
3434 in asserts. Properly use a signed type.
3435
6bec6c98
UB
34362011-05-02 Uros Bizjak <ubizjak@gmail.com>
3437
3438 * config/i386/sse.md (V): New mode iterator.
3439 (V_128): Rename from SSEMODE. Make V2DF mode conditional on
3440 TARGET_SSE2.
3441 (V_256): Rename from AVX256MODE.
3442 (VF): Make V4SF mode unconditional. Add TARGET_SSE instruction
3443 condition to all users.
3444 (VF1): Ditto.
3445 (VF2): Make V2DF mode unconditional. Add TARGET_SSE2 instruction
3446 condition to all users.
3447 (VF_128): Make V4SF mode unconditional.
3448 (VF_256): Rename from AVX256MODEF2P.
3449 (VI4F_128): Rename from SSEMODE4S.
3450 (VI8F_128): Rename from SSEMODE2D.
3451 (VI4F_256): Rename from AVX256MODE8P.
3452 (VI8F_256): Rename from AVX256MODE4P.
3453 (avxsizesuffix): Add V16HI, V4DI, V8HI and V2DI modes.
3454 (ssescalarmodesuffix): Remove SF and DF modes.
3455 (SSEMODE124): Remove.
3456 (SSEMODE1248): Ditto.
3457 (SSEMODEF2P): Ditto.
3458 (AVXMODEF2P): Ditto.
3459 (AVXMODEFDP): Ditto.
3460 (AVXMODEFSP): Ditto.
3461 (VEC_EXTRACT_MODE): Make V16QI, V8HI, V4SI, V2DI, V4SF and V2DF modes
3462 unconditional.
3463 (VEC_EXTRACT_EVENODD_MODE): Rename from SSEMODE_EO. Make V4SF mode
3464 unconditional.
3465 (xop_pcmov_<mode><avxsizesuffix>): Merge from xop_pcmov_<mode> and
3466 xop_pcmov_<mode>256. Use V mode iterator.
3467
3468 Adjust RTX patterns globally for renamed mode attributes.
3469
2dfdcb4b
UW
34702011-05-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3471
3472 * haifa-sched.c (sched_emit_insn): Emit insn before first
3473 non-scheduled insn. Inform back-end about new insn. Add
3474 new insn to scheduled_insns list.
3475
90bc4623
RG
34762011-05-02 Richard Guenther <rguenther@suse.de>
3477
3478 PR tree-optimization/48822
3479 * tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
3480 (process_scc): Indicate which iteration we start.
3481
bc0fe8cb
JH
34822011-05-02 Jan Hubicka <jh@suse.cz>
3483
3484 * lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h
3485 (lto_section_overrun): New.
3486 * lto-section-out.c (append_block): Rename to ...
3487 (lto_append_block): ... this one; export.
3488 (lto_output_1_stream): Move lto lto-streamer.h
3489 (lto_output_data_stream): Update.
3490 * lto-streamer.h (lto_section_overrun, lto_append_block): Declare.
3491 (lto_output_1_stream, lto_input_1_unsigned): Turn into inline
3492 functions.
3493
f070a9d1
RG
34942011-05-02 Richard Guenther <rguenther@suse.de>
3495
3496 * tree.c (tree_code_counts): New global array.
3497 (record_node_allocation_statistics): Count individual tree codes.
3498 (dump_tree_statistics): Dump individual code stats.
3499
09dfe187
JH
35002011-05-01 Jan Hubicka <jh@suse.cz>
3501
3502 * ipa-inline.c (caller_growth_limits): Fix thinko when
3503 looking for largest stack frame.
3504 * ipa-inline.h (dump_inline_summary): Declare.
3505 * ipa-inline-analysis.c (dump_inline_edge_summary): Dump info
3506 on stack usage.
3507 (dump_inline_summary): Export.
3508 (debug_inline_summary): Declare as DEBUG_FUNCTION.
3509
6f76a878
AS
35102011-05-01 Anatoly Sokolov <aesok@post.ru>
3511
3512 * reginfo.c (memory_move_cost): Change rclass argument type form
3513 'enum reg_class' to reg_class_t.
3514 * reload.h (memory_move_cost): Update prototype.
3515 * postreload.c reload_cse_simplify_set): Change type dclass var to
3516 reg_class_t.
3517 * ira-int.h (ira_allocate_cost_vector, ira_free_cost_vector):
3518 Update prototype.
3519 (ira_allocate_and_set_costs): Change aclass argument type form
3520 'enum reg_class' to reg_class_t.
6bec6c98 3521 * ira-build.c (ira_allocate_cost_vector, ira_free_cost_vector):
6f76a878
AS
3522 Change aclass argument type to reg_class_t.
3523 (update_conflict_hard_reg_costs): Change type aclass and pref vars
3524 to reg_class_t.
3525 * gcc/ira.c (setup_class_subset_and_memory_move_costs): Adjust
3526 memory_move_cost call.
3527
3528 * config/ia64/ia64.c (ia64_register_move_cost): Remove 'from' and
3529 'to' local var. Rename from_i and to_i arguments to 'from' and 'to'.
3530 Change type tmp var to reg_class_t.
3531
9a4ac625
JH
35322011-04-30 Jan Hubicka <jh@suse.cz>
3533
3534 * ipa-inline.c (can_inline_edge_p): Disregard limits when
3535 inlining into function with flatten attribute.
3536 (want_inline_small_function_p): Be more realistic about inlining
3537 cold calls where callee size grows.
3538
dd8352ee
JH
35392011-04-30 Jan Hubicka <jh@suse.cz>
3540
3541 * cgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor
3542 flags.
3543
46e43d2b
AS
35442011-04-30 Anatoly Sokolov <aesok@post.ru>
3545
3546 * config/sparc/sparc.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
3547 PRINT_OPERAND_PUNCT_VALID_P): Remove.
3548 * config/sparc/sparc-protos.h (print_operand): Remove declaration.
3549 * config/sparc/sparc.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P,
3550 TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
3551 (print_operand): Rename to...
3552 (sparc_print_operand): ...this. Make static. Adjust
3553 sparc_print_operand function call.
3554 (sparc_print_operand_punct_valid_p, sparc_print_operand_address): New
3555 functions.
3556
ecb62563
JH
35572011-04-30 Jan Hubicka <jh@suse.cz>
3558
6bec6c98 3559 PR middle-end/48752
ecb62563
JH
3560 * ipa-inline.c (early_inliner): Disable when doing late
3561 addition of function.
3562
edb9b69e
JJ
35632011-04-30 Jakub Jelinek <jakub@redhat.com>
3564
be80a87e
JJ
3565 * dwarf2out.c (get_address_mode): New inline.
3566 (mem_loc_descriptor): Add MEM_MODE parameter, adjust recursive calls,
3567 if not dwarf_strict emit
3568 DW_OP_GNU_{{const,regval,deref}_type,convert,reinterpret} when
3569 desirable. Handle FLOAT_EXTEND, FLOAT_TRUNCATE, FLOAT,
3570 UNSIGNED_FLOAT, FIX and UNSIGNED_FIX. Just return NULL for
3571 FMA, STRICT_LOW_PART, CONST_VECTOR and CONST_FIXED.
3572 (dwarf2out_frame_debug_cfa_expression, reg_loc_descriptor,
3573 dw_loc_list_1, cst_pool_loc_descr, loc_list_from_tree): Adjust
3574 mem_loc_descriptor callers.
3575 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
3576 output_loc_operands_raw, hash_loc_operands, compare_loc_operands):
3577 Handle DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
3578 DW_OP_GNU_deref_type, DW_OP_GNU_convert and DW_OP_GNU_reinterpret.
3579 (base_types): New variable.
3580 (get_base_type_offset, calc_base_type_die_sizes,
3581 base_type_for_mode, mark_base_types, base_type_cmp,
3582 move_marked_base_types): New functions.
3583 (calc_die_sizes): Assert that die_offset is 0 or equal to
3584 next_die_offset.
3585 (loc_descriptor): Only handle here lowpart SUBREGs of REG, for
3586 others defer to mem_loc_descriptor. Adjust mem_loc_descriptor
3587 callers. If not dwarf_strict, call mem_loc_descriptor even for
3588 non-MODE_INT modes or MODE_INT modes larger than DWARF2_ADDR_SIZE.
3589 (gen_subprogram_die): Don't give up on call site parameters
3590 with non-integral or large integral modes. Adjust
3591 mem_loc_descriptor callers.
3592 (prune_unused_types): Call prune_unused_types_mark on base_types
3593 vector entries.
3594 (resolve_addr): Call mark_base_types.
3595 (dwarf2out_finish): Call move_marked_base_types.
3596
edb9b69e
JJ
3597 PR tree-optimization/48809
3598 * tree-switch-conversion.c (build_arrays): Compute tidx in unsigned
3599 type.
3600 (gen_inbound_check): Don't compute index_expr - range_min in utype
3601 again, instead reuse SSA_NAME initialized in build_arrays.
3602 Remove two useless gsi_for_stmt calls.
3603
a6545a3d
JL
36042011-04-29 Jeff Law <law@redhat.com>
3605
3606 * tree-ssa-threadedge.c (thread_across_edge): Add missing return.
3607
af8bca3c
MJ
36082011-04-29 Martin Jambor <mjambor@suse.cz>
3609
3610 * cgraph.h (cgraph_postorder): Remove declaration.
3611 * ipa-utils.h (ipa_free_postorder_info): Declare.
3612 (ipa_reverse_postorder): Likewise.
3613 * cgraphunit.c: Include ipa-utils.h.
3614 (cgraph_expand_all_functions): Update call to ipa_reverse_postorder.
3615 * ipa-inline.c: Include ipa-utils.h.
3616 (ipa_inline): Update call to ipa_reverse_postorder.
3617 * ipa-pure-const.c (propagate_pure_const): Update call to
3618 ipa_reduced_postorder and ipa_print_order. Call
3619 ipa_free_postorder_info to clean up.
3620 (propagate_nothrow): Likewise.
3621 * ipa-reference.c (propagate): Removed a useless call to
3622 ipa_utils_reduced_inorder, updated a call to ipa_reduced_postorder
3623 and ipa_print_order. Call ipa_free_postorder_info to clean up.
3624 * ipa.c: Include ipa-utils.h.
3625 (ipa_profile): Update call to ipa_reverse_postorder.
3626 (cgraph_postorder): Moved to...
3627 * ipa-utils.c (ipa_reverse_postorder): ...here and renamed.
3628 (ipa_utils_print_order): Renamed to ipa_print_order.
3629 (ipa_utils_reduced_inorder): Renamed to ipa_reduced_postorder. Updated
3630 comments.
3631 (ipa_free_postorder_info): New function.
3632 * passes.c: Include ipa-utils.h.
3633 (do_per_function_toporder): Update call to ipa_reverse_postorder.
3634 (ipa_write_summaries): Likewise.
3635 * Makefile.in (passes.o): Add IPA_UTILS_H to dependencies.
3636 (cgraphunit.o): Likewise.
3637 (ipa.o): Likewise.
3638 (ipa-inline.o): Likewise.
3639
b15c64ee
JH
36402011-04-29 Jan Hubicka <jh@suse.cz>
3641
3642 * gcc.dg/tree-ssa/inline-10.c: New testcase.
3643 * gcc.dg/tree-ssa/inline-9.c: Disable partial inlining.
3644 * ipa-inline.h (clause_t): Turn into unsigned int.
3645 * ipa-inline-analysis.c (add_clause): Do more simplification.
3646 (and_predicates): Shortcut more cases.
3647 (predicates_equal_p): Move forward; check that clauses are properly
3648 ordered.
3649 (or_predicates): Shortcut more cases.
3650 (edge_execution_predicate): Rewrite as...
3651 (set_cond_stmt_execution_predicate): ... this function; handle
3652 __builtin_constant_p.
3653 (set_switch_stmt_execution_predicate): New .
3654 (compute_bb_predicates): New.
3655 (will_be_nonconstant_predicate): Update TODO.
3656 (estimate_function_body_sizes): Use compute_bb_predicates
3657 and free them later, always try to estimate if stmt is constant.
3658 (estimate_time_after_inlining, estimate_size_after_inlining):
3659 Gracefully handle optimized out edges.
3660 (read_predicate): Fix off by one error.
3661
a88fdc2a
NP
36622011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>
3663
3664 * Makefile.in (ENABLE_MAINTAINER_RULES): New.
3665
d984c8ef
XDL
36662011-04-27 Xinliang David Li <davidxl@google.com>
3667
3668 * tree-profile.c (init_ic_make_global_vars): Set
3669 tls attribute on ic vars.
3670 * coverage.c (coverage_end_function): Initialize
3671 function_list with zero.
3672
45a2c477
RG
36732011-04-29 Richard Guenther <rguenther@suse.de>
3674
3675 * builtins.c (fold_builtin_classify_type): Use integer_type_node
3676 for the type of the result.
3677 (fold_builtin_isascii): Likewise.
3678 (fold_builtin_toascii): Use integer_type_node where appropriate.
3679 (fold_builtin_logb): Likewise.
3680 (fold_builtin_frexp): Likewise.
3681 (fold_builtin_strstr): Likewise.
3682 (fold_builtin_strpbrk): Likewise.
3683 (fold_builtin_fputs): Likewise.
3684 (fold_builtin_sprintf): Likewise.
3685 (fold_builtin_snprintf): Likewise.
3686 (fold_builtin_printf): Likewise.
3687 (do_mpfr_remquo): Use a proper type for the assigned constant.
3688 (do_mpfr_lgamma_r): Likewise.
3689 * dwarf2out.c (resolve_one_addr): Use size_int.
3690 * except.c (init_eh): Likewise.
3691 (assign_filter_values): Use integer_type_node for filter values.
3692 (sjlj_emit_dispatch_table): Use integer_type_node for dispatch
3693 indices.
3694 * tree-cfg.c (move_stmt_eh_region_tree_nr): Use integer_type_node
3695 for EH region numbers.
3696 * tree-vrp.c (simplify_div_or_mod_using_ranges): Use integer_type_node
3697 for the shift amount.
3698
eb6c3df1
RG
36992011-04-29 Richard Guenther <rguenther@suse.de>
3700
3701 * expr.h (expand_shift): Rename to ...
3702 (expand_variable_shift): ... this.
3703 (expand_shift): Take a constant shift amount.
3704 * expmed.c (expand_shift): Rename to ...
3705 (expand_variable_shift): ... this.
3706 (expand_shift): New wrapper around expand_variable_shift.
3707 * expr.c (convert_move, emit_group_load_1, emit_group_store,
3708 optimize_bitfield_assignment_op, store_field, expand_expr_real_2,
3709 expand_expr_real_1, reduce_to_bit_field_precision): Adjust.
3710 * expmed.c (store_fixed_bit_field, extract_bit_field_1,
3711 extract_fixed_bit_field, extract_split_bit_field, expand_mult_const,
3712 expand_mult, expand_widening_mult, expand_mult_highpart_adjust,
3713 extract_high_half, expand_sdiv_pow2, expand_divmod, emit_cstore,
3714 emit_store_flag_1, emit_store_flag): Likewise.
3715 * builtins.c (expand_builtin_signbit): Likewise.
3716 * calls.c (load_register_parameters): Likewise.
3717 * function.c (assign_parm_setup_block): Likewise.
3718 * lower-subreg.c (resolve_shift_zext): Likewise.
3719 * optabs.c (widen_bswap, expand_abs_nojump,
3720 expand_one_cmpl_abs_nojump, expand_float): Likewise.
3721 * spu/spu.c (spu_expand_extv): Likewise.
3722 * sparc/sparc.c (sparc32_initialize_trampoline): Likewise.
3723
9f616812
RG
37242011-04-29 Richard Guenther <rguenther@suse.de>
3725
3726 * tree-inline.c (remap_eh_region_tree_nr): Use integer_type_node
3727 for the remapped region number.
3728 * predict.c (build_predict_expr): Use integer_type_node for the
3729 predict kind.
3730 * fold-const.c (fold_binary_loc): Use integer_type_node for
3731 the shift amount. Use a proper type for the PLUS_EXPR operand.
3732
b823cdfe
MM
37332011-04-29 Michael Matz <matz@suse.de>
3734
3735 * lto-streamer.c (lto_streamer_cache_insert_1): Accept to override
3736 other trees that just builtins.
3737 (lto_record_common_node): Don't leave NULL TYPE_CANONICAL.
3738
413581ba
RG
37392011-04-29 Richard Guenther <rguenther@suse.de>
3740
3741 * tree-nested.c (get_trampoline_type): Use size_int.
3742 (get_nl_goto_field): Likewise.
3743 * tree-eh.c (lower_try_finally_switch): Use integer_type_node
3744 for all indexes.
3745 (lower_eh_constructs_2): Likewise.
3746 (lower_resx): Likewise.
3747 (lower_eh_dispatch): Likewise.
3748 * tree-mudflap.c (mf_build_string): Use size_int.
3749 (mudflap_register_call): Use integer_type_node for the flag.
3750 (mudflap_enqueue_constant): Use size_int.
3751 * tree-chrec.c (reset_evolution_in_loop): Copy CHREC_VAR
3752 instead of rebuilding it.
3753
5c04e9f4
RG
37542011-04-29 Richard Guenther <rguenther@suse.de>
3755
3756 * tree-ssa-structalias.c (get_fi_for_callee): Restructure.
3757 Handle OBJ_TYPE_REF.
3758 (find_func_aliases_for_call): Use it more consistently.
3759
5c24671b
AO
37602011-04-29 Alexandre Oliva <aoliva@redhat.com>
3761
3762 * haifa-sched.c (last_nondebug_scheduled_insn): New.
3763 (rank_for_schedule): Use it.
3764 (schedule_block): Set it.
3765
10adac51
XDL
37662011-04-28 David Li <davidxl@google.com>
3767
3768 * tree.c (crc32_string): Use crc32_byte.
3769 (crc32_byte): New function.
3770 * tree.h (crc32_byte): New function.
3771 * gcov.c (read_graph_file): Handle new cfg_cksum.
3772 (read_count_file): Ditto.
3773 * profile.c (instrument_values): Ditto.
3774 (get_exec_counts): Ditto.
3775 (read_profile_edge_counts): Ditto.
3776 (compute_branch_probabilities): Ditto.
3777 (compute_value_histograms): Ditto.
3778 (branch_prob): Ditto.
3779 (end_branch_prob): Ditto.
3780 * coverage.c (read_counts_file): Ditto.
3781 (get_coverage_counts): Ditto.
3782 (tree_coverage_counter_addr): Ditto.
3783 (coverage_checksum_string): Ditto.
3784 (coverage_begin_output): Ditto.
3785 (coverage_end_function): Ditto.
3786 (build_fn_info_type): Ditto.
3787 (build_fn_info_value): Ditto.
3788 * libgcov.c (gcov_exit): Ditto.
3789 * gcov-dump.c (tag_function): Ditto.
3790 (compute_checksum): Remove.
3791
5d6358a5
AM
37922011-04-29 Alan Modra <amodra@gmail.com>
3793
3794 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
3795 unspec plus offset. Tidy macho code.
3796
85ad2ef5
MJ
37972011-04-29 Martin Jambor <mjambor@suse.cz>
3798
3799 * cgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph
3800 node instead of a decl. Update all callers.
3801 * cgraph.h: Update declaration.
3802
437f4a00
IR
38032011-04-28 Ira Rosen <ira.rosen@linaro.org>
3804
3805 PR tree-optimization/48765
3806 * tree-vectorizer.h (vect_make_slp_decision): Return bool.
3807 * tree-vect-loop.c (vect_analyze_loop_operations): Add new argument
3808 to indicate if loop aware SLP is being used. Scan the statements
3809 and update the vectorization factor according to the type of
3810 vectorization before statement analysis.
3811 (vect_analyze_loop_2): Get a return value from vect_make_slp_decision,
3812 pass it to vect_analyze_loop_operations.
3813 (vectorizable_reduction): Set number of copies to 1 in case of pure
3814 SLP statement.
3815 * tree-vect-stmts.c (vectorizable_conversion,
3816 vectorizable_assignment, vectorizable_shift,
3817 vectorizable_operation, vectorizable_type_demotion,
3818 vectorizable_type_promotion, vectorizable_store, vectorizable_load):
3819 Likewise.
3820 (vectorizable_condition): Move the check that it is not SLP
3821 vectorization before the number of copies check.
3822 * tree-vect-slp.c (vect_make_slp_decision): Return TRUE if decided
3823 to vectorize the loop using SLP.
3824
c6fc44f3
JJ
38252011-04-28 Jakub Jelinek <jakub@redhat.com>
3826
3827 PR middle-end/48597
3828 * final.c (final_scan_insn): Call dwarf2out_frame_debug even for
3829 inline asm.
3830
6c0170ea
JM
38312011-04-28 Joseph Myers <joseph@codesourcery.com>
3832
3833 * config.gcc (*-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* |
3834 *-*-kopensolaris*-gnu): Don't define SINGLE_LIBC.
3835 (i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
3836 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
3837 x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Don't use
3838 linux*.h headers.
6bec6c98 3839 * config/gnu-user.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Define.
6c0170ea
JM
3840 * config/i386/gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
3841 * config/i386/kfreebsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
3842 * config/i386/knetbsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
6bec6c98 3843 * config/i386/kopensolaris-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
6c0170ea
JM
3844 * config/i386/linux-unwind.h (x86_fallback_frame_state): Don't use
3845 REG_NAME.
3846 * config/i386/linux.h (REG_NAME): Don't define.
3847 * config/i386/linux64.h (REG_NAME): Don't define.
3848 * config/linux.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS):
3849 Undefine before defining.
3850
970dabbd
JH
38512011-04-28 Jan Hubicka <jh@suse.cz>
3852
6bec6c98
UB
3853 * ipa-inline-analysis.c (will_be_nonconstant_predicate): Take
3854 nonconstant_names array.
970dabbd
JH
3855 (estimate_function_body_sizes): Build nonconstant_names array; handle
3856 BUILT_IN_CONSTANT_P.
3857
8d3e3924
RG
38582011-04-28 Richard Guenther <rguenther@suse.de>
3859
3860 PR bootstrap/48804
3861 Revert
3862 2011-04-28 Richard Guenther <rguenther@suse.de>
3863
3864 * tree-ssa-structalias.c (solve_constraints): Build succ graph
3865 as late as possible.
6bec6c98 3866
8576f20a
RG
38672011-04-28 Richard Guenther <rguenther@suse.de>
3868
3869 * tree-ssa-structalias.c (dump_constraint): Don't end the line.
3870 (debug_constraint): Do it here.
3871 (dump_constraints): And here.
3872 (rewrite_constraints): And here.
3873 (dump_constraint_edge): Remove.
3874 (dump_constraint_graph): Rewrite to produce DOT output.
3875 (solve_constraints): Build succ graph as late as possible.
3876 Dump constraint graphs before and after solving.
3877
e38811ce
RG
38782011-04-28 Richard Guenther <rguenther@suse.de>
3879
3880 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
3881 New function split out from ...
3882 (find_func_aliases): ... here. Call it.
3883 (find_func_aliases_for_call): Likewise.
3884
fbaf0d0c
GDR
38852011-04-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
3886
3887 * internal-fn.h (internal_fn_name_array): Declare.
3888 (internal_fn_flags_array): Likewise.
3889
cbb734aa
UB
38902011-04-27 Uros Bizjak <ubizjak@gmail.com>
3891
3892 * config/i386/i386.md (ssemodesuffix): Merge with ssevecsize,
3893 ssemodefsuffix, ssescalarmodesuffix and avxmodesuffixp.
3894 Move from sse.md.
3895 (ssemodefsuffix): Remove.
3896 (ssevecmodesuffix): New mode attribute.
3897 (fix_trunc<mode>di_sse, fix_trunc<mode>si_sse,
3898 *float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit,
3899 *float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit,
3900 *float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit,
3901 *float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit, setcc_<mode>_sse,
3902 *sqrt<mode>2_sse, sse4_1_round<mode>2, <smaxmin:code><mode>3,
3903 *ieee_smin<mode>3, *ieee_smax<mode>3): Adjust assembler templates for
3904 ssemodesuffix mode attribute.
3905 (float splitters): Use ssevecmodesuffix mode attribute.
3906 * config/i386/sse.md (ssescalarmode): Merge with avxscalarmode.
3907 (sseinsmode): Rename from avxvecmode.
3908 (avxsizesuffix): Rename from avxmodesuffix.
3909 (sseintvecmode): Rename from avxpermvecmode.
3910 (ssedoublevecmode): Rename from ssedoublesizemode.
3911 (ssehalfvecmode): Rename from avxhalfvecmode.
3912 (ssescalarmode): Rename from avxscalarmode.
3913 (<sse>_comi, <sse>_ucomi, sse4a_movnt<mode>): Adjust assembler
3914 templates for ssemodesuffix mode attribute.
3915 (*andnot<mode>3, *<any_logic:code><mode>3): Use ssevecmodesuffix
3916 mode attribute.
3917
3918 Adjust RTX patterns globally for renamed mode attributes.
3919
991278ab
JH
39202011-04-27 Jan Hubcika <jh@suse.cz>
3921
3922 * ipa-inline.h (struct inline_edge_summary): Add predicate pointer.
3923 * ipa-inline-analysis.c: Include alloc-pool.h.
3924 (edge_predicate_pool): New.
3925 (trye_predicate_p): New function
3926 (false_predicate_p): New function.
3927 (add_clause): Sanity check that false clauses are "optimized";
3928 never add clauses to predicate that is already known to be false.
3929 (and_predicate): Use flase_predicate_p.
3930 (evaulate_predicate): Rename to ...
3931 (evaluate_predicate): ... this one; update all callers; assert
3932 that false is not listed among possible truths.
3933 (dump_predicate): Use true_predicate_p.
3934 (account_size_time): Use false_predicate_p.
3935 (evaulate_conditions_for_edge): Rename to ...
3936 (evaluate_conditions_for_edge) ... this one.
3937 (edge_set_predicate): New function.
3938 (inline_edge_duplication_hook): Duplicate edge predicates.
3939 (inline_edge_removal_hook): Free edge predicates.
cbb734aa 3940 (dump_inline_edge_summary): Add INFO parameter; dump edge predicates.
991278ab
JH
3941 (dump_inline_summary): Update.
3942 (estimate_function_body_sizes): Set edge predicates.
3943 (estimate_calls_size_and_time): Handle predicates.
3944 (estimate_callee_size_and_time): Update.
3945 (remap_predicate): Add toplev_predicate; update comment.
3946 (remap_edge_predicates): New function.
3947 (inline_merge_summary): Compute toplev predicate; update.
3948 (read_predicate): New function.
3949 (read_inline_edge_summary): Use it.
3950 (inline_read_section): Likewise.
3951 (write_predicate): New function.
3952 (write_inline_edge_summary): Use it.
3953 (inline_write_summary): Likewise.
3954 (inline_free_summary): Free alloc pool and edge summary vec.
3955
648b5f85
RG
39562011-04-27 Richard Guenther <rguenther@suse.de>
3957
3958 * tree-ssa-structalias.c (changed_count): Remove.
3959 (changed): Use a bitmap.
3960 (unify_nodes): Adjust.
3961 (do_sd_constraint): Likewise.
3962 (do_ds_constraint): Likewise.
3963 (do_complex_constraint): Likewise.
3964 (solve_graph): Likewise.
3965
4d5dcfb2
JH
39662011-04-27 Jan Hubicka <jh@suse.cz>
3967
3968 * cgraphunit.c (cgraph_process_new_functions): Fix ordering issue.
3969
200eb7d2
UB
39702011-04-27 Uros Bizjak <ubizjak@gmail.com>
3971
3972 * config/i386/predicates.md (avx_vpermilp_*_operand): Remove.
3973 (avx_vperm2f128_*_operand): Ditto.
3974 * config/i386/sse.md (*avx_vpermilp<mode>): Remove operand2 predicate.
3975 Use avx_vpermilp_parallel in insn condition.
3976 (*avx_vperm2f128<mode>_nozero): Remove operand3 predicate.
3977 Use avx_vperm2f128_parallel in insn condition.
3978
7d6e2521
RG
39792011-04-27 Richard Guenther <rguenther@suse.de>
3980
3981 * Makefile.in (tree-ssa-structalias.o): Remove
3982 gt-tree-ssa-structalias.h dependency.
3983 (GTFILES): Remove tree-ssa-structalias.c.
3984 * tree.c (allocate_decl_uid): New function.
3985 (make_node_stat): Use it.
3986 (copy_node_stat): Likewise.
3987 * tree.h (allocate_decl_uid): Declare.
3988 * tree-ssa-alias.h (delete_alias_heapvars): Remove.
3989 * tree-ssa.c (delete_tree_ssa): Do not call delete_alias_heapvars.
3990 * tree-flow.h (struct var_ann_d): Remove is_heapvar flag.
200eb7d2 3991 * tree-ssa-live.c (remove_unused_locals): Do not check is_heapvar flag.
7d6e2521
RG
3992 * tree-ssa-structalias.c (heapvar_for_stmt): Remove.
3993 (struct heapvar_map): Likewise.
3994 (heapvar_map_eq, heapvar_map_hash, heapvar_lookup,
3995 heapvar_insert): Likewise.
3996 (make_heapvar_for): Rename to ...
3997 (make_heapvar): ... this. Simplify.
3998 (fake_var_decl_obstack): New global var.
3999 (build_fake_var_decl): New function.
4000 (make_constraint_from_heapvar): Adjust.
4001 (handle_lhs_call): Likewise.
4002 (create_function_info_for): Likewise.
4003 (intra_create_variable_infos): Likewise.
4004 (init_alias_vars): Allocate fake_var_decl_obstack.
4005 (init_alias_heapvars, delete_alias_heapvars): Remove.
4006 (compute_points_to_sets): Do not call init_alias_heapvars.
4007 (ipa_pta_execute): Likewise.
4008 (delete_points_to_sets): Free fake_var_decl_obstack.
4009
526ed6c2
UW
40102011-04-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4011
4012 * config/spu/divmovti4.c (union qword_UTItype): New data type.
4013 (si_from_UTItype, si_to_UTItype): New functions.
4014 (__udivmodti4): Use them to implement type-punning.
4015 * config/spu/multi3.c (union qword_TItype): New data type.
4016 (si_from_TItype, si_to_TItype): New functions.
4017 (__multi3): Use them to implement type-punning.
4018
c187d33c
UW
40192011-04-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4020
4021 * config/spu/spu.c (spu_expand_epilogue): Do not emit barrier.
4022
40982661
JH
40232011-04-27 Jan Hubicka <jh@suse.cz>
4024
4025 * ipa-prop.c (function_insertion_hook_holder): New holder.
4026 (ipa_add_new_function): New function.
200eb7d2
UB
4027 (ipa_register_cgraph_hooks, ipa_unregister_cgraph_hooks):
4028 Register/deregister holder.
40982661 4029
9aef53ee
RG
40302011-04-27 Richard Guenther <rguenther@suse.de>
4031
4032 PR tree-optimization/48772
200eb7d2 4033 * tree-ssa-pre.c (eliminate): Update call stmts after elimination only.
9aef53ee 4034
f63d806d
RG
40352011-04-27 Richard Guenther <rguenther@suse.de>
4036
4037 * tree-ssa-alias.c (indirect_refs_may_alias_p): Fix
4038 TARGET_MEM_REF handling.
4039
e1ea7451
NC
40402011-04-27 Nick Clifton <nickc@redhat.com>
4041
9b5db25d
NC
4042 * config/frv/frv.h (enum reg_class): Delete EVEN_ACC_REGS,
4043 ACC_REGS, FEVEN_REGS, FPR_REGS, EVEN_REGS.
4044 (REG_CLASS_NAMES): Likewise.
4045 (REG_CLASS_CONTENTS): Likewise.
4046 (EVEN_ACC_REGS): New macro. Alias for QUAD_ACC_REGS.
4047 (ACC_REGS): New macro. Alias for QUAD_ACC_REGS.
4048 (FEVEN_REGS): New macro. Alias for QUAD_ACC_REGS.
4049 (FPR_REGS): New macro. Alias for QUAD_ACC_REGS.
4050 (EVEN_REGS): New macro. Alias for QUAD_REGS.
4051 * config/frv/frv.c (frv_secondary_reload_class): Remove use of
4052 duplicate register classes.
97d20907 4053 (frv_class_likely_spilled_p): Likewise.
9b5db25d
NC
4054 (frv_register_move_cost): Likewise.
4055
e1ea7451
NC
4056 * config/mcore/mcore.h (REGNO_REG_CLASS): Do not index beyond the
4057 end of the regno_reg_class array.
4058
5c2f94b4
JJ
40592011-04-27 Jakub Jelinek <jakub@redhat.com>
4060
4061 PR c/48742
4062 * c-typeck.c (build_binary_op): Don't wrap arguments if
4063 int_operands is true.
4064
57a944d7
KK
40652011-04-26 Kaz Kojima <kkojima@gcc.gnu.org>
4066
4067 PR target/48767
4068 * config/sh/sh.c (sh_gimplify_va_arg_expr): Don't call
4069 targetm.calls.must_pass_in_stack for void type.
4070
898b8927
JH
40712011-04-26 Jan Hubicka <jh@suse.cz>
4072
4073 * cgraphbuild.c (build_cgraph_edges): Update call
4074 of cgraph_create_edge and cgraph_create_indirect_edge.
4075 * cgraph.c (cgraph_create_edge_including_clones,
4076 cgraph_create_edge_1, cgraph_allocate_init_indirect_info,
4077 cgraph_update_edges_for_call_stmt_node): Do not take nest
4078 argument; do not initialize call_stmt_size/time.
4079 (dump_cgraph_node): Do not dump nest.
4080 (cgraph_clone_edge): Do not take loop_nest argument;
4081 do not propagate it; do not clone call_stmt_size/time.
4082 (cgraph_clone_node): Likewise.
4083 (cgraph_create_virtual_clone): Update.
4084 * cgraph.h (struct cgraph_edge): Remove
4085 call_stmt_size/call_stmt_time/loop_nest.
4086 (cgraph_create_edge, cgraph_create_indirect_edge,
4087 cgraph_create_edge_including_clones, cgraph_clone_node): Update
4088 prototype.
4089 * tree-emutls.c (gen_emutls_addr): Update.
4090 * ipa-inline-transform.c (update_noncloned_frequencies): Do not handle
4091 loop_nest; handle indirect calls, too.
4092 (clone_inlined_nodes): Do not care about updating inline summaries.
4093 * cgraphunit.c (cgraph_copy_node_for_versioning): Update.
4094 * lto-cgraph.c (lto_output_edge, input_node, input_edge): Do not
4095 stream call_stmt_size/call_stmt_time/loop_nest.
4096 * ipa-inline.c (edge_badness): Update.
4097 (ipa_inline): dump summaries after inlining.
4098 * ipa-inline.h (struct inline_edge_summary, inline_edge_summary_t):
200eb7d2 4099 New.
898b8927
JH
4100 (inline_edge_summary): New function.
4101 * ipa-inline-analysis.c (edge_duplication_hook_holder): New holder.
4102 (inline_edge_removal_hook): Handle edge summaries.
4103 (inline_edge_duplication_hook): New hook.
4104 (inline_summary_alloc): Alloc hooks.
4105 (initialize_growth_caches): Do not register removal hooks.
4106 (free_growth_caches); Do not free removal hook.
4107 (dump_inline_edge_summary): New function.
4108 (dump_inline_summary): Use it.
4109 (estimate_function_body_sizes, estimate_edge_size_and_time): Update.
4110 (inline_update_callee_summaries): New function.
4111 (inline_merge_summary): Use it.
4112 (do_estimate_edge_time, do_estimate_edge_growth): Update.
4113 (read_inline_edge_summary): New function.
4114 (inline_read_section): Use it.
4115 (write_inline_edge_summary): New function.
4116 (inline_write_summary): Use it.
4117 (inline_free_summary): Free edge new holders.
4118 * tree-inline.c (copy_bb): Update.
4119
ffa03772
JM
41202011-04-26 Jason Merrill <jason@redhat.com>
4121
4122 * tree-eh.c (lower_try_finally_switch): Create the label along with
4123 the CASE_LABEL_EXPR.
4124
6d7b45ad
DM
41252011-04-26 David S. Miller <davem@davemloft.net>
4126 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4127
4128 * configure.ac (gcc_cv_as_sparc_gotdata_op): Specify alignment.
4129 * configure: Regenerate.
4130
df10b6d4
MM
41312011-04-26 Michael Meissner <meissner@linux.vnet.ibm.com>
4132
4133 PR target/48258
4134 * config/rs6000/vector.md (UNSPEC_REDUC): New unspec for vector
4135 reduction.
4136 (VEC_reduc): New code iterator and splitters for vector reduction.
4137 (VEC_reduc_name): Ditto.
4138 (VEC_reduc_rtx): Ditto.
4139 (reduc_<VEC_reduc_name>_v2df): Vector reduction expanders for VSX.
4140 (reduc_<VEC_reduc_name>_v4sf): Ditto.
4141
4142 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
4143 support for extracting SF on VSX.
4144
4145 * config/rs6000/vsx.md (vsx_xscvspdp_scalar2): New insn for
4146 generating xscvspdp.
4147 (vsx_extract_v4sf): New insn to extract SF from V4SF vector.
4148 (vsx_reduc_<VEC_reduc_name>_v2df): New insns and splitters for
4149 double add, minimum, maximum vector reduction.
4150 (vsx_reduc_<VEC_reduc_name>_v4sf): Ditto.
4151 (vsx_reduc_<VEC_reduc_name>_v2df2_scalar): New combiner insn to
4152 optimize double vector reduction.
4153 (vsx_reduc_<VEC_reduc_name>_v4sf_scalar): Ditto.
4154
35a5db04
JM
41552011-04-26 Joseph Myers <joseph@codesourcery.com>
4156
4157 * config/fr30/fr30.h (inhibit_libc): Don't define.
4158 * config/m32r/m32r-protos.h: Correct comment.
4159 * config/v850/v850.h (GHS_default_section_names,
4160 GHS_current_section_names): Use tree, not union tree_node *.
4161
2f964ad6
XDL
41622011-04-26 Xinliang David Li <davidxl@google.com>
4163
200eb7d2 4164 * tree-ssa-uninit.c (warn_uninitialized_phi): Pass warning code.
2f964ad6
XDL
4165 * c-family/c-opts.c (c_common_handle_option): Set
4166 warn_maybe_uninitialized.
4167 * opts.c (common_handle_option): Ditto.
4168 * common.opt: New option.
4169 * tree-ssa.c (warn_uninit): Add one more parameter.
4170 (warn_uninitialized_var): Pass warning code.
4171 * tree-flow.h: Interface change.
4172
4173
9c7bd91a
RO
41742011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4175
200eb7d2 4176 * config/mips/iris6.h (LOCAL_LABEL_PREFIX): Don't test TARGET_NEWABI.
9c7bd91a
RO
4177 (WINT_TYPE_SIZE): Use INT_TYPE_SIZE.
4178 (TARGET_OS_CPP_BUILTINS): Remove TARGET_IRIX6 guards.
4179
c2f36e21
RO
41802011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4181
4182 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Remove.
4183 * config/mips/mips.opt (mmips-tfile): Remove.
4184
4185 * doc/install.texi (Specific, mips-*-*): Move mips-tfile,
4186 mips-tdump reference to ...
200eb7d2 4187 (Specific, alpha*-dec-osf5.1): ... here. Adapt for Tru64 UNIX.
c2f36e21
RO
4188 * doc/trouble.texi (Cross-Compiler Problems): Replace MIPS
4189 reference by Tru64 UNIX.
4190
2c9da85b
JJ
41912011-04-26 Jakub Jelinek <jakub@redhat.com>
4192
0c5f6539
JJ
4193 PR debug/48768
4194 * tree-ssa.c (insert_debug_temp_for_var_def): If degenerate_phi_result
4195 is error_mark_node, set value to NULL.
4196
2c9da85b
JJ
4197 PR tree-optimization/48734
4198 * tree-ssa-reassoc.c (eliminate_redundant_comparison): Give up
4199 if return value from maybe_fold_*_comparsions isn't something
4200 the code is prepared to handle.
4201
77fa1d54
UB
42022011-04-26 Uros Bizjak <ubizjak@gmail.com>
4203
4204 * config/i386/predicates.md (ext_QIreg_operand): Remove extra
4205 mode check.
4206 (ext_QIreg_nomode_operands): Remove.
4207 * config/i386/i386.md (*anddi_1): Use ext_QIreg_operand.
4208 (*andsi_1): Ditto.
4209 (*andhi_1): Ditto.
4210
0e2a6c2b
AS
42112011-04-26 Andrew Stubbs <ams@codesourcery.com>
4212
4213 * config/arm/arm.c (arm_gen_constant): Remove can_negate_initial.
4214
961562d8
RB
42152011-04-26 Richard Guenther <rguenther@suse.de>
4216
4217 * c-typeck.c (build_unary_op): Do not expand array-refs via
4218 pointer arithmetic. Only adjust qualifiers for function types.
4219
42202011-04-26 Richard Guenther <rguenther@suse.de>
4221
4222 PR middle-end/48694
4223 * tree.h (OEP_CONSTANT_ADDRESS_OF): New operand_equal_flag.
4224 * fold-const.c (operand_equal_p): For TREE_CONSTANT ADDR_EXPRs
77fa1d54
UB
4225 compare the operands with OEP_CONSTANT_ADDRESS_OF. Treat trees
4226 with TREE_SIDE_EFFECTS equal when OEP_CONSTANT_ADDRESS_OF is set.
961562d8 4227
a0d260fc
PC
42282011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
4229
6bec6c98 4230 * doc/extend.texi: Document __underlying_type.
a0d260fc 4231
4d583bb9
SB
42322011-04-25 Segher Boessenkool <segher@kernel.crashing.org>
4233
4234 * config/rs6000/titan.md (automata_option "progress"): Remove.
4235
1f3fcdc3
JL
42362011-04-25 Jeff Law <law@redhat.com>
4237
4238 * tree-vrp.c (identify_jump_threads): Handle GIMPLE_SWITCH too.
4239
e5b0dad8
JK
42402011-04-25 Jan Kratochvil <jan.kratochvil@redhat.com>
4241
4242 * system.h (ENUM_BITFIELD): Remove.
4243
5157a881 42442011-04-25 Maxim Kuvyrkov <maxim@codesourcery.com>
b15eacc7 4245 Eric Botcazou <ebotcazou@adacore.com>
5157a881
MK
4246
4247 * combine.c (combine_simplify_rtx): Avoid mis-simplifying conditionals
4248 for STORE_FLAG_VALUE==-1 case.
4249
ed4c109e
RS
42502011-04-24 Richard Sandiford <richard.sandiford@linaro.org>
4251
4252 PR target/43804
4253 * config/m68k/constraints.md (T): Allow PIC operands that satisfy
4254 LEGITIMATE_PIC_OPERAND_P.
4255
f3181aa2
JH
42562011-04-24 Jan Hubicka <jh@suse.cz>
4257
4258 * ipa-prop.c (ipa_propagate_indirect_call_infos): Remove obsolette
4259 WPA hack.
77fa1d54
UB
4260 * ipa-prop.h (ipa_get_param, ipa_is_param_used,
4261 ipa_param_cannot_devirtualize_p, ipa_param_types_vec_empty,
4262 ipa_get_ith_jump_func, ipa_get_lattice): Fortify array bounds.
f3181aa2
JH
4263 * ipa-inline-analysis.c (add_clause): Fix clause ordering.
4264 (and_predicates, or_predicates, predicates_equal_p, evaulate_predicate):
4265 Sanity check predicate length.
4266 (remap_predicate): Likewise; sanity check jump functions.
4267 (inline_read_section, inline_write_summary): Sanity check
4268 predicate length.
4269
5307cbaa
PC
42702011-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4271
4272 PR other/48748
4273 * doc/extend.texi (Type Traits): Document __is_standard_layout,
4274 __is_literal_type, and __is_trivial; update throughout about
4275 possibly cv-qualified void types.
4276
bebd5f99
GP
42772011-04-24 Gerald Pfeifer <gerald@pfeifer.com>
4278
4279 * doc/sourcebuild.texi (Ada Tests): Adjust reference to ACATS
4280 testsuite and make it version agnostic.
4281
7ee28a74
JH
42822011-04-22 Jan Hubicka <jh@suse.cz>
4283
4284 * ipa-inline-analysis.c (inline_write_summary): Fix thinko.
4285
16997bc0
JJ
42862011-04-23 Jakub Jelinek <jakub@redhat.com>
4287
4288 PR c/48685
4289 * fold-const.c (fold_convert_loc): Add NOP_EXPR when casting
4290 to VOID_TYPE even around MODIFY_EXPR.
4291
f94d4ab1
MS
42922011-04-22 Mike Stump <mikestump@comcast.net>
4293
1a84c183 4294 * gensupport.c (read_md_rtx): Fix typo in comment.
f94d4ab1
MS
4295 * config/cris/cris.opt (moverride-best-lib-options): Fix typo in
4296 comment.
4297
632b4f8e
JH
42982011-04-22 Jan Hubicka <jh@suse.cz>
4299
4300 * gengtype.c (open_base_files): Add ipa-inline.h include.
77fa1d54
UB
4301 * ipa-cp.c (ipcp_get_lattice, ipcp_lattice_from_jfunc): Move to
4302 ipa-prop.c; update all uses.
632b4f8e 4303 * ipa-prop.c: (ipa_get_lattice, ipa_lattice_from_jfunc): ... here.
77fa1d54
UB
4304 * ipa-inline-transform.c (inline_call): Use inline_merge_summary to
4305 merge summary of inlined function into former caller.
632b4f8e
JH
4306 * ipa-inline.c (max_benefit): Remove.
4307 (edge_badness): Compensate for removal of benefits.
77fa1d54
UB
4308 (update_caller_keys): Use
4309 reset_node_growth_cache/reset_edge_growth_cache.
632b4f8e
JH
4310 (update_callee_keys): Likewise.
4311 (update_all_callee_keys): Likewise.
77fa1d54
UB
4312 (inline_small_functions): Do not collect max_benefit; do not reset
4313 estimated_growth; call free_growth_caches and initialize_growth_caches.
4314 * ipa-inline.h (struct condition, type clause_t, struct predicate,
4315 struct size_time_entry): New structures.
632b4f8e 4316 (INLINE_SIZE_SCALE, INLINE_TIME_SCALE, MAX_CLAUSES): New constants.
77fa1d54
UB
4317 (inline_summary): Remove size_inlining_benefit, time_inlining_benefit
4318 and estimated_growth.
632b4f8e
JH
4319 (edge_growth_cache_entry): New structure.
4320 (node_growth_cache, edge_growth_cache): New global vars.
4321 (estimate_growth): Turn into inline.
4322 (inline_merge_summary, do_estimate_edge_growth, do_estimate_edge_time,
4323 initialize_growth_caches, free_growth_caches): Declare.
4324 (estimate_edge_growth): Rewrite.
4325 (estimate_edge_time): Implement as inline cache lookup.
77fa1d54
UB
4326 (reset_node_growth_cache, reset_edge_growth_cache): New inline
4327 functions.
632b4f8e
JH
4328 (MAX_TIME): Reduce to allow multiplicatoin by INLINE_SIZE_SCALE.
4329 (NUM_CONDITIONS): New constant.
4330 (predicate_conditions): New enum.
4331 (IS_NOT_CONSTANT): New constant.
4332 (edge_removal_hook_holder): New var.
4333 (node_growth_cache, edge_growth_cache): New global vars.
77fa1d54
UB
4334 (true_predicate, single_cond_predicate, false_predicate,
4335 not_inlined_predicate, add_condition, add_clause, and_predicates,
4336 or_predicates, predicates_equal_p, evaulate_predicate, dump_condition,
4337 dump_clause, dump_predicate, account_size_time,
632b4f8e
JH
4338 evaulate_conditions_for_edge): New functions.
4339 (inline_summary_alloc): Move to heap.
4340 (inline_node_removal_hook): Clear condition and entry vectors.
4341 (inline_edge_removal_hook): New function.
4342 (initialize_growth_caches, free_growth_caches): New function.
4343 (dump_inline_summary): Update.
4344 (edge_execution_predicate): New function.
4345 (will_be_nonconstant_predicate): New function.
4346 (estimate_function_body_sizes): Compute BB and constantness predicates.
4347 (compute_inline_parameters): Do not clear estimated_growth.
4348 (estimate_edge_size_and_time): New function.
4349 (estimate_calls_size_and_time): New function.
4350 (estimate_callee_size_and_time): New function.
4351 (remap_predicate): New function.
4352 (inline_merge_summary): New function.
4353 (do_estimate_edge_time): New function based on...
4354 (estimate_edge_time): ... this one.
4355 (do_estimate_edge_growth): New function.
4356 (do_estimate_growth): New function based on....
4357 (estimate_growth): ... this one.
4358 (inline_analyze_function): Analyze after deciding on jump functions.
4359 (inline_read_section): New function.
4360 (inline_read_summary): Use it.
4361 (inline_write_summary): Write all the new data.
4362 * ipa-prop.c (ipa_get_param_decl_index): Export.
4363 (ipa_lattice_from_jfunc): Move here from ipa-cp.c
77fa1d54
UB
4364 * ipa-prop.h (ipa_get_param_decl_index, ipa_lattice_from_jfunc):
4365 Declare.
4366 (ipa_get_lattice): Move here from ipa-cp.c
632b4f8e
JH
4367 * Makefile.in (GTFILES): Add ipa-inline.h and ipa-inline-analysis.c
4368 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 11.
4369 * cgraph.h (cgraph_clone_inlined_nodes, compute_inline_parameters,
4370 cgraph_edge_inlinable_p): Remove.
4371 * cgraphunit.c: Include ipainline.h
77fa1d54
UB
4372 (cgraph_process_new_functions): Update call of
4373 compute_inline_parameters.
632b4f8e 4374
1df5b0db
RG
43752011-04-22 Richard Guenther <rguenther@suse.de>
4376
4377 * tree.c (build_int_cst): Properly create canonicalized integer
4378 constants.
4379 (build_int_cst_type): Remove scary comments.
4380
ae01169c
XDL
43812011-04-22 Xinliang David Li <davidxl@google.com>
4382
4383 * toplev.c (process_options): Enable -Werror=coverage-mismatch
4384 by default when -Wno-error is not specified.
4385 * opts-global.c (decode_options): Remove call to
4386 control_warning_options.
4387
93dfac24
JJ
43882011-04-22 Jakub Jelinek <jakub@redhat.com>
4389
4390 PR tree-optimization/48717
4391 * tree-ssa-forwprop.c (associate_plusminus): For A + ~A and
4392 ~A + A optimizations use build_int_cst_type instead of build_int_cst.
4393
1b5f5069
JM
43942011-04-22 Joseph Myers <joseph@codesourcery.com>
4395
4396 * config/bfin/bfin-protos.h (Mmode): Don't define. Expand
4397 definition where used.
4398
144f4153
JJ
43992011-04-22 Jakub Jelinek <jakub@redhat.com>
4400
4401 PR c/48716
4402 * gimplify.c (gimplify_bind_expr): Mark as GOVD_LOCAL also
4403 TREE_STATIC variables declared inside of some OpenMP construct.
4404
f9fd305b
MJ
44052011-04-22 Martin Jambor <mjambor@suse.cz>
4406
4407 PR middle-end/48585
1d284ec5 4408 * tree-inline.c (copy_bb): Create new edges only for analyzed nodes.
f9fd305b 4409
49819fef
AM
44102011-04-22 Alexander Monakov <amonakov@ispras.ru>
4411
4412 PR c/36750
4413 * c-typeck.c (pop_init_level): Do not warn about initializing
4414 with ` = {0}'.
4415
401f6699
AM
44162011-04-22 Alan Modra <amodra@gmail.com>
4417
4418 * config/rs6000/rs6000.c (rs6000_function_arg): Remove CALL_LIBCALL
4419 when returning call_cookie.
4420 (rs6000_function_ok_for_sibcall): Allow sibcalls via function
4421 pointers, to functions with no more vector args than the current
4422 function, and some non-local calls for ABI_V4.
4423 * config/rs6000/rs6000.md (sibcall_nonlocal_aix32,
4424 sibcall_nonlocal_aix64): Combine to ..
4425 (sibcall_nonlocal_aix<mode>): ..this. Handle function pointer calls.
4426 (sibcall_value_nonlocal_aix32, sibcall_value_nonlocal_aix64): Combine..
4427 (sibcall_value_nonlocal_aix<mode>): ..likewise.
4428 (*sibcall_nonlocal_sysv<mode>): Handle function pointer calls.
4429 (sibcall_value_nonlocal_sysv<mode>): Likewise. Correct call cookie
4430 operand.
4431 * config/rs6000/darwin.md (sibcall_nonlocal_darwin64,
4432 sibcall_value_nonlocal_darwin64, sibcall_symbolic_64,
4433 sibcall_value_symbolic_64): Delete.
4434
903d1e67
XDL
44352011-04-21 Xinliang David Li <davidxl@google.com>
4436
4437 * cgraph.h: Remove pid.
4438 * cgraph.c: Remove pid.
4439 * value-prof.c (init_node_map): New function.
4440 (del_node_map): New function.
4441 (find_func_by_funcdef_no): New function.
4442 (gimple_ic_transform): Call new function.
4443 * cgraphunit.c (cgraph_finalize_function): Remove pid.
4444 * function.c (get_last_funcdef_no): New function.
4445 * function.h (get_last_funcdef_no): New function.
4446 * tree-profile.c (gimple_gen_ic_func_profiler): Pass funcdef_no
4447 to libgcov function.
4448 (tree-profiling): Call node map init and delete function.
4449
7378e95f
ILT
44502011-04-21 Ian Lance Taylor <iant@google.com>
4451
4452 * godump.c (go_format_type): Use exported Go name for anonymous
4453 field name.
4454
e84a6fcf
NF
44552011-04-21 Nathan Froyd <froydnj@codesourcery.com>
4456
4457 * config/frv/frv.c (frv_init_builtins): Delete `endlink' variable.
4458 Call builtin_function_type_list instead of builtin_function_type.
4459 (UNARY, BINARY, TRINARY, QUAD): Likewise.
4460
4fe058e2
NF
44612011-04-21 Nathan Froyd <froydnj@codesourcery.com>
4462
4463 * config/arm/arm.c (arm_init_iwmmxt_builtins): Call
4464 build_function_type_list instead of build_function_type.
4465 Delete variable `endlink'.
4466
1ba0a2d2
NF
44672011-04-21 Nathan Froyd <froydnj@codesourcery.com>
4468
4469 * config/s390/s390.c (s390_init_builtins): Call
4470 build_function_type_list instead of build_function_type.
4471
c0676219
NF
44722011-04-21 Nathan Froyd <froydnj@codesourcery.com>
4473
4474 * config/ia64/ia64.c (ia64_init_builtins): Call
4475 build_function_type_list instead of builtin_function_type.
4476
6ddfda8a
ER
44772011-04-21 Easwaran Raman <eraman@google.com>
4478
3a6448ea 4479 * cfgexpand.c (stack_var): Remove OFFSET...
6ddfda8a
ER
4480 (add_stack_var): ...and its reference here...
4481 (expand_stack_vars): ...and here.
4482 (stack_var_cmp): Sort by descending order of size.
4483 (partition_stack_vars): Change heuristic.
1d284ec5 4484 (union_stack_vars): Fix to reflect changes in partition_stack_vars.
6ddfda8a
ER
4485 (dump_stack_var_partition): Add newline after each partition.
4486
23756963
DA
44872011-04-21 Dimitrios Apostolou <jimis@gmx.net>
4488 Jeff Law <law@redhat.com>
4489
77fa1d54 4490 * gengtype-state.c (read_a_state_token): Fix argument to obstack_free.
23756963
DA
4491 * gengtype.c (matching_file_name_substitute): Likewise.
4492
aa2a43d2
RG
44932011-04-21 Richard Guenther <rguenther@suse.de>
4494
4495 PR lto/48703
1d284ec5 4496 * tree.c (free_lang_data_in_decl): Do not zero TREE_TYPE of DECL_NAME.
aa2a43d2 4497
4d931f41
EB
44982011-04-21 Eric Botcazou <ebotcazou@adacore.com>
4499
4500 * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
4501
f103fa7a
RG
45022011-04-21 Richard Guenther <rguenther@suse.de>
4503
4504 * Makefile.in (site.exp): Do not use tmp0 but site.tmp as temporary
4505 file name.
4506
e19f6650
RG
45072011-04-21 Richard Guenther <rguenther@suse.de>
4508
4509 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
4510 MEM_REF and TARGET_MEM_REF, do not care about INDIRECT_REFs.
4511 Use DECL_P, not SSA_VAR_P.
4512 (ptr_derefs_may_alias_p): Likewise.
4513 (ptr_deref_may_alias_ref_p_1): Likewise.
4514 (decl_refs_may_alias_p): Likewise.
4515 (refs_may_alias_p_1): Likewise.
4516 (ref_maybe_used_by_call_p_1): Likewise.
4517 (call_may_clobber_ref_p_1): Likewise.
4518 (indirect_ref_may_alias_decl_p): Assume indirect refrences
4519 are either MEM_REF or TARGET_MEM_REF.
4520 (indirect_refs_may_alias_p): Likewise.
4521 * calls.c (emit_call_1): Build a MEM_REF instead of an INDIRECT_REF
4522 for MEM_EXPR of indirect calls.
4523
9d1831bb
TG
45242011-04-21 Tristan Gingold <gingold@adacore.com>
4525
4526 * vmsdbgout.c (write_srccorr): Compute file length from the string.
4527 (dst_file_info_struct): Remove flen field.
4528 (lookup_filename): Remove code that set flen field.
4529
f199c029
TG
45302011-04-21 Tristan Gingold <gingold@adacore.com>
4531
4532 * config/ia64/ia64.c (ia64_start_function): Add a guard.
4533
2894086e
UB
45342011-04-21 Uros Bizjak <ubizjak@gmail.com>
4535
4536 PR target/48708
4537 * config/i386/i386.c (ix86_expand_vector_set) <V2DImode>: Generate
4538 vec_extract and vec_concat for non-SSE4_1 targets.
4539
53f94a5c
RG
45402011-04-21 Richard Guenther <rguenther@suse.de>
4541
4542 * tree-ssa-alias.c (ref_maybe_used_by_stmt_p): Handle
4543 return statements.
4544
f0dca5ba
JM
45452011-04-21 Joseph Myers <joseph@codesourcery.com>
4546
4547 * config/i386/cygming.h (union tree_node, TREE): Don't define or
4548 undefine.
4549 (FILE): Don't undefine.
4550
984514ac
JM
45512011-04-21 Joseph Myers <joseph@codesourcery.com>
4552
4553 * config/alpha/alpha.c (struct machine_function): Use rtx, not
4554 struct rtx_def *.
4555 * config/bfin/bfin.h (bfin_cc_rtx, bfin_rets_rtx): Use rtx, not
4556 struct rtx_def *.
4557 * config/cris/cris-protos.h (STDIO_INCLUDED): Don't define.
2894086e 4558 * config/h8300/h8300.h (struct cum_arg): Use rtx, not struct rtx_def *.
984514ac
JM
4559 * config/iq2000/iq2000.h (struct iq2000_args): Use rtx, not struct
4560 rtx_def *.
4561 * config/m32c/m32c-protos.h (MM, UINT): Don't define. Expand
4562 definitions where used.
4563 * config/microblaze/microblaze.h (struct microblaze_args): Use
4564 rtx, not struct rtx_def *.
4565 * config/pa/pa-protos.h (return_addr_rtx): Use rtx, not struct
4566 rtx_def *.
2894086e
UB
4567 * config/pa/pa.h (hppa_pic_save_rtx): Use rtx, not struct rtx_def *.
4568 * config/pdp11/pdp11.h (cc0_reg_rtx): Use rtx, not struct rtx_def *.
984514ac
JM
4569 * config/sh/sh-protos.h (sfunc_uses_reg, get_fpscr_rtx): Use rtx,
4570 not struct rtx_def *.
4571 * config/sh/sh.h (sh_compare_op0, sh_compare_op1): Use rtx, not
4572 struct rtx_def *.
4573 * config/spu/spu-protos.h (spu_float_const): Use rtx, not struct
4574 rtx_def *.
2894086e 4575 * config/spu/spu.c (spu_float_const): Use rtx, not struct rtx_def *.
984514ac 4576
0b5a2724
RS
45772011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
4578
4579 * tree-vect-data-refs.c (vect_drs_dependent_in_basic_block): Use
4580 operand_equal_p to compare DR_BASE_ADDRESSes.
4581 (vect_check_interleaving): Likewise.
4582
4b18d683
RS
45832011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
4584
4585 PR target/46329
4586 * config/arm/arm.c (arm_legitimate_constant_p_1): Return false
4587 for all Neon struct constants.
4588
1a627b35
RS
45892011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
4590
4591 * target.def (legitimate_constant_p): New hook.
4592 * doc/tm.texi.in (LEGITIMATE_CONSTANT_P): Replace with...
4593 (TARGET_LEGITIMATE_CONSTANT_P): ...this.
4594 * doc/tm.texi: Regenerate.
4595 * hooks.h (hook_bool_mode_rtx_true): Declare.
4596 * hooks.c (hook_bool_mode_rtx_true): Define.
4597 * system.h (LEGITIMATE_CONSTANT_P): Poison.
4598 * calls.c (precompute_register_parameters): Replace uses of
4599 LEGITIMATE_CONSTANT_P with targetm.legitimate_constant_p.
4600 (emit_library_call_value_1): Likewise.
4601 * expr.c (move_block_to_reg, can_store_by_pieces, emit_move_insn)
4602 (compress_float_constant, emit_push_insn, expand_expr_real_1): Likewise.
4603 * ira-costs.c (scan_one_insn): Likewise.
4604 * recog.c (general_operand, immediate_operand): Likewise.
4605 * reload.c (find_reloads_toplev, find_reloads_address_part): Likewise.
4606 * reload1.c (init_eliminable_invariants): Likewise.
4607
4608 * config/alpha/alpha-protos.h (alpha_legitimate_constant_p): Add a
4609 mode argument.
4610 * config/alpha/alpha.h (LEGITIMATE_CONSTANT_P): Delete.
4611 * config/alpha/alpha.c (alpha_legitimate_constant_p): Add a mode
4612 argument.
4613 (TARGET_LEGITIMATE_CONSTANT_P): Define.
4614 * config/alpha/predicates.md (input_operand): Update call to
4615 alpha_legitimate_constant_p.
4616
4617 * config/arm/arm-protos.h (arm_cannot_force_const_mem): Delete.
4618 * config/arm/arm.h (ARM_LEGITIMATE_CONSTANT_P): Likewise.
4619 (THUMB_LEGITIMATE_CONSTANT_P, LEGITIMATE_CONSTANT_P): Likewise.
4620 * config/arm/arm.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
4621 (arm_legitimate_constant_p_1, thumb_legitimate_constant_p)
4622 (arm_legitimate_constant_p): New functions.
4623 (arm_cannot_force_const_mem): Make static.
4624
4625 * config/avr/avr.h (LEGITIMATE_CONSTANT_P): Delete.
4626
4627 * config/bfin/bfin-protos.h (bfin_legitimate_constant_p): Delete.
4628 * config/bfin/bfin.h (LEGITIMATE_CONSTANT_P): Delete.
4629 * config/bfin/bfin.c (expand_move): Use targetm.legitimate_constant_p
4630 instead of bfin_legitimate_constant_p.
4631 (bfin_legitimate_constant_p): Make static. Add a mode argument.
4632 (TARGET_LEGITIMATE_CONSTANT_P): Define.
4633
4634 * config/cris/cris.h (LEGITIMATE_CONSTANT_P): Delete.
4635
4636 * config/fr30/fr30.h (LEGITIMATE_CONSTANT_P): Delete.
4637
4638 * config/frv/frv-protos.h (frv_legitimate_constant_p): Delete.
4639 * config/frv/frv.h (LEGITIMATE_CONSTANT_P): Delete.
4640 * config/frv/frv.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
4641 (frv_legitimate_constant_p): Make static. Add a mode argument.
4642
4643 * config/h8300/h8300-protos.h (h8300_legitimate_constant_p): Delete.
4644 * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Likewise.
4645 * config/h8300/h8300.c (h8300_legitimate_constant_p): Likewise.
4646
4647 * config/i386/i386-protos.h (legitimate_constant_p): Delete.
4648 * config/i386/i386.h (LEGITIMATE_CONSTANT_P): Likewise.
4649 * config/i386/i386.c (legitimate_constant_p): Rename to...
4650 (ix86_legitimate_constant_p): ...this. Make static. Add a mode
4651 argument.
4652 (ix86_cannot_force_const_mem): Update accordingly.
4653 (ix86_legitimate_address_p): Likewise.
4654 (TARGET_LEGITIMATE_CONSTANT_P): Define.
4655 * config/i386/i386.md: Update commentary.
4656
4657 * config/ia64/ia64-protos.h (ia64_legitimate_constant_p): Delete.
4658 * config/ia64/ia64.h (LEGITIMATE_CONSTANT_P): Likewise.
4659 * config/ia64/ia64.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
4660 (ia64_legitimate_constant_p): Make static. Add a mode argument.
4661
4662 * config/iq2000/iq2000.h (LEGITIMATE_CONSTANT_P): Delete.
4663
4664 * config/lm32/lm32-protos.h (lm32_legitimate_constant_p): Delete.
4665 * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Likewise.
4666 * config/lm32/lm32.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
4667 (lm32_legitimate_constant_p): Make static. Add a mode argument.
4668
4669 * config/m32c/m32c-protos.h (m32c_legitimate_constant_p): Delete.
4670 * config/m32c/m32c.h (LEGITIMATE_CONSTANT_P): Likewise.
4671 * config/m32c/m32c.c (m32c_legitimate_constant_p): Likewise.
4672
4673 * config/m32r/m32r.h (LEGITIMATE_CONSTANT_P): Delete.
4674 * config/m32r/m32r.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
4675 (m32r_legitimate_constant_p): New function.
4676
4677 * config/m68k/m68k-protos.h (m68k_legitimate_constant_p): Declare.
4678 * config/m68k/m68k.h (CONSTANT_ADDRESS_P): Call it instead of
4679 LEGITIMATE_CONSTANT_P.
4680 (LEGITIMATE_CONSTANT_P): Delete.
4681 * config/m68k/m68k.c (m68k_expand_prologue): Call
4682 m68k_legitimate_constant_p instead of LEGITIMATE_CONSTANT_P.
4683 (m68k_legitimate_constant_p): New function.
4684 * config/m68k/m68k.md: Update comments.
4685
4686 * config/mcore/mcore.h (LEGITIMATE_CONSTANT_P): Delete.
4687 * config/mcore/mcore.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
4688 (mcore_legitimate_constant_p): New function.
4689
4690 * config/mep/mep-protos.h (mep_legitimate_constant_p): Delete.
4691 * config/mep/mep.h (LEGITIMATE_CONSTANT_P): Likewise.
4692 * config/mep/mep.c (mep_legitimate_constant_p): Make static.
4693 Add a mode argument.
4694 (mep_legitimate_address): Update accordingly.
4695 (TARGET_LEGITIMATE_CONSTANT_P): Define.
4696
4697 * config/microblaze/microblaze-protos.h (microblaze_const_double_ok):
4698 Delete.
4699 * config/microblaze/microblaze.h (LEGITIMATE_CONSTANT_P): Likewise.
4700 * config/microblaze/microblaze.c (microblaze_const_double_ok): Make
4701 static. Check OP's mode for VOIDmode.
4702 (microblaze_legitimate_constant_p): New function.
4703 (TARGET_LEGITIMATE_CONSTANT_P): Define.
4704
4705 * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Delete.
4706 * config/mips/mips.c (mips_legitimate_constant_p): New function.
4707 (mips_cannot_force_const_mem): Use it instead of LEGITIMATE_CONSTANT_P.
4708 (TARGET_LEGITIMATE_CONSTANT_P): Define.
4709 * config/mips/predicates.md: Update comments.
4710
4711 * config/mmix/mmix-protos.h (mmix_legitimate_constant_p): Delete.
4712 * config/mmix/mmix.h (LEGITIMATE_CONSTANT_P): Likewise.
4713 * config/mmix/mmix.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
4714 (mmix_legitimate_constant_p): Make static, return a bool, and take
4715 a mode argument.
4716 (mmix_print_operand_address): Update accordingly.
4717
4718 * config/mn10300/mn10300-protos.h (mn10300_legitimate_constant_p):
4719 Delete.
4720 * config/mn10300/mn10300.h (LEGITIMATE_CONSTANT_P): Likewise.
2894086e
UB
4721 * config/mn10300/mn10300.c (mn10300_legitimate_constant_p): Make
4722 static. Add a mode argument.
1a627b35
RS
4723 (TARGET_LEGITIMATE_CONSTANT_P): Define.
4724
4725 * config/moxie/moxie.h (LEGITIMATE_CONSTANT_P): Delete.
4726
4727 * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Delete.
4728 * config/pa/pa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
4729 (pa_legitimate_constant_p): New function.
4730
4731 * config/picochip/picochip.h (LEGITIMATE_CONSTANT_P): Delete.
4732
4733 * config/pdp11/pdp11.h (LEGITIMATE_CONSTANT_P): Delete.
4734 * config/pdp11/pdp11.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
4735 (pdp11_legitimate_constant_p): New function.
4736
4737 * config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Delete.
4738 * config/rs6000/rs6000.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
4739 (rs6000_legitimate_constant_p): New function.
4740
4741 * config/rx/rx-protos.h (rx_is_legitimate_constant): Replace with...
4742 (rx_legitimate_constant_p): ...this.
4743 * config/rx/rx.h (LEGITIMATE_CONSTANT_P): Delete.
4744 * config/rx/rx.c (rx_is_legitimate_constant): Replace with...
4745 (rx_legitimate_constant_p): ...this.
4746 (TARGET_LEGITIMATE_CONSTANT_P): Define.
4747 * config/rx/rx.md (mov<register_modes:mode>): Update accordingly.
4748
4749 * config/s390/s390-protos.h (legitimate_constant_p): Delete.
4750 * config/s390/s390.h (LEGITIMATE_CONSTANT_P): Likewise.
4751 * config/s390/s390.c (legitimate_constant_p): Rename to...
4752 (s390_legitimate_constant_p): ...this. Make static, return a bool,
4753 and add a mode argument.
4754 (TARGET_LEGITIMATE_CONSTANT_P): Define.
4755
4756 * config/score/score.h (LEGITIMATE_CONSTANT_P): Delete.
4757
4758 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Delete.
4759 * config/sh/sh.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
4760 (sh_legitimate_constant_p): New function.
4761
4762 * config/sparc/sparc-protos.h (legitimate_constant_p): Delete.
4763 * config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Delete.
4764 * config/sparc/sparc.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
4765 (legitimate_constant_p): Rename to...
4766 (sparc_legitimate_constant_p): ...this. Make static. Add a mode
4767 argument.
4768 (constant_address_p): Update accordingly.
4769
4770 * config/spu/spu-protos.h (spu_legitimate_constant_p): Add a mode
4771 argument and return a bool.
4772 * config/spu/spu.h (LEGITIMATE_CONSTANT_P): Delete.
4773 * config/spu/spu.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
4774 (spu_legitimate_constant_p): Add a mode argument and return a bool.
4775 (spu_rtx_costs): Update accordingly.
4776 * config/spu/predicates.md (vec_imm_operand): Likewise.
4777
4778 * config/stormy16/stormy16.h (LEGITIMATE_CONSTANT_P): Delete.
4779
4780 * config/v850/v850.h (LEGITIMATE_CONSTANT_P): Delete.
4781 * config/v850/v850.c (v850_legitimate_constant_p): New function.
4782 (TARGET_LEGITIMATE_CONSTANT_P): Define.
4783
4784 * config/vax/vax-protos.h (legitimate_constant_p): Delete.
4785 * config/vax/vax.h (LEGITIMATE_CONSTANT_P): Likewise.
4786 * config/vax/vax.c (legitimate_constant_p): Likewise.
4787
4788 * config/xtensa/xtensa.h (LEGITIMATE_CONSTANT_P): Delete.
4789 * config/xtensa/xtensa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
4790 (xtensa_legitimate_constant_p): New function.
4791
fbbf66e7
RS
47922011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
4793
4794 * target.def (cannot_force_const_mem): Add a mode argument.
4795 * doc/tm.texi.in (TARGET_CANNOT_FORCE_CONST_MEM): Update accordingly.
4796 * doc/tm.texi: Regenerate.
4797 * hooks.h (hook_bool_mode_rtx_false): Declare.
4798 * hooks.c (hook_bool_mode_const_rtx_false): Fix commentary.
4799 (hook_bool_mode_const_rtx_true): Likewise.
4800 (hook_bool_mode_rtx_false): New function.
4801 * reload.c (CONST_POOL_OK_P): Take a mode argument and require it
4802 to be non-VOID. Update call to cannot_force_const_mem.
4803 (find_reloads): Update accordingly.
4804 * varasm.c (force_const_mem): Update call to cannot_force_const_mem.
4805 * config/alpha/alpha.c (alpha_cannot_force_const_mem): Add a mode
4806 argument.
4807 * config/arm/arm-protos.h (arm_cannot_force_const_mem): Likewise.
4808 * config/arm/arm.h (LEGITIMATE_CONSTANT_P): Update call.
4809 * config/arm/arm.c (arm_cannot_force_const_mem): Add a mode argument.
4810 * config/bfin/bfin.c (bfin_cannot_force_const_mem): Likewise.
4811 * config/frv/frv.c (frv_cannot_force_const_mem): Likewise.
4812 * config/i386/i386.c (ix86_cannot_force_const_mem): Likewise.
4813 * config/ia64/ia64.c (ia64_cannot_force_const_mem): Likewise.
4814 * config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
4815 (m68k_cannot_force_const_mem): ...this new function.
4816 * config/mips/mips.c (mips_cannot_force_const_mem): Add a mode
4817 argument.
4818 (mips_const_insns, mips_legitimize_const_move): Update calls.
4819 (mips_secondary_reload_class): Likewise.
4820 * config/pa/pa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
4821 (pa_cannot_force_const_mem): ...this new function.
2894086e 4822 * config/rs6000/rs6000.c (TARGET_CANNOT_FORCE_CONST_MEM): Reefine to...
fbbf66e7
RS
4823 (rs6000_cannot_force_const_mem): ...this new function.
4824 * config/s390/s390.c (s390_cannot_force_const_mem): Add a mode
4825 argument.
4826 * config/sparc/sparc.c (sparc_cannot_force_const_mem): Likewise.
4827 * config/xtensa/xtensa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine
4828 to...
4829 (xtensa_cannot_force_const_mem): ...this new function.
4830
b861891b
NF
48312011-04-20 Nathan Froyd <froydnj@codesourcery.com>
4832
4833 * config/mips/mips.c (mips16_build_function_stub): Call
4834 build_function_type_list instead of build_function_type.
4835 (mips16_build_call_stub): Likewise.
4836
34149ed5
NF
48372011-04-20 Nathan Froyd <froydnj@codesourcery.com>
4838
4839 * config/mep/mep.c (mep_init_builtins): Call build_function_type_list
4840 instead of build_function_type.
4841
12526412
NF
48422011-04-20 Nathan Froyd <froydnj@codesourcery.com>
4843
4844 * config/pa/pa.c (pa_init_builtins): Call build_function_type_list
4845 instead of build_function_type.
4846
3b84d61f
UB
48472011-04-20 Uros Bizjak <ubizjak@gmail.com>
4848
4849 PR target/48678
4850 * config/i386/i386.md (insv): Change operand 0 constraint to
4851 "register_operand". Change operand 1 and 2 constraint to
4852 "const_int_operand". Expand to pinsr{b,w,d,q} * when appropriate.
4853 * config/i386/sse.md (sse4_1_pinsrb): Export.
4854 (sse2_pinsrw): Ditto.
4855 (sse4_1_pinsrd): Ditto.
4856 (sse4_1_pinsrq): Ditto.
4857 * config/i386/i386-protos.h (ix86_expand_pinsr): Add prototype.
4858 * config/i386/i386.c (ix86_expand_pinsr): New.
4859
4a25752b
ER
48602011-04-20 Easwaran Raman <eraman@google.com>
4861
4862 * cfgexpand.c (add_alias_set_conflicts): Add conflicts with a variable
4863 containing union type only with -fstrict-aliasing.
4864
04695783
JM
48652011-04-20 Jim Meyering <meyering@redhat.com>
4866
4867 Remove useless if-before-free tests.
4868 * calls.c (expand_call, save_area): Likewise.
4869 * cfgcleanup.c (try_forward_edges): Likewise.
4870 * collect2.c (collect_execute): Likewise.
4871 * config/i386/i386.c (ix86_valid_target_attribute_tree): Likewise.
4872 * config/mcore/mcore.c (mcore_expand_prolog): Likewise.
4873 * coverage.c (coverage_checksum_string): Likewise.
4874 * cse.c (init_cse_reg_info, delete_trivially_dead_insns): Likewise.
4875 * cselib.c (cselib_init): Likewise.
4876 * df-core.c (rest_of_handle_df_finish, df_analyze): Likewise.
4877 (df_set_clean_cfg): Likewise.
4878 * function.c (free_after_compilation): Likewise.
4879 * gcc.c (do_spec_1, main): Likewise.
4880 * gcov.c (create_file_names): Likewise.
4881 * gensupport.c (identify_predicable_attribute): Likewise.
4882 * graphite-clast-to-gimple.c (save_clast_name_index): Likewise.
4883 * graphite-sese-to-poly.c (free_data_refs_aux): Likewise.
4884 * haifa-sched.c (haifa_finish_h_i_d): Likewise.
4885 * ipa-prop.c (ipa_free_node_params_substructures): Likewise.
4886 * ipa-pure-const.c (local_pure_const): Likewise.
4887 * ipa-reference.c (propagate): Likewise.
4888 * ira-costs.c (free_ira_costs): Likewise.
4889 * ira.c (free_register_move_costs, build_insn_chain): Likewise.
4890 * matrix-reorg.c (mat_free): Likewise.
4891 * prefix.c (get_key_value): Likewise.
4892 * profile.c (compute_value_histograms): Likewise.
4893 * reload1.c (free_reg_equiv): Likewise.
4894 * sched-deps.c (free_deps): Likewise.
4895 * sel-sched-ir.c (fence_clear): Likewise.
4896 * sese.c (set_rename, if_region_set_false_region): Likewise.
4897 * tree-data-ref.c (free_rdg): Likewise.
4898 * tree-eh.c (lower_try_finally): Likewise.
4899 * tree-ssa-coalesce.c (delete_coalesce_list): Likewise.
4900 * tree-ssa-live.c (delete_var_map): Likewise.
4901 * tree-ssa-loop-ivopts.c (free_loop_data): Likewise.
4902 * tree-ssa-pre.c (phi_trans_add): Likewise.
4903
6788475a
JJ
49042011-04-20 Jakub Jelinek <jakub@redhat.com>
4905
4906 PR tree-optimization/48611
4907 * tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
4908 beyond ERT_MUST_NOT_THROW region.
4909
0eda4033
CM
49102011-04-20 Catherine Moore <clm@codesourcery.com>
4911
4912 * config/mips/mips.opt (mfix-24k): New.
4913 * config/mips/mips.h (ASM_SPEC): Handle -mfix-24k.
4914 * config/mips/mips.md (length): Increase by 4 for stores if
4915 fixing 24K errata.
4916 * config/mips/mips.c (mips_reorg_process_insns): Do not allow
4917 all noreorder if fixing 24K errata.
4918 * doc/invoke.texi: Document mfix-24k.
4919
01475747
CLT
49202011-04-20 Chung-Lin Tang <cltang@codesourcery.com>
4921
4922 * config/arm/arm.c (arm_legitimize_reload_address): For NEON
2894086e 4923 quad-word modes, reduce to 9-bit index range when above 1016 limit.
01475747 4924
bc2c1a60
AS
49252011-04-20 Andrew Stubbs <ams@codesourcery.com>
4926
4927 * config/arm/arm.c (arm_gen_constant): Move movw support ....
4928 (const_ok_for_op): ... to here.
4929
583722ee
KT
49302011-04-20 Kai Tietz <ktietz@redhat.com>
4931
2894086e
UB
4932 * fold-const.c (fold_binary_loc): Add handling for (X & ~Y) | (~X & Y)
4933 and (X && !Y) | (!X && Y) optimization to (X ^ Y).
583722ee 4934
422c0989
AS
49352011-04-20 Andrew Stubbs <ams@codesourcery.com>
4936
4937 * config/arm/arm.c (arm_gen_constant): Remove redundant can_invert.
4938
d7978bff
RG
49392011-04-20 Richard Guenther <rguenther@suse.de>
4940
4941 PR tree-optimization/47892
4942 * tree-if-conv.c (if_convertible_stmt_p): Const builtins
4943 are if-convertible.
4944
818412ba
EB
49452011-04-20 Eric Botcazou <ebotcazou@adacore.com>
4946
4947 * config/alpha/vms.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not redefine.
4948
b501ce4e
TG
49492011-04-20 Tristan Gingold <gingold@adacore.com>
4950
4951 * config/alpha/vms.h (LINK_SPEC): Do not use vms-dwarf2.o for gnu-ld.
4952
516edfdd
GJL
49532011-04-20 Georg-Johann Lay <avr@gjlay.de>
4954
4955 PR target/18145
4956
4957 * config/avr/avr.h (TARGET_ASM_INIT_SECTIONS): Delete.
4958 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
4959 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
4960 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
4961 (TARGET_ASM_NAMED_SECTION): Change to avr_asm_named_section.
4962
4963 * config/avr/avr-protos.h (avr_asm_output_aligned_common):
4964 New prototype.
4965
4966 * config/avr/avr.c (TARGET_ASM_INIT_SECTIONS): Define.
4967 (avr_asm_named_section, avr_asm_output_aligned_common,
4968 avr_output_data_section_asm_op, avr_output_bss_section_asm_op):
4969 New functions to update...
4970 (avr_need_clear_bss_p, avr_need_copy_data_p): ...these new variables.
4971 (avr_asm_init_sections): Overwrite section callbacks for
4972 data_section, bss_section.
4973 (avr_file_start): Move output of __do_copy_data, __do_clear_bss
4974 from here to...
4975 (avr_file_end): ...here.
4976
dafc9511
RG
49772011-04-20 Richard Guenther <rguenther@suse.de>
4978
4979 PR middle-end/48695
4980 * tree-ssa-alias.c (aliasing_component_refs_p): Compute base
2894086e 4981 objects and types here. Adjust for their offset before comparing.
dafc9511 4982
1da0876c
RS
49832011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
4984
4985 * tree-vect-stmts.c (vectorizable_store): Only chain one related
4986 statement per copy.
4987
25583c4f
RS
49882011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
4989
4990 * Makefile.in (INTERNAL_FN_DEF, INTERNAL_FN_H): Define.
4991 (GIMPLE_H): Include $(INTERNAL_FN_H).
4992 (OBJS-common): Add internal-fn.o.
4993 (internal-fn.o): New rule.
4994 * internal-fn.def: New file.
4995 * internal-fn.h: Likewise.
4996 * internal-fn.c: Likewise.
4997 * gimple.h: Include internal-fn.h.
4998 (GF_CALL_INTERNAL): New gf_mask.
4999 (gimple_statement_call): Put fntype into a union with a new
5000 internal_fn field.
5001 (gimple_build_call_internal): Declare.
5002 (gimple_build_call_internal_vec): Likewise.
5003 (gimple_call_same_target_p): Likewise.
5004 (gimple_call_internal_p): New function.
5005 (gimple_call_internal_fn): Likewise.
5006 (gimple_call_fntype): Return null for internal calls.
5007 (gimple_call_set_fntype): Assert that the function is not internal.
5008 (gimple_call_set_fn): Likewise.
5009 (gimple_call_set_fndecl): Likewise.
5010 (gimple_call_set_internal_fn): New function.
5011 (gimple_call_addr_fndecl): Handle null functions.
5012 (gimple_call_return_type): Likewise null types.
5013 * gimple.c (gimple_build_call_internal_1): New function.
5014 (gimple_build_call_internal): Likewise.
5015 (gimple_build_call_internal_vec): Likewise.
5016 (gimple_call_same_target_p): Likewise.
5017 (gimple_call_flags): Handle calls to internal functions.
5018 (gimple_call_fnspec): New function.
5019 (gimple_call_arg_flags, gimple_call_return_flags): Use it.
5020 (gimple_has_side_effects): Handle null functions.
5021 (gimple_rhs_has_side_effects): Likewise.
5022 (gimple_call_copy_skip_args): Handle calls to internal functions.
5023 * cfgexpand.c (expand_call_stmt): Likewise.
5024 * expr.c (expand_expr_real_1): Assert that the call isn't internal.
5025 * gimple-fold.c (gimple_fold_call): Handle null functions.
5026 (gimple_fold_stmt_to_constant_1): Don't fold
5027 calls to internal functions.
5028 * gimple-low.c (gimple_check_call_args): Handle calls to internal
5029 functions.
5030 * gimple-pretty-print.c (dump_gimple_call): Likewise.
5031 * ipa-prop.c (ipa_analyze_call_uses): Handle null functions.
5032 * tree-cfg.c (verify_gimple_call): Handle calls to internal functions.
5033 (do_warn_unused_result): Likewise.
5034 * tree-eh.c (same_handler_p): Use gimple_call_same_target_p.
5035 * tree-ssa-ccp.c (ccp_fold_stmt): Handle calls to internal functions.
5036 * tree-ssa-dom.c (hashable_expr): Use the gimple statement to record
5037 the target of a call.
5038 (initialize_hash_element): Update accordingly.
5039 (hashable_expr_equal_p): Use gimple_call_same_target_p.
5040 (iterative_hash_hashable_expr): Handle calls to internal functions.
5041 (print_expr_hash_elt): Likewise.
5042 * tree-ssa-pre.c (can_value_number_call): Likewise.
5043 (eliminate): Handle null functions.
5044 * tree-ssa-sccvn.c (visit_use): Handle calls to internal functions.
5045 * tree-ssa-structalias.c (get_fi_for_callee): Likewise.
5046 (find_func_aliases): Likewise.
5047 * value-prof.c (gimple_ic_transform): Likewise.
5048 (gimple_indirect_call_to_profile): Likewise.
5049 * lto-streamer-in.c (input_gimple_stmt): Likewise.
5050 * lto-streamer-out.c (output_gimple_stmt): Likewise.
5051
1a3118e9
JH
50522011-04-19 Jan Hubicka <jh@suse.cz>
5053
5054 * ipa-inline-transform.c (save_inline_function_body): Add comments.
9d12f71a
EB
5055 * ipa-inline.c (inline_small_functions): Compute summaries first,
5056 populate heap later.
1a3118e9 5057
fee8b6da
JH
50582011-04-19 Jan Hubicka <jh@suse.cz>
5059
5060 * cgraph.h (save_inline_function_body): Remove.
5061 * ipa-inline-transform.c: New file, broke out of...
5062 * ipa-inline.c: ... this one; Update toplevel comment.
5063 (ncalls_inlined, nfunctions_inlined): Move to ipa-inline-transform.c;
5064 make global.
5065 (update_noncloned_frequencies): Move to ipa-inline-transform.c
5066 (cgraph_mark_inline_edge): Rename to inline_call; move to
5067 ipa-inline-transform.c.
5068 (cgraph_clone_inlined_nodes): Rename to clone_inlined_nodes;
5069 move to ipa-inline-transform.c
5070 (recursive_inlining, inline_small_functions, flatten_function,
5071 ipa_inline, inline_always_inline_functions,
5072 early_inline_small_functions): Update.
5073 (inline_transform): Move to ipa-inline-transform.c.
5074 * ipa-inline.h (inline_call, inline_transform, clone_inlined_nodes):
5075 Declare.
5076 * Makefile.in (ipa-inline-transform.o): New file.
5077 * cgraphunit.c (save_inline_function_body): Move to
5078 ipa-inline-transform.c
5079
f0679612
DD
50802011-04-19 DJ Delorie <dj@redhat.com>
5081
5082 * config/m32c/m32c.c (m32c_emit_epilogue): Don't try to push
5083 registers if we already know there aren't any.
5084 (m32c_emit_epilogue): Don't emit a barrier here.
5085 (m32c_emit_eh_epilogue): Likewise.
5086 * config/m32c/blkmov.md (movstr): Don't fail on wrong-type
5087 operands at expand time.
5088 * config/m32c/m32c.h (WCHAR_TYPE_SIZE): Change to 4 to match "long
5089 int" wchar type.
5090 (REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): Remove
5091 duplicates. Provide aliases instead.
5092 * config/m32c/prologue.md (eh_return): Emit a barrier here.
5093 (eh_epilogue): Add a "(return)" here as a hint to other parts of
5094 the compiler.
5095
32257ddc
AS
50962011-04-19 Anatoly Sokolov <aesok@post.ru>
5097
5098 * config/sparc/sparc.h (GENERAL_OR_I64, REGISTER_MOVE_COST): Remove.
5099 * config/sparc/sparc.c (TARGET_REGISTER_MOVE_COST): Define.
5100 (general_or_i64_p, sparc_register_move_cost): New function.
5101
60bea929
RO
51022011-04-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5103
5104 * doc/install.texi (Configuration, --enable-threads): Remove mach.
3b84d61f 5105 Add lynx, mipssde. Sort table.
60bea929 5106
444b3995 51072011-04-19 Xinliang David Li <davidxl@google.com>
3b84d61f 5108
9d12f71a
EB
5109 * ipa-cp.c (ipcp_update_profiling): Assert that scale_completement is
5110 not negative.
444b3995 5111
d708ce50
JJ
51122011-04-19 Jakub Jelinek <jakub@redhat.com>
5113
5114 PR target/48678
5115 * config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
5116 is a SUBREG with non-MODE_INT mode inside of it.
5117
49c471e3
MJ
51182011-04-19 Martin Jambor <mjambor@suse.cz>
5119
5120 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Devirtualize
5121 also according to actual contants.
5122 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): New function.
5123 (gimple_fold_call): Use it.
5124 * gimple.h (gimple_extract_devirt_binfo_from_cst): Declare.
5125
0004f992
MJ
51262011-04-19 Martin Jambor <mjambor@suse.cz>
5127
5128 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Return false for scalar
5129 non-pointer assignments.
5130
40591473
MJ
51312011-04-19 Martin Jambor <mjambor@suse.cz>
5132
5133 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Take into
5134 account anc_offset and otr_type from the indirect edge info.
5135 * ipa-prop.c (get_ancestor_addr_info): New function.
5136 (compute_complex_ancestor_jump_func): Assignment analysis moved to
5137 get_ancestor_addr_info, call it.
5138 (ipa_note_param_call): Do not initialize information about polymorphic
5139 calls, return the indirect call graph edge. Remove the last
5140 parameter, adjust all callers.
5141 (ipa_analyze_virtual_call_uses): Process also calls to ancestors of
5142 parameters. Initialize polymorphic information in the indirect edge.
5143
abe36b81
EB
51442011-04-19 Eric Botcazou <ebotcazou@adacore.com>
5145
5146 PR lto/48148
5147 * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
5148 the types if they have different enumeration identifiers.
5149
e6416b30
JH
51502011-04-19 Jan Hubicka <jh@suse.cz>
5151
5152 * cgraph.h (cgraph_optimize_for_size_p): Declare.
5153 * ipa-cp.c (ipcp_insert_stage): Use cgraph_optimize_for_size_p.
5154 * predict.c (cgraph_optimize_for_size_p): Break out from ...
5155 (optimize_function_for_size_p) ... here.
5156
d39132ea
RG
51572011-04-19 Richard Guenther <rguenther@suse.de>
5158
5159 PR lto/48207
5160 * tree.c (free_lang_data): Do not reset the decl-assembler-name
5161 langhook.
5162
ff7037dc
EB
51632011-04-19 Eric Botcazou <ebotcazou@adacore.com>
5164
5165 * tree-inline.c (expand_call_inline): Do not issue a -Winline warning
5166 if DECL_NO_INLINE_WARNING_P is set on the function.
5167
c1ee2892
BS
51682011-04-19 Bernd Schmidt <bernds@codesourcery.com>
5169
5170 PR fortran/47976
5171 * reload1.c (inc_for_reload): Return void. All callers changed.
5172 (emit_input_reload_insns): Don't try to delete previous output
5173 reloads to a register, or record spill_reg_store for autoincs.
fbb20b29
BS
5174
51752011-04-19 Basile Starynkevitch <basile@starynkevitch.net>
5176
5177 * gengtype.h: Updated copyright year.
5178 (struct input_file_st): Add inpisplugin field.
5179 (type_fileloc): New function.
5180 * gengtype.c
5181 (write_typed_struct_alloc_def): Add gcc_assert.
5182 (write_typed_alloc_defns): Ditto. Don't output for plugin files.
5183 (write_typed_alloc_defns): Don't output for plugin files.
5184 (input_file_by_name): Clear inpisplugin field.
5185 (main): Set inpisplugin field for plugin files.
5186
897e0a89
NP
51872011-04-19 Nicola Pero <nicola.pero@meta-innovation.com>
5188
5189 * gengtype-state.c (string_eq): New.
5190 (read_state): Use string_eq instead of strcmp when creating the
5191 state_ident_tab.
5192
363ee90e
WG
51932011-04-19 Wei Guozhi <carrot@google.com>
5194
5195 PR target/47855
5196 * config/arm/arm-protos.h (thumb1_legitimate_address_p): New prototype.
5197 * config/arm/arm.c (thumb1_legitimate_address_p): Remove the static
5198 linkage.
5199 * config/arm/constraints.md (Uu): New constraint.
5200 * config/arm/arm.md (*arm_movqi_insn): Compute attr "length".
5201
18a24fed
TG
52022011-04-19 Tristan Gingold <gingold@adacore.com>
5203
5204 * config.gcc (-*-*-*vms): Added.
5205 (alpha64-dec-*vms*,alpha*-dec-*vms*, ia64-hp-*vms*): Common
5206 definitions moved.
5207 * config/vms/vms-ld.c: New file.
5208 * config/vms/vms-ar.c: New file.
5209 * config/vms/t-vmsnative: New file.
5210
1c13f168
XDL
52112011-04-18 Xinliang David Li <davidxl@google.com>
5212
5213 * final.c (dump_basic_block_info): Use ASM_COMMENT_START.
5214
84825707
JJ
52152011-04-18 Jakub Jelinek <jakub@redhat.com>
5216
5217 PR middle-end/48661
5218 * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
5219 if TREE_TYPE (v) is non-NULL.
5220
5221 * gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
5222 gimple_get_virt_mehtod_for_binfo.
5223 * gimple.h (gimple_get_virt_method_for_binfo): Likewise.
5224 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
5225 callers.
5226 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
5227
7d4f8d02 52282011-04-18 Michael Matz <matz@suse.de>
7254cb57
MM
5229 Steve Ellcey <sje@cup.hp.com>
5230
7d4f8d02
EB
5231 * expr.c (expand_expr_real_2) <CASE_CONVERT>: If OP0 is a constant,
5232 use its mode as source mode if it isn't VOIDmode.
7254cb57 5233
474e8e70
DCR
52342011-04-18 Dennis, CHENG Renquan <crquan@fedoraproject.org>
5235
5236 * doc/passes.texi: Fill crossref nodes.
5237
cff41484
JM
52382011-04-18 Jim Meyering <meyering@redhat.com>
5239
7d4f8d02 5240 Fix doubled-word typos in comments and strings
cff41484
JM
5241 * config/alpha/vms-unwind.h: s/for for/for/
5242 * config/arm/unwind-arm.h: Likewise.
5243 * config/microblaze/microblaze.c: Likewise.
5244 * config/sh/constraints.md: s/in in/in/
5245 * tree-cfg.c (verify_types_in_gimple_reference): Likewise.
5246
f60c2554
UB
52472011-04-18 Uros Bizjak <ubizjak@gmail.com>
5248
5249 * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): Remove.
5250 (AVX_FLOAT_MODE_P): Ditto.
5251 (AVX128_VEC_FLOAT_MODE_P): Ditto.
5252 (AVX256_VEC_FLOAT_MODE_P): Ditto.
5253 (AVX_VEC_FLOAT_MODE_P): Ditto.
5254 * config/i386/i386.md (UNSPEC_MASKLOAD): Remove.
5255 (UNSPEC_MASKSTORE): Ditto.
5256 * config/i386/sse.md (<sse>_movmsk<ssemodesuffix><avxmodesuffix>):
5257 Merge from <sse>_movmsk<ssemodesuffix> and
5258 avx_movmsk<ssemodesuffix>256. Use VF mode iterator.
5259 (*sse2_maskmovdqu): Merge with *sse2_maskmovdqu_rex64. Use P mode
5260 iterator.
5261 (avx_maskload<ssemodesuffix><avxmodesuffix>): New expander.
5262 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Ditto.
5263 (*avx_maskmov<ssemodesuffix><avxmodesuffix>): New insn.
5264
09a2806f
JH
52652011-04-18 Jan Hubicka <jh@suse.cz>
5266
8a8dccb2
JH
5267 * ipa-inline.c (inline_small_functions): Fix pasto in previous patch.
5268
09a2806f
JH
5269 * ipa-inline.c: Fix comment typos; do not inline gt-ipa-inline.h
5270 (want_inline_function_called_once_p): Break out the logic from
5271 ipa_inline.
5272 (edge_badness): Ensure that profile is not misupdated.
5273 (lookup_recursive_calls): Prioritize by call frequencies.
5274 (inline_small_functions): Move program size estimates here;
5275 actually process whole queue even when unit growth has been
5276 met. (to properly compute inline_failed reasons and for the
f60c2554 5277 case unit size decrease.) Revisit comments on recursive inlining.
09a2806f
JH
5278 (ipa_inline): Remove unit summary code; first inline hot calls
5279 of functions called once, cold calls next.
5280 (order, nnodes): Remove unused variables.
5281 * Makefile.in (ipa-inline.o): No longer depent on ggc files.
5282 (GTFILES): Remove ipa-inline.c
5283 * sel-sched.c (fill_insns): Silence uninitialized var warning.
5284
3eea52ef
EB
52852011-04-18 Eric Botcazou <ebotcazou@adacore.com>
5286
5287 * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
5288
229a1c59 52892011-04-18 Jie Zhang <jie@codesourcery.com>
3eea52ef 5290 Richard Earnshaw <rearnsha@arm.com>
229a1c59
JZ
5291
5292 * arm.c (neon_builtin_type_bits): Remove.
5293 (typedef enum neon_builtin_mode): New.
5294 (T_MAX): Don't define.
5295 (typedef enum neon_builtin_datum): Remove bits, codes[],
5296 num_vars and base_fcode. Add mode, code and fcode.
5297 (VAR1, VAR2, VAR3, VAR4, VAR5, VAR6, VAR7, VAR8, VAR9
5298 VAR10): Change accordingly.
5299 (neon_builtin_data[]): Change accordingly
5300 (arm_init_neon_builtins): Change accordingly.
5301 (neon_builtin_compare): Remove.
5302 (locate_neon_builtin_icode): Remove.
5303 (arm_expand_neon_builtin): Change accordingly.
5304
5305 * arm.h (enum arm_builtins): Move to ...
5306 * arm.c (enum arm_builtins): ... here; and rearrange builtin code.
5307
5308 * arm.c (arm_builtin_decl): Declare.
5309 (TARGET_BUILTIN_DECL): Define.
5310 (enum arm_builtins): Correct ARM_BUILTIN_MAX.
5311 (arm_builtin_decls[]): New.
5312 (arm_init_neon_builtins): Store builtin declarations in
5313 arm_builtin_decls[].
5314 (arm_init_tls_builtins): Likewise.
5315 (arm_init_iwmmxt_builtins): Likewise. Refactor initialization code.
5316 (arm_builtin_decl): New.
5317
75e802cc
RG
53182011-04-18 Richard Guenther <rguenther@suse.de>
5319
5320 * tree.c (upper_bound_in_type): Build properly canonicalized
5321 INTEGER_CSTs.
5322 (lower_bound_in_type): Likewise.
5323
3b45a007
RG
53242011-04-18 Richard Guenther <rguenther@suse.de>
5325
5326 * gimple.h (gimple_call_addr_fndecl): New function.
5327 (gimple_call_fndecl): Use it.
5328 * gimple-fold.c (gimple_fold_call): Fold away OBJ_TYPE_REFs
5329 for direct calls.
5330 * tree-ssa-ccp.c (ccp_fold_stmt): Remove OBJ_TYPE_REF folding.
5331 * tree-ssa-pre.c (eliminate): Also simplify indirect OBJ_TYPE_REFs.
5332
d25a79ea
RG
53332011-04-18 Richard Guenther <rguenther@suse.de>
5334
5335 PR middle-end/48650
5336 * tree.c (build_string): STRING_CST is now derived from tree_typed.
5337
7d5fc814
EB
53382011-04-18 Eric Botcazou <ebotcazou@adacore.com>
5339
5340 PR lto/48492
5341 * cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
5342 DECL_IN_CONSTANT_POOL without RTL.
5343
7e7cfcf6
UW
53442011-04-18 Ulrich Weigand <ulrich.weigand@linaro.org>
5345 Ira Rosen <ira.rosen@linaro.org>
5346
5347 PR target/48252
5348 * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
5349 to match neon_vzip/vuzp/vtrn_internal.
5350 * config/arm/neon.md (neon_vtrn<mode>_internal): Make both
5351 outputs explicitly dependent on both inputs.
5352 (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.
5353
49eab32e
JJ
53542011-04-18 Jakub Jelinek <jakub@redhat.com>
5355
5356 PR tree-optimization/48616
5357 * tree-vect-stmts.c (vectorizable_shift): If SLP, determine
5358 whether the shift is by scalar or vector based on whether all SLP
5359 scalar stmts have the same rhs.
5360
e54170f4
CLT
53612011-04-17 Chung-Lin Tang <cltang@codesourcery.com>
5362
5363 * config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC
5364 memory operands.
5365
b14ee6c9
RS
53662011-04-17 Richard Sandiford <rdsandiford@googlemail.com>
5367
269e0e18 5368 PR target/43700
b14ee6c9
RS
5369 * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
5370 registers.
5371
10158cd3
JH
53722011-04-17 Jan Hubicka <jh@suse.cz>
5373
5374 * cgrpah.h (struct cgraph_node): Remove finalized_by_frontend.
7d5fc814
EB
5375 * cgrpahunit.c (cgraph_finalize_function): Do not set
5376 finalized_by_frontend.
10158cd3
JH
5377 * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
5378 finalized_by_frontend.
5379
2e9bb6ba
JH
53802011-04-17 Jan Hubicka <jh@suse.cz>
5381
5382 * cgraph.c (cgraph_clone_node): Do not handle vtable_method
5383 * cgraph.h (struct cgraph_local_info): Drop vtable_method.
5384 * cgraphunit.c (cgraph_copy_node_for_versioning): Drop vtable_method.
7d5fc814
EB
5385 * lto-cgraph.c (lto_output_node, input_overwrite_node): Drop vtable
5386 method.
2e9bb6ba
JH
5387 * gimple-fold.c (can_refer_decl_in_current_unit_p): Mention PR20991 in
5388 gimple-fold.c
5389 * varasm.c (mark_decl_referenced): Drop vtable_method handling code.
5390
beb628e1
EB
53912011-04-17 Eric Botcazou <ebotcazou@adacore.com>
5392
5393 PR lto/48538
5394 * lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
5395 is non-null before accessing it.
5396 (input_cgraph): Remove trailing spaces.
5397
3e2fdd24
RE
53982011-04-17 Revital Eres <revital.eres@linaro.org>
5399
5400 * params.def (sms-min-sc): New param flag.
5401 * modulo-sched.c (sms_schedule): Use it.
5402 * doc/invoke.texi (sms-min-sc): Document it.
5403
4c0f7679
JH
54042011-04-17 Jan Hubicka <jh@suse.cz>
5405
5406 * lto-symtab.c (lto_cgraph_replace_node): When call statement is
5407 present, also set gimple_call_set_cannot_inline.
5408 * ipa-inline.c: Update toplevel comment.
5409 (MAX_TIME): Remove.
5410 (cgraph_clone_inlined_nodes): Fix linebreaks.
5411 (cgraph_check_inline_limits): Restructure to ...
5412 (caller_growth_limits): ... this one; be more tolerant
5413 on growth in nested inline chains; add explanatory comment;
5414 fix stack accounting thinko introduced by previous patch.
5415 (cgraph_default_inline_p): Remove.
5416 (report_inline_failed_reason): New function.
5417 (can_inline_edge_p): New function.
5418 (can_early_inline_edge_p): New function.
5419 (leaf_node_p): Move upwards in file.
5420 (want_early_inline_function_p): New function.
5421 (want_inline_small_function_p): New function.
5422 (want_inline_self_recursive_call_p): New function.
5423 (cgraph_edge_badness): Rename to ...
5424 (edge_badness) ... this one; fix linebreaks.
5425 (update_edge_key): Update call of edge_baddness; add
5426 detailed dump about queue updates.
5427 (update_caller_keys): Use can_inline_edge_p and
5428 want_inline_small_function_p.
5429 (cgraph_decide_recursive_inlining): Rename to...
5430 (recursive_inlining): Use can_inline_edge_p and
f60c2554
UB
5431 want_inline_self_recursive_call_p; simplify and remove no longer
5432 valid FIXME.
4c0f7679
JH
5433 (cgraph_set_inline_failed): Remove.
5434 (add_new_edges_to_heap): Use can_inline_edge_p and
5435 want_inline_small_function_p.
5436 (cgraph_decide_inlining_of_small_functions): Rename to ...
5437 (inline_small_functions): ... this one; cleanup; use
f60c2554
UB
5438 can/want predicates; cleanup debug ouput; work edges till fibheap
5439 is exhausted and do not stop once unit growth is reached; remove
5440 later loop processing remaining edges.
4c0f7679
JH
5441 (cgraph_flatten): Rename to ...
5442 (flatten_function): ... this one; use can_inline_edge_p
5443 and can_early_inline_edge_p predicates.
5444 (cgraph_decide_inlining): Rename to ...
5445 (ipa_inline): ... this one; remove unreachable nodes before
5446 inlining functions called once; simplify the pass.
5447 (cgraph_perform_always_inlining): Rename to ...
5448 (inline_always_inline_functions): ... this one; use
f60c2554 5449 DECL_DISREGARD_INLINE_LIMITS; use can_inline_edge_p predicate.
4c0f7679
JH
5450 (cgraph_decide_inlining_incrementally): Rename to ...
5451 (early_inline_small_functions): ... this one; simplify
5452 using new predicates; cleanup; make dumps prettier.
5453 (cgraph_early_inlining): Rename to ...
5454 (early_inliner): newer inline regular functions into always-inlines;
5455 fix updating of call stmt summaries.
5456 (pass_early_inline): Update for new names.
5457 (inline_transform): Fix formating.
5458 (gate_cgraph_decide_inlining): Rename to ...
5459 (pass_ipa_inline): ... this one.
5460 * ipa-inline.h (inline_summary): Remove disregard_inline_limits.
5461 * ipa-inline-analysis.c (dump_inline_summary): Update.
5462 (compute_inline_parameters): Do not compute disregard_inline_limits;
5463 look for mismatching arguments.
5464 (estimate_growth): Fix handlig of non-trivial self recursion.
5465 (inline_read_summary): Do not read info->disregard_inline_limits.
5466 (inline_write_summary): Do not write info->disregard_inline_limits.
beb628e1
EB
5467 * tree-inline.c (inline_forbidden_into_p, tree_can_inline_p): Remove
5468 and move all checks into can_inline_edge_p predicate; re-enable code
5469 comparing optimization levels.
4c0f7679
JH
5470 (expand_call_inline): Do not test inline_forbidden_into_p.
5471 * Makefile.in (ipa-inline.o): Update arguments.
5472
54333b7c
RE
54732011-04-17 Revital Eres <revital.eres@linaro.org>
5474
5475 * ddg.c (free_ddg_all_sccs): Free sccs field in struct ddg_all_sccs.
5476
42c2bf92
RE
54772011-04-17 Revital Eres <revital.eres@linaro.org>
5478
5479 * modulo-sched.c (sms_schedule): Avoid unfreed memory when SMS fails.
5480
b183e9e0
MM
54812011-04-17 Michael Matz <matz@suse.de>
5482
5483 PR tree-optimization/48622
5484 PR lto/48645
5485 * ipa-inline-analysis.c (inline_read_summary): Read size/time
5486 in same order as they're written.
5487
b8a17fa2
JDA
54882011-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5489
5490 * config/pa/predicates.md: Reorganize and simplify predicates.
5491 Eliminate duplicate code checks.
5492 (arith_operand): Rename to arith14_operand
5493 (reg_or_ior_operand): Rename to reg_or_cint_ior_operand.
5494 * config/pa/pa.md: Use renamed operands.
5495 * config/pa/pa-protos.h (symbolic_operand): Delete declaration.
5496 (tls_symbolic_operand, function_label_operand, lhs_lshift_cint_operand,
5497 arith11_operand, adddi3_operand, indexed_memory_operand,
5498 symbolic_memory_operand, int11_operand, reg_or_cint_move_operand,
5499 arith5_operand, uint5_operand, pic_label_operand, plus_xor_ior_operator,
5500 borx_reg_operand, shadd_operand, arith_operand, read_only_operand,
5501 move_dest_operand, move_src_operand, prefetch_cc_operand,
5502 prefetch_nocc_operand, and_operand, ior_operand, arith32_operand,
5503 uint32_operand, reg_before_reload_operand, reg_or_0_operand,
5504 reg_or_0_or_nonsymb_mem_operand, pre_cint_operand, post_cint_operand,
5505 div_operand, int5_operand, movb_comparison_operator,
5506 ireg_or_int5_operand, call_operand_address, ior_operand, fp_reg_operand,
5507 arith_double_operand, ireg_operand, lhs_lshift_operand,
5508 pc_or_label_operand, non_hard_reg_operand, eq_neq_comparison_operator,
5509 integer_store_memory_operand): Likewise.
5510 * config/pa/pa.c (adddi3_operand): Move to predicates.md.
5511 (integer_store_memory_operand, read_only_operand,
5512 function_label_operand, borx_reg_operand,
5513 non_hard_reg_operand): Likewise.
5514 (eq_neq_comparison_operator): Delete unused operator.
5515 (legitimize_pic_address): Use VOIDmode for mode argument in calls to
5516 function_label_operand.
5517 (emit_move_sequence): Likewise.
5518
8dfb9f16
UB
55192011-04-16 Uros Bizjak <ubizjak@gmail.com>
5520
5521 * config/i386/sse.md (sseunpackmode): New mode attribute.
5522 (ssepackmode): Ditto.
5523 (vec_pack_trunc_<mode>): Macroize expander from
5524 vec_pack_trunc_{v8hi,v4si,v2di} using VI248_128 mode iterator.
5525 (vec_unpacks_lo_<mode>): Macroize expander from
5526 vec_unpacks_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
5527 (vec_unpacks_hi_<mode>): Macroize expander from
5528 vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
5529 (vec_unpacku_lo_<mode>): Macroize expander from
5530 vec_unpacku_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
5531 (vec_unpacku_hi_<mode>): Macroize expander from
5532 vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
5533 * config/i386/i386.c (ix86_expand_sse_unpack): Merge with
5534 ix86_expand_sse4_unpack.
5535 * config/i386/i386-protos.h (ix86_expand_sse4_unpack): Remove.
5536
e7f23018
JH
55372011-04-16 Jan Hubicka <jh@suse.cz>
5538
5539 * cgraphbuild.c: Include ipa-inline.h.
5540 (reset_inline_failed): Use initialize_inline_failed.
5541 * cgraph.c: Include ipa-inline.h.
5542 (cgraph_create_node_1): Do not initialize estimated_growth.
5543 (initialize_inline_failed): More to ipa-inline-analysis.c
5544 (dump_cgraph_node): Do not dump inline flags.
5545 * cgraph.h (cgraph_local_info): Remove inlineable, versionable
5546 and disregard_inline_limits flags.
5547 (cgrpah_global_info): Remove estimated_stack_size, stack_frame_offset,
5548 time, size, estimated_growth.
8dfb9f16
UB
5549 * ipa-cp.c (ipcp_versionable_function_p, ipcp_generate_summary):
5550 Update.
e7f23018
JH
5551 * cgraphunit.c (cgraph_decide_is_function_needed): Use
5552 DECL_DISREGARD_INLINE_LIMITS.
5553 (cgraph_analyze_function): Do not initialize
5554 node->local.disregard_inline_limits.
5555 * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
5556 inlinable, versionable and disregard_inline_limits.
5557 * ipa-inline.c (cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
8dfb9f16
UB
5558 cgraph_check_inline_limits, cgraph_default_inline_p,
5559 cgraph_edge_badness, update_caller_keys, update_callee_keys,
5560 add_new_edges_to_heap): Update.
5561 (cgraph_decide_inlining_of_small_function): Update; set
5562 CIF_FUNCTION_NOT_INLINABLE for uninlinable functions.
e7f23018
JH
5563 (cgraph_decide_inlining, cgraph_edge_early_inlinable_p,
5564 cgraph_decide_inlining_incrementally): Update.
8dfb9f16
UB
5565 * ipa-inline.h (inline_summary): Add inlinable, versionable,
5566 disregard_inline_limits, estimated_stack_size, stack_frame_offset,
5567 time, size and estimated_growth parameters.
e7f23018
JH
5568 (estimate_edge_growth): Update.
5569 (initialize_inline_failed): Declare.
5570 * ipa-split.c: Include ipa-inline.h
5571 (execute_split_functions): Update.
5572 * ipa.c (cgraph_postorder): Use DECL_DISREGARD_INLINE_LIMITS.
5573 (cgraph_remove_unreachable_nodes): Do not clear inlinable flag.
5574 (record_cdtor_fn): Use DECL_DISREGARD_INLINE_LIMITS.
5575 * ipa-inline-analysis.c (inline_node_removal_hook): Update; set
5576 estimated_growth to INT_MIN.
5577 (inline_node_duplication_hook): Likewise.
5578 (dump_inline_summary): Dump new fields.
5579 (compute_inline_parameters): Update.
5580 (estimate_edge_time, estimate_time_after_inlining,
5581 estimate_size_after_inlining, estimate_growth, inline_read_summary,
5582 inline_write_summary):
5583 (initialize_inline_failed): Move here from cgraph.c.
5584 * tree-sra.c: Include ipa-inline.h.
5585 (ipa_sra_preliminary_function_checks): Update.
f60c2554
UB
5586 * Makefile.in (cgraph.o, cgraphbuild.o): Add dependency on
5587 ipa-inline.h.
e7f23018 5588
e81b8564
UB
55892011-04-16 Uros Bizjak <ubizjak@gmail.com>
5590
5591 * config/i386/sse.md (V16): New mode iterator.
5592 (VI1, VI8): Ditto.
5593 (AVXMODEQI, AVXMODEDI): Remove.
5594 (sse2, sse3): New mode attribute.
5595 (mov<mode>): Use V16 mode iterator.
5596 (*mov<mode>_internal): Merge with *avx_mov<mode>_internal.
5597 (push<mode>1): Use V16 mode iterator.
5598 (movmisalign<mode>): Ditto.
5599 (<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
5600 <sse>_movu<ssemodesuffix> and avx_movu<ssemodesuffix><avxmodesuffix>.
5601 (*<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
5602 *<sse>_movu<ssemodesuffix> and *avx_movu<ssemodesuffix><avxmodesuffix>.
5603 (<sse2>_movdqu<avxmodesuffix>): Merge from sse2_movdqu and
5604 avx_movdqu<avxmodesuffix>.
5605 (*<sse2>_movdqu<avxmodesuffix>): Merge from *sse2_movdqu and
5606 *avx_movdqu<avxmodesuffix>.
5607 (<sse3>_lddqu<avxmodesuffix>) Merge from sse3_lddqu and
5608 avx_lddqu<avxmodesuffix>.
5609 (<sse>_movnt<mode>): Merge with avx_movnt<AVXMODEF2P:mode>.
5610 (<sse2>_movnt<mode>): Merge from sse2_movntv2di and
5611 avx_movnt<AVXMODEDI:mode>.
5612 * config/i386/i386.c (ix86_expand_vector_move_misalign): Update for
5613 renamed sse_movups, sse2_movupd and sse2_movdqu patterns.
5614
4743d438
BS
56152011-04-16 Bernd Schmidt <bernds@codesourcery.com>
5616
5617 PR target/48629
5618 * haifa-sched.c (prune_ready_list, schedule_block): Use
5619 sched_pressure_p rather than flag_sched_pressure.
5620
748f7574 56212011-04-15 Pat Haugen <pthaugen@us.ibm.com>
eb229cf4
PH
5622
5623 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
5624 cgraph_get_node instead of cgraph_get_create_node.
5625
2ba172e0
JJ
56262011-04-15 Jakub Jelinek <jakub@redhat.com>
5627
5628 * cfgexpand.c (expand_debug_expr): Use
5629 simplify_gen_{unary,binary,ternary} instead of gen_rtx_*.
5630
63d2a353
MM
56312011-04-15 Michael Matz <matz@suse.de>
5632
5633 * tree.h (ALLOCA_FOR_VAR_P): Rename to CALL_ALLOCA_FOR_VAR_P.
5634 * builtins.c (expand_builtin): Use CALL_ALLOCA_FOR_VAR_P.
5635 * function.c (gimplify_parameters): Ditto.
5636 * gimplify.c (gimplify_vla_decl): Ditto.
5637
5638 * gimple.h (enum gf_mask): Add GF_CALL_ALLOCA_FOR_VAR.
5639 (gimple_call_set_alloca_for_var): New inline function.
5640 (gimple_call_alloca_for_var_p): Ditto.
e81b8564
UB
5641 * gimple.c (gimple_build_call_from_tree): Remember
5642 CALL_ALLOCA_FOR_VAR_P state.
63d2a353
MM
5643 * cfgexpand.c (expand_call_stmt): Restore CALL_ALLOCA_FOR_VAR_P state.
5644
5645 * tree-inline.c (inline_forbidden_p_stmt): Don't reject alloca
5646 calls if they were for VLA objects.
5647
dee74c34
MJ
56482011-04-15 Martin Jambor <mjambor@suse.cz>
5649
5650 * ipa-prop.c (ipa_analyze_virtual_call_uses): Remove handling
5651 of ADR_EXPRs.
5652
8e5837bc
MJ
56532011-04-15 Martin Jambor <mjambor@suse.cz>
5654
5655 PR middle-end/48601
5656 * tree-emutls.c (lower_emutls_function_body): Call
5657 cgraph_get_create_node instead of cgraph_get_node. Do not assert the
5658 result is non-NULL.
5659
0dc33c3c
NP
56602011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
5661
5662 * c-decl.c (detect_field_duplicates): Call
5663 objc_detect_field_duplicates instead of objc_get_interface_ivars.
5664
edcdea5b
NF
56652011-04-15 Nathan Froyd <froydnj@codesourcery.com>
5666
5667 * gimple.h (gimple_asm_clobbers_memory_p): Declare.
5668 * gimple.c (gimple_asm_clobbers_memory_p): Define.
5669 * ipa-pure-const.c (check_stmt): Call it.
5670 * tree-ssa-operands.c (get_asm_expr_operands): Likewise.
5671
8456558d
RG
56722011-04-15 Richard Guenther <rguenther@suse.de>
5673
5674 PR tree-optimization/48290
5675 * tree-ssa-copy.c (copy_prop_visit_phi_node): Propagate constants.
5676 Properly decide inhibiting propagation based on the valueized
5677 operand. Do loop-closed SSA form preserving here ...
5678 (init_copy_prop): ... not here.
5679
266446be
L
56802011-04-15 H.J. Lu <hongjiu.lu@intel.com>
5681
5682 PR target/48612
5683 * config/i386/sse.md (*ieee_smin<mode>3): Switch mnemonics.
5684 (*ieee_smax<mode>3): Likewise.
5685
17465c6e
AK
56862011-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5687
5688 * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
5689 Replace match_operand with match_dup for the third operand in
5690 these expanders.
5691
bce204e5
MK
56922011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
5693
5694 * combine.c (subst, combine_simlify_rtx): Add new argument, use it
5695 to track processing of conditionals. Update all callers.
5696 (try_combine, simplify_if_then_else): Update.
5697
3162fdf4
MK
56982011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
5699
5700 * config/m68k/m68k.c (m68k_sched_variable_issue): Handle
5701 -fsched-pressure.
5702
79002a57 57032011-04-15 Georg-Johann Lay <avr@gjlay.de>
e81b8564 5704
79002a57
GJL
5705 * config/avr/avr.md ("rotl<mode>3",mode=HIDI): Use match_dup
5706 instead of match_operand for operand 3.
5707
4fd3a105
RS
57082011-04-15 Richard Sandiford <richard.sandiford@linaro.org>
5709
5710 * recog.h (insn_operand_data): Add an "allows_mem" field.
5711 * genoutput.c (output_operand_data): Initialize it.
5712 * optabs.c (maybe_legitimize_operand_same_code): New function.
5713 (maybe_legitimize_operand): Use it when matching the original
5714 op->value.
5715
ad19c4be
EB
57162011-04-15 Eric Botcazou <ebotcazou@adacore.com>
5717
5718 * gimplify.c: Fix issues in comments throughout.
5719 (voidify_wrapper_expr): Fix long line.
5720 (build_stack_save_restore): Likewise.
5721 (gimplify_loop_expr): Likewise.
5722 (gimplify_compound_lval): Likewise.
5723 (gimplify_init_ctor_eval): Likewise.
5724 (gimplify_modify_expr_rhs): Likewise.
5725 (omp_notice_threadprivate_variable): Likewise.
5726
b25aa0e8 57272011-04-15 Eric Botcazou <ebotcazou@adacore.com>
e7925582 5728
b25aa0e8
EB
5729 * cfgexpand.c (expand_call_stmt): Convert the function type to the
5730 original one if this is not a builtin function.
e7925582 5731
09db7afe
JJ
57322011-04-14 Jakub Jelinek <jakub@redhat.com>
5733
5734 PR target/48605
5735 * config/i386/sse.md (sse4_1_insertps): If operands[2] is a MEM,
5736 offset it as needed based on top 2 bits in operands[3], change
5737 MEM mode to SFmode and mask those 2 bits away from operands[3].
5738
c59633d9
NP
57392011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
5740
5741 * c-parser.c (c_parser_objc_protocol_definition): Updated for
5742 change from objc_declare_protocols() to objc_declare_protocol().
5743
5e60198b
UB
57442011-04-14 Uros Bizjak <ubizjak@gmail.com>
5745
5746 * config/i386/sse.md (sse4_1): New mode attribute.
5747 (<sse4_1>_blend<ssemodesuffix><avxmodesuffix>): Macroize from
5748 avx_blend<ssemodesuffix><avxmodesuffix> and
5749 sse4_1_blend<ssemodesuffix> using VF mode iterator.
5750 (<sse4_1>_blendv<ssemodesuffix><avxmodesuffix>): Macroize from
5751 avx_blendv<ssemodesuffix><avxmodesuffix> and
5752 sse4_1_blendv<ssemodesuffix> using VF mode iterator.
5753 (<sse4_1>_dp<ssemodesuffix><avxmodesuffix>): Macroize from
5754 avx_dp<ssemodesuffix><avxmodesuffix> and
5755 sse4_1_dp<ssemodesuffix> using VF mode iterator.
5756 (sse4_1_mpsadbw): Merge with *avx_mpsadbw.
5757 (sse4_1_packusdw): Merge with *avx_packusdw.
5758 (sse4_1_pblendvb): Merge with *avx_pblendvb.
5759 (sse4_1_pblendw): Merge with *avx_pblendw.
5760 (avx_vtest<ssemodesuffix><avxmodesuffix>): Use VF mode iterator.
5761 (<sse4_1>_round<ssemodesuffix><avxmodesuffix>): Macroize from
5762 avx_round<ssemodesuffix>256 and sse4_1_round<ssemodesuffix> using
5763 VF mode iterator.
5764 (sse4_1_round<ssescalarmodesuffix>): Merge with
5765 *avx_round<ssescalarmodesuffix>.
5766 (aesenc): Merge with *avx_aesenc.
5767 (aesenclast): Merge with *avx_aesenclast.
5768 (aesdec): Merge with *avx_aesdec.
5769 (aesdeclast): Merge with *avx_aesdeclast.
5770 (pclmulqdq): Merge with *pclmulqdq.
5771 * config/i386/predicates.md (reg_not_xmm0_operand_maybe_avx):
5772 New predicate.
5773 (nonimm_not_xmm0_operand_maybe_avx): Ditto.
5774
6f197850
L
57752011-04-14 H.J. Lu <hongjiu.lu@intel.com>
5776
5777 PR middle-end/48608
5778 * cfgexpand.c (get_decl_align_unit): Renamed to ...
5779 (align_local_variable): This. Update DECL_ALIGN.
5780 (add_stack_var): Updated.
5781 (expand_one_stack_var): Likewise.
5782
4a5ba3ed
RG
57832011-04-14 Richard Guenther <rguenther@suse.de>
5784
5785 * tree-ssa-dse.c (struct dse_global_data, struct dse_block_local_data):
5786 Remove.
5787 (dse_initialize_block_local_data, dse_leave_block,
5788 record_voperand_set, get_stmt_uid): Likewise.
5789 (dse_possible_dead_store_p): Allow any kind of killing stmt.
5790 (dse_optimize_stmt): Remove voperand set handling code.
5791 Simplify and improve to handle any kind of killing stmt.
5792 (dse_record_phi): Remove.
5793 (dse_enter_block): Simplify.
5794 (tree_ssa_dse): Likewise.
5795 * tree-ssa-alias.c (stmt_kills_ref_p_1): Handle some builtins.
5796
10a5dd5d
JH
57972011-04-14 Jan Hubicka <jh@suse.cz>
5798
5799 * cgraph.c (dump_cgraph_node): Do not dump inline summaries.
5800 * cgraph.h (struct inline_summary): Move to ipa-inline.h
5801 (cgraph_local_info): Remove inline_summary.
5802 * ipa-cp.c: Include ipa-inline.h.
5803 (ipcp_cloning_candidate_p, ipcp_estimate_growth,
5804 ipcp_estimate_cloning_cost, ipcp_insert_stage): Use inline_summary
5805 accesor.
5806 * lto-cgraph.c (lto_output_node): Do not stream inline summary.
5807 (input_overwrite_node): Do not set inline summary.
5808 (input_node): Do not stream inline summary.
5809 * ipa-inline.c (cgraph_decide_inlining): Dump inline summaries.
5810 (cgraph_decide_inlining_incrementally): Do not try to estimate overall
5811 growth; we do not have inline parameters computed for that anyway.
5812 (cgraph_early_inlining): After inlining compute call_stmt_sizes.
5813 * ipa-inline.h (struct inline_summary): Move here from ipa-inline.h
5814 (inline_summary_t): New type and VECtor.
5815 (debug_inline_summary, dump_inline_summaries): Declare.
5816 (inline_summary): Use VOCtor.
5817 (estimate_edge_growth): Kill hack computing call stmt size directly.
5818 * lto-section-in.c (lto_section_name): Add inline section.
5819 * ipa-inline-analysis.c: Include lto-streamer.h
5820 (node_removal_hook_holder, node_duplication_hook_holder): New holders
5821 (inline_node_removal_hook, inline_node_duplication_hook): New functions.
5822 (inline_summary_vec): Define.
5823 (inline_summary_alloc, dump_inline_summary, debug_inline_summary,
5824 dump_inline_summaries): New functions.
5e60198b
UB
5825 (estimate_function_body_sizes): Properly compute size/time of outgoing
5826 calls.
5827 (compute_inline_parameters): Alloc inline_summary; do not compute
5828 size/time of incomming calls.
10a5dd5d
JH
5829 (estimate_edge_time): Avoid missing time summary hack.
5830 (inline_read_summary): Read inline summary info.
5831 (inline_write_summary): Write inline summary info.
5832 (inline_free_summary): Free all hooks and inline summary vector.
5833 * lto-streamer.h: Add LTO_section_inline_summary section.
5834 * Makefile.in (ipa-cp.o, ipa-inline-analysis.o): Update dependencies.
5835 * ipa.c (cgraph_remove_unreachable_nodes): Fix dump file formating.
5836
b602d918
RS
58372011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
5838
5839 * tree-vectorizer.h (vect_strided_store_supported): Add a
5840 HOST_WIDE_INT argument.
5841 (vect_strided_load_supported): Likewise.
5842 (vect_permute_store_chain): Return void.
5843 (vect_transform_strided_load): Likewise.
5844 (vect_permute_load_chain): Delete.
5845 * tree-vect-data-refs.c (vect_strided_store_supported): Take a
5846 count argument. Check that the count is a power of two.
5847 (vect_strided_load_supported): Likewise.
5848 (vect_permute_store_chain): Return void. Update after above changes.
5849 Assert that the access is supported.
5850 (vect_permute_load_chain): Likewise.
5851 (vect_transform_strided_load): Return void.
5852 * tree-vect-stmts.c (vectorizable_store): Update calls after
5853 above interface changes.
5854 (vectorizable_load): Likewise.
5855 (vect_analyze_stmt): Don't check for strided powers of two here.
5856
ab4472fa
RG
58572011-04-14 Richard Guenther <rguenther@suse.de>
5858
5859 PR tree-optimization/48590
5860 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
5861 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
5862 (call_may_clobber_ref_p_1): Handle BUILT_IN_ALLOCA and
5863 BUILT_IN_STACK_SAVE.
5864 * tree-ssa-dce.c (propagate_necessity): Handle
5865 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
5866
32dabdaf
NP
58672011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
5868
5869 * c-parser.c (c_parser_objc_class_declaration): Updated call to
5870 objc_declare_class.
5871
daade206
RG
58722011-04-14 Richard Guenther <rguenther@suse.de>
5873
5874 * tree.h (get_object_alignment_1): Declare.
5875 * builtins.c (get_object_alignment_1): Split out worker from ...
5876 (get_object_alignment): ... here.
5877 * fold-const.c (get_pointer_modulus_and_residue): Use
5878 get_object_alignment_1.
5879
920e8172
RS
58802011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
5881
5882 * tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra
5883 type parameter.
5884 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add an aggr_type
5885 parameter. Generalise code to handle arrays as well as vectors.
5886 (vect_setup_realignment): Update accordingly.
5887 * tree-vect-stmts.c (vectorizable_store): Likewise.
5888 (vectorizable_load): Likewise.
5889
5ce1ee7f
RS
58902011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
5891
5892 * tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain
5893 within the per-copy loop.
5894
6438fe33 58952011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
0ea25ecd
RS
5896
5897 * tree-vect-stmts.c (vectorizable_load): Print the number of copies
5898 in the dump file.
5899
6438fe33 59002011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
77b10485
RS
5901
5902 * doc/options.texi (Negative): Explicitly mention that the
5903 Negative chain must be circular.
5904
61e46a7d
NF
59052011-04-14 Nathan Froyd <froydnj@codesourcery.com>
5906
5907 * function.h (block_chainon): Declare.
5908 * function.c (block_chainon): Define.
5909
43ea6502 59102011-04-14 Anatoly Sokolov <aesok@post.ru>
5e60198b 5911 Eric Weddington <eric.weddington@atmel.com>
748f7574 5912 Georg-Johann Lay <avr@gjlay.de>
5e60198b 5913
f60c2554 5914 * config/avr/avr.c ("insn-codes.h", "optabs.h", "langhooks.h"):
43ea6502
AS
5915 New Includes
5916 (avr_init_builtins, avr_expand_builtin,
5917 avr_expand_delay_cycles, avr_expand_unop_builtin,
5918 avr_expand_binop_builtin ): New functions.
5919 (avr_builtin_id): New enum
5920 (struct avr_builtin_description): New struct
5921 (bdesc_1arg, bdesc_2arg): New arrays describing some RTL builtins.
5922 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
5e60198b 5923
43ea6502 5924 * config/avr/avr.md (UNSPEC_FMUL, UNSPEC_FMULS, UNSPEC_FMULSU,
5e60198b 5925 UNSPECV_ENABLE_IRQS, UNSPECV_NOP, UNSPECV_SLEEP, UNSPECV_WDR,
43ea6502
AS
5926 UNSPECV_DELAY_CYCLES): new enumeration values
5927 (UNSPEC_SEI, UNSPEC_CLI): Remove enumeration values
5928 ("enable_interrupt"): Use UNSPECV_ENABLE_IRQS
5929 ("disable_interrupt"): Use UNSPECV_ENABLE_IRQS
5930 ("*rotlqi3_4"): rename insn to "rotlqi3_4"
5931 ("delay_cycles_1", "delay_cycles_2", "delay_cycles_3",
5932 "delay_cycles_4", "nopv", "sleep", "wdr", "fmul", "fmuls",
5933 "fmulsu"): New insns
5e60198b 5934
43ea6502
AS
5935 * config/avr/avr-c.c: fix line endings
5936 (avr_cpu_cpp_builtins): New builtin defines: __BUILTIN_AVR_NOP,
5937 __BUILTIN_AVR_SEI, __BUILTIN_AVR_CLI, __BUILTIN_AVR_WDR,
5938 __BUILTIN_AVR_SLEEP, __BUILTIN_AVR_SWAP,
5939 __BUILTIN_AVR_DELAY_CYCLES, __BUILTIN_AVR_FMUL,
5940 __BUILTIN_AVR_FMULS, __BUILTIN_AVR_FMULSU.
5e60198b 5941
43ea6502
AS
5942 * doc/extend.texi (AVR Built-in Functions): New node
5943 (Target Builtins): Add documentation of AVR
5944 built-in functions.
5945
8a9b55f3
GJL
59462011-04-14 Georg-Johann Lay <avr@gjlay.de>
5947
5948 PR target/44643
5949 * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
5950 alone. Error if non-const data has attribute progmem.
5951
94bd1825
NF
59522011-04-13 Nathan Froyd <froydnj@codesourcery.com>
5953
5954 * tree.h (struct tree_constructor): Include tree_typed instead of
5955 tree_common.
5956 * tree.c (initialize_tree_contains_struct): Mark TS_CONSTRUCTOR as
5957 TS_TYPED instead of TS_COMMON.
5958
5e60198b 59592011-04-13 Uros Bizjak <ubizjak@gmail.com>
81b1e7eb
UB
5960
5961 * config/i386/sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.
5962 (*sse2_uavgv8hi3): Merge with *avx_uavgv8hi3.
5963 (sse2_psadbw): Merge with *avx_psadbw.
5964 (ssse3_phaddwv8hi3): Merge with *avx_phaddwv8hi3.
5965 (ssse3_phadddv4si3): Merge with *avx_phadddv4si3.
5966 (ssse3_phaddswv8hi3): Merge with *avx_phaddswv8hi3.
5967 (ssse3_phsubwv8hi3): Merge with *avx_phsubwv8hi3.
5968 (ssse3_phsubdv4si3): Merge with *avx_phsubdv4si3.
5969 (ssse3_phsubswv8hi3): Merge with *avx_phsubswv8hi3.
5970 (ssse3_pmaddubsw128): Merge with *avx_pmaddubsw128.
5971 (*ssse3_pmulhrswv8hi3): Merge with *avx_pmulhrswv8hi3.
5972 (ssse3_pshufbv16qi3): Merge with *avx_pshufbv16qi3.
5973 (ssse3_psign<mode>3): Merge with *avx_psign<mode>3.
5974 (ssse3_palignrti): Merge with *avx_palignrti.
5975
4b1a4694
NF
59762011-04-13 Nathan Froyd <froydnj@codesourcery.com>
5977
5978 * tree-flow.h (struct gimple_df): Make free_ssanames a VEC.
5979 * tree-ssanames.c (fini_ssanames): VEC_free it.
5980 (make_ssa_name_fn): Update for VECness of free_ssanames.
5981 (release_ssa_name, release_dead_ssa_names): Likewise.
5982 * tree.h (struct tree_ssa_name): Include tree_typed instead of
5983 tree_common.
5984 * tree.c (initialize_tree_contains_struct): Mark TS_SSA_NAME as
5985 TS_TYPED instead of TS_COMMON.
5986
4da3b811
NF
59872011-04-13 Nathan Froyd <froydnj@codesourcery.com>
5988
5989 * postreload-gcse.c (gcse_after_reload_main): Add calls to
5990 statistics_counter_event.
5991 * tree-ssa-copyrename.c (stats): Define.
5992 (rename_ssa_copies): Count coalesced SSA_NAMEs. Add call to
5993 statistics_counter_event.
5994 * tree-ssa-math-opts.c (reciprocal_stats, sincos_stats): Define.
5995 (bswap_stats, widen_mul_stats): Define.
5996 (insert_reciprocals): Increment rdivs_inserted.
5997 (execute_cse_reciprocals): Zeroize reciprocal_stats. Increment
5998 rfuncs_inserted. Add calls to statistics_counter_event.
5999 (execute_cse_sincos_1): Increment inserted.
6000 (execute_cse_sincos): Zeroize sincos_stats. Add call to
6001 statistics_counter_event.
6002 (execute_optimize_bswap): Zeroize bswap_stats. Increment fields
6003 of bswap_stats. Add calls to statistics_counter_event.
6004 (convert_mult_to_widen): Increment widen_mults_inserted.
6005 (convert_plusminus_to_widen): Increment maccs_inserted.
6006 (convert_mult_to_fma): Increment fmas_inserted.
6007 (execute_optimize_widening_mul): Zeroize widen_mul_stats. Add
6008 calls to statistics_counter_event.
6009
89fa552a
VM
60102011-04-13 Vladimir Makarov <vmakarov@redhat.com>
6011
6012 PR rtl-optimization/48455
6013 * ira-costs.c (find_costs_and_classes): Use i_mem_cost instead of
6014 `temp_costs->mem_cost'.
6015
03dfc36d
JH
60162011-04-13 Jan Hubicka <jh@suse.cz>
6017
6018 * ipa-inline.h: New file.
6019 * ipa-inline-analysis.c: New file. Broken out of ...
6020 * ipa-inline.c: ... this file; update toplevel comment;
6021 include ipa-inline.h
6022 (inline_summary): Move to ipa-inline.h
6023 (cgraph_estimate_edge_time): Rename to estimate_edge_time; move to
6024 ipa-inline-analysis.c.
7d4f8d02
EB
6025 (cgraph_estimate_time_after_inlining): Rename to
6026 estiamte_time_after_inlining; move to ipa-inline-analysis.c
03dfc36d
JH
6027 (cgraph_estimate_edge_growth): Move to ipa-inline-analysis.c; rename
6028 to estimate_edge_growth.
6029 (cgraph_estimate_size_after_inlining): Move to ipa-inline-analysis.c;
6030 rename to estimate_size_after_inlining.
6031 (cgraph_mark_inline_edge): Update for new naming convention.
6032 (cgraph_check_inline_limits): Likewise.
6033 (cgraph_edge_badness): Likewise.
6034 (cgraph_decide_recursive_inlining): Likewise.
6035 (cgraph_decide_inlining_of_small_functions): Likewise.
6036 (cgraph_decide_inlining_incrementally): Likewise.
7d4f8d02
EB
6037 (cgraph_estimate_growth): Rename to estimate_growth; move to
6038 ipa-inline-analysis.c.
03dfc36d
JH
6039 (eliminated_by_inlining_prob): Move to ipa-inline-analysis.c.
6040 (estimate_function_body_sizes): Move to ipa-inline-analysis.c.
6041 (compute_inline_parameters): Likewise.
6042 (compute_inline_parameters_for_current): Likewise.
6043 (pass_inline_parameters): Likewise.
6044 (inline_indirect_intraprocedural_analysis): Likewise.
6045 (analyze_function): Rename to inline_analyze_function; likewise.
6046 (add_new_function): Move to ipa-inline-analysis.c.
6047 (inline_generate_summary): Likewise.
6048 (inline_read_summary): Likewise.
6049 (inline_write_summary): Likewise.
6050 * Makefile.in (ipa-inline-analysis.c): New file.
6051
7673c962
RO
60522011-04-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6053
6054 * configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
6055 * configure: Regenerate.
6056
9698252f
NF
60572011-04-13 Nathan Froyd <froydnj@codesourcery.com>
6058
6059 * tree.h (struct tree_int_cst, struct real_value): Include tree_typed
6060 instead of tree_common.
6061 (struct tree_fixed_cst, struct tree_string, struct tree_complex):
6062 Likewise.
6063 * tree.c (initialize_tree_contains_struct): Mark such nodes as being
6064 TS_TYPED rather than TS_COMMON.
6065 * print-tree.c (print_node) [STRING_CST]: Don't print TREE_CHAIN.
6066
3a7bfdd5
GJL
60672011-04-01 Georg-Johann Lay <avr@gjlay.de>
6068
6069 PR target/45263
86d83530
GJL
6070 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Don't use
6071 r20 around calls of __tablejump_elpm__
3a7bfdd5 6072
20790697
JJ
60732011-04-13 Jakub Jelinek <jakub@redhat.com>
6074
6075 PR middle-end/48591
6076 * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is
6077 NULL.
6078 (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
6079
094d7661
BS
60802011-04-13 Bernd Schmidt <bernds@codesourcery.com>
6081
6082 * dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
6083 (dw_cfi_ref): Add DEF_VEC_P and some DEF_VEC_ALLOC_Ps.
6084 (cfi_vec): New typedef.
6085 (struct dw_fde_struct): Make dw_fde_cfi a cfi_vec. Replace
6086 dw_fde_switch_cfi with an integer dw_fde_switch_cfi_index.
6087 (cie_cfi_vec): New static variable.
6088 (cie_cfi_head): Delete.
6089 (add_cfi): Accept a cfi_vec * as first argument. All callers and
6090 declaration changed. Use vector rather than list operations.
6091 (new_cfi): Don't initialize the dw_cfi_next field.
6092 (add_fde_cfi): Allocate cie_cfi_vec if necessary. Use vector
6093 rather than list operations.
6094 (lookup_cfa): Use vector rather than list operations.
6095 (output_cfis): New argument upto. Accept a cfi_vec rather than
6096 a dw_cfi_ref list head as argument. All callers changed.
6097 Iterate over the vector using upto as a maximum index.
6098 (output_all_cfis): New static function.
6099 (output_fde): Use vector rather than list operations. Use the
6100 new upto argument for output_cfis rather than manipulating a
6101 list.
6102 (dwarf2out_begin_prologue): Change initializations to match
6103 new struct members.
6104 (dwarf2out_switch_text_section): Initialize dw_fde_switch_cfi_index
6105 from the vector length rather than searching for the end of a list.
6106 Use output_all_cfis.
6107 (convert_cfa_to_fb_loc_list): Use vector rather than list operations.
6108
673a5740
NC
61092011-04-13 Nick Clifton <nickc@redhat.com>
6110
6111 * config/rx/rx.md (movmemsi): Do not use this pattern when
6112 volatile pointers are involved.
6113
1ee8b298
UB
61142011-04-13 Uros Bizjak <ubizjak@gmail.com>
6115
6116 * config/i386/sse.md (pinsrbits): Remove.
6117 (sse2_packsswb): Merge with *avx_packsswb.
6118 (sse2_packssdw): Merge with *avx_packssdw.
6119 (sse2_packuswb): Merge with *avx_packuswb.
6120 (vec_interleave_highv16qi): Merge with *avx_interleave_highv16qi.
6121 (vec_interleave_lowv16qi): Merge with *avx_interleave_lowv16qi.
6122 (vec_interleave_highv8hi): Merge with *avx_interleave_highv8hi.
6123 (vec_interleave_lowv8hi): Merge with *avx_interleave_lowv8hi.
6124 (vec_interleave_highv4si): Merge with *avx_interleave_highv4si.
6125 (vec_interleave_lowv4si): Merge with *avx_interleave_lowv4si.
6126 (*sse4_1_pinsrb): Merge with *avx_pinsr<ssevecsize>.
6127 (*sse2_pinsrw): Merge with *avx_pinsr<ssevecsize>.
6128 (*sse4_1_pinsrd): Merge with *avx_pinsr<ssevecsize>.
6129 (*sse4_1_pinsrq): Merge with *avx_pinsrq.
6130 (sse2_loadld): Merge with *avx_loadld.
6131 (*vec_extractv2di_1_rex64): Merge with *vec_extractv2di_1_rex64_avx.
6132 (*vec_extractv2di_1_sse2): Merge with *vec_extractv2di_1_avx.
6133 (*vec_concatv2si_sse4_1): Merge with *vec_concatv2si_avx.
6134 (*vec_concatv2di_rex64_sse4_1): Merge with *vec_concatv2di_rex64_avx.
6135 (vec_concatv2di): Merge with *vec_concatv2di_avx.
6136
81f653d6
NF
61372011-04-12 Nathan Froyd <froydnj@codesourcery.com>
6138
6139 * c-decl.c (union lang_tree_node): Check for TS_COMMON before
6140 calling TREE_CHAIN.
6141 * print-tree.c (print_node): Likewise.
6142 * tree-inline.c (copy_tree_r): Likewise.
6143 * c-lang.c (LANG_HOOKS_INIT_TS): Define.
6144 * lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED
6145 instead of TS_COMMON.
6146 * lto-streamer-out.c (lto_output_tree_pointers): Likewise.
6147 * tree.c (initialize_tree_contains_struct): Handle TS_TYPED.
6148 (copy_node_stat): Zero TREE_CHAIN only if necessary.
6149 (MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these...
6150 (MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL):
6151 ...and these...
6152 (MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these...
6153 * tree.h: ...here.
6154 (TREE_CHAIN): Check for a TS_COMMON structure.
6155 (TREE_TYPE): Check for a TS_TYPED structure.
6156
748f7574 61572011-04-12 Pat Haugen <pthaugen@us.ibm.com>
ed940a4a
PH
6158
6159 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
6160 cgraph_get_create_node instead of cgraph_node.
6161
eb345401
NP
61622011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
6163
6164 * c-parser.c (c_parser_initelt): Updated call to
6165 objc_build_message_expr.
6166 (c_parser_postfix_expression): Likewise.
6167
a6c46762
KT
61682011-04-12 Kai Tietz <ktietz@redhat.com>
6169
6170 * config/i386/mingw32.h (TARGET_SUBTARGET_DEFAULT): Add
6171 MASK_MS_BITFIELD_LAYOUT bit.
6172
b4ccfed9
JJ
61732011-04-12 Jakub Jelinek <jakub@redhat.com>
6174
6175 * combine.c (update_cfg_for_uncondjump): Instead of testing at_end
6176 assert it is always true.
6177 (try_combine): Don't call update_cfg_for_uncondjump for noop non-jump
6178 moves.
6179
0d8a2528
NP
61802011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
6181
6182 * c-parser.c (c_lex_one_token): Rewritten conditional used when
6183 compiling Objective-C to be more efficient.
6184
06bd234a
AF
61852011-04-12 Axel Freyn <axel-freyn@gmx.de>
6186
6187 * opts-common.c (decode_cmdline_options_to_array): Remove variable
6188 argv_copied.
6189
28569ac3
RS
61902011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
6191
6192 * recog.h, genoutput.c, optabs.c: Revert last patch.
6193
ae59e00d
RR
61942011-04-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
6195
81b1e7eb
UB
6196 PR target/48090
6197 * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
ae59e00d 6198
cff1b7e0
RS
61992011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
6200
6201 * recog.h (insn_operand_data): Add an "allows_mem" field.
6202 * genoutput.c (output_operand_data): Initialize it.
6203 * optabs.c (maybe_legitimize_operand_same_code): New function.
6204 (maybe_legitimize_operand): Use it when matching the original
6205 op->value.
6206
77059241
RS
62072011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
6208
6209 * genpreds.c (process_define_predicate): Move most processing
6210 to gensupport.c. Continue to validate the expression.
6211 * genrecog.c (did_you_mean_codes, compute_predicate_codes)
6212 (process_define_predicate): Move processing to gensupport.c.
6213 (main): Remove DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE cases.
6214 * gensupport.c (did_you_mean_codes): Moved from genrecog.c.
6215 (compute_predicate_codes): Moved from genrecog.c. Add lineno
6216 argument.
6217 (valid_predicate_name_p): New function, split out from old
6218 genpreds.c:process_define_predicate.
6219 (process_define_predicate): New function, combining code from
6220 old genpreds.c and genrecog.c functions.
6221 (process_rtx): Call it for DEFINE_PREDICATE and
6222 DEFINE_SPECIAL_PREDICATE.
6223
6308e208
RS
62242011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
6225
6226 * config/arm/arm.c (arm_print_operand): Use MEM_SIZE to get the
6227 size of a '%A' memory reference.
6228 (T_DREG, T_QREG): New neon_builtin_type_bits.
6229 (arm_init_neon_builtins): Assert that the load and store operands
6230 are neon_struct_operands.
6231 (locate_neon_builtin_icode): Provide the neon_builtin_type_bits.
6232 (NEON_ARG_MEMORY): New builtin_arg.
6233 (neon_dereference_pointer): New function.
6234 (arm_expand_neon_args): Add a neon_builtin_type_bits argument.
6235 Handle NEON_ARG_MEMORY.
6236 (arm_expand_neon_builtin): Update after above interface changes.
6237 Use NEON_ARG_MEMORY for loads and stores.
6238 * config/arm/predicates.md (neon_struct_operand): New predicate.
6239 * config/arm/iterators.md (V_two_elem): Tweak formatting.
6240 (V_three_elem): Use BLKmode for accesses that have no associated mode.
6241 (V_four_elem): Tweak formatting.
6242 * config/arm/neon.md (neon_vld1<mode>, neon_vld1_dup<mode>)
6243 (neon_vst1_lane<mode>, neon_vst1<mode>, neon_vld2<mode>)
6244 (neon_vld2_lane<mode>, neon_vld2_dup<mode>, neon_vst2<mode>)
6245 (neon_vst2_lane<mode>, neon_vld3<mode>, neon_vld3_lane<mode>)
6246 (neon_vld3_dup<mode>, neon_vst3<mode>, neon_vst3_lane<mode>)
6247 (neon_vld4<mode>, neon_vld4_lane<mode>, neon_vld4_dup<mode>)
6248 (neon_vst4<mode>): Replace pointer operand with a memory operand.
6249 Use %A in the output template.
6250 (neon_vld3qa<mode>, neon_vld3qb<mode>, neon_vst3qa<mode>)
6251 (neon_vst3qb<mode>, neon_vld4qa<mode>, neon_vld4qb<mode>)
6252 (neon_vst4qa<mode>, neon_vst4qb<mode>): Likewise, but halve
6253 the width of the memory access. Remove post-increment.
6254 * config/arm/neon-testgen.ml: Allow addresses to have an alignment.
6255
e5db8f2f
NC
62562011-04-12 Nick Clifton <nickc@redhat.com>
6257
6258 * config/v850/v850.c (expand_prologue): Do not use the CALLT
6259 instruction for interrupt handlers if the target is the basic V850
6260 architecture.
6261 (expand_epilogue): Likewise.
6262
74f091d6
JJ
62632011-04-12 Jakub Jelinek <jakub@redhat.com>
6264
6265 PR rtl-optimization/48549
6266 * combine.c (propagate_for_debug): Also stop after BB_END of
6267 this_basic_block. Process LAST and just stop processing after it.
6268 (combine_instructions): If last_combined_insn has been deleted,
6269 set last_combined_insn to its PREV_INSN.
6270
f20ca725
RG
62712011-04-12 Richard Guenther <rguenther@suse.de>
6272
6273 PR tree-optimization/46076
6274 * gimple.h (struct gimple_statement_call): Add fntype field.
6275 (gimple_call_fntype): Adjust.
6276 (gimple_call_set_fntype): New function.
6277 * gimple.c (gimple_build_call_1): Set the call function type.
6278 * gimplify.c (gimplify_call_expr): Preserve the function
6279 type the frontend used for the call.
6280 (gimplify_modify_expr): Likewise.
6281 * lto-streamer-in.c (input_gimple_stmt): Input the call stmts
6282 function type.
6283 * lto-streamer-out.c (output_gimple_stmt): Output the call stmts
6284 function type.
6285 * tree-ssa.c (useless_type_conversion_p): Function pointer
6286 conversions are useless.
6287
a358e188
MJ
62882011-04-12 Martin Jambor <mjambor@suse.cz>
6289
6290 * cgraph.h (cgraph_node): Remove function declaration.
6291 (cgraph_create_node): Declare.
6292 (cgraph_get_create_node): Likewise.
6293 * cgraph.c (cgraph_create_node): Renamed to cgraph_create_node_1.
6294 Updated all callers.
6295 (cgraph_node): Renamed to cgraph_create_node, assert that a node for
6296 the decl does not already exist. Call cgraph_get_create_node instead
6297 of cgraph_node.
6298 (cgraph_get_create_node): New function.
6299 (cgraph_same_body_alias): Update comment.
6300 (cgraph_set_call_stmt): Call cgraph_get_node instead of cgraph_node,
6301 assert it does not return NULL.
6302 (cgraph_update_edges_for_call_stmt): Likewise.
6303 (cgraph_clone_edge): Likewise.
6304 (cgraph_create_virtual_clone): Likewise.
6305 (cgraph_update_edges_for_call_stmt_node): Call cgraph_get_create_node
6306 instead of cgraph_node.
6307 (cgraph_add_new_function): Call cgraph_create_node or
6308 cgraph_get_create_node instead of cgraph_node.
6309 * cgraphbuild.c (record_reference): Call cgraph_get_create_node
6310 instead of cgraph_node.
6311 (record_eh_tables): Likewise.
6312 (mark_address): Likewise.
6313 (mark_load): Likewise.
6314 (build_cgraph_edges): Call cgraph_get_create_node instead
6315 of cgraph_node.
6316 (rebuild_cgraph_edges): Likewise.
6317 * cgraphunit.c (cgraph_finalize_function): Call cgraph_get_create_node
6318 instead of cgraph_node.
6319 (cgraph_copy_node_for_versioning): Call cgraph_create_node instead of
6320 cgraph_node.
6321 * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Call
6322 cgraph_create_node instead of cgraph_node.
6323 * c-decl.c (finish_function): Call cgraph_get_create_node instead
6324 of cgraph_node.
6325 * lto-cgraph.c (input_node): Likewise.
6326 * lto-streamer-in.c (input_function): Likewise.
6327 * varasm.c (mark_decl_referenced): Likewise.
6328 (assemble_alias): Likewise.
6329
fe660d7b
MJ
63302011-04-12 Martin Jambor <mjambor@suse.cz>
6331
6332 * tree-inline.c (tree_function_versioning): Call cgraph_get_node
6333 instead of cgraph_node and assert it does not return NULL.
6334 * lto-streamer-in.c (lto_read_body): Likewise.
6335 * omp-low.c (new_omp_context): Likewise.
6336 (create_task_copyfn): Likewise.
6337 * tree-emutls.c (lower_emutls_function_body): Likewise.
6338 * matrix-reorg.c (transform_allocation_sites): Likewise.
6339
bae5cddf
JJ
63402011-04-12 Jakub Jelinek <jakub@redhat.com>
6341
6342 PR c/48552
6343 * c-typeck.c (build_asm_expr): Error out on attempts to use
6344 void type outputs or inputs for constraints that allow reg or
6345 don't allow memory.
6346
06eb52ca
CLT
63472011-04-11 Chung-Lin Tang <cltang@codesourcery.com>
6348 Richard Earnshaw <rearnsha@arm.com>
6349
6350 PR target/48250
6351 * config/arm/arm.c (arm_legitimize_reload_address): Update cases
6352 to use sign-magnitude offsets. Reject unsupported unaligned
6353 cases. Add detailed description in comments.
6354 * config/arm/arm.md (reload_outdf): Disable for ARM mode; change
6355 condition from TARGET_32BIT to TARGET_ARM.
6356
648a616b
NF
63572011-04-11 Nathan Froyd <froydnj@codesourcery.com>
6358
6359 * tree.h (struct typed_tree): New.
6360 (struct tree_common): Include it instead of tree_base.
6361 (TREE_TYPE): Update for new location of type field.
6362 (TYPE_USER_ALIGN, TYPE_PACKED): Refer to base field directly.
6363 (DECL_USER_ALIGN, DECL_PACKED): Likewise.
6364 (union tree_node): Add typed field.
6365 * treestruct.def (TS_TYPED): New.
6366 * lto-streamer.c (check_handled_ts_structures): Handle it.
6367 * tree.c (MARK_TS_TYPED): New macro.
6368 (MARK_TS_COMMON): Call it instead of MARK_TS_BASE.
6369
1e6d1da0
EB
63702011-04-11 Eric Botcazou <ebotcazou@adacore.com>
6371
6372 * cfghooks.c (redirect_edge_and_branch_force): Localize variable.
6373 (force_nonfallthru): Do not alter the loop nest if no basic block
6374 was created.
6375
63762011-04-11 Uros Bizjak <ubizjak@gmail.com>
d8700b1c
UB
6377
6378 * config/i386/sse.md (VI): New mode iterator.
6379 (SSEMODEI): Remove.
6380 (AVX256MODEI): Ditto.
6381 (AVXMODEF4P): Ditto.
6382 (avxvecpsmode): Ditto.
6383 (one_cmpl<mode>2): Enable for TARGET_SSE. Use VI mode iterator.
6384 (sse2_andnot<mode>3): New expander.
6385 (*andnot<mode>3): Merge with *sse2_andnot<mode>3 and
6386 *avx_andnot<mode>3. Enable for TARGET_SSE. Use VI mode iterator.
6387 (<any_logic:code><mode>3): Use VI mode iterator.
6388 (*<any_logic:code><mode>3): Merge with *sse2_<any_logic:code><mode>3
6389 and *avx_<any_logic:code><mode>3. Use VI mode iterator.
6390 (*andnottf3): Handle AVX three-operand constraints.
6391 (*<any_logic:code>tf3): Handle AVX three-operand constraints.
6392
b1372d5d 63932011-04-11 Joseph Myers <joseph@codesourcery.com>
d8700b1c 6394 Robert Millan <rmh@gnu.org>
b1372d5d
JM
6395
6396 * config.gcc (x86_64-*-kfreebsd*-gnu): Use i386/kfreebsd-gnu.h.
6397 * config/i386/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER32,
6398 GNU_USER_DYNAMIC_LINKER64): Define.
6399 (REG_NAME): Don't undefine.
6400 (MD_UNWIND_SUPPORT): Undefine.
6401 * config/i386/knetbsd-gnu.h (GNU_USER_LINK_EMULATION): Define.
6402 (REG_NAME): Don't undefine.
6403 (MD_UNWIND_SUPPORT): Undefine.
d8700b1c 6404 * config/i386/kopensolaris-gnu.h (GNU_USER_LINK_EMULATION): Define.
b1372d5d 6405
761c0c6e
JM
64062011-04-11 Joseph Myers <joseph@codesourcery.com>
6407
6408 * config/i386/gnu.h (GNU_USER_LINK_EMULATION): Define.
6409 (CPP_SPEC, CC1_SPEC, ENDFILE_SPEC): Remove.
6410
26e0228f
XDL
64112011-04-11 Xinliang David Li <davidxl@google.com>
6412
6413 * value-profile.c (check_ic_target): New function.
6414 (gimple_ic_transform): Sanity check indirect call target.
6415 * gimple-low.c (gimple_check_call_args): Interface change.
6416 (gimple_check_call_matching_types): New function.
6417 * tree-inline.c (tree_can_inline_p): Call new function.
6075765d
BS
6418
64192011-04-11 Basile Starynkevitch <basile@starynkevitch.net>
6420
6421 * Makefile.in (PLUGIN_HEADERS): Add gimple-pretty-print.h
6422 tree-pretty-print.h & realmpfr.h.
6423
a58dfa49
VM
64242011-04-11 Vladimir Makarov <vmakarov@redhat.com>
6425
6426 PR middle-end/48464
6427 * ira.c (setup_pressure_classes): Fix typo in loop condition.
6428 (setup_allocno_and_important_classes): Ditto.
6429
107fd1c1
JM
64302011-04-11 Joseph Myers <joseph@codesourcery.com>
6431
6432 * config/alpha/linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to
6433 GNU_USER_DYNAMIC_LINKER.
6434 * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Change
6435 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6436 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Change
6437 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
6438 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
6439 GNU_USER_TARGET_OS_CPP_BUILTINS.
6440 * config/bfin/linux.h (TARGET_OS_CPP_BUILTINS): Change
6441 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6442 * config/bfin/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
6443 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6444 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Change
6445 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
6446 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
6447 GNU_USER_TARGET_OS_CPP_BUILTINS.
6448 * config/frv/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6449 GNU_USER_DYNAMIC_LINKER.
6450 * config/gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
6451 GNU_USER_TARGET_OS_CPP_BUILTINS.
6452 * config/i386/gnu-user.h (TARGET_OS_CPP_BUILTINS): Change
6453 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6454 * config/i386/gnu-user64.h (TARGET_OS_CPP_BUILTINS): Change
6455 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6456 * config/i386/linux.h (GNU_USER_DYNAMIC_LINKER): Remove.
6457 * config/i386/linux64.h (GNU_USER_DYNAMIC_LINKER32,
6458 GNU_USER_DYNAMIC_LINKER64): Remove.
6459 * config/ia64/linux.h (TARGET_OS_CPP_BUILTINS): Change
6460 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6461 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6462 GNU_USER_DYNAMIC_LINKER.
6463 * config/kfreebsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
6464 GNU_USER_TARGET_OS_CPP_BUILTINS.
6465 * config/knetbsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
6466 GNU_USER_TARGET_OS_CPP_BUILTINS.
6467 * config/kopensolaris-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename
6468 to GNU_USER_TARGET_OS_CPP_BUILTINS.
6469 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
6470 GNU_USER_TARGET_OS_CPP_BUILTINS.
6471 (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
6472 (LINUX_DYNAMIC_LINKER32): Rename to GNU_USER_DYNAMIC_LINKER32.
6473 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
6474 * config/lm32/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Change
6475 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6476 * config/m32r/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6477 GNU_USER_DYNAMIC_LINKER.
6478 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
6479 GNU_USER_TARGET_OS_CPP_BUILTINS.
6480 * config/m68k/linux.h (TARGET_OS_CPP_BUILTINS): Change
6481 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6482 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6483 GNU_USER_DYNAMIC_LINKER.
6484 * config/m68k/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
6485 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6486 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Change
6487 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6488 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6489 GNU_USER_DYNAMIC_LINKER.
6490 * config/mips/linux64.h (LINUX_DYNAMIC_LINKERN32): Rename to
6491 GNU_USER_DYNAMIC_LINKERN32.
6492 (LINK_SPEC): Change LINUX_DYNAMIC_LINKERN32 to
6493 GNU_USER_DYNAMIC_LINKERN32. Change LINUX_DYNAMIC_LINKER64 to
6494 GNU_USER_DYNAMIC_LINKER64. Change LINUX_DYNAMIC_LINKER32 to
6495 GNU_USER_DYNAMIC_LINKER32.
6496 * config/mn10300/linux.h (TARGET_OS_CPP_BUILTINS): Change
6497 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6498 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6499 GNU_USER_DYNAMIC_LINKER.
6500 * config/moxie/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
6501 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6502 * config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Change
6503 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 6504 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1
JM
6505 * config/rs6000/linux64.h (LINUX_DYNAMIC_LINKER32): Rename to
6506 GNU_USER_DYNAMIC_LINKER32.
6507 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
6508 * config/rs6000/sysv4.h (LINUX_DYNAMIC_LINKER): Rename to
6509 GNU_USER_DYNAMIC_LINKER.
6510 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): Change
6511 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6512 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER32 to
6513 GNU_USER_DYNAMIC_LINKER32. Change LINUX_DYNAMIC_LINKER64 to
6514 GNU_USER_DYNAMIC_LINKER64.
6515 * config/sh/linux.h (TARGET_OS_CPP_BUILTINS): Change
6516 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6517 (SUBTARGET_LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6518 GNU_USER_DYNAMIC_LINKER.
6519 * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Change
6520 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6521 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6522 GNU_USER_DYNAMIC_LINKER.
6523 * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Change
6524 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6525 (LINK_ARCH32_SPEC): Change LINUX_DYNAMIC_LINKER32 to
6526 GNU_USER_DYNAMIC_LINKER32.
6527 (LINK_ARCH64_SPEC): Change LINUX_DYNAMIC_LINKER64 to
6528 GNU_USER_DYNAMIC_LINKER64.
6529 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER64 to
6530 GNU_USER_DYNAMIC_LINKER64.
6531 * config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Change
6532 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6533 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Change
6534 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 6535 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1 6536
e24609cf
JM
65372011-04-11 Joseph Myers <joseph@codesourcery.com>
6538
6539 * config/i386/gnu-user.h: Copy from linux.h. Update comments.
6540 (LINK_EMULATION, GLIBC_DYNAMIC_LINKER): Remove.
6541 (SUBTARGET_EXTRA_SPECS): Use GNU_USER_LINK_EMULATION and
6542 GNU_USER_DYNAMIC_LINKER.
6543 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
6544 * config/i386/gnu-user64.h: Copy from linux64.h. Update comments.
6545 (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Remove.
6546 (LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32 and
6547 GNU_USER_DYNAMIC_LINKER64.
6548 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
6549 * config/i386/kfreebsd-gnu.h (LINK_EMULATION): Change to
6550 GNU_USER_LINK_EMULATION.
6551 * config/i386/linux.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
6552 DEFAULT_PCC_STRUCT_RETURN, TARGET_TLS_DIRECT_SEG_REFS_DEFAULT,
6553 ASM_COMMENT_START, DBX_REGISTER_NUMBER, NO_PROFILE_COUNTERS,
6554 MCOUNT_NAME, SUBTARGET_FRAME_POINTER_REQUIRED, SIZE_TYPE,
6555 PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS,
6556 CPP_SPEC, CC1_SPEC): Remove.
6557 (LINK_EMULATION): Change to GNU_USER_LINK_EMULATION.
6558 (GNU_USER_DYNAMIC_LINKER): Define.
6559 (ASM_SPEC, SUBTARGET_EXTRA_SPECS, LINK_SPEC, ENDFILE_SPEC,
6560 ASM_OUTPUT_ALIGNED_BSS, ASM_OUTPUT_MAX_SKIP_ALIGN,
6561 ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX, CRT_GET_RFIB_DATA,
6562 LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT, TF_SIZE,
6563 TARGET_ASM_FILE_END, STACK_CHECK_MOVING_SP,
6564 STACK_CHECK_STATIC_BUILTIN, TARGET_THREAD_SSP_OFFSET,
6565 TARGET_CAN_SPLIT_STACK, TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
6566 * config/i386/linux64.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC,
6567 CC1_SPEC, DEFAULT_PCC_STRUCT_RETURN,
6568 TARGET_TLS_DIRECT_SEG_REFS_DEFAULT, SPEC_32, SPEC_64, ASM_SPEC,
6569 LINK_SPEC, ENDFILE_SPEC, MULTILIB_DEFAULTS, LIBGCC2_HAS_TF_MODE,
6570 LIBGCC2_TF_CEXT, TF_SIZE, TARGET_ASM_FILE_END): Remove.
6571 (GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64): Define.
6572 (STACK_CHECK_MOVING_SP, STACK_CHECK_STATIC_BUILTIN,
6573 TARGET_THREAD_SSP_OFFSET, TARGET_CAN_SPLIT_STACK,
6574 TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
6575 * config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Change to
6576 GNU_USER_DYNAMIC_LINKER.
6577 * config/kfreebsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
6578 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
6579 * config/knetbsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
6580 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
6581 * config/kopensolaris-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
6582 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
6583 * config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
6584 i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
6585 i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
d8700b1c 6586 x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Use the new headers.
e24609cf 6587
b8ce4e94
KT
65882011-04-11 Kai Tietz <ktietz@redhat.com>
6589
6590 PR target/9601
6591 PR target/11772
6592 * config/i386/i386-protos.h (ix86_get_callcvt): New prototype.
6593 * config/i386/i386.c (ix86_handle_cconv_attribute): Adjust
6594 comment.
6595 (ix86_is_msabi_thiscall): Removed.
6596 (ix86_is_type_thiscall): Likewise.
6597 (ix86_get_callcvt): New function.
6598 (ix86_comp_type_attributes): Simplify check.
6599 (ix86_function_regparm): Use ix86_get_callcvt for calling
6600 convention attribute checks.
6601 (ix86_return_pops_args): Likewise.
6602 (ix86_static_chain): Likewise.
6603 (x86_this_parameter): Likewise.
6604 (x86_output_mi_thunk): Likewise.
6605 (ix86_function_type_abi): Optimize check for types without attributes.
6606 * config/i386/i386.h (IX86_CALLCVT_CDECL, IX86_CALLCVT_STDCALL,
6607 IX86_CALLCVT_FASTCALL, IX86_CALLCVT_THISCALL, IX86_CALLCVT_REGPARM,
6608 IX86_CALLCVT_SSEREGPARM): New macros to represent calling convention
6609 by flag-values.
6610 (IX86_BASE_CALLCVT): Helper macro.
6611 * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
6612 Use ix86_get_callcvt for calling convention attribute checks and avoid
6613 symbol-decoration for stdcall in TARGET_RTD case.
6614 * config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
6615 Likewise.
6616 (gen_stdcall_or_fastcall_suffix): Adjust ident and use DECL_ORIGIN
6617 for declaration.
6618
798dd0ba
UB
66192011-04-11 Uros Bizjak <ubizjak@gmail.com>
6620
6621 * config/i386/sse.md (VI_128): New mode iterator.
6622 (VI12_128): Rename from SSEMODE12.
6623 (VI14_128): Rename from SSEMODE14.
6624 (VI124_128): New mode iterator.
6625 (VI24_128): Rename from SSEMODE248.
6626 (VI248_128): Rename from SSEMODE248.
6627 (SSEMODE124C8): Remove.
6628 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
6629 (*sse2_<plusminus_insn><mode>3): Merge with
6630 *avx_<plusminus_insn><mode>3.
6631 (*mulv8hi3): Merge with *avx_mulv8hi3.
6632 (*<s>mulv8hi3_highpart): Merge with *avx_<s>mulv8hi3_highpart.
6633 (*sse2_umulv2siv2di3): Merge with *avx_umulv2siv2di3.
6634 (*sse2_pmaddwd): Merge with *avx_pmaddwd.
6635 (*sse4_1_mulv4si3): Merge with *avx_mulv4si3.
6636 (ashr<mode>3): Merge with *avx_ashr<mode>3.
6637 (lshr<mode>3): Merge with *avx_lshr<mode>3.
6638 (ashl<mode>3): Merge with *avx_ashl<mode>3.
6639 (sse2_ashlv1ti3): Merge with *avx_ashlv1ti3.
6640 (sse2_lshrv1ti3): Merge with *avx_lshrv1ti3.
6641 (*sse4_1_<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
6642 (*<smaxmin:code>v8hi3): Ditto.
6643 (*sse4_1_<umaxmin:code><mode>3): Merge with *avx_<umaxmin:code><mode>3.
6644 (*<smaxmin:code>v16qi3): Ditto.
6645 (*sse4_1_eqv2di3): Merge with *avx_eq<mode>3.
6646 (*sse2_eq<mode>3): Ditto.
6647 (*sse4_2_eqv2di3): Merge with *avx_gt<mode>3.
6648 (*sse2_gt<mode>3): Ditto.
6649 (vcondv2di): Split out of vcond<mode>.
6650 (vconduv2di): Split out of vcondu<mode>.
6651
956011be
RG
66522011-04-11 Richard Guenther <rguenther@suse.de>
6653
6654 * gimplify.c (gimple_fold_indirect_ref): Check host_integerp
6655 before calling tree_low_cst.
6656
e6313a78
RG
66572011-04-11 Richard Guenther <rguenther@suse.de>
6658
6659 * stor-layout.c (layout_type): Compute all array index size operations
6660 in the original type.
6661 (initialize_sizetypes): Add comment.
6662 (set_sizetype): Do not set TREE_TYPE of a TREE_VEC.
6663
e69d7376
JM
66642011-04-11 Joseph Myers <joseph@codesourcery.com>
6665
6666 * common.opt (Tbss=, Tdata=, Ttext=): New options.
6667
9f9ebcdf
MJ
66682011-04-11 Martin Jambor <mjambor@suse.cz>
6669
6670 * cgraph.c (cgraph_local_info): Call cgraph_get_node instead
6671 of cgraph_node, handle NULL return value.
6672 (cgraph_global_info): Likewise.
6673 (cgraph_rtl_info): Likewise.
6674 * tree-inline.c (estimate_num_insns): Likewise.
6675 * gimplify.c (unshare_body): Likewise.
6676 (unvisit_body): Likewise.
6677 (gimplify_body): Likewise.
6678 * predict.c (optimize_function_for_size_p): Likewise.
6679 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
6680 (call_may_clobber_ref_p_1): Likewise.
6681 * varasm.c (function_section_1): Likewise.
6682 (assemble_start_function): Likewise.
6683
581985d7
MJ
66842011-04-11 Martin Jambor <mjambor@suse.cz>
6685
6686 * except.c (set_nothrow_function_flags): Call cgraph_get_node instead
6687 of cgraph_node.
6688 * final.c (rest_of_clean_state): Likewise.
6689 * gimple-iterator.c (update_call_edge_frequencies): Likewise.
6690 * passes.c (pass_init_dump_file): Likewise.
6691 (execute_all_ipa_transforms): Likewise.
6692 (function_called_by_processed_nodes_p): Likewise.
6693 * predict.c (maybe_hot_frequency_p): Likewise.
6694 (probably_never_executed_bb_p): Likewise.
6695 (compute_function_frequency): Likewise.
6696 * tree-nested.c (check_for_nested_with_variably_modified): Likewise.
6697 (unnest_nesting_tree_1): Likewise.
6698 (lower_nested_functions): Likewise.
6699 * tree-optimize.c (execute_fixup_cfg): Likewise.
6700 (tree_rest_of_compilation): Likewise.
6701 * tree-profile.c (gimple_gen_ic_func_profiler): Likewise.
6702 * tree-sra.c (ipa_early_sra): Likewise.
6703 * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
6704 * config/i386/i386.c (ix86_compute_frame_layout): Likewise.
6705 * ipa.c (record_cdtor_fn): Likewise.
6706 * ipa-inline.c (cgraph_early_inlining): Likewise.
6707 (compute_inline_parameters_for_current): Likewise.
6708 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
6709 * ipa-pure-const.c (local_pure_const): Likewise.
6710 * ipa-split.c (split_function): Likewise.
6711 (execute_split_functions): Likewise.
6712 * cgraphbuild.c (build_cgraph_edges): Likewise.
6713 (rebuild_cgraph_edges): Likewise.
6714 (cgraph_rebuild_references): Likewise.
6715 (remove_cgraph_callee_edges): Likewise.
6716 * cgraphunit.c (cgraph_mark_if_needed): Likewise.
6717 (verify_cgraph_node): Likewise.
6718 (cgraph_analyze_functions): Likewise.
6719 (cgraph_preserve_function_body_p): Likewise.
6720 (save_inline_function_body): Likewise.
6721 (save_inline_function_body): Likewise.
6722 * tree-inline.c (copy_bb): Likewise.
6723 (optimize_inline_calls): Likewise.
6724
57dbdc5a
MJ
67252011-04-11 Martin Jambor <mjambor@suse.cz>
6726
6727 PR tree-optimization/48195
6728 * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
6729 ipa_check_create_edge_args.
6730 (ipcp_generate_summary): Do not call ipa_check_create_node_params and
6731 ipa_check_create_edge_args.
6732 * ipa-inline.c (inline_generate_summary): Do not call
6733 ipa_check_create_node_params and ipa_check_create_edge_args.
6734 * ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
6735 ipa_check_create_edge_args.
6736
d108e679
AS
67372011-04-09 Anatoly Sokolov <aesok@post.ru>
6738
6739 * expr.c (expand_expr_real_1): Use add_to_hard_reg_set function
6740 instead of loop.
6741 * sel-sched.c (mark_unavailable_hard_regs): Likewise.
6742 * function.c (record_hard_reg_sets): Likewise.
6743 * ira.c (compute_regs_asm_clobbered): Likewise.
6744 * sched-deps.c (sched_analyze_1): Likewise.
6745 * reload1.c (mark_reload_reg_in_use, choose_reload_regs): Likewise.
6746
3411bc59
XDL
67472011-04-09 Xinliang David Li <davidxl@google.com>
6748
6749 PR tree-optimization/PR48484
6750 * tree-ssa-uninit.c (convert_control_dep_chain_into_preds): Set
6751 has_valid_pred lazily
6752
b365495a
DS
67532011-04-09 Duncan Sands <baldrick@free.fr>
6754
6755 * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
6756
68bc509a
EB
67572011-04-08 Eric Botcazou <ebotcazou@adacore.com>
6758
6759 * combine.c (combine_validate_cost): Adjust comments. Set registered
6760 cost of I0 to zero at the end, if any.
6761
041e059f
XDL
67622011-04-08 Xinliang David Li <davidxl@google.com>
6763
68bc509a
EB
6764 * ipa-cp.c (ipcp_update_profiling): Correct negative scale factor due
6765 to insane profile data.
041e059f 6766
444b3995
XDL
67672011-04-08 Xinliang David Li <davidxl@google.com>
6768
6769 * ipa-cp.c (ipcp_update_profiling): Correct
6770 negative scale factor due to insane profile data.
6771
6a801cf2
XDL
67722011-04-08 Xinliang David Li <davidxl@google.com>
6773
6774 * final.c (dump_basic_block_info): New function.
6775 (final): Dump basic block.
6776 (final_scan_insn): Remove old dump.
6777
d5f3624e
SK
67782011-04-08 Steven G. Kargl <kargl@gcc.gnu.org>
6779
68bc509a
EB
6780 PR target/47829
6781 * config.gcc (i386-*-freebsd): Disable unwind table generation for
6782 crtbegin/crtend.
d5f3624e 6783
42821aff
MM
67842011-04-08 Michael Matz <matz@suse.de>
6785
6786 PR middle-end/48389
6787 * jump.c (rebuild_jump_labels_1, rebuild_jump_labels_chain): New
6788 functions.
6789 (rebuild_jump_labels): Call rebuild_jump_labels_1.
6790 * rtl.h (rebuild_jump_labels_chain): Declare.
6791 * cfgexpand.c (gimple_expand_cfg): Initialize JUMP_LABEL also on
6792 insns inserted on edges.
6793
ad7be009
JM
67942011-04-08 Joseph Myers <joseph@codesourcery.com>
6795
6796 * config.gcc (arm*-*-*): Add arm/arm-tables.opt to extra_options.
6797 * config/arm/arm-arches.def: New.
6798 * config/arm/arm-opts.h: New.
6799 * config/arm/genopt.sh: New.
6800 * config/arm/arm-tables.opt: New (generated).
6801 * config/arm/arm.c (arm_handle_option, arm_target_help,
6802 TARGET_HANDLE_OPTION, TARGET_HELP, arm_find_cpu): Remove.
6803 (all_architectures): Get most table contents from arm-arches.def.
6804 (arm_option_override): Set arm_selected_arch, arm_selected_cpu and
6805 arm_selected_tune here.
6806 * config/arm/arm.h (enum processor_type): Move to arm-opts.h.
6807 * config/arm/arm.opt (config/arm/arm-opts.h): New HeaderInclude.
6808 (march=, mcpu=, mtune=): Use Enum and Var.
6809 * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt): New.
6810 (arm.o): Update dependencies.
ecbb6fb7 6811
42821aff 68122011-04-08 Basile Starynkevitch <basile@starynkevitch.net>
ecbb6fb7
BS
6813
6814 * gengtype.c (write_typed_alloc_def): New argument f. Use it instead
6815 of header_file.
6816 (write_typed_struct_alloc_def, write_typed_typedef_alloc_def)
6817 (write_typed_alloc_defns): Likewise.
6818 (main): Calls write_typed_alloc_defns with output_header.
6819
8d189b3f
VM
68202011-04-08 Vladimir Makarov <vmakarov@redhat.com>
6821
68bc509a 6822 PR inline-asm/48435
8d189b3f
VM
6823 * ira-color.c (setup_profitable_hard_regs): Add comments.
6824 Don't take prohibited hard regs into account.
6825 (setup_conflict_profitable_regs): Rename to
6826 get_conflict_profitable_regs.
6827 (check_hard_reg_p): Check prohibited hard regs.
6828
44f370bf
NF
68292011-04-08 Nathan Froyd <froydnj@codesourcery.com>
6830
6831 * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Call use_reg.
6832 * config/xtensa/xtensa.c (xtensa_call_tls_desc): Likewise.
6833 * config/sparc/sparc.c (sparc_legitimize_tls_address): Likewise.
6834
483d7ad3
JDA
68352011-04-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6836
6837 PR target/48366
6838 * config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
b8a17fa2 6839 move from floating point to shift amount register.
483d7ad3
JDA
6840 (emit_move_sequence): Remove secondary reload support for floating
6841 point to shift amount amount register copies.
6842 (pa_secondary_reload): Return GENERAL_REGS for floating point/shift
6843 amount register copies.
6844 * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
6845 register, return false if mode isn't a scalar integer mode.
6846 * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
6847
97e03fa1
RG
68482011-04-08 Richard Guenther <rguenther@suse.de>
6849
6850 * gimple.c (gimple_call_flags): Remove kludge.
6851
9d40778b
AM
68522011-04-08 Alexander Monakov <amonakov@ispras.ru>
6853
6854 * sel-sched.c (sel_region_init): Move call to
6855 sel_setup_region_sched_flags after setup_current_loop_nest.
6856
19ac7892
AB
68572011-04-08 Andrey Belevantsev <abel@ispras.ru>
6858
6859 PR rtl-optimization/48272
19ac7892
AB
6860 * sched-deps.c (setup_insn_reg_pressure_info): Export and rename to
6861 init_insn_reg_pressure_info. Adjust a caller.
6862 * sched-int.h (init_insn_reg_pressure_info): Declare.
6863 * haifa-sched.c (haifa_init_insn): Call init_insn_reg_pressure_info
6864 when sched-pressure is enabled.
6865
0f8c63cc
RG
68662011-04-08 Richard Guenther <rguenther@suse.de>
6867
6868 * gimple.c (gimple_set_modified): Do not queue calls to
6869 MODIFIED_NORETURN_CALLS here ...
6870 * tree-ssa-operands.c (update_stmt_operands): ... but here.
6871
5e5a425e
RG
68722011-04-08 Richard Guenther <rguenther@suse.de>
6873
6874 PR lto/48467
6875 * toplev.c (lang_dependent_init): Do not open asm_out_file
6876 in WPA mode, nor perform debug machinery initialization.
6877 (finalize): Do not unlink asm_out_file in WPA mode.
6878
9bfc434b
RG
68792011-04-08 Richard Guenther <rguenther@suse.de>
6880
6881 * gimple.h (gimple_call_fntype): New function.
6882 (gimple_call_return_type): Use it.
6883 * expr.c (expand_expr_real_1): Use gimple_call_fntype.
6884 * gimple-low.c (gimple_check_call_args): Likewise.
6885 * gimple.c (gimple_call_flags): Likewise.
6886 (gimple_call_arg_flags): Likewise.
6887 (gimple_call_return_flags): Likewise.
6888 * tree-cfg.c (verify_gimple_call): Likewise.
6889 (do_warn_unused_result): Likewise.
6890 * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
6891 * value-prof.c (gimple_ic_transform): Fix fndecl check.
6892
7c1f0b40
DM
68932011-04-08 Dmitry Melnik <dm@ispras.ru>
6894
6895 PR rtl-optimization/48235
6896 * sel-sched.c (code_motion_process_successors): Recompute the last
6897 insn in basic block if control flow changed.
6898 (code_motion_path_driver): Ditto. Recompute the first insn as well.
6899 Update condition for ilist_remove.
6900
ea4d630f
AM
69012011-04-08 Alexander Monakov <amonakov@ispras.ru>
6902
6903 PR rtl-optimization/48302
6904 * sel-sched-ir.h (sel_add_loop_preheaders): Update prototype.
6905 * sel-sched-ir.c (sel_add_loop_preheaders): Add 'bbs' argument. Use
6906 it to record added preheader blocks.
6907 * sel-sched.c (setup_current_loop_nest): Add 'bbs' argument. Pass it
6908 on to sel_add_loop_preheaders.
6909 (sel_region_init): Move call to setup_current_loop_nest after
6910 sel_init_bbs.
6911
07643d76
AM
69122011-04-08 Alexander Monakov <amonakov@ispras.ru>
6913
6914 PR target/48273
6915 * cfgloop.h (loop_has_exit_edges): New helper.
6916 * sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
6917 non-clonable.
6918 * sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
6919 that have no exit edges.
6920
1f3b2b4e
AM
69212011-04-08 Alexander Monakov <amonakov@ispras.ru>
6922
6923 PR rtl-optimization/48442
6924 * sel-sched.c (init_seqno): Remove number_of_insns argument. Update
6925 all callers. Adjust assert.
6926
554f1948
JJ
69272011-04-08 Jakub Jelinek <jakub@redhat.com>
6928
6929 PR tree-optimization/48377
6930 * tree-vect-data-refs.c (vector_alignment_reachable_p): Set
6931 is_packed to true even for types with smaller TYPE_ALIGN than
6932 TYPE_SIZE.
6933
ddf72388
RG
69342011-04-08 Richard Guenther <rguenther@suse.de>
6935
6936 PR bootstrap/48513
6937 * doc/tm.texi: Re-generate.
6938
0c27e2d8
WG
69392011-04-08 Wei Guozhi <carrot@google.com>
6940
6941 PR target/47855
6942 * config/arm/arm-protos.h (arm_attr_length_push_multi): New prototype.
6943 * config/arm/arm.c (arm_attr_length_push_multi): New function.
6944 * config/arm/arm.md (*push_multi): Change the length computation to
6945 call a C function.
6946
07c5f94e
AS
69472011-04-08 Anatoly Sokolov <aesok@post.ru>
6948
6949 * doc/tm.texi.in (ASM_OUTPUT_BSS): Remove documentation.
6950 (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Update documentation.
6951 * doc/tm.texi: Regenerate.
6952 * system.h (ASM_OUTPUT_BSS): Poison.
6953 * varasm.c (asm_output_bss): Remove function.
6954 (emit_bss, init_varasm_once): Don't use ASM_OUTPUT_BSS macro.
798dd0ba 6955
07c5f94e
AS
6956 * config/frv/frv.h (BSS_SECTION_ASM_OP): Remove comment.
6957 * config/frv/fr30.h (BSS_SECTION_ASM_OP): Likewise.
6958 * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Likewise.
6959 * config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
6960 Likewise.
6961 * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
6962 Likewise.
6963 * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
6964 Likewise.
6965 * config/m68k/netbsd-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
6966
5f2c36e1
JM
69672011-04-07 Joseph Myers <joseph@codesourcery.com>
6968
6969 * config/rx/rx.opt (rx610, rx200, rx600): Use Enum not Name on
6970 EnumValue lines.
6971
39e7722b
JM
69722011-04-07 Joseph Myers <joseph@codesourcery.com>
6973
6974 * config/m68k/m68k.c (m68k_handle_option): Don't handle
6975 OPT_m68000, OPT_mc68000, OPT_m68010, OPT_m68020, OPT_mc68020,
6976 OPT_m68030, OPT_m68040, OPT_m68060, OPT_m68302, OPT_m68332 and
6977 OPT_mcpu32.
6978 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
6979 handle -mc68000, -m68000, -m68302, -m68010, -mc68020, -m68020,
6980 -m68030, -m68040, -m68060, -mcpu32 and -m68332.
6981 * config/m68k/m68k.opt (m68000, m68010, m68020, m68030, m68040,
6982 m68060, m68302, m68332, mc68000, mc68020, mcpu32): Use Alias.
6983 * config/m68k/t-mlibs (CANONICALIZE_OPTIONS): Remove.
6984 (MULTILIB_OPTIONS): Don't use $(CANONICALIZE_OPTIONS).
6985 (MULTILIB_MATCHES): Map -march= options to corresponding -mcpu=
6986 options. Don't map other m68k options manually. Don't handle
6987 old-style options as canonical.
6988 (MULTILIB_EXCEPTIONS): Don't use $(CANONICALIZE_OPTIONS).
798dd0ba 6989 * doc/install.texi (m68k-*-*): Document binutils version requirement.
39e7722b 6990
cf103ca4
EB
69912011-04-07 Eric Botcazou <ebotcazou@adacore.com>
6992
6993 * basic-block.h (force_nonfallthru): Move to...
6994 * cfghooks.h (struct cfg_hooks): Add force_nonfallthru hook.
6995 (force_nonfallthru): ...here.
6996 * cfghooks.c (force_nonfallthru): New function.
6997 * cfgrtl.c (force_nonfallthru): Rename into...
6998 (rtl_force_nonfallthru): ...this.
6999 (commit_one_edge_insertion): Do not set AUX field.
7000 (commit_edge_insertions): Do not discover new basic blocks.
7001 (rtl_cfg_hooks): Add rtl_force_nonfallthru.
7002 (cfg_layout_rtl_cfg_hooks): Likewise.
7003 * function.c (thread_prologue_and_epilogue_insns): Remove bogus
7004 ATTRIBUTE_UNUSED. Discover new basic blocks in the prologue insns.
7005 * tree-cfg.c (gimple_cfg_hooks): Add NULL for force_nonfallthru.
7006
14431f58
AS
70072011-04-07 Anatoly Sokolov <aesok@post.ru>
7008
7009 * config/mips/mips.h (REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
7010 Remove macros.
7011
3729983c
UB
70122011-04-07 Uros Bizjak <ubizjak@gmail.com>
7013
7014 * config/i386/sse.md: Update copyright year.
7015 (avxcvtvecmode): Remove.
7016 (sse_movhlps): Merge with *avx_movhlps.
7017 (sse_movlhps): Merge with *avx_movlhps.
7018 (vec_interleave_highv4sf): Merge with *avx_interleave_highv4sf.
7019 (vec_interleave_lowv4sf): Merge with *avx_interleave_lowv4sf.
7020 (sse_shufps_<mode>): Merge with *avx_shufps_<mode>.
7021 (sse_loadhps): Merge with *avx_loadhps.
7022 (sse_storelps): Merge with *avx_storelps.
7023 (sse_loadlps): Merge with *avx_loadlps.
7024 (sse_movss): Merge with *avx_movss.
7025 (*vec_concatv2sf_sse4_1): Merge with *vec_concatv2sf_avx.
7026 (*vec_concatv4sf_sse): Merge with *vec_concatv4sf_avx.
7027 (*vec_set<mode>_0_sse4_1): Merge with *vec_set<mode>_0_avx.
7028 (*vec_set<mode>_0_sse2): Split multi-unit alternative.
7029 (vec_set<mode>_0): Ditto.
7030 (*vec_setv4sf_sse4_1): Merge with *vec_setv4sf_avx.
7031 (sse4_1_insertps): Merge with *avx_insertps.
7032 (*sse3_interleave_highv2df): Merge with *avx_interleave_highv2df.
7033 (*sse3_interleave_lowv2df): Merge with *avx_interleave_lowv2df.
7034 (vec_interleave_highv2di): Merge with *avx_interleave_highv2di.
7035 (sse2_shufpd_<mode>): Merge with *avx_shufpd_<mode>.
7036 (sse2_storehpd): Merge with *avx_storehpd.
7037 (sse2_loadhpd): Merge with *avx_loadhpd.
7038 (sse2_loadlpd): Merge with *avx_loadlpd.
7039 (sse2_movsd): Merge with *avx_movsd.
7040 (*vec_concatv2df): Merge with *vec_concatv2df.
7041
4e626909
JJ
70422011-04-07 Jakub Jelinek <jakub@redhat.com>
7043
7044 PR debug/48343
7045 * combine.c (combine_instructions): Add last_combined_insn,
3729983c 7046 update it if insn is after it, pass it to all try_combine calls.
4e626909
JJ
7047 (try_combine): Add last_combined_insn parameter, pass it instead of
7048 i3 to propagate_for_debug.
7049
3729983c 70502011-04-07 Nick Clifton <nickc@redhat.com>
5a10b0a9
NC
7051
7052 * config/mn10300/mn10300.md (movqi_internal): Add alternatives
7053 to handle MDR <-> data register transfers.
7054 (movhi_internal): Likewise.
7055
20c03367
AM
70562011-04-07 Alan Modra <amodra@gmail.com>
7057
7058 * config/rs6000/rs6000.c (rs6000_stack_info): Don't compare against
7059 previous stack info.
7060
bf22920b
TV
70612011-04-07 Tom de Vries <tom@codesourcery.com>
7062
7063 PR target/43920
7064 * cfgcleanup.c (try_crossjump_to_edge): Add dir parameter. Pass dir to
7065 flow_find_cross_jump. Swap variables to implement backward replacement.
7066 (try_crossjump_bb): Add argument to try_crossjump_to_edge.
7067
823918ae
TV
70682011-04-07 Tom de Vries <tom@codesourcery.com>
7069
7070 PR target/43920
7071 * cfgcleanup.c (walk_to_nondebug_insn): New function.
3729983c
UB
7072 (flow_find_cross_jump): Use walk_to_nondebug_insn. Recalculate bb1
7073 and bb2.
7074 (try_crossjump_to_edge): Handle case that newpos1 or newpos2 is not
7075 src1 or src2. Redirect edges to the last basic block. Update
7076 frequency and count on multiple basic blocks in case of fallthru.
823918ae 7077
472c95f5
TV
70782011-04-07 Tom de Vries <tom@codesourcery.com>
7079
7080 PR target/43920
7081 * cfgcleanup.c (equal_different_set_p, can_replace_by, merge_dir): New
7082 function.
3729983c
UB
7083 (old_insns_match_p): Change return type. Replace return false/true
7084 with return dir_none/dir_both. Use can_replace_by.
7085 (flow_find_cross_jump): Add dir_p parameter. Init replacement
7086 direction from dir_p. Register replacement direction in dir, last_dir
7087 and afterlast_dir. Handle new return type of old_insns_match_p using
472c95f5
TV
7088 merge_dir. Return replacement direction in dir_p.
7089 (flow_find_head_matching_sequence, outgoing_edges_match): Handle new
7090 return type of old_insns_match_p.
7091 (try_crossjump_to_edge): Add argument to call to flow_find_cross_jump.
7092 * ifcvt.c ( cond_exec_process_if_block): Add argument to call to
7093 flow_find_cross_jump.
7094 * basic-block.h (enum replace_direction): New type.
7095 (flow_find_cross_jump): Add parameter to declaration.
7096
a95d4000
UB
70972011-04-06 Uros Bizjak <ubizjak@gmail.com>
7098
7099 * config/i386/sse.md (AVXMODEDCVTDQ2PS): Remove.
7100 (AVXMODEDCVTPS2DQ): Ditto.
7101 (VEC_FLOAT_MODE): Ditto.
7102 (<sse>_andnot<mode>3): Merge with avx_andnot<mode>3. Use VF mode
7103 iterator. Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
7104 (<any_logic:code><mode>3): Use VF mode iterator.
7105 (*<any_logic:code><mode>3): Merge with *avx_<any_logic:code><mode>3.
7106 Use VF mode iterator.
7107 (copysign<mode>3): Use VF mode iterator.
7108 (*andnot<MODEF:mode>3): Merge with *avx_andnot<MODEF:mode>3. Handle
7109 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
7110 (*<any_logic:code><MODEF:mode>3): Merge with
7111 *avx_<any_logic:code><MODEF:mode>3.
7112 (sse_cvtsi2ss): Merge with *avx_cvtsi2ss.
7113 (sse_cvtsi2ssq): Merge with *avx_cvtsi2ssq.
7114 (avx_cvtdq2ps256): Split from avx_cvtdq2ps<avxmodesuffix>.
7115 (avx_cvtdq2ps<avxmodesuffix>): Remove.
7116 (sse2_cvtdq2ps): Use %v modifier.
7117 (avx_cvtps2dq256): Split from avx_cvtps2dq<avxmodesuffix>.
7118 (avx_cvtps2dq<avxmodesuffix>): Remove.
7119 (sse2_cvtps2dq): Use %v modifier.
7120 (avx_cvttps2dq256): Split from avx_cvttps2dq<avxmodesuffix>.
7121 (avx_cvttps2dq<avxmodesuffix>): Remove.
7122 (sse2_cvttps2dq): Use %v modifier.
7123 (sse2_cvtsi2sd): Merge with *avx_cvtsi2sd.
7124 (sse2_cvtsi2sdq): Merge with *avx_cvtsi2sdq.
7125 (sse2_cvtsd2siq): Fix insn template.
7126 (sse2_cvtsd2siq_2): Ditto.
7127 (sse2_cvttsd2siq): Ditto.
7128 (sse2_cvtsd2ss): Merge with *avx_cvtsd2ss.
7129 (sse2_cvtss2sd): Merge with *avx_cvtss2sd.
7130
ad01c437
JM
71312011-04-06 Joseph Myers <joseph@codesourcery.com>
7132
7133 * gcov-io.c: Use GCC Runtime Library Exception.
7134
fe846284
JJ
71352011-04-06 Jakub Jelinek <jakub@redhat.com>
7136
7137 PR debug/48466
7138 * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
7139 as base_reg whatever register reg has been eliminated to, instead
7140 of hardcoding STACK_POINTER_REGNUM.
7141
acce4e77
JM
71422011-04-06 Joseph Myers <joseph@codesourcery.com>
7143
7144 * doc/tm.texi.in: Document C target hooks as separate from general
7145 target hooks.
7146 * doc/tm.texi: Regenerate.
7147 * genhooks.c (struct hook_desc): Add docname field.
7148 (HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC). Initialize
7149 docname field.
7150 (hook_array): Include c-target.def.
7151 (emit_documentation): Use docname field in output.
7152 (emit_init_macros): Take docname argument. Only emit definitions
7153 for hooks matching docname.
7154 (main): Expect additional arguments in all cases. Pass argument
7155 to emit_init_macros.
7156 * target.def: Move initial macro definitions and comments to
7157 target-hooks-macros.h.
7158 (gcc_targetcm): Move to c-family/c-target.def.
7159 * target.h (targetcm): Move declaration to c-family/c-target.h.
7160 * targhooks.c (default_handle_c_option): Move to
7161 c-family/c-opts.c.
7162 * targhooks.h (default_handle_c_option): Move declaration to
7163 c-family/c-common.h.
7164 * target-hooks-macros.h: New file.
7165 * config.gcc (target_has_targetcm): Define and use to add to
7166 c_target_objs and cxx_target_objs.
7167 * config/default-c.c: New file.
7168 * config/darwin-c.c: Include c-target.h and c-target-def.h instead
7169 of target.h and target-def.h.
7170 (TARGET_HANDLE_C_OPTION, targetcm): Define later in file.
7171 (darwin_objc_construct_string, darwin_cfstring_ref_p,
7172 darwin_check_cfstring_format_arg): Make static.
7173 (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
7174 TARGET_STRING_OBJECT_REF_TYPE_P,
7175 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here.
7176 * config/darwin-protos.h (darwin_objc_construct_string,
7177 darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't
7178 declare.
7179 * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
7180 TARGET_STRING_OBJECT_REF_TYPE_P,
a95d4000 7181 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM): Remove.
acce4e77
JM
7182 * config/t-darwin (darwin-c.o): Update dependencies.
7183 * system.h (TARGET_HAS_TARGETCM): Poison.
7184 * Makefile.in (TARGET_H): Update.
7185 (TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define.
7186 (c-family/c-format.o, c-family/c-opts.o): Update dependencies.
7187 (default-c.o): New target.
7188 (s-target-hooks-def-h): Pass "Target Hook" string to genhooks.
a95d4000 7189 (c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New targets.
acce4e77
JM
7190 (s-tm-texi): Pass -d option to genhooks. Also test timestamp on
7191 c-target.def.
7192 (build/genhooks.o): Update dependencies.
7193
275b4baa 71942011-04-06 Richard Guenther <rguenther@suse.de>
a95d4000 7195
275b4baa
RG
7196 * ipa-inline.c (enum inlining_mode): Remove.
7197 (cgraph_flatten): Use some other token.
7198 (cgraph_edge_early_inlinable_p): New function, split out from ...
7199 (cgraph_perform_always_inlining): New function, split out from ...
7200 (cgraph_decide_inlining_incrementally): ... here.
7201 (cgraph_mark_inline_edge): Adjust.
7202 (cgraph_early_inlining): Re-structure.
7203 (pass_early_inline): Require SSA form.
7204
f15b8bdf 72052011-04-06 Andrew Stubbs <ams@codesourcery.com>
9adc580c
AS
7206 Julian Brown <julian@codesourcery.com>
7207 Mark Shinwell <shinwell@codesourcery.com>
7208
7209 * config/arm/arm.h (arm_class_likely_spilled_p): Check against
7210 LO_REGS only for Thumb-1.
7211 (MODE_BASE_REG_CLASS): Restrict base registers to those which can
7212 be used in short instructions when optimising for size on Thumb-2.
7213
516426da
EB
72142011-04-06 Eric Botcazou <ebotcazou@adacore.com>
7215
7216 * gimple-low.c (lower_gimple_return): When not optimizing, force labels
7217 associated with user returns to be preserved.
7218
96621ebf
TG
72192011-04-06 Tristan Gingold <gingold@adacore.com>
7220
f15b8bdf
EB
7221 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index,
7222 symbol_queue_size, DBXOUT_DECR_NESTING,
96621ebf
TG
7223 (DBXOUT_DECR_NESTING_AND_RETURN): Also define
7224 if XCOFF_DEBUGGING_INFO.
7225
07c0852e
UB
72262011-04-06 Uros Bizjak <ubizjak@gmail.com>
7227
7228 * config/i386/i386.md (attribute isa): New.
7229 (attribute enabled): New.
7230 (setcc_<mode>_sse): Merge from *{avx,sse}_setcc<mode>.
7231 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_mixed_avx.
7232 (*fop_<mode>_comm_sse): Merge with *fop_<mode>_comm_avx.
7233 (*fop_<mode>_1_mixed): Merge with *fop_<mode>_1_mixed_avx.
7234 (*fop_<mode>_1_sse): Merge with *fop_<mode>_1_avx.
7235 (<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
7236 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3.
7237 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3.
7238
7239 * config/i386/sse.md (VF): New mode iterator.
7240 (VF1): Ditto.
7241 (VF2): Ditto.
7242 (VF_128): Ditto.
7243 (SSEMODEF4): Remove.
7244 (attribute sse): Handle V8SF and V4DF modes.
7245 (<absneg:code><mode>2): Use VF mode iterator.
7246 (*absneg<mode>2): Merge from *{avx,sse}_absneg<mode>2. Use VF
7247 mode iterator.
7248 (<plusminus_insn><mode>3): Use VF mode iterator.
7249 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
7250 Use VF mode iterator.
7251 (<sse>_vm<plusminus_insn><mode>3): Merge with
7252 *avx_vm<plusminus_insn><mode>3. Use VF_128 mode iterator.
7253 (mul<mode>3): Use VF mode iterator.
7254 (*mul<mode>3): Merge with *avx_mul<mode>3. Use VF mode iterator.
7255 (<sse>_vmmul<mode>3): Merge with *avx_vmmul<mode>3. Use VF_128
7256 mode iterator.
7257 (div<VF2:mode>3): Merge from divv2df3 and divv4df3.
7258 (div<VF1:mode>3): Merge from divv4sf3 and divv8sf3.
7259 (<sse>_div<mode>3): Merge with *avx_div<mode>3. Use VF mode iterator.
7260 (<sse>_vmdiv<mode>3): Merge with *avx_vmdiv<mode>3. Use VF_128
7261 mode iterator.
7262 (<sse>_rcp<mode>2): Merge from avx_rcpv8sf2 and sse_rcpv4sf2.
7263 Use VF1 mode iterator.
7264 (sse_vmrcpv4sf2): Merge with *avx_vmrcpv4sf2.
7265 (sqrt<VF2:mode>2): New expander.
7266 (sqrt<VF1:mode>2): Merge from sqrtv4sf2 and sqrtv8sf2.
7267 (<sse>_sqrt<mode>2): Merge from avx_sqrtv8sf2, sse_sqrtv4sf, sqrtv4df2
7268 and sqrtv2df2. Use VF mode iterator.
7269 (<sse>_vmsqrt<mode>2): Merge with *avx_vmsqrt<mode>2. Use VF_128
7270 mode iterator.
7271 (rsqrt<VF1:mode>2): Merge from rsqrtv4sf2 and rsqrtv8sf2.
7272 (<sse>_rsqrt<mode>2): Merge from avx_rsqrtv8sf2 and sse_rsqrt4sf2.
7273 Use VF1 mode iterator.
7274 (sse_vmrsqrtv4sf2): Merge with *avx_vmrsqrtv4sf2.
7275 (<smaxmin:code><mode>3): Use VF mode iterator.
7276 (*<smaxmin:code><mode>3_finite): Merge with
7277 *avx_<smaxmin:code><mode>3_finite. Use VF mode iterator.
7278 (*<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
7279 (<sse>_vm<smaxmin:code><mode>2): Merge with
7280 *avx_vm<smaxmin:code><mode>2. Use VF_128 mode iterator.
7281 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3. Use VF
7282 mode iterator.
7283 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3. Use VF
7284 mode iterator.
7285 (sse3_addsubv2df3): Merge with *avx_addsubv2df3.
7286 (sse3_addsubv4sf3): Merge with *avx_addsubv4sf3.
7287 (sse3_h<plusminus_insn>v2df3): Merge with *avx_h<plusminus_insn>v2df3.
7288 (sse3_h<plusminus_insn>v4sf3): Merge with *avx_h<plusminus_insn>v4sf3.
7289 (avx_cmp<mode>3): Rename from avx_cmp<ssemodesuffix><mode>3. Use
7290 VF mode iterator.
7291 (avx_vmcmp<mode>3): Rename from avx_cmp<ssescalarmodesuffix><mode>3.
7292 Use VF_128 mode iterator.
7293 (<sse>_maskcmp<mode>3): Merge with *avx_maskcmp<mode>3. Use VF
7294 mode iterator.
7295 (<sse>_vmmaskcmp<mode>3): Merge with *avx_vmmaskcmp<mode>3. Use
7296 VF_128 mode iterator.
7297 (vcond<mode>): Use VF mode iterator.
7298 * config/i386/predicates.md (sse_comparison_operator): Merge with
7299 avx_comparison_float_operator. Do not declare as special_predicate.
7300 * config/i386/i386.c (struct builtin_description): Update for renamed
7301 compare patterns.
7302 (ix86_expand_args_builtin): Ditto.
7303 (ix86_expand_sse_compare_mask): Ditto.
7304
ff5d142c
RG
73052011-04-06 Richard Guenther <rguenther@suse.de>
7306
7307 * tree-inline.c (estimate_num_insns): For calls simply account
7308 for all passed arguments and a used return value.
7309
d7d1d041 73102011-04-06 Richard Guenther <rguenther@suse.de>
07c0852e 7311
d7d1d041
RG
7312 PR tree-optimization/47663
7313 * cgraph.h (struct cgraph_edge): Add call_stmt_size and
7314 call_stmt_time fields.
7315 (cgraph_edge_inlinable_p): Declare.
7316 (cgraph_edge_recursive_p): New inline function.
7317 * cgraph.c (cgraph_create_edge_1): Initialize call_stmt_size.
7318 (cgraph_clone_edge): Copy it.
7319 * ipa-inline.c (cgraph_estimate_edge_time): New function.
7320 Account for call stmt time.
7321 (cgraph_estimate_time_after_inlining): Take edge argument.
7322 (cgraph_estimate_edge_growth): Account call stmt size.
7323 (cgraph_estimate_size_after_inlining): Take edge argument.
7324 (cgraph_mark_inline_edge): Adjust.
7325 (cgraph_check_inline_limits): Likewise.
7326 (cgraph_recursive_inlining_p): Remove.
7327 (cgraph_edge_badness): Use cgraph_edge_recursive_p.
7328 (cgraph_decide_recursive_inlining): Take edge argument and
7329 adjust.
7330 (cgraph_decide_inlining_of_small_functions): Do not avoid
7331 diags for recursive inlining here.
7332 (cgraph_flatten): Adjust.
7333 (cgraph_decide_inlining_incrementally): Likewise.
7334 (estimate_function_body_sizes): Remove call cost handling.
7335 (compute_inline_parameters): Initialize caller edge call costs.
7336 (cgraph_estimate_edge_growth): New function.
7337 (cgraph_estimate_growth): Use it.
7338 (cgraph_edge_badness): Likewise.
7339 (cgraph_check_inline_limits): Take an edge argument.
7340 (cgraph_decide_inlining_of_small_functions): Adjust.
7341 (cgraph_decide_inlining): Likewise.
7342 * tree-inline.c (estimate_num_insns): Only account for call
7343 return value if it is used.
7344 (expand_call_inline): Avoid diagnostics on recursive inline
7345 functions here.
7346 * lto-cgraph.c (lto_output_edge): Output edge call costs.
7347 (input_edge): Input edge call costs.
7348
2feb95f7
RO
73492011-04-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7350
7351 * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
7352
26fbd9c2
JW
73532011-04-06 Jonathan Wakely <jwakely.gcc@gmail.com>
7354
7355 * doc/invoke.texi (Spec Files): Fix typo.
7356
694dc0ca
EB
73572011-04-06 Eric Botcazou <ebotcazou@adacore.com>
7358
7359 * profile.c (branch_prob): Move declaration of local variable. Remove
7360 obsolete ??? comment. Expand the location explicitly instead of using
7361 the LOCATION_FILE and LOCATION_LINE macros.
7362
4925d0d5
WG
73632011-04-06 Wei Guozhi <carrot@google.com>
7364
7365 PR target/47855
7366 * config/arm/arm.md (arm_cmpsi_insn): Compute attr "length".
7367 (arm_cond_branch): Likewise.
7368 (arm_cond_branch_reversed): Likewise.
7369 (arm_jump): Likewise.
7370 (push_multi): Likewise.
7371 * config/arm/constraints.md (Py): New constraint.
7372
f55dfa2f
NF
73732011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7374
7375 PR bootstrap/48471
7376 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index):
7377 Move these...
7378 (symbol_queue_size, DBXOUT_DECR_NESTING): ...and these...
7379 (DBXOUT_DECR_NESTING_AND_RETURN): ...and this under
7380 #ifdef DBX_DEBUGGING_INFO.
7381
fca96842
BS
73822011-04-05 Bernd Schmidt <bernds@codesourcery.com>
7383
7384 PR bootstrap/48403
7385 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
7386 if old and new states differ.
7387
30b83e38
JM
73882011-04-05 Joseph Myers <joseph@codesourcery.com>
7389
7390 * config/m68k/m68k.c (m68k_handle_option): Don't handle OPT_m5200,
7391 OPT_m5206e, OPT_m528x, OPT_m5307, OPT_m5407 and OPT_mcfv4e.
7392 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
7393 handle -m5200, -m5206e, -m528x, -m5307, -m5407 and -mcfv4e.
7394 * config/m68k/m68k.opt (m5200, m5206e, m528x, m5307, m5407,
7395 mcfv4e): Use Alias.
7396 * config/m68k/t-mlibs (MULTILIB_MATCHES): Don't map legacy
7397 ColdFire options to -mcpu= options.
7398
277a9aa5
JL
73992011-04-05 Jeff Law <law@redhat.com>
7400
7401 * tree-ssa-threadupdate.c (determine_bb_domination_status): Always
7402 check if BB is a successor of LOOP->header and return
7403 NONDOMINATING if it is not, regardless of ENABLE_CHECKING.
7404
c1e2610e
SB
74052011-04-05 Steven Bosscher <steven@gcc.gnu.org>
7406
7407 * cprop.c (struct reg_use): Remove.
7408 (reg_use_table): Make an array of RTX.
7409 (find_used_regs, constprop_register, local_cprop_pass,
7410 bypass_block): Simplify users of reg_use_table.
7411 (cprop_insn): Likewise. Iterate if copy propagation succeeded
7412 on one of the uses found by find_used_regs.
7413
e532f586
NF
74142011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7415
7416 PR bootstrap/48469
7417 * combine.c (combine_instructions): #ifdef AUTO_INC_DEC links
7418 declaration.
7419
3fb7c055
NF
74202011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7421
7422 * combine.c (combine_instructions) [AUTO_INC_DEC]: Declare links
7423 as an rtx.
7424 (try_combine) [AUTO_INC_DEC]: Declare a local link rtx.
7425
b71b43d9
SB
74262011-04-05 Steven Bosscher <steven@gcc.gnu.org>
7427
7428 PR middle-end/48441
7429 * cprop.c (one_cprop_pass): Do not mark_oprs_set of deleted insns.
7430
b405b274
NF
74312011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7432
7433 * combine.c: Include obstack.h.
7434 (struct insn_link): Define.
7435 (uid_log_links): Adjust type.
7436 (FOR_EACH_LOG_LINK): New macro.
7437 (insn_link_obstack): Declare.
7438 (alloc_insn_link): Define.
7439 (create_log_links): Call it. Use FOR_EACH_LOG_LINK and adjust
7440 type of link variables.
7441 (find_single_use, insn_a_feeds_b, combine_instructions): Likewise.
7442 (try_combine, record_promoted_values, distribute_notes): Likewise.
7443 (distribute_links): Likewise. Tweak prototype.
7444 (clear_log_links): Delete.
7445 (adjust_for_new_dest): Call alloc_insn_link.
7446 * Makefile.in (combine.o): Depend on $(OBSTACK_H).
7447
6409abe3
NF
74482011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7449
7450 * gcse.c (modify_mem_list): Convert to an array of VECs.
7451 (canon_modify_mem_list, compute_transp): Tweak formatting.
7452 (alloc_gcse_mem): Likewise. Adjust for modify_mem_list change.
7453 (load_killed_in_block_p): Likewise.
7454 (record_last_mem_set_info): Likewise.
7455 (clear_modify_mem_tables): Likewise.
7456
170d8157
TV
74572011-04-05 Tom de Vries <tom@codesourcery.com>
7458
7459 PR middle-end/48461
7460 * function.c (emit_use_return_register_into_block): Only define if
7461 HAVE_return.
7462
c5911a55
EB
74632011-04-05 Eric Botcazou <ebotcazou@adacore.com>
7464
7465 * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
7466
abd016e6
JM
74672011-04-05 Joseph Myers <joseph@codesourcery.com>
7468
7469 * config/rx/rx-opts.h: New.
7470 * config/rx/rx.c (rx_cpu_type): Remove.
7471 (rx_handle_option): Don't assert that global structures are in
7472 use. Access variables via opts pointer. Defer most handling of
7473 OPT_mint_register_. Use error_at.
7474 (rx_option_override): Handle deferred OPT_mint_register_ here.
7475 * config/rx/rx.h (enum rx_cpu_types): Move to rx-opts.h.
7476 * config/rx/rx.opt (config/rx/rx-opts.h: New HeaderInclude.
7477 (mcpu=): Use Enum and specifiy rx_cpu_type with Var.
7478 (rx_cpu_types): New Enum and EnumValue entries.
7479 (mint-register=): Use Defer and use Var accordingly.
7480
1ed13f83
NF
74812011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7482
7483 * debug.h (debug_flush_symbol_queue, debug_queue_symbol): Delete.
7484 (debug_free_queue, debug_nesting, symbol_queue_index): Delete.
7485 * final.c (debug_flush_symbol_queue, debug_queue_symbol):
7486 Move these...
7487 (debug_free_queue, debug_nesting, symbol_queue_index):
7488 ...and these...
7489 * dbxout.c: ...to here. Make static.
7490
6ce1edcf
NF
74912011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7492
7493 * gcse.c (modify_pair): Define. Define a VEC of it.
7494 (canon_modify_mem_list): Convert to an array of VECs.
7495 (free_insn_expr_list_list): Delete.
7496 (clear_modify_mem_tables): Call VEC_free instead.
7497 (record_last_mem_set_info): Don't modify canon_modify_mem_list.
7498 (alloc_gcse_mem): Adjust for canon_modify_mem_list change.
7499 (canon_list_insert, compute_transp): Likewise.
7500
c201ac94
TV
75012011-04-05 Tom de Vries <tom@codesourcery.com>
7502
7503 PR target/43920
7504 * config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing
7505 for size.
7506
4c029f40
TV
75072011-04-05 Tom de Vries <tom@codesourcery.com>
7508
7509 PR target/43920
7510 * function.c (emit_use_return_register_into_block): New function.
7511 (thread_prologue_and_epilogue_insns): Use
7512 emit_use_return_register_into_block.
7513
2a562b0a
TV
75142011-04-05 Tom de Vries <tom@codesourcery.com>
7515
7516 PR target/43920
7517 * cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as
7518 insn.
7519
0248bceb
TV
75202011-04-05 Tom de Vries <tom@codesourcery.com>
7521
7522 * cfgcleanup.c (try_crossjump_bb): Remove 2 superfluous variables.
7523
ffa94123
YZ
75242011-04-05 Yufeng Zhang <yufeng.zhang@arm.com>
7525
798dd0ba
UB
7526 * config/arm/arm.md (define_constants for unspec): Replace with
7527 define_c_enum.
7528 (define_constants for unspecv): Replace with define_c_enum.
7529 * config/arm/neon.md (define_constants for unspec): Replace with
7530 define_c_enum.
ffa94123 7531
3b8f9b46
RH
75322011-04-04 Richard Henderson <rth@redhat.com>
7533
720cf80f 7534 PR bootstrap/48400
3b8f9b46
RH
7535 * dwarf2out.c (output_line_info): Always emit line info from
7536 at least one section.
7537 (dwarf2out_init): Create text_section_line_info here ...
7538 (set_cur_line_info_table): ... not here.
7539
720cf80f 75402011-04-04 Vladimir Makarov <vmakarov@redhat.com>
e5b0e1ca
VM
7541
7542 PR target/48380
7543 * ira.c (ira): Call grow_reg_equivs when fix_reg_equiv_init is
720cf80f 7544 not called.
e5b0e1ca 7545
720cf80f 7546 * ira-emit.c (emit_move_list): Update reg_equiv_init insn list.
e5b0e1ca 7547
196565d4
SB
75482011-04-04 Steven Bosscher <steven@gcc.gnu.org>
7549
b77f9eab
SB
7550 * cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.
7551 (expr_equiv_p): Remove.
7552 (insert_set_in_table): Look at <dest, src> pair instead of expr.
7553 (hash_scan_set): Update call to insert_set_in_table.
7554 (dump_hash_table): Dump <dest, src> pair.
7555 (lookup_set): Simplify. Lookup <dest, src> pair.
7556 (compute_transp): Remove, fold heavily simplified code into...
7557 (compute_local_properties): ...here. Expect COMP and TRANSP
7558 unconditionally.
7559 (find_avail_set): Take set directly from struct expr.
7560 (find_bypass-set): Likewise.
7561 (bypass_block): Likewise.
7562 (cprop_insn): Likewise. Remove redundant INSN_P test.
7563
384d7a55
SB
7564 * cprop.c (implicit_set_cond_p): Assume nothing about COND, move
7565 checks on form of COND from find_implicit_sets to here.
7566 (find_implicit_sets): Cleanup control flow. Split critical edges
7567 if it exposes implicit sets. Allocate/resize implicit_sets as
7568 necessary.
7569 (one_cprop_pass): Only delete unreachable blocks if local_cprop_pass
7570 changed something. Run df_analyze after find_implicit_sets if any
7571 edges were split. Do not allocate implicit_sets here.
7572
3084ce69
SB
7573 * cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.
7574 (gcse_obstack): Renamed to cprop_obstack.
7575 (GNEW, GNEWVEC, GNEWVAR): Remove.
7576 (gmalloc): Remove.
7577 (alloc_hash_table): Use XNEWVAR instead of GNEWVAR.
7578 (GOBNEW, GOBNEWVAR): Adjust for gcse_obstack renaming.
7579 (gcse_alloc): Likewise, and rename to cprop_alloc.
7580 (alloc_gcse_men, free_gcse_mem): Remove.
7581 (gcse_constant_p): Rename to cprop_constant_p, and adjust all callers.
7582 (compute_hash_table_work): Allocate and free reg_set_bitmap here.
7583 (one_cprop_pass): Likewise. Adjust for gcse_obstack renaming.
7584
196565d4
SB
7585 * cprop.c (oprs_not_set_p): Remove.
7586 (mark_set, mark_clobber): Remove.
7587 (mark_oprs_set): Rewrite using DF_INSN_INFO_DEFS cache.
7588 (reg_not_set_p): New function.
7589 (find_avail_set): Use reg_not_set_p instead of oprs_not_set_p.
7590 (cprop_insn): Likewise.
7591 (cprop_jump): Use FOR_EACH_EDGE.
7592
9b69cf83
BS
75932011-04-04 Bernd Schmidt <bernds@codesourcery.com>
7594
7595 PR bootstrap/48403
7596 * haifa-sched.c (nonscheduled_insns_begin): New static variable.
7597 (rank_for_schedule): Use scheduled_insns vector instead of
7598 last_scheduled_insn.
7599 (ok_for_early_queue_removal): Likewise.
7600 (queue_to_ready): Search forward in nonscheduled_insns_begin if
7601 we have a dbg_cnt.
7602 (choose_ready): Likewise.
7603 (commit_schedule): Use VEC_iterate.
7604 (schedule_block): Initialize nonscheduled_insns_begin. If we have
7605 a dbg_cnt, use it and ensure the first insn is in the ready list.
7606 (haifa_sched_init): Allocate scheduled_insns.
7607 (sched_extend_ready_list): Don't allocate it; reserve space.
7608 (haifa_sched_finish): Free it.
7609
24f48c2f
JM
76102011-04-04 Joseph Myers <joseph@codesourcery.com>
7611
7612 * optc-gen.awk: Always remove type from Variable entry before
7613 recording in var_seen.
7614
8effe856
EB
76152011-04-04 Eric Botcazou <ebotcazou@adacore.com>
7616
7617 * cfghooks.c (tidy_fallthru_edges): Add ??? comment.
7618 * tree-inline.c (delete_unreachable_blocks_update_callgraph): Remove
7619 call to tidy_fallthru_edges.
7620
413519ae
JM
76212011-04-04 Joseph Myers <joseph@codesourcery.com>
7622
7623 * doc/options.texi (ToLower): Document.
3729983c 7624 * opt-functions.awk (switch_bit_fields): Initialize cl_tolower field.
413519ae
JM
7625 * opts-common.c (decode_cmdline_option): Handle cl_tolower.
7626 * opts.h (cl_option): Add cl_tolower field.
7627 * config/rx/rx.c (rx_handle_option): Use strcmp of -mcpu=
7628 arguments with lowercase strings.
7629 * config/rx/rx.opt (mcpu=): Add ToLower.
7630 * config/rx/t-rx (MULTILIB_MATCHES): Don't handle uppercase -mcpu=
7631 argument.
7632
7d34a1b0
RS
76332011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
7634
7635 * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Delete.
7636
c30e7434
RS
76372011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
7638
7639 * config/vax/vax.c: Include reload.h.
7640
112a861d
AS
76412011-04-04 Anatoly Sokolov <aesok@post.ru>
7642
7643 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Remove.
7644 * config/sparc/sparc.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
7645 (sparc_preferred_reload_class): New function.
7646
e8c6bb74
JJ
76472011-04-04 Jakub Jelinek <jakub@redhat.com>
7648
2aeaa366 7649 PR debug/48401
e8c6bb74
JJ
7650 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
7651 Use PAT_VAR_LOCATION_LOC instead of INSN_VAR_LOCATION_LOC.
7652
2c081caf
NF
76532011-04-03 Nathan Froyd <froydnj@codesourcery.com>
7654
7655 * tree.h (struct tree_const_decl): Inherit from tree_decl_common.
7656 * tree.c (initialize_tree_contains_struct): Adjust accordingly.
7657
53802f27
AS
76582011-04-03 Anatoly Sokolov <aesok@post.ru>
7659
7660 * config/avr/avr.h (ASM_OUTPUT_BSS): Remove.
7661 (ASM_OUTPUT_ALIGNED_BSS): Define.
7662
e89964e3
MM
76632011-04-03 Michael Matz <matz@suse.de>
7664
7665 * lto-streamer.h (struct lto_streamer_cache_d): Remove offsets
7666 and next_slot members.
7667 (lto_streamer_cache_insert, lto_streamer_cache_insert_at,
7668 lto_streamer_cache_lookup, lto_streamer_cache_get): Adjust prototypes.
7669 (lto_streamer_cache_append): Declare.
7670 * lto-streamer.c (lto_streamer_cache_add_to_node_array): Use
7671 unsigned index, remove offset parameter, ensure that we append
7672 or update existing entries.
7673 (lto_streamer_cache_insert_1): Use unsigned index, remove offset_p
7674 parameter, update next_slot for append.
7675 (lto_streamer_cache_insert): Use unsigned index, remove offset_p
7676 parameter.
7677 (lto_streamer_cache_insert_at): Likewise.
7678 (lto_streamer_cache_append): New function.
7679 (lto_streamer_cache_lookup): Use unsigned index.
7680 (lto_streamer_cache_get): Likewise.
7681 (lto_record_common_node): Don't test tree_node_can_be_shared.
7682 (preload_common_node): Adjust call to lto_streamer_cache_insert.
7683 (lto_streamer_cache_delete): Don't free offsets member.
7684 * lto-streamer-out.c (eq_string_slot_node): Use memcmp.
7685 (lto_output_string_with_length): Use lto_output_data_stream.
7686 (lto_output_tree_header): Remove ix parameter, don't write it.
7687 (lto_output_builtin_tree): Likewise.
7688 (lto_write_tree): Adjust callers to above, don't track and write
7689 offset, write unsigned index.
7690 (output_unreferenced_globals): Don't emit all global vars.
7691 (write_global_references): Use unsigned indices.
7692 (lto_output_decl_state_refs): Likewise.
7693 (write_symbol): Likewise.
7694 * lto-streamer-in.c (lto_input_chain): Move earlier.
7695 (input_function): Use unsigned index.
7696 (input_alias_pairs): Don't read and then ignore all global vars.
7697 (lto_materialize_tree): Remove ix_p parameter, don't read index,
7698 don't pass it back, use lto_streamer_cache_append.
7699 (lto_register_var_decl_in_symtab): Use unsigned index.
7700 (lto_register_function_decl_in_symtab): Likewise.
7701 (lto_get_pickled_tree): Don't read in or handle offset, read unsigned
7702 index.
7703 (lto_get_builtin_tree): Don't read index, use
7704 lto_streamer_cache_append.
7705 (lto_read_tree): Adjust call to lto_materialize_tree.
7706
7707 * ipa-inline.c (cgraph_edge_badness): Move growth calculaton,
7708 don't use function calls in arguments to MIN.
7709
7710 * varasm.c (decl_binds_to_current_def_p): Don't check TREE_PUBLIC
7711 twice.
7712
7713 * gimple.c (gimple_type_leader_entry): Mark deletable.
7714
b9a5b5b2
AM
77152011-04-03 Alan Modra <amodra@gmail.com>
7716
7717 * dwarf2out.c (mem_loc_descriptor): Recurse on LO_SUM.
7718
ac6a641b
MM
77192011-04-03 Michael Matz <matz@suse.de>
7720
7721 * tree.c (free_lang_data_in_decl): Zero DECL_VINDEX if it's not
7722 an integer.
7723 * tree.h (tree_decl_non_common.vindex): Adjust comment.
7724
0038d4e0
MM
77252011-04-03 Michael Matz <matz@suse.de>
7726
e9c18386 7727 * cgraphbuild.c (record_reference): Canonicalize constructor values.
0038d4e0
MM
7728 * gimple-fold.c (canonicalize_constructor_val): Accept being called
7729 without function context.
7730 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear
7731 current_function_decl and cfun.
7732
91f2fae8
MM
77332011-04-03 Michael Matz <matz@suse.de>
7734
7735 * tree.c (decl_init_priority_insert): Don't create entry for
7736 default priority.
7737 (decl_fini_priority_insert): Ditto.
7738 (fields_compatible_p, find_compatible_field): Remove.
7739 * tree.h (fields_compatible_p, find_compatible_field): Remove.
7740 * gimple.c (gimple_compare_field_offset): Adjust block comment.
7741
da29e070
EB
77422011-04-03 Eric Botcazou <ebotcazou@adacore.com>
7743
7744 * combine.c (try_combine): Remove useless local variable.
7745
4979c28b 77462011-04-03 Richard Guenther <rguenther@suse.de>
91f2fae8 7747 Ira Rosen <ira.rosen@linaro.org>
4979c28b
RG
7748
7749 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all
7750 non-variable offsets and compare the remaining bases of the two
7751 accesses instead of looking for exact same data-ref.
7752
b4ddcaee
KT
77532011-04-02 Kai Tietz <ktietz@redhat.com>
7754
f90298e1
KT
7755 PR target/48416
7756 * i386.c (ix86_function_arg_boundary): Fix printf formatter.
7757
b4ddcaee
KT
7758 * i386.c (ix86_is_msabi_thiscall): New helper function.
7759 (ix86_is_type_thiscall): New helper function.
7760 (ix86_comp_type_attributes): Handle thiscall for method-functions
7761 special.
7762 (init_cumulative_args): Likewise.
7763 (find_drap_reg): Likewise.
7764 (ix86_static_chain): Likewise.
7765 (x86_this_parameter): Likewise.
7766 (x86_output_mi_thunk): Likewise.
7767
2a9d769a 77682011-04-01 Olivier Hainque <hainque@adacore.com>
91f2fae8
MM
7769 Nicolas Setton <setton@adacore.com>
7770 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
7771
7772 * dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
7773 (add_gnat_descriptive_type_attribute): New function.
7774 (gen_array_type_die): Call it.
7775 (gen_enumeration_type_die): Likewise.
7776 (gen_struct_or_union_type_die): Likewise.
7777 (modified_type_die): Likewise.
7778 * langhooks.h (lang_hooks_for_types): New descriptive_type hook.
7779 * langhooks-def.h (LANG_HOOKS_DESCRIPTIVE_TYPE): Default to NULL.
7780 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_DESCRIPTIVE_TYPE.
7781
15a03a11
JJ
77822011-04-01 Jakub Jelinek <jakub@redhat.com>
7783
7784 PR bootstrap/48148
7785 * dwarf2out.c (resolve_addr): Don't call force_decl_die
7786 if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN.
7787
7788 Revert:
7789 2011-03-17 Richard Guenther <rguenther@suse.de>
7790
7791 PR bootstrap/48148
7792 * lto-cgraph.c (input_overwrite_node): Clear the abstract
7793 origin for decls in other ltrans units.
7794 (input_varpool_node): Likewise.
7795
19228b93
JJ
77962011-04-01 Jakub Jelinek <jakub@redhat.com>
7797
7798 PR middle-end/48335
7799 * expr.c (expand_assignment): Handle all possibilities
7800 if TO_RTX is CONCAT.
e9c18386 7801 * expmed.c (store_bit_field_1): Avoid trying to create invalid SUBREGs.
19228b93
JJ
7802 (store_split_bit_field): If SUBREG_REG (op0) or
7803 op0 itself has smaller mode than word, return it
7804 for offset 0 and const0_rtx for out-of-bounds stores.
7805 If word is const0_rtx, skip it.
7806
88cb339e
N
78072011-04-01 Naveen H.S <naveen.S@kpitcummins.com>
7808
7809 * config/h8300/h8300.c (print_operand_address): Rename to...
7810 (h8300_print_operand_address): ...this. Make static. Adjust comments.
7811 Call h8300_print_operand and h8300_print_operand_address instead of
7812 print_operand and print_operand_address. Declare.
7813 (print_operand): Renake to...
7814 (h8300_print_operand): ...this. Make static. Adjust comments.
7815 Call h8300_print_operand instead of print_operand. Declare.
7816 (h8300_print_operand_punct_valid_p): Moved from h8300.h file.
7817 (h8300_register_move_cost): Likewise.
7818 (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_PRINT_OPERAND
7819 TARGET_PRINT_OPERAND_ADDRESS, TARGET_REGISTER_MOVE_COST): Define.
7820 * config/h8300/h8300.h (PRINT_OPERAND_ADDRESS, PRINT_OPERAND
7821 PRINT_OPERAND_PUNCT_VALID_P, REGISTER_MOVE_COST): Delete.
7822 * config/h8300/h8300-protos.h (print_operand): Delete.
7823 (print_operand_address): Delete.
7824
756d6ee9
RH
78252011-04-01 Richard Henderson <rth@redhat.com>
7826
7827 PR 48400
7828 * dwarf2out.c (dwarf2out_source_line): Disable discriminators
7829 in strict mode before dwarf4. Re-order tests to early out
7830 before switching sections.
7831
ceaaaeab
NF
78322011-04-01 Nathan Froyd <froydnj@codesourcery.com>
7833
7834 * config/h8300/constraints.md: New file.
7835 * config/h8300/h8300.md: Include it. Use satisfies_constraint_J,
7836 satisfies_constraint_L, and satisfies_constraint_N for peephole2s.
7837 (*tst_extzv_1_n, *tstsi_variable_bit_qi): Use satisfies_constraint_U.
7838 * config/h8300/predicates.md (bit_operand): Likewise.
7839 (incdec_operand): Use satisfies_constraint_M and
7840 satisfies_constraint_O. Don't use C code block.
7841 * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Delete.
7842 * config/h8300/h8300.c (h8300_reg_class_from_letter): Delete.
7843 (compute_mov_length): Use satisfies_constraint_G.
7844 (fix_bit_operand): Use satisfies_constraint_U.
7845 * config/h8300/h8300.h (REG_CLASS_FROM_LETTER): Delete.
7846 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Delete.
7847 (CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O): Delete.
7848 (CONST_OK_FOR_Ppositive, CONST_OK_FOR_Pnegative): Delete.
7849 (CONST_OK_FOR_P, CONSTRAINT_LEN_FOR_P): Delete.
7850 (CONST_OK_FOR_CONSTRAINT_P, CONST_OK_FOR_LETTER_P): Delete.
7851 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
7852 (OK_FOR_Q, OK_FOR_R, OK_FOR_S, OK_FOR_T, OK_FOR_U, OK_FOR_WU): Delete.
7853 (OK_FOR_W, CONSTRAINT_LEN_FOR_W, OK_FOR_Y2, OK_FOR_Y0): Delete.
7854 (OK_FOR_Y, CONSTRAINT_LEN_FOR_Y, OK_FOR_Z): Delete.
7855 (EXTRA_CONSTRAINT_STR, CONSTRAINT_LEN): Delete.
7856 (EXTRA_MEMORY_CONSTRAINT): Delete.
7857
08ae38e0
AP
78582011-04-01 Andrew Pinski <pinskia@gmail.com>
7859 Michael Meissner <meissner@linux.vnet.ibm.com>
7860
7861 PR target/48262
7862 * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
7863 operands, as per the specifications.
7864
7865 * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
7866 (vec_extract_evenv4sf): Ditto.
7867 (vec_extract_evenv8hi): Ditto.
7868 (vec_extract_evenv16qi): Ditto.
7869 (vec_extract_oddv4si): Ditto.
7870
bdb0b0f6
MW
78712011-03-31 Mark Wielaard <mjw@redhat.com>
7872
7873 * dwarf2out.c (dwarf2out_finish): Don't add low_pc and/or
7874 high_pc attribute if the CU has no associated code. Only output
7875 DW_AT_entry_pc for CU if not generating strict dwarf and
7876 dwarf_version < 4.
7877
722279e4
BS
78782011-04-01 Bernd Schmidt <bernds@codesourcery.com>
7879
7880 * dwarf2out.h (dwarf2out_frame_debug_init): Declare.
7881 * dwarf2out.c (dwarf2out_frame_debug_init): New function, broken
7882 out of ...
7883 (dwarf2out_frame_debug): ... here. Don't handle a NULL argument.
7884 * final.c (final_start_function): Call the new function rather
7885 than using a NULL argument for dwarf2out_frame_debug.
7886
c5dd277d
BS
7887 * ifcvt.c (cond_exec_process_insns): Disallow converting a block
7888 that contains the prologue.
7889
ec4efea9
BS
7890 * haifa-sched.c (queue_insn): New arg REASON. All callers
7891 changed. Print it in debugging output.
7892
2a6a0d80
BS
7893 * sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
7894
86014d07
BS
7895 * sched-ebb.c (begin_schedule_ready): Remove second argument.
7896 Split most of the code into...
7897 (begin_move_insn): ... here. New function.
7898 (ebb_sched_info): Add a pointer to it.
7899 * haifa-sched.c (scheduled_insns): New static variable.
7900 (sched_extend_ready_list): Allocate it.
7901 (schedule_block): Use it to record the order of scheduled insns.
7902 Perform RTL changes to move insns only after all scheduling
7903 decisions have been made.
7904 * modulo-sched.c (sms_sched_haifa_sched_info): Add NULL entry for the
7905 begin_move_insn field.
7906 * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
7907 * sched-int.h (struct haifa_sched_info): Remove second argument
7908 from begin_schedule_ready hook. Add new member begin_move_insn.
7909 * sched-rgn.c (begin_schedule_ready): Remove second argument.
7910 (rgn_const_sched_info): Add NULL entry for the begin_move_insn field.
7911
9d701248
BS
7912 * haifa-sched.c (prune_ready_list): New function, broken out of
7913 schedule_block.
7914 (schedule_block): Use it.
7915
1ca1dad5
UW
79162011-04-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7917
7918 * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
7919
49568e45
KT
79202011-04-01 Kai Tietz <ktietz@redhat.com>
7921
7922 * config.gcc (*-*-mingw*): Allow as option the
7923 posix threading model.
07c0852e 7924 * config/i386/mingw32.h (SPEC_PTHREAD1, SPEC_PTHREAD2):
49568e45
KT
7925 New macros defined dependent to TARGET_USE_PTHREAD_BY_DEFAULT
7926 definition.
7927 (CPP_SPEC): Add pthread/no-pthread handling.
7928 (LIB_SPEC): Likewise.
7929 * config/i386/mingw-w64.h (CPP_SPEC):Likewise.
7930 (LIB_SPEC): Likewise.
7931 * config/i386/t-cygming (SHLIB_PTHREAD_CFLAG): New
7932 flag to pass -pthread option for shared libgcc build.
7933 (SHLIB_PTHREAD_LDFLAG): New option to pass -lpthread
7934 for shared libgcc build.
7935 * config/i386/t-mingw-pthread: New file.
7936 * config/i386/mingw-pthread.h (TARGET_USE_PTHREAD_BY_DEFAULT):
7937 New define to enable use of library pthread by default.
7938 * config/i386/mingw.opt (pthread): New driver option.
7939 (no-pthread): New driver option.
e9c18386 7940 * config/i386/cygming.opt: Make sure trailing empty line is retained.
49568e45
KT
7941 * config/i386/mingw-w64.opt: Likewise.
7942
748f7574 79432011-04-01 Gary Funck <gary@intrepid.com>
636b4106
GF
7944
7945 * c-decl.c (grokdeclarator): Fix formatting.
7946
f04713ee
RS
79472011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
7948
7949 * expr.c (emit_block_move_via_movmem): Use n_generator_args
7950 instead of n_operands.
7951 (set_storage_via_setmem): Likewise.
7952 * optabs.c (maybe_gen_insn): Likewise.
7953 * config/arm/arm.c (arm_init_neon_builtins): Likewise.
7954 * config/mips/mips.c (mips_expand_builtin_compare_1): Likewise.
7955 (mips_expand_builtin_direct): Likewise.
7956 * config/spu/spu.c (expand_builtin_args): Likewise.
7957
b29387ee
RS
79582011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
7959
7960 * recog.h (insn_data_d): Add n_generator_args.
7961 * genoutput.c (data): Likewise.
7962 (output_insn_data): Print it.
7963 (max_opno, num_dups): Delete.
7964 (scan_operands): Just fill in "d->operand[...]".
7965 (gen_insn, gen_peephole, gen_expand, gen_split): Use get_pattern_stats.
7966
e792559a
RS
79672011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
7968
7969 * gensupport.h (pattern_stats): New structure.
7970 * gensupport.c (get_pattern_stats_1, get_pattern_stats): New functions.
7971 * genemit.c (max_opno, max_dupno, max_scratch_opno): Delete.
7972 (max_operand_1, max_operand_vec): Delete.
7973 (gen_insn, gen_expand, gen_split): Use get_pattern_stats.
7974
e8110d6f
NF
79752011-03-31 Nathan Froyd <froydnj@codesourcery.com>
7976
7977 * emit-rtl.c (emit_pattern_after_setloc): New function.
7978 (emit_insn_after_setloc, emit_jump_insn_after_setloc): Call it.
7979 (emit_call_insn_after_setloc, emit_debug_insn_after_setloc): Likewise.
7980 (emit_pattern_after): New function.
7981 (emit_insn_after, emit_jump_insn_after): Call it.
7982 (emit_call_insn_after, emit_debug_insn_after): Likewise.
7983 (emit_pattern_before_setloc): New function.
7984 (emit_insn_before_setloc, emit_jump_insn_before_setloc): Call it.
7985 (emit_call_insn_before_setloc, emit_debug_insn_before_setloc):
7986 Likewise.
7987 (emit_pattern_before): New function.
7988 (emit_insn_before, emit_jump_insn_before): Call it.
7989 (emit_call_insn_before, emit_debug_insn_before): Likewise.
7990
576f85f1
RH
79912011-03-31 Richard Henderson <rth@redhat.com>
7992
7993 * dwarf2out.c (dw_separate_line_info_ref): Remove.
7994 (dw_separate_line_info_entry): Remove.
7995 (enum dw_line_info_opcode): New.
7996 (dw_line_info_entry): Use it.
7997 (dw_line_info_table, dw_line_info_table_p): New.
7998 (DWARF_LINE_OPCODE_BASE): Include dwarf3 opcodes.
7999 (line_info_table, line_info_label_num): Remove.
8000 (line_info_table_in_use): Remove.
8001 (separate_line_info_table): Remove.
8002 (separate_line_info_table_allocated): Remove.
8003 (separate_line_info_table_in_use): Remove.
8004 (LINE_INFO_TABLE_INCREMENT): Remove.
8005 (line_info_label_num): New.
8006 (cur_line_info_table): New.
8007 (text_section_line_info, cold_text_section_line_info): New.
8008 (separate_line_info): New.
8009 (SEPARATE_LINE_CODE_LABEL): Remove.
8010 (print_dwarf_line_table): Remove.
8011 (debug_dwarf): Don't dump it.
8012 (output_one_line_info_table): New.
8013 (output_line_info): Use it.
8014 (new_line_info_table): New.
8015 (set_cur_line_info_table): New.
8016 (dwarf2out_switch_text_section): Use it.
8017 (dwarf2out_begin_function): Likewise.
8018 (push_dw_line_info_entry): New.
8019 (dwarf2out_source_line): Rewrite for new line info tables.
8020 (dwarf2out_init): Remove dead initailizations.
8021
300d83d9
JM
80222011-03-31 Joseph Myers <joseph@codesourcery.com>
8023
8024 * opts.h (cl_option): Add comments to fields. Add bit-fields for
8025 various flags.
8026 (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK,
8027 CL_SEPARATE_ALIAS, CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE,
8028 CL_DISABLED, CL_REPOR, CL_REJECT_NEGATIVE, CL_MISSING_OK,
8029 CL_UINTEGER, CL_NEGATIVE_ALIAS): Remove.
8030 (CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED): Update bit positions.
8031 * opt-functions.awk (flag_init, switch_bit_fields): New.
8032 (switch_flags): Don't handle flags moved to bit-fields. Don't
8033 generate CL_MISSING_OK or CL_SAVE.
8034 * optc-gen.awk: Update to generate bit-field output as well as
8035 flags field.
8036 * gcc.c (driver_wrong_lang_callback): Use cl_reject_driver
8037 bit-field instead of CL_REJECT_DRIVER flag.
8038 * opts-common.c (generate_canonical_option,
8039 decode_cmdline_option): Use bit-fields instead of CL_* flags.
8040 * opts.c (maybe_default_option): Use cl_reject_negative bit-field
8041 instead of CL_REJECT_NEGATIVE flag.
8042 * toplev.c (print_switch_values): Use cl_report bit-field instead
8043 of CL_REPORT flag.
8044
d4d73ce2
EB
80452011-03-31 Eric Botcazou <ebotcazou@adacore.com>
8046
8047 * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
8048 a zero minimum index only if it is redundant.
8049
b8faca75
VM
80502011-03-31 Vladimir Makarov <vmakarov@redhat.com>
8051
8052 PR rtl-optimization/48381
8053 * ira-color.c (assign_hard_reg): Use hard reg set intersection
8054 instead of ira_class_hard_reg_index for calculating conflicting
8055 hard registers.
8056
7d11cebe
SB
80572011-03-31 Steven Bosscher <steven@gcc.gnu.org>
8058
8059 * cprop.c: Clean up hash table building.
8060 (reg_avail_info): Remove.
8061 (oprs_available_p): Remove.
8062 (record_last_reg_set_info): Remove.
8063 (record_last_set_info): Remove.
8064 (reg_available_p): New function.
8065 (gcse_constant_p): Do not treat unfolded conditions as constants.
8066 (make_set_regs_unavailable): New function.
8067 (hash_scan_set): Simplify with new reg_available_p.
8068 (compute_hash_table_work): Traverse insns stream only once.
8069 Do not compute reg_avail_info. Traverse insns in reverse order.
8070 Record implicit sets after recording explicit sets from the block.
8071
98faf84f
MM
80722011-03-31 Michael Matz <matz@suse.de>
8073
e9c18386 8074 * builtins.c (build_va_arg_indirect_ref): Use build_simple_mem_ref_loc.
98faf84f 8075
f52d97da
AS
80762011-03-31 Anatoly Sokolov <aesok@post.ru>
8077
8078 * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove macro.
8079 * config/h8300/h8300-protos.h (h8300_get_index): Remove.
8080 * config/h8300/h8300.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
8081 (h8300_mode_dependent_address_p): New function.
8082 (h8300_get_index): Make static.
8083
e16b6fd0
JL
80842011-03-31 Jeff Law <law@redhat.com>
8085
10c51983
JL
8086 * reload1.c (elimination_effects): Fix typo in recent change.
8087
e9c18386 8088 * tree-ssa-forwprop.c (forward_propagate_into_cond): Avoid
e16b6fd0
JL
8089 typo potentially leading to null pointer dereference.
8090
8091 * caller-save.c (new_saved_hard_reg): Eliminate return value.
8092 (setup_save_areas): Corresponding changes to avoid useless
8093 assignments.
8094
8095 * jump.c (reversed_comparison_code_parts): Avoid successive return
8096 statements when REVERSE_CONDITION is defined.
8097
8098 * expr.c (expand_assignment): Avoid useless assignments.
8099 (expand_expr_real_1): Likewise.
8100 (expand_expr_real_2): Avoid useless statements.
8101
8102 * tree-ssa-phiopt.c (minmax_replacement): Avoid useless statement.
8103
8104 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
8105
8106 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Avoid useless
8107 statements.
8108
8109 * stmt.c (expand_expr_stmt): Avoid useless assignment.
8110
eb1eb914
JM
81112011-03-31 Joseph Myers <joseph@codesourcery.com>
8112
8113 PR target/47109
8114 * doc/tm.texi.in (TARGET_VERSION): Remove.
8115 * doc/tm.texi: Regenerate.
8116 * system.h (TARGET_VERSION, MACHINE_TYPE): Poison.
8117 * collect2.c (main): Don't use TARGET_VERSION.
8118 * mips-tdump.c (main): Don't use TARGET_VERSION.
8119 * mips-tfile.c (main): Don't use TARGET_VERSION.
e9c18386 8120 * config.gcc (powerpc-wrs-vxworksae): Don't use rs6000/vxworksae.h.
eb1eb914
JM
8121 * config/rs6000/vxworksae.h: Remove.
8122 * config/alpha/alpha.h (TARGET_VERSION): Remove.
8123 * config/alpha/freebsd.h (TARGET_VERSION): Remove.
8124 * config/alpha/linux-elf.h (TARGET_VERSION): Remove.
8125 * config/alpha/netbsd.h (TARGET_VERSION): Remove.
8126 * config/alpha/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
8127 * config/arm/arm.h (TARGET_VERSION): Remove.
8128 * config/arm/coff.h (TARGET_VERSION): Remove.
8129 * config/arm/ecos-elf.h (TARGET_VERSION): Remove.
8130 * config/arm/elf.h (TARGET_VERSION): Remove.
8131 * config/arm/freebsd.h (TARGET_VERSION): Remove.
8132 * config/arm/linux-elf.h (TARGET_VERSION): Remove.
8133 * config/arm/netbsd-elf.h (TARGET_VERSION): Remove.
8134 * config/arm/pe.h (TARGET_VERSION): Remove.
8135 * config/arm/rtems-elf.h (TARGET_VERSION): Remove.
8136 * config/arm/semi.h (TARGET_VERSION): Remove.
8137 * config/arm/uclinux-elf.h (TARGET_VERSION): Remove.
8138 * config/arm/unknown-elf.h (TARGET_VERSION): Remove.
8139 * config/arm/vxworks.h (TARGET_VERSION): Remove.
8140 * config/avr/avr.h (TARGET_VERSION): Remove.
8141 * config/bfin/bfin.h (TARGET_VERSION): Remove.
8142 * config/fr30/fr30.h (TARGET_VERSION): Remove.
8143 * config/frv/frv.h (TARGET_VERSION): Remove.
8144 * config/h8300/h8300.h (TARGET_VERSION): Remove.
8145 * config/i386/cygwin.h (TARGET_VERSION): Remove.
8146 * config/i386/darwin.h (TARGET_VERSION): Remove.
8147 * config/i386/darwin64.h (TARGET_VERSION): Remove.
8148 * config/i386/djgpp.h (TARGET_VERSION): Remove.
8149 * config/i386/freebsd.h (TARGET_VERSION): Remove.
8150 * config/i386/freebsd64.h (TARGET_VERSION): Remove.
8151 * config/i386/gnu.h (TARGET_VERSION): Remove.
8152 * config/i386/i386-interix.h (TARGET_VERSION): Remove.
8153 * config/i386/i386elf.h (TARGET_VERSION): Remove.
8154 * config/i386/linux.h (TARGET_VERSION): Remove.
8155 * config/i386/linux64.h (TARGET_VERSION): Remove.
8156 * config/i386/lynx.h (TARGET_VERSION): Remove.
8157 * config/i386/mingw32.h (TARGET_VERSION): Remove.
8158 * config/i386/netbsd-elf.h (TARGET_VERSION): Remove.
8159 * config/i386/netbsd64.h (TARGET_VERSION): Remove.
8160 * config/i386/netware.h (TARGET_VERSION): Remove.
8161 * config/i386/nto.h (TARGET_VERSION): Remove.
8162 * config/i386/openbsd.h (TARGET_VERSION): Remove.
8163 * config/i386/vxworks.h (TARGET_VERSION): Remove.
8164 * config/ia64/elf.h (TARGET_VERSION): Remove.
8165 * config/ia64/freebsd.h (TARGET_VERSION): Remove.
8166 * config/ia64/hpux.h (TARGET_VERSION): Remove.
8167 * config/ia64/linux.h (TARGET_VERSION): Remove.
8168 * config/ia64/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
8169 * config/iq2000/iq2000.h (IQ2000_VERSION, MACHINE_TYPE,
8170 TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
8171 * config/lm32/lm32.h (TARGET_VERSION): Remove.
8172 * config/lm32/uclinux-elf.h (TARGET_VERSION): Remove.
8173 * config/m32c/m32c.h (TARGET_VERSION): Remove.
8174 * config/m32r/linux.h (LINUX_DEFAULT_ELF, TARGET_VERSION): Remove.
8175 * config/m32r/m32r.h (TARGET_VERSION): Remove.
8176 * config/m68k/linux.h (TARGET_VERSION): Remove.
8177 * config/m68k/m68k.h (TARGET_VERSION): Remove.
8178 * config/m68k/netbsd-elf.h (TARGET_VERSION): Remove.
8179 * config/m68k/uclinux.h (TARGET_VERSION): Remove.
8180 * config/mcore/mcore-elf.h (TARGET_VERSION): Remove.
8181 * config/mep/mep.h (TARGET_VERSION): Remove.
8182 * config/microblaze/microblaze.h (MICROBLAZE_VERSION,
8183 MACHINE_TYPE, TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
8184 * config/mips/iris6.h (MACHINE_TYPE): Remove.
8185 * config/mips/linux.h (TARGET_VERSION): Remove.
8186 * config/mips/netbsd.h (MACHINE_TYPE): Remove.
8187 * config/mips/vxworks.h (TARGET_VERSION): Remove.
8188 * config/mmix/mmix.h (TARGET_VERSION): Remove.
8189 * config/mn10300/linux.h (TARGET_VERSION): Remove.
8190 * config/mn10300/mn10300.h (TARGET_VERSION): Remove.
8191 * config/pa/pa.h (TARGET_VERSION): Remove.
8192 * config/pdp11/pdp11.h (TARGET_VERSION): Remove.
8193 * config/picochip/picochip.h (TARGET_VERSION): Remove.
8194 * config/rs6000/aix.h (TARGET_VERSION): Remove.
8195 * config/rs6000/darwin.h (TARGET_VERSION): Remove.
8196 * config/rs6000/darwin64.h (TARGET_VERSION): Remove.
8197 * config/rs6000/eabi.h (TARGET_VERSION): Remove.
8198 * config/rs6000/eabialtivec.h (TARGET_VERSION): Remove.
8199 * config/rs6000/eabisim.h (TARGET_VERSION): Remove.
8200 * config/rs6000/eabispe.h (TARGET_VERSION): Remove.
8201 * config/rs6000/freebsd.h (TARGET_VERSION): Remove.
8202 * config/rs6000/linux.h (TARGET_VERSION): Remove.
8203 * config/rs6000/linux64.h (TARGET_VERSION): Remove.
8204 * config/rs6000/linuxaltivec.h (TARGET_VERSION): Remove.
8205 * config/rs6000/linuxspe.h (TARGET_VERSION): Remove.
8206 * config/rs6000/lynx.h (TARGET_VERSION): Remove.
8207 * config/rs6000/netbsd.h (TARGET_VERSION): Remove.
8208 * config/rs6000/sysv4.h (TARGET_VERSION): Remove.
8209 * config/rs6000/vxworks.h (TARGET_VERSION): Remove.
8210 * config/s390/linux.h (TARGET_VERSION): Remove.
8211 * config/s390/s390.h (TARGET_VERSION): Remove.
8212 * config/s390/tpf.h (TARGET_VERSION): Remove.
8213 * config/score/score.h (TARGET_VERSION): Remove.
8214 * config/sh/linux.h (TARGET_VERSION): Remove.
8215 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN,
8216 TARGET_VERSION_CPU, TARGET_VERSION): Remove.
8217 * config/sh/sh.h (TARGET_VERSION): Remove.
8218 * config/sh/sh64.h (TARGET_VERSION): Remove.
8219 * config/sh/superh.h (TARGET_VERSION): Remove.
8220 * config/sh/vxworks.h (TARGET_VERSION): Remove.
8221 * config/sparc/freebsd.h (TARGET_VERSION): Remove.
8222 * config/sparc/linux.h (TARGET_VERSION): Remove.
8223 * config/sparc/linux64.h (TARGET_VERSION): Remove.
8224 * config/sparc/netbsd-elf.h (TARGET_VERSION, TARGET_NAME64,
8225 TARGET_NAME32, TARGET_NAME): Remove.
8226 * config/sparc/openbsd64.h (TARGET_VERSION): Remove.
8227 * config/sparc/sp-elf.h (TARGET_VERSION): Remove.
8228 * config/sparc/sp64-elf.h (TARGET_VERSION): Remove.
8229 * config/sparc/sysv4.h (TARGET_VERSION): Remove.
8230 * config/sparc/vxworks.h (TARGET_VERSION): Remove.
8231 * config/spu/spu.h (TARGET_VERSION): Remove.
8232 * config/stormy16/stormy16.h (TARGET_VERSION): Remove.
8233 * config/v850/v850.h (TARGET_VERSION): Remove.
8234 * config/vax/linux.h (TARGET_VERSION): Remove.
8235 * config/vax/vax.h (TARGET_NAME, TARGET_VERSION): Remove.
8236 * config/xtensa/elf.h (TARGET_VERSION): Remove.
8237 * config/xtensa/linux.h (TARGET_VERSION): Remove.
8238
ace31bca
EB
82392011-03-31 Eric Botcazou <ebotcazou@adacore.com>
8240
8241 PR target/48142
8242 * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
8243 frame-related from frame-unrelated adjustments to the stack pointer.
8244
76f9db36
JJ
82452011-03-31 Jakub Jelinek <jakub@redhat.com>
8246
8247 * common.opt (fdebug-types-section): Move earlier.
8248 * doc/invoke.texi: Fix up -fno-debug-types-section documentation.
8249
b7826465
AT
82502011-03-31 Andreas Tobler <andreast@fgznet.ch>
8251
8252 * config/rs6000/rs6000.c (rs6000_handle_option): Remove unused isel
8253 var.
8254
1290e54c
NF
82552011-03-30 Nathan Froyd <froydnj@codesourcery.com>
8256
8257 * tree.h (CASE_CHAIN): Define.
8258 * tree-cfg.c (edge_to_cases_cleanup, get_cases_for_edge): Use it.
8259 (gimple_redirect_edge_and_branch): Likewise.
8260
bddc98e1
VM
82612011-03-30 Vladimir Makarov <vmakarov@redhat.com>
8262
8263 PR middle-end/48367
8264 * ira-costs.c (find_costs_and_classes): Fix a typo in i_mem_cost
8265 calculation.
8266
c865e437
JL
82672011-03-30 Jeff Law <law@redhat.com>
8268
b3750213 8269 * PR bootstrap/48371
c865e437
JL
8270 * reload1.c (reload): Fix botch in last change.
8271
8272 * reload.h (struct reload): Fix typo introduced in last change.
8273
2cdf9574
JM
82742011-03-30 Joseph Myers <joseph@codesourcery.com>
8275
8276 * config/arm/arm.opt (mhard-float, msoft-float): Mark
8277 Undocumented. Remove help text.
8278 * doc/invoke.texi (ARM Options): Don't document -msoft-float and
8279 -mhard-float.
8280
666a21a2
JM
82812011-03-30 Joseph Myers <joseph@codesourcery.com>
8282
8283 * doc/options.texi (NegativeAlias): Document.
8284 (Alias): Mention NegativeAlias.
8285 * opt-functions.awk: Handle NegativeAlias.
e9c18386 8286 * optc-gen.awk: Disallow NegativeAlias with multiple Alias arguments.
666a21a2
JM
8287 * opts-common.c (decode_cmdline_option): Handle CL_NEGATIVE_ALIAS.
8288 * opts.h (CL_NEGATIVE_ALIAS): Define.
8289 * config/rs6000/rs6000.c (rs6000_parse_yes_no_option): Remove.
8290 (rs6000_handle_option): Don't handle OPT_mvrsave_, OPT_misel_ and
8291 OPT_mspe_.
8292 * config/rs6000/rs6000.opt (mvrsave=, misel=, mspe=): Replace with
8293 Alias entries.
8294 * config/rs6000/t-spe (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
8295 mno-spe and mno-isel instead of mspe=no and -misel=no.
8296
0fa4e351
MW
82972011-03-29 Mark Wielaard <mjw@redhat.com>
8298
8299 * common.opt (fdebug-types-section): New flag.
8300 * doc/invoke.texi: Document new -fno-debug-types-section flag.
8301 * dwarf2out.c (use_debug_types): New define.
8302 (struct die_struct): Mark die_id with GTY desc use_debug_types.
8303 (print_die): Guard output of type unit signatures using
8304 use_debug_types.
8305 (build_abbrev_table): Replace assert of dwarf_version >= 4
8306 with assert on use_debug_types.
8307 (size_of_die): Likewise.
8308 (unmark_dies): Likewise.
8309 (value_format): Decide AT_ref_external form on use_debug_types.
8310 (output_die): Replace dwarf_version version check guard with
8311 use_debug_types where appropriate.
8312 (modified_type_die): Likewise.
8313 (gen_reference_type_die): Likewise.
8314 (dwarf2out_start_source_file): Likewise.
8315 (dwarf2out_end_source_file): Likewise.
8316 (prune_unused_types_walk_attribs): Likewise.
8317 (dwarf2out_finish): Likewise.
8318
4648deb4
VM
83192011-03-30 Vladimir Makarov <vmakarov@redhat.com>
8320
8321 * ira-color.c (ira_assign_hard_reg): Use only one variable 'mode'.
8322
4f431835
RS
83232011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
8324
8325 PR rtl-optimization/48332
8326 * optabs.c (expand_binop_directly): Set xmodeN to the target-mandated
8327 mode of input operand N and modeN to its actual mode.
8328
f2034d06
JL
83292011-03-30 Jeff Law <law@redhat.com>
8330
8331 * reload.h (reg_equiv_constant): Move into new structure reg_equivs,
8332 define accessor macro.
8333 (reg_equiv_invariant, reg_equiv_memory_loc): Likewise.
8334 (reg_equiv_address, reg_equiv_mem, reg_equiv_alt_mem_list): Likewise.
8335 (reg_equiv_init): Likewise.
8336 (reg_equivs_size): New variable.
8337 (reg_equiv_init_size): Remove.
8338 (allocate_initial_values): Move prototype to here from....
8339 * integrate.h (allocate_initial_values): Remove prototype.
8340 * integrate.c: Include reload.h.
8341 (allocate_initial_values): Corresponding changes.
8342 * ira.c (find_reg_equiv_invariant_cost): Corresponding changes.
8343 (fix_reg_equiv_init, no_equiv): Corresponding changes.
8344 (update_equiv_regs): Corresponding changes.
8345 (ira): Corresponding changes.
8346 * reload.c (push_reg_equiv_alt_mem): Corresponding changes.
8347 (push_secondary_reload): Corresponding changes.
8348 (push_reload, find_reloads, find_reloads_toplev): Corresponding changes.
8349 (make_memloc, find_reloads_address): Corresponding changes.
8350 (subst_reg_equivs, subst_indexed_address): Corresponding changes.
8351 (find_reloads_address_1): Corresponding changes.
8352 (find_reloads_subreg_address, subst_reloads): Corresponding changes.
8353 (refers_to_regno_for_reload_p): Corresponding changes.
8354 (reg_overlap_mentioned_for_reload_p): Corresponding changes.
8355 (refers_to_mem_for_reload_p, find_equiv_reg): Corresponding changes.
8356 * reload1.c: Include ggc.h.
8357 (grow_reg_equivs): New function.
8358 (replace_pseudos_in, reload): Corresponding changes.
8359 (calculate_needs_all_insns, alter_regs): Corresponding changes.
8360 (eliminate_regs_1, elimination_effects): Corresponding changes.
8361 (emit_input_reload_insns, emit_output_reload_insns): Likewise.
8362 (delete_output_reload): Likewise.
8363 * caller-save.c (mark_referenced_regs): Corresponding changes.
8364 * alpha/alpha.c (resolve_reload_operand): Corresponding changes.
8365 * frv/predicates.md (frv_load_operand): Corresponding changes.
8366 * microblaze/microblaze.c (double_memory_operand): Corresponding
8367 changes.
8368 * avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Corresponding changes.
8369 * xtensa/xtensa.c (fixup_subreg_mem): Corresponding changes.
e9c18386 8370 * mn10300/mn10300.c (mn10300_secondary_reload): Corresponding changes.
f2034d06
JL
8371 * m68k/m68k.c (emit_move_sequence): Corresponding changes.
8372 * arm/arm.c (arm_reload_in_hi, arm_reload_out_hi): Corresponding
8373 changes.
8374 * pa/pa.c (emit_move_sequence): Corresponding changes.
8375 * vax/vax.c (nonindexed_address_p): Corresponding changes.
8376
159b81b0
RS
83772011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
8378
8379 PR target/47551
8380 * config/arm/arm.c (coproc_secondary_reload_class): Handle
8381 structure modes. Don't check neon_vector_mem_operand for
8382 vector or structure modes.
8383
a6217191
RS
83842011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
8385 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
8386
8387 PR target/43590
8388 * config/arm/neon.md (neon_vld3qa<mode>, neon_vld4qa<mode>): Remove
8389 operand 1 and reshuffle the operands to match.
8390 (neon_vld3<mode>, neon_vld4<mode>): Update accordingly.
8391
bd837408
CS
83922011-03-30 Christian Schüler <cschueler@gmx.de>
8393
6955d771 8394 PR driver/48208
bd837408 8395 * config/c.opt (F): Added 'Driver' to -F option.
e9c18386 8396
6955d771 8397 PR driver/48260
bd837408
CS
8398 * config/darwin-driver.c (darwin_driver_init): Add '-arch' to
8399 handler function.
8400 * config/darwin.opt: Added '-arch' option.
8401
e9c0470a
NC
84022011-03-30 Nick Clifton <nickc@redhat.com>
8403
8404 * config/rx/rx.md: Add peepholes and patterns to combine
8405 extending loads and simple arithmetic instructions.
8406 * config/rx/rx.h (ADJUST_INSN_LENGTH): Define.
e9c18386
UB
8407 * config/rx/rx-protos.h (rx_adjust_insn_length): Prototype.
8408 * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI
e9c0470a 8409 modes to use pre-decrement and post-increment addressing.
e9c18386 8410 (rx_is_restricted_memory_address): Add range checking of REG+INT
e9c0470a 8411 addresses.
e9c18386
UB
8412 (rx_print_operand): Add support for %Q. Fix handling of %Q.
8413 (rx_memory_move_cost): Adjust cost of stores.
8414 (rx_adjust_insn_length): New function.
e9c0470a 8415
8a87e7ab
JJ
84162011-03-30 Jakub Jelinek <jakub@redhat.com>
8417
8418 PR c/48305
8419 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
8420 arg10/arg11 in (X ^ Y) == (Z ^ W) are always fold converted to
8421 matching arg00/arg01 types.
8422
12486e03
EB
84232011-03-30 Eric Botcazou <ebotcazou@adacore.com>
8424
8425 * cfglayout.c (insn_locators_alloc): Initialize curr_location and
8426 last_location to UNKNOWN_LOCATION.
8427
0b99eef6
L
84282011-03-30 H.J. Lu <hongjiu.lu@intel.com>
8429
8430 PR target/48349
8431 * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
8432 FLOAT_SSE_REGS.
8433
023592aa
JM
84342011-03-30 Joseph Myers <joseph@codesourcery.com>
8435 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8436
8437 PR bootstrap/48337
8438 * config/sparc/sparc.opt (sparc_cpu_and_features): Add
8439 Init(PROCESSOR_V7).
8440 (sparc_cpu): Likewise.
8441 * config/sparc/sparc.c (sparc_option_override): Replace 0 by
8442 PROCESSOR_V7.
8443
ad3b266b
VM
84442011-03-29 Vladimir Makarov <vmakarov@redhat.com>
8445
8446 PR target/48336
8447 PR middle-end/48342
8448 PR rtl-optimization/48345
8449 * ira-color.c (setup_conflict_profitable_regs): Exclude prohibited
8450 hard regs for given mode from profitable regs when doing secondary
8451 allocation.
8452
633c9126
JL
84532011-03-29 Jeff Law <law@redhat.com>
8454
8455 PR bootstrap/48327
8456 * tree-ssa-threadupdate.c (struct redirection_data): Remove
8457 do_not_duplicate field.
8458 (lookup_redirection_data): Corresponding changes.
8459 (create_duplicates): Always create a template block.
8460 (redirect_edges): Remove code which reused the original block
8461 when it was going to become unreachable code.
8462 (thread_block): Don't set do_not_duplicate field.
8463
eb50f63a
JM
84642011-03-29 Joseph Myers <joseph@codesourcery.com>
8465
8466 * lto-opts.c (register_user_option_p, lto_register_user_option):
8467 Make type argument unsigned.
8468 * lto-streamer.h (lto_register_user_option): Make type argument
8469 unsigned.
8470 * opth-gen.awk: Make CL_* macros unsigned.
8471 * opts-common.c (find_opt): Make lang_mask argument unsigned.
8472 * opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
8473 CL_TARGET, CL_COMMON, CL_SEPARATE_NARGS_MASK, CL_SEPARATE_ALIAS,
8474 CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE, CL_DISABLED,
8475 CL_REPORT, CL_JOINED, CL_SEPARATE, CL_REJECT_NEGATIVE,
8476 CL_MISSING_OK, CL_UINTEGER, CL_UNDOCUMENTED): Make unsigned.
8477 (find_opt): Make lang_mask argument unsigned.
8478
76763a6d
VM
84792011-03-29 Vladimir Makarov <vmakarov@redhat.com>
8480
8481 PR rtl-optimization/48331
8482 PR rtl-optimization/48334
8483 * ira-color.c (color_allocnos): Call setup_profitable_hard_regs
8484 for any used algorithm.
8485
5c82436e
VM
84862011-03-29 Vladimir Makarov <vmakarov@redhat.com>
8487
8488 * ira-conflicts.c (build_object_conflicts): Add unused attribute
8489 to parent_max.
8490
7a81008b
UB
84912011-03-29 Uros Bizjak <ubizjak@gmail.com>
8492
8493 * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
8494 (alpha_option_override): Don't set alpha_sr_alias_set.
8495 (emit_frame_store_1): Use gen_frame_mem rather than calling
8496 set_mem_alias_set.
8497 (alpha_expand_epilogue): Ditto.
8498
86c8d1f6
IR
84992011-03-29 Ira Rosen <ira.rosen@linaro.org>
8500
8501 PR tree-optimization/48290
8502 * tree-vect-loop.c (vect_analyze_loop_operations): In outer loop
8503 vectorization, check that relevant phis in the basic block after
8504 the inner loop are really inner loop's exit phis.
8505
0d12220f
RS
85062011-03-29 Richard Sandiford <richard.sandiford@linaro.org>
8507
e8cf17e7 8508 PR debug/48190
0d12220f
RS
8509 * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
8510 (cached_dw_loc_list_def): New structure.
8511 (cached_dw_loc_list): New typedef.
8512 (cached_dw_loc_list_table): New variable.
8513 (cached_dw_loc_list_table_hash): New function.
8514 (cached_dw_loc_list_table_eq): Likewise.
8515 (add_location_or_const_value_attribute): Take a bool cache_p.
8516 Cache the list when the parameter is true.
8517 (gen_formal_parameter_die): Update caller.
8518 (gen_variable_die): Likewise.
8519 (dwarf2out_finish): Likewise.
8520 (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
8521 while generating debug info for the decl.
8522 (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
8523 (dwarf2out_init): Initialize cached_dw_loc_list_table.
8524 (resolve_addr): Cache the result of resolving a chain of
8525 location lists.
8526
1756cb66
VM
85272011-03-28 Vladimir Makarov <vmakarov@redhat.com>
8528
8529 * ira-color.c (update_left_conflict_sizes_p): Don't assume that
8530 conflict object hard regset nodes have intersecting hard reg sets.
7a81008b 8531
1756cb66
VM
8532 * regmove.c (regmove_optimize): Move ira_set_pseudo_classes call
8533 after regstat_init_n_sets_and_refs.
8534
8535 * ira.c: Add more comments at the top.
8536 (setup_stack_reg_pressure_class, setup_pressure_classes):
8537 Add comments how we compute the register pressure classes.
8538 (setup_allocno_and_important_classes): Add more comments.
8539 (setup_class_translate_array, reorder_important_classes)
8540 (setup_reg_class_relations): Add comments.
8541
8542 * ira-emit.c: Add 2011 to the Copyright line. Add comments at the
8543 start of the file.
8544
8545 * ira-color.c: Add 2011 to the Copyright line.
8546 (assign_hard_reg): Add more comments.
8547 (improve_allocation): Ditto.
8548
8549 * ira-costs.c: Add 2011 to the Copyright line.
8550 (setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more
8551 comments.
8552 (setup_regno_cost_classes_by_mode): Ditto.
8553
8554 Initial patches from ira-improv branch:
8555
8556 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
8557
f60c2554 8558 * ira-build.c (ira_create_object): Remove initialization of
1756cb66
VM
8559 OBJECT_PROFITABLE_HARD_REGS. Initialize OBJECT_ADD_DATA.
8560 (ira_create_allocno): Remove initialization of
8561 ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P,
8562 ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P,
8563 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
8564 ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO,
8565 ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO.
8566 Initialize ALLOCNO_ADD_DATA.
8567 (copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA
8568 and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and
8569 ALLOCNO_REG.
8570 (ira_flattening): Ditto. Use ALLOCNO_EMIT_DATA instead of
8571 ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P.
8572
8573 * ira.c (ira_reallocate): Remove.
8574 (setup_pressure_classes): Call
8575 ira_init_register_move_cost_if_necessary. Use
8576 ira_register_move_cost instead of ira_get_register_move_cost.
8577 (setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA.
8578 (ira): Call ira_initiate_emit_data and ira_finish_emit_data.
8579
8580 * ira-color.c: Use ALLOCNO_COLOR_DATA instead of
8581 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
8582 ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO,
8583 ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA
8584 instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE,
8585 OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM.
8586 Fix formatting.
7a81008b 8587 (object_hard_regs_t, object_hard_regs_node_t): Move from ira-int.h.
1756cb66
VM
8588 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
8589 (struct allocno_color_data): New.
8590 (allocno_color_data_t): New typedef.
8591 (allocno_color_data): New definition.
8592 (ALLOCNO_COLOR_DATA): New macro.
8593 (struct object_color_data): New.
8594 (object_color_data_t): New typedef.
8595 (object_color_data): New definition.
8596 (OBJECT_COLOR_DATA): New macro.
8597 (update_copy_costs, calculate_allocno_spill_cost): Call
8598 ira_init_register_move_cost_if_necessary. Use
8599 ira_register_move_cost instead of ira_get_register_move_cost.
8600 (move_spill_restore, update_curr_costs): Ditto.
8601 (allocno_spill_priority): Make it inline.
7a81008b 8602 (color_pass): Allocate and free allocno_color_dat and object_color_data.
1756cb66
VM
8603 (struct coalesce_data, coalesce_data_t): New.
8604 (allocno_coalesce_data): New definition.
8605 (ALLOCNO_COALESCE_DATA): New macro.
8606 (merge_allocnos, coalesced_allocno_conflict_p): Use
8607 ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO,
8608 ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP.
8609 (coalesce_allocnos): Ditto.
8610 (setup_coalesced_allocno_costs_and_nums): Ditto.
8611 (collect_spilled_coalesced_allocnos): Ditto.
8612 (slot_coalesced_allocno_live_ranges_intersect_p): Ditto.
8613 (setup_slot_coalesced_allocno_live_ranges): Ditto.
8614 (coalesce_spill_slots): Ditto.
8615 (ira_sort_regnos_for_alter_reg): Ditto. Allocate, initialize and
8616 free allocno_coalesce_data.
8617
8618 * ira-conflicts.c: Fix formatting.
8619 (process_regs_for_copy): Call
8620 ira_init_register_move_cost_if_necessary. Use
8621 ira_register_move_cost instead of ira_get_register_move_cost.
8622 (build_object_conflicts): Optimize.
8623
8624 * ira-costs.c (record_reg_classes): Optimize. Call
8625 ira_init_register_move_cost_if_necessary. Use
8626 ira_register_move_cost, ira_may_move_in_cost, and
8627 ira_may_move_out_cost instead of ira_get_register_move_cost and
8628 ira_get_may_move_cost.
8629 (record_address_regs): Ditto.
8630 (scan_one_insn): Optimize.
8631 (find_costs_and_classes): Optimize.
8632 (process_bb_node_for_hard_reg_moves): Call
8633 ira_init_register_move_cost_if_necessary. Use
8634 ira_register_move_cost instead of ira_get_register_move_cost.
8635
8636 * ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of
8637 ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST,
8638 ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P.
8639 (ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New
8640 definitions.
8641 (ira_initiate_emit_data, ira_finish_emit_data)
8642 (create_new_allocno): New functions.
7a81008b 8643 (modify_move_list): Call create_new_alloc instead of ira_create_allocno.
1756cb66
VM
8644 (emit_move_list): Call ira_init_register_move_cost_if_necessary.
8645 Use ira_register_move_cost instead of ira_get_register_move_cost.
8646
8647 * ira-int.h: Fix some comments.
7a81008b
UB
8648 (object_hard_regs_t, object_hard_regs_node_t): Move to ira-color.c.
8649 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
1756cb66
VM
8650 (struct ira_object): Remove profitable_hard_regs, hard_regs_node,
8651 hard_regs_subnodes_start, hard_regs_subnodes_num. Add new member
8652 add_data.
8653 (struct ira_allocno): Make mode and aclass a bitfield. Move other
8654 bitfield after mode. Make hard_regno a short int. Make
8655 hard_regno short. Remove first_coalesced_allocno and
8656 next_coalesced_allocno. Move mem_optimized_dest_p,
8657 somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest
8658 into struct ira_emit_data. Remove in_graph_p, may_be_spilled_p,
8659 available_regs_num, next_bucket_allocno, prev_bucket_allocno,
8660 temp, colorable_p. Add new member add_data.
8661 (ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove.
8662 (ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove.
8663 (ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove.
8664 (ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove.
8665 (ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove.
8666 (ALLOCNO_ADD_DATA): New macro.
8667 (ira_emit_data_t): New typedef.
8668 (struct ira_emit_data): New. Move mem_optimized_dest_p,
8669 somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest
8670 from struct ira_allocno.
8671 (ALLOCNO_EMIT_DATA): New macro.
8672 (ira_allocno_emit_data, allocno_emit_reg): New.
8673 (ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove.
7a81008b 8674 (OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM): Remove.
1756cb66
VM
8675 (OBJECT_ADD_DATA): New macro.
8676 (ira_reallocate): Remove.
8677 (ira_initiate_emit_data, ira_finish_emit_data): New.
8678 (ira_get_register_move_cost, ira_get_may_move_cost): Remove.
8679 (ira_init_register_move_cost_if_necessary): New.
8680 (ira_object_conflict_iter_next): Merge into
8681 ira_object_conflict_iter_cond.
7a81008b 8682 (FOR_EACH_OBJECT_CONFLICT): Don't use ira_object_conflict_iter_next.
1756cb66 8683
f60c2554 8684 * ira-live.c (process_single_reg_class_operands): Call
1756cb66
VM
8685 ira_init_register_move_cost_if_necessary. Use
8686 ira_register_move_cost instead of ira_get_register_move_cost.
8687
8688 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
8689
8690 * ira-int.h (struct target_ira_int): Remove x_cost_classes.
8691
8692 * ira-costs.c: Fix formatting.
8693 (cost_classes, cost_classes_num): Remove.
8694 (struct cost_classes, cost_classes_t, const_cost_classes_t): New.
8695 (regno_cost_classes, cost_classes_hash, cost_classes_eq): New.
8696 (cost_classes_del, cost_classes_htab): New.
8697 (cost_classes_aclass_cache, cost_classes_mode_cache): New.
8698 (initiate_regno_cost_classes, setup_cost_classes): New.
8699 (setup_regno_cost_classes_by_aclass): New.
7a81008b 8700 (setup_regno_cost_classes_by_mode, finish_regno_cost_classes): New.
1756cb66
VM
8701 (record_reg_classes): Use regno_cost_classes instead of
8702 cost_classes. Move checking opposite operand up.
8703 (record_address_regs): Use regno_cost_classes
8704 instead of cost_classes.
8705 (scan_one_insn): Ditto. Use always general register.
8706 (print_allocno_costs): Use regno_cost_classes instead of
8707 cost_classes.
8708 (print_pseudo_costs): Ditto. Use Reg_N_REFS.
8709 (find_costs_and_classes): Set up cost classes for each registers.
8710 Use also their mode for this. Use regno_cost_classes instead of
8711 cost_classes.
8712 (setup_allocno_class_and_costs): Use regno_cost_classes instead of
8713 cost_classes.
8714 (free_ira_costs, ira_init_costs): Don't use cost_classes.
8715 (ira_costs, ira_set_pseudo_classes): Call
8716 initiate_regno_cost_classes and finish_regno_cost_classes.
8717
8718 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
8719
8720 * target-def.h (TARGET_IRA_COVER_CLASSES): Remove.
8721
8722 * target.def (ira_cover_classes): Remove.
8723
7a81008b 8724 * doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and IRA_COVER_CLASSES.
1756cb66
VM
8725
8726 * doc/tm.texi.in: Ditto.
8727
8728 * ira-conflicts.c: Remove mentioning cover classes from the file.
8729 Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use
7a81008b 8730 ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST. Fix formatting.
1756cb66
VM
8731
8732 * targhooks.c (default_ira_cover_classes): Remove.
8733
8734 * targhooks.h (default_ira_cover_classes): Ditto.
8735
8736 * haifa-sched.c: Remove mentioning cover classes from the file.
8737 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
8738 ira_pressure_classes and ira_pressure_classes_num instead of
8739 ira_reg_class_cover_size and ira_reg_class_cover. Use
8740 sched_regno_pressure_class instead of sched_regno_cover_class.
8741 (mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use
8742 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
8743
8744 * ira-int.h: Add 2010 to Copyright. Remove mentioning cover
8745 classes from the file.
8746 (object_hard_regs_t, object_hard_regs_node_t): New typedefs.
8747 (struct object_hard_regs, struct object_hard_regs_node): New.
8748 (struct ira_object): New members profitable_hard_regs,
8749 hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num.
8750 (struct ira_allocno): Rename cover_class to aclass. Rename
8751 cover_class_cost and updated_cover_class_cost to class_cost and
8752 updated_class_cost. Remove splay_removed_p and
8753 left_conflict_size. Add new members colorable_p.
8754 (ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove.
8755 (ALLOCNO_COLORABLE_P): New macro.
8756 (ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS.
8757 (ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST):
8758 Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST.
8759 (OBJECT_...): Rename parameter C to O.
8760 (OBJECT_PROFITABLE_HARD_REGS): New macro.
8761 (OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START)
8762 (OBJECT_HARD_REGS_SUBNODES_NUM): New macros.
8763 (struct target_ira_int): New members x_ira_max_memory_move_cost,
8764 x_ira_max_register_move_cost, x_ira_max_may_move_in_cost,
8765 x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p,
8766 x_ira_reg_pressure_class_p, x_ira_important_class_nums,
8767 x_ira_reg_class_superunion. Rename x_prohibited_class_mode_reg to
8768 x_ira_prohibited_class_mode_reg. Rename x_ira_reg_class_union to
8769 x_ira_reg_class_subunion.
8770 (ira_max_memory_move_cost, ira_max_register_move_cost)
8771 (ira_max_may_move_in_cost, ira_max_may_move_out_cost)
8772 (ira_reg_allocno_class_p, ira_reg_pressure_class_p)
8773 (ira_important_class_nums, ira_reg_class_superunion): New macros.
7a81008b 8774 (prohibited_class_mode_regs): Rename to ira_prohibited_class_mode_regs.
1756cb66
VM
8775 (ira_reg_class_union): Rename to ira_reg_class_subunion.
8776 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
8777 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
8778 (ira_tune_allocno_costs_and_cover_classes): Rename to
8779 ira_tune_allocno_costs.
8780 (ira_debug_hard_regs_forest): New.
8781 (ira_object_conflict_iter_init, ira_object_conflict_iter_cond)
8782 (ira_object_conflict_iter_next): Fix comments.
7a81008b 8783 (ira_hard_reg_set_intersection_p, hard_reg_set_size): New functions.
1756cb66
VM
8784 (ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename
8785 cover_class to aclass.
8786 (ira_allocate_and_accumulate_costs): Ditto.
8787 (ira_allocate_and_set_or_copy_costs): Ditto.
8788
8789 * opts.c (decode_options): Remove ira_cover_class check.
8790
8791 * ira-color.c: Remove mentioning cover classes from the file. Use
8792 ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST
8793 instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and
8794 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
8795 (splay-tree.h): Remove include.
8796 (allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move
8797 before copy_freq_compare_func.
8798 (allocnos_for_spilling, removed_splay_allocno_vec): Remove.
8799 (object_hard_regs_vec, object_hard_regs_htab, node_check_tick):
8800 New definitions.
8801 (hard_regs_roots, hard_regs_node_vec): Ditto.
8802 (object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto.
8803 (insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto.
8804 (finish_object_hard_regs, object_hard_regs_compare): Ditto.
8805 (create_new_object_hard_regs_node): Ditto.
8806 (add_new_object_hard_regs_node_to_forest): Ditto.
7a81008b 8807 (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): Ditto.
1756cb66
VM
8808 (setup_object_hard_regs_nodes_parent, first_common_ancestor_node):
8809 Ditto.
8810 (print_hard_reg_set, print_hard_regs_subforest): Ditto.
8811 (print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto.
8812 (remove_unused_object_hard_regs_nodes): Ditto.
8813 (enumerate_object_hard_regs_nodes): Ditto.
8814 (object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto.
8815 (object_hard_regs_subnode_t): Ditto.
8816 (struct object_hard_regs_subnode): Ditto.
8817 (object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto.
8818 (setup_object_hard_regs_subnode_index): Ditto.
8819 (get_object_hard_regs_subnodes_num): Ditto.
8820 (form_object_hard_regs_nodes_forest): Ditto.
8821 (finish_object_hard_regs_nodes_tree): Ditto.
8822 (finish_object_hard_regs_nodes_forest): Ditto.
8823 (allocnos_have_intersected_live_ranges_p): Rename to
7a81008b 8824 allocnos_conflict_by_live_ranges_p. Move before copy_freq_compare_func.
1756cb66
VM
8825 (pseudos_have_intersected_live_ranges_p): Rename to
8826 conflict_by_live_ranges_p. Move before copy_freq_compare_func.
8827 (setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto.
8828 (empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto.
8829 (update_copy_costs): Remove assert. Skip cost update if the hard
8830 reg does not belong the class.
8831 (assign_hard_reg): Process only profitable hard regs.
8832 (uncolorable_allocnos_num): Make it scalar.
8833 (allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
8834 and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE
8835 and ira_reg_class_max_nregs.
8836 (bucket_allocno_compare_func): Check frequency first.
8837 (sort_bucket): Add compare function as a parameter.
8838 (add_allocno_to_ordered_bucket): Assume no coalesced allocnos.
8839 (uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove.
8840 (push_allocno_to_stack): Rewrite for checking new allocno
8841 colorability.
7a81008b 8842 (remove_allocno_from_bucket_and_push): Print cost too. Remove assert.
1756cb66
VM
8843 (push_only_colorable): Pass new parameter to sort_bucket.
8844 (push_allocno_to_spill): Remove.
8845 (allocno_spill_priority_compare): Make it inline and rewrite.
8846 (splay_tree_allocate, splay_tree_free): Remove.
8847 (allocno_spill_sort_compare): New function.
8848 (push_allocnos_to_stack): Sort allocnos for spilling once. Don't
8849 build and use splay tree. Choose first allocno in uncolorable
8850 allocno bucket to spill. Remove setting spill cost.
8851 (all_conflicting_hard_regs): Remove.
8852 (setup_allocno_available_regs_num): Check only profitable hard
8853 regs. Print info about hard regs nodes.
8854 (setup_allocno_left_conflicts_size): Remove.
8855 (put_allocno_into_bucket): Don't call
7a81008b 8856 setup_allocno_left_conflicts_size. Use setup_left_conflict_sizes_p.
1756cb66
VM
8857 (improve_allocation): New.
8858 (color_allocnos): Call setup_profitable_hard_regs,
8859 form_object_hard_regs_nodes_forest, improve_allocation,
8860 finish_object_hard_regs_nodes_forest. Setup spill cost.
8861 (print_loop_title): Use pressure classes.
8862 (color_allocnso): Ditto.
8863 (do_coloring): Remove allocation and freeing splay_tree_node_pool
8864 and allocnos_for_spilling.
8865 (ira_sort_regnos_for_alter_reg): Don't setup members
8866 {first,next}_coalesced_allocno.
8867 (color): Remove allocating and freeing removed_splay_allocno_vec.
8868 (fast_allocation): Use ira_prohibited_class_mode_regs instead of
8869 prohibited_class_mode_regs.
8870
8871 * ira-lives.c: Remove mentioning cover classes from the file. Fix
8872 formatting.
8873 (update_allocno_pressure_excess_length): Use pressure classes.
8874 (inc_register_pressure, dec_register_pressure): Check for pressure
8875 class.
8876 (mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use
8877 pressure class. Use ira_reg_class_nregs instead of
8878 ira_reg_class_max_nregs.
8879 (mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto.
8880 (mark_hard_reg_live, mark_hard_reg_dead): Use pressure class.
8881 (single_reg_class): Use ira_reg_class_nregs instead of
8882 ira_reg_class_max_nregs.
8883 (process_bb_node_lives): Use pressure classes.
8884
8885 * ira-emit.c: Remove mentioning cover classes from the file. Use
8886 ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting.
8887 (change_loop): Use pressure classes.
8888 (modify_move_list): Call ira_set_allocno_class instead of
8889 ira_set_allocno_cover_class.
8890
8891 * ira-build.c: Remove mentioning cover classes from the file. Use
8892 ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of
8893 ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST. Use
8894 ALLOCNO_UPDATED_CLASS_COST instead of
8895 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
8896 (ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS.
8897 (ira_create_allocno): Remove initialization of
8898 ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE. Initialize
8899 ALLOCNO_COLORABLE_P.
8900 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
8901 Update conflict regs for the objects.
8902 (create_cap_allocno): Remove assert. Don't propagate
8903 ALLOCNO_AVAILABLE_REGS_NUM.
8904 (ira_free_allocno_costs): New function.
8905 (finish_allocno): Change a part of code into call of
8906 ira_free_allocno_costs.
8907 (low_pressure_loop_node_p): Use pressure classes.
8908 (object_range_compare_func): Don't compare classes.
8909 (setup_min_max_conflict_allocno_ids): Ditto.
8910
8911 * loop-invariant.c: Remove mentioning cover classes from the file.
8912 Use ira_pressure_classes and ira_pressure_classes_num instead of
8913 ira_reg_class_cover_size and ira_reg_class_cover. Fix formatting.
7a81008b
UB
8914 (get_cover_class_and_nregs): Rename to get_cover_pressure_and_nregs.
8915 Use ira_reg_class_max_nregs instead of ira_reg_class_nregs.
8916 Use reg_allocno_class instead of reg_cover_class.
1756cb66
VM
8917 (get_inv_cost): Use instead ira_stack_reg_pressure_class of
8918 STACK_REG_COVER_CLASS.
8919 (get_regno_cover_class): Rename to get_regno_pressure_class.
8920 (move_loop_invariants): Initialize and finalize regstat.
8921
8922 * ira.c: Remove mentioning cover classes from the file. Add
8923 comments about coloring without cover classes. Use ALLOCNO_CLASS
8924 instead of ALLOCNO_COVER_CLASS. Fix formatting.
8925 (alloc_reg_class_subclasses, setup_reg_subclasses): Move it before
8926 setup_class_subset_and_memory_move_costs.
8927 (setup_stack_reg_pressure_class, setup_pressure_classes): New.
8928 (setup_cover_and_important_classes): Rename to
8929 setup_allocno_and_important_classes.
8930 (setup_class_translate_array): New.
8931 (setup_class_translate): Call it for allocno and pressure classes.
8932 (cover_class_order): Rename to allocno_class_order.
8933 (comp_reg_classes_func): Use ira_allocno_class_translate instead
8934 of ira_class_translate.
8935 (reorder_important_classes): Set up ira_important_class_nums.
8936 (setup_reg_class_relations): Set up ira_reg_class_superunion.
8937 (print_class_cover): Rename to print_classes. Add parameter.
8938 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
8939 Print pressure classes too.
8940 (find_reg_class_closure): Rename to find_reg_classes. Don't call
8941 setup_reg_subclasses.
7a81008b 8942 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
8943 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
8944 (setup_prohibited_class_mode_regs): Use
7a81008b 8945 ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs.
1756cb66
VM
8946 (clarify_prohibited_class_mode_regs): New function.
8947 (ira_init_register_move_cost): Set up ira_max_register_move_cost,
8948 ira_max_may_move_in_cost, and ira_max_may_move_out_cost.
8949 (ira_init_once): Initialize them.
8950 (free_register_move_costs): Process them.
8951 (ira_init): Move calls of find_reg_classes and
8952 setup_hard_regno_aclass after setup_prohibited_class_mode_regs.
8953 Call clarify_prohibited_class_mode_regs.
8954 (ira_no_alloc_reg): Remove.
8955 (too_high_register_pressure_p): Use pressure classes.
8956
8957 * sched-deps.c: Remove mentioning cover classes from the file.
8958 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
8959 ira_pressure_classes and ira_pressure_classes_num instead of
8960 ira_reg_class_cover_size and ira_reg_class_cover.
8961 (mark_insn_hard_regno_birth, mark_hard_regno_death): Use
8962 sched_regno_pressure_class instead of sched_regno_cover_class.
8963 (mark_insn_pseudo_birth, mark_pseudo_death): Ditto. Use
8964 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
8965
8966 * ira.h: Add 2010 to Copyright.
8967 (ira_no_alloc_reg): Remove external.
8968 (struct target_ira): Rename x_ira_hard_regno_cover_class,
8969 x_ira_reg_class_cover_size, x_ira_reg_class_cover, and
8970 x_ira_class_translate to x_ira_hard_regno_allocno_class,
8971 x_ira_allocno_classes_num, x_ira_allocno_classes, and
8972 x_ira_allocno_class_translate. Add x_ira_pressure_classes_num,
8973 x_ira_pressure_classes, x_ira_pressure_class_translate, and
8974 x_ira_stack_reg_pressure_class. Rename x_ira_reg_class_nregs to
8975 x_ira_reg_class_max_nregs. Add x_ira_reg_class_min_nregs and
8976 x_ira_no_alloc_regs.
7a81008b 8977 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
8978 (ira_reg_class_cover_size, ira_reg_class_cover): Rename to
8979 ira_allocno_classes_num and ira_allocno_classes.
8980 (ira_class_translate): Rename to ira_allocno_class_translate.
8981 (ira_pressure_classes_num, ira_pressure_classes): New definitions.
8982 (ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto.
8983 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
8984 (ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New
8985 (ira_no_alloc_regs): New.
8986
8987 * ira-costs.c: Add 2010 to Copyright. Remove mentioning cover
8988 classes from the file. Use ALLOCNO_CLASS instead of
8989 ALLOCNO_COVER_CLASS. Use ALLOCNO_CLASS_COST instead of
8990 ALLOCNO_COVER_CLASS_COST.
8991 (regno_cover_class): Rename to regno_aclass.
8992 (record_reg_classes): Use ira_reg_class_subunion instead of
8993 ira_reg_class_union.
8994 (record_address_regs): Check overflow.
8995 (scan_one_insn): Ditto.
7a81008b 8996 (print_allocno_costs): Print total mem cost fore regional allocation.
1756cb66
VM
8997 (print_pseudo_costs): Use REG_N_REFS.
8998 (find_costs_and_classes): Use classes intersected with them on the
8999 1st pass. Check overflow. Use ira_reg_class_subunion instead of
9000 ira_reg_class_union. Use ira_allocno_class_translate and
9001 regno_aclass instead of ira_class_translate and regno_cover_class.
9002 Modify code for finding regno_aclass. Setup preferred classes for
9003 the next pass.
9004 (setup_allocno_cover_class_and_costs): Rename to
9005 setup_allocno_class_and_costs. Use regno_aclass instead of
9006 regno_cover_class. Use ira_set_allocno_class instead of
9007 ira_set_allocno_cover_class.
9008 (init_costs, finish_costs): Use regno_aclass instead of
9009 regno_cover_class.
9010 (ira_costs): Use setup_allocno_class_and_costs instead of
9011 setup_allocno_cover_class_and_costs.
9012 (ira_tune_allocno_costs_and_cover_classes): Rename to
9013 ira_tune_allocno_costs. Check overflow. Skip conflict hard regs
9014 by processing objects. Use ira_reg_class_max_nregs instead of
9015 ira_reg_class_nregs.
9016
9017 * rtl.h (reg_cover_class): Rename to reg_allocno_class.
9018
9019 * sched-int.h: Remove mentioning cover classes from the file.
9020 (sched_regno_cover_class): Rename to sched_regno_pressure_class.
9021
9022 * reginfo.c: Add 2010 to Copyright. Remove mentioning cover
9023 classes from the file.
9024 (struct reg_pref): Rename coverclass into allocnoclass.
9025 (reg_cover_class): Rename to reg_allocno_class.
9026
7a81008b 9027 * Makefile.in (ira-color.o): Remove SPLAY_TREE_H from dependencies.
1756cb66
VM
9028
9029 * config/alpha/alpha.h (IRA_COVER_CLASSES): Remove.
9030
9031 * config/arm/arm.h (IRA_COVER_CLASSES): Ditto.
9032
9033 * config/avr/avr.h (IRA_COVER_CLASSES): Ditto.
9034
9035 * config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto.
9036
9037 * config/cris/cris.h (IRA_COVER_CLASSES): Ditto.
9038
9039 * config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto.
9040
9041 * config/frv/frv.h (IRA_COVER_CLASSES): Ditto.
9042
9043 * config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto.
9044
9045 * config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto.
9046
9047 * config/i386/i386.c (TARGET_IRA_COVER_CLASSES)
9048 (i386_ira_cover_classes): Ditto.
9049
9050 * config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.
9051
9052 * config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto.
9053
9054 * config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto.
9055
9056 * config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto.
9057
9058 * config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto.
9059
9060 * config/mep/mep.h (IRA_COVER_CLASSES): Ditto.
9061
9062 * config/mips/mips.c (TARGET_IRA_COVER_CLASSES)
9063 (mips_ira_cover_classes): Ditto.
9064
9065 * config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto.
9066
9067 * config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto.
9068
9069 * config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto.
9070
9071 * config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto.
9072
9073 * config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto.
9074
9075 * config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX)
9076 (IRA_COVER_CLASSES_VSX): Ditto.
9077
9078 * config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES)
9079 (rs6000_ira_cover_classes): Ditto.
9080
9081 * config/rx/rx.h (IRA_COVER_CLASSES): Ditto.
9082
9083 * config/s390/s390.h (IRA_COVER_CLASSES): Ditto.
9084
9085 * config/score/score.h (IRA_COVER_CLASSES): Ditto.
9086
9087 * config/sh/sh.h (IRA_COVER_CLASSES): Ditto.
9088
9089 * config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto.
9090
9091 * config/spu/spu.h (IRA_COVER_CLASSES): Ditto.
9092
9093 * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto.
9094
9095 * config/v850/v850.h (IRA_COVER_CLASSES): Ditto.
9096
9097 * config/vax/vax.h (IRA_COVER_CLASSES): Ditto.
9098
9099 * config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto.
9100
2b80199f
JJ
91012011-03-29 Jakub Jelinek <jakub@redhat.com>
9102
71dae1fe
JJ
9103 PR debug/48253
9104 * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
9105 dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
9106 dw_fde_unlikely_section_end_label, cold_in_std_section,
9107 dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
9108 Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
9109 fields.
9110 (output_fde): Use dw_fde_second_{begin,end} if second is
9111 true, otherwise dw_fde_{begin,end}.
9112 (output_call_frame_info): Test dw_fde_second_begin != NULL
9113 instead of dw_fde_switched_sections.
9114 (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
9115 fields, initialize new fields. Initialize in_std_section
9116 unconditionally from the first partition.
9117 (dwarf2out_end_epilogue): Don't override dw_fde_end when
9118 dw_fde_second_begin is non-NULL.
9119 (dwarf2out_switch_text_section): Stop initializing removed
9120 dw_fde_struct fields, initialize new fields, initialize
9121 also dw_fde_end here. Set dw_fde_switch_cfi even when
9122 dwarf2out_do_cfi_asm (). Call var_location_switch_text_section.
9123 (struct var_loc_list_def): Add last_before_switch field.
9124 (arange_table, arange_table_allocated, arange_table_in_use,
9125 ARANGE_TABLE_INCREMENT, add_arange): Removed.
9126 (size_of_aranges): Count !in_std_section and !second_in_std_section
9127 hunks in fdes, instead of looking at arange_table_in_use.
9128 (output_aranges): Add aranges_length argument, don't call
9129 size_of_aranges here. Instead of using aranges_table*
9130 emit ranges for fdes when !in_std_section resp.
9131 !second_in_std_section.
9132 (dw_loc_list): Break ranges crossing section switch.
9133 (convert_cfa_to_fb_loc_list): Likewise. If switched sections,
7a81008b 9134 use dw_fde_second_end instead of dw_fde_end as end of last range.
71dae1fe
JJ
9135 (gen_subprogram_die): Don't call add_arange. Use
9136 dw_fde_{begin,end} for first partition and if switched
9137 section dw_fde_second_{begin,end} for the second.
9138 (var_location_switch_text_section_1,
9139 var_location_switch_text_section): New functions.
9140 (dwarf2out_begin_function): Initialize cold_text_section even
9141 when function_section () isn't text_section.
9142 (prune_unused_types): Don't walk arange_table.
9143 (dwarf2out_finish): Don't needlessly test
9144 flag_reorder_blocks_and_partition when testing cold_text_section_used.
9145 If info_section_emitted, call size_of_aranges and if it indicates
9146 non-empty .debug_aranges, call output_aranges with the computed
9147 size. Stop using removed dw_fde_struct fields, use
9148 dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
9149 for second.
9150
2b80199f
JJ
9151 PR debug/48203
9152 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Only
9153 create ENTRY_VALUE if incoming or address of incoming's MEM
9154 is a hard REG.
9155 * dwarf2out.c (mem_loc_descriptor): Don't emit
9156 DW_OP_GNU_entry_value of DW_OP_fbreg.
9157 * var-tracking.c (vt_add_function_parameter): Ensure cselib_lookup
9158 on ENTRY_VALUE is able to find the canonical parameter VALUE.
9159 * cselib.c (rtx_equal_for_cselib_1) <case ENTRY_VALUE>: Use
9160 rtx_equal_p instead of rtx_equal_for_cselib_1 to compare
9161 ENTRY_VALUE_EXPs.
9162 (cselib_hash_rtx) <case ENTRY_VALUE>: If ENTRY_VALUE_EXP
9163 is a REG_P or MEM_P with REG_P address, compute hash directly
9164 instead of calling cselib_hash_rtx on ENTRY_VALUE_EXP.
9165 (preserve_only_constants): Don't clear VALUES forwaring
9166 ENTRY_VALUE to some other VALUE.
9167
8a445129
RS
91682011-03-28 Richard Sandiford <richard.sandiford@linaro.org>
9169
9170 * builtins.c (expand_builtin_memset_args): Use gen_int_mode
9171 instead of GEN_INT.
9172
c82fee88
EB
91732011-03-28 Eric Botcazou <ebotcazou@adacore.com>
9174
9175 * cfgexpand.c (expand_gimple_cond): Always set the source location and
9176 block before expanding the statement.
9177 (expand_gimple_stmt_1): Likewise. Set them here...
9178 (expand_gimple_stmt): ...and not here. Tidy.
9179 * cfglayout.c (curr_insn_locator): Return 0 if the current location is
9180 unknown.
9181
e45425ec
SB
91822011-03-28 Steven Bosscher <steven@gcc.gnu.org>
9183
9184 * Makefile.in: New rule for cprop.o.
9185 * gcse.c: Move constant/copy propagation to cprop.c.
9186 (compute_local_properties): Only handle expression tables.
9187 (hash_scan_set, compute_hash_table_work, alloc_hash_table,): Likewise.
9188 (one_pre_gcse_pass, one_code_hoisting_pass): Likewise.
9189 (hash_set, insert_set_in_table, gcse_constant_p, lookup_set,
9190 next_set, reset_opr_set_tables, oprs_not_set_p, mark_call, mark_set,
7a81008b 9191 mark_clobber, mark_oprs_set, alloc_cprop_mem, free_cprop_mem,
e45425ec
SB
9192 compute_cprop_data, find_used_regs, try_replace_reg,
9193 find_avail_set, cprop_jump, constprop_register, cprop_insn,
9194 local_cprop_find_used_regs, do_local_cprop, local_cprop_pass,
9195 fis_get_condition, implicit_set_cond_p, find_implicit_sets,
9196 find_bypass_set, reg_killed_on_edge, bypass_block,
9197 bypass_conditional_jumps, one_cprop_pass, gate_rtl_cprop,
9198 execute_rtl_cprop, pass_rtl_cprop): Move to...
9199 * cprop.c: ...here. New file, constant/copy propagation for RTL
9200 moved from gcse.c to here with minor cleanups in duplicated code.
9201
c09d5426
L
92022011-03-28 H.J. Lu <hongjiu.lu@intel.com>
9203
9204 * config/i386/i386.c (flag_opts): Fix a typo in
9205 -mavx256-split-unaligned-store.
9206
9eaa7740
AS
92072011-03-28 Anatoly Sokolov <aesok@post.ru>
9208
9209 * config/h8300/h8300.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
9210 LIBCALL_VALUE): Remove macros.
9211 * config/h8300/h8300.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
9212 TARGET_FUNCTION_VALUE_REGNO_P): Define.
9213 (h8300_function_value, h8300_libcall_value,
9214 h8300_function_value_regno_p): New functions.
9215
dcec2be2
AS
92162011-03-28 Anatoly Sokolov <aesok@post.ru>
9217
9218 * config/h8300/h8300.h (ASM_OUTPUT_BSS): Remove macro.
9219
520af9ec
JL
92202011-03-28 Jeff Law <law@redhat.com>
9221
9222 * tree-ssa-threadupdate.c (redirect_edges): Call
9223 create_edge_and_update_destination_phis as needed.
9224 (create_edge_and_update_destination_phis): Accept new BB argument.
9225 All callers updated.
9226 (thread_block): Do not update the profile when threading around
9227 intermediate blocks.
9228 (thread_single_edge): Likewise.
9229 (determine_bb_domination_status): If BB is not a successor of the
9230 loop header, return NONDOMINATING.
9231 (register_jump_thread): Note when we register a jump thread around
9232 an intermediate block.
9233 * tree-ssa-threadedge.c (thread_around_empty_block): New function.
9234 (thread_across_edge): Use it.
9235
7450b54f
TG
92362011-03-28 Tristan Gingold <gingold@adacore.com>
9237
9238 * config/ia64/ia64.c (ia64_promote_function_mode): Fix promotion
9239 when for_return is 2.
9240
649beb33
JL
92412011-03-28 Jeff Law <law@redhat.com>
9242
9243 * var-tracking.c (canonicalize_values_mark): Delete unused
9244 lhs assignment.
9245 (canonicalize_values_star, set_variable_part): Likewise.
9246 (clobber_variable_part, delete_variable_part): Likewise.
9247
d5b8da97
SB
92482011-03-28 Steven Bosscher <steven@gcc.gnu.org>
9249
9250 * gcse.c (free_gcse_mem): Free reg_set_bitmap.
9251
322dd859
MJ
92522011-03-28 Martin Jambor <mjambor@suse.cz>
9253
9254 * tree-inline.c (expand_call_inline): Do not check that destination
9255 node is analyzed.
9256 (optimize_inline_calls): Assert that destination node is analyzed.
9257 * cgraph.c (cgraph_add_new_function): Call cgraph_analyze_function, do
9258 not call tree_lowering_passes.
9259 * cgraph.h (cgraph_analyze_function): Declare.
9260 * cgraphunit.c (cgraph_analyze_function): Make public.
9261
aa53e58b
JM
92622011-03-28 Joseph Myers <joseph@codesourcery.com>
9263
9264 * config/sparc/sparc-opts.h: New.
9265 * config/sparc/sparc.c (sparc_handle_option, sparc_select,
9266 sparc_cpu, fpu_option_set, TARGET_HANDLE_OPTION): Remove.
9267 (sparc_option_override): Store processor_type enumeration rather
9268 than string in cpu_default. Remove name and enumeration from
9269 cpu_table. Directly default -mcpu then default -mtune from -mcpu
9270 without using sparc_select. Use target_flags_explicit instead of
9271 fpu_option_set.
9272 * config/sparc/sparc.h (enum processor_type): Move to
9273 sparc-opts.h.
9274 (sparc_cpu, struct sparc_cpu_select, sparc_select): Remove.
9275 * config/sparc/sparc.opt (config/sparc/sparc-opts.h): New
9276 HeaderInclude entry.
9277 (mcpu=, mtune=): Use Var and Enum.
9278 (sparc_processor_type): New Enum and EnumValue entries.
9279
dd350eba
RO
92802011-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9281 Iain Sandoe <iains@gcc.gnu.org>
9282
9283 PR target/48245
9284 * config/darwin.h (LINK_COMMAND_SPEC_A): Use LINK_PLUGIN_SPEC.
9285
1b29f05e
EB
92862011-03-28 Eric Botcazou <ebotcazou@adacore.com>
9287
9288 * tree-vectorizer.h (vect_create_data_ref_ptr): Adjust prototype.
9289 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add GSI parameter.
9290 Insert new statements at it in lieu of STMT.
9291 (vect_setup_realignment): Adjust call to vect_create_data_ref_ptr.
9292 * tree-vect-stmts.c (vectorizable_store): Likewise.
9293 (vectorizable_load): Likewise.
9294
506e6808
UB
92952011-03-28 Uros Bizjak <ubizjak@gmail.com>
9296
9297 * config/alpha/alpha.md (addtf3): Change mode of operands to TFmode.
9298 (divtf3): Ditto.
9299 (multf3): Ditto.
9300 (subtf3): Ditto.
9301
2e939ee9
L
93022011-03-27 H.J. Lu <hongjiu.lu@intel.com>
9303
9304 * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
9305 unaligned 256bit load/store.
9306 (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
9307 (*avx_movdqu<avxmodesuffix>): Likewise.
9308
5e85ab88
JDA
93092011-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9310
9311 PR target/48288
9312 * config/pa/predicates.md (reg_or_ior_operand): New predicate.
9313 * config/pa/pa.md (iordi3): Use new predicate in expander.
9314 (iorsi3): Likewise.
9315
47be3d6d
AS
93162011-03-27 Anatoly Sokolov <aesok@post.ru>
9317
506e6808 9318 * config/mips/mips.h (LIBCALL_VALUE, FUNCTION_VALUE,
47be3d6d 9319 FUNCTION_VALUE_REGNO_P): Remove macros.
506e6808
UB
9320 * config/mips/mips-protos.h (mips_function_value): Remove.
9321 * config/mips/mips.c (mips_function_value): Rename to...
47be3d6d
AS
9322 (mips_function_value_1): ... this. Make static. Handle receiving
9323 the function type in 'fn_decl_or_type' argument.
9324 (mips_function_value, mips_libcall_value,
9325 mips_function_value_regno_p): New function.
9326 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
9327 TARGET_FUNCTION_VALUE_REGNO_P): Define.
9328
d253656a
L
93292011-03-27 H.J. Lu <hongjiu.lu@intel.com>
9330
9331 * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
9332 and -mavx256-split-unaligned-store.
9333 (ix86_option_override_internal): Split 32-byte AVX unaligned
9334 load/store by default.
9335 (ix86_avx256_split_vector_move_misalign): New.
9336 (ix86_expand_vector_move_misalign): Use it.
9337
9338 * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
9339 -mavx256-split-unaligned-store.
9340
9341 * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
9342 256bit load/store. Generate unaligned store on misaligned memory
9343 operand.
9344 (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
9345 256bit load/store.
9346 (*avx_movdqu<avxmodesuffix>): Likewise.
9347
9348 * doc/invoke.texi: Document -mavx256-split-unaligned-load and
9349 -mavx256-split-unaligned-store.
9350
1ea9206a
RS
93512011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
9352
9353 PR target/38598
9354 * config/mips/mips.md (extendsidi2): Add an "l" alternative.
9355 Update commentary.
9356
b99ce2a8
RS
93572011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
9358
9359 * config/mips/mips.c (mips_prepare_builtin_arg): Replace icode and
9360 opno arguments with an expand_operand. Use create_input_operand.
9361 (mips_prepare_builtin_target): Delete.
9362 (mips_expand_builtin_insn, mips_expand_builtin_compare_1): New
9363 functions.
9364 (mips_expand_builtin_direct): Use create_output_operand and
9365 mips_expand_builtin_insn. Update call to mips_prepare_builtin_arg.
9366 (mips_expand_builtin_movtf): Likewise. Use mips_expand_fp_comparison.
9367 (mips_expand_builtin_compare): Use mips_expand_fp_comparison.
9368
69d52339
IR
93692011-03-27 Ira Rosen <ira.rosen@linaro.org>
9370
9371 * config/arm/arm.c (arm_autovectorize_vector_sizes): New
9372 function.
9373 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
9374
ba5e9aca
EB
93752011-03-26 Eric Botcazou <ebotcazou@adacore.com>
9376
9377 * basic-block.h (fixup_abnormal_edges): Adjust prototype.
9378 * reload1.c (reload): Adjust call to fixup_abnormal_edges. Rediscover
9379 basic blocks and call commit_edge_insertions directly.
9380 (fixup_abnormal_edges): Move from here to...
9381 * cfgrtl.c (fixup_abnormal_edges): ...here. Only insert instructions
9382 on the edges and return whether some have actually been inserted.
9383 * reg-stack.c (convert_regs): Fix up abnormal edges before inserting
9384 compensation code.
9385
5d369d58
AB
93862011-03-26 Andrey Belevantsev <abel@ispras.ru>
9387
9388 PR rtl-optimization/48144
9389 * sel-sched-ir.c (merge_history_vect): Factor out from ...
9390 (merge_expr_data): ... here.
9391 (av_set_intersect): Rename to av_set_code_motion_filter.
9392 Update all callers. Call merge_history_vect when an expression
9393 is found in both sets.
9394 * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
9395
f082c000
AM
93962011-03-26 Alan Modra <amodra@gmail.com>
9397
9398 * config/rs6000/predicates.md (word_offset_memref_op): Handle
9399 cmodel medium addresses.
9400 * config/rs6000/rs6000.c (rs6000_secondary_reload): Handle misaligned
9401 64-bit gpr loads and stores.
9402 (rs6000_secondary_reload_ppc64): New function.
9403 * config/rs6000/rs6000-protos.h: Declare it.
9404 * config/rs6000/rs6000.md (reload_di_store, reload_di_load): New.
9405
8ac5e12e
AM
94062011-03-26 Alan Modra <amodra@gmail.com>
9407
9408 PR target/47487
9409 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support
9410 GNU Go in traceback table.
9411
c2654ded
RH
94122011-03-25 Richard Henderson <rth@redhat.com>
9413
9414 * expr.c (emit_block_move_via_movmem): Only use 6 operand variant
9415 if there are exactly 6 operands.
9416 (set_storage_via_setmem): Similarly.
9417
ba78087b
KT
94182011-03-25 Kai Tietz <ktietz@redhat.com>
9419
9420 * collect2.c (write_c_file_stat): Handle backslash
9421 as right-hand directory separator.
9422 (resolve_lib_name): Use IS_DIR_SEPARATOR instead of
9423 checking just for slash.
9424 * coverage.c (coverage_init): Use IS_ABSOLUTE_PATH
9425 instead of checking for trailing slash.
9426 * gcc.c (record_temp_file): Use filename_cmp instead
9427 of strcmp.
9428 (do_spec_1): Likewise.
9429 (replace_outfile_spec_function): Likewise.
9430 (is_directory): Use filename_ncmp instead of strncmp.
9431 (print_multilib_info): Likewise.
9432 * gcov.c (find_source): Use filename_cmp instead
9433 instead of strcmp.
9434 (make_gcov_file_name): Fix order of slash/backslash
9435 checks.
9436 * incpath.c (DIRS_EQ): Use filename_cmp instead of strcmp.
9437 (add_standard_paths): Likewise.
9438 * mips-tfile.c (saber_stop): Handle backslash.
9439 * prefix.c (update_path): Use filename_ncmp instead of
9440 strncmp.
9441 * profile.c (output_location): Use filename_cmp instead
9442 of strcmp.
9443 * read-md.c (handle_toplevel_file): Handle backslash.
9444 * tlink.c (frob_extension): Likewise.
9445 * tree-cfg.c (same_line_p): Use filename_cmp instead of
9446 strcmp.
9447 * tree-dump.c (dequeue_and_dump): Handle backslash.
9448 * tree.c (get_file_function_name): Likewise.
9449 * gengtype.c (read_input_list): Likewise.
9450 (get_file_realbasename): Likewise.
9451 (get_output_file_with_visibility): Use filename_cmp
9452 instead of strcmp.
9453
75f6ec9a
RS
94542011-03-25 Richard Sandiford <richard.sandiford@linaro.org>
9455
9456 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS
9457 case to VFPv1.
9458
6c4e2997
NF
94592011-03-25 Nathan Froyd <froydnj@codesourcery.com>
9460
9461 * fold-const.c (expr_location_or): New function.
9462 (fold_truth_not_expr): Call it.
9463
0edf1bb2
JL
94642011-03-25 Jeff Law <law@redhat.com>
9465
9466 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add missing
9467 va_end.
9468 * c-family/c-common.c (def_fn_type): Likewise.
9469 * ada/gcc-interface/utils.c (def_fn_type): Likewise.
9470 * emit-rtl.c (gen_rtvec): Likewise.
9471 * lto/lto-lang.c (def_fn_type): Likewise.
9472
fdc2de95
RG
94732011-03-25 Richard Guenther <rguenther@suse.de>
9474
9475 * tree-ssa-copy.c (stmt_may_generate_copy): Copies from constants
9476 also generate copies.
9477 (fini_copy_prop): Handle constant values properly.
9478
21385db0
JJ
94792011-03-25 Jakub Jelinek <jakub@redhat.com>
9480
9481 * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Compare
9482 mode size instead of bitsize with DWARF2_ADDR_SIZE.
9483 (hash_loc_operands, compare_loc_operands): Handle
9484 DW_OP_GNU_entry_value.
9485
6510e8bb
KT
94862011-03-25 Kai Tietz <ktietz@redhat.com>
9487
9488 * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Adjust comment.
9489 (STACK_BOUNDARY): Check for bit-ness in case of MS_ABI.
9490 * config/i386/i386.c (ix86_conditional_register_usage): Adjust
9491 comment and use macro TARGET_64BIT_MS_ABI instead.
9492 (ix86_keep_aggregate_return_pointer): Optimize for 64-bit case
9493 and change default behavior for 32-bit MS_ABI.
9494 (ix86_reg_parm_stack_space): Check additionally for bit-ness.
9495 (ix86_function_type_abi): Allow check for ms_abi/sysv_abi for
9496 32-bit, too.
9497 (ix86_cfun_abi): Likewise.
9498 (ix86_maybe_switch_abi): Adjust comment.
9499 (init_cumulative_args): Check for bit-ness in MS_ABI case.
9500 (ix86_gimplify_va_arg): Check just for not TARGET_64BIT_MS_ABI
9501 instead of checking for SYSV_ABI.
9502 (ix86_nsaved_sseregs): Likewise.
9503 (ix86_compute_frame_layout): Set only for 64-bit MS_ABI alignment
9504 to 16 bytes.
9505 (ix86_expand_call): Use TARGET_64BIT_MS_ABI macro.
9506 * config/i386.h (TARGET_32BIT_MS_ABI): New macro.
9507 (ACCUMULATE_OUTGOING_ARGS): Check explicit for 64-bit MS_ABI.
9508 (OUTGOING_REG_PARM_STACK_SPACE): Likewise.
9509 * config/mingw32.h (DEFAULT_ABI): Change default always to MS_ABI.
9510
34019e28
RG
95112011-03-25 Richard Guenther <rguenther@suse.de>
9512
9513 * tree-flow.h (verify_stmts): Rename to verify_gimple_in_cfg.
9514 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
9515 (verify_gimple): Remove.
9516 * tree-cfg.c (verify_gimple_call): Merge verification
9517 from verify_stmts.
9518 (verify_gimple_phi): Merge verification from verify_stmts.
9519 (verify_gimple_label): New function.
9520 (verify_types_in_gimple_seq_2): Rename to verify_gimple_in_seq_2.
9521 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
9522 (verify_stmt): Merge into verify_gimple_in_cfg and callees.
9523 (verify_stmts): Rename to verify_gimple_in_cfg.
9524 (verify_gimple_in_cfg): New function.
9525 * passes.c (execute_function_todo): Call verify_gimple_in_cfg.
9526 * tree-ssa.c (verify_ssa): Likewise.
9527 * gimplify.c (gimplify_body): Call verify_gimple_in_seq.
9528
605896f5
RG
95292011-03-25 Richard Guenther <rguenther@suse.de>
9530
9531 * passes.c (init_optimization_passes): Add FRE pass after
9532 early SRA.
9533
7baa7c13
BS
95342011-03-25 Bernd Schmidt <bernds@codesourcery.com>
9535 Andrew Stubbs <ams@codesourcery.com>
9536
9537 * config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
9538 for Cortex-A8.
9539 (arm_movdi_vfp_cortexa8): New pattern.
9540 * config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
9541 iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
9542 instructions when tuning for Cortex-A8. Set attribute "arch".
9543 * config/arm/arm.md: Move include arm-tune.md up a bit.
9544 (define_attr "arch"): Add "onlya8" and "nota8" values.
9545 (define_attr "arch_enabled"): Handle "onlya8" and "nota8".
9546
45dbce1b
NF
95472011-03-25 Nathan Froyd <froydnj@codesourcery.com>
9548
4ff08abf 9549 PR bootstrap/48282
45dbce1b
NF
9550 Revert:
9551 2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
9552
9553 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
9554 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
9555 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
9556 * passes.c (init_optimization_passes): Move
9557 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
9558
ac9a30ae
KT
95592011-03-25 Kai Tietz <ktietz@redhat.com>
9560
9561 * c-typeck.c (comptypes_internal): Replace target
9562 hook call of comp_type_attributes by version in tree.c file.
9563 * gimple.c (gimple_types_compatible_p_1): Likewise.
9564 * tree-ssa.c (useless_type_conversion_p): Likewise.
9565 * tree.c (build_type_attribute_qual_variant): Likewise.
9566 (attribute_value_equal): New static helper function.
9567 (comp_type_attributes): New function.
9568 (merge_attributes): Use attribute_value_equal for comparison.
9569 (attribute_list_contained): Likewise.
9570 * tree.h (comp_type_attributes): New prototype.
9571
afdac116
RG
95722011-03-25 Richard Guenther <rguenther@suse.de>
9573
9574 * tree-cfg.c (verify_gimple_assign_unary): Drop special casing
9575 of complex types at -O0.
9576 (verify_gimple_assign_binary): Likewise.
9577 (verify_gimple_assign_ternary): Likewise.
9578
ec6165f8
MW
95792011-03-24 Mark Wielaard <mjw@redhat.com>
9580
9581 * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8.
9582 (value_format): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
9583
2a5ac39a
MW
95842011-03-24 Mark Wielaard <mjw@redhat.com>
9585
9586 PR debug/48041
9587 * dwarf2out.c (output_abbrev_section): Only write table when
9588 abbrev_die_table_in_use > 1.
9589
e533b2a4
RH
95902011-02-24 Richard Henderson <rth@redhat.com>
9591
9592 * config/alpha/alpha.c (alpha_expand_unaligned_load): Use extql.
9593 (alpha_expand_unaligned_store): Use mskwl, mskll, mskql.
9594 (alpha_expand_unaligned_load_words): Use extql.
9595 (alpha_expand_unaligned_store_words): Use insqh, mskqh, mskql.
9596 (emit_insxl): Handle all modes for consistency.
9597
0b2a7367
RH
95982011-02-24 Richard Henderson <rth@redhat.com>
9599
9600 * config/alpha/alpha.c (get_aligned_mem): Don't test WORDS_BIG_ENDIAN.
9601 (alpha_expand_unaligned_load): Likewise.
9602 (alpha_expand_unaligned_store): Likewise.
9603 (alpha_expand_unaligned_load_words): Likewise.
9604 (alpha_expand_unaligned_store_words): Likewise.
9605 (emit_insxl, alpha_split_compare_and_swap_12): Likewise.
9606 (alpha_split_lock_test_and_set_12): Likewise.
9607 (print_operand, alpha_fold_builtin_extxx): Likewise.
9608 (alpha_fold_builtin_insxx, alpha_fold_builtin_mskxx): Likewise.
9609 * config/alpha/alpha.md (bswapsi2, insv, extv, extzv): Likewise.
9610 (builtin_extwh, builtin_extlh, builtin_extql): Likewise.
9611 (unaligned_extendqidi_be, unaligned_extendhidi_be, extxl_be): Remove.
9612 (*extxl_1_be, *extql_2_be, extqh_be, extlh_be, extwh_be): Remove.
9613 (insbl_be, inswl_be, insll_be, insql_be, mskxl_be): Remove.
9614 (unaligned_loadqi_be, unaligned_loadhi_be): Remove.
9615 (unaligned_storeqi_be, unaligned_storehi_be): Remove.
9616 (extbl): Rename from builtin_extbl; don't test WORDS_BIG_ENDIAN.
9617 (extwl, extll, extql): Similarly.
9618 (inswh, inslh, insqh): Similarly.
9619 (mskbl, mskwl, mskll, mskql): Similarly.
9620 (mskwh, msklh, mskqh): Similarly.
9621
315b2bef
RH
96222011-02-24 Richard Henderson <rth@redhat.com>
9623
9624 * config/alpha/alpha.md (attribute isa): Add er, ner.
9625 (attribute enabled): Handle them.
9626 (*movdi): Merge *movdi_{er_nofix,nofix,er_fix,fix}.
9627
67102517
RH
96282011-02-24 Richard Henderson <rth@redhat.com>
9629
9630 * config/alpha/alpha.md (attribute isa): Add vms.
9631 (attribute enabled): Handle it.
9632 (*movsf): Merge *movsf_{nofix,fix,nofp}.
9633 (*movdf): Merge *movdf_{nofix,fix,nofp}.
9634 (*movtf): Rename from *movtf_internal for consistency.
9635 (*movsi): Merge with *movsi_nt_vms.
9636 (*movhi): Merge *movhi_nobwx, *movhi_bwx.
9637 (*movqi): Merge *movqi_nobwx, *movqi_bwx.
9638 (*mov<VEC>): Merge *mov<VEC>_fix, *mov<VEC>_nofix.
9639 * config/alpha/constraint.md ("f"): Use NO_REGS when fpu is disabled.
9640
6aba5cb4
RH
96412011-02-24 Richard Henderson <rth@redhat.com>
9642
9643 * config/alpha/alpha.md (extendqihi2): Implement for BWX only.
9644 (extendqisi2, extendhisi2): Likewise.
9645 (extendqidi2): Simplify BWX/non-BWX expansions.
9646 (extendhidi2): Similarly.
9647
bdfb351b
RH
96482011-02-24 Richard Henderson <rth@redhat.com>
9649
9650 * config/alpha/alpha.md (attribute isa): New.
9651 (attribute enabled): New.
9652 (zero_extendqihi2): Merge from *zero_extendqihi2_{bwx,nobwx}.
9653 (zero_extendqisi2, zero_extendqidi2): Similarly.
9654 (zero_extendhisi2, zero_extendhidi2): Similarly.
9655 * config/alpha/predicates.md (reg_or_bwx_memory_operand): New.
9656
6abe71eb
RH
96572011-02-24 Richard Henderson <rth@redhat.com>
9658
9659 * config/alpha/predicates.md (input_operand): Revert last change;
9660 update comment to mention 32-bit VMS rather than Windows.
9661
7114321e
NF
96622011-03-24 Nathan Froyd <froydnj@codesourcery.com>
9663
9664 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
9665 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
9666 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
9667 * passes.c (init_optimization_passes): Move
9668 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
9669
c8679567
EB
96702011-03-24 Eric Botcazou <ebotcazou@adacore.com>
9671
9672 * dojump.c (do_jump_by_parts_greater_rtx): Optimize in specific cases.
9673
27173058
UB
96742011-03-24 Uros Bizjak <ubizjak@gmail.com>
9675
9676 * config/i386/i386.md (ix86_print_operand): Output DFmode const_double
9677 correctly.
9678
6f0c9f06
JJ
96792011-03-24 Jakub Jelinek <jakub@redhat.com>
9680
9681 PR debug/48204
9682 * simplify-rtx.c (simplify_const_unary_operation): Call
9683 real_convert when changing mode class with FLOAT_EXTEND.
9684
662666e5
NC
96852011-03-24 Nick Clifton <nickc@redhat.com>
9686
9687 * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER): Define.
9688 (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
9689 * config/rx/rx.c (rx_option_override): Set align_jumps,
9690 align_loops and align_labels if not set by the user.
9691 (rx_align_for_label): New function.
9692 (rx_max_skip_for_label): New function.
9693 (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
9694 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
9695 (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
9696 (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
9697 * config/rx/rx-protos.h (rx_align_for_label): Add prototype.
9698
2b99b2b8
RS
96992011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
9700
9701 PR rtl-optimization/48263
9702 * optabs.c (expand_binop_directly): Reinstate convert_modes code
9703 and original commutative_p handling. Use maybe_gen_insn.
9704
ccecd6ea
AK
97052011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9706
9707 * reload.c (find_reloads_subreg_address): Add address_reloaded
9708 parameter and return true there if the full address has been
9709 reloaded.
9710 (find_reloads_toplev): Pass address_reloaded flag.
9711 (find_reloads_address_1): Don't use address_reloaded parameter.
9712
67295642
JL
97132011-03-24 Jeff Law <law@redhat.com>
9714
9715 * tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
9716 unused variable "ann".
9717 (remove_unused_locals): Likewise.
9718
9719 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
9720 statement.
9721
9722 * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
9723 after it is freed.
9724
212aa74f
AK
97252011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9726
9727 * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
9728 for invalid symbolic addresses.
9729 (s390_secondary_reload): Don't use s390_check_symref_alignment for
9730 larl operands.
9731
fe784e0d
EB
97322011-03-24 Eric Botcazou <ebotcazou@adacore.com>
9733
9734 * fold-const.c (fold_ternary_loc): Preserve the location (if any) of
9735 the argument in calls to fold_truth_not_expr.
9736
63ee8641
NF
97372011-03-24 Nathan Froyd <froydnj@codesourcery.com>
9738
9739 * tree.c (record_node_allocation_statistics): New function.
9740 (make_node_stat, copy_node_stat, build_string): Call it.
9741 (make_tree_binfo_stat, make_tree_vec_stat, tree_cons_stat): Likewise.
9742 (build1_stat, build_omp_clause): Likewise.
9743
61be2a1c
RS
97442011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
9745
9746 * builtins.c (expand_movstr): Fix endp == 1 adjustment after
9747 last commit.
9748
a881aaa7
RG
97492011-03-24 Richard Guenther <rguenther@suse.de>
9750
9751 PR tree-optimization/48271
9752 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup
9753 blocks that still exist.
9754
dbaa912c
RG
97552011-03-24 Richard Guenther <rguenther@suse.de>
9756
9757 PR tree-optimization/48270
9758 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do
9759 not free datarefs before ddrs.
9760
1d60cc55
EB
97612011-03-24 Eric Botcazou <ebotcazou@adacore.com>
9762
9763 * tree-sra.c (build_ref_for_offset): Strip useless type conversions
9764 from the address built for a reference with variable offset.
9765
c78dd519
UB
97662011-03-24 Uros Bizjak <ubizjak@gmail.com>
9767
9768 PR target/48237
9769 * config/i386/i386.md (*movdf_internal_rex64): Do not split
9770 alternatives that can be handled with movq or movabsq insn.
9771 (*movdf_internal): Disable for !TARGET_64BIT.
9772 (*movdf_internal_nointeger): Ditto.
9773 * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
9774
b25b9e8f
NF
97752011-03-24 Nathan Froyd <froydnj@codesourcery.com>
9776
9777 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
9778 (FUNCTION_ARG_ADVANCE): Likewise.
9779 * tm.texi.in: Change references to them to hook references.
9780 * tm.texi: Regenerate.
c78dd519 9781 * targhooks.c (default_function_arg): Eliminate check for target macro.
b25b9e8f
NF
9782 (default_function_incoming_arg): Likewise.
9783 (default_function_arg_advance): Likewise.
c78dd519 9784 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
b25b9e8f
NF
9785 (function_arg_advance): Likewise.
9786 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
9787
190b2187
RG
97882011-03-24 Richard Guenther <rguenther@suse.de>
9789
9790 PR middle-end/48269
9791 * tree-object-size.c (addr_object_size): Do not double-account
9792 for MEM_REF offsets.
9793
a183b5c7
DN
97942011-03-24 Diego Novillo <dnovillo@google.com>
9795
9796 * lto-opts.c (input_data_block): Move to lto-streamer-in.c.
c78dd519 9797 * lto-streamer-in.c (input_string_internal): Add clarifying comments.
a183b5c7
DN
9798 (lto_input_data_block): Move from lto-opts.c. Make extern.
9799 Update all users.
9800 (lto_input_string): Rename from input_string. Make extern.
9801 Update all users.
9802 * lto-streamer-out.c (lto_output_string_with_length): Rename from
9803 output_string_with_length.
9804 Output 0 to indicate a non-NULL string. Update all callers to
9805 not emit 0.
9806 (lto_output_string): Rename from output_string. Make extern.
9807 Update all users.
9808 (lto_output_decl_state_streams): Make extern.
9809 (lto_output_decl_state_refs): Make extern.
9810 * lto-streamer.h (lto_input_string): Declare.
9811 (lto_input_data_block): Declare.
9812 (lto_output_string): Declare.
9813 (lto_output_string_with_length): Declare.
9814 (lto_output_decl_state_streams): Declare.
9815 (lto_output_decl_state_refs): Declare.
9816
cfef45c8
RG
98172011-03-24 Richard Guenther <rguenther@suse.de>
9818
9819 PR tree-optimization/46562
9820 * tree.c (build_invariant_address): New function.
9821 * tree.h (build_invariant_address): Declare.
9822 * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around
9823 a renamed function moved ...
9824 * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here.
9825 Take valueization callback parameter.
9826 * tree-flow.h (gimple_fold_stmt_to_constant): Declare.
9827 * gimple-fold.h: New file.
9828 * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1.
9829 (ccp_fold, fold_const_aggregate_ref,
9830 fold_ctor_reference, fold_nonarray_ctor_reference,
9831 fold_array_ctor_reference, fold_string_cst_ctor_reference,
9832 get_base_constructor): Move ...
9833 * gimple-fold.c: ... here.
9834 (gimple_fold_stmt_to_constant_1): New function
9835 split out from ccp_fold. Take a valueization callback parameter.
9836 Valueize all operands.
9837 (gimple_fold_stmt_to_constant): New wrapper function.
9838 (fold_const_aggregate_ref_1): New function split out from
9839 fold_const_aggregate_ref. Take a valueization callback parameter.
9840 (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1.
9841 * tree-ssa-sccvn.c (simplify_binary_expression): Simplify
9842 invariant POINTER_PLUS_EXPRs to invariant form.
9843 (vn_valueize): New function.
9844 (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant.
9845 * tree-vrp.c (vrp_valueize): New function.
9846 (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant
9847 to fold statements to constants.
9848 * tree-ssa-pre.c (eliminate): Properly guard propagation of
9849 function declarations.
9850 * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o,
9851 tree-ssa-ccp.o): Add gimple-fold.h dependencies.
9852
5e0a7e40
RS
98532011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
9854
9855 * config/h8300/predicates.md (jump_address_operand): Fix register
9856 mode check.
9857
bfe068c3
IR
98582011-03-24 Ira Rosen <ira.rosen@linaro.org>
9859
9860 * doc/invoke.texi (max-stores-to-sink): Document.
9861 * params.h (MAX_STORES_TO_SINK): Define.
9862 * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
9863 if either vectorization or if-conversion is disabled.
9864 * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
9865 tree-vect-data-refs.c vect_equal_offsets.
9866 (dr_equal_offsets_p): New function.
9867 (find_data_references_in_bb): Remove static.
9868 * tree-data-ref.h (find_data_references_in_bb): Declare.
9869 (dr_equal_offsets_p): Likewise.
9870 * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
9871 (vect_drs_dependent_in_basic_block): Update calls to
9872 vect_equal_offsets.
9873 (vect_check_interleaving): Likewise.
9874 * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
9875 (cond_if_else_store_replacement): Rename to...
9876 (cond_if_else_store_replacement_1): ... this. Change arguments and
9877 documentation.
9878 (cond_if_else_store_replacement): New function.
9879 * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
9880 * params.def (PARAM_MAX_STORES_TO_SINK): Define.
9881
4908b0bf
CLT
98822011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
9883
9884 PR target/46934
9885 * config/arm/arm.md (casesi): Use the gen_int_mode() function
9886 to subtract lower bound instead of GEN_INT().
9887
2be478a2
JW
98882011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
9889
9890 PR other/48179
9891 PR other/48221
9892 PR other/48234
9893 * doc/extend.texi (Alignment): Move section to match order in TOC.
9894 * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
9895 (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
9896
0c617be4
JL
98972011-03-23 Jeff Law <law@redhat.com>
9898
9899 * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
9900 before removing the edge.
9901
9902 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
9903 it may have been freed by redirect_branch_edge or
9904 redirect_edge_succ_nodup.
9905
58da96fe
RG
99062011-03-23 Richard Guenther <rguenther@suse.de>
9907
c78dd519 9908 * tree-stdarg.c (va_list_counter_bump): Handle bumps via MEM_REF.
58da96fe
RG
9909 (check_va_list_escapes): Likewise.
9910 (check_all_va_list_escapes): Likewise.
9911
b8beb4d1
RG
99122011-03-23 Richard Guenther <rguenther@suse.de>
9913
9914 * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
9915 (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
9916 (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
9917 (alias.o): Likewise.
9918 (ipa-type-escape.o): Remove.
9919 (ipa-struct-reorg.o): Likewise.
9920 (GTFILES): Remove ipa-struct-reorg.c.
9921 * alias.c: Do not include ipa-type-escape.h.
9922 * tree-ssa-alias.c: Likewise.
9923 * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
9924 * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
9925 * passes.c (init_optimization_passes): Remove ipa-struct-reorg
9926 and ipa-type-escape passes.
9927 * tree-pass.h (pass_ipa_type_escape): Remove.
9928 (pass_ipa_struct_reorg): Likewise.
9929 * ipa-struct-reorg.h: Remove.
9930 * ipa-struct-reorg.c: Likewise.
9931 * ipa-type-escape.h: Likewise.
9932 * ipa-type-escape.c: Likewise.
9933 * doc/invoke.texi (-fipa-struct-reorg): Remove.
9934 (--param struct-reorg-cold-struct-ratio): Likewise.
9935 * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
9936 * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
9937 * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
9938
f137aa63
AK
99392011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9940
9941 * config/s390/2084.md: Enable all insn reservations also for z9_ec
9942 cpu attribute value.
9943 * config/s390/s390-opts.h (enum s390_arch_option): Remove.
9944 (enum processor_type): Add PROCESSOR_2094_Z9_EC.
9945 * config/s390/s390.c (processor_flags_table): New constant array.
9946 (s390_handle_arch_option): Remove.
9947 (s390_handle_option): Remove s390_handle_arch_option invocations
9948 and OPT_mwarn_framesize_ handling.
9949 (s390_option_override): Remove s390_handle_arch_option invocation.
9950 (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
9951 warnings.
9952 * config/s390/s390.md (cpu attribute): Add z9_ec value.
9953 * config/s390/s390.opt (s390_tune, s390_arch)
9954 (march=): Replace s390_arch_option enum and values with
9955 processor_type. Set variable name to s390_arch. Set
9956 initialization value.
9957 (mtune=): Replace s390_arch_option with processor_type. Set
9958 variable name to s390_tune. Set initialization value.
9959
bf90208f
JB
99602011-03-23 Julian Brown <julian@codesourcery.com>
9961
9962 * expr.c (expand_expr_real_1): Only use BLKmode for volatile
9963 accesses which are not naturally aligned.
9964
3460fdf3
RS
99652011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
9966
9967 PR target/47553
9968 * config/arm/predicates.md (neon_lane_number): Accept 0..15.
9969
a5c7d693
RS
99702011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
9971
9972 * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
9973 parameter from "int" to "enum insn_code".
9974 (expand_operand_type): New enum.
9975 (expand_operand): New structure.
9976 (create_expand_operand): New function.
9977 (create_fixed_operand, create_output_operand): Likewise
9978 (create_input_operand, create_convert_operand_to): Likewise.
9979 (create_convert_operand_from, create_address_operand): Likewise.
9980 (create_integer_operand): Likewise.
9981 (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
9982 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
9983 (expand_insn, expand_jump_insn): Likewise.
9984 * builtins.c (expand_builtin_prefetch): Use the new interfaces.
9985 (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
9986 (expand_movstr, expand_builtin___clear_cache): Likewise.
9987 (expand_builtin_lock_release): Likewise.
9988 * explow.c (allocate_dynamic_stack_space): Likewise.
9989 (probe_stack_range): Likewise. Allow check_stack to FAIL,
9990 and use the default handling in that case.
9991 * expmed.c (check_predicate_volatile_ok): Delete.
9992 (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
9993 (emit_cstore): Likewise.
9994 * expr.c (emit_block_move_via_movmem): Likewise.
9995 (set_storage_via_setmem, expand_assignment): Likewise.
9996 (emit_storent_insn, try_casesi): Likewise.
9997 (emit_single_push_insn): Likewise. Allow the expansion to fail.
9998 * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
9999 (expand_vec_shift_expr, expand_binop_directly): Likewise.
10000 (expand_twoval_unop, expand_twoval_binop): Likewise.
10001 (expand_unop_direct, emit_indirect_jump): Likewise.
10002 (emit_conditional_move, vector_compare_rtx): Likewise.
10003 (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
10004 (expand_sync_operation, expand_sync_fetch_operation): Likewise.
10005 (expand_sync_lock_test_and_set): Likewise.
10006 (maybe_emit_unop_insn): Likewise. Change icode to an insn_code.
10007 (emit_unop_insn): Likewise.
10008 (expand_copysign_absneg): Change icode to an insn_code.
10009 (create_convert_operand_from_type): New function.
10010 (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
10011 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
10012 (expand_insn, expand_jump_insn): Likewise.
10013 * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
10014 than const_int_operand for operand 2.
10015
78fadbab
AK
100162011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10017
10018 * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
10019 if possible.
10020
5f02387d
NF
100212011-03-22 Nathan Froyd <froydnj@codesourcery.com>
10022
10023 * emit-rtl.c (emit_pattern_before_noloc): New function.
10024 (emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
10025 (emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
10026 (emit_pattern_after_noloc): New function.
10027 (emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
10028 (emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
10029
fdf3e18a
NF
100302011-03-22 Nathan Froyd <froydnj@codesourcery.com>
10031
10032 * libgcc2.c (__lshrdi3, __ashldi3, __ashrdi3): Use W_TYPE_SIZE.
10033 (__ffsDI2): Likewise.
10034
42d085c1
RH
100352011-03-22 Richard Henderson <rth@redhat.com>
10036
10037 * config/alpha/alpha.c (direct_return): Use TARGET_ABI_OSF instead
10038 of !TARGET_ABI_OPEN_VMS.
10039 (alpha_trampoline_init, alpha_start_function): Likewise.
10040 (alpha_expand_epilogue, alpha_file_start): Likewise.
10041 * config/alpha/alpha.md (divsi3, modsi3): Likewise.
10042 (udivsi3, umodsi3, divdi3, moddi3, udivdi3, umoddi3): Likewise.
10043 (*divmodsi_internal_er, *divmodsi_internal_er_1): Likewise.
10044 (*divmodsi_internal, *divmoddi_internal_er): Likewise.
10045 (*divmoddi_internal_er_1, *divmoddi_internal): Likewise.
10046
cabbe12a
JM
100472011-03-22 Joseph Myers <joseph@codesourcery.com>
10048
10049 * config/s390/s390-opts.h: New.
10050 * config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
10051 s390_arch_flags, s390_warn_framesize, s390_stack_size,
10052 s390_stack_guard): Remove.
10053 (s390_handle_arch_option): Return void. Take enum
10054 s390_arch_option value instead of string and searching array.
10055 (s390_handle_option): Don't assert that global structures are in
10056 use. Access variables via opts pointer. Use error_at. Don't use
10057 sscanf for -mstack-guard= or -mstack-size=. Update call to
10058 s390_handle_arch_option.
10059 (s390_option_override): Update call to s390_handle_arch_option.
10060 (s390_emit_prologue): Use %d format for s390_stack_size in
10061 diagnostic. Use %wd for HOST_WIDE_INT.
10062 * config/s390/s390.h (enum processor_type): Move to s390-opts.h.
10063 (s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
10064 * config/s390/s390.opt (config/s390/s390-opts.h): New
10065 HeaderInclude entry.
10066 (s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
10067 s390_arch_flags, s390_warn_framesize): New Variable entries.
10068 (s390_arch_option): New Enum and EnumValue entries.
10069 (march=): Use Enum instead of Var.
10070 (mstack-guard=, mstack-size=): Use UInteger and Var.
10071 (mtune=): Use Enum.
10072
05b12036
JM
100732011-03-22 Joseph Myers <joseph@codesourcery.com>
10074
10075 * config/score/score.c (score_handle_option): Don't assert that
10076 global structures are in use. Access target_flags via opts
10077 pointer. Use value of -march= option to determine target_flags
10078 settings.
10079 * config/score/score.opt (march=): Use Enum.
10080 (score_arch): New Enum and EnumValue entries.
10081
dd51e35a
JM
100822011-03-22 Joseph Myers <joseph@codesourcery.com>
10083
10084 * config/mep/mep.c (option_mtiny_specified): Remove.
10085 (mep_option_override): Move register handling for -mivc2 from
10086 mep_handle_option. Use global_options_set.x_mep_tiny_cutoff
10087 instead of option_mtiny_specified.
10088 (mep_handle_option): Access target_flags via opts pointer. Don't
10089 assert that global structures are in use. Defer part of -mivc2
10090 handling and move it to mep_option_override.
10091 * config/mep/mep.opt (IVC2): New Mask entry.
10092 (mivc2): Use Var and Defer instead of Mask.
10093
4a8d3d91
JM
100942011-03-22 Joseph Myers <joseph@codesourcery.com>
10095
10096 * config/v850/v850-opts.h: New.
10097 * config/v850/v850.c (small_memory): Replace with
10098 small_memory_physical_max array. Make that array static const.
10099 (v850_handle_memory_option): Take integer value of argument. Take
10100 gcc_options pointer, option text and location. Return void.
10101 Update for changes to small memory structures.
10102 (v850_handle_option): Access target_flags via opts pointer. Don't
10103 assert that global structures are in use. Update calls to
10104 v850_handle_memory_option.
c78dd519
UB
10105 (v850_encode_data_area): Update references to small memory settings.
10106 * config/v850/v850.h (struct small_memory_info, small_memory): Remove.
4a8d3d91
JM
10107 (enum small_memory_type): Move to v850-opts.h.
10108 * config/v850/v850.opt (config/v850/v850-opts.h): New
10109 HeaderInclude entry.
10110 (small_memory_max): New Variable entry.
10111 (msda): Replace by pair of options msda= and msda-. Use UInteger.
10112 (mtda, mzda): Likewise.
10113
117fdbfa
JM
101142011-03-22 Joseph Myers <joseph@codesourcery.com>
10115
10116 * config/sh/sh.c (sh_handle_option): Access target_flags via opts
10117 pointer. Don't assert that global structures are in use.
10118
d715091c
JM
101192011-03-22 Joseph Myers <joseph@codesourcery.com>
10120
10121 * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
10122 via opts pointer. Don't assert that global structures are in use.
10123
1bb721dc
JM
101242011-03-22 Joseph Myers <joseph@codesourcery.com>
10125
10126 * config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
10127 (munix=93): Use Var.
10128 * config/pa/pa-hpux1010.opt (munix=95): Use Var.
10129 * config/pa/pa-hpux1111.opt (munix=98): Use Var.
10130 * config/pa/pa-opts.h: New.
10131 * config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
10132 (pa_handle_option): Don't assert that global structures are in
10133 use. Access target_flags via opts pointer. Don't handle
10134 OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
10135 OPT_munix_98 here.
10136 (pa_option_override): Handle deferred OPT_mfixed_range_.
10137
cd8d8754
JM
101382011-03-22 Joseph Myers <joseph@codesourcery.com>
10139
10140 * config/mn10300/mn10300-opts.h: New.
10141 * config/mn10300/mn10300.c (mn10300_processor,
10142 mn10300_tune_string): Remove.
10143 (mn10300_handle_option): Don't assert that global structures are
10144 in use. Access mn10300_processor via opts pointer. Don't handle
10145 OPT_mtune_ here.
10146 * config/mn10300/mn10300.h (enum processor_type): Move to
10147 mn10300-opts.h.
10148 (mn10300_processor): Remove.
10149 * config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
10150 HeaderInclude entry.
10151 (mn10300_processor): New Variable entry.
10152 (mtune=): Use Var.
10153
24e6e6b1
JM
101542011-03-22 Joseph Myers <joseph@codesourcery.com>
10155
10156 * config/microblaze/microblaze.c: Don't include opts.h.
10157 (microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
10158 * config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
10159 (mno-clearbss): Use Var and Warn.
10160
8a784afb
JM
101612011-03-22 Joseph Myers <joseph@codesourcery.com>
10162
10163 * config/m32r/m32r-opts.h: New.
10164 * config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
10165 (m32r_handle_option): Don't assert that global structures are in
10166 use. Access target_flags and m32r_cache_flush_func via opts
10167 pointer. Don't handle OPT_mmodel_, OPT_msdata_ or
10168 OPT_mno_flush_trap here.
10169 * config/m32r/m32r.h (Code Models, Small Data Area): Replace by
10170 include of m32r-opts.h.
10171 * config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
10172 HeaderInclude entry.
10173 (m32r_model_selected, m32r_sdata_selected): New Variable entries.
10174 (mmodel=): Use Enum and Var.
10175 (m32r_model): New Enum and EnumValue entries.
10176 (mno-flush-trap): Use Var.
10177 (msdata=): Use Enum and Var.
10178 (m32r_sdata): New Enum and EnumValue entries.
10179
bbfc9a8c
JM
101802011-03-22 Joseph Myers <joseph@codesourcery.com>
10181
10182 * config/m32c/m32c.c: Don't include opts.h.
10183 (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
10184 m32c_handle_option): Remove.
10185 (m32c_option_override): Check global_options_set.x_target_memregs
10186 instead of target_memregs_set.
10187 * config/m32c/m32c.h (target_memregs): Remove.
10188 * config/m32c/m32c.opt (memregs=): Use UInteger with integer
10189 variable.
10190
e24b8335
JM
101912011-03-22 Joseph Myers <joseph@codesourcery.com>
10192
10193 * config/iq2000/iq2000-opts.h: New.
10194 * config/iq2000/iq2000.c: Don't include opts.h.
10195 (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 10196 * config/iq2000/iq2000.h (enum processor_type, iq2000_tune): Remove.
e24b8335
JM
10197 * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
10198 HeaderInclude entry.
10199 (iq2000_tune): New Variable entry.
10200 (march=): Add comment. Use Enum.
10201 (iq2000_arch): New Enum and EnumValue entries.
10202 (mcpu=): Use Enum and Var.
10203 (iq2000_tune): New Enum and EnumValue entries.
10204
e6cc0c98
JM
102052011-03-22 Joseph Myers <joseph@codesourcery.com>
10206
10207 * config/ia64/ia64-opts.h: New.
10208 * config/ia64/ia64.c (ia64_tune): Remove.
10209 (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
10210 here. Use error_at.
10211 (ia64_option_override): Handle deferred OPT_mfixed_range_.
10212 * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
10213 * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
10214 HeaderInclude entry.
10215 (ia64_tune): New Variable entry.
10216 (mfixed-range=): Use Defer and Var.
10217 (mtune=): Use Enum and Var.
10218 (ia64_tune): New Enum and EnumValue entries.
10219
db25893c
JM
102202011-03-22 Joseph Myers <joseph@codesourcery.com>
10221
10222 * config/frv/frv-opts.h: New.
10223 * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
10224 frv-opts.h.
10225 (frv_cpu_type): Remove.
10226 * config/frv/frv.c: Don't include opts.h.
10227 (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 10228 * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry.
db25893c
JM
10229 (frv_cpu_type): New Variable entry.
10230 (frv_cpu): New Enum and EnumValue entries.
10231
6c223f5d
JM
102322011-03-22 Joseph Myers <joseph@codesourcery.com>
10233
10234 * config/cris/cris.c (cris_handle_option): Access target_flags via
10235 opts pointer. Don't assert that global structures are in use.
10236 Don't call CRIS_SUBTARGET_HANDLE_OPTION.
10237 * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
10238
bbd399cf
JM
102392011-03-22 Joseph Myers <joseph@codesourcery.com>
10240
10241 * config/bfin/bfin-opts.h: New.
10242 * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
10243 bfin_si_revision, bfin_workarounds): Remove.
10244 (bfin_cpus): Make static const.
10245 (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
10246 not bfin_lib_id_given.
10247 (bfin_handle_option): Don't set bfin_lib_id_given. Access
10248 bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
c78dd519 10249 pointer. Use error_at. Don't assert that global structures are in use.
bbd399cf
JM
10250 * config/bfin/bfin.h: Include bfin-opts.h.
10251 (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
10252 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
10253 * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
10254 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
10255 entries.
10256
5e1b4d5a
JM
102572011-03-22 Joseph Myers <joseph@codesourcery.com>
10258
10259 * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
10260 * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
10261 or -msoft-float here.
10262 * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
10263 -msoft-float and -mhard-float.
c78dd519 10264 (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and -msoft-float.
5e1b4d5a
JM
10265 * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
10266 msoft-float.
10267 * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
10268 -msoft-float.
10269 (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
10270 * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
10271 not mhard-float.
10272 (LIBGCC_SPEC): Don't handle -msoft-float.
10273 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
10274 -mhard-float.
10275 * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
10276 msoft-float.
10277 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
10278 -mfloat-abi=*, not -msoft-float and -mhard-float.
10279 * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
10280 -msoft-float.
10281 * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
10282 Use mfloat-abi=hard and mfloat-abi=soft in comments, not
10283 mhard-float and msoft-float.
10284 * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
10285 mfloat-abi=soft in comments, not mhard-float and msoft-float.
10286 * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
10287 mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
10288 mhard-float.
10289 * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
10290 mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
10291 msoft-float.
10292 * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
10293 not mhard-float.
10294 * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
10295 not msoft-float.
10296
800d1de1
RH
102972011-03-22 Richard Henderson <rth@redhat.com>
10298
10299 * config/alpha/alpha.c (alpha_expand_prologue): Don't test
10300 TARGET_ABI_WINDOWS_NT.
10301 (alpha_output_function_end_prologue): Likewise.
10302 * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
10303 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
10304 * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
10305 (trap, *movsi_nt_vms): Likewise.
10306 (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
10307 (*tablejump_osf_nt_internal): Remove.
10308 * config/alpha/predicates.md (input_operand): Only test Pmode.
10309
c59ddd2b
JM
103102011-03-22 Joseph Myers <joseph@codesourcery.com>
10311
10312 * config/alpha/alpha.c (alpha_handle_option): Access target_flags
10313 via opts pointer. Use error_at. Don't assert that global
10314 structures are in use.
10315
1333f97f
JM
103162011-03-22 Joseph Myers <joseph@codesourcery.com>
10317
10318 * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
10319 (ix86_handle_option): Access ix86_isa_flags and
10320 ix86_isa_flags_explicit via opts pointer. Don't assert that
10321 global structures are in use.
10322 (ix86_function_specific_save, ix86_function_specific_restore):
10323 Update ix86_isa_flags_explicit field name.
c78dd519 10324 * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable entry.
1333f97f
JM
10325 (ix86_isa_flags_explicit): Rename TargetSave entry to
10326 x_ix86_isa_flags_explicit.
10327
75db85d8
RH
103282011-03-22 Richard Henderson <rth@redhat.com>
10329
10330 * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
10331 (alpha_option_override, direct_return): Likewise.
10332 (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
10333 (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
10334 (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
10335 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
10336 (alpha_expand_epilogue, alpha_end_function): Likewise.
10337 (alpha_init_libfuncs): Likewise.
10338 (struct machine_function): Remove unicosmk members.
10339 (print_operand) ['t']: Remove.
10340 (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
10341 unicosmk_output_module_name, unicosmk_output_common,
10342 current_section_align, unicosmk_output_text_section_asm_op,
10343 unicosmk_output_data_section_asm_op, unicosmk_init_sections,
10344 unicosmk_section_type_flags, unicosmk_unique_section,
10345 unicosmk_asm_named_section, unicosmk_insert_attributes,
10346 unicosmk_output_align, unicosmk_defer_case_vector,
10347 unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
10348 SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
10349 unicosmk_output_ssib, unicosmk_add_call_info_word,
10350 unicosmk_extern_head, unicosmk_output_default_externs,
10351 unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
10352 unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
10353 unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
10354 * config/alpha/alpha-protos.h: Update.
10355 * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
10356 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
10357 (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
10358 (mulsi3): Don't test TARGET_ABI_UNICOSMK.
10359 (*mulsi_se, mulvsi3): Likewise.
10360 (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
10361 (*divmodsi_internal, call, call_value, realign): Likewise.
10362 (moddi3, umoddi3): Likewise; remove duplicate expander.
10363 (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
10364 (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
10365 (*movdi_nofix): Remove r/U alternative.
10366 (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
10367 * config/alpha/constraints.md ("U"): Remove.
10368 * config/alpha/predicates.md (call_operand"): Don't test
10369 TARGET_ABI_UNICOSMK.
10370
96e45421
JM
103712011-03-22 Joseph Myers <joseph@codesourcery.com>
10372
10373 * target.def (handle_option): Take gcc_options and
10374 cl_decoded_option pointers and location_t.
10375 * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
10376 * doc/tm.texi: Regenerate.
10377 * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
10378 * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
10379 * lto-opts.c (lto_reissue_options): Generate option structure for
10380 targetm.handle_option call.
10381 * opts.c (target_handle_option): Update call to
10382 targetm.handle_option. Remove assertions about values now passed
10383 down to hook.
10384 * targhooks.c (default_target_handle_option): New.
10385 * targhooks.h (default_target_handle_option): Declare.
10386 * config/alpha/alpha.c: Include opts.h.
10387 (alpha_handle_option): Update to new hook interface.
10388 * config/arm/arm.c: Include opts.h.
10389 (arm_handle_option): Update to new hook interface.
10390 * config/arm/t-arm (arm.o): Update dependencies.
10391 * config/bfin/bfin.c: Include opts.h.
10392 (bfin_handle_option): Update to new hook interface.
10393 * config/cris/cris.c: Include opts.h.
10394 (cris_handle_option): Update to new hook interface.
10395 * config/frv/frv.c: Include opts.h.
10396 (frv_handle_option): Update to new hook interface.
10397 * config/i386/i386.c: Include opts.h.
10398 (ix86_handle_option): Update to new hook interface.
10399 (ix86_valid_target_attribute_inner_p): Generate option structure
10400 for call to ix86_handle_option.
10401 * config/i386/t-i386 (i386.o): Update dependencies.
10402 * config/ia64/ia64.c: Include opts.h.
10403 (ia64_handle_option): Update to new hook interface.
10404 * config/ia64/t-ia64 (ia64.o): Update dependencies.
10405 * config/iq2000/iq2000.c: Include opts.h.
10406 (iq2000_handle_option): Update to new hook interface.
10407 * config/m32c/m32c.c: Include opts.h.
10408 (m32c_handle_option): Update to new hook interface.
10409 * config/m32r/m32r.c: Include opts.h.
10410 (m32r_handle_option): Update to new hook interface.
10411 * config/m68k/m68k.c: Include opts.h.
10412 (m68k_handle_option): Update to new hook interface.
10413 * config/mep/mep.c: Include opts.h.
10414 (mep_handle_option): Update to new hook interface.
10415 * config/microblaze/microblaze.c: Include opts.h.
10416 (microblaze_handle_option): Update to new hook interface.
10417 * config/mips/mips.c: Include opts.h.
10418 (mips_handle_option): Update to new hook interface.
10419 * config/mn10300/mn10300.c: Include opts.h.
10420 (mn10300_handle_option): Update to new hook interface.
10421 * config/pa/pa.c: Include opts.h.
10422 (pa_handle_option): Update to new hook interface.
10423 * config/pdp11/pdp11.c: Include opts.h.
10424 (pdp11_handle_option): Update to new hook interface.
10425 * config/rs6000/rs6000.c: Include opts.h.
10426 (rs6000_handle_option): Update to new hook interface.
10427 * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
10428 * config/rx/rx.c: Include opts.h.
10429 (rx_handle_option): Update to new hook interface.
10430 * config/s390/s390.c: Include opts.h.
10431 (s390_handle_option): Update to new hook interface.
10432 * config/score/score.c: Include opts.h.
10433 (score_handle_option): Update to new hook interface.
10434 * config/sh/sh.c: Include opts.h.
10435 (sh_handle_option): Update to new hook interface.
10436 * config/sparc/sparc.c: Include opts.h.
10437 (sparc_handle_option): Update to new hook interface.
10438 * config/v850/v850.c: Include opts.h.
10439 (v850_handle_option): Update to new hook interface.
10440
66017846
JM
104412011-03-22 Joseph Myers <joseph@codesourcery.com>
10442
10443 * gcc.c (driver_unknown_option_callback): Only permit and save
10444 unknown -Wno- options.
10445 (driver_wrong_lang_callback): Save options directly instead of via
10446 driver_unknown_option_callback.
10447
e8b97ccd
EB
104482011-03-22 Eric Botcazou <ebotcazou@adacore.com>
10449
10450 * combine.c (simplify_set): Try harder to find the best CC mode when
10451 simplifying a nested COMPARE on the RHS.
10452
ebb9f8b0
JM
104532011-03-22 Joseph Myers <joseph@codesourcery.com>
10454
10455 * config/alpha/gnu.h: Remove.
10456 * config/arc: Remove directory.
10457 * config/arm/netbsd.h: Remove.
10458 * config/arm/t-pe: Remove.
10459 * config/crx: Remove directory.
10460 * config/i386/netbsd.h: Remove.
10461 * config/m68hc11: Remove directory.
10462 * config/m68k/uclinux-oldabi.h: Remove.
10463 * config/mcore/mcore-pe.h: Remove.
10464 * config/mcore/t-mcore-pe: Remove.
10465 * config/netbsd-aout.h: Remove.
10466 * config/rs6000/gnu.h: Remove.
10467 * config/sh/sh-symbian.h: Remove.
10468 * config/sh/symbian-base.c: Remove.
10469 * config/sh/symbian-c.c: Remove.
10470 * config/sh/symbian-cxx.c: Remove.
10471 * config/sh/symbian-post.h: Remove.
10472 * config/sh/symbian-pre.h: Remove.
10473 * config/sh/t-symbian: Remove.
10474 * config/svr3.h: Remove.
10475 * config/vax/netbsd.h: Remove.
10476 * config.build: Don't handle i[34567]86-*-pe.
10477 * config.gcc: Remove handling of deprecations for most deprecated
10478 targets.
10479 (m68k-*-uclinuxoldabi*): Add to second deprecated list.
10480 (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
10481 i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
10482 m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
10483 powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
10484 sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
10485 Remove cases.
10486 * config.host: Don't handle i[34567]86-*-pe.
10487 * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
10488 (ASM_SPEC32): Don't handle -mcall-gnu.
10489 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
10490 -mcall-gnu.
10491 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
10492 STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
10493 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
10494 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
10495 (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
10496 * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
10497 conditional on SYMBIAN.
10498 * configure.ac: Don't handle powerpc*-*-gnu*.
10499 * configure: Regenerate.
10500 * doc/extend.texi (interrupt attribute): Don't mention CRX.
10501 * doc/install-old.texi (m6811, m6812): Don't mention.
10502 * doc/install.texi (arc-*-elf*): Don't document multilib option.
10503 (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
10504 (m68k-uclinuxoldabi): Don't mention.
10505 * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
10506 Remove.
10507 (-mcall-gnu): Remove.
10508 * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
10509 families): Remove constraint documentation.
10510
999a7d80
MS
105112011-03-22 Marius Strobl <marius@FreeBSD.org>
10512
10513 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
10514 (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
10515 (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
10516
45540bcf
MM
105172011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
10518
10519 PR target/48226
10520 * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If we see a
10521 vector when peeking at the next token for vector, don't expand the
10522 keywords.
10523
980a0ff4
GJL
105242011-03-21 Georg-Johann Lay <avr@gjlay.de>
10525
10526 * config/avr/avr-protos.h (expand_epilogue): Change prototype
10527 * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
10528 * config/avr/avr.c (init_cumulative_args)
10529 (avr_function_arg_advance): Use it.
10530 * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
10531 sibcall epilogues.
10532 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
10533 (avr_function_ok_for_sibcall): ...this new function.
10534 (avr_lookup_function_attribute1): New static Function.
10535 (avr_naked_function_p, interrupt_function_p)
10536 (signal_function_p, avr_OS_task_function_p)
10537 (avr_OS_main_function_p): Use it.
10538 * config/avr/avr.md ("sibcall", "sibcall_value")
10539 ("sibcall_epilogue"): New expander.
10540 ("*call_insn", "*call_value_insn"): New insn.
10541 ("call_insn", "call_value_insn"): Remove
10542 ("call", "call_value", "epilogue"): Change expander to handle
10543 sibling calls.
10544
49168734
NC
105452011-03-21 Nick Clifton <nickc@redhat.com>
10546
10547 * doc/invoke.texi (Overall Options): Move closing brace to end of
10548 options list.
10549 (Optimization Options): Add missing @gol.
10550 (Directory Options): Likewise.
10551 (i386 and x86-64 Options): Likewise.
10552 (RS6000 and PowerPC Options): Likewise.
10553 (i386 and x86-64 Windows Options): Likewise.
10554 (V850 Options): Add text missing from descriptions.
10555
bdfe906f
RH
105562011-03-22 Richard Henderson <rth@redhat.com>
10557
10558 * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
10559 (avr_incoming_return_addr_rtx): New.
10560 (emit_push_byte): New.
10561 (expand_prologue): Use it. Remove incorrect dwarf annotation for
10562 SREG, RAMPZ, zero register. Push frame pointer by bytes. Add dwarf
10563 annotation for __prologue_saves__. Fixup dwarf annotation for CFA.
10564 (emit_pop_byte): New.
10565 (expand_epilogue): Use it. Pop frame pointer by bytes.
10566 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
10567 (INCOMING_RETURN_ADDR_RTX): New.
10568 (INCOMING_FRAME_SP_OFFSET): New.
10569 (ARG_POINTER_CFA_OFFSET): New.
10570 * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
10571 (*pushhi, *pushsi, *pushsf, popqi): Likewise.
10572 (pophi): Remove.
10573
d090a5aa
RH
10574 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
10575
fdf3e18a
NF
105762011-03-22 Nathan Froyd <froydnj@codesourcery.com>
10577
10578 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
10579 (FUNCTION_ARG_ADVANCE): Likewise.
10580 * tm.texi.in: Change references to them to hook references.
10581 * tm.texi: Regenerate.
10582 * targhooks.c (default_function_arg): Eliminate check for target
10583 macro.
10584 (default_function_incoming_arg): Likewise.
10585 (default_function_arg_advance): Likewise.
c78dd519 10586 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
fdf3e18a
NF
10587 (function_arg_advance): Likewise.
10588 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
10589
009d3fcf
NF
105902011-03-22 Nathan Froyd <froydnj@codesourcery.com>
10591
10592 * tree.c (build_call_1): New function.
10593 (build_call_valist, build_call_array_loc, build_call_vec): Call it.
10594
7bec30e1
RG
105952011-03-22 Richard Guenther <rguenther@suse.de>
10596
10597 PR tree-optimization/48228
10598 * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
10599 for single-arg PHIs.
10600
0b7e851b
AB
106012011-03-22 Andrey Belevantsev <abel@ispras.ru>
10602
10603 PR rtl-optimization/48143
10604 * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
10605 (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
10606 sse2_cvtps2pd): Likewise.
10607
d89afca5
AK
106082011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10609
10610 * recog.c (canonicalize_change_group): Use validate_unshare_change.
10611
f471fe72
RG
106122011-03-22 Richard Guenther <rguenther@suse.de>
10613
10614 * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
10615 a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
10616 * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
10617 and REALIGN_LOAD_EXPR.
10618 (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
10619 DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
10620 * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
10621 DOT_PROD_EXPR case ...
10622 (expand_expr_real_2): ... here.
10623 * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
10624 and REALIGN_LOAD_EXPR.
10625 * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
10626 * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
10627 (vect_create_epilog_for_reduction): Likewise.
10628 (vectorizable_reduction): Likewise.
10629 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
10630 * tree-vect-stmts.c (vectorizable_load): Likewise.
10631
f2f81d57
EB
106322011-03-22 Eric Botcazou <ebotcazou@adacore.com>
10633
10634 * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
10635
ab081dd6
AK
106362011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10637
10638 * config/s390/s390.c (s390_delegitimize_address): Fix offset
10639 handling for PLTOFF/GOTOFF.
10640
6fd5332b
NC
106412011-03-22 Nick Clifton <nickc@redhat.com>
10642
10643 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
10644 trailing backslash from the end of the macro definition.
10645
01841ac0
AK
106462011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10647
10648 * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
10649 and PLT unspecs.
10650
2ef6ce06
RS
106512011-03-21 Richard Sandiford <richard.sandiford@linaro.org>
10652
10653 * expr.h (prepare_operand): Move to...
10654 * optabs.h (prepare_operand): ...here and change the insn code
10655 parameter from "int" to "enum insn_code".
10656 (insn_operand_matches): Declare.
10657 * expr.c (init_expr_target): Use insn_operand_matches.
10658 (compress_float_constant): Likewise.
10659 * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
10660 * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
10661 (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
c78dd519
UB
10662 (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn):
10663 Likewise.
2ef6ce06
RS
10664 (gen_cond_trap): Likewise.
10665 (prepare_operand): Likewise. Change icode to an insn_code.
10666 (insn_operand_matches): New function.
10667 * reload.c (find_reloads_address_1): Use insn_operand_matches.
10668 * reload1.c (gen_reload): Likewise.
10669 * targhooks.c (default_secondary_reload): Likewise.
10670
9e43ad68
UB
106712011-03-21 Uros Bizjak <ubizjak@gmail.com>
10672
9a96da32
UB
10673 * config/alpha/alpha.md (unspec): New define_c_enum.
10674 (unspecv): Ditto.
10675
106762011-03-21 Uros Bizjak <ubizjak@gmail.com>
10677
10678 PR debug/48214
9e43ad68
UB
10679 * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
10680 between a call and its CALL_ARG_LOCATION note.
10681
31408f60
EB
106822011-03-21 Eric Botcazou <ebotcazou@adacore.com>
10683
10684 * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
10685
106862011-03-21 Jakub Jelinek <jakub@redhat.com>
126e6609
JJ
10687
10688 PR c/42544
10689 PR c/48197
10690 * c-common.c (shorten_compare): If primopN is first sign-extended
10691 to opN and then zero-extended to result type, set primopN to opN.
10692
9dfd55f5
DJ
106932011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
10694
10695 * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
10696 for barrier handlers.
10697
f3c33d9d
MM
106982011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
10699
10700 * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
10701 UNSPEC constants to be in the unspec enumeration, and redefine
10702 all UNSPECV constants to be in the unspecv enumeration, so that
10703 dumps print which unspec/unspec_volatile this is.
10704 * config/rs6000/vector.md (UNSPEC_*): Ditto.
10705 * config/rs6000/paired.md (UNSPEC_*): Ditto.
10706 * config/rs6000/vsx.md (UNSPEC_*): Ditto.
10707 * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
10708 * config/rs6000/dfp.md (UNSPEC_*): Ditto.
10709
10710 * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
10711 UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
10712 UNSPECV_LWSYNC, since these are used as unspec_volatile.
10713 * config/rs6000/sync.md (isync, lwsync): Ditto.
10714
ac43f774
RG
107152011-03-21 Richard Guenther <rguenther@suse.de>
10716
10717 * params.def (lto-min-partition): Fix typo.
10718
411cdbd8
RG
107192011-03-21 Richard Guenther <rguenther@suse.de>
10720
10721 PR c/47939
10722 * c-decl.c (grokdeclarator): Drop to the main variant only
10723 for array types. Drop flag_gen_aux_info check.
10724
1cd9e416
RG
107252011-03-21 Richard Guenther <rguenther@suse.de>
10726
10727 PR translation/47911
10728 * params.def (lto-partitions): Fix typo.
10729 (lto-min-partition): Fix wording.
10730
ada5ad67
AT
107312011-03-21 Andreas Tobler <andreast@fgznet.ch>
10732
10733 * config/rs6000/t-freebsd: Remove duplication from file.
10734
f9613c9a
RG
107352011-03-21 Richard Guenther <rguenther@suse.de>
10736
10737 PR middle-end/47661
10738 * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
10739
9bfbc1eb
RG
107402011-03-21 Richard Guenther <rguenther@suse.de>
10741
10742 PR lto/48210
10743 * params.def (lto-partitions): Require at least 1 partition.
10744
a2268084
RO
107452011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10746
10747 * gthr-solaris.h: Remove.
10748 * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
10749 * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
10750 (LIB_SPEC): Likewise.
10751 * config/sol2.opt (threads): Remove.
9e43ad68 10752 * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
a2268084
RO
10753 (sparc*-*-solaris2*): Likewise.
10754 * configure.ac (enable_threads): Enable solaris support.
10755 * configure: Regenerate.
9e43ad68 10756 * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
a2268084
RO
10757 * doc/install.texi (Configuration, --enable-threads=lib): Remove
10758 solaris.
10759
c43d9a1b
RO
107602011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10761
10762 * config.gcc: Obsolete *-*-solaris2.8*.
10763 * doc/install.texi (Specific, *-*-solaris2*): Document it.
10764
084239f4
RO
107652011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10766
10767 PR bootstrap/48135
10768 * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
10769 reference. Solaris 8 perl works.
10770
64cadbe7
RO
107712011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10772
10773 PR bootstrap/48135
10774 * doc/install.texi (Prerequisites): Move jar etc. up.
10775 Explain support library version requirements.
10776
eb975109
RO
107772011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10778
10779 PR bootstrap/48135
10780 * doc/install.texi (Prerequisites): Move Perl to build
10781 requirements. Always necessary on Solaris 2 with Sun ld.
10782
8a509ffd
RO
107832011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10784
10785 * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
10786 binutils 2.21.
10787 (Specific, i?86-*-solaris2.[89]): Likewise.
10788 (Specific, i?86-*-solaris2.10): Likewise.
10789 (Specific, mips-sgi-irix6): Likewise.
10790 (Specific, *-*-solaris2*): Remove Sun Studio download URL.
10791 Update for binutils 2.21.
10792
8fbc58a1
RO
107932011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10794
10795 * configure.ac (gcc_cv_lto_plugin): Fix typo.
10796 Allow -fuse-linker-plugin for non-default plugin linker.
10797 * configure: Regenerate.
10798
7e84ad0b
NP
107992011-03-21 Nicola Pero <nicola.pero@meta-innovation.com>
10800
10801 PR bootstrap/48167
10802 * gengtype.c (files_rules): Added rule for cp/parser.h.
10803
2f36e14b
JJ
108042011-03-21 Jakub Jelinek <jakub@redhat.com>
10805
10806 PR target/48213
10807 * config/s390/s390.c (s390_delegitimize_address): Don't call
10808 lowpart_subreg if orig_x has BLKmode.
10809
62d784f7
KT
108102011-03-21 Kai Tietz <ktietz@redhat.com>
10811
10812 PR target/12171
9e43ad68
UB
10813 * doc/plugins.texi: Adjust documentation for plugin register_callback.
10814 * tree.h (attribute_spec): Add new member affects_type_identity.
10815 * attribs.c (empty_attribute_table): Adjust attribute_spec
10816 initializers.
62d784f7
KT
10817 * config/alpha/alpha.c: Likewise.
10818 * config/arc/arc.c: Likewise.
10819 * config/arm/arm.c: Likewise.
10820 * config/avr/avr.c: Likewise.
10821 * config/bfin/bfin.c: Likewise.
10822 * config/crx/crx.c: Likewise.
10823 * config/darwin.h: Likewise.
10824 * config/h8300/h8300.c: Likewise.
10825 * config/i386/cygming.h: Likewise.
10826 * config/i386/i386.c: Likewise.
10827 * config/ia64/ia64.c: Likewise.
10828 * config/m32c/m32c.c: Likewise.
10829 * config/m32r/m32r.c: Likewise.
10830 * config/m68hc11/m68hc11.c: Likewise.
10831 * config/m68k/m68k.c: Likewise.
10832 * config/mcore/mcore.c: Likewise.
10833 * config/mep/mep.c: Likewise.
10834 * config/microblaze/microblaze.c: Likewise.
10835 * config/mips/mips.c: Likewise.
10836 * config/rs6000/rs6000.c: Likewise.
10837 * config/rx/rx.c: Likewise.
10838 * config/sh/sh.c: Likewise.
10839 * config/sol2.h: Likewise.
10840 * config/sparc/sparc.c: Likewise.
10841 * config/spu/spu.c: Likewise.
10842 * config/stormy16/stormy16.c: Likewise.
10843 * config/v850/v850.c: Likewise.
10844
54833ec0
CLT
108452011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
10846
10847 * simplify-rtx.c (simplify_binary_operation_1): Handle
10848 (xor (and A B) C) case when B and C are both constants.
10849
14a41392
MX
108502011-03-21 Mingjie Xing <mingjie.xing@gmail.com>
10851
10852 * tree-dfa.c (add_referenced_var): Fix typo in comment.
10853
806c3492
EB
108542011-03-20 Eric Botcazou <ebotcazou@adacore.com>
10855
10856 PR bootstrap/48168
10857 * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
10858
65e0a0f3
JJ
108592011-03-20 Jakub Jelinek <jakub@redhat.com>
10860
10861 PR rtl-optimization/48156
10862 * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
10863 assume df and df_lr are not NULL.
10864
b6a75dda
RR
108652011-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
10866
10867 PR debug/48023
10868 * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
10869 between a call and its CALL_ARG_LOCATION note.
10870
5969b52d
KK
108712011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
10872
10873 PR debug/48178
10874 * config/sh/sh.c (find_barrier): Don't emit a constant pool
10875 between a call and its corresponding CALL_ARG_LOCATION note.
10876
f773c2bd
AS
108772011-03-19 Anatoly Sokolov <aesok@post.ru>
10878
10879 * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
10880 instead of loop. Use HARD_REGISTER_NUM_P predicate.
10881 * haifa-sched.c (setup_ref_regs): Ditto.
10882 * caller-save.c (add_used_regs_1): Ditto.
10883 * dse.c (look_for_hardregs): Ditto.
10884 * df-problems.c (df_simulate_one_insn_forwards): Ditto.
10885 * sched-rgn.c (check_live_1): Ditto.
10886
8bf872f9
JM
108872011-03-18 Joseph Myers <joseph@codesourcery.com>
10888
10889 * c-decl.c (diagnose_mismatched_decls): Give an error for
10890 redefining a typedef with variably modified type.
10891
ff8e2159
JM
108922011-03-18 Joseph Myers <joseph@codesourcery.com>
10893
10894 * c-decl.c (grokfield): Don't allow typedefs for structures or
10895 unions with no tag by default.
10896 * doc/extend.texi (Unnamed Fields): Update.
10897
16cc4440
UB
108982011-03-18 Uros Bizjak <ubizjak@gmail.com>
10899
10900 * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
10901 Rewrite using indirect functions.
10902 (lwp_slwpcb): Ditto.
10903 * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
10904 (avx_vinsertf128<mode>): Ditto.
10905
e101e12e
AK
109062011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10907
10908 * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
10909 unspecs.
10910
4627c7fb
AK
109112011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10912
10913 * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
9e43ad68 10914 splitting between a call and its corresponding CALL_ARG_LOCATION note.
4627c7fb 10915
2d36b47f
MK
109162011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
10917
10918 PR rtl-optimization/48170
10919 * gcse.c (hoist_code): Remove bogus asserts.
10920
2a3d7659
JL
109212011-03-18 Georg-Johann Lay <avr@gjlay.de>
10922
10923 * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
10924 computation for prologue/epilogue.
10925
34c3ef05
RO
109262011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10927
10928 * Makefile.in (check-consistency): Remove.
10929
81f2b976
JJ
109302011-03-18 Jakub Jelinek <jakub@redhat.com>
10931
10932 PR debug/48176
10933 * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
10934 arange_table_in_use is 0, but either text_section_used or
10935 cold_text_section_used is true. Don't call it if
10936 !info_section_emitted.
10937
68fd7765
AS
109382011-03-18 Anatoly Sokolov <aesok@post.ru>
10939
10940 * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
10941 FUNCTION_VALUE_REGNO_P): Remove.
10942 * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
10943 Remove.
10944 * config/avr/avr.c (avr_ret_register): Make static inline.
10945 (avr_function_value_regno_p): New function.
10946 (avr_libcall_value): Make static. Add 'func' argument.
10947 (avr_function_value): Make static. Rename 'func' argument to
10948 'fn_decl_or_type', forward it to avr_libcall_value. Call
10949 avr_ret_register function instead of RET_REGISTER macro.
10950 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
10951
b4ef8aac
JM
109522011-03-18 Jason Merrill <jason@redhat.com>
10953
10954 PR c++/23372
10955 * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
10956
09a52fc3
RG
109572011-03-18 Richard Guenther <rguenther@suse.de>
10958
10959 * doc/install.texi (--enable-gold): Remove.
10960 (--with-plugin-ld): Document.
10961 * doc/invoke.texi (-fuse-linker-plugin): Clarify.
10962
2a3d7659 109632011-03-18 Andrew Pinski <pinskia@gmail.com>
3bf162a0
AP
10964
10965 PR middle-end/47790
10966 * expr.c (optimize_bitfield_assignment_op): Revamp to work
10967 again after expansion changes.
10968
2abbb0fe
CLT
109692011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
10970
10971 * combine.c (try_combine): Do simplification only call of
10972 subst() on i2 even when i1 is present. Update comments.
10973
2efd0aa6
KK
109742011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
10975
10976 * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
10977 and UNSPEC_PCREL_SYMOFF.
10978
30a49b23
AK
109792011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10980
10981 * config/s390/s390.md: Use define_c_enum for the unspec constant
10982 definitions.
10983
419e1853
JJ
109842011-03-18 Richard Henderson <rth@redhat.com>
10985 Jakub Jelinek <jakub@redhat.com>
10986
10987 PR bootstrap/48161
10988 * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
10989 instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
10990
37875856
L
109912011-03-17 H.J. Lu <hongjiu.lu@intel.com>
10992
10993 PR middle-end/47725
10994 * combine.c (cant_combine_insn_p): Don't check zero/sign
10995 extended hard registers.
10996
76069764
L
109972011-03-17 H.J. Lu <hongjiu.lu@intel.com>
10998
10999 PR middle-end/47725
11000 * combine.c (cant_combine_insn_p): Check zero/sign extended
11001 hard registers.
11002
24da2019
AS
110032011-03-17 Anatoly Sokolov <aesok@post.ru>
11004
11005 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
11006 * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
11007 * config/v850/v850.c (v850_output_addr_const_extra): Make static.
11008 Change return type to bool.
11009 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
11010
a82ff31f
JJ
110112011-03-17 Jakub Jelinek <jakub@redhat.com>
11012
8b29c87a
JJ
11013 PR debug/48163
11014 * var-tracking.c (prepare_call_arguments): If CALL target
11015 is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
11016 pc instead of looking it up using cselib_lookup and use
11017 Pmode for it if x has VOIDmode.
11018 * dwarf2out.c (gen_subprogram_die): If also both first and
11019 second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
11020
a82ff31f
JJ
11021 PR debug/48163
11022 * function.c (assign_parms): For data.passed_pointer parms
11023 use MEM of data.entry_parm instead of data.entry_parm itself
11024 as DECL_INCOMING_RTL.
11025 * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
11026 also when passed and declared mode is the same, DECL_RTL
11027 is a MEM with pseudo as address and DECL_INCOMING_RTL is
11028 a MEM too.
11029
82ce305c
JL
110302011-03-16 Jeff Law <law@redhat.com>
11031
11032 PR rtl-optimization/37273
11033 * ira-costs.c (scan_one_insn): Detect constants living in memory and
11034 handle them like argument loads from stack slots. Do not double
11035 count memory for memory constants and argument loads from stack slots.
11036
fe58e02b
L
110372011-03-17 H.J. Lu <hongjiu.lu@intel.com>
11038
11039 PR debug/48160
11040 * var-tracking.c (prepare_call_arguments): Check SUBREG.
11041
6fc4dbc7
L
110422011-03-17 H.J. Lu <hongjiu.lu@intel.com>
11043
11044 PR target/48171
11045 * config/i386/i386.opt: Add Save to -mavx and -mfma.
11046
db3ed0b3
JJ
110472011-03-17 Jakub Jelinek <jakub@redhat.com>
11048
8054a389
JJ
11049 PR bootstrap/48153
11050 * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
11051 if dwarf_strict.
11052 (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
11053 Clear call_arg_locations and call_arg_loc_last always.
11054
db3ed0b3
JJ
11055 PR middle-end/48152
11056 * var-tracking.c (prepare_call_arguments): If argument needs to be
11057 passed by reference, adjust argtype and mode.
11058
1bce4ff3
RG
110592011-03-17 Richard Guenther <rguenther@suse.de>
11060
11061 PR middle-end/48134
11062 * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
11063 a value make sure to fold the statement.
11064
7c71147d
CLT
110652011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
11066
11067 PR target/43872
11068 * config/arm/arm.c (arm_get_frame_offsets): Adjust early
11069 return condition with !cfun->calls_alloca.
11070
0e1ee172
RG
110712011-03-17 Richard Guenther <rguenther@suse.de>
11072
11073 PR bootstrap/48148
11074 * lto-cgraph.c (input_overwrite_node): Clear the abstract
11075 origin for decls in other ltrans units.
11076 (input_varpool_node): Likewise.
11077
f8bce518
RG
110782011-03-17 Richard Guenther <rguenther@suse.de>
11079
11080 PR middle-end/48165
11081 * tree-object-size.c (compute_object_offset): Properly return
11082 the offset operand of MEM_REFs as sizetype.
11083
1b6fa860
JJ
110842011-03-17 Jakub Jelinek <jakub@redhat.com>
11085
dabd47e7
JJ
11086 PR rtl-optimization/48141
11087 * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
11088 * dse.c: Include params.h.
11089 (active_local_stores_len): New variable.
11090 (add_wild_read, dse_step1): Clear it when setting active_local_stores
11091 to NULL.
11092 (record_store, check_mem_read_rtx): Decrease it when removing
11093 from the chain.
11094 (scan_insn): Likewise. Increase it when adding to chain, if it
11095 reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
11096 set active_local_stores to NULL before the addition.
11097 * Makefile.in (dse.o): Depend on $(PARAMS_H).
11098
1b6fa860
JJ
11099 PR rtl-optimization/48141
11100 * dse.c (record_store): If no positions are needed in an insn
11101 that cannot be deleted, at least unchain it from active_local_stores.
11102
7b5cb7d6
DS
111032011-03-16 Dodji Seketeli <dodji@redhat.com>
11104
11105 PR debug/47510
11106 * dwarf2out.c (strip_naming_typedef): Factorize out of ...
11107 (lookup_type_die_strip_naming_typedef): ... here.
11108 (get_context_die): Use it.
11109 (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
11110 the anonymous struct named by the naming typedef.
11111
585e9d9d
L
111122011-03-16 H.J. Lu <hongjiu.lu@intel.com>
11113
11114 PR target/48154
11115 * config/i386/i386.c (ix86_builtin_vectorized_function): Check
11116 TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
11117
6261ab0e
JL
111182011-03-16 Jeff Law <law@redhat.com>
11119
11120 * tree-vrp.c (identify_jump_threads): Slightly simplify type
16cc4440 11121 check for operands of conditional. Allow type to be a pointer.
6261ab0e 11122
0b0081ec
RG
111232011-03-16 Richard Guenther <rguenther@suse.de>
11124
11125 PR tree-optimization/48149
11126 * fold-const.c (fold_binary_loc): Fold
11127 COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
11128
64a3d647
RG
111292011-03-16 Richard Guenther <rguenther@suse.de>
11130
11131 PR tree-optimization/26134
11132 * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
11133 complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
11134 (non_rewritable_mem_ref_base): Handle complex type component
11135 accesses, constrain offsets for vector and complex extracts
11136 more properly.
11137
ef13324e
RG
111382011-03-16 Richard Guenther <rguenther@suse.de>
11139
11140 PR tree-optimization/48146
11141 * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
11142 operands avoiding the need for renaming.
11143
f0eddb90
RG
111442011-03-16 Richard Guenther <rguenther@suse.de>
11145
11146 * gimple-fold.c (maybe_fold_reference): Open-code relevant
11147 constant folding. Move MEM_REF canonicalization first.
11148 Rely on fold_const_aggregate_ref for initializer folding.
11149 * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
11150
e42348b8
JJ
111512011-03-16 Jakub Jelinek <jakub@redhat.com>
11152
29f10e71
JJ
11153 PR middle-end/48136
11154 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
11155 arg0/arg1 or their arguments are always fold converted to matching
11156 types.
11157
e42348b8
JJ
11158 * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
11159 to nargs.
11160
55b46574
RO
111612011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11162
11163 PR lto/46944
11164 * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
11165 Handle in-tree gold.
11166 (ld_vers): Extract binutils version for gold.
11167 (gcc_cv_ld_hidden): Handle gold here.
11168 (gcc_cv_lto_plugin): Determine level of linker plugin support.
11169 * configure: Regenerate.
11170 * config.in: Regenerate.
11171 * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
11172 -fuse-linker-plugin otherwise.
11173 (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
11174 (LINK_COMMAND_SPEC): Use it.
11175 (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
11176
2b1c5433
JJ
111772011-03-16 Jakub Jelinek <jakub@redhat.com>
11178
c2969d8e
JJ
11179 * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
11180 * calls.c: Remove debug.h include.
11181 (emit_call_1): Don't call virtual_call_token debug hook.
11182 * dwarf2out.c (debug_dcall_section, debug_vcall_section,
11183 dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
11184 vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
11185 size_of_dcall_table, output_dcall_table, size_of_vcall_table,
11186 output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
11187 vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
11188 dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
11189 dwarf2out_virtual_call): Remove.
11190 (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
11191 copy_call_info and virtual_call hooks.
11192 (dwarf2out_init): Don't initialize vcall_insn_table,
11193 debug_dcall_section and debug_vcall_section.
11194 (prune_unused_types): Don't mark nodes from dcall_table.
11195 (dwarf2out_finish): Don't output dcall or vcall tables.
11196 * final.c (final_scan_insn): Don't call direct_call or
11197 virtual_call debug hooks.
11198 * debug.h (struct gcc_debug_hooks): Remove direct_call,
11199 virtual_call_token, copy_call_info and virtual_call hooks.
11200 (debug_nothing_uid): Remove prototype.
11201 * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
11202 copy_call_info and virtual_call hooks.
11203 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
11204 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
11205 * debug.c (do_nothing_debug_hooks): Likewise.
11206 (debug_nothing_uid): Remove.
11207 * doc/invoke.texi (-fenable-icf-debug): Remove.
11208 * common.opt (-fenable-icf-debug): Likewise.
11209
325f5379
JJ
11210 * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
11211 * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
11212 call's MEM. Handle functions returning aggregate through a hidden
11213 first pointer. For virtual calls add clobbered pc to call arguments
11214 chain.
11215 * dwarf2out.c (gen_subprogram_die): Emit
11216 DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
11217 can't be emitted.
11218
a58a8e4b
JJ
11219 PR debug/45882
11220 * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
11221 * rtl.h (ENTRY_VALUE_EXP): Define.
11222 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
11223 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
11224 * print-rtl.c (print_rtx): Likewise.
11225 * gengtype.c (adjust_field_rtx_def): Likewise.
11226 * var-tracking.c (vt_add_function_parameter): Adjust
11227 gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
11228 * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
11229 * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
11230 partition is a default definition of a PARM_DECL, use ENTRY_VALUE
11231 of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
11232
2b1c5433
JJ
11233 * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
11234 Call var_location debug hook even on CALL_INSNs.
11235 (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
11236 * rtl.def (ENTRY_VALUE): New.
11237 * dwarf2out.c: Include cfglayout.h.
11238 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
11239 output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
11240 (struct call_arg_loc_node): New type.
11241 (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
11242 tail_call_site_count): New variables.
11243 (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
11244 DW_TAG_GNU_call_site_parameter.
11245 (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
11246 DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
11247 DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
11248 DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
11249 and DW_AT_GNU_all_source_call_sites.
11250 (mem_loc_descriptor): Handle ENTRY_VALUE.
11251 (add_src_coords_attributes): Don't add enything if
11252 DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
11253 (dwarf2out_abstract_function): Save and clear call_arg_location,
11254 call_site_count and tail_call_site_count around dwarf2out_decl call.
11255 (gen_call_site_die): New function.
11256 (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
11257 (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
11258 (dwarf2out_function_decl): Clear call_arg_locations,
11259 call_arg_loc_last, set call_site_count and tail_call_site_count
11260 to -1 and free block_map.
11261 (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
11262 CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
11263 followed by any real instructions.
11264 (dwarf2out_begin_function): Set call_site_count and
11265 tail_call_site_count to 0.
11266 (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
11267 is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
11268 attempt to force a DIE for it and worst case remove the attribute.
11269 (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
11270 check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
11271 the decl itself.
11272 * var-tracking.c: Include tm_p.h.
11273 (vt_stack_adjustments): For calls call note_register_arguments.
11274 (argument_reg_set): New variable.
11275 (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
11276 ensure the VALUE is resolved.
11277 (call_arguments): New variable.
11278 (prepare_call_arguments): New function.
11279 (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
11280 (struct expand_loc_callback_data): Add ignore_cur_loc field.
11281 (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
11282 always use the best expression.
11283 (vt_expand_loc): Add ignore_cur_loc argument.
11284 (vt_expand_loc_dummy): Clear ignore_cur_loc field.
11285 (emit_note_insn_var_location): Adjust vt_expand_loc callers.
11286 (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
11287 note for all calls.
11288 (vt_add_function_parameter): Use cselib_lookup_from_insn.
11289 If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
11290 argument. Don't call cselib_preserve_only_values and
11291 cselib_reset_table.
11292 (note_register_arguments): New function.
11293 (vt_initialize): Compute argument_reg_set. Call
11294 vt_add_function_parameters before processing basic blocks instead of
11295 afterwards. For calls call prepare_call_arguments before calling
11296 cselib_process_insn.
11297 * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
11298 * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
11299 (var-tracking.o): Depend on $(TM_P_H).
11300 * cfglayout.h (insn_scope): New prototype.
11301 * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
11302 * cfglayout.c (insn_scope): No longer static.
11303 * insn-notes.def (CALL_ARG_LOCATION): New.
11304 * calls.c (expand_call, emit_library_call_value_1): Put USEs for
11305 MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
11306 * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
11307 nothing for DECL_EXTERNAL BLOCK_VARS.
11308
9ef13bd0
AM
113092011-03-16 Alan Modra <amodra@gmail.com>
11310
11311 PR target/45844
11312 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
11313 create invalid offset address for vsx splat insn.
11314 * config/rs6000/predicates.md (splat_input_operand): New.
11315 * config/rs6000/vsx.md (vsx_splat_*): Use it.
11316
56b67510
XDL
113172011-03-15 Xinliang David Li <davidxl@google.com>
11318
11319 PR c/47837
11320 * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
11321 (normalize_preds): New function.
11322 (is_use_properly_guarded): Normalize def predicates.
11323
80fffdef
RR
113242011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
11325
732f37c6 11326 PR target/46788
80fffdef
RR
11327 * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
11328 in the output template.
11329
930672ad
RG
113302011-03-15 Richard Guenther <rguenther@suse.de>
11331
11332 PR middle-end/47650
11333 * tree-pretty-print.c (dump_function_declaration): Properly
11334 dump unprototyped and varargs function types.
11335
c7ee7b45
RG
113362011-03-15 Richard Guenther <rguenther@suse.de>
11337
11338 PR tree-optimization/13954
11339 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
11340 and friends.
11341
b2ad5e37
RG
113422011-03-15 Richard Guenther <rguenther@suse.de>
11343
11344 PR tree-optimization/48037
11345 * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
11346 selects into BIT_FIELD_REFs.
11347 (non_rewritable_mem_ref_base): Check if a MEM_REF is a
11348 vector select.
11349
7ee93d4e
JJ
113502011-03-15 Jakub Jelinek <jakub@redhat.com>
11351
11352 PR tree-optimization/48129
11353 * builtins.c (fold_builtin_snprintf): Convert to type of
11354 built_in_decls[BUILT_IN_SNPRINTF] retval instead of
11355 implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
11356
e106efc7
RG
113572011-03-15 Richard Guenther <rguenther@suse.de>
11358
11359 PR tree-optimization/41490
11360 * tree-ssa-dce.c (propagate_necessity): Handle returns without
11361 value but with VUSE.
11362 * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
11363 return statements.
11364 * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
11365 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
11366 * tree-tailcall.c (find_tail_calls): Ignore returns.
11367
17dea42f
RG
113682011-03-15 Richard Guenther <rguenther@suse.de>
11369
11370 PR middle-end/48031
11371 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
11372 or variable-indexed array accesses when in gimple form.
11373
01c77a60
RG
113742011-03-15 Richard Guenther <rguenther@suse.de>
11375
16cc4440 11376 * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
01c77a60 11377
77b0791e
AM
113782011-03-15 Alan Modra <amodra@gmail.com>
11379
11380 PR target/48032
11381 * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
11382 presume symbol_refs without a symbol_ref_decl are suitably
11383 aligned, nor other trees we may see here. Handle anchor symbols.
11384 (legitimate_constant_pool_address_p): Comment. Add mode param.
11385 Check cmodel=medium addresses. Adjust all calls.
11386 (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
11387 creating cmodel=medium optimized access to locals.
11388 * config/rs6000/constraints.md (R): Pass QImode to
11389 legitimate_constant_pool_address_p.
11390 * config/rs6000/predicates.md (input_operand): Pass mode to
11391 legitimate_constant_pool_address_p.
11392 * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
11393 Update prototype.
11394
35f61ba4
MM
113952011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
11396
11397 PR target/48053
11398 * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
11399 64-bit constants being loaded into registers other than GPRs such
11400 as loading 0 into a VSX register.
11401
07332e6d
RO
114022011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11403
16cc4440 11404 * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
07332e6d 11405
de888d90
JJ
114062011-03-14 Jakub Jelinek <jakub@redhat.com>
11407
ba3ceb2d
JJ
11408 PR middle-end/47917
11409 * builtins.c (fold_builtin_snprintf): New function.
11410 (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
11411 (fold_builtin_4): Likewise.
11412
2e64f8b8
JJ
11413 PR middle-end/38878
11414 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
11415 STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
11416 and C - X == X also strip nops from +/-/p+ operand.
11417 When optimizing -X == C, fold C to arg0's type.
11418
de888d90
JJ
11419 PR debug/47946
11420 * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
11421 emit it as add_AT_int instead of add_AT_unsigned.
11422
114232011-03-14 Tom Tromey <tromey@redhat.com>
f4e749b4
TT
11424
11425 * unwind-dw2.c: Include sys/sdt.h if it exists.
11426 (_Unwind_DebugHook): Use STAP_PROBE2.
11427 * config.in, configure: Rebuild.
11428 * configure.ac: Check for sys/sdt.h.
11429
d34abfd2
UB
114302011-03-14 Uros Bizjak <ubizjak@gmail.com>
11431
11432 * config/i386/i386.md (ROUND_FLOOR): New constant.
11433 (ROUND_CEIL): Ditto.
11434 (ROUND_TRUNC): Ditto.
11435 (ROUND_MXCSR): Ditto.
11436 (ROUND_NO_EXC): Ditto.
11437 (rint<mode>2): Use new defines instead of numerical constants.
11438 (floor<mode>2): Ditto.
11439 (ceil<mode>2): Ditto.
11440 (btrunc<mode>2): Ditto.
11441 * config/i386/i386-builtin-types.def: Define ROUND function type
11442 aliases.
11443 * config/i386/i386.c (enum ix86_builtins): Add
11444 IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
11445 (struct builtin_description): Add
11446 __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
11447 (ix86_expand_sse_round): New static function.
11448 (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
11449 function types.
11450 (ix86_builtin_vectorized_function): Handle
11451 BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
11452
87f9e23d
TT
114532011-03-14 Tom Tromey <tromey@redhat.com>
11454
11455 * c-parser.c (c_parser_asm_string_literal): Clear
11456 warn_overlength_strings.
11457
b3ab9ea2
TT
114582011-03-14 Tom Tromey <tromey@redhat.com>
11459
11460 * c-parser.c (disable_extension_diagnostics): Save
11461 warn_overlength_strings.
11462 (restore_extension_diagnostics): Restore warn_overlength_strings.
11463
6bd73dd8
JJ
114642011-03-14 Jakub Jelinek <jakub@redhat.com>
11465
11466 * BASE-VER: Change to 4.7.0.
11467
7f4d6e1b
RG
114682011-03-14 Richard Guenther <rguenther@suse.de>
11469
11470 PR middle-end/48098
11471 * tree.c (build_vector_from_val): Adjust assert to requirements
11472 and reality.
11473
c6104ef1
JJ
114742011-03-14 Jakub Jelinek <jakub@redhat.com>
11475
11476 PR bootstrap/48102
d34abfd2 11477 * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
c6104ef1 11478
dfa95e19
AT
114792011-03-14 Andreas Tobler <andreast@fgznet.ch>
11480
f60c2554 11481 * config/rs6000/freebsd.h (RELOCATABLE_NEEDS_FIXUP): Define in
dfa95e19
AT
11482 terms of target_flags_explicit. Adjust copyright year.
11483
11484 * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
11485 * config/rs6000/t-freebsd: New file. Add override for
11486 LIB2FUNCS_EXTRA.
11487
bb322018
CD
114882011-03-13 Chris Demetriou <cgd@google.com>
11489
11490 * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
11491 (-fno-diagnostics-show-option): this, to reflect current default.
11492 (-Werror=): Update text about -fno-diagnostics-show-option.
11493
12b1c80b
PB
114942011-03-12 Peter Bergner <bergner@vnet.ibm.com>
11495
11496 PR target/48053
11497 * config/rs6000/predicates.md (easy_vector_constant_add_self,
11498 easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
11499 * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
11500 mode is not V2DImode or V2DFmode.
11501 (vspltis_constant): Do not handle V2DImode and V2DFmode.
11502 (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
11503 * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
11504 registers to 0.
11505 (movdi_internal64): Likewise.
11506
57d598f7
SP
115072011-03-12 Sebastian Pop <sebastian.pop@amd.com>
11508
11509 PR tree-optimization/47127
11510 * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
11511 parameter.
11512 (set_cloog_options): Same.
11513 (scop_to_clast): Same.
11514 (print_clast_stmt): Do not call cloog_state_malloc and
11515 cloog_state_free.
11516 (print_generated_program): Same.
11517 (gloog): Same.
11518 * graphite-clast-to-gimple.h (cloog_state): Declared.
11519 (scop_to_clast): Adjust declaration.
11520 * graphite.c (cloog_state): Defined here.
11521 (graphite_initialize): Call cloog_state_malloc.
11522 (graphite_finalize): Call cloog_state_free.
11523
f231b5ff
JM
115242011-03-11 Jason Merrill <jason@redhat.com>
11525
11526 * attribs.c (lookup_attribute_spec): Take const_tree.
11527 * tree.h: Adjust.
11528
6a4e2bd5
JM
115292011-03-11 Joseph Myers <joseph@codesourcery.com>
11530
11531 * config/sparc/sparc.c (sparc_option_override): Use
11532 PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
11533
a758fd67
RG
115342011-03-11 Richard Guenther <rguenther@suse.de>
11535
11536 PR tree-optimization/48067
11537 * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
11538 multiplication result will be only used once on the target
11539 stmt.
11540
03dfda54
RG
115412011-03-11 Richard Guenther <rguenther@suse.de>
11542
11543 * doc/invoke.texi (max-inline-insns-single): Adjust default value.
11544
5f11a50a
RG
115452011-03-11 Richard Guenther <rguenther@suse.de>
11546
11547 PR lto/48073
11548 * tree.c (find_decls_types_r): Do not walk types only reachable
11549 from IDENTIFIER_NODEs.
11550
4074f163
JJ
115512011-03-11 Jakub Jelinek <jakub@redhat.com>
11552
11553 PR middle-end/48044
11554 * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
11555 all vnode->force_output nodes as needed.
11556
30f7cdcd
JM
115572011-03-11 Jason Merrill <jason@redhat.com>
11558
11559 PR c++/48069
11560 * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
11561 COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
11562
62ecfeb8
MJ
115632011-03-11 Martin Jambor <mjambor@suse.cz>
11564
11565 * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
11566 cgraph_node.
11567
e89e03ab
JJ
115682011-03-11 Jakub Jelinek <jakub@redhat.com>
11569
11570 PR tree-optimization/48063
11571 * ipa-inline.c (cgraph_decide_inlining): Don't try to
11572 inline functions called once if !tree_can_inline_p (node->callers).
11573
efbe978b 115742011-03-11 Chen Liqin <liqin.gcc@gmail.com>
9d6193a7 11575
efbe978b
EB
11576 * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
11577 extra_objs.
9d6193a7
CL
11578 * config/score/score3.c: Delete.
11579 * config/score/score3.h: Delete.
11580 * config/score/mul-div.S: Delete.
11581 * config/score/sfp-machine.h: Add new file.
11582 * config/score/constraints.md: Add new file.
11583 * config/score/t-score-softfp: Add new file.
efbe978b 11584 * config/score/t-score-elf: Remove score3.o, do not generate multilib.
9d6193a7
CL
11585 * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
11586 (score7_extra_constraint): Delete.
efbe978b 11587 (score7_option_override): Remove unused code.
9d6193a7
CL
11588 * config/score/score.c: Remove score3 and score5 define and code.
11589 * config/score/score.h: Remove score3 and score5 define and code.
efbe978b 11590 * config/score/score.md: Remove score3 template and unusual insn.
9d6193a7
CL
11591 * config/score/score.opt: Remove score3 and score5 options.
11592
5de27cca
JDA
115932011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11594
11595 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
11596 when _HPUX_SOURCE is defined.
11597 (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
11598
18d92053
JM
115992011-03-10 Jason Merrill <jason@redhat.com>
11600
11601 PR c++/48029
11602 * stor-layout.c (layout_type): Don't set structural equality
11603 on arrays of incomplete type.
11604 * tree.c (type_hash_eq): Handle comparing them properly.
11605
67a2f76d
JJ
116062011-03-10 Jakub Jelinek <jakub@redhat.com>
11607
11608 PR debug/48043
18d92053 11609 * config/s390/s390.c (s390_delegitimize_address): Make sure the
67a2f76d
JJ
11610 result mode matches original rtl mode.
11611
d845b2f9
NC
116122011-03-10 Nick Clifton <nickc@redhat.com>
11613
11614 * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
39242686 11615 (andsi3, andsi3_flags): Fix timings for three operand alternative.
d845b2f9 11616
db7ec035
JJ
116172011-03-09 Jakub Jelinek <jakub@redhat.com>
11618
11619 PR rtl-optimization/47866
11620 * expr.c (store_field): If MEM_SCALAR_P (target), don't use
11621 MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
11622 if target wasn't scalar.
11623 * function.c (assign_stack_temp_for_type): Assert that neither
11624 MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
11625 MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
11626 macro.
11627 * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
11628
5d304e47
AK
116292011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11630
11631 * config/s390/s390-protos.h (s390_label_align): New prototype.
11632 * config/s390/s390.c (s390_label_align): New function.
11633 * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
11634
93b826f0
MM
116352011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
11636
11637 PR target/47755
11638 * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
11639 V2DI/V2DF constants. Only all 0's or all 1's are easy.
11640 (output_vec_const_move): Ditto.
11641
ef78aed6
AS
116422011-03-08 Anatoly Sokolov <aesok@post.ru>
11643
11644 * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
11645 * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
11646 * config/mips/mips.c (mips_preferred_reload_class): Make static.
11647 Change 'rclass' argument and result type to reg_class_t.
11648 (TARGET_PREFERRED_RELOAD_CLASS): Define.
11649
5f892aa0
GJL
116502011-03-08 Georg-Johann Lay <avr@gjlay.de>
11651
9e43ad68
UB
11652 * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
11653 * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
11654 (TARGET_MEMORY_MOVE_COST): Define.
11655 (avr_register_move_cost, avr_memory_move_cost): New Functions.
5f892aa0 11656
32bd2409
JJ
116572011-03-08 Jakub Jelinek <jakub@redhat.com>
11658
530a4800
JJ
11659 PR debug/47881
11660 * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
11661 removed anything.
11662
32bd2409
JJ
11663 PR tree-optimization/48022
11664 * fold-const.c (fold_comparison): Don't call fold_overflow_warning
11665 for EQ/NE_EXPR.
11666
c7148991
JJ
116672011-03-07 Jakub Jelinek <jakub@redhat.com>
11668
11669 PR debug/47991
11670 * var-tracking.c (find_use_val): Return NULL for
11671 cui->sets && cui->store_p BLKmode MEMs.
11672
43070a6e
AS
116732011-03-07 Anatoly Sokolov <aesok@post.ru>
11674
11675 * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
11676 Remove.
11677 * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
11678 xstormy16_print_operand_address): Remove.
11679 * config/stormy16/stormy16.c (xstormy16_print_operand,
11680 xstormy16_print_operand_address): Make static.
11681 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
11682
efbe978b 116832011-03-07 Pat Haugen <pthaugen@us.ibm.com>
79eefb0d
PH
11684
11685 PR target/47862
11686 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
11687 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
11688 before definition.
11689
cec8ac0b
ZD
116902011-03-07 Zdenek Dvorak <ook@ucw.cz>
11691
11692 PR bootstrap/48000
11693 * cfgloopmanip.c (fix_bb_placements): Return immediately
11694 if FROM is BASE_LOOP's header.
11695
59527282
PW
116962011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
11697
11698 * gimplify.c (gimplify_function_tree): Fix building calls
11699 to __builtin_return_address.
11700
617718f7
AM
117012011-03-07 Alan Modra <amodra@gmail.com>
11702
11703 * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
11704 * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
11705 * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
11706 * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
11707 return_mode args.
11708 * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
11709 (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
11710 (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
11711 (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
11712 * config/rs6000/rs6000.c
11713 (rs6000_elf_end_indicate_exec_stack): Rename to..
11714 (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
11715 for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
11716 (rs6000_file_start): ..here.
11717 (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
11718 file scope variables.
11719 (call_ABI_of_interest): New function.
11720 (init_cumulative_args): Set above vars when function return value
11721 is a float, vector, or small struct.
11722 (rs6000_function_arg_advance_1): Likewise for function args.
11723 (rs6000_va_start): Set rs6000_passes_float if variable arg function
11724 references float args.
11725
38528d50
MX
117262011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
11727
11728 * doc/cfg.texi: Remove "See" before @ref.
11729 * doc/invoke.texi: Likewise.
11730
f42cf4f4
JM
117312011-03-05 Jason Merrill <jason@redhat.com>
11732
11733 * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
11734
804a304d
AG
117352011-03-05 Anthony Green <green@moxielogic.com>
11736
11737 * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
11738
634ee309
ZD
117392011-03-05 Zdenek Dvorak <ook@ucw.cz>
11740
11741 PR rtl-optimization/47899
11742 * cfgloopmanip.c (fix_bb_placements): Fix first argument
11743 to flow_loop_nested_p when moving the loop upward.
11744
6fe471c8
RE
117452011-03-05 Richard Earnshaw <rearnsha@arm.com>
11746
11747 PR target/47719
11748 * arm.md (movhi_insn_arch4): Accept any immediate constant.
11749
cc58ceee
JJ
117502011-03-05 Jakub Jelinek <jakub@redhat.com>
11751
11752 PR tree-optimization/47967
11753 * ipa-cp.c (build_const_val): Return NULL instead of creating
11754 VIEW_CONVERT_EXPR for mismatching sizes.
11755 (ipcp_create_replace_map): Return NULL if build_const_val failed.
11756 (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
11757 give up on versioning.
11758
ea868305
AM
117592011-03-05 Alan Modra <amodra@gmail.com>
11760
11761 PR target/47986
11762 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
11763 full cmodel medium/large lo_sum + high addresses.
11764
bc6ce334
AK
117652011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11766
11767 * config/s390/s390.c (s390_decompose_address): Reject non-literal
11768 pool references in UNSPEC_LTREL_OFFSET.
11769
87e7b310
JH
117702011-03-04 Jan Hubicka <jh@suse.cz>
11771
11772 PR lto/47497
11773 * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
11774 (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
d34abfd2
UB
11775 * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
11776 Add node pointers.
87e7b310
JH
11777 * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
11778 cgraph_add_thunk): Add node pointers.
11779 * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
11780 associated to right node.
11781 (input_node): Update use of cgraph_same_body_alias
11782 and cgraph_add_thunk.
11783
d9c64246
CF
117842011-03-04 Changpeng Fang <changpeng.fang@amd.com>
11785
11786 * config/i386/i386.opt (mprefer-avx128): New flag.
d34abfd2
UB
11787 * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
11788 modes when the flag -mprefer-avx128 is on.
d9c64246 11789
08707076
RS
117902011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
11791
11792 * dwarf2out.c (compare_loc_operands): Fix address handling.
11793
52517c81
AM
117942011-03-04 Alan Modra <amodra@gmail.com>
11795
11796 * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
11797
b147c5b9
RG
117982011-03-04 Richard Guenther <rguenther@suse.de>
11799
11800 PR middle-end/47968
11801 * expmed.c (extract_bit_field_1): Prefer vector modes that
11802 vec_extract patterns can handle.
11803
8750672f
RG
118042011-03-04 Richard Guenther <rguenther@suse.de>
11805
11806 PR middle-end/47975
11807 * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
11808
9eac0f2a
RH
118092011-03-04 Richard Henderson <rth@redhat.com>
11810
11811 * explow.c (emit_stack_save): Remove 'after' parameter.
11812 (emit_stack_restore): Likewise.
11813 * expr.h: Update to match.
11814 * builtins.c, calls.c, stmt.c: Likewise.
11815 * config/alpha/alpha.md, config/avr/avr.md: Likewise.
11816 * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
11817 * function.c (expand_function_end): Insert the emit_stack_save
11818 sequence before parm_birth_insn instead of after.
11819
dfee1406
UB
118202011-03-03 Uros Bizjak <ubizjak@gmail.com>
11821
11822 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
11823 (ssse3_pmaddubsw128): Ditto.
11824 (ssse3_pmaddubsw): Ditto.
11825
f1d4c3de
SE
118262011-03-03 Steve Ellcey <sje@cup.hp.com>
11827
11828 * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
11829
71f3a3f5
JJ
118302011-03-03 Jakub Jelinek <jakub@redhat.com>
11831
423ed416
JJ
11832 PR c/47963
11833 * gimplify.c (omp_add_variable): Only call omp_notice_variable
11834 on TYPE_SIZE_UNIT if it is a DECL.
11835
71f3a3f5
JJ
11836 PR debug/47283
11837 * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
11838 first operand is not is_gimple_mem_ref_addr, try to fold it.
11839 If the operand still isn't is_gimple_mem_ref_addr, clear
11840 MEM_EXPR on op0.
11841
4b1a5c0d
RG
118422011-03-03 Richard Guenther <rguenther@suse.de>
11843
11844 PR middle-end/47283
11845 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
11846 match comment.
11847 (refs_may_alias_p_1): For release branches return true if
11848 we are confused by our input.
11849
b46616fd
AK
118502011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11851
11852 * config/s390/s390.c (s390_function_value): Rename to ...
11853 (s390_function_and_libcall_value): ... this.
11854 (s390_function_value): New function.
11855 (s390_libcall_value): New function.
dfee1406 11856 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
b46616fd
AK
11857 * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
11858 target macro definitions.
11859 * config/s390/s390-protos.h (s390_function_value): Remove prototype.
11860
46d8fabb
JM
118612011-03-02 Joseph Myers <joseph@codesourcery.com>
11862
11863 * config/i386/freebsd64.h (CC1_SPEC): Define.
11864 * config/i386/linux64.h (CC1_SPEC): Define.
11865 * config/i386/x86-64.h (CC1_SPEC): Don't define.
11866
6b1ce545
AS
118672011-03-02 Anatoly Sokolov <aesok@post.ru>
11868
11869 * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
11870 Remove.
11871 * config/stormy16/stormy16.c: Include reload.h.
11872 (xstormy16_memory_move_cost): New function.
11873 (TARGET_MEMORY_MOVE_COST): Define.
11874
34161e98
RS
118752011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
11876
11877 PR rtl-optimization/47925
11878 * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
11879 with side effects. Remove the more-specific check for volatile asms.
11880
f60a97cf
AM
118812011-03-02 Alan Modra <amodra@gmail.com>
11882
11883 PR target/47935
11884 * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
11885 toc relative addresses for valid offsets.
11886
f2ca11ca
RG
118872011-03-01 Richard Guenther <rguenther@suse.de>
11888
11889 PR tree-optimization/47890
11890 * tree-vect-loop.c (get_initial_def_for_induction): Set
11891 related stmt properly.
11892
7a00d9ea
RG
118932011-03-01 Richard Guenther <rguenther@suse.de>
11894
11895 PR lto/47924
11896 * lto-streamer.c (lto_record_common_node): Also register
11897 the canonical type.
11898
06c7edcc
RG
118992011-03-01 Richard Guenther <rguenther@suse.de>
11900
11901 PR lto/46911
11902 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
11903 Do not stream DECL_ABSTRACT_ORIGIN.
11904 (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
11905 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
11906 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
11907 Do not stream DECL_ABSTRACT_ORIGIN.
11908 (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
11909 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
11910
998871e9
AS
119112011-02-28 Anatoly Sokolov <aesok@post.ru>
11912
11913 * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
11914 FUNCTION_VALUE_REGNO_P): Remove.
b2e2ea67 11915 * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
998871e9
AS
11916 * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
11917 Add 'outgoing' argument.
11918 (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
11919 function.
11920 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
11921 TARGET_FUNCTION_VALUE_REGNO_P): Define.
11922
94369251
KT
119232011-02-28 Kai Tietz <kai.tietz@onevision.com>
11924
11925 PR debug/28047
11926 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
11927 (lookup_filename): Likewise.
b2e2ea67 11928 * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
94369251 11929
80a832cd
JJ
119302011-02-28 Bernd Schmidt <bernds@codesourcery.com>
11931 Jakub Jelinek <jakub@redhat.com>
11932
11933 PR middle-end/47893
11934 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
11935 (assign_stack_local_1): Change last argument type to int.
11936 * function.c (assign_stack_local_1): Replace reduce_alignment_ok
11937 argument with kind. If bit ASLK_RECORD_PAD is not set in it,
b2e2ea67 11938 don't record padding space into frame_space_list nor use those areas.
80a832cd
JJ
11939 (assign_stack_local): Adjust caller.
11940 (assign_stack_temp_for_type): Call assign_stack_local_1 instead
11941 of assign_stack_local, pass 0 as last argument.
11942 * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
11943 callers.
11944
1b500976
JJ
119452011-02-28 Jakub Jelinek <jakub@redhat.com>
11946
f61c6f34
JJ
11947 PR debug/47283
11948 * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
11949 Use target address_mode and pointer_mode hooks instead of hardcoded
11950 Pmode and ptr_mode. Handle some simple cases of extending if
11951 POINTERS_EXTEND_UNSIGNED < 0.
11952 (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
11953 Call convert_debug_memory_address.
11954 (expand_debug_expr) <case ADDR_EXPR>: Pass as to
11955 convert_debug_memory_address.
11956
1b500976
JJ
11957 PR middle-end/46790
11958 * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
11959 * configure: Regenerated.
11960 * config.in: Regenerated.
11961 * varasm.c (default_function_section): Return NULL
b2e2ea67 11962 if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1b500976 11963
2f2935b6
MJ
119642011-02-28 Martin Jambor <mjambor@suse.cz>
11965
11966 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
11967 the description to match the printed values.
11968
474086eb
RG
119692011-02-28 Richard Guenther <rguenther@suse.de>
11970
11971 * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
11972 of the copied scope tree.
11973
15bf6f3a
RW
119742011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11975
11976 * doc/extend.texi (Function Attributes): Avoid deeply (and
11977 wrongly) nested tables.
11978
f6b439c9
JJ
119792011-02-27 Jakub Jelinek <jakub@redhat.com>
11980
11981 PR middle-end/47903
11982 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
11983 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
11984 r isn't op0 nor op1.
11985
1d8ca2c7
GJL
119862011-02-23 Georg-Johann Lay <avr@gjlay.de>
11987
11988 * config/avr/avr.md: Remove magic comment for emacs.
11989
593fca4b
GJL
119902011-02-23 Georg-Johann Lay <avr@gjlay.de>
11991
11992 PR target/45261
11993 * config/avr/avr.c (avr_option_override): Use error on bad options.
11994 (avr_help): New function.
11995 (TARGET_HELP): Define.
11996
6609216e
GJL
119972011-02-22 Georg-Johann Lay <avr@gjlay.de>
11998
11999 PR target/42240
12000 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
12001 (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
12002
03d458af
GP
120032011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
12004
12005 * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
12006 (ARM Options): Ditto.
12007 (i386 and x86-64 Options): Ditto.
12008 (RX Options): Ditto.
12009 (SPARC Options): Ditto.
12010
1c379b78
TC
120112011-02-26 Tijl Coosemans <tijl@coosemans.org>
12012
12013 * config.gcc (i386-*-freebsd*): Make i486 the default arch on
12014 FreeBSD 6 and later. Generally use cpu generic.
12015
d5ed058c 120162011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
b2e2ea67 12017
d5ed058c
GP
12018 * doc/cpp.texi: Update copyright years.
12019
509d65dd 120202011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
308d39cd 12021
509d65dd 12022 PR target/46898
308d39cd
SB
12023 * config/lm32/lm32.md (ashrsi3): Added needed variable.
12024
509d65dd 120252011-02-25 Jon Beniston <jon@beniston.com>
308d39cd 12026
509d65dd 12027 PR target/46898
308d39cd
SB
12028 * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
12029 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
12030 * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
12031 (lm32_block_move_inline): Add type cast to remove warning.
b2e2ea67 12032 (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
308d39cd
SB
12033 (gen_int_relational): Move declarations to start of function.
12034
822ba6d7
EB
120352011-02-25 Eric Botcazou <ebotcazou@adacore.com>
12036
12037 PR tree-optimization/45470
12038 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
12039 can throw internally only.
12040 * tree-vect-stmts.c (vectorizable_call): Likewise.
12041
ef795fc2
AS
120422011-02-24 Anatoly Sokolov <aesok@post.ru>
12043
12044 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
12045 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
12046 * config/stormy16/stormy16-protos.h
12047 (xstormy16_preferred_reload_class): Remove.
12048 * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
12049 static. Change 'rclass' argument and return type to reg_class_t.
12050 (TARGET_PREFERRED_RELOAD_CLASS,
12051 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
12052
1c3277ee
RG
120532011-02-24 Richard Guenther <rguenther@suse.de>
12054
12055 * lto-streamer-in.c (input_bb): Do not find referenced vars
12056 in debug statements.
12057
67e18edb
JM
120582011-02-23 Jason Merrill <jason@redhat.com>
12059
12060 * common.opt (fabi-version): Document v5 and v6.
12061
b14fad9d
RG
120622011-02-23 Richard Guenther <rguenther@suse.de>
12063
12064 PR tree-optimization/47849
12065 * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
12066
7fcf46f5
JZ
120672011-02-23 Jie Zhang <jie@codesourcery.com>
12068
12069 * opts-common.c (decode_cmdline_option): Print empty string
12070 argument as "" in decoded->orig_option_with_args_text.
12071 * gcc.c (execute): Print empty string argument as ""
12072 in the verbose output.
12073 (do_spec_1): Keep empty string argument.
12074
f85b70fd
NF
120752011-02-23 Nathan Froyd <froydnj@codesourcery.com>
12076
12077 * config.gcc: Declare score-* and crx-* obsolete.
12078
b152a615
JZ
120792011-02-23 Jie Zhang <jie@codesourcery.com>
12080
12081 PR rtl-optimization/47763
12082 * web.c (web_main): Ignore naked clobber when replacing register.
12083
bb6e77bc
AS
120842011-02-22 Anatoly Sokolov <aesok@post.ru>
12085
12086 * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
12087 Remove.
12088
68bf6491
SP
120892011-02-22 Sebastian Pop <sebastian.pop@amd.com>
12090
12091 PR doc/47848
12092 * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
12093
88ee1fc7
MS
120942011-02-22 Mike Stump <mikestump@comcast.net>
12095
12096 * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
12097 assembler.
12098 * configure: Regenerate.
12099
6042d1dd
CLT
121002011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
12101
12102 PR rtl-optimization/46002
12103 * ira-color.c (update_copy_costs): Change class intersection
12104 test to reg_class_contents[] test of 'hard_regno'.
12105
7de97f9e
JM
121062011-02-21 Joseph Myers <joseph@codesourcery.com>
12107
12108 * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
12109 than Driver option.
12110 * config/hpux11.opt (mt): Likewise.
12111 * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
12112 * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
12113 * config/vax/elf.opt (mno-asm-pic): Likewise.
12114 * config/vms/vms.opt (map, mvms-return-codes): Likewise.
12115
d1d46f9f
MS
121162011-02-21 Mike Stump <mikestump@comcast.net>
12117
12118 PR target/47822
12119 * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
12120 tree so we can get save the type.
12121 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
12122 for CFString instead of trying to use past the end of the builtins.
12123 * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
12124 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
12125 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
12126 * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
12127 Rename to darwin_builtin_cfstring.
12128 (darwin_init_cfstring_builtins): Return the built type.
12129
23e0d930
UB
121302011-02-21 Uros Bizjak <ubizjak@gmail.com>
12131
12132 PR target/47840
12133 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
12134 (_mm256_insert_epi64): Use _mm_insert_epi64.
12135
192997cf
AS
121362011-02-21 Anatoly Sokolov <aesok@post.ru>
12137
12138 * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
12139 * config/stormy16/stormy16-protos.h
12140 (xstormy16_mode_dependent_address_p): Remove.
12141 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
12142 Make static. Change return type to bool. Change argument type to
12143 const_rtx. Remove dead code.
12144 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
12145
e292d003
RG
121462011-02-21 Richard Guenther <rguenther@suse.de>
12147
12148 PR lto/47820
12149 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
12150 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
12151 (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
12152 TUs context.
23e0d930 12153 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
e292d003
RG
12154 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
12155
77f846e9
RG
121562011-02-20 Richard Guenther <rguenther@suse.de>
12157
12158 PR lto/47822
12159 * tree.c (free_lang_data_in_decl): Clean builtins from
12160 the TU decl BLOCK_VARS.
23e0d930 12161
b2cddfc8
AO
121622011-02-19 Alexandre Oliva <aoliva@redhat.com>
12163
12164 PR debug/47620
12165 PR debug/47630
12166 * haifa-sched.c (fix_tick_ready): Skip tick computation
12167 for debug insns.
12168
becf4c11
RG
121692011-02-19 Richard Guenther <rguenther@suse.de>
12170
12171 PR lto/47647
12172 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
12173 Remove lazy BLOCK_VARS streaming.
12174 (lto_input_ts_block_tree_pointers): Likewise.
12175 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
12176
27f98305
JM
121772011-02-19 Joseph Myers <joseph@codesourcery.com>
12178
12179 * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
12180
064bf3f4
JM
121812011-02-19 Joseph Myers <joseph@codesourcery.com>
12182
12183 * config/i386/biarch32.h, config/i386/mach.h,
12184 config/rs6000/aix.opt, config/sh/superh64.h: Remove.
12185
9215ddc3
JJ
121862011-02-19 Jakub Jelinek <jakub@redhat.com>
12187
12188 PR target/47800
12189 * config/i386/i386.md (peephole2 for shift and plus): Use
12190 operands[1] original mode in the first insn.
12191
8b021004
MS
121922011-02-18 Mike Stump <mikestump@comcast.net>
12193
65ded153 12194 * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
8b021004 12195
f84ae14c
JH
121962011-02-18 Jan Hubicka <jh@suse.cz>
12197
12198 PR middle-end/47788
65ded153
EB
12199 * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
12200 to zero when the function is not inlinable at all.
f84ae14c 12201
eddabc80
JDA
122022011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12203
12204 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
12205 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
12206 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
12207 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
12208 * config/pa/t-pa64: Likewise.
12209 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
12210
ca3da783
JJ
122112011-02-18 Jakub Jelinek <jakub@redhat.com>
12212
12213 PR driver/47787
12214 * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
12215
430aa868
JDA
122162011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12217
12218 PR target/47792
12219 * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
12220
4bf7ff7e
AS
122212011-02-18 Anatoly Sokolov <aesok@post.ru>
12222
12223 * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
12224 RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
12225 LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
12226 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
12227 * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
12228 (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
12229 m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
12230 m32r_load_postinc_p, m32r_store_preinc_predec_p,
12231 m32r_legitimate_address_p): New functions.
12232 * config/m32r/constraints.md (constraint "S"): Don't use
12233 STORE_PREINC_PREDEC_P.
12234 (constraint "U"): Don't use LOAD_POSTINC_P.
12235
7efcf910
CLT
122362011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
12237
12238 PR rtl-optimization/46178
12239 * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
12240 compute ira_hard_regno_cover_class[].
12241
237d6259
RG
122422011-02-18 Richard Guenther <rguenther@suse.de>
12243
12244 PR lto/47798
12245 * lto-streamer.h (lto_global_var_decls): Declare.
12246 * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
12247 statics for global var processing.
12248
12d80acc
RG
122492011-02-18 Richard Guenther <rguenther@suse.de>
12250
12251 PR tree-optimization/47737
12252 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
12253 edge dominance check.
12254
abfea58d
JJ
122552011-02-18 Jakub Jelinek <jakub@redhat.com>
12256
12257 PR debug/47780
12258 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
12259 avoid invalid rtx sharing.
12260
f73c8882
GP
122612011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
12262
12263 * doc/cpp.texi (Obsolete Features): Add background on the
12264 origin of assertions.
12265
d764a8e6
IS
122662011-02-17 Iain Sandoe <iains@gcc.gnu.org>
12267
12268 * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
23e0d930 12269 objc_abi == 2.
d764a8e6
IS
12270 * config/darwin.c (output_objc_section_asm_op): Added support for
12271 ABI v1 and v2.
12272 (is_objc_metadata): New.
12273 (darwin_objc2_section): New.
12274 (darwin_objc1_section): New.
12275 (machopic_select_section): Added support for ABI v1 and v2.
12276 (darwin_emit_objc_zeroed): New.
12277 (darwin_output_aligned_bss): Detect objc metadata and treat it
12278 appropriately.
12279 (darwin_asm_output_aligned_decl_common): Same.
12280 (darwin_asm_output_aligned_decl_local): Same.
12281 * config/darwin-sections.def: Updated for ABI v1 and v2.
12282 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
12283 compiling Objective-C code for the NeXT runtime, default to using
12284 ABI version 0 for 32-bit, and version 2 for 64-bit.
12285
0a8134ca
JM
122862011-02-17 Joseph Myers <joseph@codesourcery.com>
12287
12288 * common.opt (optimize_fast): New Variable.
12289 * opts.c (default_options_optimization): Use opts->x_optimize_fast
12290 instead of local variable ofast.
12291
0a256240
NP
122922011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
12293
12294 * doc/invoke.texi (fobjc-abi-version): Documented.
12295 (fobjc-nilcheck): Documented.
12296 (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
12297 version.
12298
fa381cb2
JM
122992011-02-17 Joseph Myers <joseph@codesourcery.com>
12300
12301 PR driver/47390
12302 * common.opt (export-dynamic): New Driver option.
12303 * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
12304
5437eaa6
JM
123052011-02-17 Joseph Myers <joseph@codesourcery.com>
12306
12307 * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
12308
bb7e6d55
AO
123092011-02-17 Alexandre Oliva <aoliva@redhat.com>
12310 Jan Hubicka <jh@suse.cz>
12311
12312 PR debug/47106
12313 PR debug/47402
12314 * cfgexpand.c (account_used_vars_for_block): Remove.
12315 (estimated_stack_frame_size): Use referenced vars.
12316 * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
12317 that were referenced in the original function. Test src_fn
12318 rather than cfun. Drop redundant get_var_ann.
12319 (setup_one_parameter): Drop redundant get_var_ann.
12320 (declare_return_variable): Likewise.
12321 (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
12322 (copy_arguments_for_versioning): Drop redundant get_var_ann.
12323 * ipa-inline.c (compute_inline_parameters): Do not compute
12324 disregard_inline_limits here.
bb7e6d55
AO
12325 (compute_inlinable_for_current, pass_inlinable): New.
12326 (pass_inline_parameters): Require PROP_referenced_vars.
12327 * cgraphunit.c (cgraph_process_new_functions): Don't run
23e0d930 12328 compute_inline_parameters explicitly unless function is in SSA form.
bb7e6d55
AO
12329 (cgraph_analyze_function): Set .disregard_inline_limits.
12330 * tree-sra.c (convert_callers): Compute inliner parameters
12331 only for functions already in SSA form.
12332
f181a8a7
JM
123332011-02-17 Joseph Myers <joseph@codesourcery.com>
12334
12335 * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
12336 -mlittle-endian-data.
12337
c6869789
JM
123382011-02-17 Joseph Myers <joseph@codesourcery.com>
12339
12340 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
12341 -mno-fpu, not -fpu and -no-fpu.
12342 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
12343 * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
12344
fbf4bfd3
UB
123452011-02-17 Uros Bizjak <ubizjak@gmail.com>
12346
12347 PR target/43653
12348 * config/i386/i386.c (ix86_secondary_reload): Handle SSE
12349 input reload with PLUS RTX.
12350
70be5dc7
JM
123512011-02-16 Joseph Myers <joseph@codesourcery.com>
12352
12353 * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
12354 of InverseVar(MDMX).
12355
30b1646e
JM
123562011-02-16 Joseph Myers <joseph@codesourcery.com>
12357
12358 * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
12359 --m4-340.
12360
ab7b71e9
JM
123612011-02-16 Joseph Myers <joseph@codesourcery.com>
12362
12363 * config/mn10300/mn10300.opt (mno-crt0): New.
12364
466f3f08
JM
123652011-02-16 Joseph Myers <joseph@codesourcery.com>
12366
12367 * config/m68k/uclinux.opt (static-libc): New Driver option.
12368
8226cd7b
JM
123692011-02-16 Joseph Myers <joseph@codesourcery.com>
12370
12371 * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
12372
45cab1d7
JM
123732011-02-16 Joseph Myers <joseph@codesourcery.com>
12374
12375 * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
12376 %{muser-extend-enabled}.
12377
65aab64f
RG
123782011-02-16 Richard Guenther <rguenther@suse.de>
12379
12380 PR tree-optimization/47738
12381 * tree-ssa-loop.c (run_tree_predictive_commoning): Return
12382 the TODO from tree_predictive_commoning.
12383
fc2fa4fb
JL
123842011-02-15 Jeff Law <law@redhat.com>
12385
12386 Revert
12387 2011-01-25 Jeff Law <law@redhat.com>
12388
12389 PR rtl-optimization/37273
12390 * ira-costs.c (scan_one_insn): Detect constants living in memory and
12391 handle them like argument loads from stack slots. Do not double
12392 count memory for memory constants and argument loads from stack slots.
12393
4e380b8e
L
123942011-02-15 H.J. Lu <hongjiu.lu@intel.com>
12395
12396 PR middle-end/47725
12397 * combine.c (cant_combine_insn_p): Revert the last change.
12398
e3a69bb4
MM
123992011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
12400
12401 PR target/47755
12402 * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
12403 mode for vector constants. Remove code that checks for TImode.
12404
de650422
AO
124052011-02-15 Alexandre Oliva <aoliva@redhat.com>
12406
12407 PR debug/47106
12408 PR debug/47402
12409 * cgraph.h (compute_inline_parameters): Return void.
12410 * ipa-inline.c (compute_inline_parameters): Adjust.
12411
30925d94
AO
124122011-02-15 Alexandre Oliva <aoliva@redhat.com>
12413
12414 PR debug/47106
12415 PR debug/47402
12416 * tree-inline.h (estimated_stack_frame_size): Take cgraph node
12417 rather than decl.
12418 * cfgexpand.c (estimated_stack_frame_size): Likewise.
12419 * ipa-inline.c (compute_inline_parameters): Adjust.
12420
1b9a784a
AO
124212011-02-15 Alexandre Oliva <aoliva@redhat.com>
12422
12423 PR debug/47106
12424 PR debug/47402
12425 * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
12426 Adjust all users. Pass FN to...
12427 * tree-flow-inline.h (first_referenced_var): ... this. Add
12428 fn argument.
12429 * ipa-struct-reorg.c: Adjust.
12430 * tree-dfa.c: Adjust.
12431 * tree-into-ssa.c: Adjust.
12432 * tree-sra.c: Adjust.
12433 * tree-ssa-alias.c: Adjust.
12434 * tree-ssa-live.c: Adjust.
12435 * tree-ssa.c: Adjust.
12436 * tree-ssanames.c: Adjust.
12437 * tree-tailcall.c: Adjust.
12438
27c6b086
AO
124392011-02-15 Alexandre Oliva <aoliva@redhat.com>
12440
12441 PR debug/47106
12442 PR debug/47402
12443 * tree-flow.h (referenced_var_lookup): Add fn parameter.
12444 Adjust all callers.
12445 * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
12446 * tree-flow-inline.h: Adjust.
12447 * gimple-pretty-print.c: Adjust.
12448 * tree-into-ssa.c: Adjust.
12449 * tree-ssa.c: Adjust.
12450 * cfgexpand.c: Adjust.
12451
679e8183
NF
124522011-02-15 Nathan Froyd <froydnj@codesourcery.com>
12453
fbf4bfd3
UB
12454 * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
12455 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
12456 (EXTRA_CONSTRAINT): Delete.
12457 * config/iq2000/constraints.md: New file.
12458 * config/iq2000/iq2000.md: Include it.
679e8183
NF
12459 (define_insn ""): Delete.
12460 (movsi_internal2, movhi_internal2, movqi_internal2): Delete
12461 unsupported constraint letters from patterns.
12462 (call_value, call_value_internal1): Likewise.
12463 (call_value_multiple_internal1): Likewise.
12464
a45d420a
NC
124652011-02-15 Nick Clifton <nickc@redhat.com>
12466
12467 * config/mn10300/mn10300.c: Include tm-constrs.h.
12468 (struct liw_data): New data structure describing an LIW candidate
12469 instruction.
12470 (extract_bundle): Use struct liw_data. Allow small integer
12471 operands for some instructions.
12472 (check_liw_constraints): Use struct liw_data. Remove swapped
12473 parameter. Add comments describing the checks. Fix bug when
12474 assigning the source of liw1 to the source of liw2.
12475 (liw_candidate): Delete. Code moved into extract_bundle.
12476 (mn10300_bundle_liw): Use struct liw_data. Check constraints
12477 before swapping.
12478 * config/mn10300/predicates.md (liw_operand): New predicate.
12479 Allows registers and small integer constants.
12480 * config/mn10300/constraints.md (O): New constraint. Accetps
12481 integers in the range -8 to +7 inclusive.
12482 * config/mn10300/mn10300.md (movesi_internal): Add an alternative
12483 for moving a small integer into a register. Give this alternative
12484 LIW attributes.
12485 (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
12486 (ashlsi3): Likewise, plus give LIW attributes to the alternatives
12487 using the J,K,L and M constraints,
12488 (liw): Remove SI mode on second operands to allow for HI and QI
12489 mode values.
12490 (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
12491 instruction.
12492
8a73faf1
L
124932011-02-15 H.J. Lu <hongjiu.lu@intel.com>
12494
12495 PR middle-end/47725
12496 * combine.c (cant_combine_insn_p): Check zero/sign extended
12497 hard registers.
12498
48feba28
RG
124992011-02-15 Richard Guenther <rguenther@suse.de>
12500
12501 PR tree-optimization/47743
12502 * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
12503 for a non-type-compatible VN lookup bail out.
12504
ad1c1eeb
NF
125052011-02-15 Nathan Froyd <froydnj@codesourcery.com>
12506
12507 * config/fr30/constraints.md: New file.
12508 * config/fr30/fr30.md: Include it.
12509 * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
12510 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
12511 (EXTRA_CONSTRAINT): Delete.
12512
49ac143d
NF
125132011-02-15 Nathan Froyd <froydnj@codesourcery.com>
12514
12515 * config/frv/constraints.md: New file.
12516 * config/frv/predicates.md: Include it.
12517 * config/frv/frv.c (reg_class_from_letter): Delete.
12518 (frv_option_override): Don't initialize it.
12519 * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
12520 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
12521 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
12522 (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
12523 (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
12524 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
12525 (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
12526 (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
12527 (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
12528 (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
12529 (REG_CLASS_FROM_CONSTRAINT): Delete.
12530
c95f9494
JJ
125312011-02-15 Jakub Jelinek <jakub@redhat.com>
12532
12533 PR middle-end/47581
12534 * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
12535 if frame size is 0 in a leaf function.
12536
13aed611
RO
125372011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12538
12539 PR pch/14940
12540 * config/alpha/host-osf.c: New file.
12541 * config/alpha/x-osf: New file.
12542 * config.host (alpha*-dec-osf*): Use it.
12543
b09c3081
AS
125442011-02-14 Anatoly Sokolov <aesok@post.ru>
12545
12546 * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
12547 * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
12548 * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
12549 (rx_mode_dependent_address_p): ...this. Make static. Change argument
12550 type to const_rtx.
12551 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
12552
d634083b
NF
125532011-02-14 Nathan Froyd <froydnj@codesourcery.com>
12554
12555 * config/stormy16/constraints.md: New file.
12556 * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
12557 Use satisfies_constraint_Q and satisfies_constraint_R.
12558 * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
12559 Delete.
12560 (xstormy16_legitiamte_address_p): Declare.
12561 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
12562 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
12563 (EXTRA_CONSTRAINT): Delete.
fbf4bfd3 12564 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
d634083b
NF
12565 Un-staticize.
12566 (xstormy16_extra_constraint_p): Delete.
12567
c7dd803e
EB
125682011-02-14 Eric Botcazou <ebotcazou@adacore.com>
12569
12570 PR tree-optimization/46494
12571 * loop-unroll.c (split_edge_and_insert): Adjust comment.
12572 * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
12573 (pass_rtl_loop_done): Add TODO_verify_flow.
12574 * fwprop.c (pass_rtl_fwprop): Likewise.
12575 * modulo-sched.c (pass_sms): Likewise.
12576 * tree-ssa-dom.c (pass_dominator): Likewise.
12577 * tree-ssa-loop-ch.c (pass_ch): Likewise.
12578 * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
12579 (pass_tree_loop_done): Likewise.
12580 * tree-ssa-pre.c (execute_pre): Likewise.
12581 * tree-ssa-reassoc.c (pass_reassoc): Likewise.
12582 * tree-ssa-sink.c (pass_sink_code): Likewise.
12583 * tree-vrp.c (pass_vrp): Likewise.
12584
c6150df6
NF
125852011-02-14 Nathan Froyd <froydnj@codesourcery.com>
12586
c7dd803e
EB
12587 * config/v850/constraints.md: New file.
12588 * config/v850/v850.md: Include it.
12589 * config/v850/predicates.md (reg_or_0_operand): Use
12590 satisfies_constraint_G.
12591 (special_symbolref_operand): Use satisfies_constraint_K.
12592 * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
12593 (GO_IF_LEGITIMATE_ADDRESS): Likewise.
12594 (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
12595 (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
12596 (EXTRA_CONSTRAINT): Delete.
12597 (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
12598 (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
12599 (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
c6150df6 12600
30dd1ea3
AS
126012011-02-14 Anatoly Sokolov <aesok@post.ru>
12602
12603 PR target/47696
12604 * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
12605 description.
12606
944f4bb3
NF
126072011-02-14 Nathan Froyd <froydnj@codesourcery.com>
12608
12609 * config/mcore/constraints.md: New file.
12610 * config/mcore/mcore.md: Include it.
12611 * config/mcore/mcore.c (reg_class_from_letter): Delete.
12612 * config/mcore/mcore.h (reg_class_from_letter): Delete.
12613 (REG_CLASS_FROM_LETTER): Delete.
12614 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
12615 insn_const_int_ok_for_constraint.
12616 (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
12617 (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
12618 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
12619 (EXTRA_CONSTRAINT): Delete.
12620
ad56a54c
RO
126212011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12622
12623 PR ada/41929
12624 * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
12625 (IS_SIGHANDLER): Define.
12626 (sparc64_is_sighandler): New function, split off from
12627 sparc64_fallback_frame_state.
12628 (sparc_is_sighandler): New function, split off from
12629 sparc_fallback_frame_state.
12630 (sparc64_fallback_frame_state): Merge with ...
12631 (sparc_fallback_frame_state): ... this into ...
12632 (MD_FALLBACK_FRAME_STATE_FOR): ... this.
fbf4bfd3
UB
12633 Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
12634 Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
12635 stack instead of hardcoded offsets.
ad56a54c 12636
fbf4bfd3 126372011-02-14 Andriy Gapon <avg@freebsd.org>
67932abf
AG
12638
12639 PR target/45808
12640 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
12641
029c8f3e
RW
126422011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12643
12644 * configure: Regenerate.
12645
a016dc83
JM
126462011-02-12 Joseph Myers <joseph@codesourcery.com>
12647
12648 PR driver/45731
12649 * gcc.c (asm_options): Correct spec matching --target-help.
12650
8957a0ec
MJ
126512011-02-12 Martin Jambor <mjambor@suse.cz>
12652
12653 * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
12654 to gimple call error.
12655
6ef828bc
MS
126562011-02-12 Mike Stump <mikestump@comcast.net>
12657
12658 * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
12659 comments in backslash regions.
12660
a4015be5
MS
126612011-02-12 Mike Stump <mikestump@comcast.net>
12662 Jakub Jelinek <jakub@redhat.com>
12663 Iain Sandoe <iains@gcc.gnu.org>
12664
12665 PR target/47324
12666 * dwarf2out.c (output_cfa_loc): When required, apply the
12667 DWARF2_FRAME_REG_OUT macro to adjust register numbers.
12668 (output_loc_sequence): Likewise.
12669 (output_loc_operands_raw): Likewise.
12670 (output_loc_sequence_raw): Likewise.
12671 (output_cfa_loc): Likewise.
12672 (output_loc_list): Suppress register number adjustment when
12673 calling output_loc_sequence()
12674 (output_die): Likewise.
12675
5378dda2
AS
126762011-02-12 Anatoly Sokolov <aesok@post.ru>
12677
12678 * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
12679 Remove macros.
12680 * config/xtensa/xtensa.c (xtensa_register_move_cost,
12681 xtensa_memory_move_cost): New functions.
12682 (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
12683
f3d533d3
AO
126842011-02-12 Alexandre Oliva <aoliva@redhat.com>
12685
12686 PR lto/47225
12687 * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
12688 in the current directory.
12689 * configure: Rebuilt.
12690
9d53403c
IS
126912011-02-12 Iain Sandoe <iains@gcc.gnu.org>
12692
12693 * config/darwin.c (darwin_override_options): Add a hunk missed
fbf4bfd3 12694 from the commit of r168571. Trim comment line lengths and
9d53403c
IS
12695 correct indents of the preceding block.
12696
a350a6c8
IS
126972011-02-12 Iain Sandoe <iains@gcc.gnu.org>
12698
12699 * gcc.c (driver_handle_option): Concatenate the argument to -F with
12700 the switch.
12701
bab79a40
JM
127022011-02-11 Joseph Myers <joseph@codesourcery.com>
12703
12704 * common.opt (nostartfiles): New Driver option.
12705
1bbc6693
XDL
127062011-02-11 Xinliang David Li <davidxl@google.com>
12707
12708 PR tree-optimization/47707
12709 * tree-chrec.c (convert_affine_scev): Keep type precision.
12710
1da7d8c0
EB
127112011-02-11 Eric Botcazou <ebotcazou@adacore.com>
12712
12713 PR tree-optimization/47420
12714 * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
12715
127162011-02-11 Pat Haugen <pthaugen@us.ibm.com>
3f82421f
PH
12717
12718 PR rtl-optimization/47614
12719 * rtl.h (check_for_inc_dec): Declare.
12720 * dse.c (check_for_inc_dec): Externalize...
12721 * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
12722 (reload_cse_simplify_operands): Don't simplify opnds with side effects.
12723
4df47bca
JM
127242011-02-11 Joseph Myers <joseph@codesourcery.com>
12725
12726 PR driver/47678
12727 * gcc.c (main): Do not compile inputs if there were errors in
12728 option handling.
12729 * opts-common.c (read_cmdline_option): Check for wrong language
12730 after other error checks.
12731
61502ca8
NF
127322011-02-11 Nathan Froyd <froydnj@codesourcery.com>
12733
12734 * cgraph.c: Fix comment typos.
12735 * cgraph.h: Likewise.
12736 * cgraphunit.c: Likewise.
12737 * ipa-cp.c: Likewise.
12738 * ipa-inline.c: Likewise.
12739 * ipa-prop.c: Likewise.
12740 * ipa-pure-const.c: Likewise.
12741 * ipa-ref.c: Likewise.
12742 * ipa-reference.c: Likewise.
12743
b63f974e
JJ
127442011-02-11 Jakub Jelinek <jakub@redhat.com>
12745
d50c5e0c
JJ
12746 PR debug/47684
12747 * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
b63f974e 12748
6dd2a13c
RO
127492011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12750
12751 PR testsuite/47400
12752 * doc/sourcebuild.texi (Require Support): Document
12753 dg-require-ascii-locale.
12754
4a087ccf
MX
127552011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
12756
12757 * doc/lto.texi (Write summary): Fix missing parentheses.
12758
a4403164
DD
127592011-02-10 DJ Delorie <dj@redhat.com>
12760
12761 * config/m32c/m32c.c (m32c_option_override): Disable
12762 -fcombine-stack-adjustments until flag value tracking and compare
12763 optimization can be rewritten.
12764
4fac45bd
PB
127652011-02-10 Peter Bergner <bergner@vnet.ibm.com>
12766
12767 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
12768 PROCESSOR_POWER7.
12769 (PROCESSOR_DEFAULT64): Likewise.
12770
72602cd1
RH
127712011-02-10 Richard Henderson <rth@redhat.com>
12772
12773 * config/rx/predicates.md (rx_zs_comparison_operator): Revert
12774 change from 2011-02-03.
12775 * config/rx/rx.c (flags_from_code): Likewise.
12776 (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
12777 is valid, n/pz otherwise.
12778 (rx_select_cc_mode): Return CCmode if Y is not zero.
12779
ea57f573
RG
127802011-02-10 Richard Guenther <rguenther@suse.de>
12781
ea4c3e65 12782 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
ea57f573 12783
92b1d23b
RG
127842011-02-10 Richard Guenther <rguenther@suse.de>
12785
12786 PR tree-optimization/47677
12787 * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
12788
525a2d06
JJ
127892011-02-10 Jakub Jelinek <jakub@redhat.com>
12790
12791 PR target/47665
12792 * combine.c (make_compound_operation): Only change shifts into
12793 multiplication for SCALAR_INT_MODE_P.
12794
06c969bd
JZ
127952011-02-10 Jie Zhang <jie@codesourcery.com>
12796
12797 PR testsuite/47622
12798 Revert
12799 2011-02-05 Jie Zhang <jie@codesourcery.com>
12800 PR debug/42631
12801 * web.c (entry_register): Don't clobber the number of the
12802 first uninitialized reference in used[].
12803
282ec48e
RG
128042011-02-09 Richard Guenther <rguenther@suse.de>
12805
12806 PR tree-optimization/47664
12807 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
12808 all edges again.
12809
df98c3e8
DE
128102011-02-09 David Edelsohn <dje.gcc@gmail.com>
12811
d0f21cd6
DE
12812 PR target/46481
12813 PR target/47032
df98c3e8
DE
12814 * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
12815 PROCESSOR_POWER7.
12816 (PROCESSOR_DEFAULT64): Same.
12817 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
12818
67b6839f
RO
128192011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12820
12821 * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
12822
4fd73214
MJ
128232011-02-09 Martin Jambor <mjambor@suse.cz>
12824
12825 PR middle-end/45505
12826 * tree-sra.c (struct access): New flags grp_scalar_read and
12827 grp_scalar_write. Changed description of assignment read and write
12828 flags.
12829 (dump_access): Dump new flags, reorder all of them.
12830 (sort_and_splice_var_accesses): Set the new flag accordingly, use them
12831 to detect multiple scalar reads.
12832 (analyze_access_subtree): Use the new scalar read write flags instead
12833 of the old flags. Adjusted comments.
12834
91140cd3
DD
128352011-02-08 DJ Delorie <dj@redhat.com>
12836
12837 PR target/47548
12838 * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
12839 patterns.
12840
4254bbfe
JM
128412011-02-08 Joseph Myers <joseph@codesourcery.com>
12842
12843 * config/m68k/uclinux.opt: New.
12844 * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
12845
f1fda84e
JM
128462011-02-08 Joseph Myers <joseph@codesourcery.com>
12847
12848 * config/cris/elf.opt (sim): New Driver option.
12849
4933ae74
JM
128502011-02-08 Joseph Myers <joseph@codesourcery.com>
12851
12852 * config/xtensa/elf.opt: New.
12853 * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
12854
4ad70280
JM
128552011-02-08 Joseph Myers <joseph@codesourcery.com>
12856
12857 * config/vax/elf.opt: New.
12858 * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
12859
20893707
JM
128602011-02-08 Joseph Myers <joseph@codesourcery.com>
12861
12862 * config/rs6000/aix64.opt (posix, pthread): New Driver options.
12863
b8e7038e
JM
128642011-02-08 Joseph Myers <joseph@codesourcery.com>
12865
12866 * config/gnu-user.opt: New.
12867 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
12868 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
12869 *-*-uclinux*): Use gnu-user.opt.
12870
e1c5225a
TS
128712011-02-08 Thomas Schwinge <thomas@schwinge.name>
12872
12873 * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
12874 * config/i386/gnu.h (CPP_SPEC): Likewise.
12875
5e46b0c6
ILT
128762011-02-08 Ian Lance Taylor <iant@google.com>
12877
12878 * common.opt (fcx-limited-range): Add SetByCombined flag.
12879 (ffinite-math-only, fmath-errno, frounding-math): Likewise.
12880 (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
12881 (fassociative-math, freciprocal-math): Likewise.
12882 (funsafe-math-optimizations): Likewise.
12883 * opth-gen.awk: Handle SetByCombined.
12884 * optc-gen.awk: Likewise.
ea4c3e65 12885 * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
5e46b0c6
ILT
12886 (set_unsafe_math_optimizations_flags): Likewise.
12887 * doc/options.texi (Option properties): Document SetByCombined.
12888
32243d46
JM
128892011-02-08 Joseph Myers <joseph@codesourcery.com>
12890
12891 * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
12892 i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
12893 m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
12894 m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
12895 sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
12896
479c1fb3
SP
128972011-02-08 Sebastian Pop <sebastian.pop@amd.com>
12898
12899 PR tree-optimization/46834
12900 PR tree-optimization/46994
12901 PR tree-optimization/46995
12902 * graphite-sese-to-poly.c (used_outside_reduction): New.
12903 (detect_commutative_reduction): Call used_outside_reduction.
12904 (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
12905 translate_scalar_reduction_to_array only when at least one
12906 loop-phi/close-phi tuple has been detected.
12907
3865a06f
RG
129082011-02-08 Richard Guenther <rguenther@suse.de>
12909
12910 PR middle-end/47639
12911 * tree-vect-generic.c (expand_vector_operations_1): Update
12912 stmts here ...
12913 (expand_vector_operations): ... not here. Cleanup EH info
12914 and the CFG if required.
12915
62902f3f
RG
129162011-02-08 Richard Guenther <rguenther@suse.de>
12917
12918 PR tree-optimization/47641
12919 * tree-ssa.c (execute_update_addresses_taken): For asm outputs
12920 require type compatibility.
12921
0efb9d64
AK
129222011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12923
12924 * gimple-low.c (lower_function_body): Don't remove the location of
12925 the return statement here.
12926 (lower_gimple_return): Do it here instead but only if the return
12927 statement is actually used twice.
12928
034b8ae4
RG
129292011-02-08 Richard Guenther <rguenther@suse.de>
12930
12931 PR tree-optimization/47632
12932 * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
12933 unused up_to_stmt parameter, return whether cfg-cleanup is
12934 necessary, remove EH info properly.
12935 (forward_propagate_into_gimple_cond): Adjust caller.
12936 (forward_propagate_into_cond): Likewise.
12937 (forward_propagate_comparison): Likewise.
12938 (tree_ssa_forward_propagate_single_use_vars): Make
12939 forward_propagate_comparison case similar to the two others.
12940
298362c8
NC
129412011-02-08 Nick Clifton <nickc@redhat.com>
12942
12943 * config/mn10300/mn10300.opt (mliw): New command line option.
12944 * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
12945 (liw_bundling): New automaton.
12946 (liw): New attribute.
12947 (liw_op): New attribute.
12948 (liw_op1, liw_op2, liw_both, liw_either): New reservations.
12949 (movsi_internal): Add LIW attributes.
12950 (andsi3): Likewise.
12951 (iorsi3): Likewise.
12952 (xorsi3): Likewise.
12953 (addsi3): Separate register and immediate alternatives.
12954 Add LIW attributes.
12955 (subsi3): Likewise.
12956 (cmpsi): Likewise.
12957 (aslsi3): Likewise.
12958 (lshrsi3): Likewise.
12959 (ashrsi3): Likewise.
12960 (liw): New pattern.
12961 * config/mn10300/mn10300.c (liw_op_names): New
12962 (mn10300_print_operand): Handle 'W' operand descriptor.
12963 (extract_bundle): New function.
12964 (check_liw_constraints): New function.
12965 (liw_candidate): New function.
12966 (mn10300_bundle_liw): New function.
12967 (mn10300_reorg): New function.
12968 (TARGET_MACHINE_DEPENDENT_REORG): Define.
12969 (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
12970 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
12971 __LIW__ or __NO_LIW__.
12972 * doc/invoke.texi: Describe the -mliw command line option.
12973
90488014
JDA
129742011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12975
12976 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
12977 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
12978 pthread_mutex_unlock): Remove.
12979 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
12980 * config/pa/t-pa64: Likewise.
12981 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
12982 shared libc if not linking against libpthread.
12983 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
12984
689ff841
IS
129852011-02-07 Iain Sandoe <iains@gcc.gnu.org>
12986
12987 PR target/47558
12988 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
12989 on 10.6 and later to ensure that we always use the unwinder from
12990 the system. Only add -no_compact_unwind when tarteting darwin
12991 10.6 or later.
12992
821014aa
SE
129932011-02-07 Steve Ellcey <sje@cup.hp.com>
12994
12995 PR target/46997
12996 * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
12997 (vec_interleave_lowv2sf): Ditto.
12998 (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
12999 (vec_extract_oddv2sf): Ditto.
13000
41cf94fb
MS
130012011-02-07 Mike Stump <mikestump@comcast.net>
13002
62dea57d 13003 PR target/42333
41cf94fb
MS
13004 Add __ieee_divdc3 entry point.
13005 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
13006 entry point.
13007 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
13008 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
13009 * config/darwin.c (darwin_rename_builtins): Add.
13010 * config/darwin-protos.h (darwin_rename_builtins): Add.
13011
ee09a3dd
MM
130122011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
13013
13014 PR target/47636
13015 * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
13016 for the condition.
13017
83296cd0
MS
130182011-02-07 Mike Stump <mikestump@comcast.net>
13019
ea4c3e65 13020 * config/darwin.opt (mmacosx-version-min): Update default OS version.
83296cd0 13021
0f4e946f
DC
130222011-02-07 Denis Chertykov <chertykov@gmail.com>
13023
13024 PR target/47534
13025 * config/avr/libgcc.S (exit): Move .endfunc
13026
1ec87690
RG
130272011-02-07 Richard Guenther <rguenther@suse.de>
13028
13029 PR tree-optimization/47615
13030 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
13031 * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
13032 (run_scc_vn): Initialize it.
13033 (visit_reference_op_load): Use it.
13034 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
13035
b46ae6da
UW
130362011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13037
13038 * config/spu/spu.c (spu_init_libfuncs): Install SImode and
13039 DImode trapping arithmetic libfuncs.
13040
c0aae19c
RG
130412011-02-07 Richard Guenther <rguenther@suse.de>
13042
13043 PR tree-optimization/47621
13044 * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
13045 two duplicates ...
13046 (execute_update_addresses_taken): ... here. Make it more
13047 conservative in what we accept.
13048
295d926b
JM
130492011-02-06 Joseph Myers <joseph@codesourcery.com>
13050
13051 * config/sparc/freebsd.h (ASM_SPEC): Define.
13052 * config/sparc/vxworks.h (ASM_SPEC): Define.
13053
bdeb2471
JM
130542011-02-06 Joseph Myers <joseph@codesourcery.com>
13055
13056 * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
13057
d5d3781a
SB
130582011-02-06 Steven Bosscher <steven@gcc.gnu.org>
13059
13060 * doc/invoke.texi: Remove reference to compiler internals from
13061 user documentation.
13062
13063 * reg-notes.def: Remove REG_VALUE_PROFILE.
13064 * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
13065
c42c09fc
JJ
130662011-02-05 Jakub Jelinek <jakub@redhat.com>
13067
13068 PR middle-end/47610
13069 * varasm.c (default_section_type_flags): If decl is NULL,
38be4072 13070 and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
c42c09fc 13071
beea2755
JZ
130722011-02-05 Jie Zhang <jie@codesourcery.com>
13073
13074 PR debug/42631
13075 * web.c (entry_register): Don't clobber the number of the
13076 first uninitialized reference in used[].
13077
a130584a
SP
130782011-02-04 Sebastian Pop <sebastian.pop@amd.com>
13079
13080 PR tree-optimization/46194
13081 * tree-data-ref.c (analyze_miv_subscript): Remove comment.
13082 (build_classic_dist_vector_1): Do not represent classic distance
13083 vectors when the access functions are variating in different loops.
13084
962101ac
JM
130852011-02-04 Joseph Myers <joseph@codesourcery.com>
13086
13087 * config/mips/iris6.opt: New.
13088 * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
13089
55eaaa5b
RH
130902011-02-04 Richard Henderson <rth@redhat.com>
13091 Steve Ellcey <sje@cup.hp.com>
13092
13093 PR target/46997
13094 * config/ia64/predicates.md (mux1_brcst_element): New.
13095 * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
13096 * config/ia64/ia64.c (ia64_unpack_assemble): New.
13097 (ia64_unpack_sign): New.
13098 (ia64_expand_unpack): Rewrite using new routines.
13099 (ia64_expand_widen_sum): Ditto.
13100 (ia64_expand_dot_prod_v8qi): Ditto.
13101 * config/ia64/vect.md (mulv8qi3): Rewrite to use new
13102 routines, add endian check.
13103 (pmpy2_even): Rename from pmpy2_r, add endian check.
13104 (pmpy2_odd): Rename from pmpy2_l, add endian check.
13105 (vec_widen_smult_lo_v4hi): Rewrite using new routines.
13106 (vec_widen_smult_hi_v4hi): Ditto.
13107 (vec_widen_umult_lo_v4hi): Ditto.
13108 (vec_widen_umult_hi_v4hi): Ditto.
13109 (mulv2si3): Change endian checks.
13110 (sdot_prodv4hi): Rewrite with new calls.
13111 (udot_prodv4hi): New.
13112 (vec_pack_ssat_v4hi): Add endian check.
13113 (vec_pack_usat_v4hi): Ditto.
13114 (vec_pack_ssat_v2si): Ditto.
13115 (max1_even): Rename from max1_r, add endian check.
13116 (max1_odd): Rename from max1_l, add endian check.
13117 (*mux1_rev): Format change.
13118 (*mux1_mix): Ditto.
13119 (*mux1_shuf): Ditto.
13120 (*mux1_alt): Ditto.
13121 (*mux1_brcst_v8qi): Use new predicate.
13122 (vec_extract_evenv8qi): Remove endian check.
13123 (vec_extract_oddv8qi): Ditto.
13124 (vec_interleave_lowv4hi): Format change.
13125 (vec_interleave_highv4hi): Ditto.
13126 (mix2_even): Rename from mix2_r, add endian check.
13127 (mix2_odd): Rename from mux2_l, add endian check.
13128 (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
13129 (vec_extract_evenodd_helper): Format change.
13130 (vec_extract_evenv4hi): Remove endian check.
13131 (vec_extract_oddv4hi): Remove endian check.
13132 (vec_interleave_lowv2si): Format change.
13133 (vec_interleave_highv2si): Format change.
13134 (vec_initv2si): Remove endian check.
13135 (vecinit_v2si): Add endian check.
13136 (reduc_splus_v2sf): Add endian check.
13137 (reduc_smax_v2sf): Ditto.
13138 (reduc_smin_v2sf): Ditto.
13139 (vec_initv2sf): Remove endian check.
13140 (fpack): Add endian check.
13141 (fswap): Add endian check.
13142 (vec_interleave_highv2sf): Add endian check.
13143 (vec_interleave_lowv2sf): Add endian check.
13144 (fmix_lr): Add endian check.
13145 (vec_setv2sf): Format change.
13146 (*vec_extractv2sf_0_be): Use shift to extract operand.
13147 (*vec_extractv2sf_1_be): New.
13148 (vec_pack_trunc_v4hi): Add endian check.
13149 (vec_pack_trunc_v2si): Format change.
13150
dcde5957
JJ
131512011-02-04 Jakub Jelinek <jakub@redhat.com>
13152
13153 PR inline-asm/23200
13154 * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
38be4072 13155 do bb, locus and block comparison and disallow loads if it is not set.
dcde5957
JJ
13156 (stmt_is_replaceable_p): New function.
13157 (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
13158 callers.
13159 * expr.c (expand_expr_real_1) <case SSA_NAME>: If
13160 get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
13161 SSA_NAME_DEF_STMT.
13162 * tree-flow.h (stmt_is_replaceable_p): New prototype.
13163
a64a8e5a
JM
131642011-02-04 Joseph Myers <joseph@codesourcery.com>
13165
13166 * config/rs6000/xilinx.opt: New.
13167 * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
13168
4da2ed2f
JM
131692011-02-04 Joseph Myers <joseph@codesourcery.com>
13170
13171 * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
13172
a6e508f9
AS
131732011-02-03 Anatoly Sokolov <aesok@post.ru>
13174
13175 * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
13176 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
13177 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
13178 secondary_reload_info, xtensa_secondary_reload): Remove.
13179 * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
13180 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
13181 (xtensa_preferred_reload_class): Make static. Change return and
13182 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
13183 Use CONST_DOUBLE_P predicate.
13184 (xtensa_preferred_output_reload_class): New function.
13185 (xtensa_secondary_reload): Make static.
13186
82dc0de3
JM
131872011-02-03 Joseph Myers <joseph@codesourcery.com>
13188
13189 * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
13190 Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
13191 Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
13192
7fece979
JJ
131932011-02-03 Jakub Jelinek <jakub@redhat.com>
13194
13195 PR middle-end/31490
13196 * output.h (SECTION_RELRO): Define.
13197 (SECTION_MACH_DEP): Adjust.
13198 (get_variable_section): New prototype.
13199 * varpool.c (varpool_finalize_named_section_flags): New function.
13200 (varpool_assemble_pending_decls): Call it.
13201 * cgraph.h (varpool_finalize_named_section_flags): New prototype.
13202 * cgraphunit.c (cgraph_output_in_order): Call
13203 varpool_finalize_named_section_flags.
13204 * varasm.c (get_section): Allow section flags conflicts between
13205 relro and read-only sections if the section hasn't been declared yet.
13206 Set SECTION_OVERRIDE after diagnosing section type conflict.
13207 (get_variable_section): No longer static.
13208 (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
13209 readonly sections that need relocations.
13210 (decl_readonly_section_1): New function.
13211 (decl_readonly_section): Use it.
13212
13213 Revert:
509d65dd 13214 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
7fece979
JJ
13215 Steve Ellcey <sje@cup.hp.com>
13216
13217 PR middle-end/31490
13218 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
13219 if section attribute used.
13220
d18d5478
JJ
132212011-02-03 Jakub Jelinek <jakub@redhat.com>
13222
13223 * config/darwin.h (SECTION_NO_ANCHOR): Remove.
13224 * config/darwin.c (SECTION_NO_ANCHOR): Define.
13225 (darwin_init_sections): Remove assertion.
13226
6479ed4b
NC
132272011-02-03 Nick Clifton <nickc@redhat.com>
13228
13229 * config/rx/predicates.md (rx_zs_comparison_operator): Remove
13230 lt and ge.
38be4072 13231 * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
6479ed4b
NC
13232 * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
13233 instead of "n" and "pz".
13234 (flags_from_code): LT and GE tests need CC_FLAG_O as well as
13235 CC_FLAG_S.
13236
89843f5d
JJ
132372011-02-03 Jakub Jelinek <jakub@redhat.com>
13238
65450d64
JJ
13239 PR target/47312
13240 * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
13241 fma, expand FMA_EXPR as fma{,f,l} call.
13242
7d58701c
JJ
13243 PR lto/47274
13244 * lto-streamer-out.c (write_symbol): When writing kind and visibility,
13245 copy them into a unsigned char variable and pass address of it to
13246 lto_output_data_stream.
13247
89843f5d
JJ
13248 PR target/47564
13249 * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
13250 around backend_init_target and lang_dependent_init_target calls.
13251 * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
13252 (verify_cgraph_node): Don't call set_cfun here. Use
13253 cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
13254 Set error_found for incorrectly represented calls to thunks.
13255
4deef538
AO
132562011-02-03 Alexandre Oliva <aoliva@redhat.com>
13257
13258 PR debug/43092
13259 PR rtl-optimization/43494
13260 * rtl.h (for_each_inc_dec_fn): New type.
13261 (for_each_inc_dec): Declare.
13262 * rtlanal.c (struct for_each_inc_dec_ops): New type.
13263 (for_each_inc_dec_find_inc_dec): New fn.
13264 (for_each_inc_dec_find_mem): New fn.
13265 (for_each_inc_dec): New fn.
13266 * dse.c (struct insn_size): Remove.
13267 (replace_inc_dec, replace_inc_dec_mem): Remove.
13268 (emit_inc_dec_insn_before): New fn.
13269 (check_for_inc_dec): Use it, along with for_each_inc_dec.
13270 (canon_address): Pass mem modes to cselib_lookup.
13271 * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
13272 (cselib_lookup_from_insn): Likewise.
13273 (cselib_subst_to_values): Likewise.
13274 * cselib.c (find_slot_memmode): New var.
13275 (cselib_find_slot): New fn. Use it instead of
13276 htab_find_slot_with_hash everywhere.
13277 (entry_and_rtx_equal_p): Use find_slot_memmode.
13278 (autoinc_split): New fn.
13279 (rtx_equal_for_cselib_p): Rename and implement in terms of...
13280 (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
13281 Deal with autoinc. Special-case recursion into MEMs.
13282 (cselib_hash_rtx): Likewise.
13283 (cselib_lookup_mem): Infer pmode from address mode. Distinguish
13284 address and MEM modes.
13285 (cselib_subst_to_values): Add memmode, pass it on.
13286 Deal with autoinc.
13287 (cselib_lookup): Add memmode argument, pass it on.
13288 (cselib_lookup_from_insn): Add memmode.
13289 (cselib_invalidate_rtx): Discard obsolete push_operand handling.
13290 (struct cselib_record_autoinc_data): New.
13291 (cselib_record_autoinc_cb): New fn.
13292 (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
13293 mode to cselib_lookup. Reset autoinced REGs here instead of...
13294 (cselib_process_insn): ... here.
13295 * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
13296 to cselib_lookup.
13297 (add_uses): Likewise, also to cselib_subst_to_values.
13298 (add_stores): Likewise.
13299 * sched-deps.c (add_insn_mem_dependence): Pass mode to
13300 cselib_subst_to_values.
13301 (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
13302 * gcse.c (do_local_cprop): Adjusted.
13303 * postreload.c (reload_cse_simplify_set): Adjusted.
13304 (reload_cse_simplify_operands): Adjusted.
13305 * sel-sched-dump (debug_mem_addr_value): Pass mode.
13306
1551d44a
AO
133072011-02-03 Alexandre Oliva <aoliva@redhat.com>
13308
13309 PR tree-optimization/45122
13310 * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
13311 unsafe assumptions when there's more than one loop exit.
13312
c9485473
MM
133132011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
13314
13315 PR target/47272
13316 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
13317 Document using vector double with the load/store builtins, and
13318 that the load/store builtins always use Altivec instructions.
13319
13320 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
13321 to use altivec memory instructions, even on VSX.
13322 (vector_altivec_store_<mode>): Ditto.
13323
13324 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
13325 function.
13326
13327 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
13328 V2DF, V2DI support to load/store overloaded builtins.
13329
13330 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
13331 altivec load/store builtins for V2DF/V2DI types.
13332
13333 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
13334 set avoid indexed addresses on power6 if -maltivec.
13335 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
13336 vector_altivec_load/vector_altivec_store builtins.
13337 (altivec_expand_st_builtin): Ditto.
13338 (altivec_expand_builtin): Add VSX memory builtins.
13339 (rs6000_init_builtins): Add V2DI types to internal types.
13340 (altivec_init_builtins): Add support for V2DF/V2DI altivec
13341 load/store builtins.
13342 (rs6000_address_for_altivec): Insure memory address is appropriate
13343 for Altivec.
13344
13345 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
13346 vec_vsx_ld and vec_vsx_st.
13347 (vsx_store_<mode>): Ditto.
13348
13349 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
13350 variables to hold long long types for VSX vector memory builtins.
13351 (RS6000_BTI_unsigned_long_long): Ditto.
13352 (long_long_integer_type_internal_node): Ditti.
13353 (long_long_unsigned_type_internal_node): Ditti.
13354
13355 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
13356 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
13357 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
13358
13359 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
13360 short cuts.
13361 (vec_vsx_st): Ditto.
13362
b24d1acf
JM
133632011-02-02 Joseph Myers <joseph@codesourcery.com>
13364
13365 * config/pa/pa-hpux10.opt: New.
13366 * config/hpux11.opt (pthread): New Driver option.
13367 * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
13368 * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
13369
aa18dd0f
JM
133702011-02-02 Joseph Myers <joseph@codesourcery.com>
13371
13372 * config/ia64/vms.opt: New.
13373 * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
13374
28fc3eee
MM
133752011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
13376
13377 PR target/47580
13378 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
13379 gpc_reg_operand instead of vsx_register_operand to match rs6000.md
13380 generator functions.
13381 (vsx_floatuns<VSi><mode>2): Ditto.
13382 (vsx_fix_trunc<mode><VSi>2): Ditto.
13383 (vsx_fixuns_trunc<mode><VSi>2): Ditto.
13384
b5838b1f
JM
133852011-02-02 Joseph Myers <joseph@codesourcery.com>
13386
13387 * config/i386/djgpp.opt (posix): New Driver option.
13388
0db8fa89
GP
133892011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
13390
13391 * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
13392 Move to the unsupported targets list.
13393
9cd4f22a
PB
133942011-02-02 Peter Bergner <bergner@vnet.ibm.com>
13395
13396 PR rtl-optimization/47525
13397 * df-scan.c: Update copyright years.
13398 (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
13399 and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
13400
9ed8059c
RO
134012011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13402
13403 * config/i386/sysv4.h (TARGET_VERSION): Remove.
13404 (SUBTARGET_RETURN_IN_MEMORY): Remove.
13405 (ASM_OUTPUT_ASCII): Remove.
13406 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
13407
2a737389
JL
134082011-02-02 Jeff Law <law@redhat.com>
13409
13410 PR middle-end/47543
13411 * reload.c (find_reloads_address): Handle reg+d address where both
13412 components are invalid by reloading the entire address.
13413
9dac82c4
SP
134142011-02-02 Sebastian Pop <sebastian.pop@amd.com>
13415 Richard Guenther <rguenther@suse.de>
13416
13417 PR tree-optimization/40979
13418 PR bootstrap/47044
13419 * passes.c (init_optimization_passes): After LIM call copy_prop
13420 and DCE to clean up.
13421 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
13422
14dd9aab
SP
134232011-02-02 Sebastian Pop <sebastian.pop@amd.com>
13424
13425 PR tree-optimization/47576
13426 PR tree-optimization/47555
13427 * doc/invoke.texi (scev-max-expr-complexity): Documented.
13428 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
13429 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
13430 * tree-scalar-evolution.c (follow_ssa_edge): Use
13431 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
13432
5cbf5c20
RG
134332011-02-02 Richard Guenther <rguenther@suse.de>
13434
13435 PR tree-optimization/47566
13436 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
13437
83d70792
AO
134382011-02-02 Alexandre Oliva <aoliva@redhat.com>
13439
e829c321
AO
13440 PR debug/47106
13441 PR debug/47402
13442 * tree-inline.c (declare_return_variable): Remove unused caller
13443 variable.
13444
83d70792
AO
13445 PR debug/47106
13446 PR debug/47402
13447 * tree-flow-inline.h (clear_is_used, is_used_p): New.
13448 * cfgexpand.c (account_used_vars_for_block): Use them.
13449 * tree-nrv.c (tree_nrv): Likewise.
13450 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
13451 (dump_scope_block): Likewise.
13452 (remove_unused_locals): Likewise.
13453
aaa2ac93
AO
13454 PR debug/47106
13455 PR debug/47402
13456 * tree-inline.c (declare_return_variable): Add result decl to
13457 local decls only once.
13458 * gimple-low.c (record_vars_into): Mark newly-created variables
13459 as referenced.
13460
a59d15cf
AO
134612011-02-02 Alexandre Oliva <aoliva@redhat.com>
13462
13463 PR debug/47498
13464 PR debug/47501
13465 PR debug/45136
13466 PR debug/45130
13467 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
13468 debug insns.
13469 (no_real_insns_p, schedule_block, set_priorities): Drop special
13470 treatment of boundary debug insns.
38be4072 13471 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
a59d15cf
AO
13472 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
13473 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
13474 (BOUNDARY_DEBUG_INSN_P): Likewise.
13475 (SCHEDULE_DEBUG_INSN_P): Likewise.
13476 * sched-rgn.c (init_ready_list): Drop special treatment of
13477 boundary debug insns.
13478 * final.c (rest_of_clean_state): Clear notes' BB.
13479
6fc2f091
JM
134802011-02-01 Joseph Myers <joseph@codesourcery.com>
13481
13482 * config/openbsd.opt (assert=): New Driver option.
13483
fc523387
JM
134842011-02-01 Joseph Myers <joseph@codesourcery.com>
13485
13486 * config/i386/nto.opt: New.
13487 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
13488
6d9821e5
JM
134892011-02-01 Joseph Myers <joseph@codesourcery.com>
13490
13491 * config/i386/netware.opt: New.
13492 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
13493
cef932d4
JM
134942011-02-01 Joseph Myers <joseph@codesourcery.com>
13495
13496 * config/interix.opt (posix): New Driver option.
13497
22843acd
DD
134982011-02-01 DJ Delorie <dj@redhat.com>
13499
56490b74
DD
13500 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
13501
22843acd
DD
13502 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
13503 class for A0/A1.
13504
199c8f2f
SP
135052011-02-01 Sebastian Pop <sebastian.pop@amd.com>
13506
13507 PR tree-optimization/47561
13508 * toplev.c (process_options): Print the Graphite flags. Add
13509 flag_loop_flatten to the list of options requiring Graphite.
13510
926bcf22
JM
135112011-02-01 Joseph Myers <joseph@codesourcery.com>
13512
13513 * config/i386/cygming.opt (posix): New Driver option.
13514
59793c51
JM
135152011-02-01 Joseph Myers <joseph@codesourcery.com>
13516
13517 * config/arm/vxworks.opt: New.
13518 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
13519
183c38a4
JM
135202011-02-01 Joseph Myers <joseph@codesourcery.com>
13521
13522 * config/alpha/elf.opt: New.
13523 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
13524 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
13525
9939e416
RG
135262011-02-01 Richard Guenther <rguenther@suse.de>
13527
13528 PR tree-optimization/47559
13529 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
13530 store-motion on references that can throw.
13531
4a3c9687
BS
135322011-02-01 Bernd Schmidt <bernds@codesourcery.com>
13533
13534 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
13535 * tree-pass.h (TDF_CSELIB): New macro.
13536 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
13537 cselib_lookup): Check for it rather than for TDF_DETAILS.
13538
dd3b31fb
L
135392011-02-01 H.J. Lu <hongjiu.lu@intel.com>
13540
13541 PR driver/47547
13542 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
13543 is HOST_BIT_BUCKET.
13544
13545 * opts.c (finish_options): Don't add x_aux_base_name if it is
13546 HOST_BIT_BUCKET.
13547
34c1de79
RG
135482011-02-01 Richard Guenther <rguenther@suse.de>
13549
13550 PR tree-optimization/47555
13551 Revert
13552 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
13553
13554 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
13555
dd2804d2
SB
135562011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
13557
13558 PR gcc/46692
13559 * config/lm32/t-lm32: Add multilib for all CPU options.
13560
3fd3b156
RG
135612011-02-01 Richard Guenther <rguenther@suse.de>
13562
13563 PR tree-optimization/47541
13564 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
13565 sure to have a field at offset zero.
13566
f16072b6
JM
135672011-01-31 Joseph Myers <joseph@codesourcery.com>
13568
13569 * config/arc/arc.opt (EB, EL): New Driver options.
13570
6456cf2e
JM
135712011-01-31 Joseph Myers <joseph@codesourcery.com>
13572
13573 * config/alpha/osf5.opt: New.
13574 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
13575
cdde6ab4
JM
135762011-01-31 Joseph Myers <joseph@codesourcery.com>
13577
13578 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
13579
7633415c
SP
135802011-01-31 Sebastian Pop <sebastian.pop@amd.com>
13581
13582 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
13583 -floop-interchange.
13584 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
13585 is an alias of -floop-interchange and that it requires the
13586 Graphite infrastructure.
13587 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
13588 flag_loop_interchange based on the value of flag_tree_loop_linear.
13589
0425d6f5
JJ
135902011-01-31 Jakub Jelinek <jakub@redhat.com>
13591 Richard Guenther <rguenther@suse.de>
13592
13593 PR tree-optimization/47538
13594 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
13595 type instead of r1type, except for comparisons. For right
13596 shifts and comparisons punt if there are mismatches in
13597 sizetype vs. non-sizetype types.
13598
500b16c3
RO
135992011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13600
13601 * doc/sourcebuild.texi (Effective-Target Keywords): Document
13602 avx_runtime.
13603
e279edb0
RO
136042011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13605
13606 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
13607 version number.
13608 * configure: Regenerate.
13609
c6092243
RO
136102011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13611
13612 * configure.ac (gcc_cv_ld_static_option): Define.
13613 (gcc_cv_ld_dynamic_option): Define.
13614 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
13615 instead.
13616 (HAVE_LD_STATIC_DYNAMIC): Update message.
13617 (LD_STATIC_OPTION): Define.
13618 (LD_DYNAMIC_OPTION): Define.
13619 * configure: Regenerate.
13620 * config.in: Regenerate.
13621 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
13622 HAVE_LD_STATIC_DYNAMIC]: Use them.
13623
d7862be3
NC
136242011-01-31 Nick Clifton <nickc@redhat.com>
13625
13626 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
13627 registers inside interrupt handlers if the handler is not a leaf
13628 function.
13629
ba4ec0e0
NC
136302011-01-31 Nick Clifton <nickc@redhat.com>
13631
13632 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
13633 reg_renumber returning an INVALID_REGNUM.
13634
29a63921
AO
136352011-01-31 Alexandre Oliva <aoliva@redhat.com>
13636
13637 PR libgcj/44341
13638 * doc/install.texi: Document host options discarded when cross
13639 configuring target libraries.
13640
ef591d3f
AO
136412011-01-31 Alexandre Oliva <aoliva@redhat.com>
13642
13643 Reverted:
13644 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
13645 PR debug/45136
13646 PR debug/45130
13647 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
13648 debug insns.
13649 (no_real_insns_p, schedule_block, set_priorities): Drop special
13650 treatment of boundary debug insns.
38be4072 13651 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
ef591d3f
AO
13652 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
13653 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
13654 (BOUNDARY_DEBUG_INSN_P): Likewise.
13655 (SCHEDULE_DEBUG_INSN_P): Likewise.
13656 * sched-rgn.c (init_ready_list): Drop special treatment of
13657 boundary debug insns.
13658 * final.c (rest_of_clean-state): Clear notes' BB.
13659
61052244
AM
136602011-01-31 Alan Modra <amodra@gmail.com>
13661
13662 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
13663 toc relative expressions as we do in print_operand_address.
13664
c4c8962b
KH
136652011-01-30 Kazu Hirata <kazu@codesourcery.com>
13666
13667 * doc/extend.texi: Follow spelling conventions.
13668 * doc/invoke.texi: Fix a typo.
13669
e543b94c
JM
136702011-01-30 Joseph Myers <joseph@codesourcery.com>
13671
13672 * config/hpux11.opt: New.
13673 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
13674 ia64*-*-hpux*): Use hpux11.opt.
13675
509d65dd 136762011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
a70e0551
JY
13677
13678 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
13679 to tmake_file.
13680
7be03a0e
GP
136812011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
13682
13683 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
13684 support sites.
13685
419d1d37
GP
136862011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
13687
b596ed64
GP
13688 * doc/install.texi (Binaries): Remove outdated reference for
13689 Motorola 68HC11/68HC12 downloads.
13690
136912011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
61052244 13692
419d1d37
GP
13693 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
13694 Drepper's paper.
13695
4406d0e9
JW
136962011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
13697
13698 PR bootstrap/47147
13699 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
13700 used by NetBSD.
13701
38be4072 137022011-01-28 Ahmad Sharif <asharif@google.com>
e0b77418
AS
13703
13704 * value-prof.c (check_counter): Corrected error message.
13705
0cd98787
JZ
137062011-01-29 Jie Zhang <jie@codesourcery.com>
13707
13708 * config/arm/arm.c (arm_legitimize_reload_address): New.
13709 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
13710 arm_legitimize_reload_address.
38be4072 13711 * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
0cd98787 13712
9b798ac5
ILT
137132011-01-28 Ian Lance Taylor <iant@google.com>
13714
13715 * godump.c (go_define): Ignore macros whose definitions include
13716 two adjacent operands.
13717
591e29d9
JJ
137182011-01-28 Jakub Jelinek <jakub@redhat.com>
13719
13720 PR target/42894
13721 * varasm.c (force_const_mem): Store copy of x in desc->constant
13722 instead of x itself.
13723 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
13724 itself into REG_EQUAL note.
13725
62dcc44a
JM
137262011-01-28 Joseph Myers <joseph@codesourcery.com>
13727
13728 * config/freebsd.opt (posix, rdynamic): New Driver options.
13729
c9f58b9a
RO
137302011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13731
13732 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
13733 -Bstatic/-Bdynamic.
13734 * configure: Regenerate.
13735
5f02b9db
JM
137362011-01-27 Joseph Myers <joseph@codesourcery.com>
13737
13738 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
13739 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
13740
5df97412
AS
137412011-01-27 Anatoly Sokolov <aesok@post.ru>
13742
13743 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
13744 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
13745 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
13746 (s390_preferred_reload_class): Make static. Change return and
13747 'rclass' argument type to reg_class_t.
13748
779d4b91
JH
137492011-01-27 Jan Hubicka <jh@suse.cz>
13750
13751 PR middle-end/46949
13752 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
13753 (process_function_and_variable_attributes): Check defined weakrefs.
13754
e80b21ed
MJ
137552011-01-27 Martin Jambor <mjambor@suse.cz>
13756
13757 PR tree-optimization/47228
13758 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
13759 build_ref_for_offset.
13760
6dcc4f31
UW
137612011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13762
13763 * config/spu/spu-elf.h (ASM_SPEC): Remove.
13764
509d65dd 137652011-01-26 Mikael Pettersson <mikpe@it.uu.se>
3b8ff89f
MP
13766
13767 PR rtl-optimization/46856
13768 * postreload.c (reload_combine_recognize_const_pattern): Do not
13769 separate cc0 setter and user on cc0 targets.
13770
04af8788
NP
137712011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
13772
13773 PR c/43082
13774 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
13775 passed a VOID_TYPE expression, immediately emit an error and
13776 return error_mark_node.
13777
f7a60085
JL
137782011-01-26 Jeff Law <law@redhat.com>
13779
13780 PR rtl-optimization/47464
13781 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
13782 rather than may_trap_p as needed.
13783
5c2917ec
DD
137842011-01-26 DJ Delorie <dj@redhat.com>
13785
13786 PR rtl-optimization/46878
13787 * combine.c (insn_a_feeds_b): Check for the implicit cc0
13788 setter/user dependency as well.
13789
bef16e87
EB
137902011-01-26 Eric Botcazou <ebotcazou@adacore.com>
13791
13792 PR rtl-optimization/44469
13793 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
13794 after removing trivially dead basic blocks.
13795
c75d884b
JM
137962011-01-26 Joseph Myers <joseph@codesourcery.com>
13797
13798 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
13799 * config/frv/frv.h (LINK_SPEC): Likewise.
13800 * config/i386/netware.h (LINK_SPEC): Likewise.
13801 * config/m68k/linux.h (ASM_SPEC): Likewise.
13802 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
13803 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
13804 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
13805 * config/sparc/linux.h (ASM_SPEC): Likewise.
13806 * config/sparc/linux64.h (ASM_SPEC): Likewise.
13807 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
13808
d3153553
JM
138092011-01-26 Joseph Myers <joseph@codesourcery.com>
13810
13811 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
13812 * config/frv/frv.h (ASM_SPEC): Likewise.
13813 * config/m68k/linux.h (ASM_SPEC): Likewise.
13814 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
13815 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
13816 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
13817 * config/sparc/linux.h (ASM_SPEC): Likewise.
13818 * config/sparc/linux64.h (ASM_SPEC): Likewise.
13819 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
13820
b89b1e9d
JM
138212011-01-26 Joseph Myers <joseph@codesourcery.com>
13822
13823 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
13824 * config/frv/frv.h (LINK_SPEC): Likewise.
13825 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
13826
12eb1a9c
JM
138272011-01-26 Joseph Myers <joseph@codesourcery.com>
13828
13829 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
13830 * config/frv/frv.h (ASM_SPEC): Likewise.
13831 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
13832 * config/m68k/linux.h (ASM_SPEC): Likewise.
13833 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
13834 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
13835 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
13836 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
13837 * config/sparc/linux.h (ASM_SPEC): Likewise.
13838 * config/sparc/linux64.h (ASM_SPEC): Likewise.
13839 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
13840 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
13841
e435f098
SE
138422011-01-26 Steve Ellcey <sje@cup.hp.com>
13843
13844 PR target/46997
13845 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
13846 (*mux2): Ditto.
13847 (vec_extract_evenodd_help): Ditto.
13848 (vec_extract_evenv4hi): Ditto.
13849 (vec_extract_oddv4hi): Ditto.
13850 (vec_interleave_lowv2si): Ditto.
13851 (vec_interleave_highv2si): Ditto.
13852 (vec_extract_evenv2si): Ditto.
13853 (vec_extract_oddv2si: Ditto.
13854 (vec_pack_trunc_v2si): Ditto.
13855
34f0eee0
JH
138562011-01-22 Jan Hubicka <jh@suse.cz>
13857
13858 PR target/47237
13859 * cgraph.h (cgraph_local_info): New field can_change_signature.
13860 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
13861 signature can change.
13862 (ipcp_estimate_growth): Call sequence simplify only if calle signature
13863 can change.
13864 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
13865 (cgraph_function_versioning): We can not change signature of functions
13866 that don't allow that.
13867 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
13868 (lto_input_node): Likewise.
38be4072
UB
13869 * ipa-inline.c (compute_inline_parameters): Compute
13870 local.can_change_signature.
34f0eee0 13871 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
38be4072
UB
13872 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
13873 functions that can not change signature.
34f0eee0 13874 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
38be4072
UB
13875 init_cumulative_args): Do not use local calling conventions
13876 for functions that can not change signature.
34f0eee0 13877
980ca891
JH
138782011-01-22 Jan Hubicka <jh@suse.cz>
13879
13880 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
13881
768e3c60
RG
138822011-01-26 Richard Guenther <rguenther@suse.de>
13883
13884 PR tree-optimization/47190
61052244
AM
13885 * cgraphunit.c (process_common_attributes): New function.
13886 (process_function_and_variable_attributes): Use it.
768e3c60 13887
21d6a1c7
RG
138882011-01-26 Richard Guenther <rguenther@suse.de>
13889
13890 PR lto/47423
13891 * cgraphbuild.c (record_eh_tables): Record reference to personality
13892 function.
13893
48bb58b1
AO
138942011-01-26 Alexandre Oliva <aoliva@redhat.com>
13895
13896 PR debug/45454
13897 * sel-sched.c (moveup_expr): Don't let debug insns prevent
13898 non-debug insns from moving up.
13899
58c741a6
DK
139002011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
13901
13902 PR target/40125
13903 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
13904 t-dlldir{,-x} fragment for build and add it to tmake_file.
13905 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
13906 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
13907 * config/i386/t-dlldir: New file.
13908 (SHLIB_DLLDIR): Define.
13909 * config/i386/t-dlldir-x: New file.
13910 (SHLIB_DLLDIR): Define.
13911 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
13912 (SHLIB_INSTALL): Use it.
13913
bff99262
CLT
139142011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
13915
13916 PR target/47246
13917 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
13918 lower bound of the allowed Thumb-2 coprocessor load/store
13919 index range to -256. Add explaining comment.
13920
82c03907
ILT
139212011-01-25 Ian Lance Taylor <iant@google.com>
13922
13923 * godump.c (go_define): Improve lexing of macro expansion to only
13924 accept expressions which match Go spec.
13925
47ea1edf
DK
139262011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
13927
d4dba752 13928 PR c++/43601
47ea1edf
DK
13929 * tree.c (handle_dll_attribute): Handle it.
13930 * doc/extend.texi (@item dllexport): Mention it.
13931 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
13932
744f0946
ILT
139332011-01-25 Ian Lance Taylor <iant@google.com>
13934
13935 PR tree-optimization/26854
13936 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
13937 (decl_jump_unsafe): Move higher in file, with no other change.
13938 (bind): Set has_jump_unsafe_decl if appropriate.
13939 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
13940 (check_earlier_gotos): Likewise.
13941 (c_check_switch_jump_warnings): Likewise.
13942
5734f2b3
JW
139432011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
13944
13945 * doc/invoke.texi (Warning Options): Add missing hyphen.
13946 (-fprofile-dir): Minor grammatical fixes.
13947 (-fbranch-probabilities): Likewise.
13948
9bdbdcef
AO
139492011-01-25 Alexandre Oliva <aoliva@redhat.com>
13950
13951 PR debug/45136
13952 PR debug/45130
13953 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
13954 debug insns.
13955 (no_real_insns_p, schedule_block, set_priorities): Drop special
13956 treatment of boundary debug insns.
38be4072 13957 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
9bdbdcef
AO
13958 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
13959 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
13960 (BOUNDARY_DEBUG_INSN_P): Likewise.
13961 (SCHEDULE_DEBUG_INSN_P): Likewise.
13962 * sched-rgn.c (init_ready_list): Drop special treatment of
13963 boundary debug insns.
13964 * final.c (rest_of_clean-state): Clear notes' BB.
13965
b305e3da
SP
139662011-01-25 Sebastian Pop <sebastian.pop@amd.com>
13967
13968 * Makefile.in (LAMBDA_H): Removed.
13969 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
13970 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
13971 lambda-trans.o, and tree-loop-linear.o.
13972 (lto-symtab.o): Remove dependence on LAMBDA_H.
13973 (tree-loop-linear.o): Remove rule.
13974 (lambda-mat.o): Same.
13975 (lambda-trans.o): Same.
13976 (lambda-code.o): Same.
13977 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
13978 (tree-vect-slp.o): Same.
13979 * hwint.h (gcd): Moved here.
13980 (least_common_multiple): Same.
13981 * lambda-code.c: Removed.
13982 * lambda-mat.c: Removed.
13983 * lambda-trans.c: Removed.
13984 * lambda.h: Removed.
13985 * tree-loop-linear.c: Removed.
13986 * lto-symtab.c: Do not include lambda.h.
13987 * omega.c (gcd): Removed.
13988 * passes.c (init_optimization_passes): Remove pass_linear_transform.
13989 * tree-data-ref.c (print_lambda_vector): Moved here.
13990 (lambda_vector_copy): Same.
13991 (lambda_matrix_copy): Same.
13992 (lambda_matrix_id): Same.
13993 (lambda_vector_first_nz): Same.
13994 (lambda_matrix_row_add): Same.
13995 (lambda_matrix_row_exchange): Same.
13996 (lambda_vector_mult_const): Same.
13997 (lambda_vector_negate): Same.
13998 (lambda_matrix_row_negate): Same.
13999 (lambda_vector_equal): Same.
14000 (lambda_matrix_right_hermite): Same.
14001 * tree-data-ref.h: Do not include lambda.h.
14002 (lambda_vector): Moved here.
14003 (lambda_matrix): Same.
14004 (dependence_level): Same.
14005 (lambda_transform_legal_p): Removed declaration.
14006 (lambda_collect_parameters): Same.
14007 (lambda_compute_access_matrices): Same.
14008 (lambda_vector_gcd): Same.
14009 (lambda_vector_new): Same.
14010 (lambda_vector_clear): Same.
14011 (lambda_vector_lexico_pos): Same.
14012 (lambda_vector_zerop): Same.
14013 (lambda_matrix_new): Same.
14014 * tree-flow.h (least_common_multiple): Removed declaration.
14015 * tree-parloops.c (lambda_trans_matrix): Moved here.
14016 (LTM_MATRIX): Same.
14017 (LTM_ROWSIZE): Same.
14018 (LTM_COLSIZE): Same.
14019 (LTM_DENOMINATOR): Same.
14020 (lambda_trans_matrix_new): Same.
14021 (lambda_matrix_vector_mult): Same.
14022 (lambda_transform_legal_p): Same.
14023 * tree-pass.h (pass_linear_transform): Removed declaration.
14024 * tree-ssa-loop.c (tree_linear_transform): Removed.
14025 (gate_tree_linear_transform): Removed.
14026 (pass_linear_transform): Removed.
14027 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
14028 flag_loop_interchange.
14029
6bdfdb96
JJ
140302011-01-25 Jakub Jelinek <jakub@redhat.com>
14031
14032 PR tree-optimization/47265
14033 PR tree-optimization/47443
14034 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
14035 if name still has some uses.
14036
e4cba915
MJ
140372011-01-25 Martin Jambor <mjambor@suse.cz>
14038
14039 PR tree-optimization/47382
14040 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
14041 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
14042
509d65dd 140432011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
f822b8ea
JS
14044
14045 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
14046 sjlj_except_unwind_info.
14047
194313e2
RG
140482011-01-25 Richard Guenther <rguenther@suse.de>
14049
14050 PR tree-optimization/47426
14051 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
14052 visible functions results escape.
14053
147a0bcf
JJ
140542011-01-25 Jakub Jelinek <jakub@redhat.com>
14055
14056 PR target/45701
14057 * config/arm/arm.c (any_sibcall_uses_r3): New function.
14058 (arm_get_frame_offsets): Use it.
14059
db963b52
SP
140602011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14061 Jakub Jelinek <jakub@redhat.com>
14062
14063 PR tree-optimization/47271
14064 * tree-if-conv.c (bb_postdominates_preds): New.
14065 (if_convertible_bb_p): Call bb_postdominates_preds.
14066 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
14067 (predicate_scalar_phi): Call bb_postdominates_preds.
14068
bcddd3b9
NC
140692011-01-25 Nick Clifton <nickc@redhat.com>
14070
14071 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
14072 * config/rx/rx.c (rx_function_value): Likewise.
14073 (rx_promote_function_mode): Likewise.
14074 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
14075 in order to make it legitimate.
38be4072
UB
14076 * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
14077 make sure that the first operand is the same as the result register.
bcddd3b9
NC
14078 (addsi3_unspec): Delete.
14079 (subdi3): Do not accept immediate operands.
14080 (subdi3_internal): Likewise.
14081
7e6cb022
JL
140822011-01-25 Jeff Law <law@redhat.com>
14083
14084 PR rtl-optimization/37273
14085 * ira-costs.c (scan_one_insn): Detect constants living in memory and
14086 handle them like argument loads from stack slots. Do not double
14087 count memory for memory constants and argument loads from stack slots.
14088
9ffa621e
JJ
140892011-01-25 Jakub Jelinek <jakub@redhat.com>
14090
14091 PR tree-optimization/47427
14092 PR tree-optimization/47428
14093 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
14094 coalesce if the new root var would be TREE_READONLY.
14095
5bd6e652
RG
140962011-01-25 Richard Guenther <rguenther@suse.de>
14097
14098 PR middle-end/47414
14099 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
14100 correct type for TBAA.
14101
7c48ea69
SP
141022011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14103
14104 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
14105 (close_phi_written_to_memory): Call for_each_index with
14106 dr_indices_valid_in_loop.
14107
38013f25
SP
141082011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14109
14110 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
14111 when it is initialized.
14112
5c640e29
SP
141132011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14114
14115 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
14116 call to graphite_find_data_references_in_stmt.
14117 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
14118 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
14119 call to graphite_find_data_references_in_stmt.
14120 (analyze_drs_in_stmts): Same.
14121 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
14122 in which the scalar analysis of indices is performed.
14123 (create_data_ref): Same. Update call to dr_analyze_indices.
14124 (find_data_references_in_stmt): Update call to create_data_ref.
14125 (graphite_find_data_references_in_stmt): Same.
14126 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
14127 declaration.
14128 (create_data_ref): Same.
14129 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
14130 call to create_data_ref.
14131
ac53c069
SP
141322011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14133
14134 * graphite-sese-to-poly.c (build_poly_scop): Move
38be4072 14135 rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
ac53c069 14136
3d17df15
SP
141372011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14138
14139 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
14140 VAR_DECL, PARM_DECL, and RESULT_DECL.
14141
c513da01
SP
141422011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14143
14144 * graphite-dependences.c (reduction_dr_1): Allow several reductions
14145 in a reduction PBB.
14146 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
14147 that have already been marked as PBB_IS_REDUCTION.
14148
3a292d59
SP
141492011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14150
14151 * graphite-scop-detection.c (same_close_phi_node): New.
14152 (remove_duplicate_close_phi): New.
14153 (make_close_phi_nodes_unique): New.
14154 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
14155
ba858447
SP
141562011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14157
14158 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
14159 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
14160 of both data references to be the same.
14161
8d865c56
SP
141622011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14163
38be4072
UB
14164 * graphite-dependences.c (build_lexicographical_constraint): Remove
14165 the gdim parameter.
14166 (build_lexicographical_constraint): Adjust call to
14167 ppl_powerset_is_empty.
8d865c56
SP
14168 (dependence_polyhedron): Same.
14169 (graphite_legal_transform_dr): Same.
14170 (graphite_carried_dependence_level_k): Same.
38be4072
UB
14171 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
14172 parameter.
8d865c56
SP
14173 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
14174
50034a36
SP
141752011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14176
14177 * graphite-sese-to-poly.c
14178 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
14179 (close_phi_written_to_memory): New.
14180 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
14181 and unshare_expr.
14182
0deada9e
SP
141832011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14184
14185 * doc/install.texi: Update the expected version number of PPL to 0.11.
14186 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
14187 #if PPL_VERSION_MINOR < 11.
14188
d7d3d6af
SP
141892011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14190
14191 * graphite-dependences.c: Include graphite-cloog-util.h.
14192 (new_poly_ddr): Inlined into dependence_polyhedron.
14193 (free_poly_ddr): Moved close by new_poly_ddr.
14194 (dependence_polyhedron_1): Renamed dependence_polyhedron.
14195 Early return NULL when ppl_powerset_is_empty returns true.
14196 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
14197 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
14198 (graphite_legal_transform_dr): Call new_poly_ddr.
14199 (graphite_carried_dependence_level_k): Same.
14200 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
14201 (dot_transformed_deps_stmt_1): Removed.
14202 (dot_deps_stmt_1): Call dot_deps_stmt_2.
14203 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
14204 (dot_deps_1): Call dot_deps_2.
14205 * Makefile.in (graphite-dependences.o): Add missing dependence on
14206 graphite-cloog-util.h.
14207
28c5db57
SP
142082011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14209
14210 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
14211 (build_lexicographical_constraint): Same.
14212 (dependence_polyhedron_1): Same.
14213 (graphite_legal_transform_dr): Same.
14214 (graphite_carried_dependence_level_k): Same.
14215 * graphite-ppl.c (ppl_powerset_is_empty): New.
14216 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
14217 * tree-data-ref.c (dump_data_reference): Print the basic block index.
14218
5168d98f
SP
142192011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14220
14221 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
14222 the "a followed by b" relation and document it.
14223
4a40293a
SP
142242011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14225
14226 * graphite-dependences.c (build_lexicographical_constraint): Stop the
14227 iteration when the bag of constraints is empty.
14228
271fb6fa
SP
142292011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14230
14231 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
14232
92d23680
SP
142332011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14234
14235 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
14236 nest and two loop depths as parameters.
14237 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
14238 lst_perfect_nestify.
14239
2f51deff
SP
142402011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14241
14242 * graphite-dependences.c (print_pddr): Call
14243 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
14244
07f3593c
SP
142452011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14246
14247 * graphite-ppl.c (debug_gmp_value): New.
14248 * graphite-ppl.h (debug_gmp_value): Declared.
14249
3fae6099
TG
142502011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
14251
14252 * doc/install.texi: Document availability of cloog-0.16.
14253
1c3ba85b
SP
142542011-01-25 Vladimir Kargov <kargov@gmail.com>
14255
14256 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
14257 invalid postdominance info.
14258
e8ba94fc
JH
142592011-01-24 Jan Hubicka <jh@suse.cz>
14260
14261 PR c/21659
14262 * doc/extend.texi (weak pragma): Drop claim that it must
14263 appear before definition.
14264 * varasm.c (merge_weak, declare_weak): Only sanity check
14265 that DECL is not output at a time it is declared weak.
14266
2b6e2d13
KZ
142672011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
14268
14269 * machmode.def: Fixed comments.
1c3ba85b 14270
9841210f
KT
142712011-01-24 Kai Tietz <kai.tietz@onevision.com>
14272
14273 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
14274
142752011-01-24 Paul Koning <ni1d@arrl.net>
e046112d
PK
14276
14277 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
1c3ba85b 14278 WORDS_BIG_ENDIAN.
e046112d 14279
a6c5070a
L
142802011-01-24 H.J. Lu <hongjiu.lu@intel.com>
14281
14282 PR target/46519
14283 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
14284 (block_info): Add scanned and prev.
14285 (move_or_delete_vzeroupper_2): Return if the basic block
14286 has been scanned and the upper 128bit state is unchanged
14287 from the last scan.
14288 (move_or_delete_vzeroupper_1): Return true if the exit
14289 state is changed.
14290 (move_or_delete_vzeroupper): Visit basic blocks using the
14291 work-list based algorithm based on vt_find_locations in
14292 var-tracking.c.
14293
14294 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
14295
a40d79d7
NC
142962011-01-24 Nick Clifton <nickc@redhat.com>
14297
14298 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
14299 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
14300 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
14301 then define __v850e1__.
14302 * doc/invoke.texi: Document -mv850es.
14303
440eb8de
RH
143042011-01-24 Richard Henderson <rth@redhat.com>
14305
14306 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
14307 compound unordered comparisons.
14308 * config/rx/rx.c (rx_split_fp_compare): Remove.
14309 * config/rx/rx-protos.h: Update.
14310 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
14311 (cbranchsf4): Don't call rx_split_fp_compare.
14312 (*cbranchsf4): Use rx_split_cbranch.
14313 (*cmpsf): Don't accept "i" constraint.
14314 (*conditional_branch): Only valid after reload.
14315 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
14316
3ff79f99
MM
143172011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
14318
14319 PR target/47385
14320 * config/rs6000/altivec.md (vector constant splitters): Add
14321 support for creating vector single precision constants if -mvsx is
14322 used and we would create the constant using Altivec primitives.
14323
ff3d9d08
BS
143242011-01-23 Bernd Schmidt <bernds@codesourcery.com>
14325 Richard Sandiford <rdsandiford@googlemail.com>
14326
14327 PR rtl-optimization/47166
14328 * reload1.c (emit_reload_insns): Disable the spill_reg_store
14329 mechanism for PRE_MODIFY and POST_MODIFY.
14330 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
14331 reloadreg.
14332
7fcaf152
AS
143332011-01-23 Andreas Schwab <schwab@linux-m68k.org>
14334
8788adb6 14335 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
7fcaf152 14336
d09b58c4
JH
143372011-01-22 Jan Hubicka <jh@suse.cz>
14338
14339 PR lto/47333
14340 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
14341
e8ff8c5a
JH
143422011-01-22 Jan Hubicka <jh@suse.cz>
14343
14344 PR tree-optimization/43884
14345 PR lto/44334
8788adb6 14346 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
e8ff8c5a
JH
14347 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
14348
ccaed3ba
AS
143492011-01-22 Anatoly Sokolov <aesok@post.ru>
14350
14351 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
14352 * config/s390/s390.c (s390_register_move_cost,
14353 s390_memory_move_cost): New.
14354 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
14355
0cecee06
UW
143562011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14357
14358 PR middle-end/47401
14359 * except.c (sjlj_assign_call_site_values): Move setting the
14360 crtl->uses_eh_lsda flag to ...
14361 (sjlj_mark_call_sites): ... here.
14362 (sjlj_emit_function_enter): Support NULL dispatch label.
14363 (sjlj_build_landing_pads): In a function with no landing pads
14364 that still has must-not-throw regions, generate code to register
14365 a personality function with empty LSDA.
14366
e692f276
RH
143672011-01-21 Richard Henderson <rth@redhat.com>
14368
1b7ae0b7
RH
14369 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
14370
3843787f
RH
14371 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
14372
e692f276
RH
14373 * compare-elim.c: New file.
14374 * Makefile.in (OBJS-common): Add it.
14375 (compare-elim.o): New.
14376 * common.opt (fcompare-elim): New.
14377 * opts.c (default_options_table): Add OPT_fcompare_elim.
14378 * tree-pass.h (pass_compare_elim_after_reload): New.
14379 * passes.c (init_optimization_passes): Add it.
14380 * recog.h: Protect against re-inclusion.
14381 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
14382 * doc/invoke.texi (-fcompare-elim): Document it.
14383 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
14384 * doc/tm.texi: Rebuild.
14385
9a7c2050
NC
143862011-01-22 Nick Clifton <nickc@redhat.com>
14387
14388 * config/rx/rx.md (cstoresf4): Pass comparison operator to
14389 rx_split_fp_compare.
14390
15ba5696
NC
143912011-01-22 Nick Clifton <nickc@redhat.com>
14392
14393 * config/rx/rx.md (UNSPEC_CONST): New.
14394 (deallocate_and_return): Wrap the amount popped off the stack in
14395 an UNSPEC_CONST in order to stop it being rejected by
14396 -mmax-constant-size.
14397 (pop_and_return): Add a "(return)" rtx.
14398 (call): Drop the immediate operand.
14399 (call_internal): Likewise.
14400 (call_value): Likewise.
14401 (call_value_internal): Likewise.
14402 (sibcall_internal): Likewise.
14403 (sibcall_value_internal): Likewise.
14404 (sibcall): Likewise. Generate an explicit call using
14405 sibcall_internal.
14406 (sibcall_value): Likewise.
14407 (mov<>): FAIL if a constant operand is not legitimate.
14408 (addsi3_unpsec): New pattern.
9a7c2050 14409
38be4072 14410 * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
15ba5696
NC
14411 (ok_for_max_constant): New function.
14412 (gen_safe_add): New function.
14413 (rx_expand_prologue): Use gen_safe_add.
14414 (rx_expand_epilogue): Likewise.
14415 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
14416 UNSPEC CONSTs.
14417
caaf13d3
JL
144182011-01-21 Jeff Law <law@redhat.com>
14419
14420 PR tree-optimization/47053
14421 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
14422 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
14423 statements are deleted.
14424 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
14425 is nonempty, then purge dead edges and cleanup the CFG.
14426
12c30f2f
AO
144272011-01-21 Alexandre Oliva <aoliva@redhat.com>
14428
14429 PR debug/47402
14430 Temporarily revert:
14431 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
14432 PR debug/47106
14433 * tree-dfa.c (create_var_ann): Mark variable as used.
14434
7360d2ac
JJ
144352011-01-21 Jakub Jelinek <jakub@redhat.com>
14436
aaa52a96
JJ
14437 PR middle-end/45566
14438 * except.c (convert_to_eh_region_ranges): Emit queued no-region
14439 notes from other section in hot/cold partitioning even if
14440 last_action is -3. Increment call_site_base.
14441
7360d2ac
JJ
14442 PR rtl-optimization/47366
14443 * fwprop.c (forward_propagate_into): Return bool. If
14444 any changes are made, -fnon-call-exceptions is used and
14445 REG_EH_REGION note is present, call purge_dead_edges
14446 and return true if it purged anything.
14447 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
14448 any EH edges were purged.
14449
e90b336f
JL
144502011-01-21 Jeff Law <law@redhat.com>
14451
14452 PR rtl-optimization/41619
14453 * caller-save.c (setup_save_areas): Break out code to determine
14454 which hard regs are live across calls by examining the reload chains
14455 so that it is always used.
14456 Eliminate code which checked REG_N_CALLS_CROSSED.
14457
3ffe07e1
JJ
144582011-01-21 Jakub Jelinek <jakub@redhat.com>
14459
14460 PR tree-optimization/47355
14461 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
14462 NOP has non-debug uses beyond PHIs in new_bb.
14463
1c7d0b34
AO
144642011-01-21 Alexandre Oliva <aoliva@redhat.com>
14465
14466 PR debug/47106
14467 * cfgexpand.c (account_used_vars_for_block): Only account vars
14468 that are annotated as used.
14469 (estimated_stack_frame_size): Don't set TREE_USED.
14470 * tree-dfa.c (create_var_ann): Mark variable as used.
14471
f99cc488
RG
144722011-01-21 Richard Guenther <rguenther@suse.de>
14473
14474 PR middle-end/47395
14475 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
14476
3bc27de7
RG
144772011-01-21 Richard Guenther <rguenther@suse.de>
14478
14479 PR tree-optimization/47365
14480 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
14481 (vn_reference_lookup_pieces): Adjust.
14482 (vn_reference_lookup): Likewise.
14483 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
14484 (vn_reference_lookup_3): Only look through kills if in
14485 VN_WALKREWRITE mode.
14486 (vn_reference_lookup_pieces): Adjust.
14487 (vn_reference_lookup): Likewise.
14488 (visit_reference_op_load): Likewise.
14489 (visit_reference_op_store): Likewise.
14490 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
14491 (compute_avail): Likewise.
14492 (eliminate): Likewise.
14493
d8debb1d
JJ
144942011-01-21 Jakub Jelinek <jakub@redhat.com>
14495
14496 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
14497 DECL_IGNORED_P non-reg vars if they are used.
14498
3a2df831
JJ
14499 PR tree-optimization/47391
14500 * varpool.c (const_value_known_p): Return false if
14501 decl is volatile.
14502
1dd584a2
KT
145032011-01-21 Kai Tietz <kai.tietz@onevision.com>
14504
14505 PR bootstrap/47215
14506 * config/i386/i386.c (ix86_local_alignment): Handle
14507 case for va_list_type_node is nil.
14508 (ix86_canonical_va_list_type): Likewise.
14509
7f9f095e
AM
145102011-01-21 Alan Modra <amodra@gmail.com>
14511
14512 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
14513 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
14514
837b01f6
RR
145152011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14516
14517 * config/arm/arm.md (define_attr type): Rename f_load
14518 and f_store to f_fpa_load and f_fpa_store. Update.
14519 (write_conflict): Deal with rename fallout.
14520 (*push_fp_multi): Likewise.
14521 * config/arm/fpa.md (f_load): Use f_fpa_load.
14522 (f_store): Use f_fpa_store.
14523 (*movsf_fpa): Likewise.
14524 (*movdf_fpa): Likewise.
14525 (*movxf_fpa): Likewise.
14526 (*thumb2_movsf_fpa): Likewise.
14527 (*thumb2_movdf_fpa): Likewise.
14528 (*thumb2_movxf_fpa): Likewise.
14529 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
14530 f_loadd and f_stored.
14531 (*thumb2_movdi_vfp): Likewise.
14532 (*thumb2_movsf_vfp): Fix attribute to f_loads.
14533 (*thumb2_movsi_vfp): Likewise.
14534 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
14535 Use f_loads instead of f_load.
14536 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
14537
a1a79768
AS
145382011-01-20 Anatoly Sokolov <aesok@post.ru>
14539
14540 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
14541 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
14542 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
14543 (xtensa_mode_dependent_address_p): New function.
14544 (constantpool_address_p): Make static. Change return type to bool.
14545 Change argument type to const_rtx. Use CONST_INT_P predicate.
14546
427f6cec
AO
145472011-01-20 Alexandre Oliva <aoliva@redhat.com>
14548
14549 PR debug/46583
14550 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
14551
583ac69c
JJ
145522011-01-20 Jakub Jelinek <jakub@redhat.com>
14553
14554 PR debug/47283
14555 * cfgexpand.c (expand_debug_expr): Instead of generating
14556 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
14557 etc. handling.
14558
93e452ed
RG
145592011-01-20 Richard Guenther <rguenther@suse.de>
14560
14561 PR middle-end/47370
14562 * tree-inline.c (remap_gimple_op_r): Recurse manually for
14563 the pointer operand of MEM_REFs.
14564
28fc44f3
JJ
145652011-01-20 Jakub Jelinek <jakub@redhat.com>
14566
14567 PR tree-optimization/46130
14568 * ipa-split.c (consider_split): If return_bb contains non-virtual
14569 PHIs other than for retval or if split_function would not adjust it,
14570 refuse to split.
14571
ddd268f2
RG
145722011-01-20 Richard Guenther <rguenther@suse.de>
14573
14574 PR tree-optimization/47167
14575 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
14576 Revert previous change, only avoid enumeral type changes.
14577
882020aa
MS
145782011-01-19 Mike Stump <mikestump@comcast.net>
14579
14580 * doc/tm.texi.in (BRANCH_COST): Englishify.
14581 * doc/tm.texi (BRANCH_COST): Likewise.
14582
7edb6247
DS
145832011-01-19 Dodji Seketeli <dodji@redhat.com>
14584
14585 PR c++/47291
14586 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
61052244
AM
14587 (gen_scheduled_generic_parms_dies): New functions.
14588 (gen_struct_or_union_type_die): Schedule template parameters DIEs
14589 generation for the end of CU compilation.
14590 (dwarf2out_finish): Generate template parameters DIEs here.
7edb6247 14591
23d5ed5d
AO
145922011-01-19 Alexandre Oliva <aoliva@redhat.com>
14593
14594 PR debug/46240
14595 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
14596 debug bind stmt on merge edges.
14597
37d6a488
AO
145982011-01-19 Alexandre Oliva <aoliva@redhat.com>
14599
14600 PR debug/47079
14601 PR debug/46724
14602 * function.c (instantiate_expr): Instantiate incoming rtl of
14603 implicit arguments, and recurse on VALUE_EXPRs.
14604 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
14605 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
14606
689f2c82
AO
146072011-01-19 Alexandre Oliva <aoliva@redhat.com>
14608
14609 * c-parser.c (c_parser_for_statement): Initialize
14610 collection_expression.
14611
03029de4
JM
146122011-01-19 Joseph Myers <joseph@codesourcery.com>
14613
14614 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
14615
3e03217e
JM
146162011-01-19 Joseph Myers <joseph@codesourcery.com>
14617
14618 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
14619 (LINK_SHLIB_SPEC): Don't use %(link_path).
14620 (SUBTARGET_EXTRA_SPECS): Remove link_path.
14621
5bbe9b3f
JM
146222011-01-19 Joseph Myers <joseph@codesourcery.com>
14623
14624 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
14625 (NO_SHARED_LIB_SUPPORT): Remove.
14626 (LINK_SHLIB_SPEC): Remove one conditional definition.
14627
368e0b39
JM
146282011-01-19 Joseph Myers <joseph@codesourcery.com>
14629
14630 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
14631 %{call_shared}.
14632 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
14633 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
14634 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
14635 %{call_shared} and conditionals on these options not being passed.
14636 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
14637 %{call_shared}.
14638
ed7656f6
JJ
146392011-01-19 Jakub Jelinek <jakub@redhat.com>
14640
68457901
JJ
14641 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
14642 simplify.
14643
ed7656f6
JJ
14644 * ipa-split.c: Spelling fixes.
14645
e0d1958f
RH
146462011-01-19 Richard Henderson <rth@redhat.com>
14647
14648 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
14649 (*mulsi3): Likewise.
14650
27098b6b
RH
14651 * longlong.h [__mn10300__] (count_leading_zeros): New.
14652 [__mn10300__] (umul_ppmm, smul_ppmm): New.
14653 [__mn10300__] (add_ssaaaa, subddmmss): New.
14654 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
14655 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
14656
d6be7c36
UW
146572011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14658
14659 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
14660
b1efde2a
RH
146612011-01-19 Richard Henderson <rth@redhat.com>
14662
44217823
RH
14663 * config/mn10300/mn10300.md (addsi3_flags): New.
14664 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
14665 (subsi3_flags, subc_internal, subdi3): New.
14666 (subdi3_internal, *subdi3_degenerate): New.
14667 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
14668
37a185d7
RH
14669 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
14670 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
14671 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
14672 * config/mn10300/mn10300-protos.h: Update.
14673 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
14674 (return_ret): Likewise. Rename from return_internal_regs.
14675 (return_internal): Remove.
14676
040c5757
RH
14677 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
14678 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
14679 (mn10300_legitimate_constant_p): Likewise.
14680 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
14681 (mn10300_frame_size): New.
14682 (mn10300_expand_prologue): Use it.
14683 (mn10300_expand_epilogue): Likewise.
14684 (mn10300_initial_offset): Likewise.
14685 * config/mn10300/mn10300-protos.h: Update.
14686 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
14687 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
14688 (prologue, epilogue, return_internal): Tidy output code.
14689 (mn10300_store_multiple_operation, return): Likewise.
14690 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
14691 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
14692 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
14693 (load_pic, am33_load_pic): New.
14694 (mn10300_load_pic0, mn10300_load_pic1): New.
14695
bad41521
RH
14696 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
14697 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
14698 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
14699 (cc_flags_for_mode, cc_flags_for_code): New.
14700 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
14701 overflow flag is not valid. Validate that the flags we need
14702 for the comparison are valid.
14703 (mn10300_output_cmp): Remove.
14704 (mn10300_output_add): New.
14705 (mn10300_select_cc_mode): Use cc_flags_for_code.
14706 (mn10300_split_cbranch): New.
14707 (mn10300_match_ccmode): New.
14708 (mn10300_split_and_operand_count): New.
14709 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
14710 to the function.
14711 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
14712 (addsi3): ... here. Use mn10300_output_add.
14713 (*addsi3_flags): New.
14714 (*am33_subsi3, *mn10300_subsi3): Merge...
14715 (subsi3): ... here. Use attribute isa.
14716 (*subsi3_flags): New.
14717 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
14718 when possible.
14719 (*am33_andsi3, *mn10300_andsi3): Merge...
14720 (andsi3): ... here.
14721 (*andsi3_flags): New.
14722 (andsi3 splitters): New.
14723 (*am33_iorsi3, *mn10300_iorsi3): Merge...
14724 (iorsi3): ... here.
14725 (*iorsi3_flags): New.
14726 (*am33_xorsi3, *mn10300_xorsi3): Merge...
14727 (xorsi3): ... here.
14728 (*xorsi3_flags): New.
14729 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
14730 (one_cmplsi2): ... here.
14731 (*one_cmplsi2_flags): New.
14732 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
14733 instead of "dax" in constraints. Use mn10300_split_cbranch.
14734 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
14735 use matching constraints to eliminate a self-comparison.
14736 (*integer_conditional_branch): Rename from integer_conditional_branch.
14737 Use int_mode_flags to match CC_REG.
14738 (*cbranchsi4_btst, *btstsi): New.
14739 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
14740 mn10300_split_cbranch.
14741 (*am33_cmpsf): Rename from am33_cmpsf.
14742 (*float_conditional_branch): Rename from float_conditional_branch.
14743 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
14744 (zero_extendqisi2): ... here.
14745 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
14746 (zero_extendhisi2): ... here.
14747 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
14748 (extendqisi2): ... here.
14749 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
14750 (extendhisi2): ... here.
14751 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
14752 (ashlsi3): ... here.
14753 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
14754 (lshrsi3): ... here.
14755 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
14756 (ashrsi3): ... here.
14757 (consecutive add peephole): Remove.
14758 * config/mn10300/predicates.md (label_ref_operand): New.
14759 (int_mode_flags): New.
14760 (CCZN_comparison_operator): New.
14761
9efb4993
RH
14762 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
14763 (throughput_42_latency_43): New reservation.
14764 (mulsidi3, umulsidi3): New expanders.
14765 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
14766 the MDR register to allocation; separately allocate the low and
14767 high parts of the DImode result.
14768 (umulsidi3_internal): Similarly.
14769 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
14770 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
14771 (udivsi3, umodsi3): Remove.
14772 (udivmodsi4, divmodsi4): New expanders.
14773 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
14774 (*divmodsi4): Simiarly.
14775 (ext_internal): New.
14776
c25a21f5
RH
14777 * config/mn10300/constraints.md ("z"): New constraint.
14778 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
14779 (FIXED_REGISTERS): Don't fix MDR.
14780 (CALL_USED_REGSITERS): Reformat nicely.
14781 (REG_ALLOC_ORDER): Add MDR.
14782 (enum regclass): Add MDR_REGS.
14783 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
14784 (IRA_COVER_CLASSES): Add MDR_REGS.
14785 (REGNO_REG_CLASS): Handle MDR_REG.
14786 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
14787 (mn10300_register_move_cost): Likewise.
14788 * config/mn10300/mn10300.md (MDR_REG): New.
14789 (*movsi_internal): Handle moves to/from MDR_REGS.
14790
36846b26
RH
14791 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
14792 POST_MODIFY.
14793 (mn10300_secondary_reload): Tidy combination reload classes.
14794 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
14795 addresses for AM33. Allow symbolic offsets for reg+imm.
14796 (mn10300_regno_in_class_p): New.
14797 (mn10300_legitimize_reload_address): New.
14798 * config/mn10300/mn10300.h (enum reg_class): Remove
14799 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
14800 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
14801 SP_OR_GENERAL_REGS.
14802 (REG_CLASS_NAMES): Update to match.
14803 (REG_CLASS_CONTENTS): Likewise.
14804 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
14805 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
14806 (REGNO_IN_RANGE_P): Remove.
14807 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
14808 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
14809 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
14810 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
14811 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
14812 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
14813 (REGNO_GENERAL_P): New.
14814 (HAVE_POST_MODIFY_DISP): New.
14815 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
14816 (LEGITIMIZE_RELOAD_ADDRESS): New.
14817 * config/mn10300/mn10300-protos.h: Update.
14818
8b119bb6
RH
14819 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
14820 DATA_REGS for AM33 stack-pointer destination.
14821 (mn10300_preferred_output_reload_class): Likewise.
14822 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
14823 into a form appropriate for ...
14824 (TARGET_SECONDARY_RELOAD): New.
14825 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
14826 * config/mn10300/mn10300-protos.h: Update.
14827 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
14828 reload_insi; use the "A" constraint for the scratch; handle AM33
14829 moves of sp to non-address registers.
14830
b1efde2a
RH
14831 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
14832 (*movqi_internal): ... here.
14833 (*am33_movhi, *mn10300_movhi): Merge into...
14834 (*movhi_internal): ... here.
14835 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
14836 as the source/destination of moves from/to SP.
14837 (movsf): Only allow for AM33-2.
1c3ba85b 14838 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
b1efde2a
RH
14839 any integer constant constraint. Only allow for AM33-2. Tidy
14840 all of the alternative outputs.
14841 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
14842 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
14843 for MN103.
14844 (udivsi3, umodsi3): New patterns for MN103 only.
14845
b899fd78
JR
148462011-01-19 Joern Rennecke <amylaar@spamcop.net>
14847
14848 * doc/tm.texi.in: Spell out that a lack of register class unions
14849 can lead to ICEs.
14850 * doc/tm.texi: Regenerate.
14851
afaaa67d
JJ
148522011-01-19 Jakub Jelinek <jakub@redhat.com>
14853
2e0642cd
JJ
14854 PR rtl-optimization/47337
14855 * dce.c (check_argument_store): New function.
14856 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
14857
afaaa67d
JJ
14858 PR tree-optimization/47290
14859 * tree-eh.c (infinite_empty_loop_p): New function.
14860 (cleanup_empty_eh): Use it.
14861
d2cd871f
SE
148622011-01-18 Steve Ellcey <sje@cup.hp.com>
14863
14864 PR target/46997
14865 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
14866 (a64_expand_widen_sum): Ditto.
14867 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
14868 (vec_extract_evenodd_help): Ditto.
14869 (vec_extract_evenv4hi): Ditto.
14870 (vec_extract_oddv4hi): Ditto.
14871 (vec_extract_evenv2si): Ditto.
14872 (vec_extract_oddv2si): Ditto.
14873 (vec_extract_evenv2sf): Ditto.
14874 (vec_extract_oddv2sf): Ditto.
14875 (vec_pack_trunc_v4hi: Ditto.
14876 (vec_pack_trunc_v2si): Ditto.
14877 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
14878 (vec_interleave_highv8qi): Ditto.
14879 (mix1_r): Ditto.
14880 (vec_extract_oddv8qi): Ditto.
14881 (vec_interleave_lowv4hi): Ditto.
14882 (vec_interleave_highv4hi): Ditto.
14883 (vec_interleave_lowv2si): Ditto.
14884 (vec_interleave_highv2si): Ditto.
14885
41a1208a
JDA
148862011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14887
14888 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
14889 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
14890 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
14891 (pa_c_mode_for_suffix): New.
14892 (TARGET_EXPAND_BUILTIN): Define.
14893 (TARGET_C_MODE_FOR_SUFFIX): Define.
14894 (pa_builtins): Define.
14895 (pa_init_builtins): Register __float128 type and init new support
14896 builtins.
14897 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
14898 * config/pa/quadlib.c (_U_Qfcopysign): New.
14899
1ecad98e
EB
149002011-01-18 Eric Botcazou <ebotcazou@adacore.com>
14901
14902 PR middle-end/46894
14903 * explow.c (allocate_dynamic_stack_space): Do not assume more than
14904 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
14905 are defined.
14906
d4f2460a
UW
149072011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14908
14909 PR tree-optimization/47179
14910 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
14911 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
14912
4994da65
RG
149132011-01-18 Richard Guenther <rguenther@suse.de>
14914
14915 PR rtl-optimization/47216
14916 * emit-rtl.c: Include tree-flow.h.
14917 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
14918 of replicating it with different semantics.
14919 * Makefile.in (emit-rtl.o): Adjust.
14920
1eb458d1
RR
149212011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14922
38be4072 14923 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
61052244 14924 (cortex_a9_dp): Handle neon types correctly.
1eb458d1 14925
e7ef91dc
JJ
149262011-01-18 Jakub Jelinek <jakub@redhat.com>
14927
14928 PR rtl-optimization/47299
14929 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
38be4072 14930 subtarget. Use normal multiplication if both operands are constants.
e7ef91dc
JJ
14931 * expmed.c (expand_widening_mult): Don't try to optimize constant
14932 multiplication if op0 has VOIDmode. Convert op1 constant to mode
14933 before using it.
14934
535b7874
RW
149352011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14936
14937 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
14938 spacing after 'e.g.', typos, comma, hyphenation.
14939
27bf36f3
RH
149402011-01-17 Richard Henderson <rth@redhat.com>
14941
8a5b5449
RH
14942 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
14943 (rx_restricted_mem_operand): New.
14944 (rx_shift_operand): Use register_operand.
14945 (rx_source_operand, rx_compare_operand): Likewise.
14946 * config/rx/rx.md (addsi3_flags): New expander.
14947 (adddi3): Rewrite as expander.
14948 (adc_internal, *adc_flags, adddi3_internal): New patterns.
14949 (subsi3_flags): New expander.
14950 (subdi3): Rewrite as expander.
14951 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
14952
784f69be
RH
14953 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
14954 (rx_init_builtins): Remove sat builtin.
14955 (rx_expand_builtin): Likewise.
14956 * config/rx/rx.md (ssaddsi3): New.
14957 (*sat): Rename from sat. Represent the CC_REG input.
14958
f033541c
RH
14959 * config/rx/predicates.md (rshift_operator): New.
14960 * config/rx/rx.c (rx_expand_insv): Remove.
14961 * config/rx/rx-protos.h: Update.
14962 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
14963 operand to the canonical position.
14964 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
14965 (*bitclr, *bitclr_in_memory): Similarly.
14966 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
14967 (insv): Retain the zero_extract in the expansion.
14968
34fee389
RH
14969 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
14970 (bswaphi2, bitinvert, revw): Likewise.
14971
265c835f
RH
14972 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
14973 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
14974 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
14975 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
14976 (bitset, bitset_in_memory): Likewise.
14977 (bitinvert, bitinvert_in_memory): Likewise.
14978 (bitclr, bitclr_in_memory): Likewise.
14979 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
14980 (rx_strend, rx_cmpstrn): Likewise.
14981 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
14982 (bitop peep2 patterns): Remove.
14983
b4d83be3
RH
14984 * config/rx/rx.c (rx_match_ccmode): New.
14985 * config/rx/rx-protos.h: Update.
14986 * config/rx/rx.md (abssi2): Clobber, don't set flags.
14987 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
14988 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
14989 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
14990 (fix_truncsfsi2, floatsisf2): Likewise.
14991 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
14992 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
14993 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
14994 (*subsi3_flags, *xorsi3_flags): New.
14995
d0acb939
RH
14996 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
14997
c06fc3d9
RH
14998 * config/rx/rx.c (rx_print_operand): Remove workaround for
14999 unsplit comparison operations.
15000
2882702b
RH
15001 * config/rx/rx.md (movsicc): Split after reload.
15002 (*movsicc): Merge *movsieq and *movsine via match_operator.
15003 (*stcc): New pattern.
15004
6f7310f2
RH
15005 * config/rx/rx.c (rx_float_compare_mode): Remove.
15006 * config/rx/rx.h (rx_float_compare_mode): Remove.
15007 * config/rx/rx.md (cstoresi4): Split after reload.
15008 (*sccc): New pattern.
15009
e963cb1a
RH
15010 * config/rx/predicates.md (label_ref_operand): New.
15011 (rx_z_comparison_operator): New.
15012 (rx_zs_comparison_operator): New.
15013 (rx_fp_comparison_operator): New.
15014 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
15015 Validate that the flags are set properly for the comparison.
15016 (rx_gen_cond_branch_template): Remove.
15017 (rx_cc_modes_compatible): Remove.
15018 (mode_from_flags): New.
15019 (flags_from_code): Rename from flags_needed_for_conditional.
15020 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
15021 (rx_select_cc_mode): Likewise.
15022 (rx_split_fp_compare): New.
15023 (rx_split_cbranch): New.
15024 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
15025 (*cbranchsi4): Use match_operator and rx_split_cbranch.
15026 (*cbranchsf4): Similarly.
15027 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
15028 match_operator and rx_split_cbranch.
15029 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
15030 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
15031 (*cmpsi): Rename from cmpsi.
15032 (*tstsi): Rename from tstsi.
15033 (*cmpsf): Rename from cmpsf; use CC_Fmode.
15034 (*conditional_branch): Rename from conditional_branch.
15035 (*reveresed_conditional_branch): Remove.
15036 (b<code>): Remove expander.
15037 * config/rx/rx-protos.h: Update.
15038
af530bb4
RH
15039 * config/rx/rx.c (rx_compare_redundant): Remove.
15040 * config/rx/rx.md (cmpsi): Don't use it.
15041 * config/rx/rx-protos.h: Update.
15042
27bf36f3
RH
15043 * config/rx/rx-modes.def (CC_F): New mode.
15044 * config/rx/rx.c (rx_select_cc_mode): New.
15045 * config/rx/rx.h (SELECT_CC_MODE): Use it.
15046 * config/rx/rx-protos.h: Update.
15047
d7fde127
RH
150482011-01-17 Richard Henderson <rth@redhat.com>
15049
15050 * except.c (dump_eh_tree): Fix stray ; after for statement.
15051
6ff38230
RG
150522011-01-17 Richard Guenther <rguenther@suse.de>
15053
15054 PR tree-optimization/47313
15055 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
15056 handling before copying the body. Properly deal with
15057 by-reference result in SSA form.
15058
114ce554
ILT
150592011-01-17 Ian Lance Taylor <iant@google.com>
15060
bf5cd92b 15061 PR target/47219
114ce554
ILT
15062 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
15063 (struct_value_alias_set): Don't define.
15064 (sparc_option_override): Don't set sparc_sr_alias_set and
15065 struct_value_alias_set.
15066 (save_or_restore_regs): Use gen_frame_mem rather than calling
15067 set_mem_alias_set.
15068 (sparc_struct_value_rtx): Likewise.
15069
98c6d93c
L
150702011-01-17 H.J. Lu <hongjiu.lu@intel.com>
15071
15072 PR target/47318
7a81008b 15073 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to __m128i.
98c6d93c
L
15074 (_mm_maskstore_pd): Likewise.
15075 (_mm_maskload_ps): Likewise.
15076 (_mm_maskstore_ps): Likewise.
15077 (_mm256_maskload_pd): Change mask to __m256i.
15078 (_mm256_maskstore_pd): Likewise.
15079 (_mm256_maskload_ps): Likewise.
15080 (_mm256_maskstore_ps): Likewise.
15081
15082 * config/i386/i386-builtin-types.def: Updated.
15083 (ix86_expand_special_args_builtin): Likewise.
15084
15085 * config/i386/i386.c (bdesc_special_args): Update
15086 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
15087 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
15088 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
15089 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
15090
15091 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
15092 Use <avxpermvecmode> on mask register.
15093 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
15094
b9361af2 150952011-01-17 Olivier Hainque <hainque@adacore.com>
61052244
AM
15096 Michael Haubenwallner <michael.haubenwallner@salomon.at>
15097 Eric Botcazou <ebotcazou@adacore.com>
b9361af2
OH
15098
15099 PR target/46655
15100 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
15101 if <= USHRT_MAX in 32-bit mode.
15102
b7ae9eb5
RW
151032011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15104
15105 * doc/install.texi (Configuration, Specific): Wrap long
15106 lines in examples. Allow line wrapping in long options
15107 and URLs where beneficial for PDF output.
15108
4377fad9
RS
151092011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
15110
15111 * config/mips/mips.c (mips_classify_symbol): Don't return
15112 SYMBOL_PC_RELATIVE for nonlocal labels.
15113
55959ffa 151142011-01-15 Eric Botcazou <ebotcazou@adacore.com>
be46831f 15115
55959ffa
EB
15116 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
15117
151182011-01-15 Jan Hubicka <jh@suse.cz>
15119
15120 PR tree-optimization/47276
be46831f
JH
15121 * ipa.c (function_and_variable_visibility): Do not try to mark alias
15122 declarations as needed.
15123
05842ff5
MJ
151242011-01-15 Martin Jambor <mjambor@suse.cz>
15125
15126 * common.opt (fdevirtualize): New flag.
15127 * doc/invoke.texi (Option Summary): Document it.
15128 * opts.c (default_options_table): Add devirtualize flag.
15129 * ipa-prop.c (detect_type_change): Return immediately if
15130 devirtualize flag is not set.
15131 (detect_type_change_ssa): Likewise.
15132 (compute_known_type_jump_func): Likewise.
15133 (ipa_analyze_virtual_call_uses): Likewise.
15134
f65cf2b7
MJ
151352011-01-14 Martin Jambor <mjambor@suse.cz>
15136
15137 PR tree-optimization/45934
15138 PR tree-optimization/46302
15139 * ipa-prop.c (type_change_info): New type.
15140 (stmt_may_be_vtbl_ptr_store): New function.
15141 (check_stmt_for_type_change): Likewise.
15142 (detect_type_change): Likewise.
15143 (detect_type_change_ssa): Likewise.
15144 (compute_complex_assign_jump_func): Check for dynamic type change.
15145 (compute_complex_ancestor_jump_func): Likewise.
15146 (compute_known_type_jump_func): Likewise.
15147 (compute_scalar_jump_functions): Likewise.
15148 (ipa_analyze_virtual_call_uses): Likewise.
15149 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
15150
eb5bb0fd
JM
151512011-01-14 Joseph Myers <joseph@codesourcery.com>
15152
15153 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
15154 * config/i386/i386.opt (msse5): New Alias.
15155
f2060fbe
JM
151562011-01-14 Joseph Myers <joseph@codesourcery.com>
15157
15158 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
15159 * config/sparc/linux64.h (CC1_SPEC): Likewise.
15160 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
15161 * config/sparc/sparc.h (CC1_SPEC): Likewise.
15162
3a7b4385
JM
151632011-01-14 Joseph Myers <joseph@codesourcery.com>
15164
15165 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
15166 -mcpu options.
15167 * config/sparc/linux64.h (CC1_SPEC): Likewise.
15168 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
15169 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
15170 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
15171 Likewise.
15172 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
15173
a7b778f8
JM
151742011-01-14 Joseph Myers <joseph@codesourcery.com>
15175
38be4072 15176 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
a7b778f8 15177
a7edae0a
MS
151782011-01-14 Mike Stump <mikestump@comcast.net>
15179
15180 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
15181 * config/fr30/fr30.md: Likweise
15182 (movsi_push): Likewise.
15183 (movsi_pop): Likewise.
15184 (enter_func): Likewise.
15185 * config/moxie/moxie.md (movsi_push): Likewise.
15186 (movsi_pop): Likewise.
15187
cbabf03f
JM
151882011-01-14 Joseph Myers <joseph@codesourcery.com>
15189
15190 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
15191 %{no_archive} %{exact_version}.
15192 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
15193 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
15194 %{no_archive} %{exact_version}.
15195 * config/mips/openbsd.h (LINK_SPEC): Likewise.
15196 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
15197 * config/mips/vxworks.h: Likewise.
15198
438da41a
JM
151992011-01-14 Joseph Myers <joseph@codesourcery.com>
15200
38be4072 15201 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
438da41a 15202
da290a42
JM
152032011-01-14 Joseph Myers <joseph@codesourcery.com>
15204
15205 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
15206 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
15207
8989d00e
JM
152082011-01-14 Joseph Myers <joseph@codesourcery.com>
15209
15210 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
15211 -nodefaultlib.
15212
a3010a69
JM
152132011-01-14 Joseph Myers <joseph@codesourcery.com>
15214
15215 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
15216 for mcpu not cpu.
15217 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
15218 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
15219 not cpu.
15220 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
15221 Don't handle -shlib.
15222
e7f2f537
JM
152232011-01-14 Joseph Myers <joseph@codesourcery.com>
15224
15225 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
15226 (CC1_SPEC): Don't handle -profile.
15227
34830bfd
JM
152282011-01-14 Joseph Myers <joseph@codesourcery.com>
15229
15230 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
15231 * config/mips/mips.h (CC1_SPEC): Likewise.
15232
b2d36e74
JM
152332011-01-14 Joseph Myers <joseph@codesourcery.com>
15234
15235 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
15236 * config/mips/mips.h (CC1_SPEC): Likewise.
15237
dabadc52
JM
152382011-01-14 Joseph Myers <joseph@codesourcery.com>
15239
15240 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
15241 * config/m32r/linux.h (LINK_SPEC): Likewise.
15242 * config/mips/linux.h (LINK_SPEC): Likewise.
15243 * config/mips/linux64.h (LINK_SPEC): Likewise.
15244 * config/sparc/linux.h (LINK_SPEC): Likewise.
15245 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
15246 LINK_SPEC): Likewise.
15247 * config/xtensa/linux.h (LINK_SPEC): Likewise.
15248
43ee6785
JM
152492011-01-14 Joseph Myers <joseph@codesourcery.com>
15250
15251 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
15252 %{version:-v}.
15253 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
15254
45e79dfd
JM
152552011-01-14 Joseph Myers <joseph@codesourcery.com>
15256
15257 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
15258 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
15259
37e9e71d
JM
152602011-01-14 Joseph Myers <joseph@codesourcery.com>
15261
15262 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
15263
bb127cd8
RO
152642011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15265
15266 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
15267 supports -Bstatic/-Bdynamic.
15268 * configure: Regenerate.
15269
89a012ea 152702011-01-14 Jan Hubicka <jh@suse.cz>
509d65dd 15271 Jack Howarth <howarth@bromo.med.uc.edu>
89a012ea
JH
15272
15273 PR target/46037
15274 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
15275 when checking debug_info_level. Test write_symbols instead of
15276 debug_hooks->var_location when setting flag_var_tracking_uninit.
15277
7352c013
RG
152782011-01-14 Richard Guenther <rguenther@suse.de>
15279
15280 PR tree-optimization/47179
15281 * target.def (ref_may_alias_errno): New target hook.
15282 * targhooks.h (default_ref_may_alias_errno): Declare.
15283 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
15284 (default_ref_may_alias_errno): New function.
15285 * target.h (struct ao_ref_s): Declare.
15286 * tree-ssa-alias.c: Include target.h.
15287 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
15288 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
15289 (targhooks.o): Likewise.
15290 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
15291 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
15292
9a6c9288
RG
152932011-01-14 Richard Guenther <rguenther@suse.de>
15294
15295 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
15296
0fdb0d27
RG
152972011-01-14 Richard Guenther <rguenther@suse.de>
15298
15299 PR tree-optimization/47280
15300 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
15301 return CFG changes.
15302 (tree_ssa_forward_propagate_single_use_vars): Deal with
15303 CFG changes from associate_plusminus.
15304
8f66db3b
RG
153052011-01-14 Richard Guenther <rguenther@suse.de>
15306
15307 PR middle-end/47281
15308 Revert
15309 2011-01-11 Richard Guenther <rguenther@suse.de>
15310
280d9630
EB
15311 PR tree-optimization/46076
15312 * tree-ssa.c (useless_type_conversion_p): Conversions from
15313 unprototyped to empty argument list function types are useless.
8f66db3b 15314
6c0c92e6
RG
153152011-01-14 Richard Guenther <rguenther@suse.de>
15316
15317 PR tree-optimization/47286
280d9630 15318 * tree-ssa-structalias.c (new_var_info): Register variables are global.
6c0c92e6 15319
db09f943
MJ
153202011-01-14 Martin Jambor <mjambor@suse.cz>
15321
15322 PR middle-end/46823
15323 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
15324
dde8a3a4
AS
153252011-01-13 Anatoly Sokolov <aesok@post.ru>
15326
15327 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
15328 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
15329 * config/xtensa/xtensa.c (xtensa_libcall_value,
15330 xtensa_function_value_regno_p): New functions.
15331 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
15332
a2b63a20
KT
153332011-01-13 Kai Tietz <kai.tietz@onevision.com>
15334
15335 PR c++/47213
15336 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
15337 PE specific hook.
15338 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
15339 New function prototype.
15340 * config/i386/winnt.c (i386_pe_assemble_visibility):
15341 Warn only if attribute was specified by user.
15342
b41f0b34
MM
153432011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
15344
15345 PR target/47251
15346 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
15347 floating point.
15348 (floatunsdidf2_fcfidu): Ditto.
15349
3f3c098d
AK
153502011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
15351
15352 * config/s390/s390.c (print_operand_address): Replace 'error' with
15353 'output_operand_lossage'.
15354 (print_operand): Likewise.
15355
29fa95ed
JL
153562011-01-13 Jeff Law <law@redhat.com>
15357
280d9630 15358 PR rtl-optimization/39077
29fa95ed
JL
15359 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
15360 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
15361 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
15362 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
15363 * gcse.c (prune_insertions_deletions): New function.
15364 (compute_pre_data): Use it.
15365
71d12276
DS
153662011-01-13 Dodji Seketeli <dodji@redhat.com>
15367
15368 PR debug/PR46973
15369 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
15370 static function.
61052244 15371 (prune_unused_types_mark): Use it.
71d12276 15372
9b0f04e7
AB
153732011-01-13 Andrey Belevantsev <abel@ispras.ru>
15374
15375 PR rtl-optimization/45352
1c3ba85b 15376 * sel-sched.c: Update copyright years.
9b0f04e7 15377 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1c3ba85b 15378 in the advancing loop when we have issued issue_rate insns.
9b0f04e7 15379
d6a3e264
RH
153802011-01-12 Richard Henderson <rth@redhat.com>
15381
a49b692a
RH
15382 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
15383 (TARGET_MD_ASM_CLOBBERS): New.
15384
126b1483
RH
15385 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
15386 (TARGET_DELEGITIMIZE_ADDRESS): New.
15387
f3d9d2e0
RH
15388 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
15389 (clzsi2, *bsch): New patterns.
15390
d84760c9
RH
15391 * config/mn10300/mn10300.md (INT): New mode iterator.
15392 (*mov<INT>_clr): New pattern, and peep2 to generate it.
15393
ec815d65
RH
15394 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
15395 flag_split_wide_types.
15396
d6a3e264
RH
15397 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
15398 (mn10300_trampoline_init): Rewrite without a template, an immediate
15399 load and a direct branch.
15400 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
15401
0f8ab434
AS
154022011-01-12 Anatoly Sokolov <aesok@post.ru>
15403
15404 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
15405 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
15406 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
15407 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
15408
d8a24b65
KT
154092011-01-12 Kai Tietz <kai.tietz@onevision.com>
15410
15411 PR debug/47209
15412 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
15413 of type.
15414
56e22cab
JH
154152011-01-12 Jan Hubicka <jh@suse.cz>
15416
15417 PR driver/47244
15418 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
15419 (PLUGIN_COND_CLOSE): New macro.
15420 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
15421
4b18b3c2
RG
154222011-01-12 Richard Guenther <rguenther@suse.de>
15423
15424 PR lto/47259
15425 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
15426 register variables in a MEM_REF.
15427
8e38461c
JM
154282011-01-12 Joseph Myers <joseph@codesourcery.com>
15429
15430 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
15431 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
15432 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
15433 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
15434 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
15435 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
15436 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
15437 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
15438 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
15439 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
15440 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
15441 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
15442 * config/gnu-user.h: New. Copied from linux.h.
15443 (LINUX_TARGET_STARTFILE_SPEC): Rename to
15444 GNU_USER_TARGET_STARTFILE_SPEC.
15445 (LINUX_TARGET_ENDFILE_SPEC): Rename to
15446 GNU_USER_TARGET_ENDFILE_SPEC.
15447 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
15448 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
15449 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
15450 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
15451 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
15452 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
15453 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
15454 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
15455 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
15456 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
15457 * config/arm/linux-eabi.h (CC1_SPEC): Use
15458 GNU_USER_TARGET_CC1_SPEC.
15459 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
15460 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
15461 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
15462 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
15463 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
15464 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
15465 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
15466 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
15467
a570fc16
RG
154682011-01-12 Richard Guenther <rguenther@suse.de>
15469
15470 PR other/46946
15471 * doc/invoke.texi (ffast-math): Document it is turned on
15472 with -Ofast.
15473
b0223c3e
JH
154742011-01-12 Jan Hubicka <jh@suse.cz>
15475
15476 PR tree-optimization/47233
ca1e00b3
EB
15477 * opts.c (common_handle_option): Disable ipa-reference with profile
15478 feedback.
b0223c3e 15479
1c3ba85b 154802011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
d853ee42
NP
15481
15482 * c-parser.c (c_parser_objc_at_property_declaration): Improved
ca1e00b3
EB
15483 error message.
15484
d853ee42
NP
154852011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
15486
15487 * c-parser.c (c_lex_one_token): Updated and reindented some
15488 comments. No changes in code.
15489
4053a5a0
ILT
154902011-01-11 Ian Lance Taylor <iant@google.com>
15491
15492 * godump.c (go_output_var): Don't output the variable if there is
15493 already a type with the same name.
15494
fa3e04d2
ILT
154952011-01-11 Ian Lance Taylor <iant@google.com>
15496
15497 * godump.c (go_format_type): Don't generate float80.
15498
885fe07c
RH
154992011-01-11 Richard Henderson <rth@redhat.com>
15500
72d6e3c5
RH
15501 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
15502 declaration. Rewrite for both speed and size.
15503 (mn10300_address_cost_1): Remove.
15504 (mn10300_register_move_cost): New.
15505 (mn10300_memory_move_cost): New.
15506 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
15507 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
15508 extensions, shifts, BSWAP, CLZ.
15509 (mn10300_wide_const_load_uses_clr): Remove.
15510 (TARGET_REGISTER_MOVE_COST): New.
15511 (TARGET_MEMORY_MOVE_COST): New.
15512 * config/mn10300/mn10300-protos.h: Update.
15513 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
15514
df37c023
RH
15515 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
15516 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
15517 * config/mn10300/mn10300-protos.h: Update.
15518 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
15519 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
15520 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
15521 (*test_int_bitfield, *test_byte_bitfield): Remove.
15522 (*bit_test, *subreg_bit_test): Remove.
62d3f9b2 15523 * config/mn10300/predicates.md (const_8bit_operand): Remove.
df37c023 15524
85a337b5
RH
15525 * config/mn10300/constraints.md ("c"): Rename from "A".
15526 ("A", "D"): New constraint letters.
15527 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
15528 (fmssf4, fnmasf4, fnmssf4): Likewise.
15529
a5c727e3
RH
15530 * config/mn10300/mn10300.md (isa): New attribute.
15531 (enabled): New attribute.
15532
0d9e23f4
RH
15533 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
15534 (abssf2, negsf2): Define only for hardware fp.
15535 (sqrtsf2): Reformat.
15536 (addsf3, subsf3, mulsf3): Merge expander and insn.
15537
c157b3f0
RH
15538 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
15539 (DEBUGGER_AUTO_OFFSET): Remove.
15540 (DEBUGGER_ARG_OFFSET): Remove.
15541
cc909bba
RH
15542 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
15543 Emit register stores with the same offsets as the hardware.
15544 (mn10300_store_multiple_operation): Don't check that the register
15545 save offsets are monotonic.
15546 * config/mn10300/mn10300-protos.h: Update.
15547
e3b5c2f3
RH
15548 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
15549
885fe07c
RH
15550 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
15551 in terms of the value on the stack, not the MDR register.
15552
6e701822
JH
155532011-01-11 Jan Hubicka <jh@suse.cz>
15554
15555 PR lto/45721
15556 PR lto/45375
15557 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
15558 (symbol_alias_set_destroy, symbol_alias_set_contains,
15559 propagate_aliases_backward): Declare.
15560 * lto-streamer-out.c (struct sets): New sturcture.
15561 (trivally_defined_alias): New function.
15562 (output_alias_pair_p): Rewrite.
15563 (output_unreferenced_globals): Fix output of alias pairs.
15564 (produce_symtab): Likewise.
15565 * ipa.c (function_and_variable_visibility): Set weak alias destination
15566 as needed in lto.
15567 * varasm.c (symbol_alias_set_t): Remove.
15568 (symbol_alias_set_destroy): Export.
15569 (propagate_aliases_forward, propagate_aliases_backward): New functions
15570 based on ...
15571 (compute_visible_aliases): ... this one; remove.
15572 (trivially_visible_alias): New
15573 (trivially_defined_alias): New.
15574 (remove_unreachable_alias_pairs): Rewrite.
15575 (finish_aliases_1): Reorganize code checking if alias is defined.
15576 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
15577 in LTO mode.
15578
1b248907
RG
155792011-01-11 Richard Guenther <rguenther@suse.de>
15580
15581 PR tree-optimization/46076
15582 * tree-ssa.c (useless_type_conversion_p): Conversions from
15583 unprototyped to empty argument list function types are useless.
15584
b1923f0a
RG
155852011-01-11 Richard Guenther <rguenther@suse.de>
15586
15587 PR middle-end/45235
15588 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
15589 volatile MEMs as MEM_READONLY_P.
15590
e98965af
RG
155912011-01-11 Richard Guenther <rguenther@suse.de>
15592
15593 PR tree-optimization/47239
15594 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
15595
9f9ca914
JL
155962011-01-11 Jeff Law <law@redhat.com>
15597
1ee3ea05 15598 PR tree-optimization/47086
9f9ca914
JL
15599 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
15600 IVs from statements that might throw.
15601
345fdcb7
JH
156022011-01-10 Jan Hubicka <jh@suse.cz>
15603
15604 PR lto/45375
15605 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
15606
c459c97b
JH
156072011-01-10 Jan Hubicka <jh@suse.cz>
15608
15609 PR lto/45375
15610 * profile.c (read_profile_edge_counts): Ignore profile inconistency
15611 when correcting profile.
15612
06c9eb51
JH
156132011-01-10 Jan Hubicka <jh@suse.cz>
15614
15615 PR lto/46083
15616 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
15617 DECL_FINI_PRIORITY.
15618 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
15619 Restore DECL_FINI_PRIORITY.
15620
ae9fd815
RW
156212011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15622
15623 * doc/gimple.texi: Fix quoting of multi-word return values in
15624 @deftypefn statements. Ensure presence of return value. Wrap
15625 overlong @deftypefn lines.
15626 (is_gimple_operand, is_gimple_min_invariant_address): Remove
15627 descriptions of removed functions.
15628 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
15629 of multi-word return value in @deftypefn statement.
15630
0ecb4a7c
RW
156312011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15632
15633 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
15634 (Conditional Expressions, Logical Operators)
15635 (Statement and operand traversals): Do not indent smallexample
15636 code. Fix duplicate function argument in example.
15637
2e5e346d
JL
156382011-01-10 Jeff Law <law@redhat.com>
15639
1ee3ea05 15640 PR tree-optimization/47141
2e5e346d
JL
15641 * ipa-split.c (split_function): Handle case where we are
15642 returning a value and the return block has a virtual operand phi.
15643
cf9712cc
JH
156442011-01-10 Jan Hubicka <jh@suse.cz>
15645
1c3ba85b 15646 PR tree-optimization/47234
cf9712cc
JH
15647 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
15648 (pass_feedback_split_functions): Declare.
15649 * passes.c (init_optimization_passes): Add ipa-split as subpass of
15650 tree-profile.
15651 * ipa-split.c (gate_split_functions): Update comments; disable
15652 split-functions for profile_arc_flag and branch_probabilities.
15653 (gate_feedback_split_functions): New function.
15654 (execute_feedback_split_functions): New function.
15655 (pass_feedback_split_functions): New global var.
15656
94cd932c
L
156572011-01-10 H.J. Lu <hongjiu.lu@intel.com>
15658
15659 PR lto/46760
15660 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
15661 calling gimple_call_set_cannot_inline.
15662
fbbfcaf1
IS
156632011-01-10 Iain Sandoe <iains@gcc.gnu.org>
15664
15665 * config/darwin-sections.def: Remove unused section.
15666
d06865bf
DK
156672011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
15668
15669 PR c++/47218
15670 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
15671
96bbfbac
NP
156722011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
15673
15674 PR objc/47232
15675 * c-parser.c (c_parser_declaration_or_fndef): Improved
15676 error message.
15677
1ba6516f
KT
156782011-01-09 Kai Tietz <kai.tietz@onevision.com>
15679
15680 * config/i386/winnt.c (i386_pe_start_function): Make sure
15681 to switch back to function's section.
15682
0c5d770e
IS
156832011-01-09 Iain Sandoe <iains@gcc.gnu.org>
15684
15685 PR gcc/46902
15686 PR testsuite/46912
15687 * plugin.c: Move include of dlfcn.h from here...
15688 * system.h: ... to here.
15689
156902011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4ee1aa2a
RW
15691
15692 * doc/cpp.texi (C++ Named Operators): Fix markup for header
15693 file name.
15694 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
15695 two extra empty pages in PDF output.
15696
046608a3
NP
156972011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
15698
15699 PR objc/47078
15700 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
15701 for error recovery purposes behave as if it was not specified so
15702 that the default type is usd.
15703
8cb114b9
JH
157042011-01-07 Jan Hubicka <jh@suse.cz>
15705
15706 PR tree-optmization/46469
15707 * ipa.c (function_and_variable_visibility): Clear needed flags on
15708 nodes with external decls; handle weakrefs merging correctly.
15709
b294a75e
JM
157102011-01-07 Joseph Myers <joseph@codesourcery.com>
15711
15712 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
15713 not false.
15714
96bdf9b4
JH
157152011-01-07 Jan Hubicka <jh@suse.cz>
15716
f60c2554 15717 * doc/invoke.texi (-flto, -fuse-linker-plugin): Update defaults
96bdf9b4
JH
15718 and no longer claim that gold is required for linker plugin.
15719 * configure: Regenerate.
15720 * gcc.c (PLUGIN_COND): New macro.
15721 (LINK_COMMAND_SPEC): Use it.
15722 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
15723 * config.in (HAVE_LTO_PLUGIN): New.
15724 * configure.ac (--with-lto-plugin): New parameter; autodetect
15725 HAVE_LTO_PLUGIN.
15726
17afc0fe
JH
157272011-01-07 Jan Hubicka <jh@suse.cz>
15728
15729 PR tree-optimization/46367
15730 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
15731 when we can update original.
15732 (cgraph_mark_inline_edge): Sanity check.
15733 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
15734
d4c48c0f
UW
157352011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
15736
15737 * config/spu/spu.h (ASM_COMMENT_START): Define.
15738
96f5b137
L
157392011-01-07 H.J. Lu <hongjiu.lu@intel.com>
15740
15741 PR driver/42445
15742 * gcc.c (%>S): New.
15743 (SWITCH_KEEP_FOR_GCC): Likewise.
15744 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
15745 (do_spec_1): Handle "%>".
15746
15747 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
15748
c6a8f6de
JJ
157492011-01-07 Jakub Jelinek <jakub@redhat.com>
15750
c21bbd7a
JJ
15751 PR target/47201
15752 * config/i386/i386.c (ix86_delegitimize_address): If
15753 simplify_gen_subreg fails, return orig_x.
15754
c6a8f6de
JJ
15755 PR bootstrap/47187
15756 * value-prof.c (gimple_stringop_fixed_value): Handle
15757 lhs of the call properly.
15758
fe95fbf9
JH
157592011-01-07 Jan Hubicka <jh@suse.cz>
15760
15761 PR lto/45375
15762 * lto-opt.c (lto_reissue_options): Set flag_shlib.
15763
14d11d40
IS
157642011-01-07 Iain Sandoe <iains@gcc.gnu.org>
15765
72e961c8
EB
15766 * target.def (function_switched_text_sections): New hook.
15767 * doc/tm.texi: Regenerated.
15768 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 15769 * final.c (default_function_switched_text_sections): New.
72e961c8
EB
15770 (final_scan_insn): Call function_switched_text_sections when a
15771 mid-function section change occurs.
14d11d40 15772 * output.h (default_function_switched_text_sections): Declare.
72e961c8
EB
15773 * config/darwin-protos.h (darwin_function_switched_text_sections):
15774 Likewise.
14d11d40 15775 * config/darwin.c (darwin_function_switched_text_sections): New.
72e961c8 15776 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 15777
0b764288
IS
157782011-01-07 Iain Sandoe <iains@gcc.gnu.org>
15779
15780 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
15781 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
15782 the secondary code fragment when outputting for DWARF == 2.
15783
2ac6bb04
AS
157842011-01-07 Anatoly Sokolov <aesok@post.ru>
15785
15786 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
15787 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
15788 Remove.
15789 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
15790 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
15791
9f82de11
EB
157922011-01-06 Eric Botcazou <ebotcazou@adacore.com>
15793
15794 PR debug/46704
280d9630
EB
15795 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
15796 when it is not empty.
9f82de11
EB
15797
157982011-01-06 Changpeng Fang <changpeng.fang@amd.com>
14b52538 15799
1ed72abf 15800 Bobcat Enablement
14b52538 15801 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1ed72abf 15802 (case ${target}): Add btver1.
14b52538 15803 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1ed72abf 15804 -march=native recognize btver1 processors.
14b52538 15805 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1ed72abf 15806 btver1 def_and_undef
14b52538 15807 * config/i386/i386.c (struct processor_costs btver1_cost): New
1ed72abf
CF
15808 btver1 cost table.
15809 (m_BTVER1): New definition.
15810 (m_AMD_MULTIPLE): Includes m_BTVER1.
15811 (initial_ix86_tune_features): Add btver1 tune.
15812 (processor_target_table): Add btver1 entry.
15813 (static const char *const cpu_names): Add btver1 entry.
15814 (software_prefetching_beneficial_p): Add btver1.
15815 (ix86_option_override_internal): Add btver1 instruction sets.
15816 (ix86_issue_rate): Add btver1.
15817 (ix86_adjust_cost): Add btver1.
14b52538 15818 * config/i386/i386.h (TARGET_BTVER1): New definition.
1ed72abf
CF
15819 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
15820 (enum processor_type): Add PROCESSOR_BTVER1.
14b52538
CF
15821 * config/i386/i386.md (define_attr "cpu"): Add btver1.
15822
e1a973d8
RO
158232011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15824
15825 PR target/43309
15826 * config/i386/i386.c (legitimize_tls_address)
15827 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
15828 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
15829 (tls_initial_exec_64_sun): New pattern.
15830
c73f67c5
GP
158312011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
15832
15833 * doc/invoke.texi (Overall Options): Improve wording and markup
15834 of the description of -wrapper.
15835
bc4c6f9c
JM
158362011-01-06 Joseph Myers <joseph@codesourcery.com>
15837
15838 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
15839 rdynamic, threads): New Driver options.
15840
adb75db0
RO
158412011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15842
15843 PR target/38118
15844 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
15845 if coming from .tdata.
15846 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
15847
402c1cb4
JH
158482011-01-06 Jan Hubicka <jh@suse.cz>
15849
15850 PR lto/47188
15851 * collect2.c (main): Do not enable LTOmode when plugin is active.
15852
a4da6485
RO
158532011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15854
15855 PR other/45915
15856 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
15857 --version output if supported.
15858 * configure: Regenerate.
15859
028dbdf4
JM
158602011-01-06 Joseph Myers <joseph@codesourcery.com>
15861
15862 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
15863 Driver options.
15864
dfe776dd
JJ
158652011-01-06 Jakub Jelinek <jakub@redhat.com>
15866
15867 PR c/47150
15868 * c-convert.c (convert): When converting a complex expression
15869 other than COMPLEX_EXPR to a different complex type, ensure
15870 c_save_expr is called instead of save_expr, unless in_late_binary_op.
15871 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
15872 when converting COMPLEX_TYPE.
15873
210dedfe
IR
158742011-01-06 Ira Rosen <irar@il.ibm.com>
15875
15876 PR tree-optimization/47139
15877 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
15878 only the last reduction value is used outside the loop. Update
15879 documentation.
15880
cd33a412
JM
158812011-01-05 Joseph Myers <joseph@codesourcery.com>
15882
15883 * config/rtems.opt: New.
15884 * config.gcc (*-*-rtems*): Use rtems.opt.
15885
819edd94
CF
158862011-01-05 Changpeng Fang <changpeng.fang@amd.com>
15887
15888 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
15889 processors do not support 3DNow instructions.
15890
dc242c4a
UW
158912011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
15892
15893 * config/spu/spu.c (spu_option_override): Set parameter
15894 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
15895
be286227
JH
158962011-01-05 Jan Hubicka <jh@suse.cz>
15897
15898 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
15899 at the command line.
15900
644e637f
MJ
159012011-01-05 Martin Jambor <mjambor@suse.cz>
15902
15903 PR lto/47162
15904 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
15905 deltas on streamed outgoing edges.
15906 (output_node_opt_summary): Output info for outgoing edges only when
15907 the node is in new parameter set.
15908 (output_cgraph_opt_summary): New parameter set, passed to the two
15909 aforementioned functions. Update its forward declaration and its
15910 callee too.
15911
7bd11157
TT
159122011-01-05 Tom Tromey <tromey@redhat.com>
15913
15914 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
15915 operator to c_finish_omp_atomic.
15916 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
15917 (build_unary_op): Update.
15918 (build_modify_expr): Update.
15919 (build_asm_expr): Update.
15920
f626b979
UW
159212011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
15922
15923 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
15924 newly inserted insns.
15925 (pad_bb): Likewise.
15926 (spu_emit_branch_hint): Likewise.
15927 (insert_hbrp_for_ilb_runout): Likewise.
15928 (spu_machine_dependent_reorg): Call df_finish_pass after
15929 schedule_insns returns.
15930
4c825c02
UW
159312011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
15932
15933 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
15934
5e9fba51
EB
159352011-01-05 Eric Botcazou <ebotcazou@adacore.com>
15936
15937 PR tree-optimization/47005
15938 * tree-sra.c (struct access): Add 'non_addressable' bit.
15939 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
15940 (decide_one_param_reduction): Return 0 if the parameter is passed by
15941 reference and one of the accesses in the group is non_addressable.
15942
3ebb5ca6
EB
159432011-01-04 Eric Botcazou <ebotcazou@adacore.com>
15944
15945 PR tree-optimization/47056
15946 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
15947 (mark_load): Likewise. Handle FUNCTION_DECL specially.
15948 (mark_store): Likewise. Pass STMT to ipa_record_reference.
15949
d5d4d14e
EB
159502011-01-04 Eric Botcazou <ebotcazou@adacore.com>
15951
15952 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
15953 initializer. Skip view conversions from aggregate types.
15954
d996ef70
KT
159552011-01-04 Kai Tietz <kai.tietz@onevision.com>
15956
15957 PR bootstrap/47055
15958 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
15959
509d65dd 159602011-01-04 Philipp Thomas <pth@suse.de>
017096ca
PT
15961
15962 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
15963 obvious typo.
15964
55c623b5
UW
159652011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
15966
15967 * function.c (thread_prologue_and_epilogue_insns): Do not crash
15968 on empty epilogue sequences.
15969
b98d6b35
JM
159702011-01-04 Joseph Myers <joseph@codesourcery.com>
15971
15972 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
15973 non-static): New Driver options.
15974
a0d43bac
JZ
159752011-01-04 Jie Zhang <jie@codesourcery.com>
15976
15977 PR driver/47137
15978 * gcc.c (default_compilers[]): Set combinable field to 0
15979 for all assembly languages.
15980
2b18eb32
MX
159812011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
15982
15983 * config/mips/loongson3a.md: New file.
15984 * config/mips/mips.md: Include loongson3a.md.
15985 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
15986 TUNE_LOONGSON_3A.
15987
42a48c4f
EB
159882011-01-03 Eric Botcazou <ebotcazou@adacore.com>
15989
15990 PR middle-end/47017
15991 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
15992 instead of convert_memory_address_addr_space on the base expression.
15993
9c1732c4
UW
159942011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
15995
15996 * config/spu/spu.c (spu_option_override): Update error text
15997 for bad -march= / -mtune= values.
15998
aa474365
UW
159992011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
16000
16001 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
16002 if branch-hint optimization will be performed.
16003
9766135b
JJ
160042011-01-03 Jakub Jelinek <jakub@redhat.com>
16005
371556ee
JJ
16006 PR tree-optimization/47148
16007 * ipa-split.c (split_function): Convert arguments to
16008 DECL_ARG_TYPE if possible.
16009
1ac12fa2
JJ
16010 PR tree-optimization/47155
16011 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
16012 when computing uns.
16013
9766135b
JJ
16014 PR rtl-optimization/47157
16015 * combine.c (try_combine): If undobuf.other_insn becomes
16016 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
16017 and set *new_direct_jump_p too.
16018
f4a2e571
SP
160192011-01-03 Sebastian Pop <sebastian.pop@amd.com>
16020
16021 PR tree-optimization/47021
16022 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
16023
9f8e43c0
JJ
160242011-01-03 Jakub Jelinek <jakub@redhat.com>
16025
16026 * gcc.c (process_command): Update copyright notice dates.
16027 * gcov.c (print_version): Likewise.
16028 * gcov-dump.c (print_version): Likewise.
16029 * mips-tfile.c (main): Likewise.
16030 * mips-tdump.c (main): Likewise.
16031
1a2e38f3
MJ
160322011-01-03 Martin Jambor <mjambor@suse.cz>
16033
16034 PR tree-optimization/46801
16035 * tree-sra.c (type_internals_preclude_sra_p): Check whether
16036 aggregate fields start at byte boundary instead of the bit-field flag.
16037
56b721c5
L
160382011-01-03 H.J. Lu <hongjiu.lu@intel.com>
16039
16040 PR driver/47137
16041 * gcc.c (main): Revert revision 168407.
16042
839d549b
MJ
160432011-01-03 Martin Jambor <mjambor@suse.cz>
16044
16045 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
16046
4ce99a20 160472011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2fa6eeff
UW
16048
16049 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
16050 vector optab to expand vector/scalar shift, update gimple to vector.
16051
76df0ae6
MJ
160522011-01-03 Martin Jambor <mjambor@suse.cz>
16053
16054 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
16055 a thunk.
16056
ce47fda3
MJ
160572011-01-03 Martin Jambor <mjambor@suse.cz>
16058
16059 PR tree-optimization/46984
16060 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
16061 HOST_WIDE_INT.
16062 (cgraph_create_indirect_edge): Fixed line length.
16063 (cgraph_indirect_call_info): Declare.
16064 (cgraph_make_edge_direct) Update declaration.
16065 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
16066 (cgraph_create_indirect_edge): Use it.
16067 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
16068 callees.
16069 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
16070 the new thunk_delta representation.
16071 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
16072 HOST_WIDE_INT.
16073 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
16074 (ipa_read_indirect_edge_info): Likewise.
16075 * lto-cgraph.c (output_edge_opt_summary): New function.
16076 (output_node_opt_summary): Call it on all outgoing edges.
16077 (input_edge_opt_summary): New function.
16078 (input_node_opt_summary): Call it on all outgoing edges.
16079
1e67fa1f
L
160802011-01-02 H.J. Lu <hongjiu.lu@intel.com>
16081
16082 PR driver/47137
16083 * gcc.c (main): Don't check have_o when settting combine_inputs.
16084
6656b2ac
EB
160852011-01-02 Eric Botcazou <ebotcazou@adacore.com>
16086
16087 * regrename.c: Add general comment describing the pass.
16088 (struct du_head): Remove 'length' field.
16089 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
16090 (regrename_optimize): Do not sort chains. Rework comments, add others.
16091 Force renaming to the preferred class (if any) in the first pass and do
16092 not consider registers that belong to it in the second pass.
16093 (create_new_chain): Do not set 'length' field.
16094 (scan_rtx_reg): Likewise.
16095
bc470c24
JJ
160962011-01-02 Jakub Jelinek <jakub@redhat.com>
16097
4e996296
JJ
16098 PR tree-optimization/47140
16099 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
16100 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
16101 to bit_value_binop.
16102
bc470c24 16103 PR rtl-optimization/47028
6656b2ac
EB
16104 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
16105 parm_birth_insn instead of at the beginning of first bb.
bc470c24 16106
5af62fcd 161072011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
0d52f2a8
MX
16108
16109 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
16110 Remove the word "see" before "@pxref".
16111 * doc/rtl.texi: Remove the word "see" before "@pxref".
16112
0e20c89f
JH
161132011-01-01 Jan Hubicka <jh@suse.cz>
16114
6656b2ac
EB
16115 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
16116 memory.
0e20c89f 16117
220e83ca
KT
161182011-01-01 Kai Tietz <kai.tietz@onevision.com>
16119
16120 PR target/38662
6656b2ac 16121 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
220e83ca 16122
ad41bd84 16123\f
797103eb 16124Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
16125
16126Copying and distribution of this file, with or without modification,
16127are permitted in any medium without royalty provided the copyright
16128notice and this notice are preserved.