]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
rx: Enable the compare-elim pass.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
e692f276
RH
12011-01-21 Richard Henderson <rth@redhat.com>
2
1b7ae0b7
RH
3 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
4
3843787f
RH
5 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
6
e692f276
RH
7 * compare-elim.c: New file.
8 * Makefile.in (OBJS-common): Add it.
9 (compare-elim.o): New.
10 * common.opt (fcompare-elim): New.
11 * opts.c (default_options_table): Add OPT_fcompare_elim.
12 * tree-pass.h (pass_compare_elim_after_reload): New.
13 * passes.c (init_optimization_passes): Add it.
14 * recog.h: Protect against re-inclusion.
15 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
16 * doc/invoke.texi (-fcompare-elim): Document it.
17 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
18 * doc/tm.texi: Rebuild.
19
9a7c2050
NC
202011-01-22 Nick Clifton <nickc@redhat.com>
21
22 * config/rx/rx.md (cstoresf4): Pass comparison operator to
23 rx_split_fp_compare.
24
15ba5696
NC
252011-01-22 Nick Clifton <nickc@redhat.com>
26
27 * config/rx/rx.md (UNSPEC_CONST): New.
28 (deallocate_and_return): Wrap the amount popped off the stack in
29 an UNSPEC_CONST in order to stop it being rejected by
30 -mmax-constant-size.
31 (pop_and_return): Add a "(return)" rtx.
32 (call): Drop the immediate operand.
33 (call_internal): Likewise.
34 (call_value): Likewise.
35 (call_value_internal): Likewise.
36 (sibcall_internal): Likewise.
37 (sibcall_value_internal): Likewise.
38 (sibcall): Likewise. Generate an explicit call using
39 sibcall_internal.
40 (sibcall_value): Likewise.
41 (mov<>): FAIL if a constant operand is not legitimate.
42 (addsi3_unpsec): New pattern.
9a7c2050 43
15ba5696
NC
44 * config/rx/rx.c (rx_print_operand_address): Handle UNPSEC
45 CONSTs.
46 (ok_for_max_constant): New function.
47 (gen_safe_add): New function.
48 (rx_expand_prologue): Use gen_safe_add.
49 (rx_expand_epilogue): Likewise.
50 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
51 UNSPEC CONSTs.
52
caaf13d3
JL
532011-01-21 Jeff Law <law@redhat.com>
54
55 PR tree-optimization/47053
56 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
57 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
58 statements are deleted.
59 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
60 is nonempty, then purge dead edges and cleanup the CFG.
61
12c30f2f
AO
622011-01-21 Alexandre Oliva <aoliva@redhat.com>
63
64 PR debug/47402
65 Temporarily revert:
66 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
67 PR debug/47106
68 * tree-dfa.c (create_var_ann): Mark variable as used.
69
7360d2ac
JJ
702011-01-21 Jakub Jelinek <jakub@redhat.com>
71
aaa52a96
JJ
72 PR middle-end/45566
73 * except.c (convert_to_eh_region_ranges): Emit queued no-region
74 notes from other section in hot/cold partitioning even if
75 last_action is -3. Increment call_site_base.
76
7360d2ac
JJ
77 PR rtl-optimization/47366
78 * fwprop.c (forward_propagate_into): Return bool. If
79 any changes are made, -fnon-call-exceptions is used and
80 REG_EH_REGION note is present, call purge_dead_edges
81 and return true if it purged anything.
82 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
83 any EH edges were purged.
84
e90b336f
JL
852011-01-21 Jeff Law <law@redhat.com>
86
87 PR rtl-optimization/41619
88 * caller-save.c (setup_save_areas): Break out code to determine
89 which hard regs are live across calls by examining the reload chains
90 so that it is always used.
91 Eliminate code which checked REG_N_CALLS_CROSSED.
92
3ffe07e1
JJ
932011-01-21 Jakub Jelinek <jakub@redhat.com>
94
95 PR tree-optimization/47355
96 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
97 NOP has non-debug uses beyond PHIs in new_bb.
98
1c7d0b34
AO
992011-01-21 Alexandre Oliva <aoliva@redhat.com>
100
101 PR debug/47106
102 * cfgexpand.c (account_used_vars_for_block): Only account vars
103 that are annotated as used.
104 (estimated_stack_frame_size): Don't set TREE_USED.
105 * tree-dfa.c (create_var_ann): Mark variable as used.
106
f99cc488
RG
1072011-01-21 Richard Guenther <rguenther@suse.de>
108
109 PR middle-end/47395
110 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
111
3bc27de7
RG
1122011-01-21 Richard Guenther <rguenther@suse.de>
113
114 PR tree-optimization/47365
115 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
116 (vn_reference_lookup_pieces): Adjust.
117 (vn_reference_lookup): Likewise.
118 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
119 (vn_reference_lookup_3): Only look through kills if in
120 VN_WALKREWRITE mode.
121 (vn_reference_lookup_pieces): Adjust.
122 (vn_reference_lookup): Likewise.
123 (visit_reference_op_load): Likewise.
124 (visit_reference_op_store): Likewise.
125 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
126 (compute_avail): Likewise.
127 (eliminate): Likewise.
128
d8debb1d
JJ
1292011-01-21 Jakub Jelinek <jakub@redhat.com>
130
131 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
132 DECL_IGNORED_P non-reg vars if they are used.
133
3a2df831
JJ
134 PR tree-optimization/47391
135 * varpool.c (const_value_known_p): Return false if
136 decl is volatile.
137
1dd584a2
KT
1382011-01-21 Kai Tietz <kai.tietz@onevision.com>
139
140 PR bootstrap/47215
141 * config/i386/i386.c (ix86_local_alignment): Handle
142 case for va_list_type_node is nil.
143 (ix86_canonical_va_list_type): Likewise.
144
7f9f095e
AM
1452011-01-21 Alan Modra <amodra@gmail.com>
146
147 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
148 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
149
837b01f6
RR
1502011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
151
152 * config/arm/arm.md (define_attr type): Rename f_load
153 and f_store to f_fpa_load and f_fpa_store. Update.
154 (write_conflict): Deal with rename fallout.
155 (*push_fp_multi): Likewise.
156 * config/arm/fpa.md (f_load): Use f_fpa_load.
157 (f_store): Use f_fpa_store.
158 (*movsf_fpa): Likewise.
159 (*movdf_fpa): Likewise.
160 (*movxf_fpa): Likewise.
161 (*thumb2_movsf_fpa): Likewise.
162 (*thumb2_movdf_fpa): Likewise.
163 (*thumb2_movxf_fpa): Likewise.
164 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
165 f_loadd and f_stored.
166 (*thumb2_movdi_vfp): Likewise.
167 (*thumb2_movsf_vfp): Fix attribute to f_loads.
168 (*thumb2_movsi_vfp): Likewise.
169 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
170 Use f_loads instead of f_load.
171 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
172
a1a79768
AS
1732011-01-20 Anatoly Sokolov <aesok@post.ru>
174
175 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
176 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
177 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
178 (xtensa_mode_dependent_address_p): New function.
179 (constantpool_address_p): Make static. Change return type to bool.
180 Change argument type to const_rtx. Use CONST_INT_P predicate.
181
427f6cec
AO
1822011-01-20 Alexandre Oliva <aoliva@redhat.com>
183
184 PR debug/46583
185 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
186
583ac69c
JJ
1872011-01-20 Jakub Jelinek <jakub@redhat.com>
188
189 PR debug/47283
190 * cfgexpand.c (expand_debug_expr): Instead of generating
191 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
192 etc. handling.
193
93e452ed
RG
1942011-01-20 Richard Guenther <rguenther@suse.de>
195
196 PR middle-end/47370
197 * tree-inline.c (remap_gimple_op_r): Recurse manually for
198 the pointer operand of MEM_REFs.
199
28fc44f3
JJ
2002011-01-20 Jakub Jelinek <jakub@redhat.com>
201
202 PR tree-optimization/46130
203 * ipa-split.c (consider_split): If return_bb contains non-virtual
204 PHIs other than for retval or if split_function would not adjust it,
205 refuse to split.
206
ddd268f2
RG
2072011-01-20 Richard Guenther <rguenther@suse.de>
208
209 PR tree-optimization/47167
210 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
211 Revert previous change, only avoid enumeral type changes.
212
7edb6247
DS
2132011-01-19 Dodji Seketeli <dodji@redhat.com>
214
215 PR c++/47291
216 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
217 (gen_scheduled_generic_parms_dies): New functions.
218 (gen_struct_or_union_type_die): Schedule template parameters DIEs
219 generation for the end of CU compilation.
220 (dwarf2out_finish): Generate template parameters DIEs here.
221
23d5ed5d
AO
2222011-01-19 Alexandre Oliva <aoliva@redhat.com>
223
224 PR debug/46240
225 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
226 debug bind stmt on merge edges.
227
37d6a488
AO
2282011-01-19 Alexandre Oliva <aoliva@redhat.com>
229
230 PR debug/47079
231 PR debug/46724
232 * function.c (instantiate_expr): Instantiate incoming rtl of
233 implicit arguments, and recurse on VALUE_EXPRs.
234 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
235 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
236
689f2c82
AO
2372011-01-19 Alexandre Oliva <aoliva@redhat.com>
238
239 * c-parser.c (c_parser_for_statement): Initialize
240 collection_expression.
241
03029de4
JM
2422011-01-19 Joseph Myers <joseph@codesourcery.com>
243
244 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
245
3e03217e
JM
2462011-01-19 Joseph Myers <joseph@codesourcery.com>
247
248 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
249 (LINK_SHLIB_SPEC): Don't use %(link_path).
250 (SUBTARGET_EXTRA_SPECS): Remove link_path.
251
5bbe9b3f
JM
2522011-01-19 Joseph Myers <joseph@codesourcery.com>
253
254 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
255 (NO_SHARED_LIB_SUPPORT): Remove.
256 (LINK_SHLIB_SPEC): Remove one conditional definition.
257
368e0b39
JM
2582011-01-19 Joseph Myers <joseph@codesourcery.com>
259
260 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
261 %{call_shared}.
262 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
263 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
264 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
265 %{call_shared} and conditionals on these options not being passed.
266 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
267 %{call_shared}.
268
ed7656f6
JJ
2692011-01-19 Jakub Jelinek <jakub@redhat.com>
270
68457901
JJ
271 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
272 simplify.
273
ed7656f6
JJ
274 * ipa-split.c: Spelling fixes.
275
e0d1958f
RH
2762011-01-19 Richard Henderson <rth@redhat.com>
277
278 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
279 (*mulsi3): Likewise.
280
27098b6b
RH
281 * longlong.h [__mn10300__] (count_leading_zeros): New.
282 [__mn10300__] (umul_ppmm, smul_ppmm): New.
283 [__mn10300__] (add_ssaaaa, subddmmss): New.
284 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
285 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
286
d6be7c36
UW
2872011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
288
289 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
290
b1efde2a
RH
2912011-01-19 Richard Henderson <rth@redhat.com>
292
44217823
RH
293 * config/mn10300/mn10300.md (addsi3_flags): New.
294 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
295 (subsi3_flags, subc_internal, subdi3): New.
296 (subdi3_internal, *subdi3_degenerate): New.
297 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
298
37a185d7
RH
299 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
300 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
301 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
302 * config/mn10300/mn10300-protos.h: Update.
303 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
304 (return_ret): Likewise. Rename from return_internal_regs.
305 (return_internal): Remove.
306
040c5757
RH
307 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
308 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
309 (mn10300_legitimate_constant_p): Likewise.
310 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
311 (mn10300_frame_size): New.
312 (mn10300_expand_prologue): Use it.
313 (mn10300_expand_epilogue): Likewise.
314 (mn10300_initial_offset): Likewise.
315 * config/mn10300/mn10300-protos.h: Update.
316 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
317 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
318 (prologue, epilogue, return_internal): Tidy output code.
319 (mn10300_store_multiple_operation, return): Likewise.
320 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
321 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
322 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
323 (load_pic, am33_load_pic): New.
324 (mn10300_load_pic0, mn10300_load_pic1): New.
325
bad41521
RH
326 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
327 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
328 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
329 (cc_flags_for_mode, cc_flags_for_code): New.
330 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
331 overflow flag is not valid. Validate that the flags we need
332 for the comparison are valid.
333 (mn10300_output_cmp): Remove.
334 (mn10300_output_add): New.
335 (mn10300_select_cc_mode): Use cc_flags_for_code.
336 (mn10300_split_cbranch): New.
337 (mn10300_match_ccmode): New.
338 (mn10300_split_and_operand_count): New.
339 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
340 to the function.
341 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
342 (addsi3): ... here. Use mn10300_output_add.
343 (*addsi3_flags): New.
344 (*am33_subsi3, *mn10300_subsi3): Merge...
345 (subsi3): ... here. Use attribute isa.
346 (*subsi3_flags): New.
347 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
348 when possible.
349 (*am33_andsi3, *mn10300_andsi3): Merge...
350 (andsi3): ... here.
351 (*andsi3_flags): New.
352 (andsi3 splitters): New.
353 (*am33_iorsi3, *mn10300_iorsi3): Merge...
354 (iorsi3): ... here.
355 (*iorsi3_flags): New.
356 (*am33_xorsi3, *mn10300_xorsi3): Merge...
357 (xorsi3): ... here.
358 (*xorsi3_flags): New.
359 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
360 (one_cmplsi2): ... here.
361 (*one_cmplsi2_flags): New.
362 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
363 instead of "dax" in constraints. Use mn10300_split_cbranch.
364 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
365 use matching constraints to eliminate a self-comparison.
366 (*integer_conditional_branch): Rename from integer_conditional_branch.
367 Use int_mode_flags to match CC_REG.
368 (*cbranchsi4_btst, *btstsi): New.
369 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
370 mn10300_split_cbranch.
371 (*am33_cmpsf): Rename from am33_cmpsf.
372 (*float_conditional_branch): Rename from float_conditional_branch.
373 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
374 (zero_extendqisi2): ... here.
375 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
376 (zero_extendhisi2): ... here.
377 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
378 (extendqisi2): ... here.
379 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
380 (extendhisi2): ... here.
381 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
382 (ashlsi3): ... here.
383 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
384 (lshrsi3): ... here.
385 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
386 (ashrsi3): ... here.
387 (consecutive add peephole): Remove.
388 * config/mn10300/predicates.md (label_ref_operand): New.
389 (int_mode_flags): New.
390 (CCZN_comparison_operator): New.
391
9efb4993
RH
392 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
393 (throughput_42_latency_43): New reservation.
394 (mulsidi3, umulsidi3): New expanders.
395 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
396 the MDR register to allocation; separately allocate the low and
397 high parts of the DImode result.
398 (umulsidi3_internal): Similarly.
399 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
400 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
401 (udivsi3, umodsi3): Remove.
402 (udivmodsi4, divmodsi4): New expanders.
403 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
404 (*divmodsi4): Simiarly.
405 (ext_internal): New.
406
c25a21f5
RH
407 * config/mn10300/constraints.md ("z"): New constraint.
408 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
409 (FIXED_REGISTERS): Don't fix MDR.
410 (CALL_USED_REGSITERS): Reformat nicely.
411 (REG_ALLOC_ORDER): Add MDR.
412 (enum regclass): Add MDR_REGS.
413 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
414 (IRA_COVER_CLASSES): Add MDR_REGS.
415 (REGNO_REG_CLASS): Handle MDR_REG.
416 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
417 (mn10300_register_move_cost): Likewise.
418 * config/mn10300/mn10300.md (MDR_REG): New.
419 (*movsi_internal): Handle moves to/from MDR_REGS.
420
36846b26
RH
421 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
422 POST_MODIFY.
423 (mn10300_secondary_reload): Tidy combination reload classes.
424 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
425 addresses for AM33. Allow symbolic offsets for reg+imm.
426 (mn10300_regno_in_class_p): New.
427 (mn10300_legitimize_reload_address): New.
428 * config/mn10300/mn10300.h (enum reg_class): Remove
429 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
430 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
431 SP_OR_GENERAL_REGS.
432 (REG_CLASS_NAMES): Update to match.
433 (REG_CLASS_CONTENTS): Likewise.
434 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
435 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
436 (REGNO_IN_RANGE_P): Remove.
437 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
438 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
439 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
440 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
441 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
442 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
443 (REGNO_GENERAL_P): New.
444 (HAVE_POST_MODIFY_DISP): New.
445 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
446 (LEGITIMIZE_RELOAD_ADDRESS): New.
447 * config/mn10300/mn10300-protos.h: Update.
448
8b119bb6
RH
449 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
450 DATA_REGS for AM33 stack-pointer destination.
451 (mn10300_preferred_output_reload_class): Likewise.
452 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
453 into a form appropriate for ...
454 (TARGET_SECONDARY_RELOAD): New.
455 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
456 * config/mn10300/mn10300-protos.h: Update.
457 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
458 reload_insi; use the "A" constraint for the scratch; handle AM33
459 moves of sp to non-address registers.
460
b1efde2a
RH
461 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
462 (*movqi_internal): ... here.
463 (*am33_movhi, *mn10300_movhi): Merge into...
464 (*movhi_internal): ... here.
465 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
466 as the source/destination of moves from/to SP.
467 (movsf): Only allow for AM33-2.
468 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
469 any integer constant constraint. Only allow for AM33-2. Tidy
470 all of the alternative outputs.
471 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
472 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
473 for MN103.
474 (udivsi3, umodsi3): New patterns for MN103 only.
475
b899fd78
JR
4762011-01-19 Joern Rennecke <amylaar@spamcop.net>
477
478 * doc/tm.texi.in: Spell out that a lack of register class unions
479 can lead to ICEs.
480 * doc/tm.texi: Regenerate.
481
afaaa67d
JJ
4822011-01-19 Jakub Jelinek <jakub@redhat.com>
483
2e0642cd
JJ
484 PR rtl-optimization/47337
485 * dce.c (check_argument_store): New function.
486 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
487
afaaa67d
JJ
488 PR tree-optimization/47290
489 * tree-eh.c (infinite_empty_loop_p): New function.
490 (cleanup_empty_eh): Use it.
491
d2cd871f
SE
4922011-01-18 Steve Ellcey <sje@cup.hp.com>
493
494 PR target/46997
495 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
496 (a64_expand_widen_sum): Ditto.
497 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
498 (vec_extract_evenodd_help): Ditto.
499 (vec_extract_evenv4hi): Ditto.
500 (vec_extract_oddv4hi): Ditto.
501 (vec_extract_evenv2si): Ditto.
502 (vec_extract_oddv2si): Ditto.
503 (vec_extract_evenv2sf): Ditto.
504 (vec_extract_oddv2sf): Ditto.
505 (vec_pack_trunc_v4hi: Ditto.
506 (vec_pack_trunc_v2si): Ditto.
507 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
508 (vec_interleave_highv8qi): Ditto.
509 (mix1_r): Ditto.
510 (vec_extract_oddv8qi): Ditto.
511 (vec_interleave_lowv4hi): Ditto.
512 (vec_interleave_highv4hi): Ditto.
513 (vec_interleave_lowv2si): Ditto.
514 (vec_interleave_highv2si): Ditto.
515
41a1208a
JDA
5162011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
517
518 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
519 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
520 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
521 (pa_c_mode_for_suffix): New.
522 (TARGET_EXPAND_BUILTIN): Define.
523 (TARGET_C_MODE_FOR_SUFFIX): Define.
524 (pa_builtins): Define.
525 (pa_init_builtins): Register __float128 type and init new support
526 builtins.
527 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
528 * config/pa/quadlib.c (_U_Qfcopysign): New.
529
1ecad98e
EB
5302011-01-18 Eric Botcazou <ebotcazou@adacore.com>
531
532 PR middle-end/46894
533 * explow.c (allocate_dynamic_stack_space): Do not assume more than
534 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
535 are defined.
536
d4f2460a
UW
5372011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
538
539 PR tree-optimization/47179
540 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
541 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
542
4994da65
RG
5432011-01-18 Richard Guenther <rguenther@suse.de>
544
545 PR rtl-optimization/47216
546 * emit-rtl.c: Include tree-flow.h.
547 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
548 of replicating it with different semantics.
549 * Makefile.in (emit-rtl.o): Adjust.
550
1eb458d1
RR
5512011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
552
553 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually
554 include.
555 (cortex_a9_dp): Handle neon types correctly.
556
e7ef91dc
JJ
5572011-01-18 Jakub Jelinek <jakub@redhat.com>
558
559 PR rtl-optimization/47299
560 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
561 subtarget. Use normal multiplication if both operands are
562 constants.
563 * expmed.c (expand_widening_mult): Don't try to optimize constant
564 multiplication if op0 has VOIDmode. Convert op1 constant to mode
565 before using it.
566
535b7874
RW
5672011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
568
569 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
570 spacing after 'e.g.', typos, comma, hyphenation.
571
27bf36f3
RH
5722011-01-17 Richard Henderson <rth@redhat.com>
573
8a5b5449
RH
574 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
575 (rx_restricted_mem_operand): New.
576 (rx_shift_operand): Use register_operand.
577 (rx_source_operand, rx_compare_operand): Likewise.
578 * config/rx/rx.md (addsi3_flags): New expander.
579 (adddi3): Rewrite as expander.
580 (adc_internal, *adc_flags, adddi3_internal): New patterns.
581 (subsi3_flags): New expander.
582 (subdi3): Rewrite as expander.
583 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
584
784f69be
RH
585 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
586 (rx_init_builtins): Remove sat builtin.
587 (rx_expand_builtin): Likewise.
588 * config/rx/rx.md (ssaddsi3): New.
589 (*sat): Rename from sat. Represent the CC_REG input.
590
f033541c
RH
591 * config/rx/predicates.md (rshift_operator): New.
592 * config/rx/rx.c (rx_expand_insv): Remove.
593 * config/rx/rx-protos.h: Update.
594 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
595 operand to the canonical position.
596 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
597 (*bitclr, *bitclr_in_memory): Similarly.
598 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
599 (insv): Retain the zero_extract in the expansion.
600
34fee389
RH
601 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
602 (bswaphi2, bitinvert, revw): Likewise.
603
265c835f
RH
604 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
605 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
606 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
607 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
608 (bitset, bitset_in_memory): Likewise.
609 (bitinvert, bitinvert_in_memory): Likewise.
610 (bitclr, bitclr_in_memory): Likewise.
611 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
612 (rx_strend, rx_cmpstrn): Likewise.
613 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
614 (bitop peep2 patterns): Remove.
615
b4d83be3
RH
616 * config/rx/rx.c (rx_match_ccmode): New.
617 * config/rx/rx-protos.h: Update.
618 * config/rx/rx.md (abssi2): Clobber, don't set flags.
619 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
620 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
621 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
622 (fix_truncsfsi2, floatsisf2): Likewise.
623 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
624 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
625 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
626 (*subsi3_flags, *xorsi3_flags): New.
627
d0acb939
RH
628 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
629
c06fc3d9
RH
630 * config/rx/rx.c (rx_print_operand): Remove workaround for
631 unsplit comparison operations.
632
2882702b
RH
633 * config/rx/rx.md (movsicc): Split after reload.
634 (*movsicc): Merge *movsieq and *movsine via match_operator.
635 (*stcc): New pattern.
636
6f7310f2
RH
637 * config/rx/rx.c (rx_float_compare_mode): Remove.
638 * config/rx/rx.h (rx_float_compare_mode): Remove.
639 * config/rx/rx.md (cstoresi4): Split after reload.
640 (*sccc): New pattern.
641
e963cb1a
RH
642 * config/rx/predicates.md (label_ref_operand): New.
643 (rx_z_comparison_operator): New.
644 (rx_zs_comparison_operator): New.
645 (rx_fp_comparison_operator): New.
646 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
647 Validate that the flags are set properly for the comparison.
648 (rx_gen_cond_branch_template): Remove.
649 (rx_cc_modes_compatible): Remove.
650 (mode_from_flags): New.
651 (flags_from_code): Rename from flags_needed_for_conditional.
652 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
653 (rx_select_cc_mode): Likewise.
654 (rx_split_fp_compare): New.
655 (rx_split_cbranch): New.
656 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
657 (*cbranchsi4): Use match_operator and rx_split_cbranch.
658 (*cbranchsf4): Similarly.
659 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
660 match_operator and rx_split_cbranch.
661 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
662 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
663 (*cmpsi): Rename from cmpsi.
664 (*tstsi): Rename from tstsi.
665 (*cmpsf): Rename from cmpsf; use CC_Fmode.
666 (*conditional_branch): Rename from conditional_branch.
667 (*reveresed_conditional_branch): Remove.
668 (b<code>): Remove expander.
669 * config/rx/rx-protos.h: Update.
670
af530bb4
RH
671 * config/rx/rx.c (rx_compare_redundant): Remove.
672 * config/rx/rx.md (cmpsi): Don't use it.
673 * config/rx/rx-protos.h: Update.
674
27bf36f3
RH
675 * config/rx/rx-modes.def (CC_F): New mode.
676 * config/rx/rx.c (rx_select_cc_mode): New.
677 * config/rx/rx.h (SELECT_CC_MODE): Use it.
678 * config/rx/rx-protos.h: Update.
679
d7fde127
RH
6802011-01-17 Richard Henderson <rth@redhat.com>
681
682 * except.c (dump_eh_tree): Fix stray ; after for statement.
683
6ff38230
RG
6842011-01-17 Richard Guenther <rguenther@suse.de>
685
686 PR tree-optimization/47313
687 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
688 handling before copying the body. Properly deal with
689 by-reference result in SSA form.
690
114ce554
ILT
6912011-01-17 Ian Lance Taylor <iant@google.com>
692
bf5cd92b 693 PR target/47219
114ce554
ILT
694 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
695 (struct_value_alias_set): Don't define.
696 (sparc_option_override): Don't set sparc_sr_alias_set and
697 struct_value_alias_set.
698 (save_or_restore_regs): Use gen_frame_mem rather than calling
699 set_mem_alias_set.
700 (sparc_struct_value_rtx): Likewise.
701
98c6d93c
L
7022011-01-17 H.J. Lu <hongjiu.lu@intel.com>
703
704 PR target/47318
705 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
706 __m128i.
707 (_mm_maskstore_pd): Likewise.
708 (_mm_maskload_ps): Likewise.
709 (_mm_maskstore_ps): Likewise.
710 (_mm256_maskload_pd): Change mask to __m256i.
711 (_mm256_maskstore_pd): Likewise.
712 (_mm256_maskload_ps): Likewise.
713 (_mm256_maskstore_ps): Likewise.
714
715 * config/i386/i386-builtin-types.def: Updated.
716 (ix86_expand_special_args_builtin): Likewise.
717
718 * config/i386/i386.c (bdesc_special_args): Update
719 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
720 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
721 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
722 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
723
724 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
725 Use <avxpermvecmode> on mask register.
726 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
727
b9361af2
OH
7282011-01-17 Olivier Hainque <hainque@adacore.com>
729 Michael Haubenwallner <michael.haubenwallner@salomon.at>
730 Eric Botcazou <ebotcazou@adacore.com>
731
732 PR target/46655
733 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
734 if <= USHRT_MAX in 32-bit mode.
735
b7ae9eb5
RW
7362011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
737
738 * doc/install.texi (Configuration, Specific): Wrap long
739 lines in examples. Allow line wrapping in long options
740 and URLs where beneficial for PDF output.
741
4377fad9
RS
7422011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
743
744 * config/mips/mips.c (mips_classify_symbol): Don't return
745 SYMBOL_PC_RELATIVE for nonlocal labels.
746
55959ffa 7472011-01-15 Eric Botcazou <ebotcazou@adacore.com>
be46831f 748
55959ffa
EB
749 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
750
7512011-01-15 Jan Hubicka <jh@suse.cz>
752
753 PR tree-optimization/47276
be46831f
JH
754 * ipa.c (function_and_variable_visibility): Do not try to mark alias
755 declarations as needed.
756
05842ff5
MJ
7572011-01-15 Martin Jambor <mjambor@suse.cz>
758
759 * common.opt (fdevirtualize): New flag.
760 * doc/invoke.texi (Option Summary): Document it.
761 * opts.c (default_options_table): Add devirtualize flag.
762 * ipa-prop.c (detect_type_change): Return immediately if
763 devirtualize flag is not set.
764 (detect_type_change_ssa): Likewise.
765 (compute_known_type_jump_func): Likewise.
766 (ipa_analyze_virtual_call_uses): Likewise.
767
f65cf2b7
MJ
7682011-01-14 Martin Jambor <mjambor@suse.cz>
769
770 PR tree-optimization/45934
771 PR tree-optimization/46302
772 * ipa-prop.c (type_change_info): New type.
773 (stmt_may_be_vtbl_ptr_store): New function.
774 (check_stmt_for_type_change): Likewise.
775 (detect_type_change): Likewise.
776 (detect_type_change_ssa): Likewise.
777 (compute_complex_assign_jump_func): Check for dynamic type change.
778 (compute_complex_ancestor_jump_func): Likewise.
779 (compute_known_type_jump_func): Likewise.
780 (compute_scalar_jump_functions): Likewise.
781 (ipa_analyze_virtual_call_uses): Likewise.
782 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
783
eb5bb0fd
JM
7842011-01-14 Joseph Myers <joseph@codesourcery.com>
785
786 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
787 * config/i386/i386.opt (msse5): New Alias.
788
f2060fbe
JM
7892011-01-14 Joseph Myers <joseph@codesourcery.com>
790
791 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
792 * config/sparc/linux64.h (CC1_SPEC): Likewise.
793 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
794 * config/sparc/sparc.h (CC1_SPEC): Likewise.
795
3a7b4385
JM
7962011-01-14 Joseph Myers <joseph@codesourcery.com>
797
798 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
799 -mcpu options.
800 * config/sparc/linux64.h (CC1_SPEC): Likewise.
801 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
802 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
803 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
804 Likewise.
805 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
806
a7b778f8
JM
8072011-01-14 Joseph Myers <joseph@codesourcery.com>
808
809 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or
810 -fvec-eabi.
811
a7edae0a
MS
8122011-01-14 Mike Stump <mikestump@comcast.net>
813
814 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
815 * config/fr30/fr30.md: Likweise
816 (movsi_push): Likewise.
817 (movsi_pop): Likewise.
818 (enter_func): Likewise.
819 * config/moxie/moxie.md (movsi_push): Likewise.
820 (movsi_pop): Likewise.
821
cbabf03f
JM
8222011-01-14 Joseph Myers <joseph@codesourcery.com>
823
824 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
825 %{no_archive} %{exact_version}.
826 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
827 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
828 %{no_archive} %{exact_version}.
829 * config/mips/openbsd.h (LINK_SPEC): Likewise.
830 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
831 * config/mips/vxworks.h: Likewise.
832
438da41a
JM
8332011-01-14 Joseph Myers <joseph@codesourcery.com>
834
835 * config/microblaze/microblaze.h (ASM_SPEC): Remove
836 %{microblaze1}.
837
da290a42
JM
8382011-01-14 Joseph Myers <joseph@codesourcery.com>
839
840 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
841 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
842
8989d00e
JM
8432011-01-14 Joseph Myers <joseph@codesourcery.com>
844
845 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
846 -nodefaultlib.
847
a3010a69
JM
8482011-01-14 Joseph Myers <joseph@codesourcery.com>
849
850 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
851 for mcpu not cpu.
852 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
853 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
854 not cpu.
855 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
856 Don't handle -shlib.
857
e7f2f537
JM
8582011-01-14 Joseph Myers <joseph@codesourcery.com>
859
860 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
861 (CC1_SPEC): Don't handle -profile.
862
34830bfd
JM
8632011-01-14 Joseph Myers <joseph@codesourcery.com>
864
865 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
866 * config/mips/mips.h (CC1_SPEC): Likewise.
867
b2d36e74
JM
8682011-01-14 Joseph Myers <joseph@codesourcery.com>
869
870 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
871 * config/mips/mips.h (CC1_SPEC): Likewise.
872
dabadc52
JM
8732011-01-14 Joseph Myers <joseph@codesourcery.com>
874
875 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
876 * config/m32r/linux.h (LINK_SPEC): Likewise.
877 * config/mips/linux.h (LINK_SPEC): Likewise.
878 * config/mips/linux64.h (LINK_SPEC): Likewise.
879 * config/sparc/linux.h (LINK_SPEC): Likewise.
880 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
881 LINK_SPEC): Likewise.
882 * config/xtensa/linux.h (LINK_SPEC): Likewise.
883
43ee6785
JM
8842011-01-14 Joseph Myers <joseph@codesourcery.com>
885
886 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
887 %{version:-v}.
888 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
889
45e79dfd
JM
8902011-01-14 Joseph Myers <joseph@codesourcery.com>
891
892 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
893 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
894
37e9e71d
JM
8952011-01-14 Joseph Myers <joseph@codesourcery.com>
896
897 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
898
bb127cd8
RO
8992011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
900
901 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
902 supports -Bstatic/-Bdynamic.
903 * configure: Regenerate.
904
89a012ea
JH
9052011-01-14 Jan Hubicka <jh@suse.cz>
906 Jack Howarth <howarth@bromo.med.uc.edu>
907
908 PR target/46037
909 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
910 when checking debug_info_level. Test write_symbols instead of
911 debug_hooks->var_location when setting flag_var_tracking_uninit.
912
7352c013
RG
9132011-01-14 Richard Guenther <rguenther@suse.de>
914
915 PR tree-optimization/47179
916 * target.def (ref_may_alias_errno): New target hook.
917 * targhooks.h (default_ref_may_alias_errno): Declare.
918 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
919 (default_ref_may_alias_errno): New function.
920 * target.h (struct ao_ref_s): Declare.
921 * tree-ssa-alias.c: Include target.h.
922 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
923 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
924 (targhooks.o): Likewise.
925 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
926 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
927
9a6c9288
RG
9282011-01-14 Richard Guenther <rguenther@suse.de>
929
930 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
931
0fdb0d27
RG
9322011-01-14 Richard Guenther <rguenther@suse.de>
933
934 PR tree-optimization/47280
935 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
936 return CFG changes.
937 (tree_ssa_forward_propagate_single_use_vars): Deal with
938 CFG changes from associate_plusminus.
939
8f66db3b
RG
9402011-01-14 Richard Guenther <rguenther@suse.de>
941
942 PR middle-end/47281
943 Revert
944 2011-01-11 Richard Guenther <rguenther@suse.de>
945
280d9630
EB
946 PR tree-optimization/46076
947 * tree-ssa.c (useless_type_conversion_p): Conversions from
948 unprototyped to empty argument list function types are useless.
8f66db3b 949
6c0c92e6
RG
9502011-01-14 Richard Guenther <rguenther@suse.de>
951
952 PR tree-optimization/47286
280d9630 953 * tree-ssa-structalias.c (new_var_info): Register variables are global.
6c0c92e6 954
db09f943
MJ
9552011-01-14 Martin Jambor <mjambor@suse.cz>
956
957 PR middle-end/46823
958 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
959
dde8a3a4
AS
9602011-01-13 Anatoly Sokolov <aesok@post.ru>
961
962 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
963 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
964 * config/xtensa/xtensa.c (xtensa_libcall_value,
965 xtensa_function_value_regno_p): New functions.
966 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
967
a2b63a20
KT
9682011-01-13 Kai Tietz <kai.tietz@onevision.com>
969
970 PR c++/47213
971 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
972 PE specific hook.
973 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
974 New function prototype.
975 * config/i386/winnt.c (i386_pe_assemble_visibility):
976 Warn only if attribute was specified by user.
977
b41f0b34
MM
9782011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
979
980 PR target/47251
981 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
982 floating point.
983 (floatunsdidf2_fcfidu): Ditto.
984
3f3c098d
AK
9852011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
986
987 * config/s390/s390.c (print_operand_address): Replace 'error' with
988 'output_operand_lossage'.
989 (print_operand): Likewise.
990
29fa95ed
JL
9912011-01-13 Jeff Law <law@redhat.com>
992
280d9630 993 PR rtl-optimization/39077
29fa95ed
JL
994 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
995 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
996 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
997 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
998 * gcse.c (prune_insertions_deletions): New function.
999 (compute_pre_data): Use it.
1000
71d12276
DS
10012011-01-13 Dodji Seketeli <dodji@redhat.com>
1002
1003 PR debug/PR46973
1004 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
1005 static function.
1006 (prune_unused_types_mark): Use it.
1007
9b0f04e7
AB
10082011-01-13 Andrey Belevantsev <abel@ispras.ru>
1009
1010 PR rtl-optimization/45352
1011 * sel-sched.c: Update copyright years.
1012 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1013 in the advancing loop when we have issued issue_rate insns.
1014
d6a3e264
RH
10152011-01-12 Richard Henderson <rth@redhat.com>
1016
a49b692a
RH
1017 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
1018 (TARGET_MD_ASM_CLOBBERS): New.
1019
126b1483
RH
1020 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
1021 (TARGET_DELEGITIMIZE_ADDRESS): New.
1022
f3d9d2e0
RH
1023 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
1024 (clzsi2, *bsch): New patterns.
1025
d84760c9
RH
1026 * config/mn10300/mn10300.md (INT): New mode iterator.
1027 (*mov<INT>_clr): New pattern, and peep2 to generate it.
1028
ec815d65
RH
1029 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
1030 flag_split_wide_types.
1031
d6a3e264
RH
1032 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
1033 (mn10300_trampoline_init): Rewrite without a template, an immediate
1034 load and a direct branch.
1035 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
1036
0f8ab434
AS
10372011-01-12 Anatoly Sokolov <aesok@post.ru>
1038
1039 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
1040 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
1041 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
1042 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
1043
d8a24b65
KT
10442011-01-12 Kai Tietz <kai.tietz@onevision.com>
1045
1046 PR debug/47209
1047 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
1048 of type.
1049
56e22cab
JH
10502011-01-12 Jan Hubicka <jh@suse.cz>
1051
1052 PR driver/47244
1053 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
1054 (PLUGIN_COND_CLOSE): New macro.
1055 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
1056
4b18b3c2
RG
10572011-01-12 Richard Guenther <rguenther@suse.de>
1058
1059 PR lto/47259
1060 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
1061 register variables in a MEM_REF.
1062
8e38461c
JM
10632011-01-12 Joseph Myers <joseph@codesourcery.com>
1064
1065 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
1066 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
1067 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
1068 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
1069 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
1070 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
1071 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
1072 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
1073 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
1074 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
1075 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
1076 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
1077 * config/gnu-user.h: New. Copied from linux.h.
1078 (LINUX_TARGET_STARTFILE_SPEC): Rename to
1079 GNU_USER_TARGET_STARTFILE_SPEC.
1080 (LINUX_TARGET_ENDFILE_SPEC): Rename to
1081 GNU_USER_TARGET_ENDFILE_SPEC.
1082 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
1083 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
1084 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
1085 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
1086 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
1087 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
1088 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
1089 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
1090 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
1091 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
1092 * config/arm/linux-eabi.h (CC1_SPEC): Use
1093 GNU_USER_TARGET_CC1_SPEC.
1094 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
1095 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
1096 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
1097 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
1098 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
1099 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
1100 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
1101 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
1102
a570fc16
RG
11032011-01-12 Richard Guenther <rguenther@suse.de>
1104
1105 PR other/46946
1106 * doc/invoke.texi (ffast-math): Document it is turned on
1107 with -Ofast.
1108
b0223c3e
JH
11092011-01-12 Jan Hubicka <jh@suse.cz>
1110
1111 PR tree-optimization/47233
ca1e00b3
EB
1112 * opts.c (common_handle_option): Disable ipa-reference with profile
1113 feedback.
b0223c3e 1114
d853ee42
NP
11152011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
1116
1117 * c-parser.c (c_parser_objc_at_property_declaration): Improved
ca1e00b3
EB
1118 error message.
1119
d853ee42
NP
11202011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
1121
1122 * c-parser.c (c_lex_one_token): Updated and reindented some
1123 comments. No changes in code.
1124
4053a5a0
ILT
11252011-01-11 Ian Lance Taylor <iant@google.com>
1126
1127 * godump.c (go_output_var): Don't output the variable if there is
1128 already a type with the same name.
1129
fa3e04d2
ILT
11302011-01-11 Ian Lance Taylor <iant@google.com>
1131
1132 * godump.c (go_format_type): Don't generate float80.
1133
885fe07c
RH
11342011-01-11 Richard Henderson <rth@redhat.com>
1135
72d6e3c5
RH
1136 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
1137 declaration. Rewrite for both speed and size.
1138 (mn10300_address_cost_1): Remove.
1139 (mn10300_register_move_cost): New.
1140 (mn10300_memory_move_cost): New.
1141 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
1142 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
1143 extensions, shifts, BSWAP, CLZ.
1144 (mn10300_wide_const_load_uses_clr): Remove.
1145 (TARGET_REGISTER_MOVE_COST): New.
1146 (TARGET_MEMORY_MOVE_COST): New.
1147 * config/mn10300/mn10300-protos.h: Update.
1148 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
1149
df37c023
RH
1150 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
1151 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
1152 * config/mn10300/mn10300-protos.h: Update.
1153 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
1154 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
1155 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
1156 (*test_int_bitfield, *test_byte_bitfield): Remove.
1157 (*bit_test, *subreg_bit_test): Remove.
62d3f9b2 1158 * config/mn10300/predicates.md (const_8bit_operand): Remove.
df37c023 1159
85a337b5
RH
1160 * config/mn10300/constraints.md ("c"): Rename from "A".
1161 ("A", "D"): New constraint letters.
1162 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
1163 (fmssf4, fnmasf4, fnmssf4): Likewise.
1164
a5c727e3
RH
1165 * config/mn10300/mn10300.md (isa): New attribute.
1166 (enabled): New attribute.
1167
0d9e23f4
RH
1168 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
1169 (abssf2, negsf2): Define only for hardware fp.
1170 (sqrtsf2): Reformat.
1171 (addsf3, subsf3, mulsf3): Merge expander and insn.
1172
c157b3f0
RH
1173 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
1174 (DEBUGGER_AUTO_OFFSET): Remove.
1175 (DEBUGGER_ARG_OFFSET): Remove.
1176
cc909bba
RH
1177 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
1178 Emit register stores with the same offsets as the hardware.
1179 (mn10300_store_multiple_operation): Don't check that the register
1180 save offsets are monotonic.
1181 * config/mn10300/mn10300-protos.h: Update.
1182
e3b5c2f3
RH
1183 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
1184
885fe07c
RH
1185 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
1186 in terms of the value on the stack, not the MDR register.
1187
6e701822
JH
11882011-01-11 Jan Hubicka <jh@suse.cz>
1189
1190 PR lto/45721
1191 PR lto/45375
1192 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
1193 (symbol_alias_set_destroy, symbol_alias_set_contains,
1194 propagate_aliases_backward): Declare.
1195 * lto-streamer-out.c (struct sets): New sturcture.
1196 (trivally_defined_alias): New function.
1197 (output_alias_pair_p): Rewrite.
1198 (output_unreferenced_globals): Fix output of alias pairs.
1199 (produce_symtab): Likewise.
1200 * ipa.c (function_and_variable_visibility): Set weak alias destination
1201 as needed in lto.
1202 * varasm.c (symbol_alias_set_t): Remove.
1203 (symbol_alias_set_destroy): Export.
1204 (propagate_aliases_forward, propagate_aliases_backward): New functions
1205 based on ...
1206 (compute_visible_aliases): ... this one; remove.
1207 (trivially_visible_alias): New
1208 (trivially_defined_alias): New.
1209 (remove_unreachable_alias_pairs): Rewrite.
1210 (finish_aliases_1): Reorganize code checking if alias is defined.
1211 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
1212 in LTO mode.
1213
1b248907
RG
12142011-01-11 Richard Guenther <rguenther@suse.de>
1215
1216 PR tree-optimization/46076
1217 * tree-ssa.c (useless_type_conversion_p): Conversions from
1218 unprototyped to empty argument list function types are useless.
1219
b1923f0a
RG
12202011-01-11 Richard Guenther <rguenther@suse.de>
1221
1222 PR middle-end/45235
1223 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
1224 volatile MEMs as MEM_READONLY_P.
1225
e98965af
RG
12262011-01-11 Richard Guenther <rguenther@suse.de>
1227
1228 PR tree-optimization/47239
1229 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
1230
9f9ca914
JL
12312011-01-11 Jeff Law <law@redhat.com>
1232
1ee3ea05 1233 PR tree-optimization/47086
9f9ca914
JL
1234 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
1235 IVs from statements that might throw.
1236
345fdcb7
JH
12372011-01-10 Jan Hubicka <jh@suse.cz>
1238
1239 PR lto/45375
1240 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
1241
c459c97b
JH
12422011-01-10 Jan Hubicka <jh@suse.cz>
1243
1244 PR lto/45375
1245 * profile.c (read_profile_edge_counts): Ignore profile inconistency
1246 when correcting profile.
1247
06c9eb51
JH
12482011-01-10 Jan Hubicka <jh@suse.cz>
1249
1250 PR lto/46083
1251 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
1252 DECL_FINI_PRIORITY.
1253 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
1254 Restore DECL_FINI_PRIORITY.
1255
ae9fd815
RW
12562011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1257
1258 * doc/gimple.texi: Fix quoting of multi-word return values in
1259 @deftypefn statements. Ensure presence of return value. Wrap
1260 overlong @deftypefn lines.
1261 (is_gimple_operand, is_gimple_min_invariant_address): Remove
1262 descriptions of removed functions.
1263 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
1264 of multi-word return value in @deftypefn statement.
1265
0ecb4a7c
RW
12662011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1267
1268 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
1269 (Conditional Expressions, Logical Operators)
1270 (Statement and operand traversals): Do not indent smallexample
1271 code. Fix duplicate function argument in example.
1272
2e5e346d
JL
12732011-01-10 Jeff Law <law@redhat.com>
1274
1ee3ea05 1275 PR tree-optimization/47141
2e5e346d
JL
1276 * ipa-split.c (split_function): Handle case where we are
1277 returning a value and the return block has a virtual operand phi.
1278
cf9712cc
JH
12792011-01-10 Jan Hubicka <jh@suse.cz>
1280
1281 PR tree-optimization/47234
1282 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
1283 (pass_feedback_split_functions): Declare.
1284 * passes.c (init_optimization_passes): Add ipa-split as subpass of
1285 tree-profile.
1286 * ipa-split.c (gate_split_functions): Update comments; disable
1287 split-functions for profile_arc_flag and branch_probabilities.
1288 (gate_feedback_split_functions): New function.
1289 (execute_feedback_split_functions): New function.
1290 (pass_feedback_split_functions): New global var.
1291
94cd932c
L
12922011-01-10 H.J. Lu <hongjiu.lu@intel.com>
1293
1294 PR lto/46760
1295 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
1296 calling gimple_call_set_cannot_inline.
1297
fbbfcaf1
IS
12982011-01-10 Iain Sandoe <iains@gcc.gnu.org>
1299
1300 * config/darwin-sections.def: Remove unused section.
1301
d06865bf
DK
13022011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
1303
1304 PR c++/47218
1305 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
1306
96bbfbac
NP
13072011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
1308
1309 PR objc/47232
1310 * c-parser.c (c_parser_declaration_or_fndef): Improved
1311 error message.
1312
1ba6516f
KT
13132011-01-09 Kai Tietz <kai.tietz@onevision.com>
1314
1315 * config/i386/winnt.c (i386_pe_start_function): Make sure
1316 to switch back to function's section.
1317
0c5d770e
IS
13182011-01-09 Iain Sandoe <iains@gcc.gnu.org>
1319
1320 PR gcc/46902
1321 PR testsuite/46912
1322 * plugin.c: Move include of dlfcn.h from here...
1323 * system.h: ... to here.
1324
13252011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4ee1aa2a
RW
1326
1327 * doc/cpp.texi (C++ Named Operators): Fix markup for header
1328 file name.
1329 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
1330 two extra empty pages in PDF output.
1331
046608a3
NP
13322011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
1333
1334 PR objc/47078
1335 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
1336 for error recovery purposes behave as if it was not specified so
1337 that the default type is usd.
1338
8cb114b9
JH
13392011-01-07 Jan Hubicka <jh@suse.cz>
1340
1341 PR tree-optmization/46469
1342 * ipa.c (function_and_variable_visibility): Clear needed flags on
1343 nodes with external decls; handle weakrefs merging correctly.
1344
b294a75e
JM
13452011-01-07 Joseph Myers <joseph@codesourcery.com>
1346
1347 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
1348 not false.
1349
96bdf9b4
JH
13502011-01-07 Jan Hubicka <jh@suse.cz>
1351
1352 * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
1353 and no longer claim that gold is required for linker plugin.
1354 * configure: Regenerate.
1355 * gcc.c (PLUGIN_COND): New macro.
1356 (LINK_COMMAND_SPEC): Use it.
1357 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
1358 * config.in (HAVE_LTO_PLUGIN): New.
1359 * configure.ac (--with-lto-plugin): New parameter; autodetect
1360 HAVE_LTO_PLUGIN.
1361
17afc0fe
JH
13622011-01-07 Jan Hubicka <jh@suse.cz>
1363
1364 PR tree-optimization/46367
1365 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
1366 when we can update original.
1367 (cgraph_mark_inline_edge): Sanity check.
1368 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
1369
d4c48c0f
UW
13702011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1371
1372 * config/spu/spu.h (ASM_COMMENT_START): Define.
1373
96f5b137
L
13742011-01-07 H.J. Lu <hongjiu.lu@intel.com>
1375
1376 PR driver/42445
1377 * gcc.c (%>S): New.
1378 (SWITCH_KEEP_FOR_GCC): Likewise.
1379 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
1380 (do_spec_1): Handle "%>".
1381
1382 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
1383
c6a8f6de
JJ
13842011-01-07 Jakub Jelinek <jakub@redhat.com>
1385
c21bbd7a
JJ
1386 PR target/47201
1387 * config/i386/i386.c (ix86_delegitimize_address): If
1388 simplify_gen_subreg fails, return orig_x.
1389
c6a8f6de
JJ
1390 PR bootstrap/47187
1391 * value-prof.c (gimple_stringop_fixed_value): Handle
1392 lhs of the call properly.
1393
fe95fbf9
JH
13942011-01-07 Jan Hubicka <jh@suse.cz>
1395
1396 PR lto/45375
1397 * lto-opt.c (lto_reissue_options): Set flag_shlib.
1398
14d11d40
IS
13992011-01-07 Iain Sandoe <iains@gcc.gnu.org>
1400
72e961c8
EB
1401 * target.def (function_switched_text_sections): New hook.
1402 * doc/tm.texi: Regenerated.
1403 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 1404 * final.c (default_function_switched_text_sections): New.
72e961c8
EB
1405 (final_scan_insn): Call function_switched_text_sections when a
1406 mid-function section change occurs.
14d11d40 1407 * output.h (default_function_switched_text_sections): Declare.
72e961c8
EB
1408 * config/darwin-protos.h (darwin_function_switched_text_sections):
1409 Likewise.
14d11d40 1410 * config/darwin.c (darwin_function_switched_text_sections): New.
72e961c8 1411 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 1412
0b764288
IS
14132011-01-07 Iain Sandoe <iains@gcc.gnu.org>
1414
1415 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
1416 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
1417 the secondary code fragment when outputting for DWARF == 2.
1418
2ac6bb04
AS
14192011-01-07 Anatoly Sokolov <aesok@post.ru>
1420
1421 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
1422 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
1423 Remove.
1424 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
1425 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
1426
9f82de11
EB
14272011-01-06 Eric Botcazou <ebotcazou@adacore.com>
1428
1429 PR debug/46704
280d9630
EB
1430 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
1431 when it is not empty.
9f82de11
EB
1432
14332011-01-06 Changpeng Fang <changpeng.fang@amd.com>
14b52538 1434
1ed72abf 1435 Bobcat Enablement
14b52538 1436 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1ed72abf 1437 (case ${target}): Add btver1.
14b52538 1438 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1ed72abf 1439 -march=native recognize btver1 processors.
14b52538 1440 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1ed72abf 1441 btver1 def_and_undef
14b52538 1442 * config/i386/i386.c (struct processor_costs btver1_cost): New
1ed72abf
CF
1443 btver1 cost table.
1444 (m_BTVER1): New definition.
1445 (m_AMD_MULTIPLE): Includes m_BTVER1.
1446 (initial_ix86_tune_features): Add btver1 tune.
1447 (processor_target_table): Add btver1 entry.
1448 (static const char *const cpu_names): Add btver1 entry.
1449 (software_prefetching_beneficial_p): Add btver1.
1450 (ix86_option_override_internal): Add btver1 instruction sets.
1451 (ix86_issue_rate): Add btver1.
1452 (ix86_adjust_cost): Add btver1.
14b52538 1453 * config/i386/i386.h (TARGET_BTVER1): New definition.
1ed72abf
CF
1454 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
1455 (enum processor_type): Add PROCESSOR_BTVER1.
14b52538
CF
1456 * config/i386/i386.md (define_attr "cpu"): Add btver1.
1457
e1a973d8
RO
14582011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1459
1460 PR target/43309
1461 * config/i386/i386.c (legitimize_tls_address)
1462 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
1463 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
1464 (tls_initial_exec_64_sun): New pattern.
1465
c73f67c5
GP
14662011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
1467
1468 * doc/invoke.texi (Overall Options): Improve wording and markup
1469 of the description of -wrapper.
1470
bc4c6f9c
JM
14712011-01-06 Joseph Myers <joseph@codesourcery.com>
1472
1473 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
1474 rdynamic, threads): New Driver options.
1475
adb75db0
RO
14762011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1477
1478 PR target/38118
1479 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
1480 if coming from .tdata.
1481 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1482
402c1cb4
JH
14832011-01-06 Jan Hubicka <jh@suse.cz>
1484
1485 PR lto/47188
1486 * collect2.c (main): Do not enable LTOmode when plugin is active.
1487
a4da6485
RO
14882011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1489
1490 PR other/45915
1491 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
1492 --version output if supported.
1493 * configure: Regenerate.
1494
028dbdf4
JM
14952011-01-06 Joseph Myers <joseph@codesourcery.com>
1496
1497 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
1498 Driver options.
1499
dfe776dd
JJ
15002011-01-06 Jakub Jelinek <jakub@redhat.com>
1501
1502 PR c/47150
1503 * c-convert.c (convert): When converting a complex expression
1504 other than COMPLEX_EXPR to a different complex type, ensure
1505 c_save_expr is called instead of save_expr, unless in_late_binary_op.
1506 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
1507 when converting COMPLEX_TYPE.
1508
210dedfe
IR
15092011-01-06 Ira Rosen <irar@il.ibm.com>
1510
1511 PR tree-optimization/47139
1512 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
1513 only the last reduction value is used outside the loop. Update
1514 documentation.
1515
cd33a412
JM
15162011-01-05 Joseph Myers <joseph@codesourcery.com>
1517
1518 * config/rtems.opt: New.
1519 * config.gcc (*-*-rtems*): Use rtems.opt.
1520
819edd94
CF
15212011-01-05 Changpeng Fang <changpeng.fang@amd.com>
1522
1523 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
1524 processors do not support 3DNow instructions.
1525
dc242c4a
UW
15262011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1527
1528 * config/spu/spu.c (spu_option_override): Set parameter
1529 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
1530
be286227
JH
15312011-01-05 Jan Hubicka <jh@suse.cz>
1532
1533 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
1534 at the command line.
1535
644e637f
MJ
15362011-01-05 Martin Jambor <mjambor@suse.cz>
1537
1538 PR lto/47162
1539 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
1540 deltas on streamed outgoing edges.
1541 (output_node_opt_summary): Output info for outgoing edges only when
1542 the node is in new parameter set.
1543 (output_cgraph_opt_summary): New parameter set, passed to the two
1544 aforementioned functions. Update its forward declaration and its
1545 callee too.
1546
7bd11157
TT
15472011-01-05 Tom Tromey <tromey@redhat.com>
1548
1549 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
1550 operator to c_finish_omp_atomic.
1551 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
1552 (build_unary_op): Update.
1553 (build_modify_expr): Update.
1554 (build_asm_expr): Update.
1555
f626b979
UW
15562011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1557
1558 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
1559 newly inserted insns.
1560 (pad_bb): Likewise.
1561 (spu_emit_branch_hint): Likewise.
1562 (insert_hbrp_for_ilb_runout): Likewise.
1563 (spu_machine_dependent_reorg): Call df_finish_pass after
1564 schedule_insns returns.
1565
4c825c02
UW
15662011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1567
1568 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
1569
5e9fba51
EB
15702011-01-05 Eric Botcazou <ebotcazou@adacore.com>
1571
1572 PR tree-optimization/47005
1573 * tree-sra.c (struct access): Add 'non_addressable' bit.
1574 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
1575 (decide_one_param_reduction): Return 0 if the parameter is passed by
1576 reference and one of the accesses in the group is non_addressable.
1577
3ebb5ca6
EB
15782011-01-04 Eric Botcazou <ebotcazou@adacore.com>
1579
1580 PR tree-optimization/47056
1581 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
1582 (mark_load): Likewise. Handle FUNCTION_DECL specially.
1583 (mark_store): Likewise. Pass STMT to ipa_record_reference.
1584
d5d4d14e
EB
15852011-01-04 Eric Botcazou <ebotcazou@adacore.com>
1586
1587 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
1588 initializer. Skip view conversions from aggregate types.
1589
d996ef70
KT
15902011-01-04 Kai Tietz <kai.tietz@onevision.com>
1591
1592 PR bootstrap/47055
1593 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
1594
017096ca
PT
15952011-01-04 Philipp Thomas <pth@suse.de>
1596
1597 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
1598 obvious typo.
1599
55c623b5
UW
16002011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1601
1602 * function.c (thread_prologue_and_epilogue_insns): Do not crash
1603 on empty epilogue sequences.
1604
b98d6b35
JM
16052011-01-04 Joseph Myers <joseph@codesourcery.com>
1606
1607 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
1608 non-static): New Driver options.
1609
a0d43bac
JZ
16102011-01-04 Jie Zhang <jie@codesourcery.com>
1611
1612 PR driver/47137
1613 * gcc.c (default_compilers[]): Set combinable field to 0
1614 for all assembly languages.
1615
2b18eb32
MX
16162011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
1617
1618 * config/mips/loongson3a.md: New file.
1619 * config/mips/mips.md: Include loongson3a.md.
1620 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
1621 TUNE_LOONGSON_3A.
1622
42a48c4f
EB
16232011-01-03 Eric Botcazou <ebotcazou@adacore.com>
1624
1625 PR middle-end/47017
1626 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
1627 instead of convert_memory_address_addr_space on the base expression.
1628
9c1732c4
UW
16292011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1630
1631 * config/spu/spu.c (spu_option_override): Update error text
1632 for bad -march= / -mtune= values.
1633
aa474365
UW
16342011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1635
1636 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
1637 if branch-hint optimization will be performed.
1638
9766135b
JJ
16392011-01-03 Jakub Jelinek <jakub@redhat.com>
1640
371556ee
JJ
1641 PR tree-optimization/47148
1642 * ipa-split.c (split_function): Convert arguments to
1643 DECL_ARG_TYPE if possible.
1644
1ac12fa2
JJ
1645 PR tree-optimization/47155
1646 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
1647 when computing uns.
1648
9766135b
JJ
1649 PR rtl-optimization/47157
1650 * combine.c (try_combine): If undobuf.other_insn becomes
1651 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
1652 and set *new_direct_jump_p too.
1653
f4a2e571
SP
16542011-01-03 Sebastian Pop <sebastian.pop@amd.com>
1655
1656 PR tree-optimization/47021
1657 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
1658
9f8e43c0
JJ
16592011-01-03 Jakub Jelinek <jakub@redhat.com>
1660
1661 * gcc.c (process_command): Update copyright notice dates.
1662 * gcov.c (print_version): Likewise.
1663 * gcov-dump.c (print_version): Likewise.
1664 * mips-tfile.c (main): Likewise.
1665 * mips-tdump.c (main): Likewise.
1666
1a2e38f3
MJ
16672011-01-03 Martin Jambor <mjambor@suse.cz>
1668
1669 PR tree-optimization/46801
1670 * tree-sra.c (type_internals_preclude_sra_p): Check whether
1671 aggregate fields start at byte boundary instead of the bit-field flag.
1672
56b721c5
L
16732011-01-03 H.J. Lu <hongjiu.lu@intel.com>
1674
1675 PR driver/47137
1676 * gcc.c (main): Revert revision 168407.
1677
839d549b
MJ
16782011-01-03 Martin Jambor <mjambor@suse.cz>
1679
1680 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
1681
4ce99a20 16822011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2fa6eeff
UW
1683
1684 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
1685 vector optab to expand vector/scalar shift, update gimple to vector.
1686
76df0ae6
MJ
16872011-01-03 Martin Jambor <mjambor@suse.cz>
1688
1689 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
1690 a thunk.
1691
ce47fda3
MJ
16922011-01-03 Martin Jambor <mjambor@suse.cz>
1693
1694 PR tree-optimization/46984
1695 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
1696 HOST_WIDE_INT.
1697 (cgraph_create_indirect_edge): Fixed line length.
1698 (cgraph_indirect_call_info): Declare.
1699 (cgraph_make_edge_direct) Update declaration.
1700 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
1701 (cgraph_create_indirect_edge): Use it.
1702 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
1703 callees.
1704 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
1705 the new thunk_delta representation.
1706 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
1707 HOST_WIDE_INT.
1708 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
1709 (ipa_read_indirect_edge_info): Likewise.
1710 * lto-cgraph.c (output_edge_opt_summary): New function.
1711 (output_node_opt_summary): Call it on all outgoing edges.
1712 (input_edge_opt_summary): New function.
1713 (input_node_opt_summary): Call it on all outgoing edges.
1714
1e67fa1f
L
17152011-01-02 H.J. Lu <hongjiu.lu@intel.com>
1716
1717 PR driver/47137
1718 * gcc.c (main): Don't check have_o when settting combine_inputs.
1719
6656b2ac
EB
17202011-01-02 Eric Botcazou <ebotcazou@adacore.com>
1721
1722 * regrename.c: Add general comment describing the pass.
1723 (struct du_head): Remove 'length' field.
1724 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
1725 (regrename_optimize): Do not sort chains. Rework comments, add others.
1726 Force renaming to the preferred class (if any) in the first pass and do
1727 not consider registers that belong to it in the second pass.
1728 (create_new_chain): Do not set 'length' field.
1729 (scan_rtx_reg): Likewise.
1730
bc470c24
JJ
17312011-01-02 Jakub Jelinek <jakub@redhat.com>
1732
4e996296
JJ
1733 PR tree-optimization/47140
1734 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
1735 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
1736 to bit_value_binop.
1737
bc470c24 1738 PR rtl-optimization/47028
6656b2ac
EB
1739 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
1740 parm_birth_insn instead of at the beginning of first bb.
bc470c24 1741
5af62fcd 17422011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
0d52f2a8
MX
1743
1744 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
1745 Remove the word "see" before "@pxref".
1746 * doc/rtl.texi: Remove the word "see" before "@pxref".
1747
0e20c89f
JH
17482011-01-01 Jan Hubicka <jh@suse.cz>
1749
6656b2ac
EB
1750 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
1751 memory.
0e20c89f 1752
220e83ca
KT
17532011-01-01 Kai Tietz <kai.tietz@onevision.com>
1754
1755 PR target/38662
6656b2ac 1756 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
220e83ca 1757
ad41bd84 1758\f
797103eb 1759Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
1760
1761Copying and distribution of this file, with or without modification,
1762are permitted in any medium without royalty provided the copyright
1763notice and this notice are preserved.