]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
re PR target/4828 (can't install gcc for h8300-hms target)
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
45dbce1b
NF
12011-03-25 Nathan Froyd <froydnj@codesourcery.com>
2
3 PR bootstrap/4828
4 Revert:
5 2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
6
7 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
8 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
9 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
10 * passes.c (init_optimization_passes): Move
11 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
12
ac9a30ae
KT
132011-03-25 Kai Tietz <ktietz@redhat.com>
14
15 * c-typeck.c (comptypes_internal): Replace target
16 hook call of comp_type_attributes by version in tree.c file.
17 * gimple.c (gimple_types_compatible_p_1): Likewise.
18 * tree-ssa.c (useless_type_conversion_p): Likewise.
19 * tree.c (build_type_attribute_qual_variant): Likewise.
20 (attribute_value_equal): New static helper function.
21 (comp_type_attributes): New function.
22 (merge_attributes): Use attribute_value_equal for comparison.
23 (attribute_list_contained): Likewise.
24 * tree.h (comp_type_attributes): New prototype.
25
afdac116
RG
262011-03-25 Richard Guenther <rguenther@suse.de>
27
28 * tree-cfg.c (verify_gimple_assign_unary): Drop special casing
29 of complex types at -O0.
30 (verify_gimple_assign_binary): Likewise.
31 (verify_gimple_assign_ternary): Likewise.
32
ec6165f8
MW
332011-03-24 Mark Wielaard <mjw@redhat.com>
34
35 * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8.
36 (value_format): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
37
2a5ac39a
MW
382011-03-24 Mark Wielaard <mjw@redhat.com>
39
40 PR debug/48041
41 * dwarf2out.c (output_abbrev_section): Only write table when
42 abbrev_die_table_in_use > 1.
43
e533b2a4
RH
442011-02-24 Richard Henderson <rth@redhat.com>
45
46 * config/alpha/alpha.c (alpha_expand_unaligned_load): Use extql.
47 (alpha_expand_unaligned_store): Use mskwl, mskll, mskql.
48 (alpha_expand_unaligned_load_words): Use extql.
49 (alpha_expand_unaligned_store_words): Use insqh, mskqh, mskql.
50 (emit_insxl): Handle all modes for consistency.
51
0b2a7367
RH
522011-02-24 Richard Henderson <rth@redhat.com>
53
54 * config/alpha/alpha.c (get_aligned_mem): Don't test WORDS_BIG_ENDIAN.
55 (alpha_expand_unaligned_load): Likewise.
56 (alpha_expand_unaligned_store): Likewise.
57 (alpha_expand_unaligned_load_words): Likewise.
58 (alpha_expand_unaligned_store_words): Likewise.
59 (emit_insxl, alpha_split_compare_and_swap_12): Likewise.
60 (alpha_split_lock_test_and_set_12): Likewise.
61 (print_operand, alpha_fold_builtin_extxx): Likewise.
62 (alpha_fold_builtin_insxx, alpha_fold_builtin_mskxx): Likewise.
63 * config/alpha/alpha.md (bswapsi2, insv, extv, extzv): Likewise.
64 (builtin_extwh, builtin_extlh, builtin_extql): Likewise.
65 (unaligned_extendqidi_be, unaligned_extendhidi_be, extxl_be): Remove.
66 (*extxl_1_be, *extql_2_be, extqh_be, extlh_be, extwh_be): Remove.
67 (insbl_be, inswl_be, insll_be, insql_be, mskxl_be): Remove.
68 (unaligned_loadqi_be, unaligned_loadhi_be): Remove.
69 (unaligned_storeqi_be, unaligned_storehi_be): Remove.
70 (extbl): Rename from builtin_extbl; don't test WORDS_BIG_ENDIAN.
71 (extwl, extll, extql): Similarly.
72 (inswh, inslh, insqh): Similarly.
73 (mskbl, mskwl, mskll, mskql): Similarly.
74 (mskwh, msklh, mskqh): Similarly.
75
315b2bef
RH
762011-02-24 Richard Henderson <rth@redhat.com>
77
78 * config/alpha/alpha.md (attribute isa): Add er, ner.
79 (attribute enabled): Handle them.
80 (*movdi): Merge *movdi_{er_nofix,nofix,er_fix,fix}.
81
67102517
RH
822011-02-24 Richard Henderson <rth@redhat.com>
83
84 * config/alpha/alpha.md (attribute isa): Add vms.
85 (attribute enabled): Handle it.
86 (*movsf): Merge *movsf_{nofix,fix,nofp}.
87 (*movdf): Merge *movdf_{nofix,fix,nofp}.
88 (*movtf): Rename from *movtf_internal for consistency.
89 (*movsi): Merge with *movsi_nt_vms.
90 (*movhi): Merge *movhi_nobwx, *movhi_bwx.
91 (*movqi): Merge *movqi_nobwx, *movqi_bwx.
92 (*mov<VEC>): Merge *mov<VEC>_fix, *mov<VEC>_nofix.
93 * config/alpha/constraint.md ("f"): Use NO_REGS when fpu is disabled.
94
6aba5cb4
RH
952011-02-24 Richard Henderson <rth@redhat.com>
96
97 * config/alpha/alpha.md (extendqihi2): Implement for BWX only.
98 (extendqisi2, extendhisi2): Likewise.
99 (extendqidi2): Simplify BWX/non-BWX expansions.
100 (extendhidi2): Similarly.
101
bdfb351b
RH
1022011-02-24 Richard Henderson <rth@redhat.com>
103
104 * config/alpha/alpha.md (attribute isa): New.
105 (attribute enabled): New.
106 (zero_extendqihi2): Merge from *zero_extendqihi2_{bwx,nobwx}.
107 (zero_extendqisi2, zero_extendqidi2): Similarly.
108 (zero_extendhisi2, zero_extendhidi2): Similarly.
109 * config/alpha/predicates.md (reg_or_bwx_memory_operand): New.
110
6abe71eb
RH
1112011-02-24 Richard Henderson <rth@redhat.com>
112
113 * config/alpha/predicates.md (input_operand): Revert last change;
114 update comment to mention 32-bit VMS rather than Windows.
115
7114321e
NF
1162011-03-24 Nathan Froyd <froydnj@codesourcery.com>
117
118 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
119 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
120 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
121 * passes.c (init_optimization_passes): Move
122 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
123
c8679567
EB
1242011-03-24 Eric Botcazou <ebotcazou@adacore.com>
125
126 * dojump.c (do_jump_by_parts_greater_rtx): Optimize in specific cases.
127
27173058
UB
1282011-03-24 Uros Bizjak <ubizjak@gmail.com>
129
130 * config/i386/i386.md (ix86_print_operand): Output DFmode const_double
131 correctly.
132
6f0c9f06
JJ
1332011-03-24 Jakub Jelinek <jakub@redhat.com>
134
135 PR debug/48204
136 * simplify-rtx.c (simplify_const_unary_operation): Call
137 real_convert when changing mode class with FLOAT_EXTEND.
138
662666e5
NC
1392011-03-24 Nick Clifton <nickc@redhat.com>
140
141 * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER): Define.
142 (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
143 * config/rx/rx.c (rx_option_override): Set align_jumps,
144 align_loops and align_labels if not set by the user.
145 (rx_align_for_label): New function.
146 (rx_max_skip_for_label): New function.
147 (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
148 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
149 (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
150 (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
151 * config/rx/rx-protos.h (rx_align_for_label): Add prototype.
152
2b99b2b8
RS
1532011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
154
155 PR rtl-optimization/48263
156 * optabs.c (expand_binop_directly): Reinstate convert_modes code
157 and original commutative_p handling. Use maybe_gen_insn.
158
ccecd6ea
AK
1592011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
160
161 * reload.c (find_reloads_subreg_address): Add address_reloaded
162 parameter and return true there if the full address has been
163 reloaded.
164 (find_reloads_toplev): Pass address_reloaded flag.
165 (find_reloads_address_1): Don't use address_reloaded parameter.
166
67295642
JL
1672011-03-24 Jeff Law <law@redhat.com>
168
169 * tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
170 unused variable "ann".
171 (remove_unused_locals): Likewise.
172
173 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
174 statement.
175
176 * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
177 after it is freed.
178
212aa74f
AK
1792011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
180
181 * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
182 for invalid symbolic addresses.
183 (s390_secondary_reload): Don't use s390_check_symref_alignment for
184 larl operands.
185
fe784e0d
EB
1862011-03-24 Eric Botcazou <ebotcazou@adacore.com>
187
188 * fold-const.c (fold_ternary_loc): Preserve the location (if any) of
189 the argument in calls to fold_truth_not_expr.
190
63ee8641
NF
1912011-03-24 Nathan Froyd <froydnj@codesourcery.com>
192
193 * tree.c (record_node_allocation_statistics): New function.
194 (make_node_stat, copy_node_stat, build_string): Call it.
195 (make_tree_binfo_stat, make_tree_vec_stat, tree_cons_stat): Likewise.
196 (build1_stat, build_omp_clause): Likewise.
197
61be2a1c
RS
1982011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
199
200 * builtins.c (expand_movstr): Fix endp == 1 adjustment after
201 last commit.
202
a881aaa7
RG
2032011-03-24 Richard Guenther <rguenther@suse.de>
204
205 PR tree-optimization/48271
206 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup
207 blocks that still exist.
208
dbaa912c
RG
2092011-03-24 Richard Guenther <rguenther@suse.de>
210
211 PR tree-optimization/48270
212 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do
213 not free datarefs before ddrs.
214
1d60cc55
EB
2152011-03-24 Eric Botcazou <ebotcazou@adacore.com>
216
217 * tree-sra.c (build_ref_for_offset): Strip useless type conversions
218 from the address built for a reference with variable offset.
219
c78dd519
UB
2202011-03-24 Uros Bizjak <ubizjak@gmail.com>
221
222 PR target/48237
223 * config/i386/i386.md (*movdf_internal_rex64): Do not split
224 alternatives that can be handled with movq or movabsq insn.
225 (*movdf_internal): Disable for !TARGET_64BIT.
226 (*movdf_internal_nointeger): Ditto.
227 * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
228
b25b9e8f
NF
2292011-03-24 Nathan Froyd <froydnj@codesourcery.com>
230
231 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
232 (FUNCTION_ARG_ADVANCE): Likewise.
233 * tm.texi.in: Change references to them to hook references.
234 * tm.texi: Regenerate.
c78dd519 235 * targhooks.c (default_function_arg): Eliminate check for target macro.
b25b9e8f
NF
236 (default_function_incoming_arg): Likewise.
237 (default_function_arg_advance): Likewise.
c78dd519 238 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
b25b9e8f
NF
239 (function_arg_advance): Likewise.
240 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
241
190b2187
RG
2422011-03-24 Richard Guenther <rguenther@suse.de>
243
244 PR middle-end/48269
245 * tree-object-size.c (addr_object_size): Do not double-account
246 for MEM_REF offsets.
247
a183b5c7
DN
2482011-03-24 Diego Novillo <dnovillo@google.com>
249
250 * lto-opts.c (input_data_block): Move to lto-streamer-in.c.
c78dd519 251 * lto-streamer-in.c (input_string_internal): Add clarifying comments.
a183b5c7
DN
252 (lto_input_data_block): Move from lto-opts.c. Make extern.
253 Update all users.
254 (lto_input_string): Rename from input_string. Make extern.
255 Update all users.
256 * lto-streamer-out.c (lto_output_string_with_length): Rename from
257 output_string_with_length.
258 Output 0 to indicate a non-NULL string. Update all callers to
259 not emit 0.
260 (lto_output_string): Rename from output_string. Make extern.
261 Update all users.
262 (lto_output_decl_state_streams): Make extern.
263 (lto_output_decl_state_refs): Make extern.
264 * lto-streamer.h (lto_input_string): Declare.
265 (lto_input_data_block): Declare.
266 (lto_output_string): Declare.
267 (lto_output_string_with_length): Declare.
268 (lto_output_decl_state_streams): Declare.
269 (lto_output_decl_state_refs): Declare.
270
cfef45c8
RG
2712011-03-24 Richard Guenther <rguenther@suse.de>
272
273 PR tree-optimization/46562
274 * tree.c (build_invariant_address): New function.
275 * tree.h (build_invariant_address): Declare.
276 * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around
277 a renamed function moved ...
278 * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here.
279 Take valueization callback parameter.
280 * tree-flow.h (gimple_fold_stmt_to_constant): Declare.
281 * gimple-fold.h: New file.
282 * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1.
283 (ccp_fold, fold_const_aggregate_ref,
284 fold_ctor_reference, fold_nonarray_ctor_reference,
285 fold_array_ctor_reference, fold_string_cst_ctor_reference,
286 get_base_constructor): Move ...
287 * gimple-fold.c: ... here.
288 (gimple_fold_stmt_to_constant_1): New function
289 split out from ccp_fold. Take a valueization callback parameter.
290 Valueize all operands.
291 (gimple_fold_stmt_to_constant): New wrapper function.
292 (fold_const_aggregate_ref_1): New function split out from
293 fold_const_aggregate_ref. Take a valueization callback parameter.
294 (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1.
295 * tree-ssa-sccvn.c (simplify_binary_expression): Simplify
296 invariant POINTER_PLUS_EXPRs to invariant form.
297 (vn_valueize): New function.
298 (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant.
299 * tree-vrp.c (vrp_valueize): New function.
300 (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant
301 to fold statements to constants.
302 * tree-ssa-pre.c (eliminate): Properly guard propagation of
303 function declarations.
304 * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o,
305 tree-ssa-ccp.o): Add gimple-fold.h dependencies.
306
5e0a7e40
RS
3072011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
308
309 * config/h8300/predicates.md (jump_address_operand): Fix register
310 mode check.
311
bfe068c3
IR
3122011-03-24 Ira Rosen <ira.rosen@linaro.org>
313
314 * doc/invoke.texi (max-stores-to-sink): Document.
315 * params.h (MAX_STORES_TO_SINK): Define.
316 * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
317 if either vectorization or if-conversion is disabled.
318 * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
319 tree-vect-data-refs.c vect_equal_offsets.
320 (dr_equal_offsets_p): New function.
321 (find_data_references_in_bb): Remove static.
322 * tree-data-ref.h (find_data_references_in_bb): Declare.
323 (dr_equal_offsets_p): Likewise.
324 * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
325 (vect_drs_dependent_in_basic_block): Update calls to
326 vect_equal_offsets.
327 (vect_check_interleaving): Likewise.
328 * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
329 (cond_if_else_store_replacement): Rename to...
330 (cond_if_else_store_replacement_1): ... this. Change arguments and
331 documentation.
332 (cond_if_else_store_replacement): New function.
333 * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
334 * params.def (PARAM_MAX_STORES_TO_SINK): Define.
335
4908b0bf
CLT
3362011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
337
338 PR target/46934
339 * config/arm/arm.md (casesi): Use the gen_int_mode() function
340 to subtract lower bound instead of GEN_INT().
341
2be478a2
JW
3422011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
343
344 PR other/48179
345 PR other/48221
346 PR other/48234
347 * doc/extend.texi (Alignment): Move section to match order in TOC.
348 * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
349 (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
350
0c617be4
JL
3512011-03-23 Jeff Law <law@redhat.com>
352
353 * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
354 before removing the edge.
355
356 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
357 it may have been freed by redirect_branch_edge or
358 redirect_edge_succ_nodup.
359
58da96fe
RG
3602011-03-23 Richard Guenther <rguenther@suse.de>
361
c78dd519 362 * tree-stdarg.c (va_list_counter_bump): Handle bumps via MEM_REF.
58da96fe
RG
363 (check_va_list_escapes): Likewise.
364 (check_all_va_list_escapes): Likewise.
365
b8beb4d1
RG
3662011-03-23 Richard Guenther <rguenther@suse.de>
367
368 * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
369 (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
370 (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
371 (alias.o): Likewise.
372 (ipa-type-escape.o): Remove.
373 (ipa-struct-reorg.o): Likewise.
374 (GTFILES): Remove ipa-struct-reorg.c.
375 * alias.c: Do not include ipa-type-escape.h.
376 * tree-ssa-alias.c: Likewise.
377 * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
378 * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
379 * passes.c (init_optimization_passes): Remove ipa-struct-reorg
380 and ipa-type-escape passes.
381 * tree-pass.h (pass_ipa_type_escape): Remove.
382 (pass_ipa_struct_reorg): Likewise.
383 * ipa-struct-reorg.h: Remove.
384 * ipa-struct-reorg.c: Likewise.
385 * ipa-type-escape.h: Likewise.
386 * ipa-type-escape.c: Likewise.
387 * doc/invoke.texi (-fipa-struct-reorg): Remove.
388 (--param struct-reorg-cold-struct-ratio): Likewise.
389 * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
390 * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
391 * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
392
f137aa63
AK
3932011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
394
395 * config/s390/2084.md: Enable all insn reservations also for z9_ec
396 cpu attribute value.
397 * config/s390/s390-opts.h (enum s390_arch_option): Remove.
398 (enum processor_type): Add PROCESSOR_2094_Z9_EC.
399 * config/s390/s390.c (processor_flags_table): New constant array.
400 (s390_handle_arch_option): Remove.
401 (s390_handle_option): Remove s390_handle_arch_option invocations
402 and OPT_mwarn_framesize_ handling.
403 (s390_option_override): Remove s390_handle_arch_option invocation.
404 (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
405 warnings.
406 * config/s390/s390.md (cpu attribute): Add z9_ec value.
407 * config/s390/s390.opt (s390_tune, s390_arch)
408 (march=): Replace s390_arch_option enum and values with
409 processor_type. Set variable name to s390_arch. Set
410 initialization value.
411 (mtune=): Replace s390_arch_option with processor_type. Set
412 variable name to s390_tune. Set initialization value.
413
bf90208f
JB
4142011-03-23 Julian Brown <julian@codesourcery.com>
415
416 * expr.c (expand_expr_real_1): Only use BLKmode for volatile
417 accesses which are not naturally aligned.
418
3460fdf3
RS
4192011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
420
421 PR target/47553
422 * config/arm/predicates.md (neon_lane_number): Accept 0..15.
423
a5c7d693
RS
4242011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
425
426 * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
427 parameter from "int" to "enum insn_code".
428 (expand_operand_type): New enum.
429 (expand_operand): New structure.
430 (create_expand_operand): New function.
431 (create_fixed_operand, create_output_operand): Likewise
432 (create_input_operand, create_convert_operand_to): Likewise.
433 (create_convert_operand_from, create_address_operand): Likewise.
434 (create_integer_operand): Likewise.
435 (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
436 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
437 (expand_insn, expand_jump_insn): Likewise.
438 * builtins.c (expand_builtin_prefetch): Use the new interfaces.
439 (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
440 (expand_movstr, expand_builtin___clear_cache): Likewise.
441 (expand_builtin_lock_release): Likewise.
442 * explow.c (allocate_dynamic_stack_space): Likewise.
443 (probe_stack_range): Likewise. Allow check_stack to FAIL,
444 and use the default handling in that case.
445 * expmed.c (check_predicate_volatile_ok): Delete.
446 (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
447 (emit_cstore): Likewise.
448 * expr.c (emit_block_move_via_movmem): Likewise.
449 (set_storage_via_setmem, expand_assignment): Likewise.
450 (emit_storent_insn, try_casesi): Likewise.
451 (emit_single_push_insn): Likewise. Allow the expansion to fail.
452 * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
453 (expand_vec_shift_expr, expand_binop_directly): Likewise.
454 (expand_twoval_unop, expand_twoval_binop): Likewise.
455 (expand_unop_direct, emit_indirect_jump): Likewise.
456 (emit_conditional_move, vector_compare_rtx): Likewise.
457 (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
458 (expand_sync_operation, expand_sync_fetch_operation): Likewise.
459 (expand_sync_lock_test_and_set): Likewise.
460 (maybe_emit_unop_insn): Likewise. Change icode to an insn_code.
461 (emit_unop_insn): Likewise.
462 (expand_copysign_absneg): Change icode to an insn_code.
463 (create_convert_operand_from_type): New function.
464 (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
465 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
466 (expand_insn, expand_jump_insn): Likewise.
467 * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
468 than const_int_operand for operand 2.
469
78fadbab
AK
4702011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
471
472 * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
473 if possible.
474
5f02387d
NF
4752011-03-22 Nathan Froyd <froydnj@codesourcery.com>
476
477 * emit-rtl.c (emit_pattern_before_noloc): New function.
478 (emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
479 (emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
480 (emit_pattern_after_noloc): New function.
481 (emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
482 (emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
483
fdf3e18a
NF
4842011-03-22 Nathan Froyd <froydnj@codesourcery.com>
485
486 * libgcc2.c (__lshrdi3, __ashldi3, __ashrdi3): Use W_TYPE_SIZE.
487 (__ffsDI2): Likewise.
488
42d085c1
RH
4892011-03-22 Richard Henderson <rth@redhat.com>
490
491 * config/alpha/alpha.c (direct_return): Use TARGET_ABI_OSF instead
492 of !TARGET_ABI_OPEN_VMS.
493 (alpha_trampoline_init, alpha_start_function): Likewise.
494 (alpha_expand_epilogue, alpha_file_start): Likewise.
495 * config/alpha/alpha.md (divsi3, modsi3): Likewise.
496 (udivsi3, umodsi3, divdi3, moddi3, udivdi3, umoddi3): Likewise.
497 (*divmodsi_internal_er, *divmodsi_internal_er_1): Likewise.
498 (*divmodsi_internal, *divmoddi_internal_er): Likewise.
499 (*divmoddi_internal_er_1, *divmoddi_internal): Likewise.
500
cabbe12a
JM
5012011-03-22 Joseph Myers <joseph@codesourcery.com>
502
503 * config/s390/s390-opts.h: New.
504 * config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
505 s390_arch_flags, s390_warn_framesize, s390_stack_size,
506 s390_stack_guard): Remove.
507 (s390_handle_arch_option): Return void. Take enum
508 s390_arch_option value instead of string and searching array.
509 (s390_handle_option): Don't assert that global structures are in
510 use. Access variables via opts pointer. Use error_at. Don't use
511 sscanf for -mstack-guard= or -mstack-size=. Update call to
512 s390_handle_arch_option.
513 (s390_option_override): Update call to s390_handle_arch_option.
514 (s390_emit_prologue): Use %d format for s390_stack_size in
515 diagnostic. Use %wd for HOST_WIDE_INT.
516 * config/s390/s390.h (enum processor_type): Move to s390-opts.h.
517 (s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
518 * config/s390/s390.opt (config/s390/s390-opts.h): New
519 HeaderInclude entry.
520 (s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
521 s390_arch_flags, s390_warn_framesize): New Variable entries.
522 (s390_arch_option): New Enum and EnumValue entries.
523 (march=): Use Enum instead of Var.
524 (mstack-guard=, mstack-size=): Use UInteger and Var.
525 (mtune=): Use Enum.
526
05b12036
JM
5272011-03-22 Joseph Myers <joseph@codesourcery.com>
528
529 * config/score/score.c (score_handle_option): Don't assert that
530 global structures are in use. Access target_flags via opts
531 pointer. Use value of -march= option to determine target_flags
532 settings.
533 * config/score/score.opt (march=): Use Enum.
534 (score_arch): New Enum and EnumValue entries.
535
dd51e35a
JM
5362011-03-22 Joseph Myers <joseph@codesourcery.com>
537
538 * config/mep/mep.c (option_mtiny_specified): Remove.
539 (mep_option_override): Move register handling for -mivc2 from
540 mep_handle_option. Use global_options_set.x_mep_tiny_cutoff
541 instead of option_mtiny_specified.
542 (mep_handle_option): Access target_flags via opts pointer. Don't
543 assert that global structures are in use. Defer part of -mivc2
544 handling and move it to mep_option_override.
545 * config/mep/mep.opt (IVC2): New Mask entry.
546 (mivc2): Use Var and Defer instead of Mask.
547
4a8d3d91
JM
5482011-03-22 Joseph Myers <joseph@codesourcery.com>
549
550 * config/v850/v850-opts.h: New.
551 * config/v850/v850.c (small_memory): Replace with
552 small_memory_physical_max array. Make that array static const.
553 (v850_handle_memory_option): Take integer value of argument. Take
554 gcc_options pointer, option text and location. Return void.
555 Update for changes to small memory structures.
556 (v850_handle_option): Access target_flags via opts pointer. Don't
557 assert that global structures are in use. Update calls to
558 v850_handle_memory_option.
c78dd519
UB
559 (v850_encode_data_area): Update references to small memory settings.
560 * config/v850/v850.h (struct small_memory_info, small_memory): Remove.
4a8d3d91
JM
561 (enum small_memory_type): Move to v850-opts.h.
562 * config/v850/v850.opt (config/v850/v850-opts.h): New
563 HeaderInclude entry.
564 (small_memory_max): New Variable entry.
565 (msda): Replace by pair of options msda= and msda-. Use UInteger.
566 (mtda, mzda): Likewise.
567
117fdbfa
JM
5682011-03-22 Joseph Myers <joseph@codesourcery.com>
569
570 * config/sh/sh.c (sh_handle_option): Access target_flags via opts
571 pointer. Don't assert that global structures are in use.
572
d715091c
JM
5732011-03-22 Joseph Myers <joseph@codesourcery.com>
574
575 * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
576 via opts pointer. Don't assert that global structures are in use.
577
1bb721dc
JM
5782011-03-22 Joseph Myers <joseph@codesourcery.com>
579
580 * config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
581 (munix=93): Use Var.
582 * config/pa/pa-hpux1010.opt (munix=95): Use Var.
583 * config/pa/pa-hpux1111.opt (munix=98): Use Var.
584 * config/pa/pa-opts.h: New.
585 * config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
586 (pa_handle_option): Don't assert that global structures are in
587 use. Access target_flags via opts pointer. Don't handle
588 OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
589 OPT_munix_98 here.
590 (pa_option_override): Handle deferred OPT_mfixed_range_.
591
cd8d8754
JM
5922011-03-22 Joseph Myers <joseph@codesourcery.com>
593
594 * config/mn10300/mn10300-opts.h: New.
595 * config/mn10300/mn10300.c (mn10300_processor,
596 mn10300_tune_string): Remove.
597 (mn10300_handle_option): Don't assert that global structures are
598 in use. Access mn10300_processor via opts pointer. Don't handle
599 OPT_mtune_ here.
600 * config/mn10300/mn10300.h (enum processor_type): Move to
601 mn10300-opts.h.
602 (mn10300_processor): Remove.
603 * config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
604 HeaderInclude entry.
605 (mn10300_processor): New Variable entry.
606 (mtune=): Use Var.
607
24e6e6b1
JM
6082011-03-22 Joseph Myers <joseph@codesourcery.com>
609
610 * config/microblaze/microblaze.c: Don't include opts.h.
611 (microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
612 * config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
613 (mno-clearbss): Use Var and Warn.
614
8a784afb
JM
6152011-03-22 Joseph Myers <joseph@codesourcery.com>
616
617 * config/m32r/m32r-opts.h: New.
618 * config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
619 (m32r_handle_option): Don't assert that global structures are in
620 use. Access target_flags and m32r_cache_flush_func via opts
621 pointer. Don't handle OPT_mmodel_, OPT_msdata_ or
622 OPT_mno_flush_trap here.
623 * config/m32r/m32r.h (Code Models, Small Data Area): Replace by
624 include of m32r-opts.h.
625 * config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
626 HeaderInclude entry.
627 (m32r_model_selected, m32r_sdata_selected): New Variable entries.
628 (mmodel=): Use Enum and Var.
629 (m32r_model): New Enum and EnumValue entries.
630 (mno-flush-trap): Use Var.
631 (msdata=): Use Enum and Var.
632 (m32r_sdata): New Enum and EnumValue entries.
633
bbfc9a8c
JM
6342011-03-22 Joseph Myers <joseph@codesourcery.com>
635
636 * config/m32c/m32c.c: Don't include opts.h.
637 (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
638 m32c_handle_option): Remove.
639 (m32c_option_override): Check global_options_set.x_target_memregs
640 instead of target_memregs_set.
641 * config/m32c/m32c.h (target_memregs): Remove.
642 * config/m32c/m32c.opt (memregs=): Use UInteger with integer
643 variable.
644
e24b8335
JM
6452011-03-22 Joseph Myers <joseph@codesourcery.com>
646
647 * config/iq2000/iq2000-opts.h: New.
648 * config/iq2000/iq2000.c: Don't include opts.h.
649 (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 650 * config/iq2000/iq2000.h (enum processor_type, iq2000_tune): Remove.
e24b8335
JM
651 * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
652 HeaderInclude entry.
653 (iq2000_tune): New Variable entry.
654 (march=): Add comment. Use Enum.
655 (iq2000_arch): New Enum and EnumValue entries.
656 (mcpu=): Use Enum and Var.
657 (iq2000_tune): New Enum and EnumValue entries.
658
e6cc0c98
JM
6592011-03-22 Joseph Myers <joseph@codesourcery.com>
660
661 * config/ia64/ia64-opts.h: New.
662 * config/ia64/ia64.c (ia64_tune): Remove.
663 (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
664 here. Use error_at.
665 (ia64_option_override): Handle deferred OPT_mfixed_range_.
666 * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
667 * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
668 HeaderInclude entry.
669 (ia64_tune): New Variable entry.
670 (mfixed-range=): Use Defer and Var.
671 (mtune=): Use Enum and Var.
672 (ia64_tune): New Enum and EnumValue entries.
673
db25893c
JM
6742011-03-22 Joseph Myers <joseph@codesourcery.com>
675
676 * config/frv/frv-opts.h: New.
677 * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
678 frv-opts.h.
679 (frv_cpu_type): Remove.
680 * config/frv/frv.c: Don't include opts.h.
681 (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 682 * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry.
db25893c
JM
683 (frv_cpu_type): New Variable entry.
684 (frv_cpu): New Enum and EnumValue entries.
685
6c223f5d
JM
6862011-03-22 Joseph Myers <joseph@codesourcery.com>
687
688 * config/cris/cris.c (cris_handle_option): Access target_flags via
689 opts pointer. Don't assert that global structures are in use.
690 Don't call CRIS_SUBTARGET_HANDLE_OPTION.
691 * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
692
bbd399cf
JM
6932011-03-22 Joseph Myers <joseph@codesourcery.com>
694
695 * config/bfin/bfin-opts.h: New.
696 * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
697 bfin_si_revision, bfin_workarounds): Remove.
698 (bfin_cpus): Make static const.
699 (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
700 not bfin_lib_id_given.
701 (bfin_handle_option): Don't set bfin_lib_id_given. Access
702 bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
c78dd519 703 pointer. Use error_at. Don't assert that global structures are in use.
bbd399cf
JM
704 * config/bfin/bfin.h: Include bfin-opts.h.
705 (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
706 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
707 * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
708 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
709 entries.
710
5e1b4d5a
JM
7112011-03-22 Joseph Myers <joseph@codesourcery.com>
712
713 * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
714 * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
715 or -msoft-float here.
716 * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
717 -msoft-float and -mhard-float.
c78dd519 718 (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and -msoft-float.
5e1b4d5a
JM
719 * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
720 msoft-float.
721 * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
722 -msoft-float.
723 (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
724 * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
725 not mhard-float.
726 (LIBGCC_SPEC): Don't handle -msoft-float.
727 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
728 -mhard-float.
729 * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
730 msoft-float.
731 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
732 -mfloat-abi=*, not -msoft-float and -mhard-float.
733 * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
734 -msoft-float.
735 * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
736 Use mfloat-abi=hard and mfloat-abi=soft in comments, not
737 mhard-float and msoft-float.
738 * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
739 mfloat-abi=soft in comments, not mhard-float and msoft-float.
740 * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
741 mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
742 mhard-float.
743 * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
744 mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
745 msoft-float.
746 * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
747 not mhard-float.
748 * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
749 not msoft-float.
750
800d1de1
RH
7512011-03-22 Richard Henderson <rth@redhat.com>
752
753 * config/alpha/alpha.c (alpha_expand_prologue): Don't test
754 TARGET_ABI_WINDOWS_NT.
755 (alpha_output_function_end_prologue): Likewise.
756 * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
757 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
758 * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
759 (trap, *movsi_nt_vms): Likewise.
760 (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
761 (*tablejump_osf_nt_internal): Remove.
762 * config/alpha/predicates.md (input_operand): Only test Pmode.
763
c59ddd2b
JM
7642011-03-22 Joseph Myers <joseph@codesourcery.com>
765
766 * config/alpha/alpha.c (alpha_handle_option): Access target_flags
767 via opts pointer. Use error_at. Don't assert that global
768 structures are in use.
769
1333f97f
JM
7702011-03-22 Joseph Myers <joseph@codesourcery.com>
771
772 * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
773 (ix86_handle_option): Access ix86_isa_flags and
774 ix86_isa_flags_explicit via opts pointer. Don't assert that
775 global structures are in use.
776 (ix86_function_specific_save, ix86_function_specific_restore):
777 Update ix86_isa_flags_explicit field name.
c78dd519 778 * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable entry.
1333f97f
JM
779 (ix86_isa_flags_explicit): Rename TargetSave entry to
780 x_ix86_isa_flags_explicit.
781
75db85d8
RH
7822011-03-22 Richard Henderson <rth@redhat.com>
783
784 * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
785 (alpha_option_override, direct_return): Likewise.
786 (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
787 (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
788 (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
789 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
790 (alpha_expand_epilogue, alpha_end_function): Likewise.
791 (alpha_init_libfuncs): Likewise.
792 (struct machine_function): Remove unicosmk members.
793 (print_operand) ['t']: Remove.
794 (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
795 unicosmk_output_module_name, unicosmk_output_common,
796 current_section_align, unicosmk_output_text_section_asm_op,
797 unicosmk_output_data_section_asm_op, unicosmk_init_sections,
798 unicosmk_section_type_flags, unicosmk_unique_section,
799 unicosmk_asm_named_section, unicosmk_insert_attributes,
800 unicosmk_output_align, unicosmk_defer_case_vector,
801 unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
802 SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
803 unicosmk_output_ssib, unicosmk_add_call_info_word,
804 unicosmk_extern_head, unicosmk_output_default_externs,
805 unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
806 unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
807 unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
808 * config/alpha/alpha-protos.h: Update.
809 * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
810 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
811 (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
812 (mulsi3): Don't test TARGET_ABI_UNICOSMK.
813 (*mulsi_se, mulvsi3): Likewise.
814 (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
815 (*divmodsi_internal, call, call_value, realign): Likewise.
816 (moddi3, umoddi3): Likewise; remove duplicate expander.
817 (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
818 (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
819 (*movdi_nofix): Remove r/U alternative.
820 (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
821 * config/alpha/constraints.md ("U"): Remove.
822 * config/alpha/predicates.md (call_operand"): Don't test
823 TARGET_ABI_UNICOSMK.
824
96e45421
JM
8252011-03-22 Joseph Myers <joseph@codesourcery.com>
826
827 * target.def (handle_option): Take gcc_options and
828 cl_decoded_option pointers and location_t.
829 * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
830 * doc/tm.texi: Regenerate.
831 * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
832 * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
833 * lto-opts.c (lto_reissue_options): Generate option structure for
834 targetm.handle_option call.
835 * opts.c (target_handle_option): Update call to
836 targetm.handle_option. Remove assertions about values now passed
837 down to hook.
838 * targhooks.c (default_target_handle_option): New.
839 * targhooks.h (default_target_handle_option): Declare.
840 * config/alpha/alpha.c: Include opts.h.
841 (alpha_handle_option): Update to new hook interface.
842 * config/arm/arm.c: Include opts.h.
843 (arm_handle_option): Update to new hook interface.
844 * config/arm/t-arm (arm.o): Update dependencies.
845 * config/bfin/bfin.c: Include opts.h.
846 (bfin_handle_option): Update to new hook interface.
847 * config/cris/cris.c: Include opts.h.
848 (cris_handle_option): Update to new hook interface.
849 * config/frv/frv.c: Include opts.h.
850 (frv_handle_option): Update to new hook interface.
851 * config/i386/i386.c: Include opts.h.
852 (ix86_handle_option): Update to new hook interface.
853 (ix86_valid_target_attribute_inner_p): Generate option structure
854 for call to ix86_handle_option.
855 * config/i386/t-i386 (i386.o): Update dependencies.
856 * config/ia64/ia64.c: Include opts.h.
857 (ia64_handle_option): Update to new hook interface.
858 * config/ia64/t-ia64 (ia64.o): Update dependencies.
859 * config/iq2000/iq2000.c: Include opts.h.
860 (iq2000_handle_option): Update to new hook interface.
861 * config/m32c/m32c.c: Include opts.h.
862 (m32c_handle_option): Update to new hook interface.
863 * config/m32r/m32r.c: Include opts.h.
864 (m32r_handle_option): Update to new hook interface.
865 * config/m68k/m68k.c: Include opts.h.
866 (m68k_handle_option): Update to new hook interface.
867 * config/mep/mep.c: Include opts.h.
868 (mep_handle_option): Update to new hook interface.
869 * config/microblaze/microblaze.c: Include opts.h.
870 (microblaze_handle_option): Update to new hook interface.
871 * config/mips/mips.c: Include opts.h.
872 (mips_handle_option): Update to new hook interface.
873 * config/mn10300/mn10300.c: Include opts.h.
874 (mn10300_handle_option): Update to new hook interface.
875 * config/pa/pa.c: Include opts.h.
876 (pa_handle_option): Update to new hook interface.
877 * config/pdp11/pdp11.c: Include opts.h.
878 (pdp11_handle_option): Update to new hook interface.
879 * config/rs6000/rs6000.c: Include opts.h.
880 (rs6000_handle_option): Update to new hook interface.
881 * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
882 * config/rx/rx.c: Include opts.h.
883 (rx_handle_option): Update to new hook interface.
884 * config/s390/s390.c: Include opts.h.
885 (s390_handle_option): Update to new hook interface.
886 * config/score/score.c: Include opts.h.
887 (score_handle_option): Update to new hook interface.
888 * config/sh/sh.c: Include opts.h.
889 (sh_handle_option): Update to new hook interface.
890 * config/sparc/sparc.c: Include opts.h.
891 (sparc_handle_option): Update to new hook interface.
892 * config/v850/v850.c: Include opts.h.
893 (v850_handle_option): Update to new hook interface.
894
66017846
JM
8952011-03-22 Joseph Myers <joseph@codesourcery.com>
896
897 * gcc.c (driver_unknown_option_callback): Only permit and save
898 unknown -Wno- options.
899 (driver_wrong_lang_callback): Save options directly instead of via
900 driver_unknown_option_callback.
901
e8b97ccd
EB
9022011-03-22 Eric Botcazou <ebotcazou@adacore.com>
903
904 * combine.c (simplify_set): Try harder to find the best CC mode when
905 simplifying a nested COMPARE on the RHS.
906
ebb9f8b0
JM
9072011-03-22 Joseph Myers <joseph@codesourcery.com>
908
909 * config/alpha/gnu.h: Remove.
910 * config/arc: Remove directory.
911 * config/arm/netbsd.h: Remove.
912 * config/arm/t-pe: Remove.
913 * config/crx: Remove directory.
914 * config/i386/netbsd.h: Remove.
915 * config/m68hc11: Remove directory.
916 * config/m68k/uclinux-oldabi.h: Remove.
917 * config/mcore/mcore-pe.h: Remove.
918 * config/mcore/t-mcore-pe: Remove.
919 * config/netbsd-aout.h: Remove.
920 * config/rs6000/gnu.h: Remove.
921 * config/sh/sh-symbian.h: Remove.
922 * config/sh/symbian-base.c: Remove.
923 * config/sh/symbian-c.c: Remove.
924 * config/sh/symbian-cxx.c: Remove.
925 * config/sh/symbian-post.h: Remove.
926 * config/sh/symbian-pre.h: Remove.
927 * config/sh/t-symbian: Remove.
928 * config/svr3.h: Remove.
929 * config/vax/netbsd.h: Remove.
930 * config.build: Don't handle i[34567]86-*-pe.
931 * config.gcc: Remove handling of deprecations for most deprecated
932 targets.
933 (m68k-*-uclinuxoldabi*): Add to second deprecated list.
934 (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
935 i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
936 m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
937 powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
938 sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
939 Remove cases.
940 * config.host: Don't handle i[34567]86-*-pe.
941 * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
942 (ASM_SPEC32): Don't handle -mcall-gnu.
943 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
944 -mcall-gnu.
945 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
946 STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
947 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
948 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
949 (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
950 * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
951 conditional on SYMBIAN.
952 * configure.ac: Don't handle powerpc*-*-gnu*.
953 * configure: Regenerate.
954 * doc/extend.texi (interrupt attribute): Don't mention CRX.
955 * doc/install-old.texi (m6811, m6812): Don't mention.
956 * doc/install.texi (arc-*-elf*): Don't document multilib option.
957 (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
958 (m68k-uclinuxoldabi): Don't mention.
959 * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
960 Remove.
961 (-mcall-gnu): Remove.
962 * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
963 families): Remove constraint documentation.
964
999a7d80
MS
9652011-03-22 Marius Strobl <marius@FreeBSD.org>
966
967 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
968 (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
969 (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
970
980a0ff4
GJL
9712011-03-21 Georg-Johann Lay <avr@gjlay.de>
972
973 * config/avr/avr-protos.h (expand_epilogue): Change prototype
974 * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
975 * config/avr/avr.c (init_cumulative_args)
976 (avr_function_arg_advance): Use it.
977 * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
978 sibcall epilogues.
979 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
980 (avr_function_ok_for_sibcall): ...this new function.
981 (avr_lookup_function_attribute1): New static Function.
982 (avr_naked_function_p, interrupt_function_p)
983 (signal_function_p, avr_OS_task_function_p)
984 (avr_OS_main_function_p): Use it.
985 * config/avr/avr.md ("sibcall", "sibcall_value")
986 ("sibcall_epilogue"): New expander.
987 ("*call_insn", "*call_value_insn"): New insn.
988 ("call_insn", "call_value_insn"): Remove
989 ("call", "call_value", "epilogue"): Change expander to handle
990 sibling calls.
991
49168734
NC
9922011-03-21 Nick Clifton <nickc@redhat.com>
993
994 * doc/invoke.texi (Overall Options): Move closing brace to end of
995 options list.
996 (Optimization Options): Add missing @gol.
997 (Directory Options): Likewise.
998 (i386 and x86-64 Options): Likewise.
999 (RS6000 and PowerPC Options): Likewise.
1000 (i386 and x86-64 Windows Options): Likewise.
1001 (V850 Options): Add text missing from descriptions.
1002
bdfe906f
RH
10032011-03-22 Richard Henderson <rth@redhat.com>
1004
1005 * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
1006 (avr_incoming_return_addr_rtx): New.
1007 (emit_push_byte): New.
1008 (expand_prologue): Use it. Remove incorrect dwarf annotation for
1009 SREG, RAMPZ, zero register. Push frame pointer by bytes. Add dwarf
1010 annotation for __prologue_saves__. Fixup dwarf annotation for CFA.
1011 (emit_pop_byte): New.
1012 (expand_epilogue): Use it. Pop frame pointer by bytes.
1013 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
1014 (INCOMING_RETURN_ADDR_RTX): New.
1015 (INCOMING_FRAME_SP_OFFSET): New.
1016 (ARG_POINTER_CFA_OFFSET): New.
1017 * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
1018 (*pushhi, *pushsi, *pushsf, popqi): Likewise.
1019 (pophi): Remove.
1020
d090a5aa
RH
1021 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
1022
fdf3e18a
NF
10232011-03-22 Nathan Froyd <froydnj@codesourcery.com>
1024
1025 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
1026 (FUNCTION_ARG_ADVANCE): Likewise.
1027 * tm.texi.in: Change references to them to hook references.
1028 * tm.texi: Regenerate.
1029 * targhooks.c (default_function_arg): Eliminate check for target
1030 macro.
1031 (default_function_incoming_arg): Likewise.
1032 (default_function_arg_advance): Likewise.
c78dd519 1033 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
fdf3e18a
NF
1034 (function_arg_advance): Likewise.
1035 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
1036
009d3fcf
NF
10372011-03-22 Nathan Froyd <froydnj@codesourcery.com>
1038
1039 * tree.c (build_call_1): New function.
1040 (build_call_valist, build_call_array_loc, build_call_vec): Call it.
1041
7bec30e1
RG
10422011-03-22 Richard Guenther <rguenther@suse.de>
1043
1044 PR tree-optimization/48228
1045 * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
1046 for single-arg PHIs.
1047
0b7e851b
AB
10482011-03-22 Andrey Belevantsev <abel@ispras.ru>
1049
1050 PR rtl-optimization/48143
1051 * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
1052 (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
1053 sse2_cvtps2pd): Likewise.
1054
d89afca5
AK
10552011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1056
1057 * recog.c (canonicalize_change_group): Use validate_unshare_change.
1058
f471fe72
RG
10592011-03-22 Richard Guenther <rguenther@suse.de>
1060
1061 * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
1062 a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
1063 * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
1064 and REALIGN_LOAD_EXPR.
1065 (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
1066 DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
1067 * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
1068 DOT_PROD_EXPR case ...
1069 (expand_expr_real_2): ... here.
1070 * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
1071 and REALIGN_LOAD_EXPR.
1072 * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
1073 * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
1074 (vect_create_epilog_for_reduction): Likewise.
1075 (vectorizable_reduction): Likewise.
1076 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
1077 * tree-vect-stmts.c (vectorizable_load): Likewise.
1078
f2f81d57
EB
10792011-03-22 Eric Botcazou <ebotcazou@adacore.com>
1080
1081 * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
1082
ab081dd6
AK
10832011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1084
1085 * config/s390/s390.c (s390_delegitimize_address): Fix offset
1086 handling for PLTOFF/GOTOFF.
1087
6fd5332b
NC
10882011-03-22 Nick Clifton <nickc@redhat.com>
1089
1090 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
1091 trailing backslash from the end of the macro definition.
1092
01841ac0
AK
10932011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1094
1095 * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
1096 and PLT unspecs.
1097
2ef6ce06
RS
10982011-03-21 Richard Sandiford <richard.sandiford@linaro.org>
1099
1100 * expr.h (prepare_operand): Move to...
1101 * optabs.h (prepare_operand): ...here and change the insn code
1102 parameter from "int" to "enum insn_code".
1103 (insn_operand_matches): Declare.
1104 * expr.c (init_expr_target): Use insn_operand_matches.
1105 (compress_float_constant): Likewise.
1106 * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
1107 * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
1108 (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
c78dd519
UB
1109 (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn):
1110 Likewise.
2ef6ce06
RS
1111 (gen_cond_trap): Likewise.
1112 (prepare_operand): Likewise. Change icode to an insn_code.
1113 (insn_operand_matches): New function.
1114 * reload.c (find_reloads_address_1): Use insn_operand_matches.
1115 * reload1.c (gen_reload): Likewise.
1116 * targhooks.c (default_secondary_reload): Likewise.
1117
9e43ad68
UB
11182011-03-21 Uros Bizjak <ubizjak@gmail.com>
1119
9a96da32
UB
1120 * config/alpha/alpha.md (unspec): New define_c_enum.
1121 (unspecv): Ditto.
1122
11232011-03-21 Uros Bizjak <ubizjak@gmail.com>
1124
1125 PR debug/48214
9e43ad68
UB
1126 * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
1127 between a call and its CALL_ARG_LOCATION note.
1128
31408f60
EB
11292011-03-21 Eric Botcazou <ebotcazou@adacore.com>
1130
1131 * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
1132
11332011-03-21 Jakub Jelinek <jakub@redhat.com>
126e6609
JJ
1134
1135 PR c/42544
1136 PR c/48197
1137 * c-common.c (shorten_compare): If primopN is first sign-extended
1138 to opN and then zero-extended to result type, set primopN to opN.
1139
9dfd55f5
DJ
11402011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
1141
1142 * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
1143 for barrier handlers.
1144
f3c33d9d
MM
11452011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
1146
1147 * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
1148 UNSPEC constants to be in the unspec enumeration, and redefine
1149 all UNSPECV constants to be in the unspecv enumeration, so that
1150 dumps print which unspec/unspec_volatile this is.
1151 * config/rs6000/vector.md (UNSPEC_*): Ditto.
1152 * config/rs6000/paired.md (UNSPEC_*): Ditto.
1153 * config/rs6000/vsx.md (UNSPEC_*): Ditto.
1154 * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
1155 * config/rs6000/dfp.md (UNSPEC_*): Ditto.
1156
1157 * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
1158 UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
1159 UNSPECV_LWSYNC, since these are used as unspec_volatile.
1160 * config/rs6000/sync.md (isync, lwsync): Ditto.
1161
ac43f774
RG
11622011-03-21 Richard Guenther <rguenther@suse.de>
1163
1164 * params.def (lto-min-partition): Fix typo.
1165
411cdbd8
RG
11662011-03-21 Richard Guenther <rguenther@suse.de>
1167
1168 PR c/47939
1169 * c-decl.c (grokdeclarator): Drop to the main variant only
1170 for array types. Drop flag_gen_aux_info check.
1171
1cd9e416
RG
11722011-03-21 Richard Guenther <rguenther@suse.de>
1173
1174 PR translation/47911
1175 * params.def (lto-partitions): Fix typo.
1176 (lto-min-partition): Fix wording.
1177
ada5ad67
AT
11782011-03-21 Andreas Tobler <andreast@fgznet.ch>
1179
1180 * config/rs6000/t-freebsd: Remove duplication from file.
1181
f9613c9a
RG
11822011-03-21 Richard Guenther <rguenther@suse.de>
1183
1184 PR middle-end/47661
1185 * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
1186
9bfbc1eb
RG
11872011-03-21 Richard Guenther <rguenther@suse.de>
1188
1189 PR lto/48210
1190 * params.def (lto-partitions): Require at least 1 partition.
1191
a2268084
RO
11922011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1193
1194 * gthr-solaris.h: Remove.
1195 * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
1196 * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
1197 (LIB_SPEC): Likewise.
1198 * config/sol2.opt (threads): Remove.
9e43ad68 1199 * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
a2268084
RO
1200 (sparc*-*-solaris2*): Likewise.
1201 * configure.ac (enable_threads): Enable solaris support.
1202 * configure: Regenerate.
9e43ad68 1203 * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
a2268084
RO
1204 * doc/install.texi (Configuration, --enable-threads=lib): Remove
1205 solaris.
1206
c43d9a1b
RO
12072011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1208
1209 * config.gcc: Obsolete *-*-solaris2.8*.
1210 * doc/install.texi (Specific, *-*-solaris2*): Document it.
1211
084239f4
RO
12122011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1213
1214 PR bootstrap/48135
1215 * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
1216 reference. Solaris 8 perl works.
1217
64cadbe7
RO
12182011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1219
1220 PR bootstrap/48135
1221 * doc/install.texi (Prerequisites): Move jar etc. up.
1222 Explain support library version requirements.
1223
eb975109
RO
12242011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1225
1226 PR bootstrap/48135
1227 * doc/install.texi (Prerequisites): Move Perl to build
1228 requirements. Always necessary on Solaris 2 with Sun ld.
1229
8a509ffd
RO
12302011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1231
1232 * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
1233 binutils 2.21.
1234 (Specific, i?86-*-solaris2.[89]): Likewise.
1235 (Specific, i?86-*-solaris2.10): Likewise.
1236 (Specific, mips-sgi-irix6): Likewise.
1237 (Specific, *-*-solaris2*): Remove Sun Studio download URL.
1238 Update for binutils 2.21.
1239
8fbc58a1
RO
12402011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1241
1242 * configure.ac (gcc_cv_lto_plugin): Fix typo.
1243 Allow -fuse-linker-plugin for non-default plugin linker.
1244 * configure: Regenerate.
1245
7e84ad0b
NP
12462011-03-21 Nicola Pero <nicola.pero@meta-innovation.com>
1247
1248 PR bootstrap/48167
1249 * gengtype.c (files_rules): Added rule for cp/parser.h.
1250
2f36e14b
JJ
12512011-03-21 Jakub Jelinek <jakub@redhat.com>
1252
1253 PR target/48213
1254 * config/s390/s390.c (s390_delegitimize_address): Don't call
1255 lowpart_subreg if orig_x has BLKmode.
1256
62d784f7
KT
12572011-03-21 Kai Tietz <ktietz@redhat.com>
1258
1259 PR target/12171
9e43ad68
UB
1260 * doc/plugins.texi: Adjust documentation for plugin register_callback.
1261 * tree.h (attribute_spec): Add new member affects_type_identity.
1262 * attribs.c (empty_attribute_table): Adjust attribute_spec
1263 initializers.
62d784f7
KT
1264 * config/alpha/alpha.c: Likewise.
1265 * config/arc/arc.c: Likewise.
1266 * config/arm/arm.c: Likewise.
1267 * config/avr/avr.c: Likewise.
1268 * config/bfin/bfin.c: Likewise.
1269 * config/crx/crx.c: Likewise.
1270 * config/darwin.h: Likewise.
1271 * config/h8300/h8300.c: Likewise.
1272 * config/i386/cygming.h: Likewise.
1273 * config/i386/i386.c: Likewise.
1274 * config/ia64/ia64.c: Likewise.
1275 * config/m32c/m32c.c: Likewise.
1276 * config/m32r/m32r.c: Likewise.
1277 * config/m68hc11/m68hc11.c: Likewise.
1278 * config/m68k/m68k.c: Likewise.
1279 * config/mcore/mcore.c: Likewise.
1280 * config/mep/mep.c: Likewise.
1281 * config/microblaze/microblaze.c: Likewise.
1282 * config/mips/mips.c: Likewise.
1283 * config/rs6000/rs6000.c: Likewise.
1284 * config/rx/rx.c: Likewise.
1285 * config/sh/sh.c: Likewise.
1286 * config/sol2.h: Likewise.
1287 * config/sparc/sparc.c: Likewise.
1288 * config/spu/spu.c: Likewise.
1289 * config/stormy16/stormy16.c: Likewise.
1290 * config/v850/v850.c: Likewise.
1291
54833ec0
CLT
12922011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
1293
1294 * simplify-rtx.c (simplify_binary_operation_1): Handle
1295 (xor (and A B) C) case when B and C are both constants.
1296
14a41392
MX
12972011-03-21 Mingjie Xing <mingjie.xing@gmail.com>
1298
1299 * tree-dfa.c (add_referenced_var): Fix typo in comment.
1300
806c3492
EB
13012011-03-20 Eric Botcazou <ebotcazou@adacore.com>
1302
1303 PR bootstrap/48168
1304 * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
1305
65e0a0f3
JJ
13062011-03-20 Jakub Jelinek <jakub@redhat.com>
1307
1308 PR rtl-optimization/48156
1309 * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
1310 assume df and df_lr are not NULL.
1311
b6a75dda
RR
13122011-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
1313
1314 PR debug/48023
1315 * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
1316 between a call and its CALL_ARG_LOCATION note.
1317
5969b52d
KK
13182011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
1319
1320 PR debug/48178
1321 * config/sh/sh.c (find_barrier): Don't emit a constant pool
1322 between a call and its corresponding CALL_ARG_LOCATION note.
1323
f773c2bd
AS
13242011-03-19 Anatoly Sokolov <aesok@post.ru>
1325
1326 * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
1327 instead of loop. Use HARD_REGISTER_NUM_P predicate.
1328 * haifa-sched.c (setup_ref_regs): Ditto.
1329 * caller-save.c (add_used_regs_1): Ditto.
1330 * dse.c (look_for_hardregs): Ditto.
1331 * df-problems.c (df_simulate_one_insn_forwards): Ditto.
1332 * sched-rgn.c (check_live_1): Ditto.
1333
8bf872f9
JM
13342011-03-18 Joseph Myers <joseph@codesourcery.com>
1335
1336 * c-decl.c (diagnose_mismatched_decls): Give an error for
1337 redefining a typedef with variably modified type.
1338
ff8e2159
JM
13392011-03-18 Joseph Myers <joseph@codesourcery.com>
1340
1341 * c-decl.c (grokfield): Don't allow typedefs for structures or
1342 unions with no tag by default.
1343 * doc/extend.texi (Unnamed Fields): Update.
1344
16cc4440
UB
13452011-03-18 Uros Bizjak <ubizjak@gmail.com>
1346
1347 * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
1348 Rewrite using indirect functions.
1349 (lwp_slwpcb): Ditto.
1350 * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
1351 (avx_vinsertf128<mode>): Ditto.
1352
e101e12e
AK
13532011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1354
1355 * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
1356 unspecs.
1357
4627c7fb
AK
13582011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1359
1360 * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
9e43ad68 1361 splitting between a call and its corresponding CALL_ARG_LOCATION note.
4627c7fb 1362
2d36b47f
MK
13632011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
1364
1365 PR rtl-optimization/48170
1366 * gcse.c (hoist_code): Remove bogus asserts.
1367
2a3d7659
JL
13682011-03-18 Georg-Johann Lay <avr@gjlay.de>
1369
1370 * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
1371 computation for prologue/epilogue.
1372
34c3ef05
RO
13732011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1374
1375 * Makefile.in (check-consistency): Remove.
1376
81f2b976
JJ
13772011-03-18 Jakub Jelinek <jakub@redhat.com>
1378
1379 PR debug/48176
1380 * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
1381 arange_table_in_use is 0, but either text_section_used or
1382 cold_text_section_used is true. Don't call it if
1383 !info_section_emitted.
1384
68fd7765
AS
13852011-03-18 Anatoly Sokolov <aesok@post.ru>
1386
1387 * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
1388 FUNCTION_VALUE_REGNO_P): Remove.
1389 * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
1390 Remove.
1391 * config/avr/avr.c (avr_ret_register): Make static inline.
1392 (avr_function_value_regno_p): New function.
1393 (avr_libcall_value): Make static. Add 'func' argument.
1394 (avr_function_value): Make static. Rename 'func' argument to
1395 'fn_decl_or_type', forward it to avr_libcall_value. Call
1396 avr_ret_register function instead of RET_REGISTER macro.
1397 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
1398
b4ef8aac
JM
13992011-03-18 Jason Merrill <jason@redhat.com>
1400
1401 PR c++/23372
1402 * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
1403
09a52fc3
RG
14042011-03-18 Richard Guenther <rguenther@suse.de>
1405
1406 * doc/install.texi (--enable-gold): Remove.
1407 (--with-plugin-ld): Document.
1408 * doc/invoke.texi (-fuse-linker-plugin): Clarify.
1409
2a3d7659 14102011-03-18 Andrew Pinski <pinskia@gmail.com>
3bf162a0
AP
1411
1412 PR middle-end/47790
1413 * expr.c (optimize_bitfield_assignment_op): Revamp to work
1414 again after expansion changes.
1415
2abbb0fe
CLT
14162011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
1417
1418 * combine.c (try_combine): Do simplification only call of
1419 subst() on i2 even when i1 is present. Update comments.
1420
2efd0aa6
KK
14212011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
1422
1423 * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
1424 and UNSPEC_PCREL_SYMOFF.
1425
30a49b23
AK
14262011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1427
1428 * config/s390/s390.md: Use define_c_enum for the unspec constant
1429 definitions.
1430
419e1853
JJ
14312011-03-18 Richard Henderson <rth@redhat.com>
1432 Jakub Jelinek <jakub@redhat.com>
1433
1434 PR bootstrap/48161
1435 * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
1436 instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
1437
37875856
L
14382011-03-17 H.J. Lu <hongjiu.lu@intel.com>
1439
1440 PR middle-end/47725
1441 * combine.c (cant_combine_insn_p): Don't check zero/sign
1442 extended hard registers.
1443
76069764
L
14442011-03-17 H.J. Lu <hongjiu.lu@intel.com>
1445
1446 PR middle-end/47725
1447 * combine.c (cant_combine_insn_p): Check zero/sign extended
1448 hard registers.
1449
24da2019
AS
14502011-03-17 Anatoly Sokolov <aesok@post.ru>
1451
1452 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
1453 * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
1454 * config/v850/v850.c (v850_output_addr_const_extra): Make static.
1455 Change return type to bool.
1456 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
1457
a82ff31f
JJ
14582011-03-17 Jakub Jelinek <jakub@redhat.com>
1459
8b29c87a
JJ
1460 PR debug/48163
1461 * var-tracking.c (prepare_call_arguments): If CALL target
1462 is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
1463 pc instead of looking it up using cselib_lookup and use
1464 Pmode for it if x has VOIDmode.
1465 * dwarf2out.c (gen_subprogram_die): If also both first and
1466 second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
1467
a82ff31f
JJ
1468 PR debug/48163
1469 * function.c (assign_parms): For data.passed_pointer parms
1470 use MEM of data.entry_parm instead of data.entry_parm itself
1471 as DECL_INCOMING_RTL.
1472 * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
1473 also when passed and declared mode is the same, DECL_RTL
1474 is a MEM with pseudo as address and DECL_INCOMING_RTL is
1475 a MEM too.
1476
82ce305c
JL
14772011-03-16 Jeff Law <law@redhat.com>
1478
1479 PR rtl-optimization/37273
1480 * ira-costs.c (scan_one_insn): Detect constants living in memory and
1481 handle them like argument loads from stack slots. Do not double
1482 count memory for memory constants and argument loads from stack slots.
1483
fe58e02b
L
14842011-03-17 H.J. Lu <hongjiu.lu@intel.com>
1485
1486 PR debug/48160
1487 * var-tracking.c (prepare_call_arguments): Check SUBREG.
1488
6fc4dbc7
L
14892011-03-17 H.J. Lu <hongjiu.lu@intel.com>
1490
1491 PR target/48171
1492 * config/i386/i386.opt: Add Save to -mavx and -mfma.
1493
db3ed0b3
JJ
14942011-03-17 Jakub Jelinek <jakub@redhat.com>
1495
8054a389
JJ
1496 PR bootstrap/48153
1497 * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
1498 if dwarf_strict.
1499 (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
1500 Clear call_arg_locations and call_arg_loc_last always.
1501
db3ed0b3
JJ
1502 PR middle-end/48152
1503 * var-tracking.c (prepare_call_arguments): If argument needs to be
1504 passed by reference, adjust argtype and mode.
1505
1bce4ff3
RG
15062011-03-17 Richard Guenther <rguenther@suse.de>
1507
1508 PR middle-end/48134
1509 * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
1510 a value make sure to fold the statement.
1511
7c71147d
CLT
15122011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
1513
1514 PR target/43872
1515 * config/arm/arm.c (arm_get_frame_offsets): Adjust early
1516 return condition with !cfun->calls_alloca.
1517
0e1ee172
RG
15182011-03-17 Richard Guenther <rguenther@suse.de>
1519
1520 PR bootstrap/48148
1521 * lto-cgraph.c (input_overwrite_node): Clear the abstract
1522 origin for decls in other ltrans units.
1523 (input_varpool_node): Likewise.
1524
f8bce518
RG
15252011-03-17 Richard Guenther <rguenther@suse.de>
1526
1527 PR middle-end/48165
1528 * tree-object-size.c (compute_object_offset): Properly return
1529 the offset operand of MEM_REFs as sizetype.
1530
1b6fa860
JJ
15312011-03-17 Jakub Jelinek <jakub@redhat.com>
1532
dabd47e7
JJ
1533 PR rtl-optimization/48141
1534 * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
1535 * dse.c: Include params.h.
1536 (active_local_stores_len): New variable.
1537 (add_wild_read, dse_step1): Clear it when setting active_local_stores
1538 to NULL.
1539 (record_store, check_mem_read_rtx): Decrease it when removing
1540 from the chain.
1541 (scan_insn): Likewise. Increase it when adding to chain, if it
1542 reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
1543 set active_local_stores to NULL before the addition.
1544 * Makefile.in (dse.o): Depend on $(PARAMS_H).
1545
1b6fa860
JJ
1546 PR rtl-optimization/48141
1547 * dse.c (record_store): If no positions are needed in an insn
1548 that cannot be deleted, at least unchain it from active_local_stores.
1549
7b5cb7d6
DS
15502011-03-16 Dodji Seketeli <dodji@redhat.com>
1551
1552 PR debug/47510
1553 * dwarf2out.c (strip_naming_typedef): Factorize out of ...
1554 (lookup_type_die_strip_naming_typedef): ... here.
1555 (get_context_die): Use it.
1556 (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
1557 the anonymous struct named by the naming typedef.
1558
585e9d9d
L
15592011-03-16 H.J. Lu <hongjiu.lu@intel.com>
1560
1561 PR target/48154
1562 * config/i386/i386.c (ix86_builtin_vectorized_function): Check
1563 TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
1564
6261ab0e
JL
15652011-03-16 Jeff Law <law@redhat.com>
1566
1567 * tree-vrp.c (identify_jump_threads): Slightly simplify type
16cc4440 1568 check for operands of conditional. Allow type to be a pointer.
6261ab0e 1569
0b0081ec
RG
15702011-03-16 Richard Guenther <rguenther@suse.de>
1571
1572 PR tree-optimization/48149
1573 * fold-const.c (fold_binary_loc): Fold
1574 COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
1575
64a3d647
RG
15762011-03-16 Richard Guenther <rguenther@suse.de>
1577
1578 PR tree-optimization/26134
1579 * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
1580 complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
1581 (non_rewritable_mem_ref_base): Handle complex type component
1582 accesses, constrain offsets for vector and complex extracts
1583 more properly.
1584
ef13324e
RG
15852011-03-16 Richard Guenther <rguenther@suse.de>
1586
1587 PR tree-optimization/48146
1588 * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
1589 operands avoiding the need for renaming.
1590
f0eddb90
RG
15912011-03-16 Richard Guenther <rguenther@suse.de>
1592
1593 * gimple-fold.c (maybe_fold_reference): Open-code relevant
1594 constant folding. Move MEM_REF canonicalization first.
1595 Rely on fold_const_aggregate_ref for initializer folding.
1596 * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
1597
e42348b8
JJ
15982011-03-16 Jakub Jelinek <jakub@redhat.com>
1599
29f10e71
JJ
1600 PR middle-end/48136
1601 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
1602 arg0/arg1 or their arguments are always fold converted to matching
1603 types.
1604
e42348b8
JJ
1605 * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
1606 to nargs.
1607
55b46574
RO
16082011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1609
1610 PR lto/46944
1611 * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
1612 Handle in-tree gold.
1613 (ld_vers): Extract binutils version for gold.
1614 (gcc_cv_ld_hidden): Handle gold here.
1615 (gcc_cv_lto_plugin): Determine level of linker plugin support.
1616 * configure: Regenerate.
1617 * config.in: Regenerate.
1618 * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
1619 -fuse-linker-plugin otherwise.
1620 (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
1621 (LINK_COMMAND_SPEC): Use it.
1622 (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
1623
2b1c5433
JJ
16242011-03-16 Jakub Jelinek <jakub@redhat.com>
1625
c2969d8e
JJ
1626 * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
1627 * calls.c: Remove debug.h include.
1628 (emit_call_1): Don't call virtual_call_token debug hook.
1629 * dwarf2out.c (debug_dcall_section, debug_vcall_section,
1630 dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
1631 vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
1632 size_of_dcall_table, output_dcall_table, size_of_vcall_table,
1633 output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
1634 vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
1635 dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
1636 dwarf2out_virtual_call): Remove.
1637 (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
1638 copy_call_info and virtual_call hooks.
1639 (dwarf2out_init): Don't initialize vcall_insn_table,
1640 debug_dcall_section and debug_vcall_section.
1641 (prune_unused_types): Don't mark nodes from dcall_table.
1642 (dwarf2out_finish): Don't output dcall or vcall tables.
1643 * final.c (final_scan_insn): Don't call direct_call or
1644 virtual_call debug hooks.
1645 * debug.h (struct gcc_debug_hooks): Remove direct_call,
1646 virtual_call_token, copy_call_info and virtual_call hooks.
1647 (debug_nothing_uid): Remove prototype.
1648 * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
1649 copy_call_info and virtual_call hooks.
1650 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
1651 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
1652 * debug.c (do_nothing_debug_hooks): Likewise.
1653 (debug_nothing_uid): Remove.
1654 * doc/invoke.texi (-fenable-icf-debug): Remove.
1655 * common.opt (-fenable-icf-debug): Likewise.
1656
325f5379
JJ
1657 * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
1658 * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
1659 call's MEM. Handle functions returning aggregate through a hidden
1660 first pointer. For virtual calls add clobbered pc to call arguments
1661 chain.
1662 * dwarf2out.c (gen_subprogram_die): Emit
1663 DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
1664 can't be emitted.
1665
a58a8e4b
JJ
1666 PR debug/45882
1667 * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
1668 * rtl.h (ENTRY_VALUE_EXP): Define.
1669 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
1670 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
1671 * print-rtl.c (print_rtx): Likewise.
1672 * gengtype.c (adjust_field_rtx_def): Likewise.
1673 * var-tracking.c (vt_add_function_parameter): Adjust
1674 gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
1675 * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
1676 * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
1677 partition is a default definition of a PARM_DECL, use ENTRY_VALUE
1678 of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
1679
2b1c5433
JJ
1680 * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
1681 Call var_location debug hook even on CALL_INSNs.
1682 (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
1683 * rtl.def (ENTRY_VALUE): New.
1684 * dwarf2out.c: Include cfglayout.h.
1685 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
1686 output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
1687 (struct call_arg_loc_node): New type.
1688 (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
1689 tail_call_site_count): New variables.
1690 (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
1691 DW_TAG_GNU_call_site_parameter.
1692 (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
1693 DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
1694 DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
1695 DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
1696 and DW_AT_GNU_all_source_call_sites.
1697 (mem_loc_descriptor): Handle ENTRY_VALUE.
1698 (add_src_coords_attributes): Don't add enything if
1699 DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
1700 (dwarf2out_abstract_function): Save and clear call_arg_location,
1701 call_site_count and tail_call_site_count around dwarf2out_decl call.
1702 (gen_call_site_die): New function.
1703 (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
1704 (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
1705 (dwarf2out_function_decl): Clear call_arg_locations,
1706 call_arg_loc_last, set call_site_count and tail_call_site_count
1707 to -1 and free block_map.
1708 (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
1709 CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
1710 followed by any real instructions.
1711 (dwarf2out_begin_function): Set call_site_count and
1712 tail_call_site_count to 0.
1713 (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
1714 is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
1715 attempt to force a DIE for it and worst case remove the attribute.
1716 (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
1717 check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
1718 the decl itself.
1719 * var-tracking.c: Include tm_p.h.
1720 (vt_stack_adjustments): For calls call note_register_arguments.
1721 (argument_reg_set): New variable.
1722 (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
1723 ensure the VALUE is resolved.
1724 (call_arguments): New variable.
1725 (prepare_call_arguments): New function.
1726 (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
1727 (struct expand_loc_callback_data): Add ignore_cur_loc field.
1728 (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
1729 always use the best expression.
1730 (vt_expand_loc): Add ignore_cur_loc argument.
1731 (vt_expand_loc_dummy): Clear ignore_cur_loc field.
1732 (emit_note_insn_var_location): Adjust vt_expand_loc callers.
1733 (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
1734 note for all calls.
1735 (vt_add_function_parameter): Use cselib_lookup_from_insn.
1736 If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
1737 argument. Don't call cselib_preserve_only_values and
1738 cselib_reset_table.
1739 (note_register_arguments): New function.
1740 (vt_initialize): Compute argument_reg_set. Call
1741 vt_add_function_parameters before processing basic blocks instead of
1742 afterwards. For calls call prepare_call_arguments before calling
1743 cselib_process_insn.
1744 * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
1745 * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
1746 (var-tracking.o): Depend on $(TM_P_H).
1747 * cfglayout.h (insn_scope): New prototype.
1748 * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
1749 * cfglayout.c (insn_scope): No longer static.
1750 * insn-notes.def (CALL_ARG_LOCATION): New.
1751 * calls.c (expand_call, emit_library_call_value_1): Put USEs for
1752 MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
1753 * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
1754 nothing for DECL_EXTERNAL BLOCK_VARS.
1755
9ef13bd0
AM
17562011-03-16 Alan Modra <amodra@gmail.com>
1757
1758 PR target/45844
1759 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
1760 create invalid offset address for vsx splat insn.
1761 * config/rs6000/predicates.md (splat_input_operand): New.
1762 * config/rs6000/vsx.md (vsx_splat_*): Use it.
1763
56b67510
XDL
17642011-03-15 Xinliang David Li <davidxl@google.com>
1765
1766 PR c/47837
1767 * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
1768 (normalize_preds): New function.
1769 (is_use_properly_guarded): Normalize def predicates.
1770
80fffdef
RR
17712011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
1772
732f37c6 1773 PR target/46788
80fffdef
RR
1774 * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
1775 in the output template.
1776
930672ad
RG
17772011-03-15 Richard Guenther <rguenther@suse.de>
1778
1779 PR middle-end/47650
1780 * tree-pretty-print.c (dump_function_declaration): Properly
1781 dump unprototyped and varargs function types.
1782
c7ee7b45
RG
17832011-03-15 Richard Guenther <rguenther@suse.de>
1784
1785 PR tree-optimization/13954
1786 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
1787 and friends.
1788
b2ad5e37
RG
17892011-03-15 Richard Guenther <rguenther@suse.de>
1790
1791 PR tree-optimization/48037
1792 * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
1793 selects into BIT_FIELD_REFs.
1794 (non_rewritable_mem_ref_base): Check if a MEM_REF is a
1795 vector select.
1796
7ee93d4e
JJ
17972011-03-15 Jakub Jelinek <jakub@redhat.com>
1798
1799 PR tree-optimization/48129
1800 * builtins.c (fold_builtin_snprintf): Convert to type of
1801 built_in_decls[BUILT_IN_SNPRINTF] retval instead of
1802 implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
1803
e106efc7
RG
18042011-03-15 Richard Guenther <rguenther@suse.de>
1805
1806 PR tree-optimization/41490
1807 * tree-ssa-dce.c (propagate_necessity): Handle returns without
1808 value but with VUSE.
1809 * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
1810 return statements.
1811 * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
1812 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
1813 * tree-tailcall.c (find_tail_calls): Ignore returns.
1814
17dea42f
RG
18152011-03-15 Richard Guenther <rguenther@suse.de>
1816
1817 PR middle-end/48031
1818 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
1819 or variable-indexed array accesses when in gimple form.
1820
01c77a60
RG
18212011-03-15 Richard Guenther <rguenther@suse.de>
1822
16cc4440 1823 * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
01c77a60 1824
77b0791e
AM
18252011-03-15 Alan Modra <amodra@gmail.com>
1826
1827 PR target/48032
1828 * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
1829 presume symbol_refs without a symbol_ref_decl are suitably
1830 aligned, nor other trees we may see here. Handle anchor symbols.
1831 (legitimate_constant_pool_address_p): Comment. Add mode param.
1832 Check cmodel=medium addresses. Adjust all calls.
1833 (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
1834 creating cmodel=medium optimized access to locals.
1835 * config/rs6000/constraints.md (R): Pass QImode to
1836 legitimate_constant_pool_address_p.
1837 * config/rs6000/predicates.md (input_operand): Pass mode to
1838 legitimate_constant_pool_address_p.
1839 * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
1840 Update prototype.
1841
35f61ba4
MM
18422011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
1843
1844 PR target/48053
1845 * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
1846 64-bit constants being loaded into registers other than GPRs such
1847 as loading 0 into a VSX register.
1848
07332e6d
RO
18492011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1850
16cc4440 1851 * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
07332e6d 1852
de888d90
JJ
18532011-03-14 Jakub Jelinek <jakub@redhat.com>
1854
ba3ceb2d
JJ
1855 PR middle-end/47917
1856 * builtins.c (fold_builtin_snprintf): New function.
1857 (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
1858 (fold_builtin_4): Likewise.
1859
2e64f8b8
JJ
1860 PR middle-end/38878
1861 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
1862 STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
1863 and C - X == X also strip nops from +/-/p+ operand.
1864 When optimizing -X == C, fold C to arg0's type.
1865
de888d90
JJ
1866 PR debug/47946
1867 * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
1868 emit it as add_AT_int instead of add_AT_unsigned.
1869
18702011-03-14 Tom Tromey <tromey@redhat.com>
f4e749b4
TT
1871
1872 * unwind-dw2.c: Include sys/sdt.h if it exists.
1873 (_Unwind_DebugHook): Use STAP_PROBE2.
1874 * config.in, configure: Rebuild.
1875 * configure.ac: Check for sys/sdt.h.
1876
d34abfd2
UB
18772011-03-14 Uros Bizjak <ubizjak@gmail.com>
1878
1879 * config/i386/i386.md (ROUND_FLOOR): New constant.
1880 (ROUND_CEIL): Ditto.
1881 (ROUND_TRUNC): Ditto.
1882 (ROUND_MXCSR): Ditto.
1883 (ROUND_NO_EXC): Ditto.
1884 (rint<mode>2): Use new defines instead of numerical constants.
1885 (floor<mode>2): Ditto.
1886 (ceil<mode>2): Ditto.
1887 (btrunc<mode>2): Ditto.
1888 * config/i386/i386-builtin-types.def: Define ROUND function type
1889 aliases.
1890 * config/i386/i386.c (enum ix86_builtins): Add
1891 IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
1892 (struct builtin_description): Add
1893 __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
1894 (ix86_expand_sse_round): New static function.
1895 (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
1896 function types.
1897 (ix86_builtin_vectorized_function): Handle
1898 BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
1899
87f9e23d
TT
19002011-03-14 Tom Tromey <tromey@redhat.com>
1901
1902 * c-parser.c (c_parser_asm_string_literal): Clear
1903 warn_overlength_strings.
1904
b3ab9ea2
TT
19052011-03-14 Tom Tromey <tromey@redhat.com>
1906
1907 * c-parser.c (disable_extension_diagnostics): Save
1908 warn_overlength_strings.
1909 (restore_extension_diagnostics): Restore warn_overlength_strings.
1910
6bd73dd8
JJ
19112011-03-14 Jakub Jelinek <jakub@redhat.com>
1912
1913 * BASE-VER: Change to 4.7.0.
1914
7f4d6e1b
RG
19152011-03-14 Richard Guenther <rguenther@suse.de>
1916
1917 PR middle-end/48098
1918 * tree.c (build_vector_from_val): Adjust assert to requirements
1919 and reality.
1920
c6104ef1
JJ
19212011-03-14 Jakub Jelinek <jakub@redhat.com>
1922
1923 PR bootstrap/48102
d34abfd2 1924 * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
c6104ef1 1925
dfa95e19
AT
19262011-03-14 Andreas Tobler <andreast@fgznet.ch>
1927
1928 * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
1929 terms of target_flags_explicit. Adjust copyright year.
1930
1931 * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
1932 * config/rs6000/t-freebsd: New file. Add override for
1933 LIB2FUNCS_EXTRA.
1934
bb322018
CD
19352011-03-13 Chris Demetriou <cgd@google.com>
1936
1937 * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
1938 (-fno-diagnostics-show-option): this, to reflect current default.
1939 (-Werror=): Update text about -fno-diagnostics-show-option.
1940
12b1c80b
PB
19412011-03-12 Peter Bergner <bergner@vnet.ibm.com>
1942
1943 PR target/48053
1944 * config/rs6000/predicates.md (easy_vector_constant_add_self,
1945 easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
1946 * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
1947 mode is not V2DImode or V2DFmode.
1948 (vspltis_constant): Do not handle V2DImode and V2DFmode.
1949 (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
1950 * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
1951 registers to 0.
1952 (movdi_internal64): Likewise.
1953
57d598f7
SP
19542011-03-12 Sebastian Pop <sebastian.pop@amd.com>
1955
1956 PR tree-optimization/47127
1957 * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
1958 parameter.
1959 (set_cloog_options): Same.
1960 (scop_to_clast): Same.
1961 (print_clast_stmt): Do not call cloog_state_malloc and
1962 cloog_state_free.
1963 (print_generated_program): Same.
1964 (gloog): Same.
1965 * graphite-clast-to-gimple.h (cloog_state): Declared.
1966 (scop_to_clast): Adjust declaration.
1967 * graphite.c (cloog_state): Defined here.
1968 (graphite_initialize): Call cloog_state_malloc.
1969 (graphite_finalize): Call cloog_state_free.
1970
f231b5ff
JM
19712011-03-11 Jason Merrill <jason@redhat.com>
1972
1973 * attribs.c (lookup_attribute_spec): Take const_tree.
1974 * tree.h: Adjust.
1975
6a4e2bd5
JM
19762011-03-11 Joseph Myers <joseph@codesourcery.com>
1977
1978 * config/sparc/sparc.c (sparc_option_override): Use
1979 PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
1980
a758fd67
RG
19812011-03-11 Richard Guenther <rguenther@suse.de>
1982
1983 PR tree-optimization/48067
1984 * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
1985 multiplication result will be only used once on the target
1986 stmt.
1987
03dfda54
RG
19882011-03-11 Richard Guenther <rguenther@suse.de>
1989
1990 * doc/invoke.texi (max-inline-insns-single): Adjust default value.
1991
5f11a50a
RG
19922011-03-11 Richard Guenther <rguenther@suse.de>
1993
1994 PR lto/48073
1995 * tree.c (find_decls_types_r): Do not walk types only reachable
1996 from IDENTIFIER_NODEs.
1997
4074f163
JJ
19982011-03-11 Jakub Jelinek <jakub@redhat.com>
1999
2000 PR middle-end/48044
2001 * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
2002 all vnode->force_output nodes as needed.
2003
30f7cdcd
JM
20042011-03-11 Jason Merrill <jason@redhat.com>
2005
2006 PR c++/48069
2007 * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
2008 COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
2009
62ecfeb8
MJ
20102011-03-11 Martin Jambor <mjambor@suse.cz>
2011
2012 * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
2013 cgraph_node.
2014
e89e03ab
JJ
20152011-03-11 Jakub Jelinek <jakub@redhat.com>
2016
2017 PR tree-optimization/48063
2018 * ipa-inline.c (cgraph_decide_inlining): Don't try to
2019 inline functions called once if !tree_can_inline_p (node->callers).
2020
efbe978b 20212011-03-11 Chen Liqin <liqin.gcc@gmail.com>
9d6193a7 2022
efbe978b
EB
2023 * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
2024 extra_objs.
9d6193a7
CL
2025 * config/score/score3.c: Delete.
2026 * config/score/score3.h: Delete.
2027 * config/score/mul-div.S: Delete.
2028 * config/score/sfp-machine.h: Add new file.
2029 * config/score/constraints.md: Add new file.
2030 * config/score/t-score-softfp: Add new file.
efbe978b 2031 * config/score/t-score-elf: Remove score3.o, do not generate multilib.
9d6193a7
CL
2032 * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
2033 (score7_extra_constraint): Delete.
efbe978b 2034 (score7_option_override): Remove unused code.
9d6193a7
CL
2035 * config/score/score.c: Remove score3 and score5 define and code.
2036 * config/score/score.h: Remove score3 and score5 define and code.
efbe978b 2037 * config/score/score.md: Remove score3 template and unusual insn.
9d6193a7
CL
2038 * config/score/score.opt: Remove score3 and score5 options.
2039
5de27cca
JDA
20402011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2041
2042 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
2043 when _HPUX_SOURCE is defined.
2044 (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
2045
18d92053
JM
20462011-03-10 Jason Merrill <jason@redhat.com>
2047
2048 PR c++/48029
2049 * stor-layout.c (layout_type): Don't set structural equality
2050 on arrays of incomplete type.
2051 * tree.c (type_hash_eq): Handle comparing them properly.
2052
67a2f76d
JJ
20532011-03-10 Jakub Jelinek <jakub@redhat.com>
2054
2055 PR debug/48043
18d92053 2056 * config/s390/s390.c (s390_delegitimize_address): Make sure the
67a2f76d
JJ
2057 result mode matches original rtl mode.
2058
d845b2f9
NC
20592011-03-10 Nick Clifton <nickc@redhat.com>
2060
2061 * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
39242686 2062 (andsi3, andsi3_flags): Fix timings for three operand alternative.
d845b2f9 2063
db7ec035
JJ
20642011-03-09 Jakub Jelinek <jakub@redhat.com>
2065
2066 PR rtl-optimization/47866
2067 * expr.c (store_field): If MEM_SCALAR_P (target), don't use
2068 MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
2069 if target wasn't scalar.
2070 * function.c (assign_stack_temp_for_type): Assert that neither
2071 MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
2072 MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
2073 macro.
2074 * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
2075
5d304e47
AK
20762011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2077
2078 * config/s390/s390-protos.h (s390_label_align): New prototype.
2079 * config/s390/s390.c (s390_label_align): New function.
2080 * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
2081
93b826f0
MM
20822011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
2083
2084 PR target/47755
2085 * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
2086 V2DI/V2DF constants. Only all 0's or all 1's are easy.
2087 (output_vec_const_move): Ditto.
2088
ef78aed6
AS
20892011-03-08 Anatoly Sokolov <aesok@post.ru>
2090
2091 * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
2092 * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
2093 * config/mips/mips.c (mips_preferred_reload_class): Make static.
2094 Change 'rclass' argument and result type to reg_class_t.
2095 (TARGET_PREFERRED_RELOAD_CLASS): Define.
2096
5f892aa0
GJL
20972011-03-08 Georg-Johann Lay <avr@gjlay.de>
2098
9e43ad68
UB
2099 * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
2100 * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
2101 (TARGET_MEMORY_MOVE_COST): Define.
2102 (avr_register_move_cost, avr_memory_move_cost): New Functions.
5f892aa0 2103
32bd2409
JJ
21042011-03-08 Jakub Jelinek <jakub@redhat.com>
2105
530a4800
JJ
2106 PR debug/47881
2107 * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
2108 removed anything.
2109
32bd2409
JJ
2110 PR tree-optimization/48022
2111 * fold-const.c (fold_comparison): Don't call fold_overflow_warning
2112 for EQ/NE_EXPR.
2113
c7148991
JJ
21142011-03-07 Jakub Jelinek <jakub@redhat.com>
2115
2116 PR debug/47991
2117 * var-tracking.c (find_use_val): Return NULL for
2118 cui->sets && cui->store_p BLKmode MEMs.
2119
43070a6e
AS
21202011-03-07 Anatoly Sokolov <aesok@post.ru>
2121
2122 * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
2123 Remove.
2124 * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
2125 xstormy16_print_operand_address): Remove.
2126 * config/stormy16/stormy16.c (xstormy16_print_operand,
2127 xstormy16_print_operand_address): Make static.
2128 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
2129
efbe978b 21302011-03-07 Pat Haugen <pthaugen@us.ibm.com>
79eefb0d
PH
2131
2132 PR target/47862
2133 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
2134 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
2135 before definition.
2136
cec8ac0b
ZD
21372011-03-07 Zdenek Dvorak <ook@ucw.cz>
2138
2139 PR bootstrap/48000
2140 * cfgloopmanip.c (fix_bb_placements): Return immediately
2141 if FROM is BASE_LOOP's header.
2142
59527282
PW
21432011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
2144
2145 * gimplify.c (gimplify_function_tree): Fix building calls
2146 to __builtin_return_address.
2147
617718f7
AM
21482011-03-07 Alan Modra <amodra@gmail.com>
2149
2150 * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
2151 * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
2152 * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
2153 * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
2154 return_mode args.
2155 * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
2156 (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
2157 (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
2158 (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
2159 * config/rs6000/rs6000.c
2160 (rs6000_elf_end_indicate_exec_stack): Rename to..
2161 (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
2162 for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
2163 (rs6000_file_start): ..here.
2164 (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
2165 file scope variables.
2166 (call_ABI_of_interest): New function.
2167 (init_cumulative_args): Set above vars when function return value
2168 is a float, vector, or small struct.
2169 (rs6000_function_arg_advance_1): Likewise for function args.
2170 (rs6000_va_start): Set rs6000_passes_float if variable arg function
2171 references float args.
2172
38528d50
MX
21732011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
2174
2175 * doc/cfg.texi: Remove "See" before @ref.
2176 * doc/invoke.texi: Likewise.
2177
f42cf4f4
JM
21782011-03-05 Jason Merrill <jason@redhat.com>
2179
2180 * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
2181
804a304d
AG
21822011-03-05 Anthony Green <green@moxielogic.com>
2183
2184 * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
2185
634ee309
ZD
21862011-03-05 Zdenek Dvorak <ook@ucw.cz>
2187
2188 PR rtl-optimization/47899
2189 * cfgloopmanip.c (fix_bb_placements): Fix first argument
2190 to flow_loop_nested_p when moving the loop upward.
2191
6fe471c8
RE
21922011-03-05 Richard Earnshaw <rearnsha@arm.com>
2193
2194 PR target/47719
2195 * arm.md (movhi_insn_arch4): Accept any immediate constant.
2196
cc58ceee
JJ
21972011-03-05 Jakub Jelinek <jakub@redhat.com>
2198
2199 PR tree-optimization/47967
2200 * ipa-cp.c (build_const_val): Return NULL instead of creating
2201 VIEW_CONVERT_EXPR for mismatching sizes.
2202 (ipcp_create_replace_map): Return NULL if build_const_val failed.
2203 (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
2204 give up on versioning.
2205
ea868305
AM
22062011-03-05 Alan Modra <amodra@gmail.com>
2207
2208 PR target/47986
2209 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
2210 full cmodel medium/large lo_sum + high addresses.
2211
bc6ce334
AK
22122011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2213
2214 * config/s390/s390.c (s390_decompose_address): Reject non-literal
2215 pool references in UNSPEC_LTREL_OFFSET.
2216
87e7b310
JH
22172011-03-04 Jan Hubicka <jh@suse.cz>
2218
2219 PR lto/47497
2220 * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
2221 (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
d34abfd2
UB
2222 * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
2223 Add node pointers.
87e7b310
JH
2224 * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
2225 cgraph_add_thunk): Add node pointers.
2226 * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
2227 associated to right node.
2228 (input_node): Update use of cgraph_same_body_alias
2229 and cgraph_add_thunk.
2230
d9c64246
CF
22312011-03-04 Changpeng Fang <changpeng.fang@amd.com>
2232
2233 * config/i386/i386.opt (mprefer-avx128): New flag.
d34abfd2
UB
2234 * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
2235 modes when the flag -mprefer-avx128 is on.
d9c64246 2236
08707076
RS
22372011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
2238
2239 * dwarf2out.c (compare_loc_operands): Fix address handling.
2240
52517c81
AM
22412011-03-04 Alan Modra <amodra@gmail.com>
2242
2243 * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
2244
b147c5b9
RG
22452011-03-04 Richard Guenther <rguenther@suse.de>
2246
2247 PR middle-end/47968
2248 * expmed.c (extract_bit_field_1): Prefer vector modes that
2249 vec_extract patterns can handle.
2250
8750672f
RG
22512011-03-04 Richard Guenther <rguenther@suse.de>
2252
2253 PR middle-end/47975
2254 * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
2255
9eac0f2a
RH
22562011-03-04 Richard Henderson <rth@redhat.com>
2257
2258 * explow.c (emit_stack_save): Remove 'after' parameter.
2259 (emit_stack_restore): Likewise.
2260 * expr.h: Update to match.
2261 * builtins.c, calls.c, stmt.c: Likewise.
2262 * config/alpha/alpha.md, config/avr/avr.md: Likewise.
2263 * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
2264 * function.c (expand_function_end): Insert the emit_stack_save
2265 sequence before parm_birth_insn instead of after.
2266
dfee1406
UB
22672011-03-03 Uros Bizjak <ubizjak@gmail.com>
2268
2269 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
2270 (ssse3_pmaddubsw128): Ditto.
2271 (ssse3_pmaddubsw): Ditto.
2272
f1d4c3de
SE
22732011-03-03 Steve Ellcey <sje@cup.hp.com>
2274
2275 * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
2276
71f3a3f5
JJ
22772011-03-03 Jakub Jelinek <jakub@redhat.com>
2278
423ed416
JJ
2279 PR c/47963
2280 * gimplify.c (omp_add_variable): Only call omp_notice_variable
2281 on TYPE_SIZE_UNIT if it is a DECL.
2282
71f3a3f5
JJ
2283 PR debug/47283
2284 * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
2285 first operand is not is_gimple_mem_ref_addr, try to fold it.
2286 If the operand still isn't is_gimple_mem_ref_addr, clear
2287 MEM_EXPR on op0.
2288
4b1a5c0d
RG
22892011-03-03 Richard Guenther <rguenther@suse.de>
2290
2291 PR middle-end/47283
2292 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
2293 match comment.
2294 (refs_may_alias_p_1): For release branches return true if
2295 we are confused by our input.
2296
b46616fd
AK
22972011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2298
2299 * config/s390/s390.c (s390_function_value): Rename to ...
2300 (s390_function_and_libcall_value): ... this.
2301 (s390_function_value): New function.
2302 (s390_libcall_value): New function.
dfee1406 2303 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
b46616fd
AK
2304 * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
2305 target macro definitions.
2306 * config/s390/s390-protos.h (s390_function_value): Remove prototype.
2307
46d8fabb
JM
23082011-03-02 Joseph Myers <joseph@codesourcery.com>
2309
2310 * config/i386/freebsd64.h (CC1_SPEC): Define.
2311 * config/i386/linux64.h (CC1_SPEC): Define.
2312 * config/i386/x86-64.h (CC1_SPEC): Don't define.
2313
6b1ce545
AS
23142011-03-02 Anatoly Sokolov <aesok@post.ru>
2315
2316 * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
2317 Remove.
2318 * config/stormy16/stormy16.c: Include reload.h.
2319 (xstormy16_memory_move_cost): New function.
2320 (TARGET_MEMORY_MOVE_COST): Define.
2321
34161e98
RS
23222011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
2323
2324 PR rtl-optimization/47925
2325 * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
2326 with side effects. Remove the more-specific check for volatile asms.
2327
f60a97cf
AM
23282011-03-02 Alan Modra <amodra@gmail.com>
2329
2330 PR target/47935
2331 * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
2332 toc relative addresses for valid offsets.
2333
f2ca11ca
RG
23342011-03-01 Richard Guenther <rguenther@suse.de>
2335
2336 PR tree-optimization/47890
2337 * tree-vect-loop.c (get_initial_def_for_induction): Set
2338 related stmt properly.
2339
7a00d9ea
RG
23402011-03-01 Richard Guenther <rguenther@suse.de>
2341
2342 PR lto/47924
2343 * lto-streamer.c (lto_record_common_node): Also register
2344 the canonical type.
2345
06c7edcc
RG
23462011-03-01 Richard Guenther <rguenther@suse.de>
2347
2348 PR lto/46911
2349 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
2350 Do not stream DECL_ABSTRACT_ORIGIN.
2351 (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
2352 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
2353 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
2354 Do not stream DECL_ABSTRACT_ORIGIN.
2355 (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
2356 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
2357
998871e9
AS
23582011-02-28 Anatoly Sokolov <aesok@post.ru>
2359
2360 * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
2361 FUNCTION_VALUE_REGNO_P): Remove.
b2e2ea67 2362 * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
998871e9
AS
2363 * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
2364 Add 'outgoing' argument.
2365 (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
2366 function.
2367 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
2368 TARGET_FUNCTION_VALUE_REGNO_P): Define.
2369
94369251
KT
23702011-02-28 Kai Tietz <kai.tietz@onevision.com>
2371
2372 PR debug/28047
2373 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
2374 (lookup_filename): Likewise.
b2e2ea67 2375 * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
94369251 2376
80a832cd
JJ
23772011-02-28 Bernd Schmidt <bernds@codesourcery.com>
2378 Jakub Jelinek <jakub@redhat.com>
2379
2380 PR middle-end/47893
2381 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
2382 (assign_stack_local_1): Change last argument type to int.
2383 * function.c (assign_stack_local_1): Replace reduce_alignment_ok
2384 argument with kind. If bit ASLK_RECORD_PAD is not set in it,
b2e2ea67 2385 don't record padding space into frame_space_list nor use those areas.
80a832cd
JJ
2386 (assign_stack_local): Adjust caller.
2387 (assign_stack_temp_for_type): Call assign_stack_local_1 instead
2388 of assign_stack_local, pass 0 as last argument.
2389 * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
2390 callers.
2391
1b500976
JJ
23922011-02-28 Jakub Jelinek <jakub@redhat.com>
2393
f61c6f34
JJ
2394 PR debug/47283
2395 * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
2396 Use target address_mode and pointer_mode hooks instead of hardcoded
2397 Pmode and ptr_mode. Handle some simple cases of extending if
2398 POINTERS_EXTEND_UNSIGNED < 0.
2399 (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
2400 Call convert_debug_memory_address.
2401 (expand_debug_expr) <case ADDR_EXPR>: Pass as to
2402 convert_debug_memory_address.
2403
1b500976
JJ
2404 PR middle-end/46790
2405 * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
2406 * configure: Regenerated.
2407 * config.in: Regenerated.
2408 * varasm.c (default_function_section): Return NULL
b2e2ea67 2409 if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1b500976 2410
2f2935b6
MJ
24112011-02-28 Martin Jambor <mjambor@suse.cz>
2412
2413 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
2414 the description to match the printed values.
2415
474086eb
RG
24162011-02-28 Richard Guenther <rguenther@suse.de>
2417
2418 * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
2419 of the copied scope tree.
2420
15bf6f3a
RW
24212011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2422
2423 * doc/extend.texi (Function Attributes): Avoid deeply (and
2424 wrongly) nested tables.
2425
f6b439c9
JJ
24262011-02-27 Jakub Jelinek <jakub@redhat.com>
2427
2428 PR middle-end/47903
2429 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
2430 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
2431 r isn't op0 nor op1.
2432
1d8ca2c7
GJL
24332011-02-23 Georg-Johann Lay <avr@gjlay.de>
2434
2435 * config/avr/avr.md: Remove magic comment for emacs.
2436
593fca4b
GJL
24372011-02-23 Georg-Johann Lay <avr@gjlay.de>
2438
2439 PR target/45261
2440 * config/avr/avr.c (avr_option_override): Use error on bad options.
2441 (avr_help): New function.
2442 (TARGET_HELP): Define.
2443
6609216e
GJL
24442011-02-22 Georg-Johann Lay <avr@gjlay.de>
2445
2446 PR target/42240
2447 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
2448 (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
2449
03d458af
GP
24502011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
2451
2452 * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
2453 (ARM Options): Ditto.
2454 (i386 and x86-64 Options): Ditto.
2455 (RX Options): Ditto.
2456 (SPARC Options): Ditto.
2457
1c379b78
TC
24582011-02-26 Tijl Coosemans <tijl@coosemans.org>
2459
2460 * config.gcc (i386-*-freebsd*): Make i486 the default arch on
2461 FreeBSD 6 and later. Generally use cpu generic.
2462
d5ed058c 24632011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
b2e2ea67 2464
d5ed058c
GP
2465 * doc/cpp.texi: Update copyright years.
2466
509d65dd 24672011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
308d39cd 2468
509d65dd 2469 PR target/46898
308d39cd
SB
2470 * config/lm32/lm32.md (ashrsi3): Added needed variable.
2471
509d65dd 24722011-02-25 Jon Beniston <jon@beniston.com>
308d39cd 2473
509d65dd 2474 PR target/46898
308d39cd
SB
2475 * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
2476 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
2477 * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
2478 (lm32_block_move_inline): Add type cast to remove warning.
b2e2ea67 2479 (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
308d39cd
SB
2480 (gen_int_relational): Move declarations to start of function.
2481
822ba6d7
EB
24822011-02-25 Eric Botcazou <ebotcazou@adacore.com>
2483
2484 PR tree-optimization/45470
2485 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
2486 can throw internally only.
2487 * tree-vect-stmts.c (vectorizable_call): Likewise.
2488
ef795fc2
AS
24892011-02-24 Anatoly Sokolov <aesok@post.ru>
2490
2491 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
2492 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
2493 * config/stormy16/stormy16-protos.h
2494 (xstormy16_preferred_reload_class): Remove.
2495 * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
2496 static. Change 'rclass' argument and return type to reg_class_t.
2497 (TARGET_PREFERRED_RELOAD_CLASS,
2498 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
2499
1c3277ee
RG
25002011-02-24 Richard Guenther <rguenther@suse.de>
2501
2502 * lto-streamer-in.c (input_bb): Do not find referenced vars
2503 in debug statements.
2504
67e18edb
JM
25052011-02-23 Jason Merrill <jason@redhat.com>
2506
2507 * common.opt (fabi-version): Document v5 and v6.
2508
b14fad9d
RG
25092011-02-23 Richard Guenther <rguenther@suse.de>
2510
2511 PR tree-optimization/47849
2512 * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
2513
7fcf46f5
JZ
25142011-02-23 Jie Zhang <jie@codesourcery.com>
2515
2516 * opts-common.c (decode_cmdline_option): Print empty string
2517 argument as "" in decoded->orig_option_with_args_text.
2518 * gcc.c (execute): Print empty string argument as ""
2519 in the verbose output.
2520 (do_spec_1): Keep empty string argument.
2521
f85b70fd
NF
25222011-02-23 Nathan Froyd <froydnj@codesourcery.com>
2523
2524 * config.gcc: Declare score-* and crx-* obsolete.
2525
b152a615
JZ
25262011-02-23 Jie Zhang <jie@codesourcery.com>
2527
2528 PR rtl-optimization/47763
2529 * web.c (web_main): Ignore naked clobber when replacing register.
2530
bb6e77bc
AS
25312011-02-22 Anatoly Sokolov <aesok@post.ru>
2532
2533 * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
2534 Remove.
2535
68bf6491
SP
25362011-02-22 Sebastian Pop <sebastian.pop@amd.com>
2537
2538 PR doc/47848
2539 * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
2540
88ee1fc7
MS
25412011-02-22 Mike Stump <mikestump@comcast.net>
2542
2543 * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
2544 assembler.
2545 * configure: Regenerate.
2546
6042d1dd
CLT
25472011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
2548
2549 PR rtl-optimization/46002
2550 * ira-color.c (update_copy_costs): Change class intersection
2551 test to reg_class_contents[] test of 'hard_regno'.
2552
7de97f9e
JM
25532011-02-21 Joseph Myers <joseph@codesourcery.com>
2554
2555 * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
2556 than Driver option.
2557 * config/hpux11.opt (mt): Likewise.
2558 * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
2559 * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
2560 * config/vax/elf.opt (mno-asm-pic): Likewise.
2561 * config/vms/vms.opt (map, mvms-return-codes): Likewise.
2562
d1d46f9f
MS
25632011-02-21 Mike Stump <mikestump@comcast.net>
2564
2565 PR target/47822
2566 * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
2567 tree so we can get save the type.
2568 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
2569 for CFString instead of trying to use past the end of the builtins.
2570 * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
2571 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
2572 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
2573 * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
2574 Rename to darwin_builtin_cfstring.
2575 (darwin_init_cfstring_builtins): Return the built type.
2576
23e0d930
UB
25772011-02-21 Uros Bizjak <ubizjak@gmail.com>
2578
2579 PR target/47840
2580 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
2581 (_mm256_insert_epi64): Use _mm_insert_epi64.
2582
192997cf
AS
25832011-02-21 Anatoly Sokolov <aesok@post.ru>
2584
2585 * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
2586 * config/stormy16/stormy16-protos.h
2587 (xstormy16_mode_dependent_address_p): Remove.
2588 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
2589 Make static. Change return type to bool. Change argument type to
2590 const_rtx. Remove dead code.
2591 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
2592
e292d003
RG
25932011-02-21 Richard Guenther <rguenther@suse.de>
2594
2595 PR lto/47820
2596 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
2597 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
2598 (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
2599 TUs context.
23e0d930 2600 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
e292d003
RG
2601 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
2602
77f846e9
RG
26032011-02-20 Richard Guenther <rguenther@suse.de>
2604
2605 PR lto/47822
2606 * tree.c (free_lang_data_in_decl): Clean builtins from
2607 the TU decl BLOCK_VARS.
23e0d930 2608
b2cddfc8
AO
26092011-02-19 Alexandre Oliva <aoliva@redhat.com>
2610
2611 PR debug/47620
2612 PR debug/47630
2613 * haifa-sched.c (fix_tick_ready): Skip tick computation
2614 for debug insns.
2615
becf4c11
RG
26162011-02-19 Richard Guenther <rguenther@suse.de>
2617
2618 PR lto/47647
2619 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
2620 Remove lazy BLOCK_VARS streaming.
2621 (lto_input_ts_block_tree_pointers): Likewise.
2622 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
2623
27f98305
JM
26242011-02-19 Joseph Myers <joseph@codesourcery.com>
2625
2626 * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
2627
064bf3f4
JM
26282011-02-19 Joseph Myers <joseph@codesourcery.com>
2629
2630 * config/i386/biarch32.h, config/i386/mach.h,
2631 config/rs6000/aix.opt, config/sh/superh64.h: Remove.
2632
9215ddc3
JJ
26332011-02-19 Jakub Jelinek <jakub@redhat.com>
2634
2635 PR target/47800
2636 * config/i386/i386.md (peephole2 for shift and plus): Use
2637 operands[1] original mode in the first insn.
2638
8b021004
MS
26392011-02-18 Mike Stump <mikestump@comcast.net>
2640
65ded153 2641 * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
8b021004 2642
f84ae14c
JH
26432011-02-18 Jan Hubicka <jh@suse.cz>
2644
2645 PR middle-end/47788
65ded153
EB
2646 * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
2647 to zero when the function is not inlinable at all.
f84ae14c 2648
eddabc80
JDA
26492011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2650
2651 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
2652 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
2653 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
2654 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
2655 * config/pa/t-pa64: Likewise.
2656 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
2657
ca3da783
JJ
26582011-02-18 Jakub Jelinek <jakub@redhat.com>
2659
2660 PR driver/47787
2661 * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
2662
430aa868
JDA
26632011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2664
2665 PR target/47792
2666 * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
2667
4bf7ff7e
AS
26682011-02-18 Anatoly Sokolov <aesok@post.ru>
2669
2670 * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
2671 RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
2672 LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
2673 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
2674 * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
2675 (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
2676 m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
2677 m32r_load_postinc_p, m32r_store_preinc_predec_p,
2678 m32r_legitimate_address_p): New functions.
2679 * config/m32r/constraints.md (constraint "S"): Don't use
2680 STORE_PREINC_PREDEC_P.
2681 (constraint "U"): Don't use LOAD_POSTINC_P.
2682
7efcf910
CLT
26832011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
2684
2685 PR rtl-optimization/46178
2686 * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
2687 compute ira_hard_regno_cover_class[].
2688
237d6259
RG
26892011-02-18 Richard Guenther <rguenther@suse.de>
2690
2691 PR lto/47798
2692 * lto-streamer.h (lto_global_var_decls): Declare.
2693 * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
2694 statics for global var processing.
2695
12d80acc
RG
26962011-02-18 Richard Guenther <rguenther@suse.de>
2697
2698 PR tree-optimization/47737
2699 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
2700 edge dominance check.
2701
abfea58d
JJ
27022011-02-18 Jakub Jelinek <jakub@redhat.com>
2703
2704 PR debug/47780
2705 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
2706 avoid invalid rtx sharing.
2707
f73c8882
GP
27082011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
2709
2710 * doc/cpp.texi (Obsolete Features): Add background on the
2711 origin of assertions.
2712
d764a8e6
IS
27132011-02-17 Iain Sandoe <iains@gcc.gnu.org>
2714
2715 * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
23e0d930 2716 objc_abi == 2.
d764a8e6
IS
2717 * config/darwin.c (output_objc_section_asm_op): Added support for
2718 ABI v1 and v2.
2719 (is_objc_metadata): New.
2720 (darwin_objc2_section): New.
2721 (darwin_objc1_section): New.
2722 (machopic_select_section): Added support for ABI v1 and v2.
2723 (darwin_emit_objc_zeroed): New.
2724 (darwin_output_aligned_bss): Detect objc metadata and treat it
2725 appropriately.
2726 (darwin_asm_output_aligned_decl_common): Same.
2727 (darwin_asm_output_aligned_decl_local): Same.
2728 * config/darwin-sections.def: Updated for ABI v1 and v2.
2729 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
2730 compiling Objective-C code for the NeXT runtime, default to using
2731 ABI version 0 for 32-bit, and version 2 for 64-bit.
2732
0a8134ca
JM
27332011-02-17 Joseph Myers <joseph@codesourcery.com>
2734
2735 * common.opt (optimize_fast): New Variable.
2736 * opts.c (default_options_optimization): Use opts->x_optimize_fast
2737 instead of local variable ofast.
2738
0a256240
NP
27392011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
2740
2741 * doc/invoke.texi (fobjc-abi-version): Documented.
2742 (fobjc-nilcheck): Documented.
2743 (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
2744 version.
2745
fa381cb2
JM
27462011-02-17 Joseph Myers <joseph@codesourcery.com>
2747
2748 PR driver/47390
2749 * common.opt (export-dynamic): New Driver option.
2750 * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
2751
5437eaa6
JM
27522011-02-17 Joseph Myers <joseph@codesourcery.com>
2753
2754 * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
2755
bb7e6d55
AO
27562011-02-17 Alexandre Oliva <aoliva@redhat.com>
2757 Jan Hubicka <jh@suse.cz>
2758
2759 PR debug/47106
2760 PR debug/47402
2761 * cfgexpand.c (account_used_vars_for_block): Remove.
2762 (estimated_stack_frame_size): Use referenced vars.
2763 * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
2764 that were referenced in the original function. Test src_fn
2765 rather than cfun. Drop redundant get_var_ann.
2766 (setup_one_parameter): Drop redundant get_var_ann.
2767 (declare_return_variable): Likewise.
2768 (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
2769 (copy_arguments_for_versioning): Drop redundant get_var_ann.
2770 * ipa-inline.c (compute_inline_parameters): Do not compute
2771 disregard_inline_limits here.
bb7e6d55
AO
2772 (compute_inlinable_for_current, pass_inlinable): New.
2773 (pass_inline_parameters): Require PROP_referenced_vars.
2774 * cgraphunit.c (cgraph_process_new_functions): Don't run
23e0d930 2775 compute_inline_parameters explicitly unless function is in SSA form.
bb7e6d55
AO
2776 (cgraph_analyze_function): Set .disregard_inline_limits.
2777 * tree-sra.c (convert_callers): Compute inliner parameters
2778 only for functions already in SSA form.
2779
f181a8a7
JM
27802011-02-17 Joseph Myers <joseph@codesourcery.com>
2781
2782 * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
2783 -mlittle-endian-data.
2784
c6869789
JM
27852011-02-17 Joseph Myers <joseph@codesourcery.com>
2786
2787 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
2788 -mno-fpu, not -fpu and -no-fpu.
2789 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
2790 * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
2791
fbf4bfd3
UB
27922011-02-17 Uros Bizjak <ubizjak@gmail.com>
2793
2794 PR target/43653
2795 * config/i386/i386.c (ix86_secondary_reload): Handle SSE
2796 input reload with PLUS RTX.
2797
70be5dc7
JM
27982011-02-16 Joseph Myers <joseph@codesourcery.com>
2799
2800 * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
2801 of InverseVar(MDMX).
2802
30b1646e
JM
28032011-02-16 Joseph Myers <joseph@codesourcery.com>
2804
2805 * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
2806 --m4-340.
2807
ab7b71e9
JM
28082011-02-16 Joseph Myers <joseph@codesourcery.com>
2809
2810 * config/mn10300/mn10300.opt (mno-crt0): New.
2811
466f3f08
JM
28122011-02-16 Joseph Myers <joseph@codesourcery.com>
2813
2814 * config/m68k/uclinux.opt (static-libc): New Driver option.
2815
8226cd7b
JM
28162011-02-16 Joseph Myers <joseph@codesourcery.com>
2817
2818 * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
2819
45cab1d7
JM
28202011-02-16 Joseph Myers <joseph@codesourcery.com>
2821
2822 * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
2823 %{muser-extend-enabled}.
2824
65aab64f
RG
28252011-02-16 Richard Guenther <rguenther@suse.de>
2826
2827 PR tree-optimization/47738
2828 * tree-ssa-loop.c (run_tree_predictive_commoning): Return
2829 the TODO from tree_predictive_commoning.
2830
fc2fa4fb
JL
28312011-02-15 Jeff Law <law@redhat.com>
2832
2833 Revert
2834 2011-01-25 Jeff Law <law@redhat.com>
2835
2836 PR rtl-optimization/37273
2837 * ira-costs.c (scan_one_insn): Detect constants living in memory and
2838 handle them like argument loads from stack slots. Do not double
2839 count memory for memory constants and argument loads from stack slots.
2840
4e380b8e
L
28412011-02-15 H.J. Lu <hongjiu.lu@intel.com>
2842
2843 PR middle-end/47725
2844 * combine.c (cant_combine_insn_p): Revert the last change.
2845
e3a69bb4
MM
28462011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
2847
2848 PR target/47755
2849 * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
2850 mode for vector constants. Remove code that checks for TImode.
2851
de650422
AO
28522011-02-15 Alexandre Oliva <aoliva@redhat.com>
2853
2854 PR debug/47106
2855 PR debug/47402
2856 * cgraph.h (compute_inline_parameters): Return void.
2857 * ipa-inline.c (compute_inline_parameters): Adjust.
2858
30925d94
AO
28592011-02-15 Alexandre Oliva <aoliva@redhat.com>
2860
2861 PR debug/47106
2862 PR debug/47402
2863 * tree-inline.h (estimated_stack_frame_size): Take cgraph node
2864 rather than decl.
2865 * cfgexpand.c (estimated_stack_frame_size): Likewise.
2866 * ipa-inline.c (compute_inline_parameters): Adjust.
2867
1b9a784a
AO
28682011-02-15 Alexandre Oliva <aoliva@redhat.com>
2869
2870 PR debug/47106
2871 PR debug/47402
2872 * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
2873 Adjust all users. Pass FN to...
2874 * tree-flow-inline.h (first_referenced_var): ... this. Add
2875 fn argument.
2876 * ipa-struct-reorg.c: Adjust.
2877 * tree-dfa.c: Adjust.
2878 * tree-into-ssa.c: Adjust.
2879 * tree-sra.c: Adjust.
2880 * tree-ssa-alias.c: Adjust.
2881 * tree-ssa-live.c: Adjust.
2882 * tree-ssa.c: Adjust.
2883 * tree-ssanames.c: Adjust.
2884 * tree-tailcall.c: Adjust.
2885
27c6b086
AO
28862011-02-15 Alexandre Oliva <aoliva@redhat.com>
2887
2888 PR debug/47106
2889 PR debug/47402
2890 * tree-flow.h (referenced_var_lookup): Add fn parameter.
2891 Adjust all callers.
2892 * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
2893 * tree-flow-inline.h: Adjust.
2894 * gimple-pretty-print.c: Adjust.
2895 * tree-into-ssa.c: Adjust.
2896 * tree-ssa.c: Adjust.
2897 * cfgexpand.c: Adjust.
2898
679e8183
NF
28992011-02-15 Nathan Froyd <froydnj@codesourcery.com>
2900
fbf4bfd3
UB
2901 * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
2902 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2903 (EXTRA_CONSTRAINT): Delete.
2904 * config/iq2000/constraints.md: New file.
2905 * config/iq2000/iq2000.md: Include it.
679e8183
NF
2906 (define_insn ""): Delete.
2907 (movsi_internal2, movhi_internal2, movqi_internal2): Delete
2908 unsupported constraint letters from patterns.
2909 (call_value, call_value_internal1): Likewise.
2910 (call_value_multiple_internal1): Likewise.
2911
a45d420a
NC
29122011-02-15 Nick Clifton <nickc@redhat.com>
2913
2914 * config/mn10300/mn10300.c: Include tm-constrs.h.
2915 (struct liw_data): New data structure describing an LIW candidate
2916 instruction.
2917 (extract_bundle): Use struct liw_data. Allow small integer
2918 operands for some instructions.
2919 (check_liw_constraints): Use struct liw_data. Remove swapped
2920 parameter. Add comments describing the checks. Fix bug when
2921 assigning the source of liw1 to the source of liw2.
2922 (liw_candidate): Delete. Code moved into extract_bundle.
2923 (mn10300_bundle_liw): Use struct liw_data. Check constraints
2924 before swapping.
2925 * config/mn10300/predicates.md (liw_operand): New predicate.
2926 Allows registers and small integer constants.
2927 * config/mn10300/constraints.md (O): New constraint. Accetps
2928 integers in the range -8 to +7 inclusive.
2929 * config/mn10300/mn10300.md (movesi_internal): Add an alternative
2930 for moving a small integer into a register. Give this alternative
2931 LIW attributes.
2932 (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
2933 (ashlsi3): Likewise, plus give LIW attributes to the alternatives
2934 using the J,K,L and M constraints,
2935 (liw): Remove SI mode on second operands to allow for HI and QI
2936 mode values.
2937 (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
2938 instruction.
2939
8a73faf1
L
29402011-02-15 H.J. Lu <hongjiu.lu@intel.com>
2941
2942 PR middle-end/47725
2943 * combine.c (cant_combine_insn_p): Check zero/sign extended
2944 hard registers.
2945
48feba28
RG
29462011-02-15 Richard Guenther <rguenther@suse.de>
2947
2948 PR tree-optimization/47743
2949 * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
2950 for a non-type-compatible VN lookup bail out.
2951
ad1c1eeb
NF
29522011-02-15 Nathan Froyd <froydnj@codesourcery.com>
2953
2954 * config/fr30/constraints.md: New file.
2955 * config/fr30/fr30.md: Include it.
2956 * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
2957 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2958 (EXTRA_CONSTRAINT): Delete.
2959
49ac143d
NF
29602011-02-15 Nathan Froyd <froydnj@codesourcery.com>
2961
2962 * config/frv/constraints.md: New file.
2963 * config/frv/predicates.md: Include it.
2964 * config/frv/frv.c (reg_class_from_letter): Delete.
2965 (frv_option_override): Don't initialize it.
2966 * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
2967 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
2968 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
2969 (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
2970 (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
2971 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2972 (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
2973 (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
2974 (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
2975 (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
2976 (REG_CLASS_FROM_CONSTRAINT): Delete.
2977
c95f9494
JJ
29782011-02-15 Jakub Jelinek <jakub@redhat.com>
2979
2980 PR middle-end/47581
2981 * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
2982 if frame size is 0 in a leaf function.
2983
13aed611
RO
29842011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2985
2986 PR pch/14940
2987 * config/alpha/host-osf.c: New file.
2988 * config/alpha/x-osf: New file.
2989 * config.host (alpha*-dec-osf*): Use it.
2990
b09c3081
AS
29912011-02-14 Anatoly Sokolov <aesok@post.ru>
2992
2993 * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
2994 * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
2995 * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
2996 (rx_mode_dependent_address_p): ...this. Make static. Change argument
2997 type to const_rtx.
2998 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
2999
d634083b
NF
30002011-02-14 Nathan Froyd <froydnj@codesourcery.com>
3001
3002 * config/stormy16/constraints.md: New file.
3003 * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
3004 Use satisfies_constraint_Q and satisfies_constraint_R.
3005 * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
3006 Delete.
3007 (xstormy16_legitiamte_address_p): Declare.
3008 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
3009 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
3010 (EXTRA_CONSTRAINT): Delete.
fbf4bfd3 3011 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
d634083b
NF
3012 Un-staticize.
3013 (xstormy16_extra_constraint_p): Delete.
3014
c7dd803e
EB
30152011-02-14 Eric Botcazou <ebotcazou@adacore.com>
3016
3017 PR tree-optimization/46494
3018 * loop-unroll.c (split_edge_and_insert): Adjust comment.
3019 * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
3020 (pass_rtl_loop_done): Add TODO_verify_flow.
3021 * fwprop.c (pass_rtl_fwprop): Likewise.
3022 * modulo-sched.c (pass_sms): Likewise.
3023 * tree-ssa-dom.c (pass_dominator): Likewise.
3024 * tree-ssa-loop-ch.c (pass_ch): Likewise.
3025 * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
3026 (pass_tree_loop_done): Likewise.
3027 * tree-ssa-pre.c (execute_pre): Likewise.
3028 * tree-ssa-reassoc.c (pass_reassoc): Likewise.
3029 * tree-ssa-sink.c (pass_sink_code): Likewise.
3030 * tree-vrp.c (pass_vrp): Likewise.
3031
c6150df6
NF
30322011-02-14 Nathan Froyd <froydnj@codesourcery.com>
3033
c7dd803e
EB
3034 * config/v850/constraints.md: New file.
3035 * config/v850/v850.md: Include it.
3036 * config/v850/predicates.md (reg_or_0_operand): Use
3037 satisfies_constraint_G.
3038 (special_symbolref_operand): Use satisfies_constraint_K.
3039 * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
3040 (GO_IF_LEGITIMATE_ADDRESS): Likewise.
3041 (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
3042 (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
3043 (EXTRA_CONSTRAINT): Delete.
3044 (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
3045 (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
3046 (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
c6150df6 3047
30dd1ea3
AS
30482011-02-14 Anatoly Sokolov <aesok@post.ru>
3049
3050 PR target/47696
3051 * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
3052 description.
3053
944f4bb3
NF
30542011-02-14 Nathan Froyd <froydnj@codesourcery.com>
3055
3056 * config/mcore/constraints.md: New file.
3057 * config/mcore/mcore.md: Include it.
3058 * config/mcore/mcore.c (reg_class_from_letter): Delete.
3059 * config/mcore/mcore.h (reg_class_from_letter): Delete.
3060 (REG_CLASS_FROM_LETTER): Delete.
3061 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
3062 insn_const_int_ok_for_constraint.
3063 (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
3064 (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
3065 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
3066 (EXTRA_CONSTRAINT): Delete.
3067
ad56a54c
RO
30682011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3069
3070 PR ada/41929
3071 * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
3072 (IS_SIGHANDLER): Define.
3073 (sparc64_is_sighandler): New function, split off from
3074 sparc64_fallback_frame_state.
3075 (sparc_is_sighandler): New function, split off from
3076 sparc_fallback_frame_state.
3077 (sparc64_fallback_frame_state): Merge with ...
3078 (sparc_fallback_frame_state): ... this into ...
3079 (MD_FALLBACK_FRAME_STATE_FOR): ... this.
fbf4bfd3
UB
3080 Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
3081 Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
3082 stack instead of hardcoded offsets.
ad56a54c 3083
fbf4bfd3 30842011-02-14 Andriy Gapon <avg@freebsd.org>
67932abf
AG
3085
3086 PR target/45808
3087 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
3088
029c8f3e
RW
30892011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3090
3091 * configure: Regenerate.
3092
a016dc83
JM
30932011-02-12 Joseph Myers <joseph@codesourcery.com>
3094
3095 PR driver/45731
3096 * gcc.c (asm_options): Correct spec matching --target-help.
3097
8957a0ec
MJ
30982011-02-12 Martin Jambor <mjambor@suse.cz>
3099
3100 * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
3101 to gimple call error.
3102
6ef828bc
MS
31032011-02-12 Mike Stump <mikestump@comcast.net>
3104
3105 * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
3106 comments in backslash regions.
3107
a4015be5
MS
31082011-02-12 Mike Stump <mikestump@comcast.net>
3109 Jakub Jelinek <jakub@redhat.com>
3110 Iain Sandoe <iains@gcc.gnu.org>
3111
3112 PR target/47324
3113 * dwarf2out.c (output_cfa_loc): When required, apply the
3114 DWARF2_FRAME_REG_OUT macro to adjust register numbers.
3115 (output_loc_sequence): Likewise.
3116 (output_loc_operands_raw): Likewise.
3117 (output_loc_sequence_raw): Likewise.
3118 (output_cfa_loc): Likewise.
3119 (output_loc_list): Suppress register number adjustment when
3120 calling output_loc_sequence()
3121 (output_die): Likewise.
3122
5378dda2
AS
31232011-02-12 Anatoly Sokolov <aesok@post.ru>
3124
3125 * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
3126 Remove macros.
3127 * config/xtensa/xtensa.c (xtensa_register_move_cost,
3128 xtensa_memory_move_cost): New functions.
3129 (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
3130
f3d533d3
AO
31312011-02-12 Alexandre Oliva <aoliva@redhat.com>
3132
3133 PR lto/47225
3134 * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
3135 in the current directory.
3136 * configure: Rebuilt.
3137
9d53403c
IS
31382011-02-12 Iain Sandoe <iains@gcc.gnu.org>
3139
3140 * config/darwin.c (darwin_override_options): Add a hunk missed
fbf4bfd3 3141 from the commit of r168571. Trim comment line lengths and
9d53403c
IS
3142 correct indents of the preceding block.
3143
a350a6c8
IS
31442011-02-12 Iain Sandoe <iains@gcc.gnu.org>
3145
3146 * gcc.c (driver_handle_option): Concatenate the argument to -F with
3147 the switch.
3148
bab79a40
JM
31492011-02-11 Joseph Myers <joseph@codesourcery.com>
3150
3151 * common.opt (nostartfiles): New Driver option.
3152
1bbc6693
XDL
31532011-02-11 Xinliang David Li <davidxl@google.com>
3154
3155 PR tree-optimization/47707
3156 * tree-chrec.c (convert_affine_scev): Keep type precision.
3157
1da7d8c0
EB
31582011-02-11 Eric Botcazou <ebotcazou@adacore.com>
3159
3160 PR tree-optimization/47420
3161 * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
3162
31632011-02-11 Pat Haugen <pthaugen@us.ibm.com>
3f82421f
PH
3164
3165 PR rtl-optimization/47614
3166 * rtl.h (check_for_inc_dec): Declare.
3167 * dse.c (check_for_inc_dec): Externalize...
3168 * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
3169 (reload_cse_simplify_operands): Don't simplify opnds with side effects.
3170
4df47bca
JM
31712011-02-11 Joseph Myers <joseph@codesourcery.com>
3172
3173 PR driver/47678
3174 * gcc.c (main): Do not compile inputs if there were errors in
3175 option handling.
3176 * opts-common.c (read_cmdline_option): Check for wrong language
3177 after other error checks.
3178
61502ca8
NF
31792011-02-11 Nathan Froyd <froydnj@codesourcery.com>
3180
3181 * cgraph.c: Fix comment typos.
3182 * cgraph.h: Likewise.
3183 * cgraphunit.c: Likewise.
3184 * ipa-cp.c: Likewise.
3185 * ipa-inline.c: Likewise.
3186 * ipa-prop.c: Likewise.
3187 * ipa-pure-const.c: Likewise.
3188 * ipa-ref.c: Likewise.
3189 * ipa-reference.c: Likewise.
3190
b63f974e
JJ
31912011-02-11 Jakub Jelinek <jakub@redhat.com>
3192
d50c5e0c
JJ
3193 PR debug/47684
3194 * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
b63f974e 3195
6dd2a13c
RO
31962011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3197
3198 PR testsuite/47400
3199 * doc/sourcebuild.texi (Require Support): Document
3200 dg-require-ascii-locale.
3201
4a087ccf
MX
32022011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
3203
3204 * doc/lto.texi (Write summary): Fix missing parentheses.
3205
a4403164
DD
32062011-02-10 DJ Delorie <dj@redhat.com>
3207
3208 * config/m32c/m32c.c (m32c_option_override): Disable
3209 -fcombine-stack-adjustments until flag value tracking and compare
3210 optimization can be rewritten.
3211
4fac45bd
PB
32122011-02-10 Peter Bergner <bergner@vnet.ibm.com>
3213
3214 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
3215 PROCESSOR_POWER7.
3216 (PROCESSOR_DEFAULT64): Likewise.
3217
72602cd1
RH
32182011-02-10 Richard Henderson <rth@redhat.com>
3219
3220 * config/rx/predicates.md (rx_zs_comparison_operator): Revert
3221 change from 2011-02-03.
3222 * config/rx/rx.c (flags_from_code): Likewise.
3223 (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
3224 is valid, n/pz otherwise.
3225 (rx_select_cc_mode): Return CCmode if Y is not zero.
3226
ea57f573
RG
32272011-02-10 Richard Guenther <rguenther@suse.de>
3228
ea4c3e65 3229 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
ea57f573 3230
92b1d23b
RG
32312011-02-10 Richard Guenther <rguenther@suse.de>
3232
3233 PR tree-optimization/47677
3234 * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
3235
525a2d06
JJ
32362011-02-10 Jakub Jelinek <jakub@redhat.com>
3237
3238 PR target/47665
3239 * combine.c (make_compound_operation): Only change shifts into
3240 multiplication for SCALAR_INT_MODE_P.
3241
06c969bd
JZ
32422011-02-10 Jie Zhang <jie@codesourcery.com>
3243
3244 PR testsuite/47622
3245 Revert
3246 2011-02-05 Jie Zhang <jie@codesourcery.com>
3247 PR debug/42631
3248 * web.c (entry_register): Don't clobber the number of the
3249 first uninitialized reference in used[].
3250
282ec48e
RG
32512011-02-09 Richard Guenther <rguenther@suse.de>
3252
3253 PR tree-optimization/47664
3254 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
3255 all edges again.
3256
df98c3e8
DE
32572011-02-09 David Edelsohn <dje.gcc@gmail.com>
3258
d0f21cd6
DE
3259 PR target/46481
3260 PR target/47032
df98c3e8
DE
3261 * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
3262 PROCESSOR_POWER7.
3263 (PROCESSOR_DEFAULT64): Same.
3264 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
3265
67b6839f
RO
32662011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3267
3268 * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
3269
4fd73214
MJ
32702011-02-09 Martin Jambor <mjambor@suse.cz>
3271
3272 PR middle-end/45505
3273 * tree-sra.c (struct access): New flags grp_scalar_read and
3274 grp_scalar_write. Changed description of assignment read and write
3275 flags.
3276 (dump_access): Dump new flags, reorder all of them.
3277 (sort_and_splice_var_accesses): Set the new flag accordingly, use them
3278 to detect multiple scalar reads.
3279 (analyze_access_subtree): Use the new scalar read write flags instead
3280 of the old flags. Adjusted comments.
3281
91140cd3
DD
32822011-02-08 DJ Delorie <dj@redhat.com>
3283
3284 PR target/47548
3285 * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
3286 patterns.
3287
4254bbfe
JM
32882011-02-08 Joseph Myers <joseph@codesourcery.com>
3289
3290 * config/m68k/uclinux.opt: New.
3291 * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
3292
f1fda84e
JM
32932011-02-08 Joseph Myers <joseph@codesourcery.com>
3294
3295 * config/cris/elf.opt (sim): New Driver option.
3296
4933ae74
JM
32972011-02-08 Joseph Myers <joseph@codesourcery.com>
3298
3299 * config/xtensa/elf.opt: New.
3300 * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
3301
4ad70280
JM
33022011-02-08 Joseph Myers <joseph@codesourcery.com>
3303
3304 * config/vax/elf.opt: New.
3305 * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
3306
20893707
JM
33072011-02-08 Joseph Myers <joseph@codesourcery.com>
3308
3309 * config/rs6000/aix64.opt (posix, pthread): New Driver options.
3310
b8e7038e
JM
33112011-02-08 Joseph Myers <joseph@codesourcery.com>
3312
3313 * config/gnu-user.opt: New.
3314 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
3315 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
3316 *-*-uclinux*): Use gnu-user.opt.
3317
e1c5225a
TS
33182011-02-08 Thomas Schwinge <thomas@schwinge.name>
3319
3320 * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
3321 * config/i386/gnu.h (CPP_SPEC): Likewise.
3322
5e46b0c6
ILT
33232011-02-08 Ian Lance Taylor <iant@google.com>
3324
3325 * common.opt (fcx-limited-range): Add SetByCombined flag.
3326 (ffinite-math-only, fmath-errno, frounding-math): Likewise.
3327 (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
3328 (fassociative-math, freciprocal-math): Likewise.
3329 (funsafe-math-optimizations): Likewise.
3330 * opth-gen.awk: Handle SetByCombined.
3331 * optc-gen.awk: Likewise.
ea4c3e65 3332 * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
5e46b0c6
ILT
3333 (set_unsafe_math_optimizations_flags): Likewise.
3334 * doc/options.texi (Option properties): Document SetByCombined.
3335
32243d46
JM
33362011-02-08 Joseph Myers <joseph@codesourcery.com>
3337
3338 * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
3339 i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
3340 m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
3341 m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
3342 sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
3343
479c1fb3
SP
33442011-02-08 Sebastian Pop <sebastian.pop@amd.com>
3345
3346 PR tree-optimization/46834
3347 PR tree-optimization/46994
3348 PR tree-optimization/46995
3349 * graphite-sese-to-poly.c (used_outside_reduction): New.
3350 (detect_commutative_reduction): Call used_outside_reduction.
3351 (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
3352 translate_scalar_reduction_to_array only when at least one
3353 loop-phi/close-phi tuple has been detected.
3354
3865a06f
RG
33552011-02-08 Richard Guenther <rguenther@suse.de>
3356
3357 PR middle-end/47639
3358 * tree-vect-generic.c (expand_vector_operations_1): Update
3359 stmts here ...
3360 (expand_vector_operations): ... not here. Cleanup EH info
3361 and the CFG if required.
3362
62902f3f
RG
33632011-02-08 Richard Guenther <rguenther@suse.de>
3364
3365 PR tree-optimization/47641
3366 * tree-ssa.c (execute_update_addresses_taken): For asm outputs
3367 require type compatibility.
3368
0efb9d64
AK
33692011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3370
3371 * gimple-low.c (lower_function_body): Don't remove the location of
3372 the return statement here.
3373 (lower_gimple_return): Do it here instead but only if the return
3374 statement is actually used twice.
3375
034b8ae4
RG
33762011-02-08 Richard Guenther <rguenther@suse.de>
3377
3378 PR tree-optimization/47632
3379 * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
3380 unused up_to_stmt parameter, return whether cfg-cleanup is
3381 necessary, remove EH info properly.
3382 (forward_propagate_into_gimple_cond): Adjust caller.
3383 (forward_propagate_into_cond): Likewise.
3384 (forward_propagate_comparison): Likewise.
3385 (tree_ssa_forward_propagate_single_use_vars): Make
3386 forward_propagate_comparison case similar to the two others.
3387
298362c8
NC
33882011-02-08 Nick Clifton <nickc@redhat.com>
3389
3390 * config/mn10300/mn10300.opt (mliw): New command line option.
3391 * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
3392 (liw_bundling): New automaton.
3393 (liw): New attribute.
3394 (liw_op): New attribute.
3395 (liw_op1, liw_op2, liw_both, liw_either): New reservations.
3396 (movsi_internal): Add LIW attributes.
3397 (andsi3): Likewise.
3398 (iorsi3): Likewise.
3399 (xorsi3): Likewise.
3400 (addsi3): Separate register and immediate alternatives.
3401 Add LIW attributes.
3402 (subsi3): Likewise.
3403 (cmpsi): Likewise.
3404 (aslsi3): Likewise.
3405 (lshrsi3): Likewise.
3406 (ashrsi3): Likewise.
3407 (liw): New pattern.
3408 * config/mn10300/mn10300.c (liw_op_names): New
3409 (mn10300_print_operand): Handle 'W' operand descriptor.
3410 (extract_bundle): New function.
3411 (check_liw_constraints): New function.
3412 (liw_candidate): New function.
3413 (mn10300_bundle_liw): New function.
3414 (mn10300_reorg): New function.
3415 (TARGET_MACHINE_DEPENDENT_REORG): Define.
3416 (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
3417 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
3418 __LIW__ or __NO_LIW__.
3419 * doc/invoke.texi: Describe the -mliw command line option.
3420
90488014
JDA
34212011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3422
3423 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
3424 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
3425 pthread_mutex_unlock): Remove.
3426 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
3427 * config/pa/t-pa64: Likewise.
3428 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
3429 shared libc if not linking against libpthread.
3430 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
3431
689ff841
IS
34322011-02-07 Iain Sandoe <iains@gcc.gnu.org>
3433
3434 PR target/47558
3435 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
3436 on 10.6 and later to ensure that we always use the unwinder from
3437 the system. Only add -no_compact_unwind when tarteting darwin
3438 10.6 or later.
3439
821014aa
SE
34402011-02-07 Steve Ellcey <sje@cup.hp.com>
3441
3442 PR target/46997
3443 * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
3444 (vec_interleave_lowv2sf): Ditto.
3445 (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
3446 (vec_extract_oddv2sf): Ditto.
3447
41cf94fb
MS
34482011-02-07 Mike Stump <mikestump@comcast.net>
3449
62dea57d 3450 PR target/42333
41cf94fb
MS
3451 Add __ieee_divdc3 entry point.
3452 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
3453 entry point.
3454 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
3455 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
3456 * config/darwin.c (darwin_rename_builtins): Add.
3457 * config/darwin-protos.h (darwin_rename_builtins): Add.
3458
ee09a3dd
MM
34592011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
3460
3461 PR target/47636
3462 * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
3463 for the condition.
3464
83296cd0
MS
34652011-02-07 Mike Stump <mikestump@comcast.net>
3466
ea4c3e65 3467 * config/darwin.opt (mmacosx-version-min): Update default OS version.
83296cd0 3468
0f4e946f
DC
34692011-02-07 Denis Chertykov <chertykov@gmail.com>
3470
3471 PR target/47534
3472 * config/avr/libgcc.S (exit): Move .endfunc
3473
1ec87690
RG
34742011-02-07 Richard Guenther <rguenther@suse.de>
3475
3476 PR tree-optimization/47615
3477 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
3478 * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
3479 (run_scc_vn): Initialize it.
3480 (visit_reference_op_load): Use it.
3481 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
3482
b46ae6da
UW
34832011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3484
3485 * config/spu/spu.c (spu_init_libfuncs): Install SImode and
3486 DImode trapping arithmetic libfuncs.
3487
c0aae19c
RG
34882011-02-07 Richard Guenther <rguenther@suse.de>
3489
3490 PR tree-optimization/47621
3491 * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
3492 two duplicates ...
3493 (execute_update_addresses_taken): ... here. Make it more
3494 conservative in what we accept.
3495
295d926b
JM
34962011-02-06 Joseph Myers <joseph@codesourcery.com>
3497
3498 * config/sparc/freebsd.h (ASM_SPEC): Define.
3499 * config/sparc/vxworks.h (ASM_SPEC): Define.
3500
bdeb2471
JM
35012011-02-06 Joseph Myers <joseph@codesourcery.com>
3502
3503 * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
3504
d5d3781a
SB
35052011-02-06 Steven Bosscher <steven@gcc.gnu.org>
3506
3507 * doc/invoke.texi: Remove reference to compiler internals from
3508 user documentation.
3509
3510 * reg-notes.def: Remove REG_VALUE_PROFILE.
3511 * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
3512
c42c09fc
JJ
35132011-02-05 Jakub Jelinek <jakub@redhat.com>
3514
3515 PR middle-end/47610
3516 * varasm.c (default_section_type_flags): If decl is NULL,
38be4072 3517 and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
c42c09fc 3518
beea2755
JZ
35192011-02-05 Jie Zhang <jie@codesourcery.com>
3520
3521 PR debug/42631
3522 * web.c (entry_register): Don't clobber the number of the
3523 first uninitialized reference in used[].
3524
a130584a
SP
35252011-02-04 Sebastian Pop <sebastian.pop@amd.com>
3526
3527 PR tree-optimization/46194
3528 * tree-data-ref.c (analyze_miv_subscript): Remove comment.
3529 (build_classic_dist_vector_1): Do not represent classic distance
3530 vectors when the access functions are variating in different loops.
3531
962101ac
JM
35322011-02-04 Joseph Myers <joseph@codesourcery.com>
3533
3534 * config/mips/iris6.opt: New.
3535 * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
3536
55eaaa5b
RH
35372011-02-04 Richard Henderson <rth@redhat.com>
3538 Steve Ellcey <sje@cup.hp.com>
3539
3540 PR target/46997
3541 * config/ia64/predicates.md (mux1_brcst_element): New.
3542 * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
3543 * config/ia64/ia64.c (ia64_unpack_assemble): New.
3544 (ia64_unpack_sign): New.
3545 (ia64_expand_unpack): Rewrite using new routines.
3546 (ia64_expand_widen_sum): Ditto.
3547 (ia64_expand_dot_prod_v8qi): Ditto.
3548 * config/ia64/vect.md (mulv8qi3): Rewrite to use new
3549 routines, add endian check.
3550 (pmpy2_even): Rename from pmpy2_r, add endian check.
3551 (pmpy2_odd): Rename from pmpy2_l, add endian check.
3552 (vec_widen_smult_lo_v4hi): Rewrite using new routines.
3553 (vec_widen_smult_hi_v4hi): Ditto.
3554 (vec_widen_umult_lo_v4hi): Ditto.
3555 (vec_widen_umult_hi_v4hi): Ditto.
3556 (mulv2si3): Change endian checks.
3557 (sdot_prodv4hi): Rewrite with new calls.
3558 (udot_prodv4hi): New.
3559 (vec_pack_ssat_v4hi): Add endian check.
3560 (vec_pack_usat_v4hi): Ditto.
3561 (vec_pack_ssat_v2si): Ditto.
3562 (max1_even): Rename from max1_r, add endian check.
3563 (max1_odd): Rename from max1_l, add endian check.
3564 (*mux1_rev): Format change.
3565 (*mux1_mix): Ditto.
3566 (*mux1_shuf): Ditto.
3567 (*mux1_alt): Ditto.
3568 (*mux1_brcst_v8qi): Use new predicate.
3569 (vec_extract_evenv8qi): Remove endian check.
3570 (vec_extract_oddv8qi): Ditto.
3571 (vec_interleave_lowv4hi): Format change.
3572 (vec_interleave_highv4hi): Ditto.
3573 (mix2_even): Rename from mix2_r, add endian check.
3574 (mix2_odd): Rename from mux2_l, add endian check.
3575 (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
3576 (vec_extract_evenodd_helper): Format change.
3577 (vec_extract_evenv4hi): Remove endian check.
3578 (vec_extract_oddv4hi): Remove endian check.
3579 (vec_interleave_lowv2si): Format change.
3580 (vec_interleave_highv2si): Format change.
3581 (vec_initv2si): Remove endian check.
3582 (vecinit_v2si): Add endian check.
3583 (reduc_splus_v2sf): Add endian check.
3584 (reduc_smax_v2sf): Ditto.
3585 (reduc_smin_v2sf): Ditto.
3586 (vec_initv2sf): Remove endian check.
3587 (fpack): Add endian check.
3588 (fswap): Add endian check.
3589 (vec_interleave_highv2sf): Add endian check.
3590 (vec_interleave_lowv2sf): Add endian check.
3591 (fmix_lr): Add endian check.
3592 (vec_setv2sf): Format change.
3593 (*vec_extractv2sf_0_be): Use shift to extract operand.
3594 (*vec_extractv2sf_1_be): New.
3595 (vec_pack_trunc_v4hi): Add endian check.
3596 (vec_pack_trunc_v2si): Format change.
3597
dcde5957
JJ
35982011-02-04 Jakub Jelinek <jakub@redhat.com>
3599
3600 PR inline-asm/23200
3601 * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
38be4072 3602 do bb, locus and block comparison and disallow loads if it is not set.
dcde5957
JJ
3603 (stmt_is_replaceable_p): New function.
3604 (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
3605 callers.
3606 * expr.c (expand_expr_real_1) <case SSA_NAME>: If
3607 get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
3608 SSA_NAME_DEF_STMT.
3609 * tree-flow.h (stmt_is_replaceable_p): New prototype.
3610
a64a8e5a
JM
36112011-02-04 Joseph Myers <joseph@codesourcery.com>
3612
3613 * config/rs6000/xilinx.opt: New.
3614 * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
3615
4da2ed2f
JM
36162011-02-04 Joseph Myers <joseph@codesourcery.com>
3617
3618 * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
3619
a6e508f9
AS
36202011-02-03 Anatoly Sokolov <aesok@post.ru>
3621
3622 * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
3623 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
3624 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
3625 secondary_reload_info, xtensa_secondary_reload): Remove.
3626 * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
3627 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
3628 (xtensa_preferred_reload_class): Make static. Change return and
3629 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
3630 Use CONST_DOUBLE_P predicate.
3631 (xtensa_preferred_output_reload_class): New function.
3632 (xtensa_secondary_reload): Make static.
3633
82dc0de3
JM
36342011-02-03 Joseph Myers <joseph@codesourcery.com>
3635
3636 * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
3637 Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
3638 Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
3639
7fece979
JJ
36402011-02-03 Jakub Jelinek <jakub@redhat.com>
3641
3642 PR middle-end/31490
3643 * output.h (SECTION_RELRO): Define.
3644 (SECTION_MACH_DEP): Adjust.
3645 (get_variable_section): New prototype.
3646 * varpool.c (varpool_finalize_named_section_flags): New function.
3647 (varpool_assemble_pending_decls): Call it.
3648 * cgraph.h (varpool_finalize_named_section_flags): New prototype.
3649 * cgraphunit.c (cgraph_output_in_order): Call
3650 varpool_finalize_named_section_flags.
3651 * varasm.c (get_section): Allow section flags conflicts between
3652 relro and read-only sections if the section hasn't been declared yet.
3653 Set SECTION_OVERRIDE after diagnosing section type conflict.
3654 (get_variable_section): No longer static.
3655 (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
3656 readonly sections that need relocations.
3657 (decl_readonly_section_1): New function.
3658 (decl_readonly_section): Use it.
3659
3660 Revert:
509d65dd 3661 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
7fece979
JJ
3662 Steve Ellcey <sje@cup.hp.com>
3663
3664 PR middle-end/31490
3665 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
3666 if section attribute used.
3667
d18d5478
JJ
36682011-02-03 Jakub Jelinek <jakub@redhat.com>
3669
3670 * config/darwin.h (SECTION_NO_ANCHOR): Remove.
3671 * config/darwin.c (SECTION_NO_ANCHOR): Define.
3672 (darwin_init_sections): Remove assertion.
3673
6479ed4b
NC
36742011-02-03 Nick Clifton <nickc@redhat.com>
3675
3676 * config/rx/predicates.md (rx_zs_comparison_operator): Remove
3677 lt and ge.
38be4072 3678 * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
6479ed4b
NC
3679 * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
3680 instead of "n" and "pz".
3681 (flags_from_code): LT and GE tests need CC_FLAG_O as well as
3682 CC_FLAG_S.
3683
89843f5d
JJ
36842011-02-03 Jakub Jelinek <jakub@redhat.com>
3685
65450d64
JJ
3686 PR target/47312
3687 * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
3688 fma, expand FMA_EXPR as fma{,f,l} call.
3689
7d58701c
JJ
3690 PR lto/47274
3691 * lto-streamer-out.c (write_symbol): When writing kind and visibility,
3692 copy them into a unsigned char variable and pass address of it to
3693 lto_output_data_stream.
3694
89843f5d
JJ
3695 PR target/47564
3696 * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
3697 around backend_init_target and lang_dependent_init_target calls.
3698 * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
3699 (verify_cgraph_node): Don't call set_cfun here. Use
3700 cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
3701 Set error_found for incorrectly represented calls to thunks.
3702
4deef538
AO
37032011-02-03 Alexandre Oliva <aoliva@redhat.com>
3704
3705 PR debug/43092
3706 PR rtl-optimization/43494
3707 * rtl.h (for_each_inc_dec_fn): New type.
3708 (for_each_inc_dec): Declare.
3709 * rtlanal.c (struct for_each_inc_dec_ops): New type.
3710 (for_each_inc_dec_find_inc_dec): New fn.
3711 (for_each_inc_dec_find_mem): New fn.
3712 (for_each_inc_dec): New fn.
3713 * dse.c (struct insn_size): Remove.
3714 (replace_inc_dec, replace_inc_dec_mem): Remove.
3715 (emit_inc_dec_insn_before): New fn.
3716 (check_for_inc_dec): Use it, along with for_each_inc_dec.
3717 (canon_address): Pass mem modes to cselib_lookup.
3718 * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
3719 (cselib_lookup_from_insn): Likewise.
3720 (cselib_subst_to_values): Likewise.
3721 * cselib.c (find_slot_memmode): New var.
3722 (cselib_find_slot): New fn. Use it instead of
3723 htab_find_slot_with_hash everywhere.
3724 (entry_and_rtx_equal_p): Use find_slot_memmode.
3725 (autoinc_split): New fn.
3726 (rtx_equal_for_cselib_p): Rename and implement in terms of...
3727 (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
3728 Deal with autoinc. Special-case recursion into MEMs.
3729 (cselib_hash_rtx): Likewise.
3730 (cselib_lookup_mem): Infer pmode from address mode. Distinguish
3731 address and MEM modes.
3732 (cselib_subst_to_values): Add memmode, pass it on.
3733 Deal with autoinc.
3734 (cselib_lookup): Add memmode argument, pass it on.
3735 (cselib_lookup_from_insn): Add memmode.
3736 (cselib_invalidate_rtx): Discard obsolete push_operand handling.
3737 (struct cselib_record_autoinc_data): New.
3738 (cselib_record_autoinc_cb): New fn.
3739 (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
3740 mode to cselib_lookup. Reset autoinced REGs here instead of...
3741 (cselib_process_insn): ... here.
3742 * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
3743 to cselib_lookup.
3744 (add_uses): Likewise, also to cselib_subst_to_values.
3745 (add_stores): Likewise.
3746 * sched-deps.c (add_insn_mem_dependence): Pass mode to
3747 cselib_subst_to_values.
3748 (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
3749 * gcse.c (do_local_cprop): Adjusted.
3750 * postreload.c (reload_cse_simplify_set): Adjusted.
3751 (reload_cse_simplify_operands): Adjusted.
3752 * sel-sched-dump (debug_mem_addr_value): Pass mode.
3753
1551d44a
AO
37542011-02-03 Alexandre Oliva <aoliva@redhat.com>
3755
3756 PR tree-optimization/45122
3757 * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
3758 unsafe assumptions when there's more than one loop exit.
3759
c9485473
MM
37602011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
3761
3762 PR target/47272
3763 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
3764 Document using vector double with the load/store builtins, and
3765 that the load/store builtins always use Altivec instructions.
3766
3767 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
3768 to use altivec memory instructions, even on VSX.
3769 (vector_altivec_store_<mode>): Ditto.
3770
3771 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
3772 function.
3773
3774 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
3775 V2DF, V2DI support to load/store overloaded builtins.
3776
3777 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
3778 altivec load/store builtins for V2DF/V2DI types.
3779
3780 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
3781 set avoid indexed addresses on power6 if -maltivec.
3782 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
3783 vector_altivec_load/vector_altivec_store builtins.
3784 (altivec_expand_st_builtin): Ditto.
3785 (altivec_expand_builtin): Add VSX memory builtins.
3786 (rs6000_init_builtins): Add V2DI types to internal types.
3787 (altivec_init_builtins): Add support for V2DF/V2DI altivec
3788 load/store builtins.
3789 (rs6000_address_for_altivec): Insure memory address is appropriate
3790 for Altivec.
3791
3792 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
3793 vec_vsx_ld and vec_vsx_st.
3794 (vsx_store_<mode>): Ditto.
3795
3796 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
3797 variables to hold long long types for VSX vector memory builtins.
3798 (RS6000_BTI_unsigned_long_long): Ditto.
3799 (long_long_integer_type_internal_node): Ditti.
3800 (long_long_unsigned_type_internal_node): Ditti.
3801
3802 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
3803 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
3804 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
3805
3806 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
3807 short cuts.
3808 (vec_vsx_st): Ditto.
3809
b24d1acf
JM
38102011-02-02 Joseph Myers <joseph@codesourcery.com>
3811
3812 * config/pa/pa-hpux10.opt: New.
3813 * config/hpux11.opt (pthread): New Driver option.
3814 * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
3815 * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
3816
aa18dd0f
JM
38172011-02-02 Joseph Myers <joseph@codesourcery.com>
3818
3819 * config/ia64/vms.opt: New.
3820 * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
3821
28fc3eee
MM
38222011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
3823
3824 PR target/47580
3825 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
3826 gpc_reg_operand instead of vsx_register_operand to match rs6000.md
3827 generator functions.
3828 (vsx_floatuns<VSi><mode>2): Ditto.
3829 (vsx_fix_trunc<mode><VSi>2): Ditto.
3830 (vsx_fixuns_trunc<mode><VSi>2): Ditto.
3831
b5838b1f
JM
38322011-02-02 Joseph Myers <joseph@codesourcery.com>
3833
3834 * config/i386/djgpp.opt (posix): New Driver option.
3835
0db8fa89
GP
38362011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
3837
3838 * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
3839 Move to the unsupported targets list.
3840
9cd4f22a
PB
38412011-02-02 Peter Bergner <bergner@vnet.ibm.com>
3842
3843 PR rtl-optimization/47525
3844 * df-scan.c: Update copyright years.
3845 (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
3846 and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
3847
9ed8059c
RO
38482011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3849
3850 * config/i386/sysv4.h (TARGET_VERSION): Remove.
3851 (SUBTARGET_RETURN_IN_MEMORY): Remove.
3852 (ASM_OUTPUT_ASCII): Remove.
3853 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
3854
2a737389
JL
38552011-02-02 Jeff Law <law@redhat.com>
3856
3857 PR middle-end/47543
3858 * reload.c (find_reloads_address): Handle reg+d address where both
3859 components are invalid by reloading the entire address.
3860
9dac82c4
SP
38612011-02-02 Sebastian Pop <sebastian.pop@amd.com>
3862 Richard Guenther <rguenther@suse.de>
3863
3864 PR tree-optimization/40979
3865 PR bootstrap/47044
3866 * passes.c (init_optimization_passes): After LIM call copy_prop
3867 and DCE to clean up.
3868 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
3869
14dd9aab
SP
38702011-02-02 Sebastian Pop <sebastian.pop@amd.com>
3871
3872 PR tree-optimization/47576
3873 PR tree-optimization/47555
3874 * doc/invoke.texi (scev-max-expr-complexity): Documented.
3875 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
3876 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
3877 * tree-scalar-evolution.c (follow_ssa_edge): Use
3878 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
3879
5cbf5c20
RG
38802011-02-02 Richard Guenther <rguenther@suse.de>
3881
3882 PR tree-optimization/47566
3883 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
3884
83d70792
AO
38852011-02-02 Alexandre Oliva <aoliva@redhat.com>
3886
e829c321
AO
3887 PR debug/47106
3888 PR debug/47402
3889 * tree-inline.c (declare_return_variable): Remove unused caller
3890 variable.
3891
83d70792
AO
3892 PR debug/47106
3893 PR debug/47402
3894 * tree-flow-inline.h (clear_is_used, is_used_p): New.
3895 * cfgexpand.c (account_used_vars_for_block): Use them.
3896 * tree-nrv.c (tree_nrv): Likewise.
3897 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
3898 (dump_scope_block): Likewise.
3899 (remove_unused_locals): Likewise.
3900
aaa2ac93
AO
3901 PR debug/47106
3902 PR debug/47402
3903 * tree-inline.c (declare_return_variable): Add result decl to
3904 local decls only once.
3905 * gimple-low.c (record_vars_into): Mark newly-created variables
3906 as referenced.
3907
a59d15cf
AO
39082011-02-02 Alexandre Oliva <aoliva@redhat.com>
3909
3910 PR debug/47498
3911 PR debug/47501
3912 PR debug/45136
3913 PR debug/45130
3914 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
3915 debug insns.
3916 (no_real_insns_p, schedule_block, set_priorities): Drop special
3917 treatment of boundary debug insns.
38be4072 3918 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
a59d15cf
AO
3919 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
3920 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
3921 (BOUNDARY_DEBUG_INSN_P): Likewise.
3922 (SCHEDULE_DEBUG_INSN_P): Likewise.
3923 * sched-rgn.c (init_ready_list): Drop special treatment of
3924 boundary debug insns.
3925 * final.c (rest_of_clean_state): Clear notes' BB.
3926
6fc2f091
JM
39272011-02-01 Joseph Myers <joseph@codesourcery.com>
3928
3929 * config/openbsd.opt (assert=): New Driver option.
3930
fc523387
JM
39312011-02-01 Joseph Myers <joseph@codesourcery.com>
3932
3933 * config/i386/nto.opt: New.
3934 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
3935
6d9821e5
JM
39362011-02-01 Joseph Myers <joseph@codesourcery.com>
3937
3938 * config/i386/netware.opt: New.
3939 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
3940
cef932d4
JM
39412011-02-01 Joseph Myers <joseph@codesourcery.com>
3942
3943 * config/interix.opt (posix): New Driver option.
3944
22843acd
DD
39452011-02-01 DJ Delorie <dj@redhat.com>
3946
56490b74
DD
3947 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
3948
22843acd
DD
3949 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
3950 class for A0/A1.
3951
199c8f2f
SP
39522011-02-01 Sebastian Pop <sebastian.pop@amd.com>
3953
3954 PR tree-optimization/47561
3955 * toplev.c (process_options): Print the Graphite flags. Add
3956 flag_loop_flatten to the list of options requiring Graphite.
3957
926bcf22
JM
39582011-02-01 Joseph Myers <joseph@codesourcery.com>
3959
3960 * config/i386/cygming.opt (posix): New Driver option.
3961
59793c51
JM
39622011-02-01 Joseph Myers <joseph@codesourcery.com>
3963
3964 * config/arm/vxworks.opt: New.
3965 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
3966
183c38a4
JM
39672011-02-01 Joseph Myers <joseph@codesourcery.com>
3968
3969 * config/alpha/elf.opt: New.
3970 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
3971 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
3972
9939e416
RG
39732011-02-01 Richard Guenther <rguenther@suse.de>
3974
3975 PR tree-optimization/47559
3976 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
3977 store-motion on references that can throw.
3978
4a3c9687
BS
39792011-02-01 Bernd Schmidt <bernds@codesourcery.com>
3980
3981 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
3982 * tree-pass.h (TDF_CSELIB): New macro.
3983 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
3984 cselib_lookup): Check for it rather than for TDF_DETAILS.
3985
dd3b31fb
L
39862011-02-01 H.J. Lu <hongjiu.lu@intel.com>
3987
3988 PR driver/47547
3989 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
3990 is HOST_BIT_BUCKET.
3991
3992 * opts.c (finish_options): Don't add x_aux_base_name if it is
3993 HOST_BIT_BUCKET.
3994
34c1de79
RG
39952011-02-01 Richard Guenther <rguenther@suse.de>
3996
3997 PR tree-optimization/47555
3998 Revert
3999 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
4000
4001 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
4002
dd2804d2
SB
40032011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
4004
4005 PR gcc/46692
4006 * config/lm32/t-lm32: Add multilib for all CPU options.
4007
3fd3b156
RG
40082011-02-01 Richard Guenther <rguenther@suse.de>
4009
4010 PR tree-optimization/47541
4011 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
4012 sure to have a field at offset zero.
4013
f16072b6
JM
40142011-01-31 Joseph Myers <joseph@codesourcery.com>
4015
4016 * config/arc/arc.opt (EB, EL): New Driver options.
4017
6456cf2e
JM
40182011-01-31 Joseph Myers <joseph@codesourcery.com>
4019
4020 * config/alpha/osf5.opt: New.
4021 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
4022
cdde6ab4
JM
40232011-01-31 Joseph Myers <joseph@codesourcery.com>
4024
4025 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
4026
7633415c
SP
40272011-01-31 Sebastian Pop <sebastian.pop@amd.com>
4028
4029 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
4030 -floop-interchange.
4031 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
4032 is an alias of -floop-interchange and that it requires the
4033 Graphite infrastructure.
4034 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
4035 flag_loop_interchange based on the value of flag_tree_loop_linear.
4036
0425d6f5
JJ
40372011-01-31 Jakub Jelinek <jakub@redhat.com>
4038 Richard Guenther <rguenther@suse.de>
4039
4040 PR tree-optimization/47538
4041 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
4042 type instead of r1type, except for comparisons. For right
4043 shifts and comparisons punt if there are mismatches in
4044 sizetype vs. non-sizetype types.
4045
500b16c3
RO
40462011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4047
4048 * doc/sourcebuild.texi (Effective-Target Keywords): Document
4049 avx_runtime.
4050
e279edb0
RO
40512011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4052
4053 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
4054 version number.
4055 * configure: Regenerate.
4056
c6092243
RO
40572011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4058
4059 * configure.ac (gcc_cv_ld_static_option): Define.
4060 (gcc_cv_ld_dynamic_option): Define.
4061 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
4062 instead.
4063 (HAVE_LD_STATIC_DYNAMIC): Update message.
4064 (LD_STATIC_OPTION): Define.
4065 (LD_DYNAMIC_OPTION): Define.
4066 * configure: Regenerate.
4067 * config.in: Regenerate.
4068 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
4069 HAVE_LD_STATIC_DYNAMIC]: Use them.
4070
d7862be3
NC
40712011-01-31 Nick Clifton <nickc@redhat.com>
4072
4073 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
4074 registers inside interrupt handlers if the handler is not a leaf
4075 function.
4076
ba4ec0e0
NC
40772011-01-31 Nick Clifton <nickc@redhat.com>
4078
4079 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
4080 reg_renumber returning an INVALID_REGNUM.
4081
29a63921
AO
40822011-01-31 Alexandre Oliva <aoliva@redhat.com>
4083
4084 PR libgcj/44341
4085 * doc/install.texi: Document host options discarded when cross
4086 configuring target libraries.
4087
ef591d3f
AO
40882011-01-31 Alexandre Oliva <aoliva@redhat.com>
4089
4090 Reverted:
4091 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
4092 PR debug/45136
4093 PR debug/45130
4094 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
4095 debug insns.
4096 (no_real_insns_p, schedule_block, set_priorities): Drop special
4097 treatment of boundary debug insns.
38be4072 4098 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
ef591d3f
AO
4099 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
4100 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
4101 (BOUNDARY_DEBUG_INSN_P): Likewise.
4102 (SCHEDULE_DEBUG_INSN_P): Likewise.
4103 * sched-rgn.c (init_ready_list): Drop special treatment of
4104 boundary debug insns.
4105 * final.c (rest_of_clean-state): Clear notes' BB.
4106
61052244
AM
41072011-01-31 Alan Modra <amodra@gmail.com>
4108
4109 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
4110 toc relative expressions as we do in print_operand_address.
4111
c4c8962b
KH
41122011-01-30 Kazu Hirata <kazu@codesourcery.com>
4113
4114 * doc/extend.texi: Follow spelling conventions.
4115 * doc/invoke.texi: Fix a typo.
4116
e543b94c
JM
41172011-01-30 Joseph Myers <joseph@codesourcery.com>
4118
4119 * config/hpux11.opt: New.
4120 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
4121 ia64*-*-hpux*): Use hpux11.opt.
4122
509d65dd 41232011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
a70e0551
JY
4124
4125 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
4126 to tmake_file.
4127
7be03a0e
GP
41282011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
4129
4130 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
4131 support sites.
4132
419d1d37
GP
41332011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
4134
b596ed64
GP
4135 * doc/install.texi (Binaries): Remove outdated reference for
4136 Motorola 68HC11/68HC12 downloads.
4137
41382011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
61052244 4139
419d1d37
GP
4140 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
4141 Drepper's paper.
4142
4406d0e9
JW
41432011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
4144
4145 PR bootstrap/47147
4146 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
4147 used by NetBSD.
4148
38be4072 41492011-01-28 Ahmad Sharif <asharif@google.com>
e0b77418
AS
4150
4151 * value-prof.c (check_counter): Corrected error message.
4152
0cd98787
JZ
41532011-01-29 Jie Zhang <jie@codesourcery.com>
4154
4155 * config/arm/arm.c (arm_legitimize_reload_address): New.
4156 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
4157 arm_legitimize_reload_address.
38be4072 4158 * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
0cd98787 4159
9b798ac5
ILT
41602011-01-28 Ian Lance Taylor <iant@google.com>
4161
4162 * godump.c (go_define): Ignore macros whose definitions include
4163 two adjacent operands.
4164
591e29d9
JJ
41652011-01-28 Jakub Jelinek <jakub@redhat.com>
4166
4167 PR target/42894
4168 * varasm.c (force_const_mem): Store copy of x in desc->constant
4169 instead of x itself.
4170 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
4171 itself into REG_EQUAL note.
4172
62dcc44a
JM
41732011-01-28 Joseph Myers <joseph@codesourcery.com>
4174
4175 * config/freebsd.opt (posix, rdynamic): New Driver options.
4176
c9f58b9a
RO
41772011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4178
4179 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
4180 -Bstatic/-Bdynamic.
4181 * configure: Regenerate.
4182
5f02b9db
JM
41832011-01-27 Joseph Myers <joseph@codesourcery.com>
4184
4185 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
4186 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
4187
5df97412
AS
41882011-01-27 Anatoly Sokolov <aesok@post.ru>
4189
4190 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
4191 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
4192 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
4193 (s390_preferred_reload_class): Make static. Change return and
4194 'rclass' argument type to reg_class_t.
4195
779d4b91
JH
41962011-01-27 Jan Hubicka <jh@suse.cz>
4197
4198 PR middle-end/46949
4199 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
4200 (process_function_and_variable_attributes): Check defined weakrefs.
4201
e80b21ed
MJ
42022011-01-27 Martin Jambor <mjambor@suse.cz>
4203
4204 PR tree-optimization/47228
4205 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
4206 build_ref_for_offset.
4207
6dcc4f31
UW
42082011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4209
4210 * config/spu/spu-elf.h (ASM_SPEC): Remove.
4211
509d65dd 42122011-01-26 Mikael Pettersson <mikpe@it.uu.se>
3b8ff89f
MP
4213
4214 PR rtl-optimization/46856
4215 * postreload.c (reload_combine_recognize_const_pattern): Do not
4216 separate cc0 setter and user on cc0 targets.
4217
04af8788
NP
42182011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
4219
4220 PR c/43082
4221 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
4222 passed a VOID_TYPE expression, immediately emit an error and
4223 return error_mark_node.
4224
f7a60085
JL
42252011-01-26 Jeff Law <law@redhat.com>
4226
4227 PR rtl-optimization/47464
4228 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
4229 rather than may_trap_p as needed.
4230
5c2917ec
DD
42312011-01-26 DJ Delorie <dj@redhat.com>
4232
4233 PR rtl-optimization/46878
4234 * combine.c (insn_a_feeds_b): Check for the implicit cc0
4235 setter/user dependency as well.
4236
bef16e87
EB
42372011-01-26 Eric Botcazou <ebotcazou@adacore.com>
4238
4239 PR rtl-optimization/44469
4240 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
4241 after removing trivially dead basic blocks.
4242
c75d884b
JM
42432011-01-26 Joseph Myers <joseph@codesourcery.com>
4244
4245 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
4246 * config/frv/frv.h (LINK_SPEC): Likewise.
4247 * config/i386/netware.h (LINK_SPEC): Likewise.
4248 * config/m68k/linux.h (ASM_SPEC): Likewise.
4249 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
4250 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
4251 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
4252 * config/sparc/linux.h (ASM_SPEC): Likewise.
4253 * config/sparc/linux64.h (ASM_SPEC): Likewise.
4254 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
4255
d3153553
JM
42562011-01-26 Joseph Myers <joseph@codesourcery.com>
4257
4258 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
4259 * config/frv/frv.h (ASM_SPEC): Likewise.
4260 * config/m68k/linux.h (ASM_SPEC): Likewise.
4261 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
4262 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
4263 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
4264 * config/sparc/linux.h (ASM_SPEC): Likewise.
4265 * config/sparc/linux64.h (ASM_SPEC): Likewise.
4266 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
4267
b89b1e9d
JM
42682011-01-26 Joseph Myers <joseph@codesourcery.com>
4269
4270 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
4271 * config/frv/frv.h (LINK_SPEC): Likewise.
4272 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
4273
12eb1a9c
JM
42742011-01-26 Joseph Myers <joseph@codesourcery.com>
4275
4276 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
4277 * config/frv/frv.h (ASM_SPEC): Likewise.
4278 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
4279 * config/m68k/linux.h (ASM_SPEC): Likewise.
4280 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
4281 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
4282 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
4283 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
4284 * config/sparc/linux.h (ASM_SPEC): Likewise.
4285 * config/sparc/linux64.h (ASM_SPEC): Likewise.
4286 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
4287 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
4288
e435f098
SE
42892011-01-26 Steve Ellcey <sje@cup.hp.com>
4290
4291 PR target/46997
4292 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
4293 (*mux2): Ditto.
4294 (vec_extract_evenodd_help): Ditto.
4295 (vec_extract_evenv4hi): Ditto.
4296 (vec_extract_oddv4hi): Ditto.
4297 (vec_interleave_lowv2si): Ditto.
4298 (vec_interleave_highv2si): Ditto.
4299 (vec_extract_evenv2si): Ditto.
4300 (vec_extract_oddv2si: Ditto.
4301 (vec_pack_trunc_v2si): Ditto.
4302
34f0eee0
JH
43032011-01-22 Jan Hubicka <jh@suse.cz>
4304
4305 PR target/47237
4306 * cgraph.h (cgraph_local_info): New field can_change_signature.
4307 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
4308 signature can change.
4309 (ipcp_estimate_growth): Call sequence simplify only if calle signature
4310 can change.
4311 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
4312 (cgraph_function_versioning): We can not change signature of functions
4313 that don't allow that.
4314 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
4315 (lto_input_node): Likewise.
38be4072
UB
4316 * ipa-inline.c (compute_inline_parameters): Compute
4317 local.can_change_signature.
34f0eee0 4318 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
38be4072
UB
4319 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
4320 functions that can not change signature.
34f0eee0 4321 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
38be4072
UB
4322 init_cumulative_args): Do not use local calling conventions
4323 for functions that can not change signature.
34f0eee0 4324
980ca891
JH
43252011-01-22 Jan Hubicka <jh@suse.cz>
4326
4327 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
4328
768e3c60
RG
43292011-01-26 Richard Guenther <rguenther@suse.de>
4330
4331 PR tree-optimization/47190
61052244
AM
4332 * cgraphunit.c (process_common_attributes): New function.
4333 (process_function_and_variable_attributes): Use it.
768e3c60 4334
21d6a1c7
RG
43352011-01-26 Richard Guenther <rguenther@suse.de>
4336
4337 PR lto/47423
4338 * cgraphbuild.c (record_eh_tables): Record reference to personality
4339 function.
4340
48bb58b1
AO
43412011-01-26 Alexandre Oliva <aoliva@redhat.com>
4342
4343 PR debug/45454
4344 * sel-sched.c (moveup_expr): Don't let debug insns prevent
4345 non-debug insns from moving up.
4346
58c741a6
DK
43472011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
4348
4349 PR target/40125
4350 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
4351 t-dlldir{,-x} fragment for build and add it to tmake_file.
4352 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
4353 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
4354 * config/i386/t-dlldir: New file.
4355 (SHLIB_DLLDIR): Define.
4356 * config/i386/t-dlldir-x: New file.
4357 (SHLIB_DLLDIR): Define.
4358 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
4359 (SHLIB_INSTALL): Use it.
4360
bff99262
CLT
43612011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
4362
4363 PR target/47246
4364 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
4365 lower bound of the allowed Thumb-2 coprocessor load/store
4366 index range to -256. Add explaining comment.
4367
82c03907
ILT
43682011-01-25 Ian Lance Taylor <iant@google.com>
4369
4370 * godump.c (go_define): Improve lexing of macro expansion to only
4371 accept expressions which match Go spec.
4372
47ea1edf
DK
43732011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
4374
d4dba752 4375 PR c++/43601
47ea1edf
DK
4376 * tree.c (handle_dll_attribute): Handle it.
4377 * doc/extend.texi (@item dllexport): Mention it.
4378 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
4379
744f0946
ILT
43802011-01-25 Ian Lance Taylor <iant@google.com>
4381
4382 PR tree-optimization/26854
4383 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
4384 (decl_jump_unsafe): Move higher in file, with no other change.
4385 (bind): Set has_jump_unsafe_decl if appropriate.
4386 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
4387 (check_earlier_gotos): Likewise.
4388 (c_check_switch_jump_warnings): Likewise.
4389
5734f2b3
JW
43902011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
4391
4392 * doc/invoke.texi (Warning Options): Add missing hyphen.
4393 (-fprofile-dir): Minor grammatical fixes.
4394 (-fbranch-probabilities): Likewise.
4395
9bdbdcef
AO
43962011-01-25 Alexandre Oliva <aoliva@redhat.com>
4397
4398 PR debug/45136
4399 PR debug/45130
4400 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
4401 debug insns.
4402 (no_real_insns_p, schedule_block, set_priorities): Drop special
4403 treatment of boundary debug insns.
38be4072 4404 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
9bdbdcef
AO
4405 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
4406 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
4407 (BOUNDARY_DEBUG_INSN_P): Likewise.
4408 (SCHEDULE_DEBUG_INSN_P): Likewise.
4409 * sched-rgn.c (init_ready_list): Drop special treatment of
4410 boundary debug insns.
4411 * final.c (rest_of_clean-state): Clear notes' BB.
4412
b305e3da
SP
44132011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4414
4415 * Makefile.in (LAMBDA_H): Removed.
4416 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
4417 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
4418 lambda-trans.o, and tree-loop-linear.o.
4419 (lto-symtab.o): Remove dependence on LAMBDA_H.
4420 (tree-loop-linear.o): Remove rule.
4421 (lambda-mat.o): Same.
4422 (lambda-trans.o): Same.
4423 (lambda-code.o): Same.
4424 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
4425 (tree-vect-slp.o): Same.
4426 * hwint.h (gcd): Moved here.
4427 (least_common_multiple): Same.
4428 * lambda-code.c: Removed.
4429 * lambda-mat.c: Removed.
4430 * lambda-trans.c: Removed.
4431 * lambda.h: Removed.
4432 * tree-loop-linear.c: Removed.
4433 * lto-symtab.c: Do not include lambda.h.
4434 * omega.c (gcd): Removed.
4435 * passes.c (init_optimization_passes): Remove pass_linear_transform.
4436 * tree-data-ref.c (print_lambda_vector): Moved here.
4437 (lambda_vector_copy): Same.
4438 (lambda_matrix_copy): Same.
4439 (lambda_matrix_id): Same.
4440 (lambda_vector_first_nz): Same.
4441 (lambda_matrix_row_add): Same.
4442 (lambda_matrix_row_exchange): Same.
4443 (lambda_vector_mult_const): Same.
4444 (lambda_vector_negate): Same.
4445 (lambda_matrix_row_negate): Same.
4446 (lambda_vector_equal): Same.
4447 (lambda_matrix_right_hermite): Same.
4448 * tree-data-ref.h: Do not include lambda.h.
4449 (lambda_vector): Moved here.
4450 (lambda_matrix): Same.
4451 (dependence_level): Same.
4452 (lambda_transform_legal_p): Removed declaration.
4453 (lambda_collect_parameters): Same.
4454 (lambda_compute_access_matrices): Same.
4455 (lambda_vector_gcd): Same.
4456 (lambda_vector_new): Same.
4457 (lambda_vector_clear): Same.
4458 (lambda_vector_lexico_pos): Same.
4459 (lambda_vector_zerop): Same.
4460 (lambda_matrix_new): Same.
4461 * tree-flow.h (least_common_multiple): Removed declaration.
4462 * tree-parloops.c (lambda_trans_matrix): Moved here.
4463 (LTM_MATRIX): Same.
4464 (LTM_ROWSIZE): Same.
4465 (LTM_COLSIZE): Same.
4466 (LTM_DENOMINATOR): Same.
4467 (lambda_trans_matrix_new): Same.
4468 (lambda_matrix_vector_mult): Same.
4469 (lambda_transform_legal_p): Same.
4470 * tree-pass.h (pass_linear_transform): Removed declaration.
4471 * tree-ssa-loop.c (tree_linear_transform): Removed.
4472 (gate_tree_linear_transform): Removed.
4473 (pass_linear_transform): Removed.
4474 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
4475 flag_loop_interchange.
4476
6bdfdb96
JJ
44772011-01-25 Jakub Jelinek <jakub@redhat.com>
4478
4479 PR tree-optimization/47265
4480 PR tree-optimization/47443
4481 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
4482 if name still has some uses.
4483
e4cba915
MJ
44842011-01-25 Martin Jambor <mjambor@suse.cz>
4485
4486 PR tree-optimization/47382
4487 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
4488 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
4489
509d65dd 44902011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
f822b8ea
JS
4491
4492 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
4493 sjlj_except_unwind_info.
4494
194313e2
RG
44952011-01-25 Richard Guenther <rguenther@suse.de>
4496
4497 PR tree-optimization/47426
4498 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
4499 visible functions results escape.
4500
147a0bcf
JJ
45012011-01-25 Jakub Jelinek <jakub@redhat.com>
4502
4503 PR target/45701
4504 * config/arm/arm.c (any_sibcall_uses_r3): New function.
4505 (arm_get_frame_offsets): Use it.
4506
db963b52
SP
45072011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4508 Jakub Jelinek <jakub@redhat.com>
4509
4510 PR tree-optimization/47271
4511 * tree-if-conv.c (bb_postdominates_preds): New.
4512 (if_convertible_bb_p): Call bb_postdominates_preds.
4513 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
4514 (predicate_scalar_phi): Call bb_postdominates_preds.
4515
bcddd3b9
NC
45162011-01-25 Nick Clifton <nickc@redhat.com>
4517
4518 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
4519 * config/rx/rx.c (rx_function_value): Likewise.
4520 (rx_promote_function_mode): Likewise.
4521 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
4522 in order to make it legitimate.
38be4072
UB
4523 * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
4524 make sure that the first operand is the same as the result register.
bcddd3b9
NC
4525 (addsi3_unspec): Delete.
4526 (subdi3): Do not accept immediate operands.
4527 (subdi3_internal): Likewise.
4528
7e6cb022
JL
45292011-01-25 Jeff Law <law@redhat.com>
4530
4531 PR rtl-optimization/37273
4532 * ira-costs.c (scan_one_insn): Detect constants living in memory and
4533 handle them like argument loads from stack slots. Do not double
4534 count memory for memory constants and argument loads from stack slots.
4535
9ffa621e
JJ
45362011-01-25 Jakub Jelinek <jakub@redhat.com>
4537
4538 PR tree-optimization/47427
4539 PR tree-optimization/47428
4540 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
4541 coalesce if the new root var would be TREE_READONLY.
4542
5bd6e652
RG
45432011-01-25 Richard Guenther <rguenther@suse.de>
4544
4545 PR middle-end/47414
4546 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
4547 correct type for TBAA.
4548
7c48ea69
SP
45492011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4550
4551 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
4552 (close_phi_written_to_memory): Call for_each_index with
4553 dr_indices_valid_in_loop.
4554
38013f25
SP
45552011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4556
4557 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
4558 when it is initialized.
4559
5c640e29
SP
45602011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4561
4562 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
4563 call to graphite_find_data_references_in_stmt.
4564 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
4565 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
4566 call to graphite_find_data_references_in_stmt.
4567 (analyze_drs_in_stmts): Same.
4568 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
4569 in which the scalar analysis of indices is performed.
4570 (create_data_ref): Same. Update call to dr_analyze_indices.
4571 (find_data_references_in_stmt): Update call to create_data_ref.
4572 (graphite_find_data_references_in_stmt): Same.
4573 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
4574 declaration.
4575 (create_data_ref): Same.
4576 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
4577 call to create_data_ref.
4578
ac53c069
SP
45792011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4580
4581 * graphite-sese-to-poly.c (build_poly_scop): Move
38be4072 4582 rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
ac53c069 4583
3d17df15
SP
45842011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4585
4586 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
4587 VAR_DECL, PARM_DECL, and RESULT_DECL.
4588
c513da01
SP
45892011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4590
4591 * graphite-dependences.c (reduction_dr_1): Allow several reductions
4592 in a reduction PBB.
4593 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
4594 that have already been marked as PBB_IS_REDUCTION.
4595
3a292d59
SP
45962011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4597
4598 * graphite-scop-detection.c (same_close_phi_node): New.
4599 (remove_duplicate_close_phi): New.
4600 (make_close_phi_nodes_unique): New.
4601 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
4602
ba858447
SP
46032011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4604
4605 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
4606 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
4607 of both data references to be the same.
4608
8d865c56
SP
46092011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4610
38be4072
UB
4611 * graphite-dependences.c (build_lexicographical_constraint): Remove
4612 the gdim parameter.
4613 (build_lexicographical_constraint): Adjust call to
4614 ppl_powerset_is_empty.
8d865c56
SP
4615 (dependence_polyhedron): Same.
4616 (graphite_legal_transform_dr): Same.
4617 (graphite_carried_dependence_level_k): Same.
38be4072
UB
4618 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
4619 parameter.
8d865c56
SP
4620 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
4621
50034a36
SP
46222011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4623
4624 * graphite-sese-to-poly.c
4625 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
4626 (close_phi_written_to_memory): New.
4627 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
4628 and unshare_expr.
4629
0deada9e
SP
46302011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4631
4632 * doc/install.texi: Update the expected version number of PPL to 0.11.
4633 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
4634 #if PPL_VERSION_MINOR < 11.
4635
d7d3d6af
SP
46362011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4637
4638 * graphite-dependences.c: Include graphite-cloog-util.h.
4639 (new_poly_ddr): Inlined into dependence_polyhedron.
4640 (free_poly_ddr): Moved close by new_poly_ddr.
4641 (dependence_polyhedron_1): Renamed dependence_polyhedron.
4642 Early return NULL when ppl_powerset_is_empty returns true.
4643 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
4644 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
4645 (graphite_legal_transform_dr): Call new_poly_ddr.
4646 (graphite_carried_dependence_level_k): Same.
4647 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
4648 (dot_transformed_deps_stmt_1): Removed.
4649 (dot_deps_stmt_1): Call dot_deps_stmt_2.
4650 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
4651 (dot_deps_1): Call dot_deps_2.
4652 * Makefile.in (graphite-dependences.o): Add missing dependence on
4653 graphite-cloog-util.h.
4654
28c5db57
SP
46552011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4656
4657 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
4658 (build_lexicographical_constraint): Same.
4659 (dependence_polyhedron_1): Same.
4660 (graphite_legal_transform_dr): Same.
4661 (graphite_carried_dependence_level_k): Same.
4662 * graphite-ppl.c (ppl_powerset_is_empty): New.
4663 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
4664 * tree-data-ref.c (dump_data_reference): Print the basic block index.
4665
5168d98f
SP
46662011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4667
4668 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
4669 the "a followed by b" relation and document it.
4670
4a40293a
SP
46712011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4672
4673 * graphite-dependences.c (build_lexicographical_constraint): Stop the
4674 iteration when the bag of constraints is empty.
4675
271fb6fa
SP
46762011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4677
4678 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
4679
92d23680
SP
46802011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4681
4682 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
4683 nest and two loop depths as parameters.
4684 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
4685 lst_perfect_nestify.
4686
2f51deff
SP
46872011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4688
4689 * graphite-dependences.c (print_pddr): Call
4690 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
4691
07f3593c
SP
46922011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4693
4694 * graphite-ppl.c (debug_gmp_value): New.
4695 * graphite-ppl.h (debug_gmp_value): Declared.
4696
3fae6099
TG
46972011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
4698
4699 * doc/install.texi: Document availability of cloog-0.16.
4700
1c3ba85b
SP
47012011-01-25 Vladimir Kargov <kargov@gmail.com>
4702
4703 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
4704 invalid postdominance info.
4705
e8ba94fc
JH
47062011-01-24 Jan Hubicka <jh@suse.cz>
4707
4708 PR c/21659
4709 * doc/extend.texi (weak pragma): Drop claim that it must
4710 appear before definition.
4711 * varasm.c (merge_weak, declare_weak): Only sanity check
4712 that DECL is not output at a time it is declared weak.
4713
2b6e2d13
KZ
47142011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
4715
4716 * machmode.def: Fixed comments.
1c3ba85b 4717
9841210f
KT
47182011-01-24 Kai Tietz <kai.tietz@onevision.com>
4719
4720 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
4721
47222011-01-24 Paul Koning <ni1d@arrl.net>
e046112d
PK
4723
4724 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
1c3ba85b 4725 WORDS_BIG_ENDIAN.
e046112d 4726
a6c5070a
L
47272011-01-24 H.J. Lu <hongjiu.lu@intel.com>
4728
4729 PR target/46519
4730 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
4731 (block_info): Add scanned and prev.
4732 (move_or_delete_vzeroupper_2): Return if the basic block
4733 has been scanned and the upper 128bit state is unchanged
4734 from the last scan.
4735 (move_or_delete_vzeroupper_1): Return true if the exit
4736 state is changed.
4737 (move_or_delete_vzeroupper): Visit basic blocks using the
4738 work-list based algorithm based on vt_find_locations in
4739 var-tracking.c.
4740
4741 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
4742
a40d79d7
NC
47432011-01-24 Nick Clifton <nickc@redhat.com>
4744
4745 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
4746 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
4747 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
4748 then define __v850e1__.
4749 * doc/invoke.texi: Document -mv850es.
4750
440eb8de
RH
47512011-01-24 Richard Henderson <rth@redhat.com>
4752
4753 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
4754 compound unordered comparisons.
4755 * config/rx/rx.c (rx_split_fp_compare): Remove.
4756 * config/rx/rx-protos.h: Update.
4757 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
4758 (cbranchsf4): Don't call rx_split_fp_compare.
4759 (*cbranchsf4): Use rx_split_cbranch.
4760 (*cmpsf): Don't accept "i" constraint.
4761 (*conditional_branch): Only valid after reload.
4762 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
4763
3ff79f99
MM
47642011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
4765
4766 PR target/47385
4767 * config/rs6000/altivec.md (vector constant splitters): Add
4768 support for creating vector single precision constants if -mvsx is
4769 used and we would create the constant using Altivec primitives.
4770
ff3d9d08
BS
47712011-01-23 Bernd Schmidt <bernds@codesourcery.com>
4772 Richard Sandiford <rdsandiford@googlemail.com>
4773
4774 PR rtl-optimization/47166
4775 * reload1.c (emit_reload_insns): Disable the spill_reg_store
4776 mechanism for PRE_MODIFY and POST_MODIFY.
4777 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
4778 reloadreg.
4779
7fcaf152
AS
47802011-01-23 Andreas Schwab <schwab@linux-m68k.org>
4781
8788adb6 4782 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
7fcaf152 4783
d09b58c4
JH
47842011-01-22 Jan Hubicka <jh@suse.cz>
4785
4786 PR lto/47333
4787 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
4788
e8ff8c5a
JH
47892011-01-22 Jan Hubicka <jh@suse.cz>
4790
4791 PR tree-optimization/43884
4792 PR lto/44334
8788adb6 4793 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
e8ff8c5a
JH
4794 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
4795
ccaed3ba
AS
47962011-01-22 Anatoly Sokolov <aesok@post.ru>
4797
4798 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
4799 * config/s390/s390.c (s390_register_move_cost,
4800 s390_memory_move_cost): New.
4801 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
4802
0cecee06
UW
48032011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4804
4805 PR middle-end/47401
4806 * except.c (sjlj_assign_call_site_values): Move setting the
4807 crtl->uses_eh_lsda flag to ...
4808 (sjlj_mark_call_sites): ... here.
4809 (sjlj_emit_function_enter): Support NULL dispatch label.
4810 (sjlj_build_landing_pads): In a function with no landing pads
4811 that still has must-not-throw regions, generate code to register
4812 a personality function with empty LSDA.
4813
e692f276
RH
48142011-01-21 Richard Henderson <rth@redhat.com>
4815
1b7ae0b7
RH
4816 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
4817
3843787f
RH
4818 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
4819
e692f276
RH
4820 * compare-elim.c: New file.
4821 * Makefile.in (OBJS-common): Add it.
4822 (compare-elim.o): New.
4823 * common.opt (fcompare-elim): New.
4824 * opts.c (default_options_table): Add OPT_fcompare_elim.
4825 * tree-pass.h (pass_compare_elim_after_reload): New.
4826 * passes.c (init_optimization_passes): Add it.
4827 * recog.h: Protect against re-inclusion.
4828 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
4829 * doc/invoke.texi (-fcompare-elim): Document it.
4830 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
4831 * doc/tm.texi: Rebuild.
4832
9a7c2050
NC
48332011-01-22 Nick Clifton <nickc@redhat.com>
4834
4835 * config/rx/rx.md (cstoresf4): Pass comparison operator to
4836 rx_split_fp_compare.
4837
15ba5696
NC
48382011-01-22 Nick Clifton <nickc@redhat.com>
4839
4840 * config/rx/rx.md (UNSPEC_CONST): New.
4841 (deallocate_and_return): Wrap the amount popped off the stack in
4842 an UNSPEC_CONST in order to stop it being rejected by
4843 -mmax-constant-size.
4844 (pop_and_return): Add a "(return)" rtx.
4845 (call): Drop the immediate operand.
4846 (call_internal): Likewise.
4847 (call_value): Likewise.
4848 (call_value_internal): Likewise.
4849 (sibcall_internal): Likewise.
4850 (sibcall_value_internal): Likewise.
4851 (sibcall): Likewise. Generate an explicit call using
4852 sibcall_internal.
4853 (sibcall_value): Likewise.
4854 (mov<>): FAIL if a constant operand is not legitimate.
4855 (addsi3_unpsec): New pattern.
9a7c2050 4856
38be4072 4857 * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
15ba5696
NC
4858 (ok_for_max_constant): New function.
4859 (gen_safe_add): New function.
4860 (rx_expand_prologue): Use gen_safe_add.
4861 (rx_expand_epilogue): Likewise.
4862 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
4863 UNSPEC CONSTs.
4864
caaf13d3
JL
48652011-01-21 Jeff Law <law@redhat.com>
4866
4867 PR tree-optimization/47053
4868 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
4869 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
4870 statements are deleted.
4871 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
4872 is nonempty, then purge dead edges and cleanup the CFG.
4873
12c30f2f
AO
48742011-01-21 Alexandre Oliva <aoliva@redhat.com>
4875
4876 PR debug/47402
4877 Temporarily revert:
4878 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
4879 PR debug/47106
4880 * tree-dfa.c (create_var_ann): Mark variable as used.
4881
7360d2ac
JJ
48822011-01-21 Jakub Jelinek <jakub@redhat.com>
4883
aaa52a96
JJ
4884 PR middle-end/45566
4885 * except.c (convert_to_eh_region_ranges): Emit queued no-region
4886 notes from other section in hot/cold partitioning even if
4887 last_action is -3. Increment call_site_base.
4888
7360d2ac
JJ
4889 PR rtl-optimization/47366
4890 * fwprop.c (forward_propagate_into): Return bool. If
4891 any changes are made, -fnon-call-exceptions is used and
4892 REG_EH_REGION note is present, call purge_dead_edges
4893 and return true if it purged anything.
4894 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
4895 any EH edges were purged.
4896
e90b336f
JL
48972011-01-21 Jeff Law <law@redhat.com>
4898
4899 PR rtl-optimization/41619
4900 * caller-save.c (setup_save_areas): Break out code to determine
4901 which hard regs are live across calls by examining the reload chains
4902 so that it is always used.
4903 Eliminate code which checked REG_N_CALLS_CROSSED.
4904
3ffe07e1
JJ
49052011-01-21 Jakub Jelinek <jakub@redhat.com>
4906
4907 PR tree-optimization/47355
4908 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
4909 NOP has non-debug uses beyond PHIs in new_bb.
4910
1c7d0b34
AO
49112011-01-21 Alexandre Oliva <aoliva@redhat.com>
4912
4913 PR debug/47106
4914 * cfgexpand.c (account_used_vars_for_block): Only account vars
4915 that are annotated as used.
4916 (estimated_stack_frame_size): Don't set TREE_USED.
4917 * tree-dfa.c (create_var_ann): Mark variable as used.
4918
f99cc488
RG
49192011-01-21 Richard Guenther <rguenther@suse.de>
4920
4921 PR middle-end/47395
4922 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
4923
3bc27de7
RG
49242011-01-21 Richard Guenther <rguenther@suse.de>
4925
4926 PR tree-optimization/47365
4927 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
4928 (vn_reference_lookup_pieces): Adjust.
4929 (vn_reference_lookup): Likewise.
4930 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
4931 (vn_reference_lookup_3): Only look through kills if in
4932 VN_WALKREWRITE mode.
4933 (vn_reference_lookup_pieces): Adjust.
4934 (vn_reference_lookup): Likewise.
4935 (visit_reference_op_load): Likewise.
4936 (visit_reference_op_store): Likewise.
4937 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
4938 (compute_avail): Likewise.
4939 (eliminate): Likewise.
4940
d8debb1d
JJ
49412011-01-21 Jakub Jelinek <jakub@redhat.com>
4942
4943 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
4944 DECL_IGNORED_P non-reg vars if they are used.
4945
3a2df831
JJ
4946 PR tree-optimization/47391
4947 * varpool.c (const_value_known_p): Return false if
4948 decl is volatile.
4949
1dd584a2
KT
49502011-01-21 Kai Tietz <kai.tietz@onevision.com>
4951
4952 PR bootstrap/47215
4953 * config/i386/i386.c (ix86_local_alignment): Handle
4954 case for va_list_type_node is nil.
4955 (ix86_canonical_va_list_type): Likewise.
4956
7f9f095e
AM
49572011-01-21 Alan Modra <amodra@gmail.com>
4958
4959 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
4960 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
4961
837b01f6
RR
49622011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4963
4964 * config/arm/arm.md (define_attr type): Rename f_load
4965 and f_store to f_fpa_load and f_fpa_store. Update.
4966 (write_conflict): Deal with rename fallout.
4967 (*push_fp_multi): Likewise.
4968 * config/arm/fpa.md (f_load): Use f_fpa_load.
4969 (f_store): Use f_fpa_store.
4970 (*movsf_fpa): Likewise.
4971 (*movdf_fpa): Likewise.
4972 (*movxf_fpa): Likewise.
4973 (*thumb2_movsf_fpa): Likewise.
4974 (*thumb2_movdf_fpa): Likewise.
4975 (*thumb2_movxf_fpa): Likewise.
4976 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
4977 f_loadd and f_stored.
4978 (*thumb2_movdi_vfp): Likewise.
4979 (*thumb2_movsf_vfp): Fix attribute to f_loads.
4980 (*thumb2_movsi_vfp): Likewise.
4981 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
4982 Use f_loads instead of f_load.
4983 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
4984
a1a79768
AS
49852011-01-20 Anatoly Sokolov <aesok@post.ru>
4986
4987 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
4988 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
4989 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
4990 (xtensa_mode_dependent_address_p): New function.
4991 (constantpool_address_p): Make static. Change return type to bool.
4992 Change argument type to const_rtx. Use CONST_INT_P predicate.
4993
427f6cec
AO
49942011-01-20 Alexandre Oliva <aoliva@redhat.com>
4995
4996 PR debug/46583
4997 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
4998
583ac69c
JJ
49992011-01-20 Jakub Jelinek <jakub@redhat.com>
5000
5001 PR debug/47283
5002 * cfgexpand.c (expand_debug_expr): Instead of generating
5003 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
5004 etc. handling.
5005
93e452ed
RG
50062011-01-20 Richard Guenther <rguenther@suse.de>
5007
5008 PR middle-end/47370
5009 * tree-inline.c (remap_gimple_op_r): Recurse manually for
5010 the pointer operand of MEM_REFs.
5011
28fc44f3
JJ
50122011-01-20 Jakub Jelinek <jakub@redhat.com>
5013
5014 PR tree-optimization/46130
5015 * ipa-split.c (consider_split): If return_bb contains non-virtual
5016 PHIs other than for retval or if split_function would not adjust it,
5017 refuse to split.
5018
ddd268f2
RG
50192011-01-20 Richard Guenther <rguenther@suse.de>
5020
5021 PR tree-optimization/47167
5022 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
5023 Revert previous change, only avoid enumeral type changes.
5024
882020aa
MS
50252011-01-19 Mike Stump <mikestump@comcast.net>
5026
5027 * doc/tm.texi.in (BRANCH_COST): Englishify.
5028 * doc/tm.texi (BRANCH_COST): Likewise.
5029
7edb6247
DS
50302011-01-19 Dodji Seketeli <dodji@redhat.com>
5031
5032 PR c++/47291
5033 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
61052244
AM
5034 (gen_scheduled_generic_parms_dies): New functions.
5035 (gen_struct_or_union_type_die): Schedule template parameters DIEs
5036 generation for the end of CU compilation.
5037 (dwarf2out_finish): Generate template parameters DIEs here.
7edb6247 5038
23d5ed5d
AO
50392011-01-19 Alexandre Oliva <aoliva@redhat.com>
5040
5041 PR debug/46240
5042 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
5043 debug bind stmt on merge edges.
5044
37d6a488
AO
50452011-01-19 Alexandre Oliva <aoliva@redhat.com>
5046
5047 PR debug/47079
5048 PR debug/46724
5049 * function.c (instantiate_expr): Instantiate incoming rtl of
5050 implicit arguments, and recurse on VALUE_EXPRs.
5051 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
5052 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
5053
689f2c82
AO
50542011-01-19 Alexandre Oliva <aoliva@redhat.com>
5055
5056 * c-parser.c (c_parser_for_statement): Initialize
5057 collection_expression.
5058
03029de4
JM
50592011-01-19 Joseph Myers <joseph@codesourcery.com>
5060
5061 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
5062
3e03217e
JM
50632011-01-19 Joseph Myers <joseph@codesourcery.com>
5064
5065 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
5066 (LINK_SHLIB_SPEC): Don't use %(link_path).
5067 (SUBTARGET_EXTRA_SPECS): Remove link_path.
5068
5bbe9b3f
JM
50692011-01-19 Joseph Myers <joseph@codesourcery.com>
5070
5071 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
5072 (NO_SHARED_LIB_SUPPORT): Remove.
5073 (LINK_SHLIB_SPEC): Remove one conditional definition.
5074
368e0b39
JM
50752011-01-19 Joseph Myers <joseph@codesourcery.com>
5076
5077 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
5078 %{call_shared}.
5079 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
5080 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
5081 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
5082 %{call_shared} and conditionals on these options not being passed.
5083 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
5084 %{call_shared}.
5085
ed7656f6
JJ
50862011-01-19 Jakub Jelinek <jakub@redhat.com>
5087
68457901
JJ
5088 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
5089 simplify.
5090
ed7656f6
JJ
5091 * ipa-split.c: Spelling fixes.
5092
e0d1958f
RH
50932011-01-19 Richard Henderson <rth@redhat.com>
5094
5095 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
5096 (*mulsi3): Likewise.
5097
27098b6b
RH
5098 * longlong.h [__mn10300__] (count_leading_zeros): New.
5099 [__mn10300__] (umul_ppmm, smul_ppmm): New.
5100 [__mn10300__] (add_ssaaaa, subddmmss): New.
5101 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
5102 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
5103
d6be7c36
UW
51042011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5105
5106 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
5107
b1efde2a
RH
51082011-01-19 Richard Henderson <rth@redhat.com>
5109
44217823
RH
5110 * config/mn10300/mn10300.md (addsi3_flags): New.
5111 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
5112 (subsi3_flags, subc_internal, subdi3): New.
5113 (subdi3_internal, *subdi3_degenerate): New.
5114 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
5115
37a185d7
RH
5116 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
5117 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
5118 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
5119 * config/mn10300/mn10300-protos.h: Update.
5120 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
5121 (return_ret): Likewise. Rename from return_internal_regs.
5122 (return_internal): Remove.
5123
040c5757
RH
5124 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
5125 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
5126 (mn10300_legitimate_constant_p): Likewise.
5127 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
5128 (mn10300_frame_size): New.
5129 (mn10300_expand_prologue): Use it.
5130 (mn10300_expand_epilogue): Likewise.
5131 (mn10300_initial_offset): Likewise.
5132 * config/mn10300/mn10300-protos.h: Update.
5133 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
5134 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
5135 (prologue, epilogue, return_internal): Tidy output code.
5136 (mn10300_store_multiple_operation, return): Likewise.
5137 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
5138 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
5139 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
5140 (load_pic, am33_load_pic): New.
5141 (mn10300_load_pic0, mn10300_load_pic1): New.
5142
bad41521
RH
5143 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
5144 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
5145 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
5146 (cc_flags_for_mode, cc_flags_for_code): New.
5147 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
5148 overflow flag is not valid. Validate that the flags we need
5149 for the comparison are valid.
5150 (mn10300_output_cmp): Remove.
5151 (mn10300_output_add): New.
5152 (mn10300_select_cc_mode): Use cc_flags_for_code.
5153 (mn10300_split_cbranch): New.
5154 (mn10300_match_ccmode): New.
5155 (mn10300_split_and_operand_count): New.
5156 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
5157 to the function.
5158 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
5159 (addsi3): ... here. Use mn10300_output_add.
5160 (*addsi3_flags): New.
5161 (*am33_subsi3, *mn10300_subsi3): Merge...
5162 (subsi3): ... here. Use attribute isa.
5163 (*subsi3_flags): New.
5164 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
5165 when possible.
5166 (*am33_andsi3, *mn10300_andsi3): Merge...
5167 (andsi3): ... here.
5168 (*andsi3_flags): New.
5169 (andsi3 splitters): New.
5170 (*am33_iorsi3, *mn10300_iorsi3): Merge...
5171 (iorsi3): ... here.
5172 (*iorsi3_flags): New.
5173 (*am33_xorsi3, *mn10300_xorsi3): Merge...
5174 (xorsi3): ... here.
5175 (*xorsi3_flags): New.
5176 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
5177 (one_cmplsi2): ... here.
5178 (*one_cmplsi2_flags): New.
5179 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
5180 instead of "dax" in constraints. Use mn10300_split_cbranch.
5181 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
5182 use matching constraints to eliminate a self-comparison.
5183 (*integer_conditional_branch): Rename from integer_conditional_branch.
5184 Use int_mode_flags to match CC_REG.
5185 (*cbranchsi4_btst, *btstsi): New.
5186 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
5187 mn10300_split_cbranch.
5188 (*am33_cmpsf): Rename from am33_cmpsf.
5189 (*float_conditional_branch): Rename from float_conditional_branch.
5190 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
5191 (zero_extendqisi2): ... here.
5192 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
5193 (zero_extendhisi2): ... here.
5194 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
5195 (extendqisi2): ... here.
5196 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
5197 (extendhisi2): ... here.
5198 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
5199 (ashlsi3): ... here.
5200 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
5201 (lshrsi3): ... here.
5202 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
5203 (ashrsi3): ... here.
5204 (consecutive add peephole): Remove.
5205 * config/mn10300/predicates.md (label_ref_operand): New.
5206 (int_mode_flags): New.
5207 (CCZN_comparison_operator): New.
5208
9efb4993
RH
5209 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
5210 (throughput_42_latency_43): New reservation.
5211 (mulsidi3, umulsidi3): New expanders.
5212 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
5213 the MDR register to allocation; separately allocate the low and
5214 high parts of the DImode result.
5215 (umulsidi3_internal): Similarly.
5216 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
5217 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
5218 (udivsi3, umodsi3): Remove.
5219 (udivmodsi4, divmodsi4): New expanders.
5220 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
5221 (*divmodsi4): Simiarly.
5222 (ext_internal): New.
5223
c25a21f5
RH
5224 * config/mn10300/constraints.md ("z"): New constraint.
5225 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
5226 (FIXED_REGISTERS): Don't fix MDR.
5227 (CALL_USED_REGSITERS): Reformat nicely.
5228 (REG_ALLOC_ORDER): Add MDR.
5229 (enum regclass): Add MDR_REGS.
5230 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
5231 (IRA_COVER_CLASSES): Add MDR_REGS.
5232 (REGNO_REG_CLASS): Handle MDR_REG.
5233 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
5234 (mn10300_register_move_cost): Likewise.
5235 * config/mn10300/mn10300.md (MDR_REG): New.
5236 (*movsi_internal): Handle moves to/from MDR_REGS.
5237
36846b26
RH
5238 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
5239 POST_MODIFY.
5240 (mn10300_secondary_reload): Tidy combination reload classes.
5241 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
5242 addresses for AM33. Allow symbolic offsets for reg+imm.
5243 (mn10300_regno_in_class_p): New.
5244 (mn10300_legitimize_reload_address): New.
5245 * config/mn10300/mn10300.h (enum reg_class): Remove
5246 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
5247 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
5248 SP_OR_GENERAL_REGS.
5249 (REG_CLASS_NAMES): Update to match.
5250 (REG_CLASS_CONTENTS): Likewise.
5251 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
5252 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
5253 (REGNO_IN_RANGE_P): Remove.
5254 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
5255 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
5256 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
5257 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
5258 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
5259 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
5260 (REGNO_GENERAL_P): New.
5261 (HAVE_POST_MODIFY_DISP): New.
5262 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
5263 (LEGITIMIZE_RELOAD_ADDRESS): New.
5264 * config/mn10300/mn10300-protos.h: Update.
5265
8b119bb6
RH
5266 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
5267 DATA_REGS for AM33 stack-pointer destination.
5268 (mn10300_preferred_output_reload_class): Likewise.
5269 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
5270 into a form appropriate for ...
5271 (TARGET_SECONDARY_RELOAD): New.
5272 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
5273 * config/mn10300/mn10300-protos.h: Update.
5274 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
5275 reload_insi; use the "A" constraint for the scratch; handle AM33
5276 moves of sp to non-address registers.
5277
b1efde2a
RH
5278 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
5279 (*movqi_internal): ... here.
5280 (*am33_movhi, *mn10300_movhi): Merge into...
5281 (*movhi_internal): ... here.
5282 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
5283 as the source/destination of moves from/to SP.
5284 (movsf): Only allow for AM33-2.
1c3ba85b 5285 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
b1efde2a
RH
5286 any integer constant constraint. Only allow for AM33-2. Tidy
5287 all of the alternative outputs.
5288 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
5289 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
5290 for MN103.
5291 (udivsi3, umodsi3): New patterns for MN103 only.
5292
b899fd78
JR
52932011-01-19 Joern Rennecke <amylaar@spamcop.net>
5294
5295 * doc/tm.texi.in: Spell out that a lack of register class unions
5296 can lead to ICEs.
5297 * doc/tm.texi: Regenerate.
5298
afaaa67d
JJ
52992011-01-19 Jakub Jelinek <jakub@redhat.com>
5300
2e0642cd
JJ
5301 PR rtl-optimization/47337
5302 * dce.c (check_argument_store): New function.
5303 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
5304
afaaa67d
JJ
5305 PR tree-optimization/47290
5306 * tree-eh.c (infinite_empty_loop_p): New function.
5307 (cleanup_empty_eh): Use it.
5308
d2cd871f
SE
53092011-01-18 Steve Ellcey <sje@cup.hp.com>
5310
5311 PR target/46997
5312 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
5313 (a64_expand_widen_sum): Ditto.
5314 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
5315 (vec_extract_evenodd_help): Ditto.
5316 (vec_extract_evenv4hi): Ditto.
5317 (vec_extract_oddv4hi): Ditto.
5318 (vec_extract_evenv2si): Ditto.
5319 (vec_extract_oddv2si): Ditto.
5320 (vec_extract_evenv2sf): Ditto.
5321 (vec_extract_oddv2sf): Ditto.
5322 (vec_pack_trunc_v4hi: Ditto.
5323 (vec_pack_trunc_v2si): Ditto.
5324 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
5325 (vec_interleave_highv8qi): Ditto.
5326 (mix1_r): Ditto.
5327 (vec_extract_oddv8qi): Ditto.
5328 (vec_interleave_lowv4hi): Ditto.
5329 (vec_interleave_highv4hi): Ditto.
5330 (vec_interleave_lowv2si): Ditto.
5331 (vec_interleave_highv2si): Ditto.
5332
41a1208a
JDA
53332011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5334
5335 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
5336 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
5337 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
5338 (pa_c_mode_for_suffix): New.
5339 (TARGET_EXPAND_BUILTIN): Define.
5340 (TARGET_C_MODE_FOR_SUFFIX): Define.
5341 (pa_builtins): Define.
5342 (pa_init_builtins): Register __float128 type and init new support
5343 builtins.
5344 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
5345 * config/pa/quadlib.c (_U_Qfcopysign): New.
5346
1ecad98e
EB
53472011-01-18 Eric Botcazou <ebotcazou@adacore.com>
5348
5349 PR middle-end/46894
5350 * explow.c (allocate_dynamic_stack_space): Do not assume more than
5351 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
5352 are defined.
5353
d4f2460a
UW
53542011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5355
5356 PR tree-optimization/47179
5357 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
5358 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
5359
4994da65
RG
53602011-01-18 Richard Guenther <rguenther@suse.de>
5361
5362 PR rtl-optimization/47216
5363 * emit-rtl.c: Include tree-flow.h.
5364 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
5365 of replicating it with different semantics.
5366 * Makefile.in (emit-rtl.o): Adjust.
5367
1eb458d1
RR
53682011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5369
38be4072 5370 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
61052244 5371 (cortex_a9_dp): Handle neon types correctly.
1eb458d1 5372
e7ef91dc
JJ
53732011-01-18 Jakub Jelinek <jakub@redhat.com>
5374
5375 PR rtl-optimization/47299
5376 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
38be4072 5377 subtarget. Use normal multiplication if both operands are constants.
e7ef91dc
JJ
5378 * expmed.c (expand_widening_mult): Don't try to optimize constant
5379 multiplication if op0 has VOIDmode. Convert op1 constant to mode
5380 before using it.
5381
535b7874
RW
53822011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5383
5384 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
5385 spacing after 'e.g.', typos, comma, hyphenation.
5386
27bf36f3
RH
53872011-01-17 Richard Henderson <rth@redhat.com>
5388
8a5b5449
RH
5389 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
5390 (rx_restricted_mem_operand): New.
5391 (rx_shift_operand): Use register_operand.
5392 (rx_source_operand, rx_compare_operand): Likewise.
5393 * config/rx/rx.md (addsi3_flags): New expander.
5394 (adddi3): Rewrite as expander.
5395 (adc_internal, *adc_flags, adddi3_internal): New patterns.
5396 (subsi3_flags): New expander.
5397 (subdi3): Rewrite as expander.
5398 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
5399
784f69be
RH
5400 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
5401 (rx_init_builtins): Remove sat builtin.
5402 (rx_expand_builtin): Likewise.
5403 * config/rx/rx.md (ssaddsi3): New.
5404 (*sat): Rename from sat. Represent the CC_REG input.
5405
f033541c
RH
5406 * config/rx/predicates.md (rshift_operator): New.
5407 * config/rx/rx.c (rx_expand_insv): Remove.
5408 * config/rx/rx-protos.h: Update.
5409 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
5410 operand to the canonical position.
5411 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
5412 (*bitclr, *bitclr_in_memory): Similarly.
5413 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
5414 (insv): Retain the zero_extract in the expansion.
5415
34fee389
RH
5416 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
5417 (bswaphi2, bitinvert, revw): Likewise.
5418
265c835f
RH
5419 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
5420 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
5421 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
5422 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
5423 (bitset, bitset_in_memory): Likewise.
5424 (bitinvert, bitinvert_in_memory): Likewise.
5425 (bitclr, bitclr_in_memory): Likewise.
5426 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
5427 (rx_strend, rx_cmpstrn): Likewise.
5428 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
5429 (bitop peep2 patterns): Remove.
5430
b4d83be3
RH
5431 * config/rx/rx.c (rx_match_ccmode): New.
5432 * config/rx/rx-protos.h: Update.
5433 * config/rx/rx.md (abssi2): Clobber, don't set flags.
5434 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
5435 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
5436 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
5437 (fix_truncsfsi2, floatsisf2): Likewise.
5438 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
5439 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
5440 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
5441 (*subsi3_flags, *xorsi3_flags): New.
5442
d0acb939
RH
5443 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
5444
c06fc3d9
RH
5445 * config/rx/rx.c (rx_print_operand): Remove workaround for
5446 unsplit comparison operations.
5447
2882702b
RH
5448 * config/rx/rx.md (movsicc): Split after reload.
5449 (*movsicc): Merge *movsieq and *movsine via match_operator.
5450 (*stcc): New pattern.
5451
6f7310f2
RH
5452 * config/rx/rx.c (rx_float_compare_mode): Remove.
5453 * config/rx/rx.h (rx_float_compare_mode): Remove.
5454 * config/rx/rx.md (cstoresi4): Split after reload.
5455 (*sccc): New pattern.
5456
e963cb1a
RH
5457 * config/rx/predicates.md (label_ref_operand): New.
5458 (rx_z_comparison_operator): New.
5459 (rx_zs_comparison_operator): New.
5460 (rx_fp_comparison_operator): New.
5461 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
5462 Validate that the flags are set properly for the comparison.
5463 (rx_gen_cond_branch_template): Remove.
5464 (rx_cc_modes_compatible): Remove.
5465 (mode_from_flags): New.
5466 (flags_from_code): Rename from flags_needed_for_conditional.
5467 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
5468 (rx_select_cc_mode): Likewise.
5469 (rx_split_fp_compare): New.
5470 (rx_split_cbranch): New.
5471 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
5472 (*cbranchsi4): Use match_operator and rx_split_cbranch.
5473 (*cbranchsf4): Similarly.
5474 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
5475 match_operator and rx_split_cbranch.
5476 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
5477 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
5478 (*cmpsi): Rename from cmpsi.
5479 (*tstsi): Rename from tstsi.
5480 (*cmpsf): Rename from cmpsf; use CC_Fmode.
5481 (*conditional_branch): Rename from conditional_branch.
5482 (*reveresed_conditional_branch): Remove.
5483 (b<code>): Remove expander.
5484 * config/rx/rx-protos.h: Update.
5485
af530bb4
RH
5486 * config/rx/rx.c (rx_compare_redundant): Remove.
5487 * config/rx/rx.md (cmpsi): Don't use it.
5488 * config/rx/rx-protos.h: Update.
5489
27bf36f3
RH
5490 * config/rx/rx-modes.def (CC_F): New mode.
5491 * config/rx/rx.c (rx_select_cc_mode): New.
5492 * config/rx/rx.h (SELECT_CC_MODE): Use it.
5493 * config/rx/rx-protos.h: Update.
5494
d7fde127
RH
54952011-01-17 Richard Henderson <rth@redhat.com>
5496
5497 * except.c (dump_eh_tree): Fix stray ; after for statement.
5498
6ff38230
RG
54992011-01-17 Richard Guenther <rguenther@suse.de>
5500
5501 PR tree-optimization/47313
5502 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
5503 handling before copying the body. Properly deal with
5504 by-reference result in SSA form.
5505
114ce554
ILT
55062011-01-17 Ian Lance Taylor <iant@google.com>
5507
bf5cd92b 5508 PR target/47219
114ce554
ILT
5509 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
5510 (struct_value_alias_set): Don't define.
5511 (sparc_option_override): Don't set sparc_sr_alias_set and
5512 struct_value_alias_set.
5513 (save_or_restore_regs): Use gen_frame_mem rather than calling
5514 set_mem_alias_set.
5515 (sparc_struct_value_rtx): Likewise.
5516
98c6d93c
L
55172011-01-17 H.J. Lu <hongjiu.lu@intel.com>
5518
5519 PR target/47318
5520 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
5521 __m128i.
5522 (_mm_maskstore_pd): Likewise.
5523 (_mm_maskload_ps): Likewise.
5524 (_mm_maskstore_ps): Likewise.
5525 (_mm256_maskload_pd): Change mask to __m256i.
5526 (_mm256_maskstore_pd): Likewise.
5527 (_mm256_maskload_ps): Likewise.
5528 (_mm256_maskstore_ps): Likewise.
5529
5530 * config/i386/i386-builtin-types.def: Updated.
5531 (ix86_expand_special_args_builtin): Likewise.
5532
5533 * config/i386/i386.c (bdesc_special_args): Update
5534 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
5535 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
5536 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
5537 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
5538
5539 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
5540 Use <avxpermvecmode> on mask register.
5541 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
5542
b9361af2 55432011-01-17 Olivier Hainque <hainque@adacore.com>
61052244
AM
5544 Michael Haubenwallner <michael.haubenwallner@salomon.at>
5545 Eric Botcazou <ebotcazou@adacore.com>
b9361af2
OH
5546
5547 PR target/46655
5548 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
5549 if <= USHRT_MAX in 32-bit mode.
5550
b7ae9eb5
RW
55512011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5552
5553 * doc/install.texi (Configuration, Specific): Wrap long
5554 lines in examples. Allow line wrapping in long options
5555 and URLs where beneficial for PDF output.
5556
4377fad9
RS
55572011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
5558
5559 * config/mips/mips.c (mips_classify_symbol): Don't return
5560 SYMBOL_PC_RELATIVE for nonlocal labels.
5561
55959ffa 55622011-01-15 Eric Botcazou <ebotcazou@adacore.com>
be46831f 5563
55959ffa
EB
5564 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
5565
55662011-01-15 Jan Hubicka <jh@suse.cz>
5567
5568 PR tree-optimization/47276
be46831f
JH
5569 * ipa.c (function_and_variable_visibility): Do not try to mark alias
5570 declarations as needed.
5571
05842ff5
MJ
55722011-01-15 Martin Jambor <mjambor@suse.cz>
5573
5574 * common.opt (fdevirtualize): New flag.
5575 * doc/invoke.texi (Option Summary): Document it.
5576 * opts.c (default_options_table): Add devirtualize flag.
5577 * ipa-prop.c (detect_type_change): Return immediately if
5578 devirtualize flag is not set.
5579 (detect_type_change_ssa): Likewise.
5580 (compute_known_type_jump_func): Likewise.
5581 (ipa_analyze_virtual_call_uses): Likewise.
5582
f65cf2b7
MJ
55832011-01-14 Martin Jambor <mjambor@suse.cz>
5584
5585 PR tree-optimization/45934
5586 PR tree-optimization/46302
5587 * ipa-prop.c (type_change_info): New type.
5588 (stmt_may_be_vtbl_ptr_store): New function.
5589 (check_stmt_for_type_change): Likewise.
5590 (detect_type_change): Likewise.
5591 (detect_type_change_ssa): Likewise.
5592 (compute_complex_assign_jump_func): Check for dynamic type change.
5593 (compute_complex_ancestor_jump_func): Likewise.
5594 (compute_known_type_jump_func): Likewise.
5595 (compute_scalar_jump_functions): Likewise.
5596 (ipa_analyze_virtual_call_uses): Likewise.
5597 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
5598
eb5bb0fd
JM
55992011-01-14 Joseph Myers <joseph@codesourcery.com>
5600
5601 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
5602 * config/i386/i386.opt (msse5): New Alias.
5603
f2060fbe
JM
56042011-01-14 Joseph Myers <joseph@codesourcery.com>
5605
5606 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
5607 * config/sparc/linux64.h (CC1_SPEC): Likewise.
5608 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
5609 * config/sparc/sparc.h (CC1_SPEC): Likewise.
5610
3a7b4385
JM
56112011-01-14 Joseph Myers <joseph@codesourcery.com>
5612
5613 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
5614 -mcpu options.
5615 * config/sparc/linux64.h (CC1_SPEC): Likewise.
5616 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
5617 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
5618 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
5619 Likewise.
5620 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
5621
a7b778f8
JM
56222011-01-14 Joseph Myers <joseph@codesourcery.com>
5623
38be4072 5624 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
a7b778f8 5625
a7edae0a
MS
56262011-01-14 Mike Stump <mikestump@comcast.net>
5627
5628 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
5629 * config/fr30/fr30.md: Likweise
5630 (movsi_push): Likewise.
5631 (movsi_pop): Likewise.
5632 (enter_func): Likewise.
5633 * config/moxie/moxie.md (movsi_push): Likewise.
5634 (movsi_pop): Likewise.
5635
cbabf03f
JM
56362011-01-14 Joseph Myers <joseph@codesourcery.com>
5637
5638 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
5639 %{no_archive} %{exact_version}.
5640 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
5641 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
5642 %{no_archive} %{exact_version}.
5643 * config/mips/openbsd.h (LINK_SPEC): Likewise.
5644 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
5645 * config/mips/vxworks.h: Likewise.
5646
438da41a
JM
56472011-01-14 Joseph Myers <joseph@codesourcery.com>
5648
38be4072 5649 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
438da41a 5650
da290a42
JM
56512011-01-14 Joseph Myers <joseph@codesourcery.com>
5652
5653 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
5654 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
5655
8989d00e
JM
56562011-01-14 Joseph Myers <joseph@codesourcery.com>
5657
5658 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
5659 -nodefaultlib.
5660
a3010a69
JM
56612011-01-14 Joseph Myers <joseph@codesourcery.com>
5662
5663 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
5664 for mcpu not cpu.
5665 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
5666 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
5667 not cpu.
5668 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
5669 Don't handle -shlib.
5670
e7f2f537
JM
56712011-01-14 Joseph Myers <joseph@codesourcery.com>
5672
5673 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
5674 (CC1_SPEC): Don't handle -profile.
5675
34830bfd
JM
56762011-01-14 Joseph Myers <joseph@codesourcery.com>
5677
5678 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
5679 * config/mips/mips.h (CC1_SPEC): Likewise.
5680
b2d36e74
JM
56812011-01-14 Joseph Myers <joseph@codesourcery.com>
5682
5683 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
5684 * config/mips/mips.h (CC1_SPEC): Likewise.
5685
dabadc52
JM
56862011-01-14 Joseph Myers <joseph@codesourcery.com>
5687
5688 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
5689 * config/m32r/linux.h (LINK_SPEC): Likewise.
5690 * config/mips/linux.h (LINK_SPEC): Likewise.
5691 * config/mips/linux64.h (LINK_SPEC): Likewise.
5692 * config/sparc/linux.h (LINK_SPEC): Likewise.
5693 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
5694 LINK_SPEC): Likewise.
5695 * config/xtensa/linux.h (LINK_SPEC): Likewise.
5696
43ee6785
JM
56972011-01-14 Joseph Myers <joseph@codesourcery.com>
5698
5699 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
5700 %{version:-v}.
5701 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
5702
45e79dfd
JM
57032011-01-14 Joseph Myers <joseph@codesourcery.com>
5704
5705 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
5706 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
5707
37e9e71d
JM
57082011-01-14 Joseph Myers <joseph@codesourcery.com>
5709
5710 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
5711
bb127cd8
RO
57122011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5713
5714 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
5715 supports -Bstatic/-Bdynamic.
5716 * configure: Regenerate.
5717
89a012ea 57182011-01-14 Jan Hubicka <jh@suse.cz>
509d65dd 5719 Jack Howarth <howarth@bromo.med.uc.edu>
89a012ea
JH
5720
5721 PR target/46037
5722 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
5723 when checking debug_info_level. Test write_symbols instead of
5724 debug_hooks->var_location when setting flag_var_tracking_uninit.
5725
7352c013
RG
57262011-01-14 Richard Guenther <rguenther@suse.de>
5727
5728 PR tree-optimization/47179
5729 * target.def (ref_may_alias_errno): New target hook.
5730 * targhooks.h (default_ref_may_alias_errno): Declare.
5731 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
5732 (default_ref_may_alias_errno): New function.
5733 * target.h (struct ao_ref_s): Declare.
5734 * tree-ssa-alias.c: Include target.h.
5735 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
5736 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
5737 (targhooks.o): Likewise.
5738 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
5739 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
5740
9a6c9288
RG
57412011-01-14 Richard Guenther <rguenther@suse.de>
5742
5743 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
5744
0fdb0d27
RG
57452011-01-14 Richard Guenther <rguenther@suse.de>
5746
5747 PR tree-optimization/47280
5748 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
5749 return CFG changes.
5750 (tree_ssa_forward_propagate_single_use_vars): Deal with
5751 CFG changes from associate_plusminus.
5752
8f66db3b
RG
57532011-01-14 Richard Guenther <rguenther@suse.de>
5754
5755 PR middle-end/47281
5756 Revert
5757 2011-01-11 Richard Guenther <rguenther@suse.de>
5758
280d9630
EB
5759 PR tree-optimization/46076
5760 * tree-ssa.c (useless_type_conversion_p): Conversions from
5761 unprototyped to empty argument list function types are useless.
8f66db3b 5762
6c0c92e6
RG
57632011-01-14 Richard Guenther <rguenther@suse.de>
5764
5765 PR tree-optimization/47286
280d9630 5766 * tree-ssa-structalias.c (new_var_info): Register variables are global.
6c0c92e6 5767
db09f943
MJ
57682011-01-14 Martin Jambor <mjambor@suse.cz>
5769
5770 PR middle-end/46823
5771 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
5772
dde8a3a4
AS
57732011-01-13 Anatoly Sokolov <aesok@post.ru>
5774
5775 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
5776 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
5777 * config/xtensa/xtensa.c (xtensa_libcall_value,
5778 xtensa_function_value_regno_p): New functions.
5779 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
5780
a2b63a20
KT
57812011-01-13 Kai Tietz <kai.tietz@onevision.com>
5782
5783 PR c++/47213
5784 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
5785 PE specific hook.
5786 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
5787 New function prototype.
5788 * config/i386/winnt.c (i386_pe_assemble_visibility):
5789 Warn only if attribute was specified by user.
5790
b41f0b34
MM
57912011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
5792
5793 PR target/47251
5794 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
5795 floating point.
5796 (floatunsdidf2_fcfidu): Ditto.
5797
3f3c098d
AK
57982011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5799
5800 * config/s390/s390.c (print_operand_address): Replace 'error' with
5801 'output_operand_lossage'.
5802 (print_operand): Likewise.
5803
29fa95ed
JL
58042011-01-13 Jeff Law <law@redhat.com>
5805
280d9630 5806 PR rtl-optimization/39077
29fa95ed
JL
5807 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
5808 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
5809 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
5810 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
5811 * gcse.c (prune_insertions_deletions): New function.
5812 (compute_pre_data): Use it.
5813
71d12276
DS
58142011-01-13 Dodji Seketeli <dodji@redhat.com>
5815
5816 PR debug/PR46973
5817 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
5818 static function.
61052244 5819 (prune_unused_types_mark): Use it.
71d12276 5820
9b0f04e7
AB
58212011-01-13 Andrey Belevantsev <abel@ispras.ru>
5822
5823 PR rtl-optimization/45352
1c3ba85b 5824 * sel-sched.c: Update copyright years.
9b0f04e7 5825 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1c3ba85b 5826 in the advancing loop when we have issued issue_rate insns.
9b0f04e7 5827
d6a3e264
RH
58282011-01-12 Richard Henderson <rth@redhat.com>
5829
a49b692a
RH
5830 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
5831 (TARGET_MD_ASM_CLOBBERS): New.
5832
126b1483
RH
5833 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
5834 (TARGET_DELEGITIMIZE_ADDRESS): New.
5835
f3d9d2e0
RH
5836 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
5837 (clzsi2, *bsch): New patterns.
5838
d84760c9
RH
5839 * config/mn10300/mn10300.md (INT): New mode iterator.
5840 (*mov<INT>_clr): New pattern, and peep2 to generate it.
5841
ec815d65
RH
5842 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
5843 flag_split_wide_types.
5844
d6a3e264
RH
5845 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
5846 (mn10300_trampoline_init): Rewrite without a template, an immediate
5847 load and a direct branch.
5848 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
5849
0f8ab434
AS
58502011-01-12 Anatoly Sokolov <aesok@post.ru>
5851
5852 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
5853 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
5854 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
5855 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
5856
d8a24b65
KT
58572011-01-12 Kai Tietz <kai.tietz@onevision.com>
5858
5859 PR debug/47209
5860 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
5861 of type.
5862
56e22cab
JH
58632011-01-12 Jan Hubicka <jh@suse.cz>
5864
5865 PR driver/47244
5866 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
5867 (PLUGIN_COND_CLOSE): New macro.
5868 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
5869
4b18b3c2
RG
58702011-01-12 Richard Guenther <rguenther@suse.de>
5871
5872 PR lto/47259
5873 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
5874 register variables in a MEM_REF.
5875
8e38461c
JM
58762011-01-12 Joseph Myers <joseph@codesourcery.com>
5877
5878 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
5879 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
5880 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
5881 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
5882 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
5883 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
5884 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
5885 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
5886 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
5887 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
5888 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
5889 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
5890 * config/gnu-user.h: New. Copied from linux.h.
5891 (LINUX_TARGET_STARTFILE_SPEC): Rename to
5892 GNU_USER_TARGET_STARTFILE_SPEC.
5893 (LINUX_TARGET_ENDFILE_SPEC): Rename to
5894 GNU_USER_TARGET_ENDFILE_SPEC.
5895 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
5896 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
5897 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
5898 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
5899 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
5900 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
5901 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
5902 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
5903 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
5904 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
5905 * config/arm/linux-eabi.h (CC1_SPEC): Use
5906 GNU_USER_TARGET_CC1_SPEC.
5907 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
5908 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
5909 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
5910 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
5911 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
5912 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
5913 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
5914 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
5915
a570fc16
RG
59162011-01-12 Richard Guenther <rguenther@suse.de>
5917
5918 PR other/46946
5919 * doc/invoke.texi (ffast-math): Document it is turned on
5920 with -Ofast.
5921
b0223c3e
JH
59222011-01-12 Jan Hubicka <jh@suse.cz>
5923
5924 PR tree-optimization/47233
ca1e00b3
EB
5925 * opts.c (common_handle_option): Disable ipa-reference with profile
5926 feedback.
b0223c3e 5927
1c3ba85b 59282011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
d853ee42
NP
5929
5930 * c-parser.c (c_parser_objc_at_property_declaration): Improved
ca1e00b3
EB
5931 error message.
5932
d853ee42
NP
59332011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
5934
5935 * c-parser.c (c_lex_one_token): Updated and reindented some
5936 comments. No changes in code.
5937
4053a5a0
ILT
59382011-01-11 Ian Lance Taylor <iant@google.com>
5939
5940 * godump.c (go_output_var): Don't output the variable if there is
5941 already a type with the same name.
5942
fa3e04d2
ILT
59432011-01-11 Ian Lance Taylor <iant@google.com>
5944
5945 * godump.c (go_format_type): Don't generate float80.
5946
885fe07c
RH
59472011-01-11 Richard Henderson <rth@redhat.com>
5948
72d6e3c5
RH
5949 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
5950 declaration. Rewrite for both speed and size.
5951 (mn10300_address_cost_1): Remove.
5952 (mn10300_register_move_cost): New.
5953 (mn10300_memory_move_cost): New.
5954 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
5955 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
5956 extensions, shifts, BSWAP, CLZ.
5957 (mn10300_wide_const_load_uses_clr): Remove.
5958 (TARGET_REGISTER_MOVE_COST): New.
5959 (TARGET_MEMORY_MOVE_COST): New.
5960 * config/mn10300/mn10300-protos.h: Update.
5961 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
5962
df37c023
RH
5963 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
5964 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
5965 * config/mn10300/mn10300-protos.h: Update.
5966 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
5967 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
5968 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
5969 (*test_int_bitfield, *test_byte_bitfield): Remove.
5970 (*bit_test, *subreg_bit_test): Remove.
62d3f9b2 5971 * config/mn10300/predicates.md (const_8bit_operand): Remove.
df37c023 5972
85a337b5
RH
5973 * config/mn10300/constraints.md ("c"): Rename from "A".
5974 ("A", "D"): New constraint letters.
5975 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
5976 (fmssf4, fnmasf4, fnmssf4): Likewise.
5977
a5c727e3
RH
5978 * config/mn10300/mn10300.md (isa): New attribute.
5979 (enabled): New attribute.
5980
0d9e23f4
RH
5981 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
5982 (abssf2, negsf2): Define only for hardware fp.
5983 (sqrtsf2): Reformat.
5984 (addsf3, subsf3, mulsf3): Merge expander and insn.
5985
c157b3f0
RH
5986 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
5987 (DEBUGGER_AUTO_OFFSET): Remove.
5988 (DEBUGGER_ARG_OFFSET): Remove.
5989
cc909bba
RH
5990 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
5991 Emit register stores with the same offsets as the hardware.
5992 (mn10300_store_multiple_operation): Don't check that the register
5993 save offsets are monotonic.
5994 * config/mn10300/mn10300-protos.h: Update.
5995
e3b5c2f3
RH
5996 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
5997
885fe07c
RH
5998 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
5999 in terms of the value on the stack, not the MDR register.
6000
6e701822
JH
60012011-01-11 Jan Hubicka <jh@suse.cz>
6002
6003 PR lto/45721
6004 PR lto/45375
6005 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
6006 (symbol_alias_set_destroy, symbol_alias_set_contains,
6007 propagate_aliases_backward): Declare.
6008 * lto-streamer-out.c (struct sets): New sturcture.
6009 (trivally_defined_alias): New function.
6010 (output_alias_pair_p): Rewrite.
6011 (output_unreferenced_globals): Fix output of alias pairs.
6012 (produce_symtab): Likewise.
6013 * ipa.c (function_and_variable_visibility): Set weak alias destination
6014 as needed in lto.
6015 * varasm.c (symbol_alias_set_t): Remove.
6016 (symbol_alias_set_destroy): Export.
6017 (propagate_aliases_forward, propagate_aliases_backward): New functions
6018 based on ...
6019 (compute_visible_aliases): ... this one; remove.
6020 (trivially_visible_alias): New
6021 (trivially_defined_alias): New.
6022 (remove_unreachable_alias_pairs): Rewrite.
6023 (finish_aliases_1): Reorganize code checking if alias is defined.
6024 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
6025 in LTO mode.
6026
1b248907
RG
60272011-01-11 Richard Guenther <rguenther@suse.de>
6028
6029 PR tree-optimization/46076
6030 * tree-ssa.c (useless_type_conversion_p): Conversions from
6031 unprototyped to empty argument list function types are useless.
6032
b1923f0a
RG
60332011-01-11 Richard Guenther <rguenther@suse.de>
6034
6035 PR middle-end/45235
6036 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
6037 volatile MEMs as MEM_READONLY_P.
6038
e98965af
RG
60392011-01-11 Richard Guenther <rguenther@suse.de>
6040
6041 PR tree-optimization/47239
6042 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
6043
9f9ca914
JL
60442011-01-11 Jeff Law <law@redhat.com>
6045
1ee3ea05 6046 PR tree-optimization/47086
9f9ca914
JL
6047 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
6048 IVs from statements that might throw.
6049
345fdcb7
JH
60502011-01-10 Jan Hubicka <jh@suse.cz>
6051
6052 PR lto/45375
6053 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
6054
c459c97b
JH
60552011-01-10 Jan Hubicka <jh@suse.cz>
6056
6057 PR lto/45375
6058 * profile.c (read_profile_edge_counts): Ignore profile inconistency
6059 when correcting profile.
6060
06c9eb51
JH
60612011-01-10 Jan Hubicka <jh@suse.cz>
6062
6063 PR lto/46083
6064 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
6065 DECL_FINI_PRIORITY.
6066 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
6067 Restore DECL_FINI_PRIORITY.
6068
ae9fd815
RW
60692011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6070
6071 * doc/gimple.texi: Fix quoting of multi-word return values in
6072 @deftypefn statements. Ensure presence of return value. Wrap
6073 overlong @deftypefn lines.
6074 (is_gimple_operand, is_gimple_min_invariant_address): Remove
6075 descriptions of removed functions.
6076 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
6077 of multi-word return value in @deftypefn statement.
6078
0ecb4a7c
RW
60792011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6080
6081 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
6082 (Conditional Expressions, Logical Operators)
6083 (Statement and operand traversals): Do not indent smallexample
6084 code. Fix duplicate function argument in example.
6085
2e5e346d
JL
60862011-01-10 Jeff Law <law@redhat.com>
6087
1ee3ea05 6088 PR tree-optimization/47141
2e5e346d
JL
6089 * ipa-split.c (split_function): Handle case where we are
6090 returning a value and the return block has a virtual operand phi.
6091
cf9712cc
JH
60922011-01-10 Jan Hubicka <jh@suse.cz>
6093
1c3ba85b 6094 PR tree-optimization/47234
cf9712cc
JH
6095 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
6096 (pass_feedback_split_functions): Declare.
6097 * passes.c (init_optimization_passes): Add ipa-split as subpass of
6098 tree-profile.
6099 * ipa-split.c (gate_split_functions): Update comments; disable
6100 split-functions for profile_arc_flag and branch_probabilities.
6101 (gate_feedback_split_functions): New function.
6102 (execute_feedback_split_functions): New function.
6103 (pass_feedback_split_functions): New global var.
6104
94cd932c
L
61052011-01-10 H.J. Lu <hongjiu.lu@intel.com>
6106
6107 PR lto/46760
6108 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
6109 calling gimple_call_set_cannot_inline.
6110
fbbfcaf1
IS
61112011-01-10 Iain Sandoe <iains@gcc.gnu.org>
6112
6113 * config/darwin-sections.def: Remove unused section.
6114
d06865bf
DK
61152011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
6116
6117 PR c++/47218
6118 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
6119
96bbfbac
NP
61202011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
6121
6122 PR objc/47232
6123 * c-parser.c (c_parser_declaration_or_fndef): Improved
6124 error message.
6125
1ba6516f
KT
61262011-01-09 Kai Tietz <kai.tietz@onevision.com>
6127
6128 * config/i386/winnt.c (i386_pe_start_function): Make sure
6129 to switch back to function's section.
6130
0c5d770e
IS
61312011-01-09 Iain Sandoe <iains@gcc.gnu.org>
6132
6133 PR gcc/46902
6134 PR testsuite/46912
6135 * plugin.c: Move include of dlfcn.h from here...
6136 * system.h: ... to here.
6137
61382011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4ee1aa2a
RW
6139
6140 * doc/cpp.texi (C++ Named Operators): Fix markup for header
6141 file name.
6142 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
6143 two extra empty pages in PDF output.
6144
046608a3
NP
61452011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
6146
6147 PR objc/47078
6148 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
6149 for error recovery purposes behave as if it was not specified so
6150 that the default type is usd.
6151
8cb114b9
JH
61522011-01-07 Jan Hubicka <jh@suse.cz>
6153
6154 PR tree-optmization/46469
6155 * ipa.c (function_and_variable_visibility): Clear needed flags on
6156 nodes with external decls; handle weakrefs merging correctly.
6157
b294a75e
JM
61582011-01-07 Joseph Myers <joseph@codesourcery.com>
6159
6160 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
6161 not false.
6162
96bdf9b4
JH
61632011-01-07 Jan Hubicka <jh@suse.cz>
6164
6165 * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
6166 and no longer claim that gold is required for linker plugin.
6167 * configure: Regenerate.
6168 * gcc.c (PLUGIN_COND): New macro.
6169 (LINK_COMMAND_SPEC): Use it.
6170 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
6171 * config.in (HAVE_LTO_PLUGIN): New.
6172 * configure.ac (--with-lto-plugin): New parameter; autodetect
6173 HAVE_LTO_PLUGIN.
6174
17afc0fe
JH
61752011-01-07 Jan Hubicka <jh@suse.cz>
6176
6177 PR tree-optimization/46367
6178 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
6179 when we can update original.
6180 (cgraph_mark_inline_edge): Sanity check.
6181 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
6182
d4c48c0f
UW
61832011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6184
6185 * config/spu/spu.h (ASM_COMMENT_START): Define.
6186
96f5b137
L
61872011-01-07 H.J. Lu <hongjiu.lu@intel.com>
6188
6189 PR driver/42445
6190 * gcc.c (%>S): New.
6191 (SWITCH_KEEP_FOR_GCC): Likewise.
6192 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
6193 (do_spec_1): Handle "%>".
6194
6195 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
6196
c6a8f6de
JJ
61972011-01-07 Jakub Jelinek <jakub@redhat.com>
6198
c21bbd7a
JJ
6199 PR target/47201
6200 * config/i386/i386.c (ix86_delegitimize_address): If
6201 simplify_gen_subreg fails, return orig_x.
6202
c6a8f6de
JJ
6203 PR bootstrap/47187
6204 * value-prof.c (gimple_stringop_fixed_value): Handle
6205 lhs of the call properly.
6206
fe95fbf9
JH
62072011-01-07 Jan Hubicka <jh@suse.cz>
6208
6209 PR lto/45375
6210 * lto-opt.c (lto_reissue_options): Set flag_shlib.
6211
14d11d40
IS
62122011-01-07 Iain Sandoe <iains@gcc.gnu.org>
6213
72e961c8
EB
6214 * target.def (function_switched_text_sections): New hook.
6215 * doc/tm.texi: Regenerated.
6216 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 6217 * final.c (default_function_switched_text_sections): New.
72e961c8
EB
6218 (final_scan_insn): Call function_switched_text_sections when a
6219 mid-function section change occurs.
14d11d40 6220 * output.h (default_function_switched_text_sections): Declare.
72e961c8
EB
6221 * config/darwin-protos.h (darwin_function_switched_text_sections):
6222 Likewise.
14d11d40 6223 * config/darwin.c (darwin_function_switched_text_sections): New.
72e961c8 6224 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 6225
0b764288
IS
62262011-01-07 Iain Sandoe <iains@gcc.gnu.org>
6227
6228 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
6229 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
6230 the secondary code fragment when outputting for DWARF == 2.
6231
2ac6bb04
AS
62322011-01-07 Anatoly Sokolov <aesok@post.ru>
6233
6234 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
6235 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
6236 Remove.
6237 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
6238 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
6239
9f82de11
EB
62402011-01-06 Eric Botcazou <ebotcazou@adacore.com>
6241
6242 PR debug/46704
280d9630
EB
6243 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
6244 when it is not empty.
9f82de11
EB
6245
62462011-01-06 Changpeng Fang <changpeng.fang@amd.com>
14b52538 6247
1ed72abf 6248 Bobcat Enablement
14b52538 6249 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1ed72abf 6250 (case ${target}): Add btver1.
14b52538 6251 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1ed72abf 6252 -march=native recognize btver1 processors.
14b52538 6253 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1ed72abf 6254 btver1 def_and_undef
14b52538 6255 * config/i386/i386.c (struct processor_costs btver1_cost): New
1ed72abf
CF
6256 btver1 cost table.
6257 (m_BTVER1): New definition.
6258 (m_AMD_MULTIPLE): Includes m_BTVER1.
6259 (initial_ix86_tune_features): Add btver1 tune.
6260 (processor_target_table): Add btver1 entry.
6261 (static const char *const cpu_names): Add btver1 entry.
6262 (software_prefetching_beneficial_p): Add btver1.
6263 (ix86_option_override_internal): Add btver1 instruction sets.
6264 (ix86_issue_rate): Add btver1.
6265 (ix86_adjust_cost): Add btver1.
14b52538 6266 * config/i386/i386.h (TARGET_BTVER1): New definition.
1ed72abf
CF
6267 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
6268 (enum processor_type): Add PROCESSOR_BTVER1.
14b52538
CF
6269 * config/i386/i386.md (define_attr "cpu"): Add btver1.
6270
e1a973d8
RO
62712011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6272
6273 PR target/43309
6274 * config/i386/i386.c (legitimize_tls_address)
6275 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
6276 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
6277 (tls_initial_exec_64_sun): New pattern.
6278
c73f67c5
GP
62792011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
6280
6281 * doc/invoke.texi (Overall Options): Improve wording and markup
6282 of the description of -wrapper.
6283
bc4c6f9c
JM
62842011-01-06 Joseph Myers <joseph@codesourcery.com>
6285
6286 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
6287 rdynamic, threads): New Driver options.
6288
adb75db0
RO
62892011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6290
6291 PR target/38118
6292 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
6293 if coming from .tdata.
6294 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
6295
402c1cb4
JH
62962011-01-06 Jan Hubicka <jh@suse.cz>
6297
6298 PR lto/47188
6299 * collect2.c (main): Do not enable LTOmode when plugin is active.
6300
a4da6485
RO
63012011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6302
6303 PR other/45915
6304 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
6305 --version output if supported.
6306 * configure: Regenerate.
6307
028dbdf4
JM
63082011-01-06 Joseph Myers <joseph@codesourcery.com>
6309
6310 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
6311 Driver options.
6312
dfe776dd
JJ
63132011-01-06 Jakub Jelinek <jakub@redhat.com>
6314
6315 PR c/47150
6316 * c-convert.c (convert): When converting a complex expression
6317 other than COMPLEX_EXPR to a different complex type, ensure
6318 c_save_expr is called instead of save_expr, unless in_late_binary_op.
6319 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
6320 when converting COMPLEX_TYPE.
6321
210dedfe
IR
63222011-01-06 Ira Rosen <irar@il.ibm.com>
6323
6324 PR tree-optimization/47139
6325 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
6326 only the last reduction value is used outside the loop. Update
6327 documentation.
6328
cd33a412
JM
63292011-01-05 Joseph Myers <joseph@codesourcery.com>
6330
6331 * config/rtems.opt: New.
6332 * config.gcc (*-*-rtems*): Use rtems.opt.
6333
819edd94
CF
63342011-01-05 Changpeng Fang <changpeng.fang@amd.com>
6335
6336 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
6337 processors do not support 3DNow instructions.
6338
dc242c4a
UW
63392011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6340
6341 * config/spu/spu.c (spu_option_override): Set parameter
6342 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
6343
be286227
JH
63442011-01-05 Jan Hubicka <jh@suse.cz>
6345
6346 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
6347 at the command line.
6348
644e637f
MJ
63492011-01-05 Martin Jambor <mjambor@suse.cz>
6350
6351 PR lto/47162
6352 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
6353 deltas on streamed outgoing edges.
6354 (output_node_opt_summary): Output info for outgoing edges only when
6355 the node is in new parameter set.
6356 (output_cgraph_opt_summary): New parameter set, passed to the two
6357 aforementioned functions. Update its forward declaration and its
6358 callee too.
6359
7bd11157
TT
63602011-01-05 Tom Tromey <tromey@redhat.com>
6361
6362 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
6363 operator to c_finish_omp_atomic.
6364 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
6365 (build_unary_op): Update.
6366 (build_modify_expr): Update.
6367 (build_asm_expr): Update.
6368
f626b979
UW
63692011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6370
6371 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
6372 newly inserted insns.
6373 (pad_bb): Likewise.
6374 (spu_emit_branch_hint): Likewise.
6375 (insert_hbrp_for_ilb_runout): Likewise.
6376 (spu_machine_dependent_reorg): Call df_finish_pass after
6377 schedule_insns returns.
6378
4c825c02
UW
63792011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6380
6381 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
6382
5e9fba51
EB
63832011-01-05 Eric Botcazou <ebotcazou@adacore.com>
6384
6385 PR tree-optimization/47005
6386 * tree-sra.c (struct access): Add 'non_addressable' bit.
6387 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
6388 (decide_one_param_reduction): Return 0 if the parameter is passed by
6389 reference and one of the accesses in the group is non_addressable.
6390
3ebb5ca6
EB
63912011-01-04 Eric Botcazou <ebotcazou@adacore.com>
6392
6393 PR tree-optimization/47056
6394 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
6395 (mark_load): Likewise. Handle FUNCTION_DECL specially.
6396 (mark_store): Likewise. Pass STMT to ipa_record_reference.
6397
d5d4d14e
EB
63982011-01-04 Eric Botcazou <ebotcazou@adacore.com>
6399
6400 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
6401 initializer. Skip view conversions from aggregate types.
6402
d996ef70
KT
64032011-01-04 Kai Tietz <kai.tietz@onevision.com>
6404
6405 PR bootstrap/47055
6406 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
6407
509d65dd 64082011-01-04 Philipp Thomas <pth@suse.de>
017096ca
PT
6409
6410 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
6411 obvious typo.
6412
55c623b5
UW
64132011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6414
6415 * function.c (thread_prologue_and_epilogue_insns): Do not crash
6416 on empty epilogue sequences.
6417
b98d6b35
JM
64182011-01-04 Joseph Myers <joseph@codesourcery.com>
6419
6420 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
6421 non-static): New Driver options.
6422
a0d43bac
JZ
64232011-01-04 Jie Zhang <jie@codesourcery.com>
6424
6425 PR driver/47137
6426 * gcc.c (default_compilers[]): Set combinable field to 0
6427 for all assembly languages.
6428
2b18eb32
MX
64292011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
6430
6431 * config/mips/loongson3a.md: New file.
6432 * config/mips/mips.md: Include loongson3a.md.
6433 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
6434 TUNE_LOONGSON_3A.
6435
42a48c4f
EB
64362011-01-03 Eric Botcazou <ebotcazou@adacore.com>
6437
6438 PR middle-end/47017
6439 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
6440 instead of convert_memory_address_addr_space on the base expression.
6441
9c1732c4
UW
64422011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6443
6444 * config/spu/spu.c (spu_option_override): Update error text
6445 for bad -march= / -mtune= values.
6446
aa474365
UW
64472011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6448
6449 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
6450 if branch-hint optimization will be performed.
6451
9766135b
JJ
64522011-01-03 Jakub Jelinek <jakub@redhat.com>
6453
371556ee
JJ
6454 PR tree-optimization/47148
6455 * ipa-split.c (split_function): Convert arguments to
6456 DECL_ARG_TYPE if possible.
6457
1ac12fa2
JJ
6458 PR tree-optimization/47155
6459 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
6460 when computing uns.
6461
9766135b
JJ
6462 PR rtl-optimization/47157
6463 * combine.c (try_combine): If undobuf.other_insn becomes
6464 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
6465 and set *new_direct_jump_p too.
6466
f4a2e571
SP
64672011-01-03 Sebastian Pop <sebastian.pop@amd.com>
6468
6469 PR tree-optimization/47021
6470 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
6471
9f8e43c0
JJ
64722011-01-03 Jakub Jelinek <jakub@redhat.com>
6473
6474 * gcc.c (process_command): Update copyright notice dates.
6475 * gcov.c (print_version): Likewise.
6476 * gcov-dump.c (print_version): Likewise.
6477 * mips-tfile.c (main): Likewise.
6478 * mips-tdump.c (main): Likewise.
6479
1a2e38f3
MJ
64802011-01-03 Martin Jambor <mjambor@suse.cz>
6481
6482 PR tree-optimization/46801
6483 * tree-sra.c (type_internals_preclude_sra_p): Check whether
6484 aggregate fields start at byte boundary instead of the bit-field flag.
6485
56b721c5
L
64862011-01-03 H.J. Lu <hongjiu.lu@intel.com>
6487
6488 PR driver/47137
6489 * gcc.c (main): Revert revision 168407.
6490
839d549b
MJ
64912011-01-03 Martin Jambor <mjambor@suse.cz>
6492
6493 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
6494
4ce99a20 64952011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2fa6eeff
UW
6496
6497 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
6498 vector optab to expand vector/scalar shift, update gimple to vector.
6499
76df0ae6
MJ
65002011-01-03 Martin Jambor <mjambor@suse.cz>
6501
6502 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
6503 a thunk.
6504
ce47fda3
MJ
65052011-01-03 Martin Jambor <mjambor@suse.cz>
6506
6507 PR tree-optimization/46984
6508 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
6509 HOST_WIDE_INT.
6510 (cgraph_create_indirect_edge): Fixed line length.
6511 (cgraph_indirect_call_info): Declare.
6512 (cgraph_make_edge_direct) Update declaration.
6513 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
6514 (cgraph_create_indirect_edge): Use it.
6515 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
6516 callees.
6517 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
6518 the new thunk_delta representation.
6519 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
6520 HOST_WIDE_INT.
6521 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
6522 (ipa_read_indirect_edge_info): Likewise.
6523 * lto-cgraph.c (output_edge_opt_summary): New function.
6524 (output_node_opt_summary): Call it on all outgoing edges.
6525 (input_edge_opt_summary): New function.
6526 (input_node_opt_summary): Call it on all outgoing edges.
6527
1e67fa1f
L
65282011-01-02 H.J. Lu <hongjiu.lu@intel.com>
6529
6530 PR driver/47137
6531 * gcc.c (main): Don't check have_o when settting combine_inputs.
6532
6656b2ac
EB
65332011-01-02 Eric Botcazou <ebotcazou@adacore.com>
6534
6535 * regrename.c: Add general comment describing the pass.
6536 (struct du_head): Remove 'length' field.
6537 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
6538 (regrename_optimize): Do not sort chains. Rework comments, add others.
6539 Force renaming to the preferred class (if any) in the first pass and do
6540 not consider registers that belong to it in the second pass.
6541 (create_new_chain): Do not set 'length' field.
6542 (scan_rtx_reg): Likewise.
6543
bc470c24
JJ
65442011-01-02 Jakub Jelinek <jakub@redhat.com>
6545
4e996296
JJ
6546 PR tree-optimization/47140
6547 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
6548 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
6549 to bit_value_binop.
6550
bc470c24 6551 PR rtl-optimization/47028
6656b2ac
EB
6552 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
6553 parm_birth_insn instead of at the beginning of first bb.
bc470c24 6554
5af62fcd 65552011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
0d52f2a8
MX
6556
6557 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
6558 Remove the word "see" before "@pxref".
6559 * doc/rtl.texi: Remove the word "see" before "@pxref".
6560
0e20c89f
JH
65612011-01-01 Jan Hubicka <jh@suse.cz>
6562
6656b2ac
EB
6563 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
6564 memory.
0e20c89f 6565
220e83ca
KT
65662011-01-01 Kai Tietz <kai.tietz@onevision.com>
6567
6568 PR target/38662
6656b2ac 6569 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
220e83ca 6570
ad41bd84 6571\f
797103eb 6572Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
6573
6574Copying and distribution of this file, with or without modification,
6575are permitted in any medium without royalty provided the copyright
6576notice and this notice are preserved.